From 29658de29b2eb5292bf0c2fad7427b374b769ebc Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期三, 10 五月 2023 20:29:31 +0800 Subject: [PATCH] 样式修改,引入字体,修改逻辑 --- pages/public-page/forward/forward.vue | 398 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 327 insertions(+), 71 deletions(-) diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue index c3d81d6..40d8611 100644 --- a/pages/public-page/forward/forward.vue +++ b/pages/public-page/forward/forward.vue @@ -1,21 +1,37 @@ <template> <!-- 杞彂 --> <view class="forward"> - <view class="forward-card"> + <view v-if="roleType == 1"><u-notice-bar :text="text" :fontSize="30" mode="link"></u-notice-bar></view> + <view v-else-if="roleType == 2"><u-notice-bar :text="text1" :fontSize="30" mode="link"></u-notice-bar></view> + <view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList" :key="index"> <u--form labelPosition="top" :model="forwardForm" ref="form1"> - <u-form-item label="杞彂瀵硅薄" labelWidth="20%" ref="item1" @click="forwardObjectClick"><u--input v-model="name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄"></u--input></u-form-item> + <u-form-item label="杞彂瀵硅薄" labelWidth="20%" ref="item1" @click="forwardObjectClick(index)"> + <u--input v-model="val.name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄" :readonly="true"></u--input> + </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="forwardForm.nums" placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�"></u--input></view> - <u-checkbox-group v-model="checkboxValue1" placement="column" @change="checkboxChange"> - <u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="鍏ㄩ儴杞彂" name="鍏ㄩ儴杞彂"></u-checkbox> + <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> </u-form-item> + <u-form-item><u-button text="鍒犻櫎鏈粍" :hairline="false" type="error" @click="deleteGroup(index, val)"></u-button></u-form-item> </u--form> </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="primary" @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"> @@ -25,14 +41,18 @@ <view class="" v-if="!tabHuoDai"> <u-cell-group> <u-cell v-for="(item, index) in fleetData" :key="index" :title="item.name"> - <view class="cell-util" slot="value"><u-button @click="forwardFleetObjectSelect(item)" text="閫夋嫨" type="primary" size="mini"></u-button></view> + <view class="cell-util" slot="value"> + <u-button @click="forwardFleetObjectSelect(item, index)" text="閫夋嫨" type="primary" size="mini"></u-button> + </view> </u-cell> </u-cell-group> </view> <view class="" v-else-if="tabHuoDai"> <u-cell-group> <u-cell v-for="(item, index) in huoDaiData" :key="index" :title="item.name"> - <view class="cell-util" slot="value"><u-button @click="forwardHuoDaiObjectSelect(item)" text="閫夋嫨" type="primary" size="mini"></u-button></view> + <view class="cell-util" slot="value"> + <u-button @click="forwardHuoDaiObjectSelect(item, index)" text="閫夋嫨" type="primary" size="mini"></u-button> + </view> </u-cell> </u-cell-group> </view> @@ -44,37 +64,89 @@ <script> import { customerId } from '@/utils/status'; +import toast from '../../../uni_modules/uview-ui/libs/config/props/toast'; export default { onLoad(params) { - console.log('杞彂鐨勬彁鐓ゅ崟id', params.orderPlanId, params.carNum); - this.forwardForm.orderPlanId = params.orderPlanId; - this.carNumTatal = params.carNum; + console.log(params, '杞彂椤甸潰鐨勫弬鏁�'); + // 瀹㈡埛 + this.cars2 = Number(params.cars2); + this.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1); + // 璐т唬 + this.carNum = Number(params.carNum); + this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai); + this.orderPlanId = params.orderPlanId; + this.$reqGet('forwardList', { OrderPlanId: params.orderPlanId }).then(res => { + if (res.data.length !== 0 && this.roleType == 1) { + this.jhOrderPlanForwardList = res.data.map(item => { + return { + id: item.id, + orderPlanId: item.orderPlanId, + name: item.xsUserName === null ? item.fleetName : item.xsUserName, + carNum: item.carNum, + xsUserId: item.xsUserId === null ? 0 : item.xsUserId, + fleetId: item.fleetId === null ? 0 : item.fleetId, + checkboxValue1: '' + }; + }); + } else if (res.data.length !== 0 && this.roleType == 2) { + this.jhOrderPlanForwardList = res.data.map(item => { + return { + id: item.id, + orderPlanId: item.orderPlanId, + name: item.fleetName, + carNum: item.carNum, + xsUserId: item.xsUserId === null ? 0 : item.xsUserId, + fleetId: item.fleetId === null ? 0 : item.fleetId, + checkboxValue1: '' + }; + }); + } else { + this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => { + if (!v.orderPlanId) { + return { + ...v, + orderPlanId: params.orderPlanId + }; + } + }); + } + }); }, data() { return { + forwardSurplus: 0, paramsName: {}, huoDaiData: [], fleetData: [], - carNumTatal: null, - name: '', - forwardForm: { - orderPlanId: null, - nums: null, - userId: 0, - fleetId: 0 - }, - checkboxValue1: '', - selectPopupShow: false, - list1: [ + // 鏃ヨ鍒抜d + orderPlanId: '', + jhOrderPlanForwardList: [ { - name: '杞﹂槦' - }, - { - name: '璐т唬' + orderPlanId: '', + name: '', + carNum: null, + xsUserId: 0, + fleetId: 0, + checkboxValue1: '' } ], - tabHuoDai: false + // 绱㈠紩锛屽埄鐢ㄧ储寮曟纭樉绀� + index: '', + checkboxValue1: '', + selectPopupShow: false, + list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }], + tabHuoDai: false, + carNumSurplus1: '', + tempcarNumSurplus1: '', + cars2: '', + carNum: '', + carNumSurplusHuodai: '', + formNum: 1, + // 涓汉杞彂鏁版嵁 + personalForward: {}, + whetherClick: false, + whetherClick1: false }; }, onShow() { @@ -87,11 +159,16 @@ computed: { roleType() { return uni.getStorageSync('roleType'); + }, + text() { + return `宸查鍙�${this.cars2}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplus1}寮犳彁鐓ゅ崟`; + }, + text1() { + return `宸叉嫢鏈�${this.carNum}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplusHuodai}寮犳彁鐓ゅ崟`; } }, methods: { init() { - console.log('roleType', this.roleType); switch (this.roleType) { case 1: this.getAllHuoDaiByCustomerId(); @@ -104,71 +181,247 @@ break; } }, - checkboxChange(value) { - console.log('澶嶉�夋鍙樺寲', value); - if (value.length != 0) { - this.forwardForm.nums = this.carNumTatal; + allrelay(x, y) { + let a = 0; + if (y != 0) { + a = Number(x) + Number(y); + return a; } else { - this.forwardForm.nums = null; + return Number(x); + } + }, + allrelayto(x, y) { + let a = 0; + if (y != 0) { + a = Number(x) - Number(y); + return a; + } else { + return Number(x); + } + }, + checkboxChange(value, index, v) { + this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => { + return { + ...v, + ischecked: false + }; + }); + 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.carNumSurplus1, this.jhOrderPlanForwardList[index].carNum); + this.calculate(this.jhOrderPlanForwardList); + } + if (this.roleType == 2) { + this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.forwardSurplus, this.jhOrderPlanForwardList[index].carNum); + this.calculate(this.jhOrderPlanForwardList); + } + // 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉�� + this.jhOrderPlanForwardList.forEach((v, i) => { + if (i !== index) { + v.ischecked = true; + } + }); + this.whetherClick = true; + } else { + this.jhOrderPlanForwardList[index].carNum = 0; + this.calculate(this.jhOrderPlanForwardList); } }, // 鑾峰彇璐т唬鍒楄〃 getAllHuoDaiByCustomerId() { this.$reqGet('getAllHuoDaiByCustomerId').then(res => { this.huoDaiData = res.data; - console.log('璐т唬鍒楄〃', res); }); }, // 鑾峰彇杞﹂槦鍒楄〃 getFleet() { this.$reqGet('getFleet').then(res => { this.fleetData = res.data; - console.log('杞﹂槦鍒楄〃', res); }); }, // 杞彂 - forwardObjectClick() { - console.log('hahah'); + forwardObjectClick(index) { this.selectPopupShow = true; - console.log(this.huoDaiData, this.fleetData, '杞彂'); + this.index = index; }, selectPopupClose() { this.selectPopupShow = false; }, - selectPopupOpen() { - console.log('寮瑰嚭妗嗘墦寮�浜�'); - }, + selectPopupOpen() {}, // 杞彂閫夋嫨璐т唬 - forwardHuoDaiObjectSelect(item) { - this.selectPopupShow = false; - this.forwardForm.userId = item.id; - // this.forwardForm.name = item.huoDaiName; - this.name = item.huoDaiName; - this.forwardForm.fleetId = 0; - console.log('璐т唬閫夋嫨', this.forwardForm); - }, - // 杞彂閫夋嫨杞﹂槦 - forwardFleetObjectSelect(item) { - this.selectPopupShow = false; - this.forwardForm.fleetId = item.id; - // this.forwardForm.name = item.name; - this.name = item.name; - this.forwardForm.userId = 0; - console.log('杞﹂槦閫夋嫨', this.forwardForm); - }, - // 鎻愪氦 - submitForm() { - this.$reqPost('forward', this.forwardForm, 'params').then(res => { - if (res.code == 0) { - this.$u.toast('鎻愪氦鎴愬姛'); - setTimeout(() => { - uni.navigateBack({ delta: 1 }); - }, 1000); + forwardHuoDaiObjectSelect(item, index) { + this.$nextTick(() => { + let isableAdd = this.jhOrderPlanForwardList.filter(v => item.name === v.name); + if (isableAdd.length > 0) { + this.$u.toast('瀛樺湪閲嶅娣诲姞'); + this.selectPopupShow = true; + } else { + this.selectPopupShow = false; + this.jhOrderPlanForwardList[this.index].xsUserId = item.userId; + this.jhOrderPlanForwardList[this.index].name = item.name; + this.jhOrderPlanForwardList[this.index].fleetId = 0; } }); }, + // 杞彂閫夋嫨杞﹂槦 + forwardFleetObjectSelect(item, index) { + this.$nextTick(() => { + let isableAdd = this.jhOrderPlanForwardList.filter(v => item.name === v.name); + if (isableAdd.length > 0) { + this.$u.toast('瀛樺湪閲嶅娣诲姞'); + this.selectPopupShow = true; + } else { + this.selectPopupShow = false; + this.jhOrderPlanForwardList[this.index].fleetId = item.id; + this.jhOrderPlanForwardList[this.index].name = item.name; + this.jhOrderPlanForwardList[this.index].xsUserId = 0; + } + }); + }, + // 璁$畻鎻愮叅鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤 + 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() { + // 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹 + let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true); + if (!ischeck) { + this.jhOrderPlanForwardList.push({ + orderPlanId: this.orderPlanId, + name: '', + carNum: null, + xsUserId: 0, + fleetId: 0, + checkboxValue1: '', + ischecked: false + }); + } else { + this.jhOrderPlanForwardList.push({ + orderPlanId: this.orderPlanId, + name: '', + carNum: null, + xsUserId: 0, + fleetId: 0, + checkboxValue1: '', + ischecked: true + }); + } + this.calculate(this.jhOrderPlanForwardList); + }, + // 鍒犻櫎涓�缁勮〃鍗� + deleteGroup(index, v) { + let tempcarNum = v.carNum; + if (v.id && this.jhOrderPlanForwardList[index].carNum !== tempcarNum) { + 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); + } + }); + } else { + this.jhOrderPlanForwardList.splice(index, 1); + this.calculate(this.jhOrderPlanForwardList); + this.$u.toast('鍒犻櫎鎴愬姛'); + } + }, + // 鎻愪氦 + submitForm() { + let isPass = false; + if (this.jhOrderPlanForwardList.length === 0) { + this.$u.toast('璇疯嚦灏戦�夋嫨涓�缁勮浆鍙戝璞�'); + } + let reg = /^[1-9]\d*$/; + this.jhOrderPlanForwardList.forEach(v => { + if (!reg.test(v.carNum) || Number(v.carNum) <= 0) { + this.$u.toast('璇疯緭鍏ュ悎娉曟暟瀛�'); + isPass = false; + return isPass; + } + // else if (Number(v.carNum) > Number(this.forwardSurplus)) { + // this.$u.toast('瓒呰繃鏈�澶ц鍗曞墿浣欓噺'); + // isPass = false; + // return isPass; + // } + else { + isPass = true; + return isPass; + } + }); + if (isPass) { + this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => { + console.log(res, 'zh'); + if (res.code == 0) { + this.$u.toast('鎻愪氦鎴愬姛'); + setTimeout(() => { + uni.navigateBack({ delta: 1 }); + }, 1000); + } else { + this.$u.toast(res.msg); + } + }); + } + }, tabClick(item) { - console.log('tab鐐瑰嚮', item); if (item.name == '璐т唬') { this.tabHuoDai = true; } else { @@ -186,8 +439,11 @@ // 鍗$墖 .forward-card { - margin-top: vww(24); - + margin-top: vww(10); + .notice-bar { + width: 100%; + height: vww(24); + } .u-form { .u-form-item { .u-form-item__body { @@ -217,8 +473,8 @@ } .forwardBtn { - width: 90%; - position: fixed; + width: 100%; + // position: fixed; bottom: vww(50); } -- Gitblit v1.9.1