From b734a58af483fcf3e0234905bdaeafe81360cbe3 Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期二, 22 三月 2022 15:29:09 +0800
Subject: [PATCH] # wms - saas
---
pages/basics/combPro.vue | 536 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 387 insertions(+), 149 deletions(-)
diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue
index f39638e..b74495a 100644
--- a/pages/basics/combPro.vue
+++ b/pages/basics/combPro.vue
@@ -3,39 +3,64 @@
<form>
<view class="cu-form-group margin-top">
<view class="title">鍗曞彿</view>
- <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" focus @input="find()">
+ <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" @confirm="firstConfirm" :focus="firstFocus" @input="find()">
</view>
<view class="cu-form-group margin-top">
<view class="title">鎵樼洏鐮�</view>
- <input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input">
+ <input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input" @confirm="secondConfirm" :focus="secondFocus" >
</view>
</form>
+
<view class="margin-top">
- <uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" rowKey="">
+ <view class="cu-bar search bg-white">
+ <view class="search-form round">
+ <text class="cuIcon-search"></text>
+ <input :adjust-position="false" type="text" placeholder="浜у搧浠e彿" confirm-type="search" v-model="size" @input="searchSize()"></input>
+ </view>
+ </view>
+ <view class="flex solid-bottom padding justify-start bg-gray" style="height: 110rpx;padding: 5rpx;">
+ <button class ="cu-btn bg-red lg margin-xs" @click="delTable">鎵归噺鍒犻櫎</button>
+ <button class ="cu-btn bg-cyan lg margin-xs" @click="clearSel">娓呯┖閫夋嫨</button>
+ <button class ="cu-btn bg-olive lg margin-xs" @click="reSelection">鍙嶉��</button>
+ </view>
+ <uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" type="selection" @selection-change="selectionChange">
<uni-tr>
- <uni-th align="center" width="90">搴忓彿</uni-th>
- <uni-th align="center" width="90">鏁伴噺</uni-th>
- <uni-th align="center" width="90">浜у搧鍚嶇О</uni-th>
- <uni-th align="center" width="90">浜у搧ID</uni-th>
- <uni-th align="center" width="200">缁勬墭鏁伴噺</uni-th>
+ <uni-th align="center" width="50">鏁伴噺</uni-th>
+ <uni-th align="center" width="70">缁勬墭鏁伴噺</uni-th>
+ <uni-th align="center" width="80">浜у搧浠e彿</uni-th>
+ <uni-th align="center" width="70">浜у搧缂栫爜</uni-th>
+ <uni-th align="center" width="150">浜у搧鍚嶇О</uni-th>
+ <uni-th align="center" width="50">搴忓彿</uni-th>
+ <uni-th align="center" width="70">鎵瑰彿</uni-th>
+
</uni-tr>
<uni-tr v-for="(item, index) in matData" :key="index">
- <uni-td align="center">{{item.seqNo}}</uni-td>
- <uni-td align="center">{{item.count}}</uni-td>
- <uni-td align="center">{{item.matName}}</uni-td>
- <uni-td align="center">{{item.matNo}}</uni-td>
+ <uni-td align="center">{{item.qty}}</uni-td>
<uni-td align="center">
- <button class="uni-button" size="mini" type="primary" @click="confirm(index,item)">淇敼</button>
- <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button>
+ <button class ="cu-btn bg-orange margin-xs" @click="confirm(index,item)">{{item.count}}</button>
+ <!-- <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button> -->
</uni-td>
+ <uni-td align="center">{{item.size}}</uni-td>
+ <uni-td align="center">{{item.matNo}}</uni-td>
+ <uni-td align="center">{{item.matName}}</uni-td>
+ <uni-td align="center">{{item.seqNo}}</uni-td>
+ <uni-td align="center">{{item.itemBatch}}</uni-td>
+
</uni-tr>
</uni-table>
</view>
- <view>
- <button class="cu-btn bg-yellow pda-btn" @click="comb()">缁勬墭</button>
- <button class="cu-btn bg-grey pda-btn" @click="reset">閲嶇疆</button>
+
+ <view style="height: 200rpx;">
+ <!-- 绌虹櫧灞� -->
</view>
+ <view class="cu-bar foot input" style="height: 130rpx;">
+ <view class="flex solid-bottom padding justify-start">
+ <button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="comb()">缁� 鎵�</button>
+ <button class="cu-btn bg-grey main-btn margin-xs" @click="reset">閲� 缃�</button>
+ </view>
+ </view>
+
<view>
<!-- 鎻愮ず淇℃伅寮圭獥 -->
<uni-popup ref="message" type="message">
@@ -45,11 +70,16 @@
<view>
<!-- 杈撳叆妗嗙ず渚� -->
<uni-popup ref="inputDialog" type="dialog">
- <uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺"
- placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm">
+ <uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" @confirm="dialogInputConfirm">
<uni-number-box :min="minCount" :max="maxCount" v-model="value" />
</uni-popup-dialog>
-
+ </uni-popup>
+ </view>
+ <view>
+ <!-- 鎻愮ず绐楃ず渚� -->
+ <uni-popup ref="alertDialog" type="dialog">
+ <uni-popup-dialog :type="msgType" title="璀﹀憡" :content="message" @confirm="dialogConfirm('error')"
+ @close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
</view>
@@ -61,157 +91,365 @@
return {
billNo:'',
code:'',
- matData:[],
+ matData:[], // 涓昏鏁版嵁琛�
type: '',
msgType: '',
messageText: '',
- minCount:1,
+ minCount:0,
maxCount:1,
rowNum:'',
value:'',
couChange:true,
-
-
+ baseIP:'',
+ basePORT:'',
+ selectArr : [],
+ selectedIndexs:[],
+ size:'',
+ message:'123',
+ firstFocus:true, // 鎺у埗绗竴涓劍鐐癸紝榛樿鑱氱劍
+ secondFocus:false, // 鎺у埗绗簩涓劍鐐�
}
},
-
+ mounted(){
+ const UIP = uni.getStorageSync('UIP');
+ this.baseIP = UIP;
+ const UPORT = uni.getStorageSync('UPORT');
+ this.basePORT = UPORT
+ },
methods: {
- reset:function() {
- this.billNo = '';
- this.code = '';
- },
- messageToggle(type) {
- this.msgType = type
- this.messageText = '鎻愬彇澶辫触'
- this.$refs.message.open()
- },
+ // 璺冲埌绗簩涓�
+ firstConfirm(){
+ this.getFocus('secondFocus')
+ },
+ // 璺冲埌绗竴涓�
+ secondConfirm(){
- // 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏
- find(){
- let billNo = this.billNo
- let that = this
- if(this.billNo.length === 0){
+ },
+
+ // 鑾峰彇鐒︾偣
+ getFocus(nextfocus){
+ this[nextfocus] = false // 涓嶈兘浣跨敤鐐硅娉�
+ this.$nextTick(()=>{
+ this[nextfocus] = true
+ })
+ },
+
+ // 澶氶��
+ selectionChange(e) {
+ // 鑾峰彇閫変腑鐘舵��
+ this.selectedIndexs = e.detail.index
+ this.selectedIndexs.sort(function(a,b){
+ return a-b
+ });// 閲嶆柊鎺掑簭锛堝崌搴忥級
+ },
+
+ // 鍏ㄩ��
+ // 鎵归噺鍒犻櫎鐨勬柟娉�
+ toggleSelection(rows) {
+ if (rows) {
+ this.$refs["table"].toggleAllSelection(rows);
+ } else {
+ this.$refs["table"].clearSelection();
+ }
+ },
+ //鎵归噺鍒犻櫎
+ delTable() {
+ // 瀹炵幇鍏ㄩ�夊垹闄ゅ拰澶氶�夊垹闄�
+ let len = this.selectedIndexs.length
+ for (let i = len-1; i >= 0; i--) {
+ this.matData.splice(this.selectedIndexs[i],1) // splice鍒犻櫎鏁扮粍浼氭敼鍙樺師鏁扮粍锛屾墍浠ラ渶瑕侀�嗗悜鍒犻櫎
+ }
+ this.$refs["table"].clearSelection(); // 娓呯┖閫夋嫨
+
+ },
+ // 鍙嶉��
+ reSelection(){
+ this.toggleSelection(this.selectedIndexs)
+ },
+ // 娓呯┖
+ clearSel() {
+ this.toggleSelection()
+ },
+ // 鎼滅储浜у搧浠e彿
+ searchSize() {
+ let billNo = this.billNo
+ let size = this.size;
+ let that = this
+ uni.request({
+ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query1/auth",
+ header: {
+ 'content-type':'application/x-www-form-urlencoded',
+ 'token':uni.getStorageSync('token')},
+ data: {
+ billNo: billNo,
+ size:size
+ },
+ method: 'POST',
+ success(res){
+ if(res.data.code === 200){
+ if(res.data.data != null){
+ that.addTableData(res.data.data)
+ }else if(res.data.code === 403){
+ uni.navigateBack({
+ delta: 1
+ })
+ }else {
+ that.messageToggle('error')
+ that.messageText = res.data.msg
+ }
+ }
+ }
+ })
+
+ },
+ // 閲嶇疆
+ reset:function() {
+ this.billNo = '';
+ this.code = '';
+ this.matData = [];
+ this.size = '';
+ this.toggleSelection();
+ this.getFocus('firstFocus')
+ },
+ messageToggle(type) {
+ this.msgType = type
+ this.messageText = '鎻愬彇澶辫触'
+ this.$refs.message.open()
+ },
+ // 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏
+ find(){
+ let billNo = this.billNo
+ let size = this.size
+ let that = this
+ if(this.billNo.length === 0){
+ return
+ }
+ if(billNo.indexOf('=')>-1){
+ billNo = billNo.split(",")[0].split("=")[1];
+ }
+ if(billNo.length===0){
+ return
+ }
+ this.matData = []
+ uni.request({
+ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query1/auth",
+ header: {
+ 'content-type':'application/x-www-form-urlencoded',
+ 'token':uni.getStorageSync('token')},
+ data: {
+ billNo: billNo,
+ size:size
+ },
+ method: 'POST',
+ success(res){
+ if(res.data.code === 200){
+ if(res.data.data != null){
+ that.addTableData(res.data.data)
+ }else if(res.data.code === 403){
+ uni.navigateBack({
+ delta: 1
+ })
+ }else {
+ that.messageToggle('error')
+ that.messageText = res.data.msg
+ }
+ }
+ }
+ })
+
+ },
+ addTableData(data){
+ this.matData=[];
+ for(var i=0;i<data.length;i++){
+ var toPush = true;
+ for(var j=0;j<this.matData.length;j++){
+ if(data[i].matNo ===this.matData[j].matNo && data[i].itemBatch === this.matData[j].itemBatch && data[i].specs === this.matData[j].specs){
+ this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
+ toPush = false;
+ }
+ }
+ if(toPush) {
+ this.matData.push(data[i]);
+ }
+ }
+ },
+
+ // 淇敼鏁伴噺
+ confirm(index,item){
+ this.couChange=false
+ this.$refs.inputDialog.open()
+ this.maxCount = item.qty
+ this.rowNum = index
+ this.value = this.minCount
+ },
+ // 淇敼鏁伴噺寮圭獥
+ dialogInputConfirm() {
+ this.matData[this.rowNum].count = this.value
+ this.messageToggle('success')
+ this.messageText = '淇敼鎴愬姛'
+ },
+ // 鍒犻櫎
+ remove(index,item){
+ this.matData.splice(index,1)
+ this.messageToggle('success')
+ this.messageText = '鍒犻櫎鎴愬姛'
+ },
+ // 缁勬墭
+ comb(){
+ let that = this
+ let barcode = that.code
+ let billNo = this.billNo
+ if(billNo.length === 0){
+ that.messageToggle('error')
+ that.messageText = '鍏ュ簱鍗曞彿涓虹┖'
+ return;
+ }
+ if(barcode.length === 0){
+ that.messageToggle('error')
+ that.messageText = '璇疯緭鍏ユ墭鐩樼爜'
+ return;
+ }
+ if (barcode.length !== 8) {
+ that.messageToggle('error')
+ that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
+ return;
+ }
+ if(that.couChange){
+ that.messageToggle('error')
+ that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
+ return;
+ }
+ for (var i = 0; i < that.matData.length; i++){
+ if (that.matData[i].count === 0) {
+ that.messageToggle('error')
+ that.messageText = '缁勬墭鏁伴噺涓嶈兘涓�0'
+ return;
+ }
+ }
+
+ for (var i = 0; i < that.matData.length; i++) {
+ var sad = that.matData[i].qty - that.value
+ if (sad <= 5 && sad > 0) {
+ this.$refs.alertDialog.open()
+ that.message = '浜у搧浠e彿' + that.matData[i].size + '鍓╀綑寰呯粍鎵樻暟閲忓皯浜�5锛屾槸鍚﹀畬缁撴鍗�'
return
- }
- if(billNo.indexOf('=')>-1){
- billNo = billNo.split(",")[0].split("=")[1];
- console.log(billNo)
- }
- if(billNo.length===0){
- return
- }
- this.matData = []
- uni.request({
- url:that.baseUrl+ "/mobile/bill/query/auth",
- header: {
- 'content-type':'application/x-www-form-urlencoded',
- 'token': localStorage.getItem('token')},
- data: {
- billNo: billNo
- },
- method: 'POST',
- success(res){
- if(res.data.code === 200){
- if(res.data.data != null){
- that.addTableData(res.data.data)
- }else if(res.data.code === 403){
-
- }else {
-
+ } else {
+ uni.request({
+ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
+ header: {'token':uni.getStorageSync('token')},
+ data:{
+ barcode:barcode,
+ combMats:that.matData,
+ billNo: billNo,
+ },
+ method:'POST',
+ success(res) {
+ if(res.data.code === 200){
+ that.reset()
+ that.matData = []
+ that.couChange=true
+ that.messageToggle('success')
+ that.messageText = '缁勬墭鎴愬姛'
+ this.getFocus('firstFocus')
+ } else if(res.data.code === 403){
+ uni.navigateBack({
+ delta: 1
+ })
+ } else {
+ that.messageToggle('error')
+ that.messageText = res.data.msg
}
}
- }
- })
-
- },
- addTableData(data){
- for(var i=0;i<data.length;i++){
- var toPush = true;
- for(var j=0;j<this.matData.length;j++){
- if(data[i].matNo ===this.matData[j].matNo ){
- this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
- toPush = false;
- }
- }
- if(toPush) {
- this.matData.push(data[i]);
- }
+ })
}
-
- },
+ }
- // 淇敼鏁伴噺
- confirm(index,item){
- this.couChange=false
- this.$refs.inputDialog.open()
- this.maxCount = item.count
- this.rowNum = index
- this.value = this.maxCount
- },
- // 淇敼鏁伴噺寮圭獥
- dialogInputConfirm() {
- this.matData[this.rowNum].count = this.value
- this.messageToggle('success')
- this.messageText = '淇敼鎴愬姛'
- },
- // 鍒犻櫎
- remove(index,item){
- this.matData.splice(index,1)
- this.messageToggle('success')
- this.messageText = '鍒犻櫎鎴愬姛'
- },
- comb(){
- let that = this
- let barcode = that.code
- let billNo = this.billNo
- if(billNo.length === 0){
- that.messageToggle('error')
- that.messageText = '鍏ュ簱鍗曞彿涓虹┖'
- return;
- }
- if(barcode.length === 0){
- that.messageToggle('error')
- that.messageText = '璇疯緭鍏ユ墭鐩樼爜'
- return;
- }
- if (barcode.length !== 8) {
- that.messageToggle('error')
- that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
- return;
- }
- if(that.couChange){
- that.messageToggle('error')
- that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
- return;
- }
- uni.request({
- url:that.baseUrl+ "/mobile/comb/auth",
- header: {'token': localStorage.getItem('token')},
- data:{
- barcode:barcode,
- combMats:that.matData,
- billNo: billNo,
- },
- method:'POST',
- success(res) {
-
- if(res.data.code === 200){
- that.reset()
- that.matData = []
- that.messageToggle('success')
- that.messageText = '缁勬墭鎴愬姛'
- }
+ },
+ // 鏄惁
+ dialogConfirm() {
+ let that = this
+ let barcode = that.code
+ let billNo = this.billNo
+ for (var i = 0; i < that.matData.length; i++) {
+ that.matData[i].oveFlag = 1
+ }
+ uni.request({
+ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
+ header: {'token':uni.getStorageSync('token')},
+ data:{
+ barcode:barcode,
+ combMats:that.matData,
+ billNo: billNo,
+ },
+ method:'POST',
+ success(res) {
+ if(res.data.code === 200){
+ that.reset()
+ that.matData = []
+ that.couChange=true
+ that.messageToggle('success')
+ that.messageText = '缁勬墭鎴愬姛'
+ this.getFocus('firstFocus')
+ } else if(res.data.code === 403){
+ uni.navigateBack({
+ delta: 1
+ })
+ } else {
+ that.messageToggle('error')
+ that.messageText = res.data.msg
}
- })
- },
+ }
+ })
+ },
+ // 鍚�
+ dialogClose() {
+ let that = this
+ let barcode = that.code
+ let billNo = this.billNo
+ for (var i = 0; i < that.matData.length; i++) {
+ that.matData[i].oveFlag = 0
+ }
+ uni.request({
+ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
+ header: {'token':uni.getStorageSync('token')},
+ data:{
+ barcode:barcode,
+ combMats:that.matData,
+ billNo: billNo,
+ },
+ method:'POST',
+ success(res) {
+ if(res.data.code === 200){
+ that.reset()
+ that.matData = []
+ that.couChange=true
+ that.messageToggle('success')
+ that.messageText = '缁勬墭鎴愬姛'
+ this.getFocus('firstFocus')
+ } else if(res.data.code === 403){
+ uni.navigateBack({
+ delta: 1
+ })
+ } else {
+ that.messageToggle('error')
+ that.messageText = res.data.msg
+ }
+ }
+ })
+ }
},
onShow() {
- // const query = uni.createSelectorQuery()
- // console.log(prototype.placeholder)
}
}
</script>
<style>
-
+ .delTable {
+ margin-left:0;
+ margin-right: auto;
+ width: 200rpx;
+ height: 80rpx;
+ font-size: 30upx;
+ font-weight: bold;
+ }
</style>
--
Gitblit v1.9.1