ZZJ před 3 roky
rodič
revize
4c626fc5f2

+ 46 - 25
src/views/system/jbdScan/goods/sampleConfirmation.vue

@@ -94,6 +94,13 @@
                         </el-row>
                         <!--每种类型对应的留样数量和留样存放位置-->
                         <el-row>
+                            <el-col :span="6">
+                                <el-form-item label="样品存放位置(一)" required>
+                                <template slot-scope="scope">
+                                    <weizhiData  v-model="item.shou_yang_wei_zhi_yi"/>
+                                </template>
+                                </el-form-item>
+                            </el-col>
                             <el-col :span="6">
                             <el-form-item label="留样数量(一)" required class="zzj">
                                 <template slot-scope="scope">
@@ -134,6 +141,13 @@
                         </el-row>
                         <!--每种类型对应的留样数量和留样存放位置-->
                         <el-row v-if="item.flag2">
+                             <el-col :span="6">
+                                <el-form-item label="样品存放位置(二)" required>
+                                    <template slot-scope="scope">
+                                        <weizhiData  v-model="item.shou_yang_wei_zhi_er"/>
+                                    </template>
+                                </el-form-item>
+                            </el-col>
                             <el-col :span="6">
                             <el-form-item label="留样数量(二)" required>
                                 <template slot-scope="scope">
@@ -174,6 +188,13 @@
                         </el-row>   
                          <!--每种类型对应的留样数量和留样存放位置-->
                          <el-row  v-if="item.flag3">
+                            <el-col :span="6">
+                                <el-form-item label="样品存放位置(三)" required>
+                                    <template slot-scope="scope">
+                                        <weizhiData  v-model="item.shou_yang_wei_zhi_san"/>
+                                    </template>
+                                </el-form-item>
+                            </el-col>
                             <el-col :span="6">
                             <el-form-item label="留样数量(三)" required>
                                 <template slot-scope="scope">
@@ -215,6 +236,13 @@
                         </el-row> 
                         <!--每种类型对应的留样数量和留样存放位置-->
                         <el-row  v-if="item.flag4">
+                            <el-col :span="6">
+                                <el-form-item label="样品存放位置(四)" required>
+                                    <template slot-scope="scope">
+                                        <weizhiData  v-model="item.shou_yang_wei_zhi_si"/>
+                                    </template>
+                                </el-form-item>
+                            </el-col>
                             <el-col :span="6">
                             <el-form-item label="留样数量(四)" required>
                                 <template slot-scope="scope">
@@ -246,13 +274,7 @@
                               </template>
                             </el-form-item>
                           </el-col>
-                          <el-col :span="6">
-                            <el-form-item label="样品存放位置" required>
-                              <template slot-scope="scope">
-                                <weizhiData  v-model="item.shou_yang_wei_zhi"/>
-                               </template>
-                            </el-form-item>
-                          </el-col>
+                         
                           <!-- <el-col :span="6">
                             <el-form-item label="留样存放位置" required>
                               <template slot-scope="scope">
@@ -260,23 +282,6 @@
                                </template>
                             </el-form-item>
                           </el-col> -->
-                          <el-col :span="6">
-                            <el-form-item label="验收结果">
-                              <template slot-scope="scope">
-                                <el-select v-model="item.yan_shou_jie_guo_" placeholder="请选择">
-                                  <el-option
-                                    v-for="item in checkOptions"
-                                    :key="item.value"
-                                    :label="item.label"
-                                    :value="item.value">
-                                  </el-option>
-                                </el-select>
-                             </template>
-                            </el-form-item>
-                          </el-col>
-                        </el-row>  
-                        
-                        <el-row>
                           <el-col :span="6">
                             <el-form-item label="留样日期">
                               <template slot-scope="scope">
@@ -323,7 +328,9 @@
                               </template>
                             </el-form-item>
                           </el-col>
-                        </el-row>
+                          
+                        </el-row>  
+                        
 
                         <el-row>
                           <el-col :span="6">
@@ -360,6 +367,20 @@
                             <el-input v-model="item.chu_ju_bao_gao_ya" readonly="true"></el-input>
                           </el-form-item>
                          </el-col>
+                         <el-col :span="6">
+                            <el-form-item label="验收结果">
+                              <template slot-scope="scope">
+                                <el-select v-model="item.yan_shou_jie_guo_" placeholder="请选择">
+                                  <el-option
+                                    v-for="item in checkOptions"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value">
+                                  </el-option>
+                                </el-select>
+                             </template>
+                            </el-form-item>
+                          </el-col>
                           <!-- <el-col :span="6">
                             <el-form-item label="分装留样数量">
                               <template slot-scope="scope">

+ 83 - 176
src/views/system/jbdScan/js/manualConfirmationJS.js

@@ -31,10 +31,10 @@ export default {
             item.shi_fou_liu_yang_ = '是'
             item.yan_shou_jie_guo_ = '完好'
             item.liu_yang_shu_lian_yi = ' ml/支×1支'
-            item.liu_yang_shu_lian_er = ' ml/支×1支'
-            item.liu_yang_shu_lian_san = ' ml/支×1支'
-            item.liu_yang_shu_lian_si = ' ml/支×1支'
-            item.liu_yang_ri_qi_ = this.dateFormat()
+            item.yang_pin_lei_er_ ? item.liu_yang_shu_lian_er = ' ml/支×1支' : null
+            item.yang_pin_lei_san_ ? item.liu_yang_shu_lian_san = ' ml/支×1支' : null
+            item.yang_pin_lei_si_  ? item.liu_yang_shu_lian_si = ' ml/支×1支' : null
+            item.liu_yang_ri_qi_ = new Date(new Date().getTime() + 28800000).toJSON().slice(0, 10).replace('T', ' ')
             item.yang_pin_lei_er_ ? this.$set(item,'flag2',true) : this.$set(item,'flag2',false)
             item.yang_pin_lei_san_ ? this.$set(item,'flag3',true) : this.$set(item,'flag3',false)
             item.yang_pin_lei_si_  ? this.$set(item,'flag4',true) : this.$set(item,'flag4',false)
@@ -64,13 +64,15 @@ export default {
                 item.shi_fou_liu_yang_ = '是'
                 item.yan_shou_jie_guo_ = '完好'
                 item.liu_yang_shu_lian_yi = ' ml/支×1支'
-                item.liu_yang_shu_lian_er = ' ml/支×1支'
-                item.liu_yang_shu_lian_san = ' ml/支×1支'
-                item.liu_yang_shu_lian_si = ' ml/支×1支'
-                item.liu_yang_ri_qi_ = this.dateFormat()
+                item.yang_pin_lei_er_ ? item.liu_yang_shu_lian_er = ' ml/支×1支' : null
+                item.yang_pin_lei_san_ ? item.liu_yang_shu_lian_san = ' ml/支×1支' : null
+                item.yang_pin_lei_si_  ? item.liu_yang_shu_lian_si = ' ml/支×1支' : null
+                item.liu_yang_ri_qi_ = new Date(new Date().getTime() + 28800000).toJSON().slice(0, 10).replace('T', ' ')
                 item.yang_pin_lei_er_ ? this.$set(item,'flag2',true) : this.$set(item,'flag2',false)
                 item.yang_pin_lei_san_ ? this.$set(item,'flag3',true) : this.$set(item,'flag3',false)
                 item.yang_pin_lei_si_  ? this.$set(item,'flag4',true) : this.$set(item,'flag4',false)
+                
+
             })
             this.listData = temp
         }else{
@@ -107,8 +109,6 @@ export default {
     submitData(type) {
       // this指针
       let this_ = this;
-      let changeWeiZhi;     // 此处俩字段作用在下面 选择货位时出现重复位置 而重新更新样品登记表 收样位置|留样位置
-      let changesyWeiZhi;
       // 回传关闭事件。隐藏当前组件。
       let judge = true;
 
@@ -125,39 +125,31 @@ export default {
 
           // 获取样品列表
           let ypInfoList = this_.listData
-          console.log(ypInfoList, "样品信息")
+        //   console.log(ypInfoList, "样品信息")
 
           let dWhere = []
           let ypbh = []
-          let cfwzIdList = [] // 放置 存放位置的ID
           let ypbhList = [] // 样品编号列表
 
           // 罗湖样品编号列表
           let lhypbhList = []
           let lhypmcList = []
-          // 罗湖委托单列表
-          let lhwtsqbList = []
-          // 罗湖样品表列表
-          let lhypbList = []
           // 罗湖样品表外键
           let lhypbWJ = []
           // 罗湖委托表主键
           let lhwtbID = []
-          let lhwtbOnlyId = []
           // 罗湖委托表展示表ID
           let lhwtzsbID = []
           // 罗湖样品id列表
           let lhypIdList = []
           // 罗湖样品id格式列表
           let lhypIdNewList = []
-          let uuidList = [] // 列表的UUID
           // 样品所选择的位置ID字符串
           let localStr = ''
           let locationIds = new Set()
+          let localArr = []
 
           for (let yp in ypInfoList) { //样品数据
-            let localArr = []
-            let cfwzObj = []
             let cfwz = ''
             /*
               校验:
@@ -183,27 +175,19 @@ export default {
               this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 是否留样不能为空!')
               return;
             }
-
-
-            cfwzObj.push(ypInfoList[yp].shou_yang_wei_zhi) //取位置信息
-
             if (ypInfoList[yp].shi_fou_liu_yang_ == "是") {
               if (ypInfoList[yp].liu_yang_ri_qi_ == null || ypInfoList[yp].liu_yang_ri_qi_ == '') {
                 this_.$message.error("留样时必须填写留样日期!")
                 return;
               }
-                cfwzObj.push(ypInfoList[yp].liu_yang_wei_zhi_)
-
             } 
             ypbhList.push('{"yang_pin_bian_hao":"' + ypInfoList[yp].yang_pin_bian_hao + '"}') // 样品编号列表
             // 罗湖
             dWhere.push('{"id_":"' + cfwz + '"}')
-            cfwzIdList.push(cfwzObj)
             lhypbhList.push( ypInfoList[yp].yang_pin_bian_hao )
             lhypbWJ.push( ypInfoList[yp].parent_id_ )
             lhypIdList.push( ypInfoList[yp].id_ )
             lhypIdNewList.push('{"id_":"' + ypInfoList[yp].id_ + '"}')
-            uuidList.push(ypInfoList[yp].biao_zhi_uuid_)
             ypbh.push(ypInfoList[yp].yang_pin_bian_hao)
             lhypmcList.push(ypInfoList[yp].yang_pin_ming_che)
 
@@ -213,8 +197,8 @@ export default {
                 ypInfoList[yp].shou_yang_wei_zhi_san,ypInfoList[yp].liu_yang_wei_zhi_san,
                 ypInfoList[yp].shou_yang_wei_zhi_si,ypInfoList[yp].liu_yang_wei_zhi_si
                 )
-            localStr = localArr.filter(i => i).join(',')
           }
+          localStr = localArr.filter(i => i).join(',')
 
          let value = ''
          let lhypIdStr = ''
@@ -237,78 +221,67 @@ export default {
          Promise.all([repostCurd("sql",allSQL),repostCurd("sql",allLocal)]).then((res)=>{
             let result = res[0].variables.data
             let localInfo = res[1].variables.data
-            console.log(localInfo)
+            // console.log(localInfo)
             /* 1、更新货架位置信息 */
             this.emptyLocal = []
             this.fullLocal  = []
             let allUUID = []
             ypInfoList.forEach(item=>{
                 allUUID.push(item.biao_zhi_uuid_1,item.biao_zhi_uuid_2,item.biao_zhi_uuid_3,item.biao_zhi_uuid_4)
-                this.handleLocationInfo(item.shou_yang_wei_zhi_yi,'否',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime,1)
-                // this.handleLocationInfo(item.shou_yang_wei_zhi_er,'否',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime)
-                // console.log('第二次',localInfo)
-                // // this.handleLocationInfo(item.shou_yang_wei_zhi_san,'否',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime)
-                // // this.handleLocationInfo(item.shou_yang_wei_zhi_si,'否',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime)
-                // this.handleLocationInfo(item.liu_yang_wei_zhi_yi,'是',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime)
-                // console.log('第三次',localInfo)
-                // this.handleLocationInfo(item.liu_yang_wei_zhi_er,'是',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime)
-                // console.log('第四次',localInfo)
-                // this.handleLocationInfo(item.liu_yang_wei_zhi_san,'是',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime)
-                // this.handleLocationInfo(item.liu_yang_wei_zhi_si,'是',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime)
+                let allResult = []
+                allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_yi,'否',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime))
+                if(item.shou_yang_wei_zhi_er != undefined){
+                    allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_er,'否',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime))
+                }
+                if(item.shou_yang_wei_zhi_san != undefined){
+                    allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_san,'否',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime))
+                }
+                if(item.shou_yang_wei_zhi_si != undefined){
+                    allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_si,'否',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime))
+                }
+                allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_yi,'是',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime))
+                if(item.liu_yang_wei_zhi_er != undefined){
+                    allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_er,'是',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime))
+                }
+                if(item.liu_yang_wei_zhi_san != undefined){
+                    allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_san,'是',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime))
+                }
+                if(item.liu_yang_wei_zhi_si != undefined){
+                    allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_si,'是',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime))
+                }
+                allResult.forEach(item=>{
+                    item.name === 'emptyLocation' ? this.emptyLocal.push(item.value) : this.fullLocal.push(item.value)
+                })
             })
             let allUUIDStr = allUUID.filter(i => i).join(',')
-            console.log(allUUIDStr)
+            // console.log(allUUIDStr)
             // 更新样品位置list
-            console.log('emptyLocal:',this.emptyLocal)
-            this.emptyLocal.forEach(it=>{
-                repostCurd('update', JSON.stringify(it))
-            })
+            // console.log('emptyLocal:',this.emptyLocal)
+            let allParams = {
+                tableName: 't_ypcfwz',
+                updList: this.emptyLocal
+            }
+            repostCurd('updatesByWhere', JSON.stringify(allParams))
             // 插入样品位置list
-            console.log('fullLocal:',this.fullLocal)
+            // console.log('fullLocal:',this.fullLocal)
             repostCurd('add', '{"tableName":"t_ypcfwz","paramWhere":' + JSON.stringify(this.fullLocal) + '}').then(res=>{
                 // 再次查询位置表,对比当前样品列表 替换初始值为占用的样品位置id
                 let findLocationAgain = `select id_,shi_fou_liu_yang_,biao_zhi_uuid_ from t_ypcfwz where find_in_set(biao_zhi_uuid_,'${allUUIDStr}')`
                 // console.log(findLocationAgain)
                 repostCurd('sql',findLocationAgain).then(res=>{
                     let  data  = res.variables.data
+                    let uuidArgs = ['biao_zhi_uuid_1','biao_zhi_uuid_2','biao_zhi_uuid_3','biao_zhi_uuid_4']
+                    let shouYangArgs = ['shou_yang_wei_zhi_yi','shou_yang_wei_zhi_er','shou_yang_wei_zhi_san','shou_yang_wei_zhi_si']
+                    let liuYangArgs = ['liu_yang_wei_zhi_yi','liu_yang_wei_zhi_er','liu_yang_wei_zhi_san','liu_yang_wei_zhi_si']
                     data.forEach(item=>{
-                            let temp = ypInfoList.find(i => i.biao_zhi_uuid_1 === item.biao_zhi_uuid_)
-                            if(temp){
-                                if(item.shi_fou_liu_yang_ === '否'){
-                                    ypInfoList.find(i => i.biao_zhi_uuid_1 === item.biao_zhi_uuid_).shou_yang_wei_zhi_yi = item.id_
-                                    console.log('1否')
-                                }else{
-                                    ypInfoList.find(i => i.biao_zhi_uuid_1 === item.biao_zhi_uuid_).liu_yang_wei_zhi_yi = item.id_
-                                    console.log('1是')
-                                }
-                            }
-                            let temp2 = ypInfoList.find(i => i.biao_zhi_uuid_2 === item.biao_zhi_uuid_)
-                            if(temp2){
-                                if(item.shi_fou_liu_yang_ === '否'){
-                                    ypInfoList.find(i => i.biao_zhi_uuid_2 === item.biao_zhi_uuid_).shou_yang_wei_zhi_er = item.id_
-                                    console.log('2否')
-                                }else{
-                                    ypInfoList.find(i => i.biao_zhi_uuid_2 === item.biao_zhi_uuid_).liu_yang_wei_zhi_er = item.id_
-                                    console.log('2是')
-                                }
-                            }
-                            let temp3 = ypInfoList.find(i => i.biao_zhi_uuid_3 === item.biao_zhi_uuid_)
-                            if(temp3){
-                                if(item.shi_fou_liu_yang_ === '否'){
-                                    ypInfoList.find(i => i.biao_zhi_uuid_3 === item.biao_zhi_uuid_).shou_yang_wei_zhi_san = item.id_
-                                }else{
-                                    ypInfoList.find(i => i.biao_zhi_uuid_3 === item.biao_zhi_uuid_).liu_yang_wei_zhi_san = item.id_
+                            uuidArgs.forEach((uuid,index)=>{
+                                let ypIndex = ypInfoList.findIndex(i => i[uuid] === item.biao_zhi_uuid_)
+                                if(ypIndex != -1){
+                                    item.shi_fou_liu_yang_ === '否' ?  
+                                    ypInfoList[ypIndex][shouYangArgs[index]] = item.id_ : 
+                                    ypInfoList[ypIndex][liuYangArgs[index]] = item.id_
                                 }
-                            }
-                            let temp4 = ypInfoList.find(i => i.biao_zhi_uuid_4 === item.biao_zhi_uuid_)
-                            if(temp4){
-                                if(item.shi_fou_liu_yang_ === '否'){
-                                    ypInfoList.find(i => i.biao_zhi_uuid_4 === item.biao_zhi_uuid_).shou_yang_wei_zhi_si = item.id_
-                                }else{
-                                    ypInfoList.find(i => i.biao_zhi_uuid_4 === item.biao_zhi_uuid_).liu_yang_wei_zhi_si = item.id_
-                                }
-                            }
-                            
+                            })
                     })
 
                     repostCurd('updates', '{"tableName":"t_lhypb","paramWhere":[' + lhypIdNewList + '],"paramCond":{"jie_yang_zhuang_t":"已接收"}}')
@@ -323,20 +296,7 @@ export default {
                         let liuYangList = []
                         lxList.push(item.yang_pin_lei_xing,item.yang_pin_lei_er_,item.yang_pin_lei_san_,item.yang_pin_lei_si_)
                         ypggList.push(item.yang_pin_gui_ge_,item.yang_pin_gui_ge_e,item.yang_pin_gui_ge_s,item.yang_pin_gui_si_)
-                        // todo 待优化
-                        if(ypInfoList[index].liu_yang_shu_lian_yi != ' ml/支×1支'){
-                            liuYangList.push(ypInfoList[index].liu_yang_shu_lian_yi)
-                        }
-                        if(ypInfoList[index].liu_yang_shu_lian_er != ' ml/支×1支'){
-                            liuYangList.push(ypInfoList[index].liu_yang_shu_lian_er)
-                        }
-                        if(ypInfoList[index].liu_yang_shu_lian_san != ' ml/支×1支'){
-                            liuYangList.push(ypInfoList[index].liu_yang_shu_lian_san)
-                        }
-                        if(ypInfoList[index].liu_yang_shu_lian_si != ' ml/支×1支'){
-                            liuYangList.push(ypInfoList[index].liu_yang_shu_lian_si)
-                        }
-                        // liuYangList.push(ypInfoList[index].liu_yang_shu_lian_yi,ypInfoList[index].liu_yang_shu_lian_er,ypInfoList[index].liu_yang_shu_lian_san,ypInfoList[index].liu_yang_shu_lian_si)
+                        liuYangList.push(ypInfoList[index].liu_yang_shu_lian_yi,ypInfoList[index].liu_yang_shu_lian_er,ypInfoList[index].liu_yang_shu_lian_san,ypInfoList[index].liu_yang_shu_lian_si)
                         let yplxz = lxList.filter(i => i).join(',')
                         let ypggStr = ypggList.filter(i => i).join(',')
                         let liuyangStr = liuYangList.filter(i => i).join(',')
@@ -389,9 +349,6 @@ export default {
                                 jian_ce_xiang_mu_: xiangMuZh
                             }
                             ypdjb.push(obj)
-
-                            
-
                         }
                         // 2-2:封装任务分配表
                         let rw = {
@@ -407,7 +364,7 @@ export default {
                             bao_gao_lei_xing_ : item.bao_gao_lei_xing_,
                             xin_xiang_mu_ming : item.xiang_mu_ming_che,
                             zhan_shi_biao_id_ : item.zhan_shi_biao_id_,
-                            fen_zhuang_liu_ya : liuyangStr, // todo 有问题
+                            fen_zhuang_liu_ya : liuyangStr, 
                             shi_fou_jia_ji_   : item.chu_ju_bao_gao_ya,             // 是否加急【2023/2/23王嘎嘎提出】
                             yang_pin_shu_lian : ypInfoList[index].jie_yang_shu_lian // 样品确认总数【2023/3/7王嘎嘎提出】
                         }
@@ -445,17 +402,8 @@ export default {
                     }
                 })
             })
-
-            
-
-            
          })
-
-
-
-
-
-
+         // todo 让列表刷新
           this.$emit('callback', true)
           this.visable = false
           this.$message({
@@ -499,15 +447,6 @@ export default {
       cont['paramCond'] = cond
       return repostCurd('update', JSON.stringify(cont))
     },
-
-    /* zzj add */
-    dateFormat() { // 获取当前时间
-      var date = new Date();
-      var year = date.getFullYear();
-      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
-      var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
-      return year + "-" + month + "-" + day;
-    },
     // 根据旧位置数据生成新位置数据
     generateNewLocation(oldLocation,sampleInfo){
         let temp = {
@@ -524,43 +463,33 @@ export default {
             shi_fou_guo_shen_ : '启用',
             yang_pin_bian_hao : sampleInfo.yang_pin_bian_hao,
             yang_pin_ming_che : sampleInfo.yang_pin_ming_che,
-            ru_ku_shi_jian_   : sampleInfo.currentTime,
+            ru_ku_shi_jian_   : sampleInfo.ru_ku_shi_jian_,
             shi_fou_liu_yang_ : sampleInfo.shi_fou_liu_yang_,
             biao_zhi_uuid_    : sampleInfo.biao_zhi_uuid_
         }
         return temp 
     },
-    handleLocationInfo(currentLocation,isLiuYang,localInfo,locationIds,item,UUID,currentTime,num){
-        console.log(num,localInfo)
-        if(num > 8 || currentLocation === undefined || currentLocation === null){
-            return
-        }
-        num ++
-        if(!locationIds.has(currentLocation)){
-            locationIds.add(currentLocation)
-            // console.log(currentLocation,'不在set中')
-        }else{
-            localInfo.find(i => i.id_ === currentLocation).wei_zhi_zhuang_ta ='占用'
-            // console.log('修改',currentLocation,'为占用')
-        }
+    handleLocationInfo(currentLocation,isLiuYang,localInfo,locationIds,item,UUID,currentTime){
+        !locationIds.has(currentLocation) ? locationIds.add(currentLocation) : localInfo.find(i => i.id_ === currentLocation).wei_zhi_zhuang_ta ='占用'
         if(localInfo.find(i => i.id_ === currentLocation).wei_zhi_zhuang_ta ==='空余'){
-            let content = {
-                id_ : currentLocation
-            }
-            let params = {
-                wei_zhi_zhuang_ta : "占用",
-                ru_ku_shi_jian_ : currentTime,
-                yang_pin_bian_hao : item.yang_pin_bian_hao,
-                yang_pin_ming_che : item.yang_pin_ming_che,
-                shi_fou_liu_yang_ : isLiuYang
-            }
             let obj = {
-                tableName:'t_ypcfwz',
-                paramWhere:content,
-                paramCond : params
+                where: {
+                    id_ : currentLocation
+                },
+                param: {
+                    wei_zhi_zhuang_ta : "占用",
+                    ru_ku_shi_jian_ : currentTime,
+                    yang_pin_bian_hao : item.yang_pin_bian_hao,
+                    yang_pin_ming_che : item.yang_pin_ming_che,
+                    shi_fou_liu_yang_ : isLiuYang
+                }
             }
-            this.emptyLocal.push(obj)
-        }else{ // 新增一条位置信息(修改它的样品编号,样品名称,入库时间,标识UUID),insert后更新样品此位置id
+            let result = {
+                name : 'emptyLocation',
+                value: obj
+            }
+            return result
+        }else{ // 新增一条位置信息(修改它的样品编号,样品名称,入库时间,标识UUID)
             let sampleInfo = {
                 yang_pin_bian_hao : item.yang_pin_bian_hao,
                 yang_pin_ming_che : item.yang_pin_ming_che,
@@ -569,34 +498,12 @@ export default {
                 shi_fou_liu_yang_ : isLiuYang
             }
             let newLocation = this.generateNewLocation(localInfo.find(i => i.id_ === currentLocation),sampleInfo)
-            this.fullLocal.push(newLocation)
-        }
-        if(num === 2){
-            this.handleLocationInfo(item.shou_yang_wei_zhi_er,'否',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime,num)
-        }
-        if(num === 3){
-            this.handleLocationInfo(item.shou_yang_wei_zhi_san,'否',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime,num)
-        }
-        if(num === 4){
-            this.handleLocationInfo(item.shou_yang_wei_zhi_si,'否',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime,num)
-        }
-        if(num === 5){
-            this.handleLocationInfo(item.liu_yang_wei_zhi_yi,'是',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime,num)
-        }
-        if(num === 6){
-            this.handleLocationInfo(item.liu_yang_wei_zhi_er,'是',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime,num)
-        }
-        if(num === 7){
-            this.handleLocationInfo(item.liu_yang_wei_zhi_san,'是',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime,num)
-        }
-        if(num === 8){
-            this.handleLocationInfo(item.liu_yang_wei_zhi_si,'是',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime,num)
+            let result = {
+                name : 'fullLocation',
+                value: newLocation
+            }
+            return result
         }
-        
-        
-        
-        
-        
     },
 
     /* 关闭*/

+ 263 - 386
src/views/system/jbdScan/js/sampleConfirmationJS.js

@@ -22,7 +22,7 @@ export default {
       let flag = true  // 重复扫码标志位
       for (let index in this.listData) { // 判断是否重复,重复扫码 数量自增
           if (this.listData[index].yang_pin_bian_hao == id) {
-              this.listData[index].jie_yang_shu_lian = this.listData[index].jie_yang_shu_lian + 1
+              this.listData[index].jie_yang_shu_lian = parseInt(this.listData[index].jie_yang_shu_lian) + 1
               flag = false
           }
         }
@@ -36,19 +36,23 @@ export default {
                 temp.forEach(item => {
                     item.jie_yang_shu_lian = item.yang_pin_zong_shu
                     item.jie_yang_zhuang_t = '已确认'
-                    item.biao_zhi_uuid_ = this.uuid()
+                    item.biao_zhi_uuid_1 = this.uuid()
+                    item.biao_zhi_uuid_2 = this.uuid()
+                    item.biao_zhi_uuid_3 = this.uuid()
+                    item.biao_zhi_uuid_4 = this.uuid()
                     item.shi_fou_liu_yang_ = '是'
                     item.yan_shou_jie_guo_ = '完好'
                     item.liu_yang_shu_lian_yi = ' ml/支×1支'
-                    item.liu_yang_shu_lian_er = ' ml/支×1支'
-                    item.liu_yang_shu_lian_san = ' ml/支×1支'
-                    item.liu_yang_shu_lian_si = ' ml/支×1支'
-                    item.liu_yang_ri_qi_ = this.dateFormat()
+                    item.yang_pin_lei_er_ ? item.liu_yang_shu_lian_er = ' ml/支×1支' : null
+                    item.yang_pin_lei_san_ ? item.liu_yang_shu_lian_san = ' ml/支×1支' : null
+                    item.yang_pin_lei_si_  ? item.liu_yang_shu_lian_si = ' ml/支×1支' : null
+                    item.liu_yang_ri_qi_ =  new Date(new Date().getTime() + 28800000).toJSON().slice(0, 10).replace('T', ' ')
                     item.yang_pin_lei_er_ ? this.$set(item,'flag2',true) : this.$set(item,'flag2',false)
                     item.yang_pin_lei_san_ ? this.$set(item,'flag3',true) : this.$set(item,'flag3',false)
                     item.yang_pin_lei_si_  ? this.$set(item,'flag4',true) : this.$set(item,'flag4',false)
                 })
-                this.listData = temp
+                this.listData.push(temp[0])
+                console.log(this.listData)
             }
         })
       }
@@ -74,8 +78,6 @@ export default {
       submitData(type) {
         // this指针
         let this_ = this;
-        let changeWeiZhi;     // 此处俩字段作用在下面 选择货位时出现重复位置 而重新更新样品登记表 收样位置|留样位置
-        let changesyWeiZhi;
         // 回传关闭事件。隐藏当前组件。
         let judge = true;
   
@@ -92,33 +94,31 @@ export default {
   
             // 获取样品列表
             let ypInfoList = this_.listData
+          //   console.log(ypInfoList, "样品信息")
+  
             let dWhere = []
             let ypbh = []
-            let cfwzIdList = [] // 放置 存放位置的ID
             let ypbhList = [] // 样品编号列表
+  
             // 罗湖样品编号列表
             let lhypbhList = []
             let lhypmcList = []
-            // 罗湖委托单列表
-            let lhwtsqbList = []
-            // 罗湖样品表列表
-            let lhypbList = []
             // 罗湖样品表外键
             let lhypbWJ = []
             // 罗湖委托表主键
             let lhwtbID = []
-            let lhwtbOnlyId = []
             // 罗湖委托表展示表ID
             let lhwtzsbID = []
             // 罗湖样品id列表
             let lhypIdList = []
             // 罗湖样品id格式列表
             let lhypIdNewList = []
-            let uuidList = [] // 列表的UUID
-  
+            // 样品所选择的位置ID字符串
+            let localStr = ''
+            let locationIds = new Set()
+            let localArr = []
   
             for (let yp in ypInfoList) { //样品数据
-              let cfwzObj = []
               let cfwz = ''
               /*
                 校验:
@@ -144,41 +144,31 @@ export default {
                 this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 是否留样不能为空!')
                 return;
               }
-              cfwzObj.push(ypInfoList[yp].shou_yang_wei_zhi) //取位置信息
-  
               if (ypInfoList[yp].shi_fou_liu_yang_ == "是") {
-                // if (ypInfoList[yp].liu_yang_wei_zhi_ == null || ypInfoList[yp].liu_yang_wei_zhi_ == '') {
-                //   this_.$message.error("你要留样的话,存放位置不能为空哦!")
-                //   return;
-                // }
                 if (ypInfoList[yp].liu_yang_ri_qi_ == null || ypInfoList[yp].liu_yang_ri_qi_ == '') {
                   this_.$message.error("留样时必须填写留样日期!")
                   return;
                 }
-                // if (ypInfoList[yp].liu_yang_shu_lian == null || ypInfoList[yp].liu_yang_shu_lian == '') {
-                //   this_.$message.error("留样时必须填写留样数量!")
-                //   return;
-                // }
-                  cfwzObj.push(ypInfoList[yp].liu_yang_wei_zhi_)
               } 
               ypbhList.push('{"yang_pin_bian_hao":"' + ypInfoList[yp].yang_pin_bian_hao + '"}') // 样品编号列表
-  
-  
               // 罗湖
               dWhere.push('{"id_":"' + cfwz + '"}')
-              cfwzIdList.push(cfwzObj)
               lhypbhList.push( ypInfoList[yp].yang_pin_bian_hao )
               lhypbWJ.push( ypInfoList[yp].parent_id_ )
               lhypIdList.push( ypInfoList[yp].id_ )
               lhypIdNewList.push('{"id_":"' + ypInfoList[yp].id_ + '"}')
-              uuidList.push(ypInfoList[yp].biao_zhi_uuid_)
               ypbh.push(ypInfoList[yp].yang_pin_bian_hao)
               lhypmcList.push(ypInfoList[yp].yang_pin_ming_che)
+  
+              localArr.push(
+                  ypInfoList[yp].shou_yang_wei_zhi_yi,ypInfoList[yp].liu_yang_wei_zhi_yi,
+                  ypInfoList[yp].shou_yang_wei_zhi_er,ypInfoList[yp].liu_yang_wei_zhi_er,
+                  ypInfoList[yp].shou_yang_wei_zhi_san,ypInfoList[yp].liu_yang_wei_zhi_san,
+                  ypInfoList[yp].shou_yang_wei_zhi_si,ypInfoList[yp].liu_yang_wei_zhi_si
+                  )
             }
+            localStr = localArr.filter(i => i).join(',')
   
-          /*
-            封装好样品登记表对象,add 样品登记表
-          */
            let value = ''
            let lhypIdStr = ''
            for(let i =0;i<lhypbWJ.length; i++){
@@ -192,360 +182,197 @@ export default {
            lhypIdStr = lhypIdStr.substring(0,lhypIdStr.length-1)
            lhypIdStr = lhypIdStr.replace(/,/g,"','")
   
-           // console.log('lhypIdStr :',lhypIdStr)
-           let wtdAndYpb = []
+           let currentTime = new Date(new Date().getTime() + 28800000).toJSON().slice(0, 16).replace('T', ' ')
            let allSQL = `select a.id_ as wtID,a.chu_ju_bao_gao_ya,a.zhan_shi_biao_id_,a.wei_tuo_lei_xing_,a.he_tong_id_,a.bao_gao_lei_xing_,a.wei_tuo_bian_hao_, a.wei_tuo_dan_wei_ as wtdh, a.wei_tuo_fang_lian, a.wei_tuo_lian,a.bao_gao_bian_zhi_,a.bao_gao_fu_he_yua,b.* from t_lhwtsqb a inner join t_lhypb b on a.id_ = b.parent_id_ where b.parent_id_ in ('${value}')and b.id_ in ('${lhypIdStr}')`
-            // console.log(allSQL)
-            repostCurd('sql', allSQL).then(res1 => {
-                /* 封装样品登记表对象  */
-                let ypdjb = []
-                let res = res1.variables.data
-                wtdAndYpb = res
-  
-                for(let i = 0; i<res.length; i++){
-                lhwtbID.push('{"id_":"' + res[i].wtID + '"}')
-                lhwtbOnlyId.push(res[i].wtID)
-                lhwtzsbID.push('{"shen_qing_id_":"' + res[i].zhan_shi_biao_id_ + '"}')
-                    let count = 0;
-                    if(res[i].yang_pin_lei_xing != ''  && res[i].yang_pin_lei_xing != undefined){
-                      count = 1;
-                      if(res[i].yang_pin_lei_er_ != ''  && res[i].yang_pin_lei_er_ != undefined){
-                         count = 2;
-                         if(res[i].yang_pin_lei_san_ != ''  && res[i].yang_pin_lei_san_ != undefined){
-                           count = 3;
-                           if(res[i].yang_pin_lei_si_ != ''  && res[i].yang_pin_lei_si_ != undefined){
-                             count = 4;
-                           }
-                         }
-                      }
-                    }
-                    for(let x = 0; x<count;x++){
-                      let xmmc = []
-                      xmmc.push(res[i].chang_gui_xiang_m,res[i].tao_can_ming_chen)
-                      let xiangMuZh = xmmc.filter(i => i).join(',')
-                      let obj = {}
-                      obj["wei_tuo_dan_hao_"] = res[i].wei_tuo_bian_hao_
-                      obj["wei_tuo_dan_wei_"] = res[i].wtdh
-                      obj["lian_xi_ren_"]     = res[i].wei_tuo_fang_lian
-                      obj["lian_xi_dian_hua_"] = res[i].wei_tuo_lian
-  
-                      obj["yang_ben_ming_che"]  = res[i].yang_pin_ming_che
-                      obj["yang_ben_bian_hao"]  = res[i].yang_pin_bian_hao
-                      obj["pi_hao_bian_hao_"]   = res[i].song_jian_pi_hao_
-                      obj["song_jian_dan_wei"]  = res[i].song_jian_dan_wei
-                      obj["xing_ming_"]         = res[i].xing_ming_
-                      obj["xing_bie_"]          = res[i].xing_bie_
-                      obj["nian_ling_"]         = res[i].nian_ling_
-                      obj["yang_ben_zhuang_t"]  = res[i].yang_pin_zhuang_t
-                      obj["shou_yang_ri_qi_"]   = this_.dateFormat()
-                      obj["bei_zhu_"]           = ypInfoList[i].bei_zhu_
-  
-                      obj["yang_ben_lei_xing"] =    x==0? res[i].yang_pin_lei_xing : x==1? res[i].yang_pin_lei_er_ : x==2? res[i].yang_pin_lei_san_ : x==3? res[i].yang_pin_lei_si_ :''
-                      obj["yun_shu_tiao_jian"] =    x==0? res[i].yang_ben_yun_shu_ : x==1? res[i].yang_pin_yun_shu_ : x==2? res[i].yang_pin_yun_san : x==3? res[i].yang_pin_yun_si_ :''
-                      obj["yang_pin_shu_lian"] =    x==0? res[i].shu_liang_ : x==1? res[i].shu_liang_er_ : x==2? res[i].shu_liang_san_ : x==3? res[i].shu_liang_si_ :''
-                      obj["yang_ben_gui_ge_s"] =    x==0? res[i].yang_pin_gui_ge_ : x==1? res[i].yang_pin_gui_ge_e : x==2? res[i].yang_pin_gui_ge_s : x==3? res[i].yang_pin_gui_si_ :''
-                      obj["yan_shou_jie_guo_"] =      ypInfoList[i].yan_shou_jie_guo_
-                      obj["cun_fang_wei_zhi_"] =       ypInfoList[i].shou_yang_wei_zhi
-                      obj["liu_zhuan_zhuang_"] =       '待检'
-                      obj["shi_fou_liu_yang_"] =       ypInfoList[i].shi_fou_liu_yang_
-                      obj["liu_yang_ri_qi_"]    =       ypInfoList[i].liu_yang_ri_qi_
-
-                      obj["liu_yang_cun_fang"]  =   x==0? ypInfoList[i].liu_yang_wei_zhi_yi : x==1? ypInfoList[i].liu_yang_wei_zhi_er : x==2? ypInfoList[i].liu_yang_wei_zhi_san : x==3? ypInfoList[i].liu_yang_wei_zhi_si :''
-                      obj["liu_yang_shu_lian"]  =   x==0? ypInfoList[i].liu_yang_shu_lian_yi : x==1? ypInfoList[i].liu_yang_shu_lian_er : x==2? ypInfoList[i].liu_yang_shu_lian_san : x==3? ypInfoList[i].liu_yang_shu_lian_si :''  
-
-
-                      obj["liu_yang_qi_xian"]   =        ypInfoList[i].liu_yang_qi_xian
-                      obj["xiao_hui_ri_qi_"]    =         ypInfoList[i].xiao_hui_ri_qi_
-                      obj["fan_yang_ri_qi_"]    =         ypInfoList[i].fan_yang_ri_qi_
-                      obj["fan_yang_jyr"]       =       ypInfoList[i].fan_yang_jyr
-                      obj["biao_zhi_uuid_"]     =       ypInfoList[i].biao_zhi_uuid_
-                      obj["song_yang_yao_qiu"]  =       ypInfoList[i].song_yang_yao_qiu
-                      obj["jian_ce_xiang_mu_"]  =      xiangMuZh
-                      // obj["fen_zhuang_liu_ya"]  =    ypInfoList[i].fen_zhuang_liu_ya
-                      changeWeiZhi = ypInfoList[i].shou_yang_wei_zhi ==''?'':ypInfoList[i].shou_yang_wei_zhi
-                      changesyWeiZhi = ypInfoList[i].liu_yang_wei_zhi_ ==''?'':ypInfoList[i].liu_yang_wei_zhi_
-                      ypdjb.push(obj)
-                    }
-                }
-                let fbbIdStr = ''
-                for(let i =0;i<lhwtbOnlyId.length; i++){
-                  fbbIdStr += lhwtbOnlyId[i] + ','
-                }
-                fbbIdStr = fbbIdStr.substring(0,fbbIdStr.length-1)
-                // fbbIdStr = fbbIdStr.replace(/,/g,"','")
-                // console.log('fbbIdStr :',fbbIdStr)
-                // console.log('进入样品登记表...',ypdjb)
-                repostCurd('add', '{"tableName":"t_lhypdjb","paramWhere":' + JSON.stringify(ypdjb) + '}')
-                repostCurd('updates', '{"tableName":"t_lhypb","paramWhere":[' + lhypIdNewList + '],"paramCond":{"jie_yang_zhuang_t":"已接收"}}')
-                
-                /*
-                  更新委托单 如果本来没值,就更新 报告编制人和 报告审核员 否则更新
-                  委托单数组 和 样品数组 数量相同,遍历两者 判断委托单是否有编制人,审核员?
-                  如果没有,则记录下委托单ID,以及同索引下的样品表的编制人和审核员
-                */
-                // let finalWtdIdList = []
-  
-  /**
-   * 1.11胡老师说不要
-   
-                for(var index = 0; index < ypInfoList.length; index++){
-                  if(res[index].bao_gao_bian_zhi_  == '' || res[index].bao_gao_fu_he_yua  == ''){
-                   repostCurd('update','{"tableName":"t_lhwtsqb","paramWhere":' + '{"id_":"' + res[index].wtID + '"}' + ',"paramCond":' + '{"bao_gao_bian_zhi_":"'+ypInfoList[index].bao_gao_bian_zhi_+'","bao_gao_fu_he_yua":"' +  ypInfoList[index].bao_gao_shen_he_y + '"}}')
-                }
-              }
-  */
-  
-                /*
-                let wtdSQL = "select id_,bao_gao_bian_zhi_,bao_gao_fu_he_yua from t_lhwtsqb where id_ in('" + value + "')"
-  
-                 repostCurd('sql', wtdSQL).then(response => {
-                     let result = response.variables.data
-                     console.log(result)
-                     for(var i in result){
-                        if(result[i].bao_gao_bian_zhi_ == '' || result[i].bao_gao_bian_zhi_ == undefined){
-                          finalWtdIdList.push(result[i])
-                        }
-                     }
-                     console.log('finalWtdIdList',finalWtdIdList)
-                 })
-                 */
-  
-                /*
-                   3、任务分配     【2022/11/23 取消 直接 批量开检测子流程】【2022/11/30 胡老师又要】
-                   3-1、根据 wtdAndYpb 的 wtID 更改委托表的 委托状态 wei_tuo_zhuang_ta 变成 已完成
-                   3-2、根据每个样品一个任务分配流程 遍历样品表开任务分配流程
-                   3-3、委托表找zhan_shi_biao_id_ 修改  t_lhwtzsb "zhuang_tai_"为"待任务分配"
-                */
-                 // console.log('委托单及样品信息',wtdAndYpb)
-                 // console.log('委托单id列表 ',lhwtbID)
-                 // console.log('展示表id列表 ',lhwtzsbID)
-  
-                 repostCurd('updates', '{"tableName":"t_lhwtsqb","paramWhere":[' + lhwtbID + '],"paramCond":{"wei_tuo_zhuang_ta":"已完成"}}')
-  
-                 let rws = []
-                if(wtdAndYpb.length>0){
-                   for(var i in wtdAndYpb){
-                    //  let strs = wtdAndYpb[i].jian_ce_xiang_mu_.split(',')
-                        //  for(var l in strs){
-                          let rw = {}
-                          //  rw["ren_wu_ming_cheng"] = strs[l] //检测项目
-                           rw["yang_pin_ming_che"] = wtdAndYpb[i].yang_pin_ming_che//样品名称
-                           rw["yang_pin_bian_hao"] = wtdAndYpb[i].yang_pin_bian_hao//样品编号
-                           rw["wei_tuo_lei_xing_"] = wtdAndYpb[i].wei_tuo_lei_xing_ //委托类型
-                           let yplxList = []
-                            let ypggList = []
-                            yplxList.push(
-                                wtdAndYpb[i].yang_pin_lei_xing,wtdAndYpb[i].yang_pin_lei_er_,wtdAndYpb[i].yang_pin_lei_san_,wtdAndYpb[i].yang_pin_lei_si_);
-                            ypggList.push(
-                                wtdAndYpb[i].yang_pin_gui_ge_,wtdAndYpb[i].yang_pin_gui_ge_e,wtdAndYpb[i].yang_pin_gui_ge_s,wtdAndYpb[i].yang_pin_gui_si_
-                            );
-                           let yplxz = yplxList.filter(i => i).join(',');
-                           let ypggStr = ypggList.filter(i => i).join(',');
-                           rw["yang_pin_lei_xing"] = yplxz        //  样品类型
-                           rw["yang_pin_gui_ge_"] = ypggStr       // 样品规格
-                           rw["wei_tuo_id_"] = wtdAndYpb[i].wtID  //  委托id
-                           rw["he_tong_id_"] = wtdAndYpb[i].he_tong_id_ //  合同id
-                           rw["zhuang_tai_"] = '待任务分配'       //  状态
-                           rw["wan_cheng_shi_jia"] = wtdAndYpb[i].song_jian_shi_jia   // 送检日期
-                          //  rw["bao_gao_bian_zhi_"] = ypInfoList[i].bao_gao_bian_zhi_  // 报告编制人
-                          //  rw["bao_gao_shen_he_y"] = ypInfoList[i].bao_gao_shen_he_y  // 报告审核人
-                           rw["bao_gao_lei_xing_"] = wtdAndYpb[i].bao_gao_lei_xing_   // 报告类型
-                           rw["xin_xiang_mu_ming"] = wtdAndYpb[i].xiang_mu_ming_che   // 项目名称
-                           rw["zhan_shi_biao_id_"] = wtdAndYpb[i].zhan_shi_biao_id_   // 展示表id
-                           rw["fen_zhuang_liu_ya"] = ypInfoList[i].liu_yang_shu_lian  // 留样数量
-                           rw["shi_fou_jia_ji_"] = wtdAndYpb[i].chu_ju_bao_gao_ya // 是否加急【2023/2/23王嘎嘎提出】
-                           rw["yang_pin_shu_lian"] = ypInfoList[i].jie_yang_shu_lian  // 样品确认总数【2023/3/7王嘎嘎提出】
-                           rws.push(rw)
-                          // }
-                    }
-                    //  console.log("任务分配",rws)
-                   repostCurd('add', '{"tableName":"t_lhrwfpb","paramWhere":'+JSON.stringify(rws)+',"defKey":"Process_04o0csc","formKey":"lhrwfp"}')
+          // 搜集所有选择的位置信息
+          //  console.log('当前选择的位置ids:',locationIds)
+           var allLocal = `select * from t_ypcfwz where find_in_set(id_,'${localStr}')`
+           Promise.all([repostCurd("sql",allSQL),repostCurd("sql",allLocal)]).then((res)=>{
+              let result = res[0].variables.data
+              let localInfo = res[1].variables.data
+              // console.log(localInfo)
+              /* 1、更新货架位置信息 */
+              this.emptyLocal = []
+              this.fullLocal  = []
+              let allUUID = []
+              ypInfoList.forEach(item=>{
+                  allUUID.push(item.biao_zhi_uuid_1,item.biao_zhi_uuid_2,item.biao_zhi_uuid_3,item.biao_zhi_uuid_4)
+                  let allResult = []
+                  allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_yi,'否',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime))
+                  if(item.shou_yang_wei_zhi_er != undefined){
+                      allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_er,'否',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime))
                   }
-                  // 更新委托单 检测开始时间   问吴懿是否需要 不需要
-                  // repostCurd('updates', '{"tableName":"t_lhwtsqb","paramWhere":[' + lhwtbID + '],"paramCond":{"jian_ce_kai_shi_s":"' + this_.dateFormat() + '"}}')
-  
-                  //更新展示表
-                  if(lhwtzsbID.length > 0){
-                    repostCurd('updates', '{"tableName":"t_lhwtzsb","paramWhere":['+lhwtzsbID+'],"paramCond":{"zhuang_tai_":"任务分配进行中"}}')
+                  if(item.shou_yang_wei_zhi_san != undefined){
+                      allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_san,'否',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime))
                   }
-                  
-  
-  
-  
+                  if(item.shou_yang_wei_zhi_si != undefined){
+                      allResult.push(this.handleLocationInfo(item.shou_yang_wei_zhi_si,'否',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime))
+                  }
+                  allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_yi,'是',localInfo,locationIds,item,item.biao_zhi_uuid_1,currentTime))
+                  if(item.liu_yang_wei_zhi_er != undefined){
+                      allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_er,'是',localInfo,locationIds,item,item.biao_zhi_uuid_2,currentTime))
+                  }
+                  if(item.liu_yang_wei_zhi_san != undefined){
+                      allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_san,'是',localInfo,locationIds,item,item.biao_zhi_uuid_3,currentTime))
+                  }
+                  if(item.liu_yang_wei_zhi_si != undefined){
+                      allResult.push(this.handleLocationInfo(item.liu_yang_wei_zhi_si,'是',localInfo,locationIds,item,item.biao_zhi_uuid_4,currentTime))
+                  }
+                  allResult.forEach(item=>{
+                      item.name === 'emptyLocation' ? this.emptyLocal.push(item.value) : this.fullLocal.push(item.value)
+                  })
+              })
+              let allUUIDStr = allUUID.filter(i => i).join(',')
+              // console.log(allUUIDStr)
+              // 更新样品位置list
+              // console.log('emptyLocal:',this.emptyLocal)
+              let allParams = {
+                  tableName: 't_ypcfwz',
+                  updList: this.emptyLocal
+              }
+              repostCurd('updatesByWhere', JSON.stringify(allParams))
+              // 插入样品位置list
+              // console.log('fullLocal:',this.fullLocal)
+              repostCurd('add', '{"tableName":"t_ypcfwz","paramWhere":' + JSON.stringify(this.fullLocal) + '}').then(res=>{
+                  // 再次查询位置表,对比当前样品列表 替换初始值为占用的样品位置id
+                  let findLocationAgain = `select id_,shi_fou_liu_yang_,biao_zhi_uuid_ from t_ypcfwz where find_in_set(biao_zhi_uuid_,'${allUUIDStr}')`
+                  // console.log(findLocationAgain)
+                  repostCurd('sql',findLocationAgain).then(res=>{
+                      let  data  = res.variables.data
+                      let uuidArgs = ['biao_zhi_uuid_1','biao_zhi_uuid_2','biao_zhi_uuid_3','biao_zhi_uuid_4']
+                      let shouYangArgs = ['shou_yang_wei_zhi_yi','shou_yang_wei_zhi_er','shou_yang_wei_zhi_san','shou_yang_wei_zhi_si']
+                      let liuYangArgs = ['liu_yang_wei_zhi_yi','liu_yang_wei_zhi_er','liu_yang_wei_zhi_san','liu_yang_wei_zhi_si']
+                      data.forEach(item=>{
+                              uuidArgs.forEach((uuid,index)=>{
+                                  let ypIndex = ypInfoList.findIndex(i => i[uuid] === item.biao_zhi_uuid_)
+                                  if(ypIndex != -1){
+                                      item.shi_fou_liu_yang_ === '否' ?  
+                                      ypInfoList[ypIndex][shouYangArgs[index]] = item.id_ : 
+                                      ypInfoList[ypIndex][liuYangArgs[index]] = item.id_
+                                  }
+                              })
+                      })
   
+                      repostCurd('updates', '{"tableName":"t_lhypb","paramWhere":[' + lhypIdNewList + '],"paramCond":{"jie_yang_zhuang_t":"已接收"}}')
   
-                 /*
-                  3、【任务分配2022/11/23 取消 直接 批量开检测子流程】【2022/11/30 取消】
-                   3-1、根据 wtdAndYpb 的 wtID 更改委托表的 委托状态 wei_tuo_zhuang_ta 变成 已完成
-                   3-2、根据每个样品对应的检测项目,开启一个或多个任务 / 遍历样品表开检测子流程,一个样品可能对应多个检测
-                   3-3、委托表找zhan_shi_biao_id_ 修改  t_lhwtzsb "zhuang_tai_"为"待环境监控"
-                   
-                   repostCurd('updates', '{"tableName":"t_lhwtsqb","paramWhere":[' + lhwtbID + '],"paramCond":{"wei_tuo_zhuang_ta":"已完成"}}')
-                   */
+                      /* 2、封装样品登记表对象,插入样品登记表 顺便封装任务分配表  */
+                      let ypdjb = []
+                      let rws = []
+                      result.forEach((item,index)=>{
+                          // 2-1:统计每个样品有多少类型[数量]
+                          let lxList = []
+                          let ypggList = []
+                          let liuYangList = []
+                          lxList.push(item.yang_pin_lei_xing,item.yang_pin_lei_er_,item.yang_pin_lei_san_,item.yang_pin_lei_si_)
+                          ypggList.push(item.yang_pin_gui_ge_,item.yang_pin_gui_ge_e,item.yang_pin_gui_ge_s,item.yang_pin_gui_si_)
+                          liuYangList.push(ypInfoList[index].liu_yang_shu_lian_yi,ypInfoList[index].liu_yang_shu_lian_er,ypInfoList[index].liu_yang_shu_lian_san,ypInfoList[index].liu_yang_shu_lian_si)
+                          let yplxz = lxList.filter(i => i).join(',')
+                          let ypggStr = ypggList.filter(i => i).join(',')
+                          let liuyangStr = liuYangList.filter(i => i).join(',')
+                          let count = lxList.filter(i => i).join(',').match(/,/g).length + 1
+                          for(let c = 0; c < count; c++){
+                              let xmmc = []
+                              xmmc.push(item.chang_gui_xiang_m,item.tao_can_ming_chen)
+                              let xiangMuZh = xmmc.filter(i => i).join(',')
   
-            // console.log('dwhere:',dWhere)
-            // console.log('cfwzIdList:',cfwzIdList)
-            /* 2、更新货架位置信息(位置状态、样品编号、入库时间)如果是重复位置,则新增一条位置记录,并增加对应UUID  */
-            for (let num in dWhere) {
-              let firstIfEmpty = true
-              let secondIfEmpty = true
-                for(let index = 0; index<cfwzIdList[num].length; index++){
-                  let sql = "select * from t_ypcfwz where id_ = '" + cfwzIdList[num][index] + "'"
-                  let isLiuYang = index == 1 ? "是" : "否"
-                  // console.log(sql)
-                    repostCurd('sql', sql).then(response => {
-                      let resArr = response.variables.data
-                      // console.log(resArr)
-                      if (resArr.length == 1) {
-                        if (resArr[0].wei_zhi_zhuang_ta == "空余") {
-                          if(index == 0){
-                            firstIfEmpty = false
-                          }else{
-                            secondIfEmpty = false
-                          }
-                          let content = {
-                            id_ : cfwzIdList[num][index]
-                          }
-                          let params = {
-                            wei_zhi_zhuang_ta : "占用",
-                            ru_ku_shi_jian_ : this_.dateFormat(),
-                            yang_pin_bian_hao : ypbh[num],
-                            yang_pin_ming_che : lhypmcList[num],
-                            shi_fou_liu_yang_ : isLiuYang
+                              let yblx = c==0? item.yang_pin_lei_xing : c==1? item.yang_pin_lei_er_ : c==2? item.yang_pin_lei_san_ : c==3? item.yang_pin_lei_si_ :''
+                              let ystj = c==0? item.yang_ben_yun_shu_ : c==1? item.yang_pin_yun_shu_ : c==2? item.yang_pin_yun_san : c==3? item.yang_pin_yun_si_ :''
+                              let ypsl = c==0? item.shu_liang_ : c==1? item.shu_liang_er_ : c==2? item.shu_liang_san_ : c==3? item.shu_liang_si_ :''
+                              let ybgg = c==0? item.yang_pin_gui_ge_ : c==1? item.yang_pin_gui_ge_e : c==2? item.yang_pin_gui_ge_s : c==3? item.yang_pin_gui_si_ :''
+                              let sywz = c==0? ypInfoList[index].shou_yang_wei_zhi_yi : c==1? ypInfoList[index].shou_yang_wei_zhi_er : c==2? ypInfoList[index].shou_yang_wei_zhi_san : c==3? ypInfoList[index].shou_yang_wei_zhi_si :''
+                              let lycf = c==0? ypInfoList[index].liu_yang_wei_zhi_yi : c==1? ypInfoList[index].liu_yang_wei_zhi_er : c==2? ypInfoList[index].liu_yang_wei_zhi_san : c==3? ypInfoList[index].liu_yang_wei_zhi_si :''
+                              let lysl =  c==0? ypInfoList[index].liu_yang_shu_lian_yi : c==1? ypInfoList[index].liu_yang_shu_lian_er : c==2? ypInfoList[index].liu_yang_shu_lian_san : c==3? ypInfoList[index].liu_yang_shu_lian_si :''  
+                              let currentUUID = c==0? ypInfoList[index].biao_zhi_uuid_1 : c==1? ypInfoList[index].biao_zhi_uuid_2 : c==2? ypInfoList[index].biao_zhi_uuid_3 : c==3? ypInfoList[index].biao_zhi_uuid_4 :''
+                              let obj = {
+                                  wei_tuo_dan_hao_ : item.wei_tuo_bian_hao_,
+                                  wei_tuo_dan_wei_ : item.wtdh,
+                                  lian_xi_ren_     : item.wei_tuo_fang_lian,
+                                  lian_xi_dian_hua_: item.wei_tuo_lian,
+                                  yang_ben_ming_che: item.yang_pin_ming_che,
+                                  yang_ben_bian_hao: item.yang_pin_bian_hao,
+                                  pi_hao_bian_hao_ : item.song_jian_pi_hao_,
+                                  song_jian_dan_wei: item.song_jian_dan_wei,
+                                  xing_ming_       : ypInfoList[index].xing_ming_,
+                                  xing_bie_        : ypInfoList[index].xing_bie_,
+                                  nian_ling_       : ypInfoList[index].nian_ling_,
+                                  yang_ben_zhuang_t: item.yang_pin_zhuang_t,
+                                  shou_yang_ri_qi_ : currentTime,
+                                  bei_zhu_         : ypInfoList[index].bei_zhu_,
+                                  yang_ben_lei_xing: yblx,
+                                  yun_shu_tiao_jian: ystj,
+                                  yang_pin_shu_lian: ypsl,
+                                  yang_ben_gui_ge_s: ybgg,
+                                  yan_shou_jie_guo_: ypInfoList[index].yan_shou_jie_guo_,
+                                  cun_fang_wei_zhi_: sywz,
+                                  liu_zhuan_zhuang_: '待检',
+                                  shi_fou_liu_yang_: ypInfoList[index].shi_fou_liu_yang_,
+                                  liu_yang_ri_qi_  : ypInfoList[index].liu_yang_ri_qi_,
+                                  liu_yang_cun_fang: lycf,
+                                  liu_yang_shu_lian: lysl,
+                                  liu_yang_qi_xian : ypInfoList[index].liu_yang_qi_xian,
+                                  xiao_hui_ri_qi_  : ypInfoList[index].xiao_hui_ri_qi_,
+                                  fan_yang_ri_qi_  : ypInfoList[index].fan_yang_ri_qi_,
+                                  fan_yang_jyr     : ypInfoList[index].fan_yang_jyr,
+                                  biao_zhi_uuid_   : currentUUID,
+                                  song_yang_yao_qiu: ypInfoList[index].song_yang_yao_qiu,
+                                  jian_ce_xiang_mu_: xiangMuZh
+                              }
+                              ypdjb.push(obj)
                           }
-                          let o = {
-                            tableName:'t_ypcfwz',
-                            paramWhere:content,
-                            paramCond : params
+                          // 2-2:封装任务分配表
+                          let rw = {
+                              yang_pin_ming_che : item.yang_pin_ming_che,
+                              yang_pin_bian_hao : item.yang_pin_bian_hao,
+                              wei_tuo_lei_xing_ : item.wei_tuo_lei_xing_,
+                              yang_pin_lei_xing : yplxz,
+                              yang_pin_gui_ge_  : ypggStr,
+                              wei_tuo_id_       : item.wtID,
+                              he_tong_id_       : item.he_tong_id_,
+                              zhuang_tai_       : '待任务分配',
+                              wan_cheng_shi_jia : item.song_jian_shi_jia,
+                              bao_gao_lei_xing_ : item.bao_gao_lei_xing_,
+                              xin_xiang_mu_ming : item.xiang_mu_ming_che,
+                              zhan_shi_biao_id_ : item.zhan_shi_biao_id_,
+                              fen_zhuang_liu_ya : liuyangStr, 
+                              shi_fou_jia_ji_   : item.chu_ju_bao_gao_ya,             // 是否加急【2023/2/23王嘎嘎提出】
+                              yang_pin_shu_lian : ypInfoList[index].jie_yang_shu_lian // 样品确认总数【2023/3/7王嘎嘎提出】
                           }
-                          repostCurd('update',JSON.stringify(o)).then(res=>{
-                            console.log("空余位置修改")
-                          })
-                        } else if (resArr[0].wei_zhi_zhuang_ta == "占用") {
-                          // 新增一条新的位置记录,使用旧的位置记录 修改它的样品编号,入库时间,标识UUID
-                          let cfNewList = []
-                          let cfNew = {}
-                          cfNew["fang_jian_lei_xin"] = resArr[0].fang_jian_lei_xin
-                          cfNew["wei_zhi_"] = resArr[0].wei_zhi_
-                          cfNew["qu_yu_"] = resArr[0].qu_yu_
-                          cfNew["huo_jia_lei_xing_"] = resArr[0].huo_jia_lei_xing_
-                          cfNew["huo_jia_hao_"] = resArr[0].huo_jia_hao_
-                          cfNew["ceng_hao_"] = resArr[0].ceng_hao_
-                          cfNew["shui_ping_fen_qu_"] = resArr[0].shui_ping_fen_qu_
-                          cfNew["wei_zhi_bian_hao_"] = resArr[0].wei_zhi_bian_hao_
-                          cfNew["wei_zhi_zhuang_ta"] = resArr[0].wei_zhi_zhuang_ta
-                          cfNew["cun_chu_tiao_jian"] = resArr[0].cun_chu_tiao_jian
-                          cfNew["yang_pin_bian_hao"] = ypbh[num]
-                          cfNew["shi_fou_guo_shen_"] = '启用'
-                          // cfNew["yang_pin_bian_hao"] = lhypIdList[num]
-                          cfNew["yang_pin_ming_che"] = lhypmcList[num]
-                          cfNew["ru_ku_shi_jian_"] = this_.dateFormat()
-                          cfNew["shi_fou_liu_yang_"] = isLiuYang
-                          cfNew["biao_zhi_uuid_"] = uuidList[num]
-                          cfNewList.push(cfNew)
-                          let uuid = cfNew["biao_zhi_uuid_"];
-                          // console.log('货位:',cfNewList)
+                          rws.push(rw)
   
+                          
+                          lhwtzsbID.push('{"shen_qing_id_":"' + item.zhan_shi_biao_id_ + '"}')
+                          lhwtbID.push('{"id_":"' + item.wtID + '"}')
   
-                          repostCurd('add', '{"tableName":"t_ypcfwz","paramWhere":' + JSON.stringify(cfNewList) + '}').then(res => {
-                            let selectsql = "select id_ from t_ypcfwz where biao_zhi_uuid_='" + uuid + "'";
-                            repostCurd('sql', selectsql).then(res => {
-                              let data = res.variables.data;
-                              let suchAs = '{"biao_zhi_uuid_":"' + uuid + '"}'
-                              // console.log(data.length,changeWeiZhi,changesyWeiZhi,firstIfEmpty,secondIfEmpty)
-                              if(data.length == 1 && changeWeiZhi && firstIfEmpty){
-                                repostCurd('update', '{"tableName":"t_lhypdjb","paramWhere":'+suchAs+',"paramCond":{"cun_fang_wei_zhi_":"'+data[0].id_+'"}}').then(res=>{
-                                  console.log('One 存放位置',res)
-                                })
-                              }else if(data.length == 1 && changesyWeiZhi && secondIfEmpty){
-                                repostCurd('update', '{"tableName":"t_lhypdjb","paramWhere":'+suchAs+',"paramCond":{"liu_yang_cun_fang":"'+data[0].id_+'"}}').then(res=>{
-                                  console.log('One 留样位置',res)
-                                })
-                              }else if(data.length == 2 && changeWeiZhi && changesyWeiZhi){
-                                let whereL = []
-                                whereL.push(suchAs)
-                                repostCurd('updates', '{"tableName":"t_lhypdjb","paramWhere":['+whereL+'],"paramCond":{"cun_fang_wei_zhi_":"'+data[0].id_+'","liu_yang_cun_fang":"'+data[1].id_+'"}}').then(res=>{
-                                  console.log('Two 收样留样位置',res)
-                                })
-                              }
-                            })
-                          })
-                        }
-                      }
-                    })
-                }
-            }
-             
-            /*
-                 let ffbSql = "select * from t_lhfbb where FIND_IN_SET( parent_id_,'"+ fbbIdStr +"')"
-                 repostCurd('sql',ffbSql).then(response => {
-                   let ffbList = response.variables.data
-                   if(wtdAndYpb.length>0){
-                     let jcxmArr = []
-                     wtdAndYpb.forEach(item=>{
-                       item.jian_ce_xiang_mu_.split(',').reverse().forEach(temp=>{
-                         jcxmArr.push(temp)
-                       })
-                     })
-                     let allProject = []
-                     let finalJCTask = []
-                     let processDefKeyParam = []
-                     let processFormKeyParam = []
-                     let sql111 = `select id_, defkey_, formkey_ from t_mjjcnlfw where defkey_ != '' and find_in_set(id_, '${jcxmArr.join(',')}')`
-                     repostCurd('sql', sql111).then(res => {
-                          allProject = res.variables.data
-                          wtdAndYpb.forEach(item => {
-                            let yblxArr = []
-                            let yblxStr = ''
-                            yblxArr.push(item.yang_pin_lei_xing, item.yang_pin_lei_er_, item.yang_pin_lei_san_, item.yang_pin_lei_si_)
-                            yblxStr = yblxArr.filter(s => s).join(',')
-                            let t = item.jian_ce_xiang_mu_.split(',')
-                            let ypList = ypInfoList.find(k => k.id_ === item.id_)
-                            t.forEach(i => {
-                               let fbbItem = ffbList.find(j => j.jian_ce_xiang_mu_ === i)
-                               let jcxmItem = allProject.find(k => k.id_ === i)
-                               let obj = {
-                                   jian_ce_yuan_: fbbItem.jian_ce_yuan_,
-                                   fu_he_yuan_  : fbbItem.fu_he_yuan_,
-                                   yang_pin_ming_che: item.yang_pin_ming_che,
-                                   yang_pin_bian_hao: item.yang_pin_bian_hao,
-                                   jian_ce_xiang_mu_:jcxmItem.id_,
-                                   wei_tuo_id_:item.wtID,
-                                   he_tong_id_:item.he_tong_id_,
-                                   bao_gao_bian_zhi_:ypList.bao_gao_bian_zhi_,
-                                   bao_gao_fu_he_yua:ypList.bao_gao_shen_he_y,
-                                   wei_tuo_lei_xing_:item.wei_tuo_lei_xing_,
-                                   yang_pin_lei_xing: yblxStr,
-                                   xin_xiang_mu_ming:item.xiang_mu_ming_che,
-                                   wan_cheng_shi_jia:item.song_jian_shi_jia,
-                                   zhuang_tai_:'待环境监控',
-                                   zhan_shi_biao_id_:item.zhan_shi_biao_id_
-                               }
-                               finalJCTask.push(obj)
-                               processDefKeyParam.push(jcxmItem.defkey_)
-                               processFormKeyParam.push(jcxmItem.formkey_)
-                            })
-                          })
-                         finalJCTask.forEach((item,index )=>{
-                           let obj = {
-                             tableName:"t_lhjczb",
-                             paramWhere:[item],
-                             defKey:processDefKeyParam[index],
-                             formKey:processFormKeyParam[index]
-                           }
-                         repostCurd('add', JSON.stringify(obj))
-                         })
-                     })
-                     }
-                 })
-                //更新展示表
-                if(lhwtzsbID.length > 0){
-                  repostCurd('updates', '{"tableName":"t_lhwtzsb","paramWhere":['+lhwtzsbID+'],"paramCond":{"zhuang_tai_":"检测进行中"}}')
-                }
-                */
-            })
+                      })
+                      // console.log('样品登记表...',ypdjb)
+                      repostCurd('add', '{"tableName":"t_lhypdjb","paramWhere":' + JSON.stringify(ypdjb) + '}')
+                      
+                      
+                      /* 3、更新样品表  */
+                      // console.log('3、更新样品表',lhypIdNewList)
+                      repostCurd('updates', '{"tableName":"t_lhypb","paramWhere":[' + lhypIdNewList + '],"paramCond":{"jie_yang_zhuang_t":"已接收"}}')
+                      
+                      
   
+                      /* 4、任务分配 
+                          4-1、根据 wtdAndYpb 的 wtID 更改委托表的 委托状态 wei_tuo_zhuang_ta 变成 已完成
+                          4-2、根据每个样品一个任务分配流程 遍历样品表开任务分配流程
+                          4-3、委托表找zhan_shi_biao_id_ 修改  t_lhwtzsb "zhuang_tai_"为"任务分配进行中"
+                      */
+                      // console.log('4、更改委托表的 委托状态',lhwtbID)
+                      repostCurd('updates', '{"tableName":"t_lhwtsqb","paramWhere":[' + lhwtbID + '],"paramCond":{"wei_tuo_zhuang_ta":"已完成"}}')
+                      // console.log("4、任务分配",rws)
+                      repostCurd('add', '{"tableName":"t_lhrwfpb","paramWhere":'+JSON.stringify(rws)+',"defKey":"Process_04o0csc","formKey":"lhrwfp"}')
   
+                      /* 5、更新展示表  */
+                      if(lhwtzsbID.length > 0){
+                          // console.log('5、更新展示表',lhwtzsbID)
+                          repostCurd('updates', '{"tableName":"t_lhwtzsb","paramWhere":['+lhwtzsbID+'],"paramCond":{"zhuang_tai_":"任务分配进行中"}}')
+                      }
+                  })
+              })
+           })
+           // todo 让列表刷新
             this.$emit('callback', true)
             this.visable = false
             this.$message({
@@ -555,7 +382,6 @@ export default {
             this.closeDialog();
           }).catch(_ => {});
         }
-  
       },
     /* 去除指定行数据 使用过滤器filter过滤指定行号数据 */
     deleteData(val){
@@ -588,13 +414,64 @@ export default {
     	  return repostCurd('update',JSON.stringify(cont))
     	},
 
-    /* zzj add */
-     dateFormat() { // 获取当前时间
-        var date=new Date();
-        var year=date.getFullYear();
-        var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
-        var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate();
-        return year+"-"+month+"-"+day;
+    // 根据旧位置数据生成新位置数据
+    generateNewLocation(oldLocation,sampleInfo){
+        let temp = {
+            fang_jian_lei_xin : oldLocation.fang_jian_lei_xin,
+            wei_zhi_          : oldLocation.wei_zhi_,
+            qu_yu_            : oldLocation.qu_yu_,
+            huo_jia_lei_xing_ : oldLocation.huo_jia_lei_xing_,
+            huo_jia_hao_      : oldLocation.huo_jia_hao_,
+            ceng_hao_         : oldLocation.ceng_hao_,
+            shui_ping_fen_qu_ : oldLocation.shui_ping_fen_qu_,
+            wei_zhi_bian_hao_ : oldLocation.wei_zhi_bian_hao_,
+            wei_zhi_zhuang_ta : oldLocation.wei_zhi_zhuang_ta,
+            cun_chu_tiao_jian : oldLocation.cun_chu_tiao_jian,
+            shi_fou_guo_shen_ : '启用',
+            yang_pin_bian_hao : sampleInfo.yang_pin_bian_hao,
+            yang_pin_ming_che : sampleInfo.yang_pin_ming_che,
+            ru_ku_shi_jian_   : sampleInfo.ru_ku_shi_jian_,
+            shi_fou_liu_yang_ : sampleInfo.shi_fou_liu_yang_,
+            biao_zhi_uuid_    : sampleInfo.biao_zhi_uuid_
+        }
+        return temp 
+    },
+    handleLocationInfo(currentLocation,isLiuYang,localInfo,locationIds,item,UUID,currentTime){
+        !locationIds.has(currentLocation) ? locationIds.add(currentLocation) : localInfo.find(i => i.id_ === currentLocation).wei_zhi_zhuang_ta ='占用'
+        console.log(localInfo.find(i => i.id_ === currentLocation),currentLocation)
+        if(localInfo.find(i => i.id_ === currentLocation).wei_zhi_zhuang_ta ==='空余'){
+            let obj = {
+                where: {
+                    id_ : currentLocation
+                },
+                param: {
+                    wei_zhi_zhuang_ta : "占用",
+                    ru_ku_shi_jian_ : currentTime,
+                    yang_pin_bian_hao : item.yang_pin_bian_hao,
+                    yang_pin_ming_che : item.yang_pin_ming_che,
+                    shi_fou_liu_yang_ : isLiuYang
+                }
+            }
+            let result = {
+                name : 'emptyLocation',
+                value: obj
+            }
+            return result
+        }else{ // 新增一条位置信息(修改它的样品编号,样品名称,入库时间,标识UUID)
+            let sampleInfo = {
+                yang_pin_bian_hao : item.yang_pin_bian_hao,
+                yang_pin_ming_che : item.yang_pin_ming_che,
+                ru_ku_shi_jian_   : currentTime,
+                biao_zhi_uuid_    : UUID,
+                shi_fou_liu_yang_ : isLiuYang
+            }
+            let newLocation = this.generateNewLocation(localInfo.find(i => i.id_ === currentLocation),sampleInfo)
+            let result = {
+                name : 'fullLocation',
+                value: newLocation
+            }
+            return result
+        }
     },