From 14df401b50272890dc910bbd95d98a8b6caf48d3 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期三, 10 五月 2023 20:32:44 +0800 Subject: [PATCH] 样式修改,引入字体,修改逻辑 --- pages/public-page/forward/forward.vue | 131 +++++++++++++++++++++++++++++++------------ 1 files changed, 95 insertions(+), 36 deletions(-) diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue index 57a8e42..40d8611 100644 --- a/pages/public-page/forward/forward.vue +++ b/pages/public-page/forward/forward.vue @@ -10,8 +10,15 @@ </u-form-item> <u-form-item label="杈撳叆鏁伴噺" labelWidth="20%" ref="item1"> <view class="forward-card-amount"> - <view class="forward-card-amount-input"><u--input v-model="val.carNum" placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�"></u--input></view> - <u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index)"> + <view class="forward-card-amount-input"> + <u--input + v-model="val.carNum" + placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�" + @input="debouncecarNumInput(index, val.carNum)" + @blur="blurInput(index, val.carNum)" + ></u--input> + </view> + <u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index, val)"> <u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂" :disabled="val.ischecked"></u-checkbox> </u-checkbox-group> </view> @@ -20,9 +27,11 @@ </u--form> </view> <!-- 澧炲姞鎸夐挳 --> - <view class="AdddBtn"><u-button text="娣诲姞" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm"></u-button></view> + <view class="AdddBtn"> + <u-button text="娣诲姞" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm" :disabled="whetherClick"></u-button> + </view> <!-- 鎸夐挳 --> - <view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click="submitForm"></u-button></view> + <view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click="submitForm" :disabled="whetherClick1"></u-button></view> <!-- 閫夋嫨璐т唬鎴栬溅闃熷脊鍑烘 --> <view class="selectHuoDaiOrFleet-container"> @@ -55,13 +64,14 @@ <script> import { customerId } from '@/utils/status'; +import toast from '../../../uni_modules/uview-ui/libs/config/props/toast'; export default { onLoad(params) { console.log(params, '杞彂椤甸潰鐨勫弬鏁�'); // 瀹㈡埛 this.cars2 = Number(params.cars2); - this.carNumSurplus1 = Number(params.carNumSurplus1); + this.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1); // 璐т唬 this.carNum = Number(params.carNum); this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai); @@ -128,10 +138,15 @@ list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }], tabHuoDai: false, carNumSurplus1: '', + tempcarNumSurplus1: '', cars2: '', carNum: '', carNumSurplusHuodai: '', - formNum: 1 + formNum: 1, + // 涓汉杞彂鏁版嵁 + personalForward: {}, + whetherClick: false, + whetherClick1: false }; }, onShow() { @@ -154,7 +169,6 @@ }, methods: { init() { - console.log('roleType', this.roleType); switch (this.roleType) { case 1: this.getAllHuoDaiByCustomerId(); @@ -185,9 +199,8 @@ return Number(x); } }, - checkboxChange(value, index) { - uni.setStorageSync('allrelay', this.jhOrderPlanForwardList[index].carNum); - this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map((v, i) => { + checkboxChange(value, index, v) { + this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => { return { ...v, ischecked: false @@ -196,40 +209,45 @@ if (value.length != 0) { let tempforwardSurplus = this.forwardSurplus; let tempcarNumSurplus1 = this.carNumSurplus1; - // 璁$畻鍏ㄩ儴杞彂鏁� - // 瀹㈡埛 + // if (v.id) { + // this.$reqGet('jhorderplanforward', { forwardId: v.id }).then(res => { + // this.personalForward = res.data; + // // 璁$畻鍏ㄩ儴杞彂鏁� + // // 瀹㈡埛 + // if (this.roleType == 1) { + // this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.personalForward.carNum, tempcarNumSurplus1); + // this.calculate(this.jhOrderPlanForwardList); + // if (tempcarNumSurplus1 == 0) { + // this.jhOrderPlanForwardList[index].carNum = this.allrelay(0, this.carNumSurplus1); + // } + // } + // tempcarNumSurplus1 = 0; + // // 璐т唬 + // if (this.roleType == 2) { + // this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.personalForward.carNum, tempforwardSurplus); + // } + // tempforwardSurplus = 0; + // }); + // } else { } + if (this.roleType == 1) { - this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempcarNumSurplus1); + this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.carNumSurplus1, this.jhOrderPlanForwardList[index].carNum); + this.calculate(this.jhOrderPlanForwardList); } - tempcarNumSurplus1 = 0; - // 璐т唬 if (this.roleType == 2) { - this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, tempforwardSurplus); + this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.forwardSurplus, this.jhOrderPlanForwardList[index].carNum); + this.calculate(this.jhOrderPlanForwardList); } - tempforwardSurplus = 0; // 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉�� this.jhOrderPlanForwardList.forEach((v, i) => { if (i !== index) { v.ischecked = true; } }); + this.whetherClick = true; } else { - let tempforwardSurplus = this.forwardSurplus; - let tempcarNumSurplus1 = this.carNumSurplus1; - // 璐т唬 - if (this.roleType == 2) { - this.jhOrderPlanForwardList[index].carNum = this.allrelayto(this.jhOrderPlanForwardList[index].carNum, this.forwardSurplus); - if (this.jhOrderPlanForwardList[index].carNum <= 0) { - this.jhOrderPlanForwardList[index].carNum = 0; - } - } - // 瀹㈡埛 - if (this.roleType == 1) { - this.jhOrderPlanForwardList[index].carNum = this.allrelayto(this.jhOrderPlanForwardList[index].carNum, this.carNumSurplus1); - if (this.jhOrderPlanForwardList[index].carNum <= 0) { - this.jhOrderPlanForwardList[index].carNum = 0; - } - } + this.jhOrderPlanForwardList[index].carNum = 0; + this.calculate(this.jhOrderPlanForwardList); } }, // 鑾峰彇璐т唬鍒楄〃 @@ -283,6 +301,43 @@ } }); }, + // 璁$畻鎻愮叅鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤 + calculate(arr) { + let total = arr.reduce((prev, cur) => { + return cur.carNum + prev; + }, 0); + console.log(total, '鎻愮叅鍗曚竴鍏辩殑鏁版嵁'); + if (this.roleType == 1) { + if (this.cars2 >= total) { + this.carNumSurplus1 = this.cars2 - total; + this.whetherClick = false; + this.whetherClick1 = false; + } else { + this.carNumSurplus1 = 0; + this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�'); + this.whetherClick = true; + this.whetherClick1 = true; + } + } + return total; + }, + debouncecarNumInput(index, value) { + let time; + let that = this; + return (function() { + if (!time) { + time = setTimeout(() => { + that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value)); + that.calculate(that.jhOrderPlanForwardList); + time = null; + }, 800); + } + })(); + }, + blurInput(index, value) { + this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value)); + this.calculate(this.jhOrderPlanForwardList); + }, // 娣诲姞涓�缁勮〃鍗� addForm() { // 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹 @@ -291,7 +346,7 @@ this.jhOrderPlanForwardList.push({ orderPlanId: this.orderPlanId, name: '', - carNum: 0, + carNum: null, xsUserId: 0, fleetId: 0, checkboxValue1: '', @@ -301,13 +356,14 @@ this.jhOrderPlanForwardList.push({ orderPlanId: this.orderPlanId, name: '', - carNum: 0, + carNum: null, xsUserId: 0, fleetId: 0, checkboxValue1: '', ischecked: true }); } + this.calculate(this.jhOrderPlanForwardList); }, // 鍒犻櫎涓�缁勮〃鍗� deleteGroup(index, v) { @@ -316,6 +372,7 @@ this.$reqPost('deleteForward', { id: v.id }, 'params').then(res => { if (res.code === 0) { this.jhOrderPlanForwardList.splice(index, 1); + this.calculate(this.jhOrderPlanForwardList); this.$u.toast('鍒犻櫎鎴愬姛'); } else if (res.code === 1) { this.$u.toast(res.msg); @@ -323,6 +380,7 @@ }); } else { this.jhOrderPlanForwardList.splice(index, 1); + this.calculate(this.jhOrderPlanForwardList); this.$u.toast('鍒犻櫎鎴愬姛'); } }, @@ -332,8 +390,9 @@ if (this.jhOrderPlanForwardList.length === 0) { this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�'); } + let reg = /^[1-9]\d*$/; this.jhOrderPlanForwardList.forEach(v => { - if (isNaN(Number(v.carNum)) || Number(v.carNum) <= 0) { + if (!reg.test(v.carNum) || Number(v.carNum) <= 0) { this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�'); isPass = false; return isPass; -- Gitblit v1.9.1