|
|
@@ -0,0 +1,318 @@
|
|
|
+import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js'
|
|
|
+
|
|
|
+export default {
|
|
|
+ methods: {
|
|
|
+ /* 唤醒扫码 前端脚本直接调用
|
|
|
+ openRedar(type) {
|
|
|
+ this.redar = true // 扫码图标显示
|
|
|
+ this.visible = false // 结果列表,一开始为false
|
|
|
+ this.$refs.redarInput.focus(); // 聚焦input
|
|
|
+ this.listData = [] // 清空列表
|
|
|
+ console.log(888)
|
|
|
+ },*/
|
|
|
+ facilityData() {
|
|
|
+ // if (!id) return // 无参直接反
|
|
|
+ this.loadData()
|
|
|
+ //开始查询设备
|
|
|
+ // this.facilityId = ''
|
|
|
+ },
|
|
|
+ /* 获取数据 ,开始查阅记录 */
|
|
|
+ loadData() {
|
|
|
+ // 扫码扫到新数据,查询 回填展示
|
|
|
+ repostCurd('select','{"tableName": "t_mjypdjb","paramWhere":{"jie_yang_zhuang_t":"待确认"}}').then(response => {
|
|
|
+ if (response.variables.data && response.variables.data.length > 0) {
|
|
|
+ console.log(response.variables.data)
|
|
|
+ // response.variables.data[0].jie_yang_shu_lian = 1
|
|
|
+ for(let i in response.variables.data){
|
|
|
+ response.variables.data[i].jie_yang_shu_lian = 1
|
|
|
+ this.listData.push(response.variables.data[i])
|
|
|
+ this.OriginalPosition.push(response.variables.data[i].shi_fou_liu_yang_ == "是" ? response.variables.data[i].liu_yang_wei_zhi_ : response.variables.data[i].shou_yang_wei_zhi)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 列表失去焦点*/
|
|
|
+ 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 judge = true;
|
|
|
+ this.$confirm('请再次确认 [样品接收信息]').then(_ => {
|
|
|
+ // 获取样品列表
|
|
|
+ let ypInfoList = this_.listData
|
|
|
+ console.log(ypInfoList)
|
|
|
+
|
|
|
+ let dWhere = []
|
|
|
+ let ypbh = []
|
|
|
+ let cfwzIdList = [] // 放置 存放位置的ID
|
|
|
+ let uuidList = [] // 列表的UUID
|
|
|
+
|
|
|
+ let ypIdList = [] // 样品id列表,格式转好的
|
|
|
+ let ypWeiZhi = [] // 样品收样位置
|
|
|
+ let ypLiuYangWeiZhi = [] // 样品留样位置
|
|
|
+ let saoMaNumList = [] // 扫码确认数量列表
|
|
|
+ let jieYangQueRenZTList = [] // 接样状态列表
|
|
|
+
|
|
|
+ let ypbhList = [] // 样品编号列表
|
|
|
+ let mjypbList = [] // 明鉴样品表
|
|
|
+ let mjypbWJ = [] // 明鉴样品表外键
|
|
|
+
|
|
|
+ for(let yp in ypInfoList){
|
|
|
+ let cfwz = ''
|
|
|
+ if(ypInfoList[yp].jie_yang_shu_lian > ypInfoList[yp].shou_yang_shu_lia){
|
|
|
+ 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].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].shou_yang_wei_zhi != ''){
|
|
|
+ this_.$message.error("你要留样的话,就不要选收样存放位置!")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let isLy = ypInfoList[yp].liu_yang_wei_zhi_
|
|
|
+ if(isLy.substr(-2,isLy.length -1) == "占用" || isLy.substr(-2,isLy.length -1) == "空余"){
|
|
|
+ let sql = "select `id` from MJ_yp_position_status where positionAndStatus = '" + isLy + "' limit 1"
|
|
|
+ repostCurd('sql',sql).then(response=>{
|
|
|
+ cfwz = response.variables.data[0].id
|
|
|
+ ypInfoList[yp].liu_yang_wei_zhi_ = cfwz
|
|
|
+ console.log('?question time')
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ cfwz = ypInfoList[yp].liu_yang_wei_zhi_
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ if(ypInfoList[yp].shou_yang_wei_zhi == null || ypInfoList[yp].shou_yang_wei_zhi == ''){
|
|
|
+ this_.$message.error("你正常收样的话,样品存放位置不能为空哦!")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(ypInfoList[yp].liu_yang_wei_zhi_ != ''){
|
|
|
+ this_.$message.error("你正常收样的话,就不要选择留样存放位置!")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let isZC = ypInfoList[yp].shou_yang_wei_zhi
|
|
|
+ if(isZC.substr(-2,isZC.length -1) == "占用" || isZC.substr(-2,isZC.length -1) == "空余"){
|
|
|
+ let sql = "select `id` from MJ_yp_position_status where positionAndStatus = '" + isZC + "' limit 1"
|
|
|
+ repostCurd('sql',sql).then(response=>{
|
|
|
+ cfwz = response.variables.data[0].id
|
|
|
+ ypInfoList[yp].shou_yang_wei_zhi = cfwz
|
|
|
+ console.log('?question time')
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ cfwz = ypInfoList[yp].shou_yang_wei_zhi
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dWhere.push('{"id_":"' + cfwz + '"}')
|
|
|
+ ypbh.push(ypInfoList[yp].yang_pin_bian_hao)
|
|
|
+ uuidList.push(ypInfoList[yp].biao_zhi_uuid_)
|
|
|
+ cfwzIdList.push(cfwz)
|
|
|
+
|
|
|
+ ypIdList.push('{"id_":"' + ypInfoList[yp].id_ + '"}')
|
|
|
+ ypWeiZhi.push(ypInfoList[yp].shou_yang_wei_zhi) // 收样存放位置
|
|
|
+ ypLiuYangWeiZhi.push(ypInfoList[yp].liu_yang_wei_zhi_) // 留样存放位置
|
|
|
+ saoMaNumList.push(ypInfoList[yp].jie_yang_shu_lian) // 扫码数量
|
|
|
+ jieYangQueRenZTList.push(ypInfoList[yp].jie_yang_zhuang_t) // 接收确认状态
|
|
|
+
|
|
|
+ ypbhList.push('{"yang_pin_bian_hao":"' + ypInfoList[yp].yang_pin_bian_hao + '"}') // 样品编号列表
|
|
|
+ }
|
|
|
+ for(let index in ypIdList){
|
|
|
+ let WZtem = ypWeiZhi[index]==null?'':ypWeiZhi[index]
|
|
|
+ let LYWZtem = ypLiuYangWeiZhi[index]==null?'':ypLiuYangWeiZhi[index]
|
|
|
+ repostCurd('update','{"tableName":"t_mjypdjb","paramWhere":'+ypIdList[index]+',"paramCond":'+'{"shou_yang_wei_zhi":"'+WZtem+'","jie_yang_shu_lian":"'+saoMaNumList[index]+'","jie_yang_zhuang_t":"'+jieYangQueRenZTList[index]+'","liu_yang_wei_zhi_":"'+ LYWZtem + '"}}')
|
|
|
+ }
|
|
|
+ for(let num in dWhere){
|
|
|
+ if(this.OriginalPosition[num] != cfwzIdList[num]){
|
|
|
+ let sql = "select * from t_mjypcfwz where id_ = '" + cfwzIdList[num] + "'"
|
|
|
+ repostCurd('sql',sql).then(response=>{
|
|
|
+ let resArr = response.variables.data
|
|
|
+ if(resArr.length == 1){
|
|
|
+ if(resArr[0].wei_zhi_zhuang_ta == "空余"){
|
|
|
+ repostCurd('update','{"tableName":"t_mjypcfwz","paramWhere":'+dWhere[num]+',"paramCond":'+'{"wei_zhi_zhuang_ta":"占用","yang_pin_bian_hao":"'+ ypbh[num] + '","ru_ku_shi_jian_":"'+ this_.dateFormat() + '","shou_yang_ri_qi_":"'+ uuidList[num] + '"}}')
|
|
|
+ }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["huo_jia_lei_xing_"] = resArr[0].huo_jia_lei_xing_
|
|
|
+ cfNew["huo_jia_hao_"] = resArr[0].huo_jia_hao_
|
|
|
+ cfNew["qu_yu_"] = resArr[0].qu_yu_
|
|
|
+ cfNew["gua_jia_hao_"] = resArr[0].gua_jia_hao_
|
|
|
+ cfNew["ceng_hao_"] = resArr[0].ceng_hao_
|
|
|
+ cfNew["wei_zhi_bian_hao_"] = resArr[0].wei_zhi_bian_hao_
|
|
|
+ cfNew["wei_zhi_zhuang_ta"] = resArr[0].wei_zhi_zhuang_ta
|
|
|
+ cfNew["cun_fang_lei_xing"] = resArr[0].cun_fang_lei_xing
|
|
|
+ cfNew["cun_chu_tiao_jian"] = resArr[0].cun_chu_tiao_jian
|
|
|
+ cfNew["yang_pin_bian_hao"] = ypbh[num]
|
|
|
+ cfNew["ru_ku_shi_jian_"] = this_.dateFormat()
|
|
|
+ cfNew["shou_yang_ri_qi_"] = uuidList[num]
|
|
|
+ cfNewList.push(cfNew)
|
|
|
+ repostCurd('add','{"tableName":"t_mjypcfwz","paramWhere":'+JSON.stringify(cfNewList)+'}')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ repostCurd('selects','{"tableName":"t_mjypb","paramWhere":['+ypbhList+']}').then(response=>{
|
|
|
+ mjypbList = response.variables.data
|
|
|
+ let wjList = []
|
|
|
+ let wjAll = []
|
|
|
+ let wjAllList = []
|
|
|
+ for(let i in mjypbList){
|
|
|
+ wjList.push(mjypbList[i].wai_jian_)
|
|
|
+ wjAll.push(mjypbList[i].wai_jian_)
|
|
|
+ }
|
|
|
+ wjList = this_.unique(wjList)
|
|
|
+ for(let i in wjList){
|
|
|
+ mjypbWJ.push('{"id_":"' + wjList[i]+ '"}')
|
|
|
+ }
|
|
|
+ for(let i in wjAll){
|
|
|
+ wjAllList.push('{"id_":"' + wjAll[i]+ '"}')
|
|
|
+ }
|
|
|
+ repostCurd('updates','{"tableName":"t_mjwtsqb","paramWhere":['+mjypbWJ+'],"paramCond":{"zhuang_tai_":"委托结束"}}')
|
|
|
+ let mjwtsqbAllResult = []
|
|
|
+ let mjwtsqbIdList = []
|
|
|
+ for(let i in wjAllList){
|
|
|
+ repostCurd('select','{"tableName":"t_mjwtsqb","paramWhere":'+wjAllList[i]+'}').then(response=>{
|
|
|
+ mjwtsqbAllResult.push(response.variables.data[0])
|
|
|
+ mjwtsqbIdList.push('{"id_":"' + response.variables.data[0].id_ + '"}')
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ setTimeout(()=>{
|
|
|
+ let rwb = []
|
|
|
+ for(var i in mjypbList){
|
|
|
+ let str = mjypbList[i].jian_ce_xiang_mu2.split(",")
|
|
|
+ for(var p in str){
|
|
|
+ let rwzb = {}
|
|
|
+ let wz_ = ypInfoList[i].shi_fou_liu_yang_ == "是" ? ypInfoList[i].liu_yang_wei_zhi_ : ypInfoList[i].shou_yang_wei_zhi // 对应的样品存放位置
|
|
|
+ rwzb["jian_ce_xiang_mu_"] = str[p] // 取当前检测项目
|
|
|
+ rwzb["yang_pin_bian_hao"] = mjypbList[i].yang_pin_bian_hao // 取对应的样品编号
|
|
|
+ rwzb["yang_pin_ming_che"] = mjypbList[i].yang_pin_ming_che // 对应的样品名称
|
|
|
+ rwzb["yang_pin_dai_ci_"] = mjypbList[i].dai_ci_ // 对应的样品代次
|
|
|
+ rwzb["yang_pin_pi_hao_"] = mjypbList[i].pi_hao_ // 对应的样品批号
|
|
|
+ rwzb["yang_pin_shu_lian"] = mjypbList[i].shu_liang_ // 对应的样品数量
|
|
|
+ rwzb["bug_ri_qi_"] = mjypbList[i].song_yang_ri_qi_ // 对应的送样日期
|
|
|
+ rwzb["cun_fang_wei_zhi_"] = wz_
|
|
|
+ rwzb["wei_tuo_wai_jian_"] = mjypbList[i].wai_jian_ // 检测申请单id
|
|
|
+ rwzb["he_tong_wai_jian_"] = mjwtsqbAllResult[i].he_tong_bian_hao_ //合同id
|
|
|
+ rwzb["song_yang_ri_qi_"] = mjypbList[i].biao_zhi_uuid_ //收样日期
|
|
|
+ rwzb["wei_tuo_ren_"] = mjwtsqbAllResult[i].lian_xi_ren_ //委托人
|
|
|
+ rwzb["bao_gao_jian_ce_s"] = this_.dateFormat() //检测时间
|
|
|
+ rwzb["zhan_shi_biao_wai"] = mjwtsqbAllResult[i].ye_mian_zong_zhua
|
|
|
+ rwzb["zhuang_tai_"] = "任务待分配" // 状态
|
|
|
+ rwb.push(rwzb)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ repostCurd('updates', '{"tableName":"t_mjwtsqb","paramWhere":['+mjwtsqbIdList+'],"paramCond":{"jian_ce_kai_shi_s":"' + this_.dateFormat() + '"}}')
|
|
|
+ let uidList = []
|
|
|
+ for(let item of mjwtsqbAllResult){
|
|
|
+ uidList.push(item.ye_mian_zong_zhua)
|
|
|
+ }
|
|
|
+ uidList = this_.unique(uidList)
|
|
|
+ repostCurd('add', '{"tableName":"t_rwfpb","paramWhere":'+JSON.stringify(rwb)+',"defKey":"Process_04tgh24","formKey":"mjrwfp"}' )
|
|
|
+ if(uidList.length > 0 ){
|
|
|
+ let ups = []
|
|
|
+ for(let t of uidList){
|
|
|
+ ups.push('{"shen_qing_id_":"'+t+'"}')
|
|
|
+ }
|
|
|
+ repostCurd('updates', '{"tableName":"t_mjwtzsb","paramWhere":['+ups+'],"paramCond":{"zhuang_tai_":"任务分配进行中"}}')
|
|
|
+ }
|
|
|
+ },2000)
|
|
|
+ })
|
|
|
+ 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;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 提交数据
|
|
|
+ commitData(val){
|
|
|
+ for(let item of val) {
|
|
|
+ let dataWhere = [] //ajax的修改字段
|
|
|
+ dataWhere.push('{"tableName":"t_gdyrqcyp" + "," + "paramWhere":"id_:'+item.id_ +'" +","+ "shu_liang_":"'+ item.shu_liang_ +'" +","+ "lingYongRen":"' + item.ling_yong_ren_ + '" +","+ "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '" +","+ "sign":"out"}')
|
|
|
+ // dataWhere.push('{"yangPinBianHao":"'+ item.yang_pin_bian_hao +'" +","+ "lingYongRen":"' + item.ling_yong_ren_ + '" +","+ "cunFangWeiZhi":"' + item.cun_fang_wei_zhi_ + '" +","+ "shuLiang":"' + item.shu_liang_ + '"}')
|
|
|
+
|
|
|
+ // repostCurd('updateSample',"{data:'"+JSON.stringify(dataWhere)+"'}").then(response =>{
|
|
|
+ // console.log(response)
|
|
|
+ // })
|
|
|
+
|
|
|
+ // this.Update('t_gdyrqcyp',{"id_":item.id_},"{data:'"+JSON.stringify(dataWhere)+"'}").then(response => {
|
|
|
+ // this.$emit('callback', true)
|
|
|
+ // this.visible = false
|
|
|
+ // this.$message({
|
|
|
+ // message: '样品出库操作成功!',
|
|
|
+ // type: 'success'
|
|
|
+ // });
|
|
|
+ // })
|
|
|
+ }
|
|
|
+ },*/
|
|
|
+ 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();
|
|
|
+ var hours=date.getHours()<10 ? "0"+date.getHours() : date.getHours();
|
|
|
+ var minutes=date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
|
|
|
+ var seconds=date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
|
|
|
+ return year+"-"+month+"-"+day+" ";
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ /* 关闭*/
|
|
|
+ remRedar() {
|
|
|
+ this.visible = false // 列表隐藏
|
|
|
+ this.listData = [] // 清空列表数据
|
|
|
+ this.redar = false // 扫码图标隐藏
|
|
|
+ this.$emit('scanOff',false)
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+}
|