| | |
| | | <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+补充</text></button> |
| | | |
| | | </view> |
| | | <!-- <view class="cu-form-group margin-top"> |
| | | <view> |
| | | 出库口 |
| | | </view> |
| | | <view class="uni-list-cell-db"> |
| | | <picker @change="bindPickerChange" :value="index" :range="array" range-key="name"> |
| | | <view class="uni-input">{{array[index]}}</view> |
| | | </picker> |
| | | </view> |
| | | <view> |
| | | <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+补充</text></button> |
| | | </view> |
| | | </view> --> |
| | | <view class="margin-top"> |
| | | <uni-table border stripe emptyText="暂无更多数据"> |
| | | <uni-tr> |
| | | <uni-th width="50">数量</uni-th> |
| | | <uni-th width="100">产品ID</uni-th> |
| | | <uni-th width="80">数量</uni-th> |
| | | <uni-th width="100">产品编码</uni-th> |
| | | <uni-th width="100">产品名称</uni-th> |
| | | <uni-th width="100">产品批号</uni-th> |
| | | <uni-th width="100">库位</uni-th> |
| | | <uni-th width="100">确认数量</uni-th> |
| | | <uni-th width="200">确认数量</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item, index) in locDetlData" :key="index"> |
| | | <uni-td>{{item.count}}</uni-td> |
| | | <uni-td>{{item.matNo}}</uni-td> |
| | | <uni-td>{{item.matName}}</uni-td> |
| | | <uni-td>{{item.itemBatch}}</uni-td> |
| | | <uni-td>{{item.locNo}}</uni-td> |
| | | <uni-td align="center"> |
| | | <button class="uni-button" size="mini" type="primary" @click="conf(index,item)">修改</button> |
| | |
| | | </uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | |
| | | </view> |
| | | <view> |
| | | <button class="cu-btn bg-yellow pda-btn" @click="check">确 认</button> |
| | |
| | | </view> |
| | | <view class="cu-form-group margin-top"> |
| | | <text class="title">规格型号</text> |
| | | <input type="text" name="input" autocomplete="off" v-model="specs"> |
| | | <input type="text" name="input" autocomplete="off" v-model="size"> |
| | | </view> |
| | | <view class="cu-form-group margin-top"> |
| | | <text class="title">单位</text> |
| | |
| | | </view> |
| | | <view class="cu-form-group margin-top"> |
| | | <text class="title">数量</text> |
| | | <uni-number-box @change="countDom" v-model="count" /> |
| | | <uni-number-box :min="0" :max="999" @change="countDom" v-model="count" /> |
| | | </view> |
| | | <button class="cu-btn bg-yellow pda-btn2" @click="confirm">补充</button> |
| | | |
| | | <button class="cu-btn bg-yellow pda-btn2" @click="confirm">提取</button> |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | |
| | | <view> |
| | | <!-- 输入框示例 --> |
| | | <uni-popup ref="inputDialog" type="dialog"> |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="组托数量" |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="产品数量" |
| | | placeholder="请输入组托数量" @confirm="dialogInputConfirm"> |
| | | <uni-number-box :min="minCount" :max="maxCount" v-model="value" /> |
| | | </uni-popup-dialog> |
| | | |
| | | <uni-number-box :min="0" :max="999" v-model="value" /> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | <!-- <view> |
| | | <view class="uni-padding-wrap uni-common-mt"> |
| | | <view class="uni-btn-v"> |
| | | <button type="default" @tap="noTitlemodalTap">无标题的modal</button> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | msgType: '', |
| | | messageText: '', |
| | | matBtn:'', |
| | | souceData:[], |
| | | locDetlData:[], // 表格数据 |
| | | souceData:[], // 初始化表格数据记录 |
| | | locDetlData:[], |
| | | matNo:'', |
| | | matName:'', |
| | | specs:'', |
| | | size:'', |
| | | unit:'', |
| | | count:'0', |
| | | count:0, |
| | | type: '', |
| | | msgType:'', |
| | | messageText:'', |
| | | baseIP:'', |
| | | outlet:'', |
| | | checkList:[], |
| | | sourceList:[], |
| | | minCount:0, |
| | | maxCount:1, |
| | | billNo:'', |
| | | matData:[], |
| | | rowNum:'', |
| | | value:'', |
| | | value:'0', |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | } |
| | | let barCode = that.billNo |
| | | // 赋值前清空表格 |
| | | that.locDetlData = [] // 初始化表格数据 |
| | | that.locDetlData = [] |
| | | uni.request({ |
| | | url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/check/queryMatFromBarCode?barCode=" + barCode, |
| | | header: { |
| | |
| | | }, |
| | | method:'GET', |
| | | success(res) { |
| | | console.log(res) |
| | | if (res.data.code === 200) { |
| | | that.locDetlData = res.data.data |
| | | if (res.data.data && res.data.data.length > 0) { |
| | |
| | | method: 'POST', |
| | | success(res){ |
| | | let data = res.data.data |
| | | |
| | | if(res.data.code === 200){ |
| | | if(data != null){ |
| | | that.matName = data.matName |
| | | that.specs = data.specs |
| | | that.size = data.size |
| | | that.unit = data.unit |
| | | } |
| | | } else if (res.data.code ===403 ){ |
| | |
| | | |
| | | }, |
| | | // 修改数量 |
| | | conf(){ |
| | | conf(index,item){ |
| | | this.$refs.inputDialog.open() |
| | | this.maxCount = item.count |
| | | this.rowNum = index |
| | | this.value = this.maxCount |
| | | if (item.count === undefined ) { |
| | | this.value = 0 |
| | | } |
| | | }, |
| | | // 修改数量弹窗 |
| | | dialogInputConfirm() { |
| | | this.locDetlData[this.rowNum].count = this.value |
| | | this.messageToggle('success') |
| | | this.messageText = '修改成功' |
| | | dialogInputConfirm(value) { |
| | | this.locDetlData[this.rowNum].count = this.value |
| | | this.messageToggle('success') |
| | | this.messageText = '修改成功' |
| | | }, |
| | | // 移除物料 |
| | | remove(index,item){ |
| | |
| | | this.messageToggle('success') |
| | | this.messageText = '删除成功' |
| | | }, |
| | | // 补充的数据添加到总数据中 |
| | | // 表格渲染 |
| | | addTableData(data){ |
| | | let that = this |
| | | console.log(data.matNo.length) |
| | | if(data.matNo.length === 0){ |
| | | that.messageToggle('error') |
| | | that.messageText = '补充失败' |
| | | that.messageText = '提取失败' |
| | | return |
| | | } |
| | | var toPush = true |
| | | for (var j = 0; j < this.locDetlData.length; j++) { |
| | | if (data.matNo === this.locDetlData[j].matNo && data.locNo === this.locDetlData[j].locNo) { |
| | | for (var j = 0; j < that.locDetlData.length; j++) { |
| | | if (data.matNo === that.locDetlData[j].matNo && data.locNo === that.locDetlData[j].locNo) { |
| | | toPush = false; |
| | | } |
| | | } |
| | | if (toPush) { |
| | | var pushData = { |
| | | locNo: this.locDetlData[0] ? this.locDetlData[0].locNo : null, |
| | | locNo: that.locDetlData[0] ? that.locDetlData[0].locNo : null, |
| | | matNo: data.matNo, |
| | | count: data.count, |
| | | matName: data.matName |
| | | } |
| | | locDetlData.push(pushData); |
| | | that.locDetlData.push(pushData); |
| | | } |
| | | this.$refs.popup.close() |
| | | |
| | | that.$refs.popup.close() |
| | | }, |
| | | // 重置 |
| | | reset(){ |
| | | this.billNo = '' |
| | | this.addTableData() |
| | | this.locDetlData = [] |
| | | }, |
| | | check(){ |
| | | if(this.souceData.length === 0) { |
| | | this.messageToggle('error') |
| | | this.messageText = '站点无货,无法盘点' |
| | | let that = this |
| | | if(that.billNo.length === 0) { |
| | | that.messageToggle('error') |
| | | that.messageText = '请 扫码 / 输入 托盘码' |
| | | return |
| | | } |
| | | if(this.locDetlData.length > 0) { |
| | | if(that.billNo.length < 8) { |
| | | that.messageToggle('error') |
| | | that.messageText = '托盘码必须为8位' |
| | | return |
| | | } |
| | | if(that.locDetlData.length > 0) { |
| | | for(var i = 0; i < that.locDetlData.length; i++){ |
| | | if (that.locDetlData[i].count === null || that.locDetlData[i].count === 0 || |
| | | that.locDetlData[i].count === undefined) { |
| | | this.messageToggle('error') |
| | | this.messageText = that.locDetlData[i].matNo + '商品数量错误' |
| | | that.messageToggle('error') |
| | | that.messageText = that.locDetlData[i].matNo + '商品数量错误' |
| | | return |
| | | } |
| | | } |
| | | } |
| | | if (this.locDetlData.length > 0) { |
| | | this.locDetlData.map(function (item) { |
| | | this.checkList.push({ |
| | | if (that.locDetlData.length > 0) { |
| | | that.locDetlData.map(function (item) { |
| | | that.checkList.push({ |
| | | locNo: item.locNo, |
| | | matNo: item.matNo, |
| | | checkQty: item.count |
| | | checkQty: item.count, |
| | | itemBatch: item.itemBatch |
| | | }); |
| | | }); |
| | | } |
| | | if (this.souceData.length > 0) { |
| | | this.souceData.map(function (item) { |
| | | this.sourceList.push({ |
| | | if (that.souceData.length > 0) { |
| | | that.souceData.map(function (item) { |
| | | that.sourceList.push({ |
| | | locNo: item.locNo, |
| | | matNo: item.matNo, |
| | | count: item.count |
| | | count: item.count, |
| | | itemBatch: item.itemBatch |
| | | }); |
| | | }); |
| | | } |
| | | // this.noTitlemodalTap() |
| | | uni.request({ |
| | | url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/stock/check", |
| | | header: { |
| | | 'token':uni.getStorageSync('token') |
| | | }, |
| | | data: JSON.stringify({ |
| | | checkList: this.checkList |
| | | checkList: that.checkList |
| | | }), |
| | | method:'POST', |
| | | async:false, |
| | | success(res){ |
| | | if(res.data.code === 200){ |
| | | this.reset(); |
| | | this.messageToggle('success') |
| | | this.messageText = '盘点成功' |
| | | that.reset(); |
| | | that.messageToggle('success') |
| | | that.messageText = '盘点成功' |
| | | } else if (res.data.code === 403) { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }) |
| | | } else { |
| | | this.messageToggle('error') |
| | | this.messageText = res.data.msg |
| | | that.messageToggle('error') |
| | | that.messageText = res.data.msg |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | noTitlemodalTap: function (e) { |
| | | uni.showModal({ |
| | | content: "是否确认盘点", |
| | | confirmText: "是", |
| | | cancelText: "否" |
| | | }) |
| | | |
| | | } |
| | | } |
| | | } |