| | |
| | | { |
| | | return Service.GetStockOutboundOrder(saveModel); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ£é宿 |
| | | /// </summary> |
| | | /// <param name="palletCode"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("MaterialPick"), AllowAnonymous] |
| | | public WebResponseContent MaterialPick(string palletCode) |
| | | { |
| | |
| | | }, |
| | | |
| | | { |
| | | "path": "pages/stash/printingink/index", |
| | | "path": "pages/stash/index", |
| | | "style": { |
| | | "navigationBarTitleText": "油墨ä»", |
| | | "navigationBarTitleText": "åè½", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | "path": "pages/stash/inboundorder", |
| | | "style": { |
| | | "navigationBarTitleText": "ç»ç", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/stash/raworderboxing", |
| | | "style": { |
| | | "navigationBarTitleText": "ç»çå
¥åº", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/receiveorder/receiveorder", |
| | | "path": "pages/stash/receiveorder", |
| | | "style": { |
| | | "navigationBarTitleText": "æ¶è´§", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/stash/receiveorderoutbound", |
| | | "style": { |
| | | "navigationBarTitleText": "æ¶è´§å", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | "path": "pages/raworderboxing/inboundorder", |
| | | "style": { |
| | | "navigationBarTitleText": "å
¥åºè®¢å", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/raworderboxing/raworderboxing", |
| | | "style": { |
| | | "navigationBarTitleText": "ç»ç", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | //çäº§é¢æå(ä»åºæå¨å¤æ) |
| | | { |
| | | "path": "pages/receiveorder/receiveorder", |
| | | "style": { |
| | | "navigationBarTitleText": "æ¶è´§å", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/receiveorder/receiveorderoutbound", |
| | | "style": { |
| | | "navigationBarTitleText": "æ¶è´§å", |
| | | "enablePullDownRefresh": false |
| | |
| | | <view class="" slot="body"> |
| | | <!-- <view v-for="(item,index) in tree" :key="item.id"> --> |
| | | <u-grid :col="3"> |
| | | <u-grid-item @tap="clickCoupon(item.url,item.menuId,item.description)" v-for="(item) in tree" |
| | | <u-grid-item @tap="clickCoupon(item.url,item.menuId,item.description,item.menuName)" v-for="(item) in tree" |
| | | :key="item.menuId"> |
| | | <u-icon name="home" :size="50"></u-icon> |
| | | <view class="grid-text">{{item.menuName}}</view> |
| | |
| | | // return true; |
| | | return this.datas.find(x => x.text == text); |
| | | }, |
| | | clickCoupon(url, menuid, warehouseid) { |
| | | clickCoupon(url, menuid, warehouseid, menuname) { |
| | | // console.log("clickCoupon") |
| | | if (this.hasLogin()) { |
| | | this.$u.route({ |
| | | url: url, |
| | | params: { |
| | | menuId: menuid, |
| | | warehouseId: warehouseid |
| | | warehouseId: warehouseid, |
| | | menuName: menuname |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | | <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> |
| | | <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list-item> --> |
| | | <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="item.sn"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | |
| | | @click="deleteList(item.sn)"> |
| | | </uni-icons> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">订åå·ï¼{{item.orderNo}}</view> |
| | | <view class="uni-note">ç©æç¼ç ï¼{{item.matCode}}</view> |
| | | <view class="uni-note">æ°éï¼{{item.matQty}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">éè´åå·ï¼{{item.purchaseOrderNo}}</view> |
| | | <view class="uni-note">ç©æç¼ç ï¼{{item.materielCode}}</view> |
| | | <view class="uni-note">æ¹æ¬¡å·ï¼{{item.lotNo}}</view> |
| | | <view class="uni-note">æ°éï¼{{item.quantity}}</view> |
| | | <view class="uni-note">çäº§æ¥æï¼{{item.productionDate}}</view> |
| | | <view class="uni-note">æææï¼{{item.effectiveDate}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | items: ['ç»ç', 'å
¥åº', 'åæ®ä¿¡æ¯'],//, 'è§£ç' |
| | | items: ['ç»ç', 'å
¥åº', 'åæ®ä¿¡æ¯'], //, 'è§£ç' |
| | | current: 0, |
| | | matTotal: [], |
| | | matInfos: [], |
| | |
| | | value: "", |
| | | matInfo: [], |
| | | value2: "", |
| | | matTotals:[] |
| | | matTotals: [], |
| | | warehouseId:"" |
| | | } |
| | | }, |
| | | onShow() {}, |
| | |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | this.orderNo = res.orderNo; |
| | | this.warehouseId=res.warehouseId; |
| | | this.label = "åæ®ç¼å·ï¼" + this.orderNo; |
| | | this.getData(); |
| | | }, |
| | |
| | | innerAudioContext.play(); |
| | | }, |
| | | //è§£ç |
| | | releasebox(){ |
| | | releasebox() { |
| | | if (this.value.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "请æ«ç ", |
| | |
| | | } |
| | | }) |
| | | }, |
| | | releaseboxInput(){ |
| | | releaseboxInput() { |
| | | this.$nextTick(() => { |
| | | if (this.value.length == 0) { |
| | | return; |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | updateFocus() { |
| | | this.$nextTick(() => { |
| | | this.materSn = ''; |
| | |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode.length > 0) { |
| | | // if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') { |
| | | this.focus = true; |
| | | this.focus = true; |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç é误,è¯·æ«ææçç ", |
| | |
| | | setTimeout(() => { |
| | | this.materSn = ""; |
| | | }, 10); |
| | | var matInfo = matSn.split('|'); |
| | | |
| | | if (matInfo.length == 7) { |
| | | var matObj = { |
| | | matCode: matInfo[1], |
| | | matProductionDate: matInfo[3], |
| | | matQty: matInfo[5], |
| | | orderNo: matInfo[6], |
| | | sn: matSn |
| | | } |
| | | var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo); |
| | | if (!temp) { |
| | | var tmp = this.matTotal.find(x => x.matCode == matObj.matCode); |
| | | if (!tmp) { |
| | | this.matTotal.push({ |
| | | matCode: matObj.matCode, |
| | | matQuantity: parseInt(matObj.matQty) |
| | | this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => { |
| | | if (res.status) { |
| | | // debugger |
| | | // this.matTotal.push({ |
| | | // matCode: res.data.materielCode, |
| | | // matQuantity: parseInt(res.data.quantity) |
| | | // }); |
| | | // this.sns.push(res.data.serialNumber); |
| | | |
| | | this.matInfos.splice(0, this.matInfos.length); |
| | | this.matInfos.push(res.data); |
| | | if (res.message) { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } else { |
| | | tmp.matQuantity += parseInt(matObj.matQty); |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | return; |
| | | } |
| | | this.sns.push(matSn); |
| | | this.matInfos.push(matObj); |
| | | setTimeout(this.updateFocus, 200); |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/success.mp3'); |
| | | }, 100); |
| | | } else { |
| | | // this.innerCode = ""; |
| | | this.$refs.uToast.show({ |
| | | title: "æ«ç éå¤", |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | setTimeout(this.updateFocus, 200); |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | } |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: "æ«ç é误,è¯·æ«ææ£ç¡®å
ç®±ç ", |
| | | type: "error" |
| | | }) |
| | | setTimeout(this.updateFocus, 200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | } |
| | | }) |
| | | |
| | | |
| | | // var matInfo = matSn.split('|'); |
| | | |
| | | // if (matInfo.length == 7) { |
| | | // var matObj = { |
| | | // matCode: matInfo[1], |
| | | // matProductionDate: matInfo[3], |
| | | // matQty: matInfo[5], |
| | | // orderNo: matInfo[6], |
| | | // sn: matSn |
| | | // } |
| | | // var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo); |
| | | // if (!temp) { |
| | | // var tmp = this.matTotal.find(x => x.matCode == matObj.matCode); |
| | | // if (!tmp) { |
| | | // this.matTotal.push({ |
| | | // matCode: matObj.matCode, |
| | | // matQuantity: parseInt(matObj.matQty) |
| | | // }) |
| | | // } else { |
| | | // tmp.matQuantity += parseInt(matObj.matQty); |
| | | // } |
| | | // this.sns.push(matSn); |
| | | // this.matInfos.push(matObj); |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/success.mp3'); |
| | | // }, 100); |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç éå¤", |
| | | // type: "error" |
| | | // }) |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/fail.mp3'); |
| | | // }, 100); |
| | | // } |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç é误,è¯·æ«ææ£ç¡®å
ç®±ç ", |
| | | // type: "error" |
| | | // }) |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/fail.mp3'); |
| | | // }, 100); |
| | | // } |
| | | } |
| | | }) |
| | | }, |
| | |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.inboundBarcode, |
| | | "startPoint": this.address |
| | | "startPoint": this.address, |
| | | "warehouseId":this.warehouseId |
| | | } |
| | | } |
| | | this.$u.post('/api/Inbound/RequestInbound', postData).then(res => { |
| | | this.$u.post('/api/Task/RequestInboundTask', postData).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg(res.message); |
| | | this.inboundBarcode = ""; |
| | | this.address = ""; |
| | | setTimeout(()=>{ |
| | | setTimeout(() => { |
| | | this.addressFocus = false; |
| | | },200); |
| | | }, 200); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | |
| | | sn = item.sn; |
| | | var tmp = this.matTotal.find(x => x.matCode == item.matCode); |
| | | if (tmp) { |
| | | tmp.matQuantity -= parseInt(item.matQty); |
| | | tmp.matQuantity -= parseInt(item.quantity); |
| | | } else { |
| | | |
| | | } |
| | |
| | | }) |
| | | return; |
| | | } |
| | | if (this.sns.length == 0) { |
| | | if (this.matInfos.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: 'error' |
| | |
| | | } |
| | | this.$u.post('/api/InboundOrder/MaterielGroup', { |
| | | MainData: { |
| | | "pallet_barcode": this.barcode, |
| | | "palletCode": this.barcode, |
| | | "orderNo": this.orderNo, |
| | | "isFull": this.check |
| | | // "isFull": this.check |
| | | "warehouseId":this.warehouseId |
| | | }, |
| | | DelKeys: this.sns |
| | | }).then(res => { |
| | |
| | | <template> |
| | | <view > |
| | | <view> |
| | | <!-- <uni-forms ref="formData" :modelValue="formData" label-width="120"> --> |
| | | <uni-forms class="customcss" label-width="120"> |
| | | <uni-forms-item label="æ¡ç ä¿¡æ¯"> |
| | | <uni-easyinput type="text" :focus="!barcodefocus" v-model="barcode" placeholder="è¯·æ«ææçæ¡ç æå°ç«è½¦æ¡ç " ref='midInput' |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!barcodefocus" v-model="barcode" placeholder="è¯·æ«ææçæ¡ç " ref='midInput' |
| | | @input="locationNoinputChange()" /> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list class="footer"> |
| | | <uni-list-item direction="column" v-for="(item,index) in infos" :key="index"> |
| | | <uni-list> |
| | | <uni-list-item direction="column" v-if="stockInfoBarcode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼å·ï¼{{item.matCode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æåç§°ï¼{{item.matName}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æçå·ï¼{{item.barcode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">åºåºæ°éï¼{{item.quantity}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">é
éå°åï¼{{item.address}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">å½åä½ç½®ï¼{{item.currentAddress}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æçå·ï¼{{stockInfoBarcode}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | <uni-list-item direction="column" v-for="(item,index) in stockInfoDetail" :key="index"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼å·ï¼{{item.materielCode}}</view> |
| | | <view class="uni-note">ç©æåç§°ï¼{{item.materielName}}</view> |
| | | <view class="uni-note">ç©ææ¹æ¬¡ï¼{{item.batchNo}}</view> |
| | | <view class="uni-note">åºåæ°éï¼{{item.stockQuantity}}</view> |
| | | <view class="uni-note">åºåºæ°éï¼{{item.outboundQuantity}}</view> |
| | | <view class="uni-note">çäº§æ¥æï¼{{item.productionDate}}</view> |
| | | <view class="uni-note">æ æ æï¼{{item.effectiveDate}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | infos: [], |
| | | // stockInfo: [], |
| | | stockInfoDetail: [], |
| | | barcode: '', |
| | | barcodefocus: false, |
| | | warehouseId: 0, |
| | | stockInfoBarcode: '', |
| | | } |
| | | }, |
| | | onLoad(res) { |
| | | this.warehouseId = res.warehouseId; |
| | | }, |
| | | methods: { |
| | | locationNoinputChange() { |
| | |
| | | if (this.barcode != '') { |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.barcode |
| | | "barcode": this.barcode, |
| | | "warehouseId": this.warehouseId, |
| | | } |
| | | }; |
| | | this.$u.post('/api/Carry/GetCarryInfo', postData).then(res => { |
| | | this.$u.post('/api/StockInfo/StockQueryData', postData).then(res => { |
| | | this.stockInfoBarcode = ""; |
| | | // this.stockInfo = []; |
| | | this.stockInfoDetail = []; |
| | | if (res.status) { |
| | | this.infos = res.data |
| | | this.stockInfoBarcode = res.data.palletCode, |
| | | // this.stockInfo = res.data, |
| | | this.stockInfoDetail = res.data.details |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | // title: "æªæ¾å°æçä¿¡æ¯", |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | this.barcode = ""; |
| | | }) |
| | | this.istrue = true; |
| | | } |
| | | }) |
| | | } |
| | |
| | | .footer { |
| | | // padding-top: 20%; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <checkbox :checked="isPicking" @click="checkedClick">æ¯å¦æ£é</checkbox> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="picking" type="primary" style="margin-left: 0px;">æ£é</button> |
| | | <button @click="picking" type="primary" style="margin-left: 0px;">çç¹å®æ</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | page: "/pages/raworderboxing/raworderboxing?", |
| | | page: "/pages/stash/raworderboxing?", |
| | | loadVisible: false, |
| | | searchValue: "", |
| | | status: "more", |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- <u-card :title="title" > --> |
| | | <view class="" slot="body"> |
| | | <!-- <view v-for="(item,index) in tree" :key="item.id"> --> |
| | | <u-grid :col="3"> |
| | | <u-grid-item @tap="clickCoupon(item.url)" v-for="(item) in tree" :key="item.menuId"> |
| | | <u-icon name="coupon" :size="50"></u-icon> |
| | | <view class="grid-text">{{item.menuName}}</view> |
| | | </u-grid-item> |
| | | </u-grid> |
| | | <!-- </view> --> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | |
| | | <!-- </u-card> --> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | config |
| | | } from '../../common/config.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | // title: 'æä½åè½' |
| | | datas: [], |
| | | tree: [], |
| | | warehouseId: "", |
| | | version: "" |
| | | } |
| | | }, |
| | | onShow() { |
| | | // uni.getSystemInfo({ |
| | | // success: (res) => { |
| | | // this.version = res.appWgtVersion; |
| | | // // console.log(res); |
| | | // //æ£æµå½åå¹³å°ï¼å¦ææ¯å®ååå¯å¨å®åæ´æ° |
| | | // if (res.platform == "android") { |
| | | // this.AndroidCheckUpdate(); |
| | | // } |
| | | // } |
| | | // }); |
| | | }, |
| | | onLoad(res) { |
| | | // var id = this.$mp.query.id; |
| | | // this.warehouseId = this.$mp.query.warehouseId; |
| | | this.warehouseId = res.warehouseId; |
| | | uni.setNavigationBarTitle({ |
| | | title: res.menuName |
| | | }); |
| | | this.getCurrentTree(res.menuId); |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | methods: { |
| | | AndroidCheckUpdate: function() { |
| | | var _this = this; |
| | | uni.request({ |
| | | url: 'http://10.1.211.101:9004/api/PDA/GetPDAVersion?version=' + this.version, |
| | | method: 'GET', |
| | | data: {}, |
| | | success: res => { |
| | | if (res.data.data) { |
| | | |
| | | uni.showToast({ |
| | | title: 'ææ°ççæ¬åå¸ï¼æ£æµå°æ¨ç®å为Wifiè¿æ¥ï¼ç¨åºå·²å¯å¨èªå¨æ´æ°ãæ°çæ¬ä¸è½½å®æåå°èªå¨å¼¹åºå®è£
ç¨åºã', |
| | | mask: false, |
| | | duration: 5000, |
| | | icon: "none" |
| | | }); |
| | | var dtask = plus.downloader.createDownload( |
| | | "http://10.1.211.101:9004/api/PDA/DownLoadApp", {}, |
| | | function(d, status) { |
| | | // ä¸è½½å®æ |
| | | if (status == 200) { |
| | | plus.runtime.install(plus.io.convertLocalFileSystemURL(d |
| | | .filename), {}, {}, function(error) { |
| | | uni.showToast({ |
| | | title: 'å®è£
失败', |
| | | mask: false, |
| | | duration: 1500 |
| | | }); |
| | | }) |
| | | } else { |
| | | uni.showToast({ |
| | | title: 'æ´æ°å¤±è´¥', |
| | | mask: false, |
| | | duration: 1500 |
| | | }); |
| | | } |
| | | }); |
| | | dtask.start(); |
| | | } |
| | | }, |
| | | fail: () => { |
| | | console.log('请æ±å¤±è´¥') |
| | | }, |
| | | complete: () => {} |
| | | }); |
| | | }, |
| | | getCurrentTree(id) { |
| | | this.$u.post('/api/Sys_Menu/GetTreeMenuPDAStash?ParentId=' + id, {}).then(result => { |
| | | this.tree = result; |
| | | }) |
| | | }, |
| | | getTree(id, data, isRootId) { |
| | | this.datas.forEach((x) => { |
| | | if (x.pid == id) { |
| | | x.lv = data.lv + 1; |
| | | if (isRootId) { |
| | | x.rootId = id; |
| | | } |
| | | if (!data.children) data.children = []; |
| | | data.children.push(x); |
| | | this.getTree(x.id, x, isRootId); |
| | | } |
| | | }); |
| | | }, |
| | | getPermission(text) { |
| | | // return true; |
| | | return this.datas.find(x => x.text == text); |
| | | }, |
| | | clickCoupon(url) { |
| | | // console.log("clickCoupon") |
| | | if (this.hasLogin()) { |
| | | // this.$u.route(url) |
| | | this.$u.route({ |
| | | url: url, |
| | | params: { |
| | | warehouseId: this.warehouseId |
| | | } |
| | | }) |
| | | } else { |
| | | this.$t.message.loading('ç»å½å¤±æè¯·éæ°ç»å½') |
| | | uni.reLaunch({ |
| | | url: '/pages/login/login' |
| | | }); |
| | | } |
| | | }, |
| | | lock() { |
| | | console.log("lock") |
| | | if (this.hasLogin()) { |
| | | this.$u.route("pages/feeding/feeding") |
| | | } else { |
| | | this.$t.message.loading('ç»å½å¤±æè¯·éæ°ç»å½') |
| | | uni.reLaunch({ |
| | | url: '/pages/login/login' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | //夿æ¯å¦ç»å½ |
| | | hasLogin() { |
| | | let haslogin = uni.getStorageSync('jo_user') |
| | | if (haslogin == null || haslogin == "") { |
| | | return false |
| | | } else { |
| | | return true |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .grid-text { |
| | | font-size: 28rpx; |
| | | margin-top: 4rpx; |
| | | color: $u-type-info; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <view> |
| | | <view class="header"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" @input="inputChange()" v-model="value" placeholder="请æ«ç " ref='midInput' |
| | | :focus="true" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="submit" type="primary" size="default" style="margin-top: 2%;">æ£é宿</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view class="content"> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="è¯·æ«ææçæ¡ç " |
| | | ref='midInput' @input="inputChangebarcode()" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="picking" type="primary" style="margin-left: 0px;">æ£é宿</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | | <uni-list-item direction="column" v-for="item in matInfos" :key="item.sn"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <!-- <uni-icons type="trash" size="22" style="position: absolute;right: 5%;" |
| | | @click="deleteList(item.sn)"> |
| | | </uni-icons> --> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">åæ®ç¼å·ï¼{{item.orderNo}}</view> |
| | | <view class="uni-note">æçç¼å·ï¼{{item.palletCode}}</view> |
| | | <view class="uni-note">ç©ææ¹æ¬¡ï¼{{item.batchNo}}</view> |
| | | <view class="uni-note">ç©æç¼ç ï¼{{item.materielCode}}</view> |
| | | <view class="uni-note">ç©æåç§°ï¼{{item.materielName}}</view> |
| | | <view class="uni-note">åæ®æ°éï¼{{item.orderQuantity}}</view> |
| | | <view class="uni-note">åå§åºåï¼{{item.originalQuantity}}</view> |
| | | <view class="uni-note">åé
åºåï¼{{item.assignQuantity}}</view> |
| | | <view class="uni-note">å©ä½åºåï¼{{item.originalQuantity-item.assignQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 2" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!istrue2" v-model="barcode2" placeholder="è¯·æ«ææçæ¡ç " |
| | | ref='midInput' @input="inputChangebarcode2()" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å
ç®±æ ç¾"> |
| | | <uni-easyinput type="text" @input="inputChange2()" v-model="innerboxcode" |
| | | placeholder="è¯·æ«æå
ç®±æ ç¾" ref='midInput' :focus="istrue2" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="submit" type="primary" size="default" style="margin-top: 2%;">ç»ç</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 1" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode" |
| | | placeholder="è¯·æ«ææçæ¡ç " ref='midInput' @input="inputChangebarcode3" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å°åæ¡ç "> |
| | | <uni-easyinput type="text" v-model="address" placeholder="è¯·æ«æå°åæ¡ç " ref='midInput' |
| | | :focus="addressFocus" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">å
¥åºç¡®è®¤</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <uni-list class="footer"> |
| | | <uni-list-item direction="column" v-if="value2"> |
| | | <label>{{value2}}</label> |
| | | </uni-list-item> |
| | | <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼ç ï¼{{item.matCode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æ°éï¼{{item.matQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | |
| | | <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">ç©æç¼ç ï¼{{item.matCode}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">ç©æåç§°ï¼{{item.matName}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">æ°éï¼{{item.matQty}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | // const SixUniTts = uni.requireNativePlugin("SmallSix-SixUniTts") |
| | | export default { |
| | | data() { |
| | | return { |
| | | value: "", |
| | | matInfo: [], |
| | | value2: "", |
| | | matTotal:[] |
| | | items: ['æ£é', 'å
¥åº'], //'æ£éç»ç', |
| | | current: 0, |
| | | isPicking: false, |
| | | istrue: false, |
| | | matInfos: [], |
| | | barcode: '', |
| | | materialsns: "", |
| | | boxBarcodes: [], |
| | | sns: [], |
| | | barcodefocus: true, |
| | | totalNum: 0, |
| | | pickNum: 0, |
| | | num: 0, |
| | | orderTotalNum: 0, |
| | | orderPickNum: 0, |
| | | orderNo: "", |
| | | matTotal: [], |
| | | istrue2: false, |
| | | barcode2: '', |
| | | innerboxcode: "", |
| | | sns2: [], |
| | | barcodefocus: true, |
| | | addressFocus: false, |
| | | inboundBarcode: "", |
| | | address: "", |
| | | warehouseId: 0, |
| | | } |
| | | }, |
| | | onLoad(res) { |
| | | //this.hideboard(); |
| | | this.barcodefocus = false; |
| | | this.warehouseId = res.warehouseId; |
| | | this.istrue = false; |
| | | }, |
| | | methods: { |
| | | submit() { |
| | | if (this.value.length == 0) { |
| | | onClickItem(e) { |
| | | this.barcodeFo = true; |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | } |
| | | }, |
| | | inbound() { |
| | | if (this.inboundBarcode == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "请æ«ç ", |
| | | title: "è¯·æ«ææçæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var param; |
| | | var matInfo = this.value.split('|'); |
| | | if (matInfo.length == 7) { |
| | | param = { |
| | | MainData: { |
| | | "innerCode": this.value |
| | | } |
| | | } |
| | | } else { |
| | | param = { |
| | | MainData: { |
| | | "barcode": this.value |
| | | } |
| | | if (this.address == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå°åæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.inboundBarcode, |
| | | "startPoint": this.address, |
| | | "warehouseId": this.warehouseId |
| | | } |
| | | } |
| | | this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => { |
| | | if (resdt.status) { |
| | | uni.$showMsg('è§£çæå!') |
| | | this.value = ""; |
| | | this.matInfo = []; |
| | | this.$u.post('/api/Task/RequestInboundTask', postData).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg(res.message); |
| | | this.inboundBarcode = ""; |
| | | this.address = ""; |
| | | setTimeout(() => { |
| | | this.addressFocus = false; |
| | | }, 200); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: resdt.message, |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | inputChangebarcode3() { |
| | | this.addressFocus = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.inboundBarcode != '') { |
| | | this.addressFocus = true; |
| | | } |
| | | }) |
| | | }, |
| | | picking() { |
| | | if (this.barcode == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«ææçæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | this.$u.post('/api/OutStockLockInfo/MaterialPick?palletCode=' + this.barcode, {}).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg('æ£éæå!') |
| | | this.barcode = ""; |
| | | this.matInfos = []; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | inputChange(e) { |
| | | this.$nextTick(() => { |
| | | if (this.value.length == 0) { |
| | | return; |
| | | } |
| | | var matInfo = this.value.split('|'); |
| | | this.matInfo = []; |
| | | this.istrue = false; |
| | | var matInfo = this.materialsns.split('|'); |
| | | if (matInfo.length == 7) { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', { |
| | | MainData: { |
| | | "innerCode": this.value |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotal = res.data.stockTotal; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | var matObj = { |
| | | matCode: matInfo[1], |
| | | matProductionDate: matInfo[3], |
| | | matQty: matInfo[5], |
| | | orderNo: matInfo[6], |
| | | sn: this.materialsns, |
| | | isPicking: this.isPicking |
| | | } |
| | | var temp = this.boxBarcodes.find(x => x.orderNo == matObj.orderNo); |
| | | if (!temp) { |
| | | var tmp = this.matTotal.find(x => x.matCode == matObj.matCode); |
| | | if (!tmp) { |
| | | this.matTotal.push({ |
| | | matCode: matObj.matCode, |
| | | matQuantity: parseInt(matObj.matQty) |
| | | }) |
| | | } else { |
| | | tmp.matQuantity += parseInt(matObj.matQty); |
| | | } |
| | | }) |
| | | this.sns.push({ |
| | | innerboxcode: this.materialsns, |
| | | isSplit: this.isPicking |
| | | }); |
| | | this.boxBarcodes.push(matObj); |
| | | this.isPicking = false; |
| | | setTimeout(this.updateFocus, 100); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: "æ«ç éå¤", |
| | | type: "error" |
| | | }) |
| | | setTimeout(this.updateFocus, 100); |
| | | } |
| | | } else { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByBarcode', { |
| | | this.$refs.uToast.show({ |
| | | title: "æ«ç é误,è¯·æ«ææ£ç¡®å
ç®±ç ", |
| | | type: "error" |
| | | }) |
| | | setTimeout(this.updateFocus, 100); |
| | | } |
| | | }) |
| | | }, |
| | | checkedClick() { |
| | | this.isPicking = !this.isPicking; |
| | | this.istrue = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode != '') { |
| | | this.istrue = true; |
| | | } |
| | | }) |
| | | }, |
| | | updateFocus() { |
| | | this.materialsns = ''; |
| | | if (!this.istrue) { |
| | | this.istrue = true; |
| | | } |
| | | }, |
| | | inputChangebarcode() { |
| | | this.boxBarcodes = []; |
| | | this.istrue = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode != '') { |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.value |
| | | "barcode": this.barcode, |
| | | "warehouseId": this.warehouseId, |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotal = res.data.stockTotal; |
| | | // console.log(res.data); |
| | | // console.log(this.matTotal); |
| | | }; |
| | | this.$u.post('/api/OutStockLockInfo/GetStockOutboundOrder', postData).then(res => { |
| | | this.matInfos = []; |
| | | if (res != null) { |
| | | this.matInfos = res |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | title: "æªæ¾å°æ£éä¿¡æ¯", |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | this.istrue = true; |
| | | } |
| | | }) |
| | | }, |
| | | deleteList(res) { |
| | | this.matTotal.map((item, index) => { |
| | | var temp = this.boxBarcodes.find(x => x.sn == res); |
| | | if (temp) { |
| | | if (item.matCode == temp.matCode) { |
| | | if (item.matQuantity - temp.matQty == 0) { |
| | | this.matTotal.splice(index, 1); |
| | | } else { |
| | | item.matQuantity -= temp.matQty; |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.sns.map((item, index) => { |
| | | if (item.innerboxcode == res) { |
| | | this.sns.splice(index, 1); |
| | | } |
| | | }) |
| | | this.boxBarcodes.map((item, index) => { |
| | | if (item.sn == res) { |
| | | this.boxBarcodes.splice(index, 1); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | submit() { |
| | | if (this.barcode2 == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«ææçæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.innerboxcode == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | this.$u.post('/api/StockOperate/PickingBoxing', { |
| | | MainData: { |
| | | "barcode": this.barcode2, |
| | | "innerboxcode": this.innerboxcode |
| | | }, |
| | | DelKeys: this.sns2 |
| | | }).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg('ç»çæå!') |
| | | this.barcode2 = ""; |
| | | this.innerboxcode = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | inputChange2(e) { |
| | | |
| | | }, |
| | | inputChangebarcode2() { |
| | | this.istrue2 = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode2 != '') { |
| | | this.istrue2 = true; |
| | | } |
| | | }) |
| | | }, |
| | |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | page { |
| | | display: flex; |
| | | flex-direction: column; |
| | | box-sizing: border-box; |
| | | background-color: #efeff4; |
| | | min-height: 100%; |
| | | height: auto; |
| | | } |
| | | |
| | | .tips { |
| | | color: #67c23a; |
| | | font-size: 14px; |
| | | line-height: 40px; |
| | | text-align: center; |
| | | background-color: #f0f9eb; |
| | | height: 0; |
| | | opacity: 0; |
| | | transform: translateY(-100%); |
| | | transition: all 0.3s; |
| | | } |
| | | |
| | | .tips-ani { |
| | | transform: translateY(0); |
| | | height: 40px; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .content { |
| | | width: 100%; |
| | | display: flex; |
| | | } |
| | | |
| | | .list-picture { |
| | | width: 100%; |
| | | height: 145px; |
| | | } |
| | | |
| | | .thumb-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .ellipsis { |
| | | display: flex; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .uni-ellipsis-1 { |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .uni-ellipsis-2 { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | |
| | | .customcss { |
| | | display: flex; |
| | | position: fixed; |
| | | width: 100%; |
| | | top: 10px; |
| | | text-align: center; |
| | | z-index: 999; |
| | | left: 30px; |
| | | height: 20%; |
| | | } |
| | | |
| | | .footer { |
| | | // padding-top: 30%; |
| | | } |
| | | |
| | | .header { |
| | | width: 100%; |
| | | height: 150px; |
| | | background-color: #ffffff; |
| | | padding: 20rpx 40rpx; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 20px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view class="content"> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="180"> |
| | | <uni-forms-item :label="label"> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="æçæ¡ç :"> |
| | | <uni-easyinput type="text" placeholder="è¯·æ«ææçæ¡ç " ref='midInput' :focus="!focus" |
| | | v-model="barcode" @input="barcodeInput" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å
ç®±æ ç¾:"> |
| | | <uni-easyinput type="text" placeholder="è¯·æ«æå
ç®±æ ç¾" ref='midInput' :focus="focus" |
| | | v-model="materSn" @input="snInput" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="åå§å¯¿å½:" v-if="Test"> |
| | | <uni-easyinput type="text" placeholder="请è¾å
¥åå§å¯¿å½" ref='midInput' v-model="Initiallife" /> |
| | | </uni-forms-item> |
| | | <!-- <uni-forms-item> |
| | | <checkbox checked="check">æ¯å¦æ»¡ç</checkbox> |
| | | </uni-forms-item> --> |
| | | <uni-forms-item> |
| | | <button @click="submit" type="primary" size="default" style="margin-top: 2%;">ç»ç</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | | <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼ç ï¼{{item.matCode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æ°éï¼{{item.matQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> --> |
| | | <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="item.sn"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <uni-icons type="trash" size="22" style="position: absolute;right: 5%;" |
| | | @click="deleteList(item.sn)"> |
| | | </uni-icons> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">éè´åå·ï¼{{item.purchaseOrderNo}}</view> |
| | | <view class="uni-note">ç©æç¼ç ï¼{{item.materielCode}}</view> |
| | | <view class="uni-note">æ¹æ¬¡å·ï¼{{item.lotNo}}</view> |
| | | <view class="uni-note">æ°éï¼{{item.quantity}}</view> |
| | | <view class="uni-note">çäº§æ¥æï¼{{item.productionDate}}</view> |
| | | <view class="uni-note">æææï¼{{item.effectiveDate}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 1" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode" |
| | | placeholder="è¯·æ«ææçæ¡ç " ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å°åæ¡ç "> |
| | | <uni-easyinput type="text" v-model="address" placeholder="è¯·æ«æå°åæ¡ç " ref='midInput' |
| | | :focus="addressFocus" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">å
¥åºç¡®è®¤</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 2" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-list :border="true"> |
| | | <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view style="font-size: 18px;">åæ®å·ï¼{{orderNo}}</view> |
| | | <view style="font-size: 18px;">ç©æç¼ç ï¼{{item.materielCode}}</view> |
| | | <!-- <view style="font-size: 18px;">ç©æåç§°ï¼{{item.matName}}</view> --> |
| | | <view style="font-size: 18px;">æ°éï¼{{item.orderQuantity}}</view> |
| | | <view style="font-size: 18px;">åä½ï¼{{item.unit}}</view> |
| | | <view style="font-size: 18px;">ç»çæ°éï¼{{item.receiptQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 3" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item> |
| | | <uni-easyinput type="text" @input="releaseboxInput" v-model="value" placeholder="请æ«ç " |
| | | ref='midInput' :focus="true" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="releasebox" type="primary" size="default">è§£ç</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | | <uni-list-item direction="column" v-if="value2"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">æçå·ï¼{{value2}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼ç ï¼{{item.matCode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æ°éï¼{{item.matQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | |
| | | <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | ç©æç¼ç ï¼{{item.matCode}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | ç©æåç§°ï¼{{item.matName}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | æ°éï¼{{item.matQty}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | | return { |
| | | items: ['ç»ç', 'å
¥åº', 'åæ®ä¿¡æ¯'], //, 'è§£ç' |
| | | current: 0, |
| | | matTotal: [], |
| | | matInfos: [], |
| | | orderNo: "", |
| | | label: "", |
| | | orderInfo: [], |
| | | focus: false, |
| | | barcode: "", |
| | | materSn: "", |
| | | Initiallife: 1000, |
| | | sns: [], |
| | | addressFocus: false, |
| | | inboundBarcode: "", |
| | | address: "", |
| | | check: true, |
| | | value: "", |
| | | matInfo: [], |
| | | value2: "", |
| | | matTotals: [], |
| | | warehouseId: "", |
| | | Test: false, |
| | | Testcheck: false, |
| | | } |
| | | }, |
| | | onShow() {}, |
| | | onLoad(res) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | this.orderNo = res.orderNo; |
| | | this.warehouseId = res.warehouseId; |
| | | this.Test = this.warehouseId == 1; //æ1æ¹ææµè¯æ¶ä»åºåºID |
| | | this.label = "åæ®ç¼å·ï¼" + this.orderNo; |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | voiceSpeech(src) { |
| | | innerAudioContext.src = src; // '../../static/success.mp3'; |
| | | innerAudioContext.play(); |
| | | }, |
| | | //è§£ç |
| | | releasebox() { |
| | | if (this.value.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "请æ«ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var param; |
| | | var matInfo = this.value.split('|'); |
| | | if (matInfo.length == 7) { |
| | | param = { |
| | | MainData: { |
| | | "innerCode": this.value |
| | | } |
| | | } |
| | | } else { |
| | | param = { |
| | | MainData: { |
| | | "barcode": this.value |
| | | } |
| | | } |
| | | } |
| | | this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => { |
| | | if (resdt.status) { |
| | | uni.$showMsg('è§£çæå!') |
| | | this.value = ""; |
| | | this.matInfo = []; |
| | | this.matTotals = []; |
| | | this.value2 = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: resdt.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | releaseboxInput() { |
| | | this.$nextTick(() => { |
| | | if (this.value.length == 0) { |
| | | return; |
| | | } |
| | | var matInfo = this.value.split('|'); |
| | | this.matInfo = []; |
| | | if (matInfo.length == 7) { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', { |
| | | MainData: { |
| | | "innerCode": this.value |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotals = res.data.stockTotal; |
| | | this.value2 = res.data.barcode; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } else { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByBarcode', { |
| | | MainData: { |
| | | "barcode": this.value |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotals = res.data.stockTotal; |
| | | this.value2 = res.data.barcode; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | updateFocus() { |
| | | debugger |
| | | this.$nextTick(() => { |
| | | this.materSn = ''; |
| | | if (!this.focus) { |
| | | this.focus = true; |
| | | } |
| | | }); |
| | | }, |
| | | barcodeFocus() { |
| | | debugger |
| | | this.barcode = ''; |
| | | if (this.focus) { |
| | | this.focus = false; |
| | | } |
| | | }, |
| | | getData() { |
| | | var postData = { |
| | | MainData: { |
| | | orderNo: this.orderNo |
| | | }, |
| | | } |
| | | this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => { |
| | | if (res.status) { |
| | | this.orderInfo = res.data; |
| | | if (this.orderInfo.length > 3) { |
| | | this.loadVisible = true; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | onClickItem(e) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | if (this.current == 2) { |
| | | this.getData(); |
| | | } |
| | | } |
| | | }, |
| | | barcodeInput() { |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode.length > 0) { |
| | | // if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') { |
| | | this.focus = true; |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç é误,è¯·æ«ææçç ", |
| | | // type: "error" |
| | | // }) |
| | | // } |
| | | } |
| | | }) |
| | | }, |
| | | snInput() { |
| | | this.$nextTick(() => { |
| | | if (this.materSn != "") { |
| | | this.focus = false; |
| | | var matSn = this.materSn; |
| | | setTimeout(() => { |
| | | this.materSn = ""; |
| | | }, 10); |
| | | this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => { |
| | | this.Testcheck = false; |
| | | if (res.status) { |
| | | // debugger |
| | | // this.matTotal.push({ |
| | | // matCode: res.data.materielCode, |
| | | // matQuantity: parseInt(res.data.quantity) |
| | | // }); |
| | | // this.sns.push(res.data.serialNumber); |
| | | |
| | | this.matInfos.splice(0, this.matInfos.length); |
| | | this.matInfos.push(res.data); |
| | | if (res.message) { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | return; |
| | | } |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/success.mp3'); |
| | | }, 100); |
| | | } else { |
| | | // this.innerCode = ""; |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | // setTimeout(this.updateFocus,200); |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | } |
| | | }) |
| | | |
| | | |
| | | // var matInfo = matSn.split('|'); |
| | | |
| | | // if (matInfo.length == 7) { |
| | | // var matObj = { |
| | | // matCode: matInfo[1], |
| | | // matProductionDate: matInfo[3], |
| | | // matQty: matInfo[5], |
| | | // orderNo: matInfo[6], |
| | | // sn: matSn |
| | | // } |
| | | // var temp = this.matInfos.find(x => x.orderNo == matObj.orderNo); |
| | | // if (!temp) { |
| | | // var tmp = this.matTotal.find(x => x.matCode == matObj.matCode); |
| | | // if (!tmp) { |
| | | // this.matTotal.push({ |
| | | // matCode: matObj.matCode, |
| | | // matQuantity: parseInt(matObj.matQty) |
| | | // }) |
| | | // } else { |
| | | // tmp.matQuantity += parseInt(matObj.matQty); |
| | | // } |
| | | // this.sns.push(matSn); |
| | | // this.matInfos.push(matObj); |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/success.mp3'); |
| | | // }, 100); |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç éå¤", |
| | | // type: "error" |
| | | // }) |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/fail.mp3'); |
| | | // }, 100); |
| | | // } |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: "æ«ç é误,è¯·æ«ææ£ç¡®å
ç®±ç ", |
| | | // type: "error" |
| | | // }) |
| | | // setTimeout(this.updateFocus, 200); |
| | | // setTimeout(() => { |
| | | // this.voiceSpeech('../../static/fail.mp3'); |
| | | // }, 100); |
| | | // } |
| | | } |
| | | }) |
| | | }, |
| | | inbound() { |
| | | if (this.inboundBarcode == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«ææçæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.address == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå°åæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.inboundBarcode, |
| | | "startPoint": this.address, |
| | | "warehouseId": this.warehouseId |
| | | } |
| | | } |
| | | this.$u.post('/api/Task/RequestInboundTask', postData).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg(res.message); |
| | | this.inboundBarcode = ""; |
| | | this.address = ""; |
| | | setTimeout(() => { |
| | | this.addressFocus = false; |
| | | }, 200); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | inputChangebarcode() { |
| | | this.addressFocus = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.inboundBarcode != '') { |
| | | this.addressFocus = true; |
| | | } |
| | | }) |
| | | }, |
| | | deleteList(res) { |
| | | var sn = ''; |
| | | this.matInfos.map((item, index) => { |
| | | if (item.sn == res) { |
| | | this.matInfos.splice(index, 1); |
| | | sn = item.sn; |
| | | var tmp = this.matTotal.find(x => x.matCode == item.matCode); |
| | | if (tmp) { |
| | | tmp.matQuantity -= parseInt(item.quantity); |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | }) |
| | | this.sns.map((item, index) => { |
| | | if (item == res) { |
| | | this.sns.splice(index, 1); |
| | | } |
| | | }) |
| | | }, |
| | | submit() { |
| | | if (this.barcode == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«ææçæ¡ç ", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if (this.matInfos.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if (this.Test) { |
| | | if (!this.Testcheck) { |
| | | this.Testcheck = true; |
| | | this.$refs.uToast.show({ |
| | | title: "请确认åå§å¯¿å½", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | } |
| | | this.$u.post('/api/InboundOrder/MaterielGroup', { |
| | | MainData: { |
| | | "palletCode": this.barcode, |
| | | "orderNo": this.orderNo, |
| | | "initiallife":this.Initiallife, |
| | | // "isFull": this.check |
| | | "warehouseId": this.warehouseId |
| | | }, |
| | | DelKeys: this.sns |
| | | }).then(res => { |
| | | this.Testcheck = false; |
| | | if (res.status) { |
| | | this.$refs.uToast.show({ |
| | | title: "ç»çæå", |
| | | type: "success" |
| | | }) |
| | | this.focus = false; |
| | | this.barcode = ""; |
| | | this.matInfos = []; |
| | | this.sns = []; |
| | | this.matTotal = []; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 150px; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 30px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <u-sticky> |
| | | <view style="background-color: #ffffff;"> |
| | | <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar> |
| | | </view> |
| | | </u-sticky> |
| | | <uni-list :border="true"> |
| | | <uni-list-item direction="column" clickable @click="groupClick(item.receiveOrderNo)" link |
| | | :to="page+item.receiveOrderNo+'&receiveOrderId='+item.receiveOrderId" v-for="item in allReceivingOrders" |
| | | :key="item.receiveOrderNo"> |
| | | <template v-slot:body> |
| | | <uni-group margin-top="20"> |
| | | <view> æ¶è´§åå·:{{item.receiveOrderNo}} </view> |
| | | <!-- <view> 订åç±»å:{{item.receiveOrderType}} </view> |
| | | <view> 订åç¶æ:{{item.receiveOrderStatus}} </view> --> |
| | | <view> ä¾åºå代å·:{{item.suppliersId}} </view> |
| | | </uni-group> |
| | | </template> |
| | | </uni-list-item> |
| | | |
| | | </uni-list> |
| | | <uni-load-more :status="status" v-if="loadVisible"></uni-load-more> |
| | | |
| | | <u-back-top :scroll-top="scrollTop" top="400"></u-back-top> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | page: "/pages/stash/receiveorderoutbound?orderNo=", |
| | | loadVisible: false, |
| | | searchValue: "", |
| | | status: "more", |
| | | allReceivingOrders: [], |
| | | pageNo: 1, |
| | | scrollTop: 0 |
| | | } |
| | | }, |
| | | onLoad(res) { |
| | | this.getData(); |
| | | }, |
| | | onPageScroll(e) { |
| | | this.scrollTop = e.scrollTop; |
| | | }, |
| | | onReachBottom() { |
| | | this.pageNo += 1; |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | search(res) { |
| | | this.pageNo = 1; |
| | | this.getData(); |
| | | }, |
| | | groupClick() { |
| | | |
| | | }, |
| | | getData() { |
| | | var postData = { |
| | | MainData: { |
| | | orderNo: this.searchValue, |
| | | pageNo: this.pageNo |
| | | }, |
| | | } |
| | | this.$u.post('/api/ReceiveOrder/GetReceiveOrders', postData).then((res) => { |
| | | if (res.status) { |
| | | if (res.data.length > 0) { |
| | | if (this.searchValue == '') { |
| | | this.allReceivingOrders = this.allReceivingOrders.concat(res.data); |
| | | // this.allReceivingOrders = res.data; |
| | | if (this.allReceivingOrders.length > 3) { |
| | | this.loadVisible = true; |
| | | } else { |
| | | this.loadVisible = false; |
| | | } |
| | | } else { |
| | | // this.allReceivingOrders = res.data; |
| | | if (postData.MainData.pageNo == 1) { |
| | | this.allReceivingOrders = []; |
| | | } |
| | | this.allReceivingOrders = this.allReceivingOrders.concat(res.data); |
| | | if (this.allReceivingOrders.length > 3) { |
| | | this.loadVisible = true; |
| | | } else { |
| | | this.loadVisible = false; |
| | | } |
| | | } |
| | | } else { |
| | | this.status = 'noMore'; |
| | | //this.allReceivingOrders = []; |
| | | this.loadVisible = true; |
| | | } |
| | | |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | page { |
| | | display: flex; |
| | | flex-direction: column; |
| | | box-sizing: border-box; |
| | | background-color: #efeff4; |
| | | min-height: 100%; |
| | | height: auto; |
| | | } |
| | | |
| | | .tips { |
| | | color: #67c23a; |
| | | font-size: 14px; |
| | | line-height: 40px; |
| | | text-align: center; |
| | | background-color: #f0f9eb; |
| | | height: 0; |
| | | opacity: 0; |
| | | transform: translateY(-100%); |
| | | transition: all 0.3s; |
| | | } |
| | | |
| | | .tips-ani { |
| | | transform: translateY(0); |
| | | height: 40px; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .content { |
| | | width: 100%; |
| | | display: flex; |
| | | } |
| | | |
| | | .list-picture { |
| | | width: 100%; |
| | | height: 145px; |
| | | } |
| | | |
| | | .thumb-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .ellipsis { |
| | | display: flex; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .uni-ellipsis-1 { |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .uni-ellipsis-2 { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | |
| | | .customcss { |
| | | display: flex; |
| | | position: fixed; |
| | | width: 100%; |
| | | top: 10px; |
| | | text-align: center; |
| | | z-index: 999; |
| | | left: 30px; |
| | | height: 20%; |
| | | } |
| | | |
| | | .footer { |
| | | padding-top: 50%; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms style="margin-left: 2%;margin-top: 20px;" label-width="180"> |
| | | <uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item> |
| | | <!-- <uni-forms-item label="åæ®ç±»åï¼çäº§é¢æå" style="margin-top: -20px;"></uni-forms-item> --> |
| | | <uni-forms-item label="å
ç®±ç ï¼" style="margin-top: -20px;"> |
| | | <uni-easyinput type="text" placeholder="è¯·æ«æå
ç®±ç " ref='midInput' :focus="focus" |
| | | v-model="innerCode" @input="innercodeInput" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="LotNo" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="ProductionDate" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="EffectiveDate" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="orderQty" style="margin-top: -20px;"></uni-forms-item> |
| | | <uni-forms-item :label="remaindQty" style="margin-top: -20px;"> |
| | | <uni-easyinput type="text" placeholder="请è¾å
¥å®é
æ°é" v-model="Quantity" ref='midInput' /> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-forms-item> |
| | | <button @click="submit" type="primary" size="default" style="margin-top: 2%;">确认æ¶è´§</button> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="submit1" type="primary" size="default" style="margin-top: 2%;">宿æ¶è´§</button> |
| | | </uni-forms-item> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 1" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <u-sticky> |
| | | <!-- <view style="background-color: #ffffff;"> |
| | | <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar> |
| | | </view> --> |
| | | </u-sticky> |
| | | <!-- <uni-forms label-width="180"> |
| | | <uni-forms-item label="åºå"> |
| | | <uni-data-select v-if="show" v-model="value" :localdata="range"></uni-data-select> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="楼å±"> |
| | | <uni-data-select v-if="show" v-model="floor" :localdata="floorrange"></uni-data-select> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="åºåºåºå"> |
| | | <uni-data-select v-if="show" v-model="endType" :localdata="endTypeRange"></uni-data-select> |
| | | </uni-forms-item> |
| | | </uni-forms> --> |
| | | <uni-list :border="true"> |
| | | <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <!-- <button class="button" type="primary" style="position: absolute;right: 1%;" size="mini" |
| | | @click="inputDialogToggle(item.matCode)"><text |
| | | class="button-text">åºåº</text></button> --> |
| | | <!-- <button type="primary" style="position: absolute;right: 1%;" size="mini" |
| | | @click="outbound(item.matCode)">åºåº</button> --> |
| | | <view class="uni-content"> |
| | | <view style="font-size: 18px;">æ¶è´§åå·ï¼{{orderNo}}</view> |
| | | <view style="font-size: 18px;">éè´åå·ï¼{{item.purchaseOrderNo}}</view> |
| | | <view style="font-size: 18px;">ç©æç¼å·ï¼{{item.materielCode}}</view> |
| | | <view style="font-size: 18px;">æ¹æ¬¡å·ï¼{{item.lotNo}}</view> |
| | | <view style="font-size: 18px;">æ¶è´§æ°éï¼{{item.receivedQuantity}}</view> |
| | | <view style="font-size: 18px;">æ¯å¦è´¨æ£ï¼{{item.ifInspection==1?"æ¯":"å¦"}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | <view> |
| | | <!-- è¾å
¥æ¡ç¤ºä¾ --> |
| | | <uni-popup ref="inputDialog" type="dialog"> |
| | | <uni-popup-dialog ref="inputClose" mode="input" title="è¾å
¥å
容" :value="outNum" placeholder="请è¾å
¥å
容" |
| | | @confirm="outbound"></uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 2" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="楼å±"> |
| | | <uni-data-select v-if="show" v-model="printfloor" |
| | | :localdata="printfloorrange"></uni-data-select> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å
ç®±æ ç¾"> |
| | | <uni-easyinput type="text" :focus="tagFocus" v-model="tag" placeholder="è¯·æ«æå
ç®±æ ç¾" ref='midInput' |
| | | @input="tagInput" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item :label="tagmatCode"></uni-forms-item> |
| | | <uni-forms-item :label="tagmatName"></uni-forms-item> |
| | | <uni-forms-item :label="tagQty"></uni-forms-item> |
| | | <uni-forms-item label="æåæ°é"> |
| | | <uni-easyinput type="number" v-model="number" placeholder="请è¾å
¥æåæ°é" ref='midInput' |
| | | :focus="numberFocus" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="printTag" type="primary" size="default" style="margin-top: 2%;">æå°æ ç¾</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 3" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="è¯·æ«ææçæ¡ç " |
| | | ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="å°åæ¡ç "> |
| | | <uni-easyinput type="text" v-model="address" placeholder="è¯·æ«æå°åæ¡ç " ref='midInput' |
| | | :focus="istrue" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">å
¥åº</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | <view v-if="current === 4" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item> |
| | | <uni-easyinput type="text" @input="releaseboxInput" v-model="releasevalue" placeholder="请æ«ç " |
| | | ref='midInput' :focus="releasefocus" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="releasebox" type="primary" size="default" style="margin-top: 2%;">è§£ç</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | <uni-list> |
| | | <uni-list-item direction="column" v-if="value2"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">æçå·ï¼{{value2}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | <uni-list-item direction="column" v-for="item in matTotals" :key="item.matCode"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2">ç©æç¼ç ï¼{{item.matCode}}</view> |
| | | <view class="uni-title-sub uni-ellipsis-2">æ°éï¼{{item.matQuantity}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | |
| | | <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index"> |
| | | <template v-slot:body> |
| | | <view class="uni-list-box"> |
| | | <view class="uni-content"> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | ç©æç¼ç ï¼{{item.matCode}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | ç©æåç§°ï¼{{item.matName}} |
| | | </view> |
| | | <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> |
| | | æ°éï¼{{item.matQty}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </uni-list-item> |
| | | </uni-list> |
| | | </view> |
| | | </view> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | config |
| | | } from '../../common/config'; |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | | return { |
| | | show: true, |
| | | items: ['æ«æ', 'æç»'], //, 'æå', 'å
¥åº', 'è§£ç' |
| | | current: 0, |
| | | orderNo: "", |
| | | orderInfo: [], |
| | | label: "", |
| | | innerCode: "", |
| | | PurchaseOrderNo: "éè´åå·ï¼", |
| | | matCode: "ç©æç¼ç ï¼", |
| | | LotNo: "ç©ææ¹æ¬¡ï¼", |
| | | orderQty: "è®¢åæ°éï¼", |
| | | Quantity: "", |
| | | ProductionDate: "çäº§æ¥æï¼", |
| | | EffectiveDate: "æææ¥æï¼", |
| | | |
| | | matName: "ç©æåç§°ï¼", |
| | | currentQty: "å·²æ«æ°éï¼", |
| | | scanQty: "累计æ°éï¼", |
| | | remaindQty: "å®é
æ°éï¼", |
| | | tagFocus: true, |
| | | numberFocus: false, |
| | | focus: true, |
| | | tag: "", |
| | | number: "", |
| | | tagmatCode: "ç©æç¼ç ï¼", |
| | | tagmatName: "ç©æåç§°ï¼", |
| | | tagQty: "å
è£
æ°éï¼", |
| | | value: "", |
| | | range: [], |
| | | floor: "", |
| | | floorrange: [], |
| | | printfloor: "", |
| | | printfloorrange: [], |
| | | barcode: "", |
| | | address: "", |
| | | istrue: false, |
| | | outNum: 0, |
| | | itemCode: "", |
| | | releasefocus: true, |
| | | releasevalue: "", |
| | | matInfo: [], |
| | | matTotals: [], |
| | | value2: "", |
| | | searchValue: "", |
| | | endType: "", |
| | | endTypeRange: [], |
| | | sns: "", |
| | | receiveOrderId:0, |
| | | } |
| | | }, |
| | | |
| | | onLoad(res) { |
| | | this.range = config.warehouseRange; |
| | | this.endTypeRange = config.outboundAreaRange; |
| | | if (config.outboundArea) { |
| | | this.endType = config.outboundArea; |
| | | } |
| | | if (config.warehouseArea) { |
| | | this.value = config.warehouseArea; |
| | | } |
| | | this.orderNo = res.orderNo; |
| | | this.receiveOrderId=res.receiveOrderId; |
| | | this.label = "æ¶è´§åå·ï¼" + this.orderNo; |
| | | this.getData(); |
| | | }, |
| | | mounted() { |
| | | this.printfloorrange = config.printFloorRange; |
| | | this.floorrange = config.outboundFloorRange; |
| | | if (config.outboundFloor) { |
| | | this.floor = config.outboundFloor; |
| | | } |
| | | if (config.printFloor) { |
| | | this.printfloor = config.printFloor; |
| | | } |
| | | }, |
| | | methods: { |
| | | inputDialogToggle(itemCode) { |
| | | this.itemCode = itemCode; |
| | | this.$refs.inputDialog.open() |
| | | }, |
| | | voiceSpeech(src) { |
| | | innerAudioContext.src = src; // '../../static/success.mp3'; |
| | | innerAudioContext.play(); |
| | | }, |
| | | search() { |
| | | this.getData(); |
| | | }, |
| | | releasebox() { |
| | | if (this.releasevalue.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "请æ«ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var param; |
| | | var matInfo = this.releasevalue.split('|'); |
| | | if (matInfo.length == 7) { |
| | | param = { |
| | | MainData: { |
| | | "innerCode": this.releasevalue |
| | | } |
| | | } |
| | | } else { |
| | | param = { |
| | | MainData: { |
| | | "barcode": this.releasevalue |
| | | } |
| | | } |
| | | } |
| | | this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => { |
| | | if (resdt.status) { |
| | | uni.$showMsg('è§£çæå!') |
| | | this.releasevalue = ""; |
| | | this.matInfo = []; |
| | | this.matTotals = []; |
| | | this.value2 = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: resdt.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | releaseboxInput() { |
| | | this.$nextTick(() => { |
| | | if (this.releasevalue.length == 0) { |
| | | return; |
| | | } |
| | | var matInfo = this.releasevalue.split('|'); |
| | | this.matInfo = []; |
| | | if (matInfo.length == 7) { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', { |
| | | MainData: { |
| | | "innerCode": this.releasevalue |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotals = res.data.stockTotal; |
| | | this.value2 = res.data.barcode; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } else { |
| | | this.$u.post('/api/StockOperate/GetStockInfoByBarcode', { |
| | | MainData: { |
| | | "barcode": this.releasevalue |
| | | } |
| | | }).then(res => { |
| | | if (res.status) { |
| | | this.matInfo = res.data.stockInfo; |
| | | this.matTotals = res.data.stockTotal; |
| | | this.value2 = res.data.barcode; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | updateFocus() { |
| | | this.$nextTick(() => { |
| | | this.innerCode = ''; |
| | | if (!this.focus) { |
| | | this.focus = true; |
| | | } |
| | | }); |
| | | }, |
| | | submit() { |
| | | if (this.sns == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if (this.Quantity == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "请è¾å
¥å®é
æ°é", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this |
| | | .orderNo, {}).then(res => { |
| | | if (res.status) { |
| | | this.$refs.uToast.show({ |
| | | title: "确认æ¶è´§æå", |
| | | type: "success" |
| | | }) |
| | | this.sns = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | submit1() { |
| | | this.$u.post('/api/ReceiveOrder/FeedbackReceiveOrder?orderId=' + this |
| | | .receiveOrderId, {}).then(x => { |
| | | if (x.status) { |
| | | this.$refs.uToast.show({ |
| | | title: "宿æ¶è´§æå", |
| | | type: "success" |
| | | }) |
| | | this.sns = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: x.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | inbound() { |
| | | if (this.barcode.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«ææçå·", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.address.length == 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå°åæ¡ç ", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var postData = { |
| | | MainData: { |
| | | "barcode": this.barcode, |
| | | "startPoint": this.address |
| | | } |
| | | } |
| | | this.$u.post('/api/Inbound/RequestInbound', postData).then(res => { |
| | | if (res.status) { |
| | | uni.$showMsg(res.message); |
| | | this.barcode = ""; |
| | | this.address = ""; |
| | | this.istrue = false; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | inputChangebarcode() { |
| | | this.istrue = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode != '') { |
| | | this.istrue = true; |
| | | } |
| | | }) |
| | | }, |
| | | onClickItem(e) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | if (this.current == 1) { |
| | | this.getData(); |
| | | } |
| | | } |
| | | }, |
| | | getData() { |
| | | var postData = { |
| | | MainData: { |
| | | orderNo: this.orderNo, |
| | | searchValue: this.searchValue |
| | | }, |
| | | } |
| | | this.$u.post('/api/ReceiveOrderDetail/GetReceiveOrderInfos', postData).then((res) => { |
| | | if (res.status) { |
| | | this.orderInfo = res.data; |
| | | if (this.orderInfo.length > 3) { |
| | | this.loadVisible = true; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | innercodeInput() { |
| | | this.$nextTick(() => { |
| | | if (this.innerCode == "") { |
| | | return; |
| | | } |
| | | var innerCode = this.innerCode; |
| | | setTimeout(() => { |
| | | this.innerCode = ""; |
| | | }, 10); |
| | | |
| | | this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => { |
| | | if (res.status) { |
| | | this.sns = res.data.serialNumber; |
| | | // this.matInfos.splice(0, this.matInfos.length); |
| | | // this.matInfos.push(res.data); |
| | | this.matCode = "ç©æç¼ç ï¼" + res.data.materielCode; |
| | | this.LotNo = "ç©ææ¹æ¬¡ï¼" + res.data.lotNo; |
| | | this.PurchaseOrderNo = "éè´åå·ï¼" + res.data.purchaseOrderNo; |
| | | this.EffectiveDate = "æææ¥æï¼" + res.data.effectiveDate; |
| | | this.ProductionDate = "çäº§æ¥æï¼" + res.data.productionDate; |
| | | this.orderQty = "è®¢åæ°éï¼" + res.data.quantity; |
| | | this.Quantity = res.data.quantity; |
| | | if (res.message) { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | return; |
| | | } |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/success.mp3'); |
| | | }, 100); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | setTimeout(() => { |
| | | this.voiceSpeech('../../static/fail.mp3'); |
| | | }, 100); |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | tagInput() { |
| | | this.$nextTick(() => { |
| | | var tagInfos = this.tag.split('|'); |
| | | if (tagInfos.length == 7) { |
| | | this.tagmatCode = "ç©æç¼ç ï¼" + tagInfos[1]; |
| | | this.tagQty = "ç©ææ°éï¼" + tagInfos[5]; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: "å
ç®±ç æ«æé误", |
| | | type: "error" |
| | | }) |
| | | } |
| | | this.numberFocus = true; |
| | | }) |
| | | }, |
| | | printTag() { |
| | | if (this.tag == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.number <= 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "请è¾å
¥æ°é", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.printfloor.length <= 0) { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·éæ©æ¥¼å±", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var postData = { |
| | | MainData: { |
| | | tag: this.tag, |
| | | number: this.number, |
| | | floor: this.printfloor |
| | | } |
| | | } |
| | | this.$u.post('/api/StockOperate/PrintTag', postData).then(res => { |
| | | if (res.status) { |
| | | this.$refs.uToast.show({ |
| | | title: "æå°æå", |
| | | type: "success" |
| | | }) |
| | | this.tagmatCode = "ç©æç¼ç ï¼"; |
| | | this.tagQty = "å
è£
æ°éï¼"; |
| | | this.tag = ""; |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | outbound(val) { |
| | | if (this.floor == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·éæ©æ¥¼å±", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.value == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·éæ©åºå", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | if (this.endType == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·éæ©åºåºåºå", |
| | | type: "error" |
| | | }) |
| | | return; |
| | | } |
| | | var postData = { |
| | | MainData: { |
| | | matCode: this.itemCode, |
| | | orderNo: this.orderNo, |
| | | system: this.value, |
| | | floor: this.floor, |
| | | outNum: val, |
| | | endType: this.endType |
| | | } |
| | | } |
| | | this.$u.post('/api/ErpOrder/ReceiveOrderOutbound', postData).then(res => { |
| | | if (res.status) { |
| | | this.$refs.uToast.show({ |
| | | title: "æå", |
| | | type: "success" |
| | | }) |
| | | this.getData(); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 150px; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 20px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |