| New file | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view > | 
|---|
|  |  |  | <scroll-view scroll-y catch:touchmove="touchmove"> | 
|---|
|  |  |  | <view class="square-2"> | 
|---|
|  |  |  | <view class="square-title"> | 
|---|
|  |  |  | <view class="title-sign"><view class="sign"></view></view> | 
|---|
|  |  |  | <view class="title-text"><text>订单号</text></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="square-content"> | 
|---|
|  |  |  | <view class="content-input"> | 
|---|
|  |  |  | <input v-model="orderNo" type="text" placeholder="扫码 / 输入" | 
|---|
|  |  |  | :focus="orderNoFocus" @input="findOrder()" placeholder-style="line-height:  85rpx;"> | 
|---|
|  |  |  | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrderNo()"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="square-2"> | 
|---|
|  |  |  | <view class="square-title"> | 
|---|
|  |  |  | <view class="title-sign"><view class="sign"></view></view> | 
|---|
|  |  |  | <view class="title-text"><text>托盘条码</text></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="square-content"> | 
|---|
|  |  |  | <view class="content-input"> | 
|---|
|  |  |  | <input v-model="barcode" type="text" placeholder="扫码 / 输入" | 
|---|
|  |  |  | :focus="barcodeFocus" @input="checkedBarcode()" placeholder-style="line-height:  85rpx;"> | 
|---|
|  |  |  | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="square-1"> | 
|---|
|  |  |  | <view class="square-title"> | 
|---|
|  |  |  | <view class="title-sign"><view class="sign"></view></view> | 
|---|
|  |  |  | <view class="title-text"><text>是否冻结</text></view> | 
|---|
|  |  |  | <radio-group @change="isFrozen"> | 
|---|
|  |  |  | <label> | 
|---|
|  |  |  | <radio :checked="ck1" style="margin-left: 100rpx;"/><text>是</text> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <label> | 
|---|
|  |  |  | <radio :checked="ck2" style="margin-left: 50rpx;"/><text>否</text> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </radio-group> | 
|---|
|  |  |  | <!-- <radio :value="yes" style="margin-left: 100rpx;">是</radio> | 
|---|
|  |  |  | <radio :value="no" style="margin-left: 50rpx;">否</radio> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="square-2"> | 
|---|
|  |  |  | <view class="square-title"> | 
|---|
|  |  |  | <view class="title-sign"><view class="sign"></view></view> | 
|---|
|  |  |  | <view class="title-text"><text>检索商品</text></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="square-content"> | 
|---|
|  |  |  | <view class="content-input-btn"> | 
|---|
|  |  |  | <input v-model="matnr" type="text" placeholder="扫码 / 输入" @input="findMat()" | 
|---|
|  |  |  | :focus="focus" placeholder-style="line-height:  85rpx;"> | 
|---|
|  |  |  | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="content-btn"> | 
|---|
|  |  |  | <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+提取</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="square-1"> | 
|---|
|  |  |  | <view class="square-title"> | 
|---|
|  |  |  | <view class="title-sign"><view class="sign"></view></view> | 
|---|
|  |  |  | <view class="title-text"><text>商品列表</text></view> | 
|---|
|  |  |  | <!-- <label v-show="matList.length != 0" style="float: right;margin-right: 20px;margin-top: 13px;"><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons></label> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="square-none"  v-show="matList.length === 0"> | 
|---|
|  |  |  | <view class="v-show">暂无更多数据...</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <checkbox-group @change="checkbox"> | 
|---|
|  |  |  | <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
|---|
|  |  |  | <view class="data-list-left"> | 
|---|
|  |  |  | <!-- <view> | 
|---|
|  |  |  | <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <table> | 
|---|
|  |  |  | <tr><td>编号:</td><td>{{item.matnr}}</td></tr> | 
|---|
|  |  |  | </table> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">品名:{{item.maktx}}</text></view> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">规格:{{item.specs}}</text></view> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">入库区域:{{item.matType$}}</text></view> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">批号:{{item.batch}}</text></view> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">客户信息:{{item.owner}}</text></view> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <text style="width: 400rpx;">备注:{{item.memo}}</text> | 
|---|
|  |  |  | <text style="width: 400rpx;margin-left: 100rpx">数量:{{item.anfme}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- <view> | 
|---|
|  |  |  | <text style="width: 400rpx;">数量:{{item.anfme}}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="data-list-right"> | 
|---|
|  |  |  | <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> | 
|---|
|  |  |  | <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </checkbox-group> | 
|---|
|  |  |  | </scroll-view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 底部按钮 --> | 
|---|
|  |  |  | <view class="footer flex justify-around"> | 
|---|
|  |  |  | <!-- <label class="label-btn" style="width: 170rpx;"> | 
|---|
|  |  |  | <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <label class="label-btn" style="width: 100rpx;"> | 
|---|
|  |  |  | <text  @click="reChecked()">反选</text> | 
|---|
|  |  |  | </label> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <label class="label-btn" style="width: 150rpx;"> | 
|---|
|  |  |  | <button class="cu-btn" @click="resst()">重置</button> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <label class="label-btn"> | 
|---|
|  |  |  | <button class="cu-btn bg-blue " @click="comb()">组托</button> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <!-- 修改数量 --> | 
|---|
|  |  |  | <uni-popup ref="revise" > | 
|---|
|  |  |  | <view class="revise-box "> | 
|---|
|  |  |  | <view class="revise-box-top"> | 
|---|
|  |  |  | <view class="color-block-blue"></view> | 
|---|
|  |  |  | <text class="title">修改</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> | 
|---|
|  |  |  | <text style="display: inline-block;float: left;width: 50px;">批号:</text> | 
|---|
|  |  |  | <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="batch"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> | 
|---|
|  |  |  | <text style="display: inline-block;float: left;width: 50px;">备注:</text> | 
|---|
|  |  |  | <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="memo"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> | 
|---|
|  |  |  | <text style="display: inline-block;float: left;width: 50px;">客户:</text> | 
|---|
|  |  |  | <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="cstmr"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="changeBox"> | 
|---|
|  |  |  | <view class="num-box"> | 
|---|
|  |  |  | <text style="display: inline-block;float: left;width: 50px;">数量:</text> | 
|---|
|  |  |  | <uni-number-box :value="count" :max="9999999" color="#747474"  @change="changeValue"/> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="revise-box-buttom"> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <button class="cu-btn bg-blue" @click="confirm()">确认</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import permision from "@/common/permission.js" | 
|---|
|  |  |  | import loginVue from "../login/login.vue"; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | commonUrl:null, | 
|---|
|  |  |  | orderNo: '', | 
|---|
|  |  |  | barcode: '', | 
|---|
|  |  |  | orderNoFocus: true, | 
|---|
|  |  |  | barcodeFocus: false, | 
|---|
|  |  |  | focus:false, | 
|---|
|  |  |  | type: 'center', | 
|---|
|  |  |  | searchBox: 'hide', | 
|---|
|  |  |  | pick:'hide', | 
|---|
|  |  |  | matnr:'', | 
|---|
|  |  |  | matList:[], | 
|---|
|  |  |  | result: '', | 
|---|
|  |  |  | enableQty:'', | 
|---|
|  |  |  | count:'', | 
|---|
|  |  |  | minCount:0, | 
|---|
|  |  |  | maxCount:'', | 
|---|
|  |  |  | rowNum:'', | 
|---|
|  |  |  | check:false, | 
|---|
|  |  |  | checkText:'全选', | 
|---|
|  |  |  | checkedData:[], | 
|---|
|  |  |  | batch:'', | 
|---|
|  |  |  | memo: '', | 
|---|
|  |  |  | cstmr: '', | 
|---|
|  |  |  | ck1: false, | 
|---|
|  |  |  | ck2: true, | 
|---|
|  |  |  | frozen: 0, | 
|---|
|  |  |  | owner: '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | setTimeout(()=>{ | 
|---|
|  |  |  | // this.focuss() | 
|---|
|  |  |  | }, 100); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mounted(){ | 
|---|
|  |  |  | const UIP = uni.getStorageSync('UIP'); | 
|---|
|  |  |  | this.baseIP = UIP; | 
|---|
|  |  |  | const UPORT = uni.getStorageSync('UPORT'); | 
|---|
|  |  |  | this.basePORT = UPORT | 
|---|
|  |  |  | const PROJ = uni.getStorageSync('UPROJ'); | 
|---|
|  |  |  | this.baseUrl = PROJ | 
|---|
|  |  |  | this.getUrl() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 获取url | 
|---|
|  |  |  | getUrl() { | 
|---|
|  |  |  | this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取订单 | 
|---|
|  |  |  | findOrder() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: _this.commonUrl + '/mobile/order/search/orderNo/auth', | 
|---|
|  |  |  | data: {orderNo: _this.orderNo}, | 
|---|
|  |  |  | header: { 'token':uni.getStorageSync('token') }, | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200 ) { | 
|---|
|  |  |  | _this.matList = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 检查条码 | 
|---|
|  |  |  | checkedBarcode() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.commonUrl + '/mobile/barcode/auth', | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | barcode: that.barcode, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | 'token':uni.getStorageSync('token') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 500) { | 
|---|
|  |  |  | that.barcodeFocuss() | 
|---|
|  |  |  | uni.showToast({title: res.msg, icon: "none", position: 'top'}); | 
|---|
|  |  |  | } else if(res.code === 200) { | 
|---|
|  |  |  | that.barcodeInput() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 冻结 | 
|---|
|  |  |  | isFrozen() { | 
|---|
|  |  |  | var temp = this.ck1 | 
|---|
|  |  |  | this.ck1 = this.ck2 | 
|---|
|  |  |  | this.ck2 = temp | 
|---|
|  |  |  | this.frozen = this.ck1 | 
|---|
|  |  |  | if (this.frozen == true) { | 
|---|
|  |  |  | this.frozen = 1 | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.frozen = 0 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // barcode input 事件 | 
|---|
|  |  |  | barcodeInput() { | 
|---|
|  |  |  | // 不设置定时器 会出现扫入的字符串不全 | 
|---|
|  |  |  | setTimeout(()=>{ | 
|---|
|  |  |  | var len = this.barcode.length | 
|---|
|  |  |  | if (len != 8) { | 
|---|
|  |  |  | uni.showToast({title: '托盘码有误请重试', icon: "none", position: 'top'}); | 
|---|
|  |  |  | this.barcodeFocuss() | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.focuss() | 
|---|
|  |  |  | },200) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 托盘码有误重置 | 
|---|
|  |  |  | barcodeFocuss() { | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | that.barcodeFocus = false; | 
|---|
|  |  |  | setTimeout(()=>{ | 
|---|
|  |  |  | that.barcode = ''; | 
|---|
|  |  |  | that.barcodeFocus = true; | 
|---|
|  |  |  | }, 100); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 商品光标清空重置 | 
|---|
|  |  |  | focuss() { | 
|---|
|  |  |  | // #ifdef APP | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | that.focus = false; | 
|---|
|  |  |  | setTimeout(()=>{ | 
|---|
|  |  |  | that.matnr = ''; | 
|---|
|  |  |  | that.focus = true; | 
|---|
|  |  |  | }, 100); | 
|---|
|  |  |  | // #endif | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | resst() { | 
|---|
|  |  |  | this.matList = [] | 
|---|
|  |  |  | this.barcode = '' | 
|---|
|  |  |  | this.matnr = '' | 
|---|
|  |  |  | this.barcodeFocuss() | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | removeOrderNo() { | 
|---|
|  |  |  | this.orderNo = '' | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | this.orderNoFocus = false; | 
|---|
|  |  |  | this.$nextTick(function() { | 
|---|
|  |  |  | this.orderNoFocus = true; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | removeBarcode() { | 
|---|
|  |  |  | this.barcode = '' | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | this.barcodeFocus = false; | 
|---|
|  |  |  | this.$nextTick(function() { | 
|---|
|  |  |  | this.barcodeFocus = true; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | removeMatnr() { | 
|---|
|  |  |  | this.matnr = '' | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | this.focus = false; | 
|---|
|  |  |  | this.$nextTick(function() { | 
|---|
|  |  |  | this.focus = true; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 列表删除按钮 | 
|---|
|  |  |  | remove(item,index) { | 
|---|
|  |  |  | this.matList.splice(index,1) | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | comb() { | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | if (that.barcode === '') { | 
|---|
|  |  |  | uni.showToast({title: '请扫描托盘条码', icon: "none", position: 'top'}); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (that.matList.length === 0) { | 
|---|
|  |  |  | uni.showToast({title: '请添加商品列表', icon: "none", position: 'top'}); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (var i = 0; i < that.matList.length; i++) { | 
|---|
|  |  |  | if (that.matList[i].anfme == 0 || that.matList[i].anfme == '') { | 
|---|
|  |  |  | uni.showToast({title: that.matList[i].matnr + '组托数量不能为0', icon: "none", position: 'top'}); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 客户信息中文转数字 | 
|---|
|  |  |  | for (let k in that.matList) { | 
|---|
|  |  |  | for (let t in that.owner) { | 
|---|
|  |  |  | if (that.matList[k].owner == that.owner[t].owner) { | 
|---|
|  |  |  | that.matList[k].owner = that.owner[t].id | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.showLoading(); | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.commonUrl + '/mobile/comb/auth', | 
|---|
|  |  |  | data: JSON.stringify({ | 
|---|
|  |  |  | frozen: that.frozen, | 
|---|
|  |  |  | barcode: that.barcode, | 
|---|
|  |  |  | orderNo: that.orderNo, | 
|---|
|  |  |  | combMats: that.matList | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | 'token':uni.getStorageSync('token') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | uni.hideLoading(); | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | const innerAudioContext = uni.createInnerAudioContext(); | 
|---|
|  |  |  | innerAudioContext.src = '/static/music/pakinOk.mp3'; | 
|---|
|  |  |  | innerAudioContext.play() | 
|---|
|  |  |  | that.resst(); | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: res.msg, | 
|---|
|  |  |  | position: 'bottom', | 
|---|
|  |  |  | duration: 1000 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | uni.reLaunch({ | 
|---|
|  |  |  | url: '../login/login' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (let k in that.matList) { | 
|---|
|  |  |  | for (let t in that.owner) { | 
|---|
|  |  |  | if (that.matList[k].owner == that.owner[t].id) { | 
|---|
|  |  |  | that.matList[k].owner = that.owner[t].owner | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | selectMat() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: "matSelect", | 
|---|
|  |  |  | events: { | 
|---|
|  |  |  | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的 | 
|---|
|  |  |  | acceptDataFromOpenedPage: function(data) { | 
|---|
|  |  |  | that.matnr = data.data | 
|---|
|  |  |  | that.findMat(that.matnr) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success: function(res) { | 
|---|
|  |  |  | // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的 | 
|---|
|  |  |  | res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | that.matnr = '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | findMat() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.commonUrl + '/mat/auth', | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | matnr:that.matnr | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | header: { | 
|---|
|  |  |  | 'token':uni.getStorageSync('token') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | let res = result.data | 
|---|
|  |  |  | if (res.code === 200 && res.data) { | 
|---|
|  |  |  | that.matData = res.data | 
|---|
|  |  |  | that.matnr = '' | 
|---|
|  |  |  | that.matData['batch'] = '' | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: "matQuery", | 
|---|
|  |  |  | events: { | 
|---|
|  |  |  | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
|---|
|  |  |  | matList: function(data) { | 
|---|
|  |  |  | that.checkMat(data.data) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | owner: function(data) { | 
|---|
|  |  |  | that.owner = data.data | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | success: function(res) { | 
|---|
|  |  |  | // 通过eventChannel向被打开页面传送数据 | 
|---|
|  |  |  | res.eventChannel.emit('matData', { data: that.matData }) | 
|---|
|  |  |  | res.eventChannel.emit('url', { data: that.commonUrl }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | uni.reLaunch({ | 
|---|
|  |  |  | url: '../login/login' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 添加商品 | 
|---|
|  |  |  | addMat(mat) { | 
|---|
|  |  |  | this.matList.unshift(mat) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | checkMat(mat) { | 
|---|
|  |  |  | var len = this.matList.length | 
|---|
|  |  |  | var add = true | 
|---|
|  |  |  | var date = new Date() | 
|---|
|  |  |  | var today = date.getFullYear() + '/' + (date.getMonth()+1) + '/' + date.getDate() | 
|---|
|  |  |  | for (var i = 0; i < len; i++) { | 
|---|
|  |  |  | if (mat.matnr == this.matList[i].matnr) { | 
|---|
|  |  |  | this.matList[i].anfme += mat.anfme | 
|---|
|  |  |  | this.$forceUpdate() // 强制刷新 | 
|---|
|  |  |  | add = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (add) { | 
|---|
|  |  |  | if(mat.batch === '' || mat.batch === null) { | 
|---|
|  |  |  | // mat.batch = today | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.matList.unshift(mat) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | change(e) { | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | toggle(type) { | 
|---|
|  |  |  | this.type = type | 
|---|
|  |  |  | // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
|---|
|  |  |  | this.$refs.goodsSearch.open(type) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | checkbox: function (e) { | 
|---|
|  |  |  | var items = this.matList, | 
|---|
|  |  |  | values = e.detail.value; | 
|---|
|  |  |  | for (var i = 0, lenI = items.length; i < lenI; ++i) { | 
|---|
|  |  |  | const item = items[i] | 
|---|
|  |  |  | item.id = item.id + '' | 
|---|
|  |  |  | if(values.indexOf(item.id) >= 0){ | 
|---|
|  |  |  | this.$set(item,'checked',true) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.$set(item,'checked',false) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (values.length == items.length) { | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | revise(item,index) { | 
|---|
|  |  |  | this.count = this.matList[index].anfme | 
|---|
|  |  |  | this.batch = this.matList[index].batch | 
|---|
|  |  |  | this.memo = this.matList[index].memo | 
|---|
|  |  |  | this.cstmr = this.matList[index].cstmr | 
|---|
|  |  |  | this.rowNum = index | 
|---|
|  |  |  | this.eject() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | eject(type) { | 
|---|
|  |  |  | this.type = type | 
|---|
|  |  |  | // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
|---|
|  |  |  | this.$refs.revise.open(type) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeValue(value) { | 
|---|
|  |  |  | this.count = value | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | this.matList[this.rowNum].anfme = this.count | 
|---|
|  |  |  | this.matList[this.rowNum].batch = this.batch | 
|---|
|  |  |  | this.matList[this.rowNum].memo = this.memo | 
|---|
|  |  |  | this.matList[this.rowNum].cstmr = this.cstmr | 
|---|
|  |  |  | this.$refs.revise.close() | 
|---|
|  |  |  | this.$forceUpdate() // 强制刷新 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 列表反选 | 
|---|
|  |  |  | reChecked() { | 
|---|
|  |  |  | if (this.matList.length == 0) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | var checkArr = [] | 
|---|
|  |  |  | for (var i = 0; i < this.matList.length;i++) { | 
|---|
|  |  |  | if (this.matList[i].checked == true) { | 
|---|
|  |  |  | this.$set(this.matList[i],'checked',false) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.$set(this.matList[i],'checked',true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.matList[i].checked == true) { | 
|---|
|  |  |  | checkArr.push(this.matList[i].checked) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (checkArr.length == this.matList.length) { | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 列表全选 | 
|---|
|  |  |  | allChecked(e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.check == true) { | 
|---|
|  |  |  | for (var i = 0; i < this.matList.length;i++) { | 
|---|
|  |  |  | this.$set(this.matList[i],'checked',false) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (var i = 0; i < this.matList.length;i++) { | 
|---|
|  |  |  | this.$set(this.matList[i],'checked',true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | /* @import "../../colorui/main.css"; | 
|---|
|  |  |  | @import "../../colorui/icon.css"; */ | 
|---|
|  |  |  | .revise-box { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | width: 500rpx; | 
|---|
|  |  |  | height: 570rpx; | 
|---|
|  |  |  | border-radius: 25px; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .revise-box-top { | 
|---|
|  |  |  | width: 400rpx; | 
|---|
|  |  |  | height: 120rpx; | 
|---|
|  |  |  | border-radius: 25px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .changeBox { | 
|---|
|  |  |  | width: 400rpx; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .num-box { | 
|---|
|  |  |  | margin-left: 100rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .revise-box-buttom{ | 
|---|
|  |  |  | margin-left: 190rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .pak-seach-box { | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0rpx 15rpx; | 
|---|
|  |  |  | width: 96%; | 
|---|
|  |  |  | height: 150rpx; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .box-top{ | 
|---|
|  |  |  | display: block; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | width: 720rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .color-block-blue { | 
|---|
|  |  |  | background-color: #1E9FFF; | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0 15rpx; | 
|---|
|  |  |  | width: 12rpx; | 
|---|
|  |  |  | height: 40rpx; | 
|---|
|  |  |  | border: 5rpx solid #1E9FFF; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | font-size: 34rpx; | 
|---|
|  |  |  | font-weight: 700; | 
|---|
|  |  |  | height: 50rpx; | 
|---|
|  |  |  | line-height: 50rpx; | 
|---|
|  |  |  | margin-top: 10rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .box-buttom { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | background-color: #ededed; | 
|---|
|  |  |  | width: 65%; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0rpx 15rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .box-buttom input { | 
|---|
|  |  |  | width: 75%; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | margin: 8rpx 10rpx 0rpx 25rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .box-buttom .search-icon{ | 
|---|
|  |  |  | width: 60rpx; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | float: right; | 
|---|
|  |  |  | margin-top: 5rpx; | 
|---|
|  |  |  | margin-right: 10rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* .pak-seach-box input { | 
|---|
|  |  |  | background-color: #ededed; | 
|---|
|  |  |  | border: 1rpx solid #d8d8d8; | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | width: 70%; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | line-height: 60rpx; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0rpx 15rpx; | 
|---|
|  |  |  | padding-left: 20rpx; | 
|---|
|  |  |  | } */ | 
|---|
|  |  |  | .pak-seach-box button { | 
|---|
|  |  |  | background-color: #1E9FFF; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: right; | 
|---|
|  |  |  | width: 180rpx; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0rpx 15rpx; | 
|---|
|  |  |  | line-height: 60rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .pakin-btn { | 
|---|
|  |  |  | background-color: #1E9FFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .pak-data-box { | 
|---|
|  |  |  | background-color: #F1F1F1; | 
|---|
|  |  |  | margin: 15rpx 15rpx 0rpx 15rpx; | 
|---|
|  |  |  | width: 96%; | 
|---|
|  |  |  | height: 70rpx; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .pak-data-box .box-top { | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | height: 70rpx; | 
|---|
|  |  |  | border-radius: 20rpx 20rpx 20rpx 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg-false { | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg-true { | 
|---|
|  |  |  | background-color: #ebebeb; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .data-list { | 
|---|
|  |  |  | border-bottom: 1px solid #d8d8d8; | 
|---|
|  |  |  | min-height: 320rpx; | 
|---|
|  |  |  | margin: 15rpx; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .data-list:first-child { | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .data-list:last-child { | 
|---|
|  |  |  | margin-bottom: 180rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* .data-list-left { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | line-height: 180rpx; | 
|---|
|  |  |  | } */ | 
|---|
|  |  |  | .data-list-left { | 
|---|
|  |  |  | margin-left: 6%; | 
|---|
|  |  |  | min-height: 320rpx; | 
|---|
|  |  |  | color: #676767; | 
|---|
|  |  |  | width: 500rpx; | 
|---|
|  |  |  | color: #676767; | 
|---|
|  |  |  | max-width: 450rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .matnr { | 
|---|
|  |  |  | padding-top: 10rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .data-list-right { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: right; | 
|---|
|  |  |  | min-height: 290rpx; | 
|---|
|  |  |  | line-height: 290rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* display: inline-block; | 
|---|
|  |  |  | float: right; | 
|---|
|  |  |  | width: 200rpx; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | line-height: 180rpx; */ | 
|---|
|  |  |  | .data-list-right label { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | width: 80rpx; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|