From 9e7bbd1a203c39c74b81624640a5ea8f6e247ba3 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 14 五月 2024 10:08:02 +0800
Subject: [PATCH] 1.外协收料不良数量可填多个
---
pages/wwgl/wxsl.vue | 326 +++++++++++++++++++++++++++++++----------------------
1 files changed, 191 insertions(+), 135 deletions(-)
diff --git a/pages/wwgl/wxsl.vue b/pages/wwgl/wxsl.vue
index 06384c1..b3ff920 100644
--- a/pages/wwgl/wxsl.vue
+++ b/pages/wwgl/wxsl.vue
@@ -105,44 +105,6 @@
</view>
</view>
- <view class="flex_center titleFont" style="margin: 0rpx 20rpx 10rpx;line-height: 56rpx;">
- <view style="color: #fff;margin-right: 6rpx;">*</view> 涓嶈壇鏁伴噺
- <view style="margin-left: 20rpx;">
- <view class='inputClass'>
- <u--input placeholder="璇疯緭鍏�" border="surround" @change='ngqtyChange' type='number'
- v-model="ngqty">
- </u--input>
- </view>
- </view>
- </view>
-
-
- <view class="flex_center" style="margin: 0rpx 20rpx 10rpx;line-height: 76rpx;">
- <view style="display: flex;" class="titleFont">
- <view style="color: #fff;margin-right: 6rpx;">*</view> 涓嶈壇鍘熷洜
- </view>
- <view style="margin-left: 20rpx;">
- <view @click='badSheetClick' class="custominputClass">
- <view v-show='badSheetValue.length===0' style="color: rgb(192, 196, 204);">璇烽�夋嫨</view>
- <view v-show='badSheetValue.length!==0' class="ellipsis" style="width: 390rpx;">
- {{badSheetValue}}
- </view>
- <u-icon :name="!badSheetShow?'arrow-down-fill':'arrow-up-fill'"></u-icon>
- </view>
- </view>
- </view>
-
-
- <!-- <view class="flex_center" style="margin: 0rpx 20rpx 10rpx;line-height: 76rpx;">
- <view style="display: flex;" class="titleFont">
- <view style="color: #fff;margin-right: 6rpx;">*</view> 鏀舵枡澶囨敞
- </view>
- <view style="margin-left: 20rpx;">
- <view class='inputClass'>
- <u--textarea v-model="notes" placeholder="璇疯緭鍏�"></u--textarea>
- </view>
- </view>
- </view> -->
</view>
@@ -176,27 +138,68 @@
</view>
+ <u-gap height="10" bgColor="#eff0f1"></u-gap>
+
+
+ <view class="head marginLeft10 marginRight10" style="padding-bottom: 20rpx;">
+ <view class="head_block">
+ <view class="head_left">
+ <view class="head_bar"></view>
+ <view class="head_title">
+ 涓嶈壇缁熻
+ </view>
+ </view>
+
+ </view>
+ <view class="flex_column ">
+
+
+ <u-button type="primary" :plain="true" icon='plus-circle' text="娣诲姞"
+ style="width: 90%;margin: 20rpx auto;" @click="add"></u-button>
+
+
+ <view v-for='(item,index) in ngqtyArr' class="badSheetClass" :key="item.uid">
+
+ <view class="badNumber">{{index+1}}</view>
+ <u-icon name="trash" size="20" class="trash" v-if="ngqtyArr.length!==1"
+ @click="trashDelete(index)" color="rgb(0, 102, 255)"></u-icon>
+
+ <view class="flex_center titleFont" style="margin: 0rpx 20rpx 10rpx;line-height: 56rpx;">
+ <view style="color: #fff;margin-right: 6rpx;">*</view> 涓嶈壇鏁伴噺锛�
+ <view class='inputClass'>
+ <u--input placeholder="璇疯緭鍏�" border="surround" :adjustPosition='false' type='number'
+ v-model="item.ngqty"></u--input>
+ </view>
+
+ </view>
+ <view class="flex_center" style="margin: 0rpx 20rpx 10rpx;line-height: 76rpx;">
+ <view style="display: flex;" class="titleFont">
+ <view style="color: #fff;margin-right: 6rpx;">*</view> 涓嶈壇鍘熷洜锛�
+ </view>
+ <view @click='badSheetClick(item)' class="custominputClass">
+ <view v-show='item.badSheetValue.length===0' style="color: rgb(192, 196, 204);">璇烽�夋嫨
+ </view>
+ <view v-show='item.badSheetValue.length!==0' class="ellipsis"
+ style="width: 390rpx;">
+ {{item.badSheetValue}}
+ </view>
+ <u-icon :name="item.arrowDown?'arrow-down-fill':'arrow-up-fill'"></u-icon>
+ </view>
+ </view>
+
+ <u-divider></u-divider>
+
+
+ </view>
+
+ </view>
+ </view>
+
+
+
+
</view>
-
-
- <u-action-sheet v-if="topContent.length!==0" :actions="badSelectArr" :safeAreaInsetBottom='true'
- :closeOnClickOverlay="true" :closeOnClickAction="true" @close="badSheetShow=false" :show="badSheetShow"
- @select='badSheetSelect'>
- <view style="min-height: 100rpx;padding: 20rpx 20rpx 30rpx 20rpx;">
- <u-checkbox-group @change="checkboxChange" size='20px' v-model="checkBoxValue" iconPlacement="right"
- placement="column">
- <view v-for="(item,index) in badSelectArr">
- <u-checkbox activeColor="rgb(0, 102, 255)" labelSize='18' :key="item.code+index"
- :name='item.name' :label="item.name">
- </u-checkbox>
- <u-divider :key="item.code"></u-divider>
- </view>
- </u-checkbox-group>
- </view>
- </u-action-sheet>
-
-
<u-picker v-if="topContent.length!==0" :show="WXSheetShow" :columns="WXColumns" :itemHeight='55'
@@ -209,6 +212,25 @@
:closeOnClickOverlay='true' @close='userSheetShow=false' @confirm='userPickerConfirm'
@cancel='userSheetShow=false'>
</u-picker>
+
+
+ <!-- 涓嶈壇鍘熷洜 -->
+ <u-action-sheet v-if="topContent.length!==0" :actions="badSelectArr" :safeAreaInsetBottom='true'
+ :closeOnClickOverlay="true" :closeOnClickAction="true" @close="badSelectClose" :show="badSheetShow"
+ @select='badSheetSelect'>
+ <view style="min-height: 100rpx;">
+ <u-checkbox-group @change="checkboxChange" size='20px' v-model="checkBoxValue" iconPlacement="right"
+ placement="column">
+ <view v-for="(item,index) in badSelectArr">
+ <u-checkbox activeColor="rgb(0, 102, 255)" labelSize='18' :key="item.code+index"
+ :name='item.name' :label="item.name">
+ </u-checkbox>
+ </view>
+ </u-checkbox-group>
+ </view>
+ </u-action-sheet>
+
+
</view>
@@ -303,6 +325,21 @@
badSheetValue: '',
+ ngqtyArr: [{
+ uid: new Date().getTime(),
+ ngqty: '',
+ badSheetValue: '',
+ arrowDown: true //鍚戜笅绠ご
+ },
+ // {
+ // ngqty: '',
+ // badSheetValue: '',
+ // arrowDown: true //鍚戜笅绠ご
+ // },
+ ], //涓嶈壇鏁伴噺銆佷笉鑹師鍥犳暟缁�
+
+
+
notes: null //澶囨敞
@@ -317,7 +354,7 @@
this.init()
- this.getMesOrderStepStart('MO-2023-09-0002_1;106')
+ // this.getMesOrderStepStart('MO-2023-09-0002_1;106')
this.handleSelectAllApi()
@@ -341,11 +378,9 @@
this.userColumns = [res.data.map(i => i.username)]
},
- async getCustomerPermissions(val) {
- const data = {
- orderstepqrcode: val
- }
- const res = await CustomerPermissions(this.global.formatData(data))
+ async getCustomerPermissions() {
+
+ const res = await CustomerPermissions()
this.WXSheetList = res.data
this.WXColumns = [res.data.map(i => i.name)]
},
@@ -412,10 +447,13 @@
});
},
- badSheetClick() {
- if (!this.ngqty) {
+ badSheetClick(item) {
+ if (!item.ngqty) {
return uni.$u.toast('璇峰厛濉啓涓嶈壇鏁伴噺锛�')
}
+ item.arrowDown = !item.arrowDown
+
+ this.checkBoxValue = item.badSheetValue.split(',')
this.badSheetShow = true
},
@@ -445,11 +483,35 @@
this.userSheetShow = false
},
- ngqtyChange(val) {
- if (!parseFloat(val)) {
- this.badSheetValue = ''
- this.checkBoxValue = ''
- }
+ // 娣诲姞
+ add() {
+
+ // if (this.ngqtyArr.find(i => i.badSheetValue === '')) {
+ // return uni.$u.toast('璇峰厛瀹屽杽鍓嶉潰涓嶈壇閫夐」锛�')
+ // }
+
+ this.ngqtyArr.unshift({
+ uid: new Date().getTime(),
+ ngqty: '',
+ badSheetValue: '',
+ arrowDown: true //鍚戜笅绠ご
+ })
+
+ },
+
+ //鍒犻櫎
+ trashDelete(index) {
+ this.ngqtyArr.splice(index, 1)
+ },
+
+ badSelectClose() {
+ let index = this.ngqtyArr.findIndex(i => !i.arrowDown)
+
+ this.ngqtyArr[index].badSheetValue = this.checkBoxValue.join(',')
+ this.ngqtyArr[index].arrowDown = true
+
+ this.checkBoxValue = []
+ this.badSheetShow = false
},
@@ -469,39 +531,39 @@
let t = this.topContent[0].list.find(i => i.tp === this.WXSheetValue)
- if (!this.ngqty && (parseFloat(this.sqty) > parseFloat(t.fqty) - parseFloat(t.sqty) - parseFloat(t
- .ng_qty) - parseFloat(t.laborbad_qty) - parseFloat(t.materielbad_qty))) {
+ if (!t) {
+ return uni.$u.toast('璇烽�夋嫨鍙敹鏂欑殑渚涘簲鍟嗭紒')
+ }
+
+ if (!this.ngqtyArr[0].ngqty && (parseFloat(this.sqty) > parseFloat(t.fqty) - parseFloat(t.sqty) -
+ parseFloat(t
+ .ng_qty) - parseFloat(t.laborbad_qty) - parseFloat(t.materielbad_qty))) {
return uni.$u.toast('鏀舵枡鏁伴噺涓嶈兘澶т簬璇ヤ緵搴斿晢鐨勫彲鏀舵敹鏂欙紒')
}
- if (this.ngqty && (parseFloat(this.sqty) + parseFloat(this.ngqty) > parseFloat(t.fqty) - parseFloat(t
+
+ // 涓嶈壇鍘熷洜
+ const defectlist = []
+ //涓嶈壇鏁伴噺
+ let ngqtyNumber = 0
+
+ this.ngqtyArr.forEach(i => {
+ if (i.badSheetValue.toString().length > 0) {
+ let codeArr = []
+ ngqtyNumber += parseFloat(i.ngqty)
+ i.badSheetValue.split(',').forEach(j => {
+ codeArr.push(this.badSelectArr.find(i => i.name === j).code)
+ })
+ defectlist.push({
+ badqty: i.ngqty,
+ defect_code: codeArr.join(',')
+ })
+ }
+ })
+
+ if ((parseFloat(this.sqty) + parseFloat(ngqtyNumber) > parseFloat(t.fqty) - parseFloat(t
.sqty) - parseFloat(t.ng_qty) - parseFloat(t.laborbad_qty) - parseFloat(t.materielbad_qty))) {
return uni.$u.toast('鏀舵枡鏁伴噺+涓嶈壇鏁伴噺涓嶈兘澶т簬璇ヤ緵搴斿晢鐨勫彲鏀舵敹鏂欙紒')
}
-
- if (this.ngqty && !this.badSheetValue) {
- return uni.$u.toast('涓嶈壇鍘熷洜涓嶈兘涓虹┖锛�')
- }
-
- let badcode = []
-
- if (this.badSheetValue.length > 0) {
- this.badSelectArr.forEach(i => {
- if (this.badSheetValue.split(',').includes(i.name)) {
- badcode.push(i.code)
- }
- })
- }
-
- // const header = {
- // 'Content-Type': 'application/x-www-form-urlencoded',
- // 'rediskey': uni.getStorageSync('rediskey'),
- // 'admin': uni.getStorageSync('usercode'),
- // 'username': encodeURIComponent(uni.getStorageSync('username')),
- // 'navTabId': uni.getStorageSync('usercode'),
- // 'userid': uni.getStorageSync('userid'),
- // 'guid': uni.getStorageSync('guid'),
- // 'usertype': 'APP'
- // }
const D = {
@@ -526,10 +588,7 @@
sqty: this.sqty, // 鏀舵枡鏁伴噺
// ngqty: !this.ngqty ? 0 : this.ngqty,
remarks: this.notes,
- defectlist: badcode.length > 0 ? [{
- defect_code: badcode.join(','),
- badqty: this.ngqty
- }] : [],
+ defectlist,
inbarcode: R[0].labcode, //鍏ュ簱鏉$爜
}
@@ -553,39 +612,6 @@
this.isDisabledSubmitButton = false
}
-
-
- // this.isDisabledSubmitButton = true
- // uni.uploadFile({
- // url: this.$baseUrl + '/AppProductionManagement/SavaMesOrderStepIn',
- // files: [{
- // "uri": "/"
- // }],
- // header: header,
- // formData: data,
- // success: (res) => {
- // console.log(res, 77)
- // uni.$u.toast('鏀舵枡鎴愬姛锛�')
-
- // this.WXSheetValue = ''
- // this.userSheetValue = ''
- // this.checkBoxValue = ''
- // this.badSheetValue = ''
- // this.sqty = null
- // this.ngqty = null
- // this.notes = null
- // this.topContent = []
-
- // this.isDisabledSubmitButton = false
- // },
- // fail(res) {
- // uni.$u.toast('鏀舵枡澶辫触锛�')
- // this.isDisabledSubmitButton = false
- // },
- // })
-
-
-
}
}
}
@@ -598,6 +624,16 @@
display: block;
}
+ ::v-deep .u-action-sheet {
+ max-height: 600rpx !important;
+ overflow: auto !important;
+ }
+
+ ::v-deep .u-checkbox-label--right {
+ padding: 30rpx;
+ border-bottom: 1rpx solid #eee;
+ }
+
.custominputClass {
width: 412rpx;
display: flex;
@@ -607,4 +643,24 @@
padding: 0 16rpx;
line-height: 68rpx;
}
+
+
+ .badSheetClass {
+ position: relative;
+ }
+
+ .badNumber {
+ position: absolute;
+ top: 20rpx;
+ left: 20rpx;
+ font-size: 26rpx;
+ color: rgb(0, 102, 255)
+ }
+
+ .trash {
+ position: absolute;
+ top: 20rpx;
+ right: 30rpx;
+ font-size: 26rpx;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3