| pages.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/index/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/index/tab2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pages.json
@@ -2029,6 +2029,18 @@ "style": { "navigationBarTitleText": "设备点检统计分析" } }, { "path": "pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check", "style": { "navigationBarTitleText": "采购退料校验" } }, { "path": "pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check", "style": { "navigationBarTitleText": "委外退料校验" } } ], "tabBar": { pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check.vue
New file @@ -0,0 +1,1144 @@ <template> <view> <view class="form"> <view class="form-item"> <view class="title">条码:</view> <view class="right"> <input class="" :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)" /> </view> <uni-icons type="scan" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20" @click="toScanHBarCode()"></uni-icons> </view> <view class="form-item"> <view class="title">数量:</view> <view class="right"> <input v-model="hform.HQty" placeholder="请输入数量" /> </view> </view> <view class="form-item"> <view class="title">仓库:</view> <view class="right"> <uni-combox :candidates="arrayHWHName" placeholder="请选择仓库" v-model="hform.HWHName" @input="HWHNameChange"></uni-combox> </view> </view> <view class="form-item"> <view class="title">仓位:</view> <view class="right" v-show="true"> <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="请输入(或扫描)仓位" v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" @confirm="HStockPlaceNameScan"></uni-combox> </view> <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="不可操作" :disabled="!showHStockPlaceName" /></view> </view> <view class="tabs"> <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view> <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view> <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view> </view> <view v-if="tabs == 1"> <view class="form-item" v-show="showHBillNo"> <view class="title">单据号:</view> <view class="right" style="width: 380rpx;"> <input :focus="HBillNoFocus" name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码" @confirm="GetMeesageByBillNo(hform.HBarCode)" /> </view> <uni-icons type="scan" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20" @click="toScanCode"></uni-icons> </view> <view class="form-item" v-show="!showHBillNo"> <view class="title">单据号:</view> <view class="righton"> <input name="HBillNo" disabled v-model="hform.HBillNo" /> </view> </view> <view class="form-item"> <view class="title">单据ID:</view> <view class="righton"> <input name="HInterID" disabled v-model="hform.HInterID" /> </view> </view> <view class="form-item"> <view class="title">制单人:</view> <view class="righton"> <input name="HMaker" disabled v-model="hform.HMaker" /> </view> </view> <view class="form-item"> <view class="title">组织:</view> <view class="righton"> <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" /> </view> </view> <label class="checkbox"> <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />条码核对 </label> </view> <view v-if="tabs == 2"> <view class="list" v-for="(item,index) in Materlist" :key="index"> <uni-card :title="item.物料名称" :extra="'数量:'+item.数量" style="margin: 10px;" @tap="delMater(item)"> <view class="card-detail"> <view class="detail"> <text>单据数量:</text>{{item.单据数量}} </view> <view class="detail"> <text>物料代码:</text>{{item.物料代码}} </view> <view class="detail" v-if="item.规格型号"> <text>规格型号:</text>{{item.规格型号}} </view> <view class="detail"> <text>批号:</text>{{item.批号}} </view> <view class="detail" v-if="item.辅助属性"> <text>辅助属性:</text>{{item.辅助属性}} </view> <view class="detail"> <text>仓库:</text>{{item.仓库}} </view> <view class="detail"> <text>仓位:</text>{{item.仓位}} </view> <view class="detail"> <text>生产日期:</text>{{item.生产日期}} </view> <view class="detail"> <text>有效期至:</text>{{item.有效期至}} </view> <view class="detail"> <text>单据号:</text>{{item.单据号}} </view> <view class="detail"> <text>条码个数:</text>{{item.条码个数}} </view> </view> </uni-card> </view> <view class="over" v-if="Materlist.length == 0">暂无数据</view> </view> <view v-if="tabs == 3"> <view class="form-item"> <view class="title">条码:</view> <view class="righton"> <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" /> </view> </view> <view class="form-item"> <view class="title">物料:</view> <view class="righton"> <input disabled v-model="hform.HMaterName_B" /> </view> </view> <view class="form-item"> <view class="title">规格:</view> <view class="righton"> <input disabled v-model="hform.HMaterModel_B" /> </view> </view> <view class="form-item"> <view class="title">批次:</view> <view class="righton"> <input disabled v-model="hform.HBatchNo_B" /> </view> </view> <view class="form-item"> <view class="title">单位:</view> <view class="righton"> <input disabled v-model="hform.HUnitName_B" /> </view> </view> <view class="form-item"> <view class="title">数量:</view> <view class="righton"> <input disabled v-model="hform.HQty_B" /> </view> </view> <view class="form-item"> <view class="title">容量:</view> <view class="righton"> <input disabled v-model="hform.HTMQty_B" /> </view> </view> <view class="form-item"> <view class="title">仓库:</view> <view class="righton"> <input disabled v-model="hform.HWHName_B" /> </view> </view> <view class="form-item"> <view class="title">仓位:</view> <view class="righton"> <input disabled v-model="hform.HSPName_B" /> </view> </view> </view> <view class="bottom-btn"> <button class="btn-a" size="mini" @tap="submit">提交</button> <view style="flex: 1;"></view> <button class="btn-a" size="mini" @tap="addNew">新增</button> <button class="btn-c" size="mini" @tap="goBack">退出</button> </view> </view> </view> </template> <script> import getDateTime from '@/utils/getdateTime.js'; import { getUserInfo } from "@/utils/auth.js"; import { CommonUtils } from '../../utils/common'; export default { data() { return { userInfo: getUserInfo(), serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', HModName: 'Kf_POStockInBackBill_PDA', //已调整 ModRightName: 'Kf_POStockInBackBill_Check', //已调整 OperationType: 1, barCodeFocus: false, showHStockPlaceName: false, HBillNoFocus: false, showHBillNo: true, tabs: 1, linterid: '', HBillNo: '', arrayHWHName: [], //仓库 HWHNameList: [], arrayHStockPlaceName: [], //仓位 HStockPlaceNameList: [], Materlist: [], hform: { HBillType: 1239, //已调整 HBillerID: uni.getStorageSync('HBillerID'), HRedBlueFlag: false, HBarCode: '', HQty: '', HWHName: getUserInfo().HWHName, HWHID: getUserInfo().HWhID, HStockPlaceName: getUserInfo().HSPName, HStockPlaceID: getUserInfo().HSPID, HBillNo: '', HInterID: '', HMaker: uni.getStorageSync('HUserName'), HStockOrgName: uni.getStorageSync('Organization'), HStockOrgID: uni.getStorageSync('OrganizationID'), HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对) chkHBarflag: false, HBarflag: '', HBarCode_B: '', HMaterName_B: '', HMaterModel_B: '', HBatchNo_B: '', HUnitName_B: '', HQty_B: '', HTMQty_B: '', HWHName_B: '', HSPName_B: '', } } }, computed: { arrayHStockPlaceNameComputed: { get() { // 动态计算对应仓库的仓位 return this.HStockPlaceNameList .filter(e => e['所属仓库'] == this.hform.HWHName) .map(e => e['仓位名称']) } } }, onLoad(e) { console.log(e, this.userInfo) this.OperationType = e.OperationType if (e.HBillNo) { this.hform.HBillNo = e.HBillNo this.GetMeesageByBillNo(e.HBillNo) } else { this.refreshHBillState() } this.getHBaseList() }, methods: { //删除物料码 delMater(item) { uni.showModal({ title: '提示', content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!', success: (res) => { if (res.confirm) { uni.request({ url: this.serverUrl + '/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, HSourceInterID: item.HSourceInterID, HSourceEntryID: item.HSourceEntryID, HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl }, success: (res) => { if (res.data.count == 1) { this.DisBillEntryList() } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); } } }); }, // 获取仓位 async getStockPlaceRemote(HSPGroupID) { try { let res = await CommonUtils.doRequest2Async({ url: '/Gy_StockPlace/list', data: { sWhere: ` and HSPGroupID = ${HSPGroupID}`, user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, }) if (res.data.count == 1) { this.HStockPlaceNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 } } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } } catch (err) { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, async HStockPlaceNameScan(e) { // 扫描仓位码 console.log('Code: ', e); // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 this.hform.HStockPlaceID = 0 this.hform.HStockPlaceName = '' try { let res = await CommonUtils.doRequest2Async({ url: '/Gy_StockPlace/list', data: { sWhere: ` and 条码编号 = '${e}'`, user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, }) if (res.data.count == 1) { this.hform.HStockPlaceID = res.data.data[0].HMainID this.hform.HStockPlaceName = res.data.data[0].仓位名称 this.hform.HWHID = res.data.data[0].HWHID this.hform.HWHName = res.data.data[0].所属仓库 } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } } catch (err) { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, async refreshHBarCodeFocus() { this.HBarCodeFocus = false await this.$nextTick() this.hform.HBarCode = '' this.HBarCodeFocus = true }, async refreshHBillNoFocus() { this.HBillNoFocus = false await this.$nextTick(() => { this.HBillNoFocus = true this.hform.HBillNo = "" }) }, getHBaseList() { uni.request({ url: this.serverUrl + '/Gy_Warehouse/list', data: { sWhere: "", user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, success: (res) => { if (res.data.count == 1) { this.HWHNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHWHName[i] = res.data.data[i].仓库名称 } } else { uni.showToast({ title: '仓库数据请求失败', icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); uni.request({ url: this.serverUrl + '/Gy_StockPlace/list', data: { sWhere: "", user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, success: (res) => { if (res.data.count == 1) { this.HStockPlaceNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 } } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); }, //选择仓库 HWHNameChange(e) { // var name = e.split("(") for (var i = 0; i < this.HWHNameList.length; i++) { if (this.HWHNameList[i].仓库名称 == e) { this.hform.HWHName = this.HWHNameList[i].仓库名称 this.hform.HWHID = this.HWHNameList[i].HItemID this.HStockPlaceNameChange(null) this.showHStockPlaceName = false if (this.HWHNameList[i]['启用仓位'] == 'Y') { this.showHStockPlaceName = true this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"]) } } } }, //选择仓位 HStockPlaceNameChange(e) { for (var i = 0; i < this.HStockPlaceNameList.length; i++) { if (this.HStockPlaceNameList[i].仓位名称 == e) { this.hform.HStockPlaceName = this.HStockPlaceNameList[i].仓位名称 this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID } } }, async refreshBarCodeState() { this.barCodeFocus = false await this.$nextTick(() => { this.hform.HBarCode = "" this.barCodeFocus = true }) }, async refreshHBillState() { this.HBillNoFocus = false await this.$nextTick(() => { this.hform.HBillNo = "" this.HBillNoFocus = true }) }, playSound(e) { const innerAudioContext = uni.createInnerAudioContext(); if (e == 1) { innerAudioContext.src = '/static/success.wav'; } else { innerAudioContext.src = '/static/jingbao.wav'; } innerAudioContext.play(); // 播放音频 }, //扫码 toScanHBarCode() { var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") mpaasScanModule.mpaasScan({ 'hideAlbum': true, 'timeoutInterval': '10', //超时时间 'timeoutText': '未识别到二维码' //超时提醒 }, (ret) => { console.log(ret.resp_result) // if(this.hform.HBarCode == '*'){ // this.hform.HBarCode = this.hform.HBarCode + ret.resp_result // }else{ // this.hform.HBarCode = ret.resp_result // } this.hform.HBarCode = ret.resp_result // this.GetMeesageByBillNo(this.hform.HBarCode) this.getCode(this.hform.HBarCode) }) }, toScanCode() { var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") mpaasScanModule.mpaasScan({ 'hideAlbum': true, 'timeoutInterval': '10', //超时时间 'timeoutText': '未识别到二维码' //超时提醒 }, (ret) => { console.log(ret.resp_result) this.hform.HBillNo = ret.resp_result this.GetMeesageByBillNo(this.hform.HBillNo) }) }, //扫描单据号条码 async GetMeesageByBillNo(e) { if (this.hform.HBillNo == "" || this.hform.HBillNo == undefined) { return } try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/get_BillBarCode_BillCheck_Json', data: { HBillNo: this.hform.HBillNo, HBillType: this.hform.HBillType, HMaker: this.hform.HMaker, HStockOrgID: this.hform.HStockOrgID }, }) if (!res) { // 触发请求锁,不返回任何值 return } let { data, Message, count } = res.data if (count == 1) { CommonUtils.playSound(1) console.log(data) this.hform.HInterID = data.hInterIDField this.hform.HBillNo = data.hBillNoField this.showHBillNo = false //条码核对标记 if (data.hSourceBarCodeFlagField) { this.hform.HSourceBarCodeCtl = "Y" this.hform.chkHBarflag = true this.hform.HBarflag = data } this.tabs = 2 this.DisBillEntryList(); this.refreshHBarCodeFocus() } else { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: Message, icon: 'none' }) this.hform.HBillNo = '' } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } }, async getCode(HBarCode) { if (HBarCode == undefined || HBarCode == "") { return } //仓库、仓位文本框为空时,清空对应ID if (!this.hform.HWHName) { this.hform.HWHID = 0 } if (!this.hform.HStockPlaceName) { this.hform.HStockPlaceID = 0 } var sOldBarCode = HBarCode var HDeleteFlag = sOldBarCode.substring(0, 1); var sBarCode = sOldBarCode.slice(1); var sHWHID = this.hform.HWHID var sHSPID = this.hform.HStockPlaceID var sHQty = this.hform.HQty var sSourceBillNo = this.hform.HSourceBillNo var sSourceBillType = this.hform.HMainSourceBillType var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true console.log(this.hform.HSourceBillNo, HSourceFlag) if (HDeleteFlag == "*") { if (sBarCode == "") { CommonUtils.playSound(0) uni.showToast({ title: '请输入要删除的条码', icon: 'none' }) } else { try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, HBarCode: sBarCode }, }) if (!res) { // 请求被锁定,退出当前请求 return } console.log('删除条码', res.data); this.hform.HBarCode = '' if (res.data.count == 1) { this.hform.HQty = '' this.DisBillEntryList() } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } } else { var sBarCode = this.hform.HBarCode if (sHQty == "") { sHQty = 0; } try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/get_CheckTypeByBarCode_BillCheck_Json', data: { sBarCode: sBarCode, HBillID: this.hform.HInterID || 0, HBillType: this.hform.HBillType, HBillNo: this.hform.HBillNo, HMaker: this.hform.HMaker, HWhID: sHWHID, HSPID: sHSPID, HSCWHID: 0, HSCSPID: 0, HQty: sHQty, // HRedBlueFlag: this.hform.HRedBlueFlag, // SourceFlag: HSourceFlag, // HSourceBillNo: sSourceBillNo, // HSourceBillType: sSourceBillType, HStockOrgID: this.hform.HStockOrgID, // HScanStyle: "", // HCustom1: "", // HCustom2: "" }, }) if (!res) { return } console.log('扫码返回', res.data); this.hform.HBarCode = '' if (res.data.count == 1) { CommonUtils.playSound(1); var data = res.data.data if (data.hBarTypeField == '仓库条码') { this.hform.HWHName = data.hWhNameField this.hform.HWHID = data.hWhIDField this.hform.HStockPlaceName = '' this.hform.HStockPlaceID = 0 if (data.hSPFlagField == 0) { this.showHStockPlaceName = false } else { this.showHStockPlaceName = true } } else if (data.hBarTypeField == '仓位条码') { this.hform.HWHName = data.hWhNameField this.hform.HWHID = data.hWhIDField this.hform.HStockPlaceName = data.hSPNameField this.hform.HStockPlaceID = data.hSPIDField } else if (data.hBarTypeField == '部门条码') { this.hform.HDeptName = data.hDeptNameField this.hform.HDeptID = data.hDeptIDField this.tabs = 1 } else if (data.hBarTypeField == '源单条码') { this.hform.HSupName = data.hSupNameField this.hform.HSupID = data.hSupIDField if (data.hDeptIDField != 0) { this.hform.HDeptID = data.hDeptIDField this.hform.HDeptName = data.hDeptNameField } this.hform.HSourceBillNo = data.hSourceBillNoField //获取源单类型、源单单号 if (data.hSourceBillTypeField == "1103") { this.HMainSourceBillType = '收料通知单' this.hform.HMainSourceBillType = 1103 this.showHMainSourceBillType = false } else if (data.hSourceBillTypeField == "1102") { this.HMainSourceBillType = '采购订单' this.hform.HMainSourceBillType = 1102 this.showHMainSourceBillType = false } else { this.HMainSourceBillType = '手工录入' this.hform.HMainSourceBillType = -1 this.showHMainSourceBillType = false } if (data.hMulSourceFlagField == 0) { this.showHSourceBillNo = false } //供应商不可编辑 this.showHSupName = false this.tabs = 2 } else { //物料条码 this.tabs = 2 console.log('data', data) if (!this.hform.HSourceBillNo) { this.hform.HSupName = data.hSupNameField this.hform.HSupID = data.hSupIDField this.hform.HSourceBillNo = data.hSourceBillNoField if (data.hDeptIDField != 0) { this.hform.HDeptID = data.hDeptIDField this.hform.HDeptName = data.hDeptNameField } //获取源单类型、源单单号 this.hform.HMainSourceBillType = data.hSourceBillTypeField if (data.hSourceBillTypeField == "1103") { this.HMainSourceBillType = '收料通知单' this.hform.HMainSourceBillType = 1103 this.showHMainSourceBillType = false } else if (data.hSourceBillTypeField == "1102") { this.HMainSourceBillType = '采购订单' this.hform.HMainSourceBillType = 1102 this.showHMainSourceBillType = false } else { this.HMainSourceBillType = '手工录入' this.hform.HMainSourceBillType = -1 this.showHMainSourceBillType = false } if (data.hMulSourceFlagField == 0) { this.showHSourceBillNo = false } //供应商不可编辑 this.showHSupName = false } } //显示表体明细 this.DisBillEntryList() //清空数量 this.hform.HQty = '' } else { CommonUtils.playSound(0); uni.showToast({ title: res.data.Message, icon: 'none' }) } this.refreshHBarCodeFocus() } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } }, //物料信息 DisBillEntryList() { uni.request({ url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, sWhere: '', HSourceBarCodeCtl: this.hform.HSourceBarCodeCt }, success: (res) => { console.log('物料', res.data) if (res.data.count == 1) { var data = res.data.data this.Materlist = data.Materlist if (!data.BarCodeDetailslist[0].HBarCode) { this.hform.HMaterName_B = '' this.hform.HMaterModel_B = '' this.hform.HBatchNo_B = '' this.hform.HUnitName_B = '' this.hform.HQty_B = '' this.hform.HTMQty_B = '' this.hform.HWHName_B = '' this.hform.HSPName_B = '' } else { this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName this.hform.HQty_B = data.BarCodeDetailslist[0].HQty this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName } } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); }, addNew() { uni.redirectTo({ url: '/pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check?OperationType=1' }) }, async submit() { if (this.hform.HInterID == 0 || !this.hform.HInterID) { uni.showToast({ title: '没有扫码信息,请先扫描单据条码!', icon: 'none' }) } else if (!this.hform.HBillNo) { uni.showToast({ title: '单据号获取失败,错误的单据号!', icon: 'none' }) } else if (!this.Materlist || this.Materlist.length == 0) { uni.showToast({ title: '没有扫码信息,请先扫描条码,确认无误后再提交!', icon: 'none' }) } else { var s = 0; for (var i = 0; i < this.Materlist.length; i++) { if (this.Materlist[i].数量 > 0) { s = 1; } } if (s == 0) { uni.showToast({ title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!', icon: 'none' }) } else { uni.showLoading({ title: '请稍候' }) var sMainStr = JSON.stringify(this.hform); try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/set_SavePOStockInBackBill_BillCheck_Json', method: 'POST', data: { oMain: sMainStr }, }) if (!res) { return } console.log(1, res); uni.hideLoading() if (res.data.count == 1) { uni.showModal({ title: '提示', content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', success: (res) => { if (res.confirm) { console.log('用户点击确定'); uni.redirectTo({ url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBill?OperationType=1' }) } else if (res.cancel) { console.log('用户点击取消'); setTimeout(() => { uni.navigateBack(); }, 50) } } }); } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } } }, goBack() { uni.showModal({ title: '提示', content: '确认要退出当前页面吗?', success: (res) => { if (res.confirm) { console.log('用户点击确定'); uni.redirectTo({ url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBillList' }) } else if (res.cancel) { console.log('用户点击取消'); } } }); } } } </script> <style lang="scss" scoped> .form { width: 668rpx; margin: 20rpx auto; padding-bottom: 240rpx; } .tab_area { width: 100%; height: 50rpx; } .other { margin-top: 8rpx; text-align: center; font-size: 28rpx; padding: 4rpx 18rpx; color: #1890FF; } .tabs { width: 100%; display: flex; border-bottom: 1px solid #ddd; margin: 20rpx 0; view { // width: 25%; flex: 1; font-size: 30rpx; color: #555; text-align: center; padding: 16rpx 0; } .on { color: #3a78ff; font-weight: bold; border-bottom: 3px solid #3a78ff; } } .form-item { display: flex; align-items: center; font-size: 30rpx; padding: 6rpx 0; .title { width: 208rpx; text { color: red; font-weight: bold; } } .right { // width: 450rpx; flex: 1; border-radius: 22rpx; border: 1px solid #acacac; } .righton { // width: 450rpx; flex: 1; border-radius: 22rpx; border: 1px solid #e4e4e4; background-color: #e4e4e4; } input { width: inherit; padding: 8rpx 20rpx; font-size: 30rpx; } textarea { width: 98%; padding: 8rpx 20rpx; font-size: 30rpx; } } .bottom-btn { width: 100%; box-sizing: border-box; // height: 120rpx; position: fixed; bottom: 0; left: 0; background-color: #fff; box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4); padding: 30rpx 40rpx 40rpx 40rpx; display: flex; flex-direction: row; gap: 10rpx; button { border-radius: 50rpx; width: 180rpx; height: 66rpx; line-height: 66rpx; font-size: 28rpx; } .btn-a { background-color: #3A78FF; color: #fff; } .btn-b { background-color: #41a863; color: #fff; } .btn-c { background-color: #acacac; color: #fff; // position: absolute; // right: 120rpx; } .btn-d { background-color: #ff8901; color: #fff; } } .list { width: 100%; .card-detail { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; line-height: 120%; .detail { // width: 50%; font-size: 26rpx; margin-bottom: 12rpx; color: #555; margin-right: 20rpx; text { color: #999; font-size: 26rpx; } } } .more { color: #888; font-size: 24rpx; display: flex; border-top: 1px solid #eee; padding-top: 20rpx; .part { width: 50%; text-align: center; } } } .checkbox { color: #888; font-size: 28rpx; margin-top: 30rpx; float: right; } </style> pages/index/index.vue
@@ -416,7 +416,21 @@ "url": "/pages/Sc_PackUnionCarryUpBill/Sc_PackUnionCarryUpBill_Fast", "id": 47, "hidden": false } }, { img: '../../static/icon/icon17.png', text: '采购退料校验', url: '/pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check?OperationType=1', id: 48, hidden: false, }, { img: '../../static/icon/icon17.png', text: '委外退料校验', url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check?OperationType=1', id: 49, hidden: false, } ], } }, pages/index/tab2.vue
@@ -637,6 +637,7 @@ "id": 55, "hidden": false }, ] } }, pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check.vue
New file @@ -0,0 +1,1144 @@ <template> <view> <view class="form"> <view class="form-item"> <view class="title">条码:</view> <view class="right"> <input class="" :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)" /> </view> <uni-icons type="scan" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20" @click="toScanHBarCode()"></uni-icons> </view> <view class="form-item"> <view class="title">数量:</view> <view class="right"> <input v-model="hform.HQty" placeholder="请输入数量" /> </view> </view> <view class="form-item"> <view class="title">仓库:</view> <view class="right"> <uni-combox :candidates="arrayHWHName" placeholder="请选择仓库" v-model="hform.HWHName" @input="HWHNameChange"></uni-combox> </view> </view> <view class="form-item"> <view class="title">仓位:</view> <view class="right" v-show="true"> <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="请输入(或扫描)仓位" v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" @confirm="HStockPlaceNameScan"></uni-combox> </view> <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="不可操作" :disabled="!showHStockPlaceName" /></view> </view> <view class="tabs"> <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view> <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view> <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view> </view> <view v-if="tabs == 1"> <view class="form-item" v-show="showHBillNo"> <view class="title">单据号:</view> <view class="right" style="width: 380rpx;"> <input :focus="HBillNoFocus" name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码" @confirm="GetMeesageByBillNo(hform.HBarCode)" /> </view> <uni-icons type="scan" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20" @click="toScanCode"></uni-icons> </view> <view class="form-item" v-show="!showHBillNo"> <view class="title">单据号:</view> <view class="righton"> <input name="HBillNo" disabled v-model="hform.HBillNo" /> </view> </view> <view class="form-item"> <view class="title">单据ID:</view> <view class="righton"> <input name="HInterID" disabled v-model="hform.HInterID" /> </view> </view> <view class="form-item"> <view class="title">制单人:</view> <view class="righton"> <input name="HMaker" disabled v-model="hform.HMaker" /> </view> </view> <view class="form-item"> <view class="title">组织:</view> <view class="righton"> <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" /> </view> </view> <label class="checkbox"> <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />条码核对 </label> </view> <view v-if="tabs == 2"> <view class="list" v-for="(item,index) in Materlist" :key="index"> <uni-card :title="item.物料名称" :extra="'数量:'+item.数量" style="margin: 10px;" @tap="delMater(item)"> <view class="card-detail"> <view class="detail"> <text>单据数量:</text>{{item.单据数量}} </view> <view class="detail"> <text>物料代码:</text>{{item.物料代码}} </view> <view class="detail" v-if="item.规格型号"> <text>规格型号:</text>{{item.规格型号}} </view> <view class="detail"> <text>批号:</text>{{item.批号}} </view> <view class="detail" v-if="item.辅助属性"> <text>辅助属性:</text>{{item.辅助属性}} </view> <view class="detail"> <text>仓库:</text>{{item.仓库}} </view> <view class="detail"> <text>仓位:</text>{{item.仓位}} </view> <view class="detail"> <text>生产日期:</text>{{item.生产日期}} </view> <view class="detail"> <text>有效期至:</text>{{item.有效期至}} </view> <view class="detail"> <text>单据号:</text>{{item.单据号}} </view> <view class="detail"> <text>条码个数:</text>{{item.条码个数}} </view> </view> </uni-card> </view> <view class="over" v-if="Materlist.length == 0">暂无数据</view> </view> <view v-if="tabs == 3"> <view class="form-item"> <view class="title">条码:</view> <view class="righton"> <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" /> </view> </view> <view class="form-item"> <view class="title">物料:</view> <view class="righton"> <input disabled v-model="hform.HMaterName_B" /> </view> </view> <view class="form-item"> <view class="title">规格:</view> <view class="righton"> <input disabled v-model="hform.HMaterModel_B" /> </view> </view> <view class="form-item"> <view class="title">批次:</view> <view class="righton"> <input disabled v-model="hform.HBatchNo_B" /> </view> </view> <view class="form-item"> <view class="title">单位:</view> <view class="righton"> <input disabled v-model="hform.HUnitName_B" /> </view> </view> <view class="form-item"> <view class="title">数量:</view> <view class="righton"> <input disabled v-model="hform.HQty_B" /> </view> </view> <view class="form-item"> <view class="title">容量:</view> <view class="righton"> <input disabled v-model="hform.HTMQty_B" /> </view> </view> <view class="form-item"> <view class="title">仓库:</view> <view class="righton"> <input disabled v-model="hform.HWHName_B" /> </view> </view> <view class="form-item"> <view class="title">仓位:</view> <view class="righton"> <input disabled v-model="hform.HSPName_B" /> </view> </view> </view> <view class="bottom-btn"> <button class="btn-a" size="mini" @tap="submit">提交</button> <view style="flex: 1;"></view> <button class="btn-a" size="mini" @tap="addNew">新增</button> <button class="btn-c" size="mini" @tap="goBack">退出</button> </view> </view> </view> </template> <script> import getDateTime from '@/utils/getdateTime.js'; import { getUserInfo } from "@/utils/auth.js"; import { CommonUtils } from '../../utils/common'; export default { data() { return { userInfo: getUserInfo(), serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', HModName: 'Kf_POStockInBackBill_PDA', //已调整 ModRightName: 'Kf_POStockInBackBill_Check', //已调整 OperationType: 1, barCodeFocus: false, showHStockPlaceName: false, HBillNoFocus: false, showHBillNo: true, tabs: 1, linterid: '', HBillNo: '', arrayHWHName: [], //仓库 HWHNameList: [], arrayHStockPlaceName: [], //仓位 HStockPlaceNameList: [], Materlist: [], hform: { HBillType: 1238, //已调整 HBillerID: uni.getStorageSync('HBillerID'), HRedBlueFlag: false, HBarCode: '', HQty: '', HWHName: getUserInfo().HWHName, HWHID: getUserInfo().HWhID, HStockPlaceName: getUserInfo().HSPName, HStockPlaceID: getUserInfo().HSPID, HBillNo: '', HInterID: '', HMaker: uni.getStorageSync('HUserName'), HStockOrgName: uni.getStorageSync('Organization'), HStockOrgID: uni.getStorageSync('OrganizationID'), HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对) chkHBarflag: false, HBarflag: '', HBarCode_B: '', HMaterName_B: '', HMaterModel_B: '', HBatchNo_B: '', HUnitName_B: '', HQty_B: '', HTMQty_B: '', HWHName_B: '', HSPName_B: '', } } }, computed: { arrayHStockPlaceNameComputed: { get() { // 动态计算对应仓库的仓位 return this.HStockPlaceNameList .filter(e => e['所属仓库'] == this.hform.HWHName) .map(e => e['仓位名称']) } } }, onLoad(e) { console.log(e, this.userInfo) this.OperationType = e.OperationType if (e.HBillNo) { this.hform.HBillNo = e.HBillNo this.GetMeesageByBillNo(e.HBillNo) } else { this.refreshHBillState() } this.getHBaseList() }, methods: { //删除物料码 delMater(item) { uni.showModal({ title: '提示', content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!', success: (res) => { if (res.confirm) { uni.request({ url: this.serverUrl + '/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, HSourceInterID: item.HSourceInterID, HSourceEntryID: item.HSourceEntryID, HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl }, success: (res) => { if (res.data.count == 1) { this.DisBillEntryList() } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); } } }); }, // 获取仓位 async getStockPlaceRemote(HSPGroupID) { try { let res = await CommonUtils.doRequest2Async({ url: '/Gy_StockPlace/list', data: { sWhere: ` and HSPGroupID = ${HSPGroupID}`, user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, }) if (res.data.count == 1) { this.HStockPlaceNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 } } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } } catch (err) { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, async HStockPlaceNameScan(e) { // 扫描仓位码 console.log('Code: ', e); // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 this.hform.HStockPlaceID = 0 this.hform.HStockPlaceName = '' try { let res = await CommonUtils.doRequest2Async({ url: '/Gy_StockPlace/list', data: { sWhere: ` and 条码编号 = '${e}'`, user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, }) if (res.data.count == 1) { this.hform.HStockPlaceID = res.data.data[0].HMainID this.hform.HStockPlaceName = res.data.data[0].仓位名称 this.hform.HWHID = res.data.data[0].HWHID this.hform.HWHName = res.data.data[0].所属仓库 } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } } catch (err) { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, async refreshHBarCodeFocus() { this.HBarCodeFocus = false await this.$nextTick() this.hform.HBarCode = '' this.HBarCodeFocus = true }, async refreshHBillNoFocus() { this.HBillNoFocus = false await this.$nextTick(() => { this.HBillNoFocus = true this.hform.HBillNo = "" }) }, getHBaseList() { uni.request({ url: this.serverUrl + '/Gy_Warehouse/list', data: { sWhere: "", user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, success: (res) => { if (res.data.count == 1) { this.HWHNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHWHName[i] = res.data.data[i].仓库名称 } } else { uni.showToast({ title: '仓库数据请求失败', icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); uni.request({ url: this.serverUrl + '/Gy_StockPlace/list', data: { sWhere: "", user: uni.getStorageSync('HUserName'), Organization: uni.getStorageSync('Organization') }, success: (res) => { if (res.data.count == 1) { this.HStockPlaceNameList = res.data.data for (var i = 0; i < res.data.data.length; i++) { this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 } } else { uni.showToast({ title: '仓位数据请求失败', icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); }, //选择仓库 HWHNameChange(e) { // var name = e.split("(") for (var i = 0; i < this.HWHNameList.length; i++) { if (this.HWHNameList[i].仓库名称 == e) { this.hform.HWHName = this.HWHNameList[i].仓库名称 this.hform.HWHID = this.HWHNameList[i].HItemID this.HStockPlaceNameChange(null) this.showHStockPlaceName = false if (this.HWHNameList[i]['启用仓位'] == 'Y') { this.showHStockPlaceName = true this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"]) } } } }, //选择仓位 HStockPlaceNameChange(e) { for (var i = 0; i < this.HStockPlaceNameList.length; i++) { if (this.HStockPlaceNameList[i].仓位名称 == e) { this.hform.HStockPlaceName = this.HStockPlaceNameList[i].仓位名称 this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID } } }, async refreshBarCodeState() { this.barCodeFocus = false await this.$nextTick(() => { this.hform.HBarCode = "" this.barCodeFocus = true }) }, async refreshHBillState() { this.HBillNoFocus = false await this.$nextTick(() => { this.hform.HBillNo = "" this.HBillNoFocus = true }) }, playSound(e) { const innerAudioContext = uni.createInnerAudioContext(); if (e == 1) { innerAudioContext.src = '/static/success.wav'; } else { innerAudioContext.src = '/static/jingbao.wav'; } innerAudioContext.play(); // 播放音频 }, //扫码 toScanHBarCode() { var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") mpaasScanModule.mpaasScan({ 'hideAlbum': true, 'timeoutInterval': '10', //超时时间 'timeoutText': '未识别到二维码' //超时提醒 }, (ret) => { console.log(ret.resp_result) // if(this.hform.HBarCode == '*'){ // this.hform.HBarCode = this.hform.HBarCode + ret.resp_result // }else{ // this.hform.HBarCode = ret.resp_result // } this.hform.HBarCode = ret.resp_result // this.GetMeesageByBillNo(this.hform.HBarCode) this.getCode(this.hform.HBarCode) }) }, toScanCode() { var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") mpaasScanModule.mpaasScan({ 'hideAlbum': true, 'timeoutInterval': '10', //超时时间 'timeoutText': '未识别到二维码' //超时提醒 }, (ret) => { console.log(ret.resp_result) this.hform.HBillNo = ret.resp_result this.GetMeesageByBillNo(this.hform.HBillNo) }) }, //扫描单据号条码 async GetMeesageByBillNo(e) { if (this.hform.HBillNo == "" || this.hform.HBillNo == undefined) { return } try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/get_BillBarCode_BillCheck_Json', data: { HBillNo: this.hform.HBillNo, HBillType: this.hform.HBillType, HMaker: this.hform.HMaker, HStockOrgID: this.hform.HStockOrgID }, }) if (!res) { // 触发请求锁,不返回任何值 return } let { data, Message, count } = res.data if (count == 1) { CommonUtils.playSound(1) console.log(data) this.hform.HInterID = data.hInterIDField this.hform.HBillNo = data.hBillNoField this.showHBillNo = false //条码核对标记 if (data.hSourceBarCodeFlagField) { this.hform.HSourceBarCodeCtl = "Y" this.hform.chkHBarflag = true this.hform.HBarflag = data } this.tabs = 2 this.DisBillEntryList(); this.refreshHBarCodeFocus() } else { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: Message, icon: 'none' }) this.hform.HBillNo = '' } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } }, async getCode(HBarCode) { if (HBarCode == undefined || HBarCode == "") { return } //仓库、仓位文本框为空时,清空对应ID if (!this.hform.HWHName) { this.hform.HWHID = 0 } if (!this.hform.HStockPlaceName) { this.hform.HStockPlaceID = 0 } var sOldBarCode = HBarCode var HDeleteFlag = sOldBarCode.substring(0, 1); var sBarCode = sOldBarCode.slice(1); var sHWHID = this.hform.HWHID var sHSPID = this.hform.HStockPlaceID var sHQty = this.hform.HQty var sSourceBillNo = this.hform.HSourceBillNo var sSourceBillType = this.hform.HMainSourceBillType var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true console.log(this.hform.HSourceBillNo, HSourceFlag) if (HDeleteFlag == "*") { if (sBarCode == "") { CommonUtils.playSound(0) uni.showToast({ title: '请输入要删除的条码', icon: 'none' }) } else { try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, HBarCode: sBarCode }, }) if (!res) { // 请求被锁定,退出当前请求 return } console.log('删除条码', res.data); this.hform.HBarCode = '' if (res.data.count == 1) { this.hform.HQty = '' this.DisBillEntryList() } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } } else { var sBarCode = this.hform.HBarCode if (sHQty == "") { sHQty = 0; } try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/get_CheckTypeByBarCode_BillCheck_Json', data: { sBarCode: sBarCode, HBillID: this.hform.HInterID || 0, HBillType: this.hform.HBillType, HBillNo: this.hform.HBillNo, HMaker: this.hform.HMaker, HWhID: sHWHID, HSPID: sHSPID, HSCWHID: 0, HSCSPID: 0, HQty: sHQty, // HRedBlueFlag: this.hform.HRedBlueFlag, // SourceFlag: HSourceFlag, // HSourceBillNo: sSourceBillNo, // HSourceBillType: sSourceBillType, HStockOrgID: this.hform.HStockOrgID, // HScanStyle: "", // HCustom1: "", // HCustom2: "" }, }) if (!res) { return } console.log('扫码返回', res.data); this.hform.HBarCode = '' if (res.data.count == 1) { CommonUtils.playSound(1); var data = res.data.data if (data.hBarTypeField == '仓库条码') { this.hform.HWHName = data.hWhNameField this.hform.HWHID = data.hWhIDField this.hform.HStockPlaceName = '' this.hform.HStockPlaceID = 0 if (data.hSPFlagField == 0) { this.showHStockPlaceName = false } else { this.showHStockPlaceName = true } } else if (data.hBarTypeField == '仓位条码') { this.hform.HWHName = data.hWhNameField this.hform.HWHID = data.hWhIDField this.hform.HStockPlaceName = data.hSPNameField this.hform.HStockPlaceID = data.hSPIDField } else if (data.hBarTypeField == '部门条码') { this.hform.HDeptName = data.hDeptNameField this.hform.HDeptID = data.hDeptIDField this.tabs = 1 } else if (data.hBarTypeField == '源单条码') { this.hform.HSupName = data.hSupNameField this.hform.HSupID = data.hSupIDField if (data.hDeptIDField != 0) { this.hform.HDeptID = data.hDeptIDField this.hform.HDeptName = data.hDeptNameField } this.hform.HSourceBillNo = data.hSourceBillNoField //获取源单类型、源单单号 if (data.hSourceBillTypeField == "1103") { this.HMainSourceBillType = '收料通知单' this.hform.HMainSourceBillType = 1103 this.showHMainSourceBillType = false } else if (data.hSourceBillTypeField == "1102") { this.HMainSourceBillType = '采购订单' this.hform.HMainSourceBillType = 1102 this.showHMainSourceBillType = false } else { this.HMainSourceBillType = '手工录入' this.hform.HMainSourceBillType = -1 this.showHMainSourceBillType = false } if (data.hMulSourceFlagField == 0) { this.showHSourceBillNo = false } //供应商不可编辑 this.showHSupName = false this.tabs = 2 } else { //物料条码 this.tabs = 2 console.log('data', data) if (!this.hform.HSourceBillNo) { this.hform.HSupName = data.hSupNameField this.hform.HSupID = data.hSupIDField this.hform.HSourceBillNo = data.hSourceBillNoField if (data.hDeptIDField != 0) { this.hform.HDeptID = data.hDeptIDField this.hform.HDeptName = data.hDeptNameField } //获取源单类型、源单单号 this.hform.HMainSourceBillType = data.hSourceBillTypeField if (data.hSourceBillTypeField == "1103") { this.HMainSourceBillType = '收料通知单' this.hform.HMainSourceBillType = 1103 this.showHMainSourceBillType = false } else if (data.hSourceBillTypeField == "1102") { this.HMainSourceBillType = '采购订单' this.hform.HMainSourceBillType = 1102 this.showHMainSourceBillType = false } else { this.HMainSourceBillType = '手工录入' this.hform.HMainSourceBillType = -1 this.showHMainSourceBillType = false } if (data.hMulSourceFlagField == 0) { this.showHSourceBillNo = false } //供应商不可编辑 this.showHSupName = false } } //显示表体明细 this.DisBillEntryList() //清空数量 this.hform.HQty = '' } else { CommonUtils.playSound(0); uni.showToast({ title: res.data.Message, icon: 'none' }) } this.refreshHBarCodeFocus() } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } }, //物料信息 DisBillEntryList() { uni.request({ url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json', data: { HInterID: this.hform.HInterID, HBillType: this.hform.HBillType, sWhere: '', HSourceBarCodeCtl: this.hform.HSourceBarCodeCt }, success: (res) => { console.log('物料', res.data) if (res.data.count == 1) { var data = res.data.data this.Materlist = data.Materlist if (!data.BarCodeDetailslist[0].HBarCode) { this.hform.HMaterName_B = '' this.hform.HMaterModel_B = '' this.hform.HBatchNo_B = '' this.hform.HUnitName_B = '' this.hform.HQty_B = '' this.hform.HTMQty_B = '' this.hform.HWHName_B = '' this.hform.HSPName_B = '' } else { this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName this.hform.HQty_B = data.BarCodeDetailslist[0].HQty this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName } } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } }, fail: (res) => { console.log(res); uni.showToast({ title: '接口请求失败', icon: 'none' }) }, }); }, addNew() { uni.redirectTo({ url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBill?OperationType=1' }) }, async submit() { if (this.hform.HInterID == 0 || !this.hform.HInterID) { uni.showToast({ title: '没有扫码信息,请先扫描单据条码!', icon: 'none' }) } else if (!this.hform.HBillNo) { uni.showToast({ title: '单据号获取失败,错误的单据号!', icon: 'none' }) } else if (!this.Materlist || this.Materlist.length == 0) { uni.showToast({ title: '没有扫码信息,请先扫描条码,确认无误后再提交!', icon: 'none' }) } else { var s = 0; for (var i = 0; i < this.Materlist.length; i++) { if (this.Materlist[i].数量 > 0) { s = 1; } } if (s == 0) { uni.showToast({ title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!', icon: 'none' }) } else { uni.showLoading({ title: '请稍候' }) var sMainStr = JSON.stringify(this.hform); try { let res = await CommonUtils.doRequest2Sync({ url: '/WEBSController/set_SaveEntrustOutBackBill_BillCheck_Json', method: 'POST', data: { oMain: sMainStr }, }) if (!res) { return } console.log(1, res); uni.hideLoading() if (res.data.count == 1) { uni.showModal({ title: '提示', content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', success: (res) => { if (res.confirm) { console.log('用户点击确定'); uni.redirectTo({ url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check?OperationType=1' }) } else if (res.cancel) { console.log('用户点击取消'); setTimeout(() => { uni.navigateBack(); }, 50) } } }); } else { uni.showToast({ title: res.data.Message, icon: 'none' }) } } catch (e) { CommonUtils.playSound(0) this.refreshHBillNoFocus() uni.showToast({ title: '接口请求失败: ' + e, icon: 'none' }) } } } }, goBack() { uni.showModal({ title: '提示', content: '确认要退出当前页面吗?', success: (res) => { if (res.confirm) { console.log('用户点击确定'); uni.redirectTo({ url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBillList' }) } else if (res.cancel) { console.log('用户点击取消'); } } }); } } } </script> <style lang="scss" scoped> .form { width: 668rpx; margin: 20rpx auto; padding-bottom: 240rpx; } .tab_area { width: 100%; height: 50rpx; } .other { margin-top: 8rpx; text-align: center; font-size: 28rpx; padding: 4rpx 18rpx; color: #1890FF; } .tabs { width: 100%; display: flex; border-bottom: 1px solid #ddd; margin: 20rpx 0; view { // width: 25%; flex: 1; font-size: 30rpx; color: #555; text-align: center; padding: 16rpx 0; } .on { color: #3a78ff; font-weight: bold; border-bottom: 3px solid #3a78ff; } } .form-item { display: flex; align-items: center; font-size: 30rpx; padding: 6rpx 0; .title { width: 208rpx; text { color: red; font-weight: bold; } } .right { // width: 450rpx; flex: 1; border-radius: 22rpx; border: 1px solid #acacac; } .righton { // width: 450rpx; flex: 1; border-radius: 22rpx; border: 1px solid #e4e4e4; background-color: #e4e4e4; } input { width: inherit; padding: 8rpx 20rpx; font-size: 30rpx; } textarea { width: 98%; padding: 8rpx 20rpx; font-size: 30rpx; } } .bottom-btn { width: 100%; box-sizing: border-box; // height: 120rpx; position: fixed; bottom: 0; left: 0; background-color: #fff; box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4); padding: 30rpx 40rpx 40rpx 40rpx; display: flex; flex-direction: row; gap: 10rpx; button { border-radius: 50rpx; width: 180rpx; height: 66rpx; line-height: 66rpx; font-size: 28rpx; } .btn-a { background-color: #3A78FF; color: #fff; } .btn-b { background-color: #41a863; color: #fff; } .btn-c { background-color: #acacac; color: #fff; // position: absolute; // right: 120rpx; } .btn-d { background-color: #ff8901; color: #fff; } } .list { width: 100%; .card-detail { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; line-height: 120%; .detail { // width: 50%; font-size: 26rpx; margin-bottom: 12rpx; color: #555; margin-right: 20rpx; text { color: #999; font-size: 26rpx; } } } .more { color: #888; font-size: 24rpx; display: flex; border-top: 1px solid #eee; padding-top: 20rpx; .part { width: 50%; text-align: center; } } } .checkbox { color: #888; font-size: 28rpx; margin-top: 30rpx; float: right; } </style>