| | |
| | | </view> |
| | | <view class="square-content"> |
| | | <view class="content-input-btn"> |
| | | <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findMat()" |
| | | <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findOrder()" |
| | | :focus="focus" placeholder-style="line-height: 85rpx;"> |
| | | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> |
| | | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrder()"></uni-icons> |
| | | </view> |
| | | <view class="content-btn"> |
| | | <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+提取</button> |
| | | <button class="cu-btn bg-blue pda-btn" @click="selectOrder()">+提取</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="data-list-left"> |
| | | <view class="matnr"><text style="width: 700rpx;">编码:{{item.matnr}}</text></view> |
| | | <view><text style="width: 700rpx;">品名:{{item.maktx}}</text></view> |
| | | <view><text style="width: 700rpx;">合同号:{{item.model}}</text></view> |
| | | <view><text style="width: 700rpx;">箱号:{{item.xh}}</text></view> |
| | | <view><text style="width: 700rpx;">批号:{{item.batch}}</text></view> |
| | | <view> |
| | | <text style="width: 700rpx;">数量:{{item.anfme}}</text> |
| | |
| | | <view class="num-box"> |
| | | <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/> |
| | | </view> |
| | | <button class="cu-btn" @click="changeMax">max</button> |
| | | <!-- <button class="cu-btn" @click="changeMax">max</button> --> |
| | | </view> |
| | | <view class="revise-box-buttom"> |
| | | <view> |
| | |
| | | check:false, |
| | | checkText:'全选', |
| | | checkedData:[], |
| | | matData: '' |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | // 获取url |
| | | getUrl() { |
| | | this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl |
| | | }, |
| | | selectOrder() { |
| | | let that = this |
| | | uni.vibrateShort(); |
| | | uni.navigateTo({ |
| | | url: "orderSelect", |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 另外一个页面传过来的 |
| | | acceptDataFromOpenedPage: function(data) { |
| | | that.matData = data.data |
| | | setTimeout(()=> { |
| | | that.findMat1() |
| | | },100) |
| | | }, |
| | | }, |
| | | success: function(res) { |
| | | // 通过eventChannel向被打开页面传送数据 向另外一个页面传递值的 |
| | | res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) |
| | | }, |
| | | |
| | | }); |
| | | that.matnr = '' |
| | | }, |
| | | findMat1() { |
| | | let that = this |
| | | uni.navigateTo({ |
| | | url: "orderQuery", |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 |
| | | matList1: function(data) { |
| | | that.checkMat(data.data) |
| | | // that.matList.push(data.data) |
| | | }, |
| | | }, |
| | | success: function(res) { |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | res.eventChannel.emit('matData', { data: that.matData }) |
| | | }, |
| | | }); |
| | | |
| | | }, |
| | | checkMat(mat) { |
| | | var len = this.matList.length |
| | | var add = true |
| | | 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) { |
| | | this.matList.unshift(mat) |
| | | } |
| | | }, |
| | | // barcode input 事件 |
| | | barcodeInput() { |
| | |
| | | if (res.code === 200) { |
| | | if(res.data) { |
| | | uni.showLoading(); |
| | | that.matList = res.data; |
| | | // res.data[0].combMats |
| | | for (let k in res.data[0].combMats) { |
| | | res.data[0].combMats[k]['id'] = k + 1 |
| | | } |
| | | that.matList = res.data[0].combMats; |
| | | that.orderNo = that.order |
| | | that.initAnfme() |
| | | console.log(that.matList) |
| | | } |
| | | } else if (res.code == 403) { |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | |
| | | } |
| | | .data-list { |
| | | border-bottom: 1px solid #d8d8d8; |
| | | height: 180rpx; |
| | | height: 250rpx; |
| | | margin: 15rpx; |
| | | border-radius: 20rpx; |
| | | } |
| | |
| | | height: 100%; |
| | | width: 100rpx; |
| | | text-align: center; |
| | | line-height: 170rpx; |
| | | line-height: 250rpx; |
| | | } |
| | | .data-list-left { |
| | | /* background-color: #ffff7f; */ |
| | | display: inline-block; |
| | | float: left; |
| | | height: 180rpx; |
| | | height: 250rpx; |
| | | width: 500rpx; |
| | | color: #676767; |
| | | } |
| | |
| | | float: right; |
| | | width: 100rpx; |
| | | height: 180rpx; |
| | | line-height: 180rpx; |
| | | line-height: 250rpx; |
| | | } |
| | | .data-list-right label { |
| | | display: inline-block; |
| | |
| | | <template> |
| | | <scroll-view scroll-y> |
| | | <view> |
| | | |
| | | <view class="container"> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>商品编码</text></view> |
| | | <view class="text-title"><text>{{matData.matnr}}</text></view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>商品名称</text></view> |
| | | <view class="text-title">{{matData.maktx}}</view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>规格</text></view> |
| | | <view class="text-title">{{matData.specs}}</view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>合同号</text></view> |
| | | <view class="text-title">{{matData.model}}</view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>箱号</text></view> |
| | | <view class="text-title">{{matData.xh}}</view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>批号</text></view> |
| | | <view class="text-title"><input type="text" v-model="matData.batch"></view> |
| | | </view> |
| | | <view class="text-box"> |
| | | <view class="text-title"><text>数量</text></view> |
| | | <view class="text-title"> |
| | | <view> |
| | | <uni-number-box :value="matData.anfme" :max="99999999" color="#747474" @change="changeValue"/> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="foot flex justify-center"> |
| | | <label> |
| | | <button class="cu-btn bg-blue" @click="back()">提取</button> |
| | | </label> |
| | | </view> |
| | | </scroll-view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | matData: { |
| | | matnr: null, |
| | | maktx: null, |
| | | batch: null, |
| | | anfme: null, |
| | | }, |
| | | baseIP:'', |
| | | basePORT:'', |
| | | } |
| | | }, |
| | | methods: { |
| | | onLoad(option) { |
| | | let that = this |
| | | // #ifdef APP-NVUE |
| | | const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE |
| | | // #endif |
| | | // #ifndef APP-NVUE |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | // #endif |
| | | |
| | | // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 |
| | | eventChannel.on('matData', function(data) { |
| | | console.log(data); |
| | | that.matData = data.data |
| | | that.matData.anfme = 0 |
| | | }) |
| | | |
| | | |
| | | }, |
| | | methods: { |
| | | blur() { |
| | | |
| | | }, |
| | | focus() { |
| | | |
| | | }, |
| | | changeValue(value) { |
| | | this.matData.anfme = value |
| | | }, |
| | | back() { |
| | | if (this.matData.anfme === 0) { |
| | | uni.showToast({title: '请输入数量', icon: "none", position: 'top'}); |
| | | return; |
| | | } |
| | | this.getOpenerEventChannel().emit('matList1', {data: this.matData}); |
| | | uni.vibrateShort(); |
| | | uni.navigateBack({ |
| | | |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .container { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #ffffff; |
| | | } |
| | | .text-box { |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | margin-top: 20rpx; |
| | | margin-left: 10%; |
| | | width: 80%; |
| | | font-size: 32rpx; |
| | | font-weight: 400; |
| | | color: #434343; |
| | | border-bottom: 1rpx solid #e8e8e8; |
| | | } |
| | | .text-box:last-child { |
| | | border-bottom: none; |
| | | } |
| | | .text-box .text-title { |
| | | width: 30%; |
| | | height: 100rpx; |
| | | float: left; |
| | | display: inline-block; |
| | | } |
| | | .text-box .text-title:last-child { |
| | | display: inline-block; |
| | | margin-left: 5%; |
| | | width: 65%; |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #747474; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .text-box .text-title:last-child input { |
| | | border-bottom: 1rpx solid #e8e8e8 ; |
| | | width: 100%; |
| | | } |
| | | |
| | | |
| | | .foot { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | background-color: rgba(255,255,255,1); |
| | | position: fixed; |
| | | bottom: 0%; |
| | | border-top: 1px solid #d8d8d8; |
| | | z-index: 1; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <template> |
| | | <view> |
| | | <scroll-view scroll-y > |
| | | <view class="search-box"> |
| | | <view class="search-area"> |
| | | <view class="search-icon"><uni-icons type="search" size="25" color="#a5a5a5"></uni-icons></view> |
| | | <input type="text" v-model="condition" placeholder="请输入商品编码 / 名称"/> |
| | | <view class="close-icon" @click="reset()"><uni-icons type="closeempty" size="25" color="#a5a5a5"></uni-icons></view> |
| | | </view> |
| | | <view class="search-btn"><button @click="search(condition)" class="cu-btn bg-blue">搜索</button></view> |
| | | </view> |
| | | <checkbox-group @change="checkbox"> |
| | | <label v-for="(item,index) in tag" :key="index" class="demo-list bg-false" |
| | | @click="showTag(item.id)"> |
| | | <view class="demo-list-right"> |
| | | <view class="tag"> |
| | | <view class="cu-tag bg-blue ">订单</view> |
| | | </view> |
| | | |
| | | <view class="order-ditel"><text class="orderNo">{{item.orderNo}}</text></view> |
| | | </view> |
| | | </label> |
| | | |
| | | </checkbox-group> |
| | | <checkbox-group> |
| | | <label v-for="(item,index) in data" :key="index" class="demo-list bg-false" |
| | | @click="findBySelect(item)"> |
| | | <view class="demo-list-right"> |
| | | <view class="tag"> |
| | | <view class="cu-tag bg-cyan ">订单明细</view> |
| | | </view> |
| | | <view class="matnr" style="font-size: 16px;"><text style="min-width: 400rpx;font-size: 12px;">{{item.matnr}}</text></view> |
| | | <view class="matnr" style="font-size: 16px;"><text style="min-width: 400rpx;font-size: 12px;">{{item.maktx}}</text></view> |
| | | <view class="matnr" style="font-size: 16px;"><text style="min-width: 400rpx;font-size: 12px;">{{item.specs}}</text></view> |
| | | </view> |
| | | </label> |
| | | </checkbox-group> |
| | | </scroll-view> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | commonUrl:null, |
| | | condition:null, |
| | | tag: [], |
| | | data: [], |
| | | } |
| | | }, |
| | | methods: { |
| | | onLoad() { |
| | | let that = this |
| | | // const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | |
| | | // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 |
| | | eventChannel.on('commonUrl', function(data) { |
| | | that.commonUrl = data.commonUrl |
| | | that.showTag1(1) |
| | | }) |
| | | }, |
| | | methods: { |
| | | checkbox() { |
| | | |
| | | }, |
| | | reset() { |
| | | this.condition = null |
| | | uni.vibrateShort(); |
| | | }, |
| | | search(condition) { |
| | | let that = this |
| | | that.tag = null |
| | | that.data = null |
| | | uni.vibrateShort(); |
| | | uni.showLoading({ |
| | | title: '搜索中...' |
| | | }); |
| | | uni.request({ |
| | | // url: "http://localhost:8081/jkwms/tag/list/pda/auth", |
| | | url: that.commonUrl + '/order/head/page/auth', |
| | | data: { |
| | | condition: condition |
| | | }, |
| | | method:"GET", |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | success(result) { |
| | | uni.hideLoading(); |
| | | var res = result.data |
| | | if (res.code === 200 ) { |
| | | that.data = res.data |
| | | } 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'}) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | showTag1(parentId) { |
| | | let that = this |
| | | uni.showLoading(); |
| | | uni.request({ |
| | | url: that.commonUrl + '/order/head/page/auth', |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | data: { |
| | | curr: 1, |
| | | limit: 100000, |
| | | // parentId: parentId |
| | | }, |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | success(result) { |
| | | console.log(result) |
| | | that.tag = null |
| | | that.data = null |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | if (res.data != null && res.data.records.length > 0) { |
| | | that.tag = res.data.records |
| | | } else { |
| | | that.showMat(parentId) |
| | | } |
| | | } 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'}) |
| | | } |
| | | uni.hideLoading(); |
| | | } |
| | | }); |
| | | }, |
| | | showTag(parentId) { |
| | | let that = this |
| | | uni.showLoading(); |
| | | uni.request({ |
| | | url: that.commonUrl + '/orderDetl/list/auth', |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | data: { |
| | | curr: 1, |
| | | limit: 100000, |
| | | order_id: parentId |
| | | }, |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | success(result) { |
| | | console.log(result) |
| | | that.tag = null |
| | | that.data = null |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | if (res.data != null && res.data.records.length > 0) { |
| | | that.data = res.data.records |
| | | } else { |
| | | that.showMat(parentId) |
| | | } |
| | | } 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'}) |
| | | } |
| | | uni.hideLoading(); |
| | | } |
| | | }); |
| | | }, |
| | | showMat(tagId) { |
| | | uni.vibrateShort(); |
| | | return |
| | | let that = this |
| | | if (tagId == null || tagId == '' || tagId == undefined) { |
| | | return; |
| | | } |
| | | uni.request({ |
| | | url: that.commonUrl + '/order/head/page/auth', |
| | | data: { |
| | | curr: 1, |
| | | limit: 100000, |
| | | }, |
| | | method:"GET", |
| | | header: { |
| | | 'token':uni.getStorageSync('token'), |
| | | }, |
| | | success(result) { |
| | | console.log(result) |
| | | that.tag = null |
| | | var res = result.data |
| | | if (res.code === 200) { |
| | | if (res.data != null && res.data.length > 0) { |
| | | uni.showLoading(); |
| | | that.data = res.data.records |
| | | uni.hideLoading(); |
| | | } else { |
| | | // that.tagId = parentId |
| | | } |
| | | } 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'}) |
| | | } |
| | | |
| | | } |
| | | }); |
| | | }, |
| | | findBySelect(item) { |
| | | console.log(item); |
| | | this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: item}); |
| | | uni.vibrateShort(); |
| | | uni.navigateBack({ |
| | | |
| | | }) |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .matnr { |
| | | margin-left: 60rpx; |
| | | } |
| | | .matnr:last-child { |
| | | margin-top: 0rpx; |
| | | } |
| | | .tag { |
| | | padding-left: 50rpx; |
| | | padding-top: 10rpx; |
| | | width: 100%; |
| | | border-bottom: 1px solid #ebebeb; |
| | | } |
| | | .search-box { |
| | | position: fixed; |
| | | left: 0; |
| | | top: 0; |
| | | width: 100%; |
| | | height: 100rpx; |
| | | background-color: #FFF; |
| | | border-bottom: 1px solid #d8d8d8; |
| | | border-radius: 0 0 20rpx 20rpx; |
| | | z-index: 1; |
| | | } |
| | | /*#ifdef H5 */ |
| | | .search-box { |
| | | position: fixed; |
| | | left: 0; |
| | | top: 89rpx; |
| | | width: 100%; |
| | | height: 100rpx; |
| | | background-color: #ffffff; |
| | | border-bottom: 1px solid #d8d8d8; |
| | | border-radius: 0 0 20rpx 20rpx; |
| | | z-index: 1; |
| | | } |
| | | /* #endif */ |
| | | .search-area { |
| | | display: inline-block; |
| | | background-color: #F1F1F1; |
| | | width: 75%; |
| | | height: 70%; |
| | | margin: 15rpx; |
| | | border-radius: 15rpx; |
| | | } |
| | | .search-area input { |
| | | display: inline-block; |
| | | height: 70rpx; |
| | | width: 70%; |
| | | line-height: 70rpx; |
| | | font-size: 25rpx; |
| | | font-weight: 400; |
| | | } |
| | | .search-btn { |
| | | display: inline-block; |
| | | float: right; |
| | | margin-right: 30rpx; |
| | | margin-top: 15rpx; |
| | | } |
| | | .search-icon { |
| | | display: inline-block; |
| | | float: left; |
| | | width: 70rpx; |
| | | height: 70rpx; |
| | | text-align: center; |
| | | line-height: 70rpx; |
| | | |
| | | } |
| | | .close-icon { |
| | | display: inline-block; |
| | | float: right; |
| | | width: 70rpx; |
| | | height: 70rpx; |
| | | text-align: center; |
| | | line-height: 70rpx; |
| | | } |
| | | .bg-false { |
| | | background-color: #FFFFFF; |
| | | } |
| | | .bg-true { |
| | | background-color: #ebebeb; |
| | | } |
| | | .demo-list { |
| | | border-bottom: 1px solid #d8d8d8; |
| | | height: 220rpx; |
| | | margin: 15rpx; |
| | | border-radius: 20rpx; |
| | | } |
| | | .demo-list:first-child { |
| | | margin-top: 120rpx; |
| | | } |
| | | .demo-list:last-child { |
| | | margin-bottom: 120rpx; |
| | | } |
| | | label { |
| | | display: block; |
| | | } |
| | | .demo-list-left { |
| | | display: inline-block; |
| | | float: left; |
| | | text-align: center; |
| | | width: 100rpx; |
| | | height: 220rpx; |
| | | line-height: 220rpx; |
| | | } |
| | | .demo-list-right { |
| | | float: left; |
| | | width: 100%; |
| | | height: 220rpx; |
| | | color: #828282; |
| | | /* background-color: #3b3b3b; */ |
| | | } |
| | | .order-ditel { |
| | | margin-top: 30rpx; |
| | | height: 60rpx; |
| | | width: 600rpx; |
| | | line-height: 60rpx; |
| | | } |
| | | |
| | | .demo-list-right .index { |
| | | width: 120rpx; |
| | | height: 25rpx; |
| | | line-height: 25rpx; |
| | | font-size: 40rpx; |
| | | border-right: 4rpx solid #6f6f6f; |
| | | padding-left: 0px; |
| | | padding-right: 10rpx; |
| | | color: #3b3b3b; |
| | | /* background-color: #007AFF; */ |
| | | } |
| | | .demo-list-right .orderNo { |
| | | padding-left: 30rpx; |
| | | font-size: 35rpx; |
| | | width: 400rpx; |
| | | color: #3b3b3b; |
| | | /* background-color: #0A98D5; */ |
| | | } |
| | | .demo-list-right .vertical-bar { // 竖杠 |
| | | /* background-color: #6739B6; */ |
| | | width: 50rpx; |
| | | font-size: 30rpx; |
| | | text-align: center; |
| | | } |
| | | .demo-list-right text { |
| | | display: inline-block; |
| | | width: 250rpx; |
| | | font-size: 25rpx; |
| | | } |
| | | .color-red { |
| | | width: auto; |
| | | font-weight: 700; |
| | | color: #e74f4f; |
| | | } |
| | | |
| | | |
| | | .label-btn { |
| | | width: 150rpx; |
| | | } |
| | | checkbox { |
| | | /* transform:scale(0.7) */ |
| | | } |
| | | </style> |