| | |
| | | <template> |
| | | <view> |
| | | <view class="head"> |
| | | <z-input v-for="it in page" |
| | | :desc="it.title" |
| | | :name="it.name" |
| | | :btn="it.btn" |
| | | :btn-name="it.btnName" |
| | | v-model="it.val" |
| | | :index="it.id" |
| | | :lenCheck="it.lenCheck" |
| | | :focus="it.focus" |
| | | @inputVal='input2' |
| | | ></z-input> |
| | | <z-input :desc="input1.title" |
| | | :name="input1.name" |
| | | :btn="input1.btn" |
| | | :btn-name="input1.btnName" |
| | | v-model="barcode" |
| | | :index="input1.id" |
| | | :lenCheck="input1.lenCheck" |
| | | :focus="barcodeFocus" |
| | | @inputVal='barcodeInput' |
| | | /> |
| | | <z-input :desc="input2.title" |
| | | :name="input2.name" |
| | | :btn="input2.btn" |
| | | :btn-name="input2.btnName" |
| | | v-model="matnr" |
| | | :index="input2.id" |
| | | :lenCheck="input2.lenCheck" |
| | | :focus="matnrFocus" |
| | | @inputVal='matnrInput' |
| | | /> |
| | | </view> |
| | | |
| | | |
| | | <u-sticky > |
| | | <view class="sticky">商品列表</view> |
| | | <view class="sticky"> |
| | | <view class="flex1">开启键盘</view> |
| | | <view class="flex1">商品列表</view> |
| | | <view class="flex1"></view> |
| | | </view> |
| | | </u-sticky> |
| | | |
| | | <z-data-list class="data-list" |
| | | v-for="(it,i) in zDataList" |
| | | :key="i" |
| | | :list="it.detl" |
| | | :lable="lable" |
| | | :fields="it" |
| | | :index="i+1" |
| | | @goDetail='goDetail(it.detl,i)' |
| | | @goDetail='goDetail(it,i)' |
| | | ></z-data-list> |
| | | |
| | | <!-- 垫高 --> |
| | | <view style="height: 100rpx;"></view> |
| | | <view style="height: 100rpx;" /> |
| | | |
| | | <view class="z-floor"> |
| | | <view class="z-default" @click="clean">重置</view> |
| | | <view class="z-primary" @click="comb">组托</view> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | |
| | | <script> |
| | | import { mapState } from 'vuex' |
| | | import addMat from '@/pages/api/addMat.js' |
| | | import util from '@/static/js/util.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | zDataList: [ |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 1}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 2}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 3}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 4}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 5}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 1}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 2}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 3}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)5.2x25'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 4}, |
| | | ] |
| | | }, |
| | | { |
| | | detl: [ |
| | | {key: '商品码',value: 'LSH90152025',valText: 'val-text'}, |
| | | {key: '商品名称',value: '尼龙头(灰白)'}, |
| | | {key: '规格',value: '700*699*80'}, |
| | | {key: '批号',value: '20231007204944',type: 'input'}, |
| | | {key: '数量',value: 951326478,type: 'number-box',valText: 'val-num'}, |
| | | {key: '序号',value: 5}, |
| | | ] |
| | | } |
| | | ], |
| | | list: [ |
| | | {} |
| | | ] |
| | | zDataList: [], |
| | | barcode: '', |
| | | matnr: '', |
| | | inputCode: '托盘码', |
| | | barcodeFocus: true, |
| | | matnrFocus: false |
| | | } |
| | | }, |
| | | onShow() { |
| | | console.log(this.page); |
| | | // console.log(this.page); |
| | | }, |
| | | computed: mapState({ |
| | | page: state => state.project.menu[0].page.input |
| | | input1: state => state.project.menu[0].page.input[0], |
| | | input2: state => state.project.menu[0].page.input[1], |
| | | xInput: state => state.project.menu[0].page.input1, |
| | | lable: state => state.project.menu[0].page.lable |
| | | }), |
| | | methods: { |
| | | input2(arr) { |
| | | if(arr[1] == 'matnr') { |
| | | this.getMat(arr[0]) |
| | | barcodeInput(arr) { |
| | | this.barcodeFocus = false |
| | | setTimeout(()=>{ |
| | | this.matnrFocus = true |
| | | },10) |
| | | }, |
| | | matnrInput(arr) { |
| | | if(arr.title == 'matnr') { |
| | | this.getMat(arr.value) |
| | | } |
| | | }, |
| | | goDetail(param,index) { |
| | | let _this = this |
| | | uni.navigateTo({ |
| | | url: '/pages/common/data-list/dataDetail', |
| | | // 传 |
| | | success: function(data) { |
| | | data.eventChannel.emit('param', { |
| | | param: param, |
| | | index: index |
| | | }) |
| | | }, |
| | | // 接 |
| | | events: { |
| | | dataList: function(data) { |
| | | console.log(data); |
| | | }, |
| | | del: function(data) { |
| | | _this.zDataList.splice(data.data,1) |
| | | } |
| | | }, |
| | | }) |
| | | }, |
| | | // 获取物料 |
| | | async getMat(matnr) { |
| | | let mat = await addMat.addMat() |
| | | if (!addMat.isEmpty(mat)) { |
| | | this.zDataList.push(mat) |
| | | let res = await addMat.addMat(matnr) |
| | | if (res.code === 200 && res.data) { |
| | | this.matPick(res.data) |
| | | // res.data['count'] = 1 |
| | | // this.zDataList = util.matCheck(res.data,this.zDataList) |
| | | this.matnr = '' |
| | | } else if (res.code === 200 && !res.data) { |
| | | let msg = `${this.matnr} 物料异常,请重试` |
| | | uni.showToast({ title: msg, icon: "none", position: 'top' }) |
| | | } else if (res.code == 403) { |
| | | uni.showToast({ title: res.msg, icon: "none", position: 'top' }) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../../LoginDemo/LoginDemo' |
| | | }); |
| | | }, 1000); |
| | | } else { |
| | | uni.showToast({ title: res.msg, icon: "none", position: 'top' }) |
| | | } |
| | | }, |
| | | // 跳转物料提取页面 |
| | | matPick(mat) { |
| | | let _this = this |
| | | uni.navigateTo({ |
| | | url: '/pages/common/mat/matPick', |
| | | // 传 |
| | | success: function(data) { |
| | | data.eventChannel.emit('mat', { |
| | | mat: mat, |
| | | }) |
| | | }, |
| | | // 接 |
| | | events: { |
| | | matList: function(data) { |
| | | data.data['count'] = 1 |
| | | let newList = util.matCheck(data.data,_this.zDataList) |
| | | _this.zDataList = '' |
| | | _this.zDataList = newList |
| | | }, |
| | | }, |
| | | }) |
| | | }, |
| | | // 组托 |
| | | comb() { |
| | | console.log(this.barcode); |
| | | console.log(this.zDataList); |
| | | }, |
| | | clean() { |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .head { |
| | | background-color: #f8f8f8; |
| | | margin-top: -8px; |
| | | /* margin-top: -8px; */ |
| | | } |
| | | .sticky { |
| | | height: 70rpx; |
| | | margin-top: -8px; |
| | | box-shadow: 0px 4px 4px #e2e2e2; |
| | | text-align: center; |
| | | background-color: #f8f8f8; |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .flex1 { |
| | | flex: 1 |
| | | } |
| | | </style> |
| | | |