import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js' // import * as dayjs from 'dayjs' export default { props:{ obj:{ default: [], type:Array } }, methods: { facilityData(page) { if(this.obj.length > 0){ this.loadData(this.obj) }else{ this.loadDataBySQL(page) } }, /* 获取数据 ,开始查阅记录 */ loadData(obj) { let sql = `select ypb.*,sqb.chu_ju_bao_gao_ya from t_lhypb ypb join t_lhwtsqb sqb on ypb.parent_id_ = sqb.id_ and find_in_set(ypb.id_,'${obj}') and ypb.jie_yang_zhuang_t = '待接收' and ypb.shi_fou_guo_shen_ = '1'` repostCurd('sql',sql).then(response=>{ if (response.variables.data && response.variables.data.length > 0) { let temp = response.variables.data temp.forEach(item => { item.jie_yang_shu_lian = item.yang_pin_zong_shu item.jie_yang_zhuang_t = '已确认' 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_ ? 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 // temp[i].liu_yang_qi_xian = dayjs(temp[i].song_jian_shi_jia).add(3,'month').format("YYYY-MM-DD") // temp[i].xiao_hui_ri_qi_ = dayjs(temp[i].liu_yang_qi_xian).endOf('month').format("YYYY-MM-DD") }else{ this.handleEmptyData(); } }) }, loadDataBySQL(page) { // 扫码扫到新数据,查询 并分页 回填展示 let fysql = `select ypb.*,sqb.chu_ju_bao_gao_ya from t_lhypb ypb join t_lhwtsqb sqb on ypb.parent_id_ = sqb.id_ and ypb.jie_yang_zhuang_t = '待接收' and ypb.shi_fou_guo_shen_ = '1'` Promise.all([repostCurd('sql', fysql)]).then(([res]) => { this.listData = [] let temp = res.variables.data if (temp) { temp.forEach(item => { item.jie_yang_shu_lian = item.yang_pin_zong_shu item.jie_yang_zhuang_t = '已确认' 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_ ? 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{ this.handleEmptyList(); } }) }, handleEmptyData(){ this.$confirm('您所选择的样品还未到实验室现场,无法接样!').then(_ => { this.closeDialog(); }).catch(_ => {}); }, handleEmptyList(){ this.$confirm('目前暂无样品需要接样!').then(_ => { this.closeDialog(); }).catch(_ => {}); }, /* 列表失去焦点*/ handleChange() { this.$refs.redarInput.focus(); //聚焦input }, /* 关闭弹出列表框*/ closeDialog() { this.remRedar() //回传关闭事件。隐藏当前组件。 }, handleClose() { this.handleChange() this.$confirm('确认关闭样品列表页面?').then(_ => { this.closeDialog(); }).catch(_ => {}); }, submitData(type) { // this指针 let this_ = this; let changeWeiZhi; // 此处俩字段作用在下面 选择货位时出现重复位置 而重新更新样品登记表 收样位置|留样位置 let changesyWeiZhi; // 回传关闭事件。隐藏当前组件。 let judge = true; if (this_.listData.length == 0) { this.$emit('callback', true) this.visable = false this.$message({ message: '暂无样品待接收确认!', type: 'error' }) this.closeDialog(); } else { this.$confirm('请再次确认 [样品接收信息]').then(_ => { // 获取样品列表 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() for (let yp in ypInfoList) { //样品数据 let localArr = [] let cfwzObj = [] let cfwz = '' /* 校验: 1、样品数量 <= 确认数量 2、是否留样 => 填收样位置|留样位置 3、验收结果必填 4、如果留样 => 必填项:留样日期、留样数量、留样期限至、销毁日期 */ if (ypInfoList[yp].jie_yang_shu_lian > ypInfoList[yp].yang_pin_zong_shu) { this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 接收确认数量不得大于收样数量。') return; } if (ypInfoList[yp].jie_yang_zhuang_t == '未确认') { this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 接收确认状态必须为已确认。') return; } if (ypInfoList[yp].yan_shou_jie_guo_ == null || ypInfoList[yp].yan_shou_jie_guo_ == '') { this_.$message.error('操作失败,[' + ypInfoList[yp].yang_pin_ming_che + '] 验收结果不能为空!') return; } if (ypInfoList[yp].shi_fou_liu_yang_ == null || ypInfoList[yp].shi_fou_liu_yang_ == '') { 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) 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(',') } let value = '' let lhypIdStr = '' for(let i =0;i{ 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) 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 allUUIDStr = allUUID.filter(i => i).join(',') console.log(allUUIDStr) // 更新样品位置list console.log('emptyLocal:',this.emptyLocal) this.emptyLocal.forEach(it=>{ repostCurd('update', JSON.stringify(it)) }) // 插入样品位置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 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_ } } 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":"已接收"}}') /* 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_) // 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) 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(',') 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) } // 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, // todo 有问题 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王嘎嘎提出】 } rws.push(rw) lhwtzsbID.push('{"shen_qing_id_":"' + item.zhan_shi_biao_id_ + '"}') lhwtbID.push('{"id_":"' + item.wtID + '"}') }) // 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_":"任务分配进行中"}}') } }) }) }) this.$emit('callback', true) this.visable = false this.$message({ message: '样品接收确认操作成功!', type: 'success' }) this.closeDialog(); }).catch(_ => {}); } }, /* 去除指定行数据 使用过滤器filter过滤指定行号数据 */ deleteData(val) { this.listData = this.listData.filter((data) => { return data.id_ != val }) }, unique(arr) { return arr.filter((item, index) => { return arr.indexOf(item, 0) === index; }); }, uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return uuid; }, Update(name, where, cond) { let cont = {} cont['tableName'] = name cont['paramWhere'] = where 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 = { 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.currentTime, 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,'为占用') } 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 } this.emptyLocal.push(obj) }else{ // 新增一条位置信息(修改它的样品编号,样品名称,入库时间,标识UUID),insert后更新样品此位置id 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) 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) } }, /* 关闭*/ remRedar() { this.visible = false // 列表隐藏 this.listData = [] // 清空列表数据 this.redar = false // 扫码图标隐藏 this.$emit('scanOff', false) }, } }