From 407c8602522f9cde794d6e876b3686beb7bff1ad Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 27 四月 2023 10:48:25 +0800
Subject: [PATCH] #
---
pages/basics/pakin.vue | 314 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 193 insertions(+), 121 deletions(-)
diff --git a/pages/basics/pakin.vue b/pages/basics/pakin.vue
index 92d886e..1805797 100644
--- a/pages/basics/pakin.vue
+++ b/pages/basics/pakin.vue
@@ -8,10 +8,26 @@
</view>
<view class="square-content">
<view class="content-input">
- <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" placeholder-style="margin-top:10px" maxlength="10"
- :focus="barcodeFocus" @confirm="barcodeInput()">
+ <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆"
+ :focus="barcodeFocus" @confirm="barcodeInput()" 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>
@@ -22,14 +38,14 @@
<view class="title-text"><text>妫�绱㈠晢鍝�</text></view>
</view>
<view class="square-content">
- <view class="content-input">
+ <view class="content-input-btn">
<input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
- :focus="focus" placeholder-style="margin-top:9px">
+ :focus="focus" placeholder-style="line-height: 85rpx;">
<uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
</view>
- <!-- <view class="content-btn">
+ <view class="content-btn">
<button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button>
- </view> -->
+ </view>
</view>
</view>
@@ -52,15 +68,21 @@
<!-- <view>
<checkbox :value="item.id+''" :checked="item.checked" style="display: block;" />
</view> -->
- <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matNo}}</text></view>
- <view><text style="width: 400rpx;">鍝佸悕锛歿{item.matName}}</text></view>
- <view><text style="width: 400rpx;">瑙勬牸锛歿{item.str2}}</text></view>
+ <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view>
+ <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
+ <view><text style="width: 400rpx;">瑙勬牸锛歿{item.specs}}</text></view>
+ <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
+ <view><text style="width: 400rpx;">瀹㈡埛淇℃伅锛歿{item.cstmr}}</text></view>
<view>
- <text style="width: 400rpx;">鏁伴噺锛歿{item.count}}</text>
+ <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(index)"></uni-icons></label>
+ <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>
@@ -84,22 +106,30 @@
<button class="cu-btn bg-blue " @click="comb()">缁勬墭</button>
</label>
</view>
-
<!-- 寮圭獥 -->
<!-- 淇敼鏁伴噺 -->
-
- <uni-popup ref="revise" background-color="#fff">
- <view class="revise-box">
+ <uni-popup ref="revise" >
+ <view class="revise-box ">
<view class="revise-box-top">
<view class="color-block-blue"></view>
- <text class="title">缁勬墭鏁伴噺</text>
+ <text class="title">淇敼</text>
</view>
- <view class="text-box">
- <text>纭缁勬墭鏁伴噺</text>
+ <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">
- <uni-number-box v-model="counts" :min="0" :max="99999" color="#747474" />
+ <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">
@@ -114,9 +144,11 @@
<script>
import permision from "@/common/permission.js"
+import loginVue from "../login/login.vue";
export default {
data() {
return {
+ commonUrl:null,
barcode: '',
barcodeFocus:true,
focus:false,
@@ -128,13 +160,18 @@
result: '',
enableQty:'',
count:'',
- counts:'',
minCount:0,
maxCount:'',
rowNum:'',
check:false,
checkText:'鍏ㄩ��',
checkedData:[],
+ batch:'',
+ memo: '',
+ cstmr: '',
+ ck1: false,
+ ck2: true,
+ frozen: 0,
}
},
onShow() {
@@ -148,8 +185,27 @@
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
+ },
+ // 鍐荤粨
+ 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() {
// 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏�
@@ -160,22 +216,17 @@
this.barcodeFocuss()
return;
}
- if (len == 8) {
- this.focuss()
- }
- },100)
-
+ this.focuss()
+ },200)
},
// 鎵樼洏鐮佹湁璇噸缃�
barcodeFocuss() {
- // #ifdef APP
let that = this;
that.barcodeFocus = false;
setTimeout(()=>{
that.barcode = '';
that.barcodeFocus = true;
}, 100);
- // #endif
},
// 鍟嗗搧鍏夋爣娓呯┖閲嶇疆
focuss() {
@@ -191,6 +242,7 @@
resst() {
this.matList = []
this.barcode = ''
+ this.matnr = ''
this.barcodeFocuss()
uni.vibrateShort();
},
@@ -210,9 +262,9 @@
this.focus = true;
});
},
+ // 鍒楄〃鍒犻櫎鎸夐挳
remove(item,index) {
this.matList.splice(index,1)
- this.checkList();
uni.vibrateShort();
},
comb() {
@@ -226,10 +278,17 @@
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;
+ }
+ }
uni.showLoading();
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth',
+ url: that.commonUrl + '/mobile/comb/auth',
data: JSON.stringify({
+ frozen: that.frozen,
barcode: that.barcode,
combMats: that.matList
}),
@@ -241,6 +300,9 @@
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,
@@ -274,7 +336,7 @@
},
success: function(res) {
// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
- res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
+ res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl })
},
});
@@ -283,9 +345,9 @@
findMat() {
let that = this
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/matCode/auth',
+ url: that.commonUrl + '/mat/auth',
data: {
- id:that.matnr
+ matnr:that.matnr
},
header: {
'token':uni.getStorageSync('token')
@@ -296,12 +358,14 @@
if (res.code === 200 && res.data) {
that.matData = res.data
that.matnr = ''
+ that.matData['batch'] = ''
uni.navigateTo({
url: "matQuery",
events: {
// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
matList: function(data) {
- that.matList.push(data.data)
+ that.checkMat(data.data)
+ // that.matList.push(data.data)
},
},
success: function(res) {
@@ -309,6 +373,15 @@
res.eventChannel.emit('matData', { data: that.matData })
},
});
+ } 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'})
}
}
@@ -316,8 +389,30 @@
},
+ // 娣诲姞鍟嗗搧
+ 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) {
- console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
},
toggle(type) {
this.type = type
@@ -325,39 +420,49 @@
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();
+ 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(index) {
+ 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.$refs.revise.open()
-
+ this.eject()
},
- changeCount(e) {
-
+ eject(type) {
+ this.type = type
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+ this.$refs.revise.open(type)
},
- // 纭缁勬墭鏁伴噺
+ changeValue(value) {
+ this.count = value
+ },
confirm() {
- this.matList[this.rowNum].count = this.counts
- this.$forceUpdate() // 寮哄埗鍒锋柊
+ 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() {
@@ -402,14 +507,6 @@
}
uni.vibrateShort();
},
- // 妫�楠屽垪琛ㄩ暱搴� 绛変簬0 鏄剧ず鍏ㄩ��
- checkList() {
- if (this.matList.length == 0) {
- this.check = false
- this.checkText = "鍏ㄩ��"
- return;
- }
- }
}
}
</script>
@@ -417,7 +514,29 @@
<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;
@@ -514,16 +633,15 @@
}
.data-list {
border-bottom: 1px solid #d8d8d8;
- height: 180rpx;
+ height: 250rpx;
margin: 15rpx;
border-radius: 20rpx;
- font-size: 12px;
}
.data-list:first-child {
margin-top: 20rpx;
}
.data-list:last-child {
- margin-bottom: 170rpx;
+ margin-bottom: 180rpx;
}
/* .data-list-left {
display: inline-block;
@@ -546,8 +664,8 @@
.data-list-right {
display: inline-block;
float: right;
- height: 180rpx;
- line-height: 180rpx;
+ height: 250rpx;
+ line-height: 250rpx;
}
/* display: inline-block;
float: right;
@@ -560,50 +678,4 @@
width: 80rpx;
height: 180rpx;
}
- .revise-box {
- width: 500rpx;
- height: 500rpx;
- }
- .revise-box-top {
- width: 100%;
- height: 100rpx;
- background-color: #fff;
- padding: 10rpx;
- }
- .changeBox {
- width: 100%;
- height: 100rpx;
- line-height: 120rpx;
- text-align: center;
- background-color: #FFF;
- margin-top: 20rpx;
- border-bottom: 1px solid #e3e3e3;
- }
- .text-box {
- width: 100%;
- height: 100rpx;
- line-height: 120rpx;
- text-align: center;
- /* padding-left: 120rpx; */
- background-color: #FFF;
- margin-top: 20rpx;
- border-bottom: 1px solid #e3e3e3;
- }
- .changeBox .num-box {
- display: inline-block;
- /* float: left; */
- }
- .changeBox button {
- float: left;
- }
- .revise-box-buttom {
- position: absolute;
- width: 100%;
- height: 100rpx;
- line-height: 100rpx;
- background-color: #FFFFFF;
- bottom: 0;
- text-align: center;
- }
-
</style>
\ No newline at end of file
--
Gitblit v1.9.1