From 3a0823db9324207eb54b1747dfe3d2c6d52a9962 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期一, 28 十月 2024 08:57:40 +0800 Subject: [PATCH] feat:库管修改显示条件 --- pages/public-page/forward/forward.vue | 1409 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 838 insertions(+), 571 deletions(-) diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue index e3a5c3e..fd4fd9a 100644 --- a/pages/public-page/forward/forward.vue +++ b/pages/public-page/forward/forward.vue @@ -3,77 +3,148 @@ <view class="forward"> <view class="forward-banner"> <view class="banner-block"> - <view class="arrow-left" @click="back"><u-icon name="arrow-left" size="40" color="#ffffff"></u-icon></view> + <view class="arrow-left" + @click="back"><u-icon name="arrow-left" + size="40" + color="#ffffff"></u-icon></view> <view class="forward-text">杞彂</view> </view> </view> - <view v-if="roleType == 1" class="notice-bar"> - <u-notice-bar :text="text" :fontSize="30"></u-notice-bar> - <view class="notice-icon" style="background: url('../../../static/image/banner/notice.png') no-repeat;background-size: cover; width: 42rpx;height: 42rpx;"></view> + <view v-if="roleType == 1" + class="notice-bar"> + <u-notice-bar :text="text" + :fontSize="30"></u-notice-bar> + <view class="notice-icon" + style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/notice.png') no-repeat;background-size: cover; width: 42rpx;height: 42rpx;"> + </view> </view> - <view v-else-if="roleType == 2" class="notice-bar"><u-notice-bar :text="text1" :fontSize="30"></u-notice-bar></view> + <view v-else-if="roleType == 2" + class="notice-bar"><u-notice-bar :text="text1" + :fontSize="30"></u-notice-bar></view> <view class="card-main"> <view class="card-block"> - <view class="forward-card" v-for="(val, index) in jhOrderPlanForwardList" :key="index"> - <u-swipe-action> - <u-swipe-action-item :options="options1" @click="deleteGroup(index, val)"> - <view class="card-content"> - <u--form labelPosition="left" :model="forwardForm" ref="form1"> - <u-form-item label="杞彂瀵硅薄" labelWidth="21%" ref="item1" @click="forwardObjectClick(index)"> - <u--input v-model="val.name" placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄" :readonly="true" border="bottom"></u--input> - </u-form-item> - <u-form-item label="杈撳叆鏁伴噺" ref="item2" labelWidth="21%"> - <view class="forward-card-amount"> - <view class="forward-card-amount-input"> - <u--input - v-model="val.carNum" - placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�" - @input="debouncecarNumInput(index, val.carNum)" - @blur="blurInput(index, val.carNum)" - border="bottom" - ></u--input> + <u-swipe-action> + <u-swipe-action-item :options="options1" + v-for="(val, index) in jhOrderPlanForwardList" + :key="val.vid" + :name="val.vid" + @click="deleteGroup(index, val,val.xsUserId)"> + <view> + <view class="forward-card"> + <view :style="{ 'color': errorDataList.includes(index) ? '#f56c6c' : '' }" + class="error-tip" + v-show="errorDataList.includes(index)"> + * 姝ら」鏁版嵁閿欒,璇锋洿鏀瑰悗鍐嶆鎻愪氦 + </view> + <view class="card-content"> + <u--form labelPosition="left" + :model="forwardForm" + ref="form1"> + <u-form-item label="杞彂瀵硅薄" + labelWidth="21%" + ref="item1" + @click="forwardObjectClick(index,val.name,val.id)"> + <u--input v-model="val.name" + placeholder="鐐瑰嚮閫夋嫨杞彂瀵硅薄" + :readonly="true" + border="bottom"></u--input> + </u-form-item> + <u-form-item label="杈撳叆鏁伴噺" + ref="item2" + labelWidth="21%"> + <view class="forward-card-amount"> + <view class="forward-card-amount-input"> + <u--input v-model="val.carNum" + placeholder="璇疯緭鍏ヨ浆鍙戞暟閲�" + @input="debouncecarNumInput(index, val.carNum,val.xsUserId)" + @blur="blurInput(index, val.carNum,val.xsUserId)" + border="bottom"></u--input> + </view> + <u-checkbox-group v-model="val.checkboxValue1" + placement="column" + @change="v => checkboxChange(v, index, val,val.xsUserId)"> + <u-checkbox size="30" + shape="circle" + labelSize="30" + label="鍏ㄩ儴杞彂" + name="鍏ㄩ儴杞彂" + :disabled="val.ischecked" + :checked="val.isSelected"></u-checkbox> + </u-checkbox-group> </view> - <u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index, val)"> - <u-checkbox size="30" shape="circle" 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> + </u-form-item> + + </u--form> + <view><u-button v-if="fenpeiFlag " text="鍒嗛厤鏃ヨ鍒掑惃鏁�" type="primary" :plain="true" @click="todoFenPei(val)"></u-button></view> + </view> </view> - </u-swipe-action-item> - </u-swipe-action> - </view> + </view> + </u-swipe-action-item> + </u-swipe-action> </view> </view> <view class="utils-buttonGroup"> <!-- 娣诲姞鎸夐挳 --> - <view class="AdddBtn"><u-button text="娣诲姞" :hairline="false" @click.stop="addForm" :disabled="whetherClick"></u-button></view> + <view class="AdddBtn"><u-button text="娣诲姞" + :hairline="false" + @click.stop="addForm" + :disabled="whetherClick"></u-button></view> + <!--鍒嗕韩鏃ヨ鍒� --> + <view + class="AdddBtn" v-if="isshow && roleType!== 2 "><u-button text="鍒嗕韩鏃ヨ鍒�" + :hairline="false" + open-type="share" + :loading='loading'></u-button></view> <!-- 鎻愪氦鎸夐挳 --> - <view class="forwardBtn"><u-button text="鎻愪氦" :hairline="false" type="warning" @click.stop="submitForm" :disabled="whetherClick1"></u-button></view> + <view + class="forwardBtn"><u-button text="鎻愪氦" + :hairline="false" + type="warning" + @click.stop="submitForm" + :disabled="whetherClick1" + :loading='loading'></u-button></view> + </view> <!-- 澧炲姞鎸夐挳 --> - <!-- 閫夋嫨璐т唬鎴栬溅闃熷脊鍑烘 --> + <!-- 閫夋嫨鎵胯繍鍟嗘垨杞﹂槦寮瑰嚭妗� --> <view class="selectHuoDaiOrFleet-container"> - <u-popup :show="selectPopupShow" mode="bottom" @close="selectPopupClose" @open="selectPopupOpen"> + <u-popup :show="selectPopupShow" + mode="bottom" + @close="selectPopupClose" + @open="selectPopupOpen"> <view class="selectHuoDaiOrFleet-container-box"> - <u-tabs :list="list1" @click="tabClick"></u-tabs> - <view class="" v-if="!tabHuoDai"> + <u-tabs :list="list1" + @click="tabClick"></u-tabs> + <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, index)" text="閫夋嫨" type="primary" size="mini"></u-button> + <u-cell v-for="(item, index) in fleetData" + :key="index" + :title="item.name"> + <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"> + <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, index)" text="閫夋嫨" type="primary" size="mini"></u-button> + <u-cell v-for="(item, index) in huoDaiData" + :key="index" + :title="item.name"> + <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> @@ -85,515 +156,705 @@ </template> <script> -import { customerId } from '@/utils/status'; -import toast from '../../../uni_modules/uview-ui/libs/config/props/toast'; + 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.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 - }; - } - }); + export default { + onLoad(params) { + console.log(params, '杞彂椤甸潰鐨勫弬鏁�'); + let reg=RegExp(/閿�/) + this.isshow=!reg.test(params.orderType) + this.productName = params.productName; + this.customerId = params.customerId; + this.packingType = params.packingType; + this.pvcPlanMeasure = params.pvcPlanMeasure; + // 瀹㈡埛 + this.cars2 = Number(params.cars2); + this.tempcarNumSurplus1 = this.carNumSurplus1 = Number(params.carNumSurplus1 || 0); + // 鎵胯繍鍟� + this.carNum = Number(params.carNum); + this.carNumSurplusHuodai = this.forwardSurplus = Number(params.carNumSurplusHuodai || 0); + this.orderPlanId = params.orderPlanId; + // 鍒ゆ柇鏄惁杞彂瀹屾垚 瀹屾垚鍒欎笉鍙啀娣诲姞 + if (this.roleType === 1) { //roleType 1瀹㈡埛 + this.whetherClick = this.carNumSurplus1 === 0 + } else if (this.roleType === 2) { //roleType 2鎵胯繍鍟� + this.whetherClick = this.forwardSurplus === 0 } - }); - }, - data() { - return { - forwardSurplus: 0, - paramsName: {}, - huoDaiData: [], - fleetData: [], - // 鏃ヨ鍒抜d - orderPlanId: '', - jhOrderPlanForwardList: [ - { - orderPlanId: '', - name: '', - carNum: null, - xsUserId: 0, - fleetId: 0, - checkboxValue1: '' - } - ], - // 绱㈠紩锛屽埄鐢ㄧ储寮曟纭樉绀� - index: '', - checkboxValue1: '', - selectPopupShow: false, - list1: [{ name: '杞﹂槦' }, { name: '璐т唬' }], - tabHuoDai: false, - carNumSurplus1: '', - tempcarNumSurplus1: '', - cars2: '', - carNum: '', - carNumSurplusHuodai: '', - formNum: 1, - // 涓汉杞彂鏁版嵁 - personalForward: {}, - whetherClick: false, - whetherClick1: false, - // 婊戝姩鍗曞厓鏍奸厤缃� - options1: [ - { + this.getOrderPlan() + }, + onShareAppMessage(res) { + 銆�銆�if (res.from === 'button') {// 鏉ヨ嚜椤甸潰鍐呭垎浜寜閽� + 銆�銆�銆�銆�console.log(res.target) + 銆�銆�} + 銆�銆�return { + 銆�銆�銆�銆�title: '鍒嗕韩鏃ヨ鍒�', + 銆�銆�銆�銆�path: 'pages/driver-page/delivery-my/delivery-my/delivery-my?'+ `id=${this.orderPlanId}` + 銆�銆�} + + }, + + + data() { + return { + isshow:false, + pvcPlanMeasure:'', + forwardSurplus: 0, + paramsName: {}, + packingType:'', + productName:'', + customerId:'', + huoDaiData: [], + isClickFlag:true,// true 鍙互 or false for forward and back to the direction of the car direction (default + fleetData: [], + // 鏃ヨ鍒抜d + orderPlanId: '', + jhOrderPlanForwardList: [{ //杞彂瀵硅薄 + orderPlanId: '', //鏃ヨ鍒扞d + name: '', //杞﹂槦鎴栨壙杩愬晢鍚嶇О + carNum: null, //杞彂鏁伴噺 + xsUserId: 0, //鎵胯繍鍟咺d + fleetId: 0, //杞﹂槦Id + checkboxValue1: '', //鍏ㄩ儴杞彂 + isSelected: false + }], + // 绱㈠紩锛屽埄鐢ㄧ储寮曟纭樉绀� + index: '', + checkboxValue1: '', + selectPopupShow: false, + list1: [{ name: '杞﹂槦' }], //{ name: '鎵胯繍鍟�' } + tabHuoDai: false, + carNumSurplus1: '', //鍓╀綑鐨勬敹鍙戝崟鏁伴噺锛堣浆鍙戠殑鏁伴噺 - 棰嗗彇鐨勬暟閲忥級 + tempcarNumSurplus1: '', + cars2: '', //宸茬粡棰嗗彇鐨勮溅鏁� + carNum: '', + carNumSurplusHuodai: '', + formNum: 1, + // 涓汉杞彂鏁版嵁 + personalForward: {}, + whetherClick: false, //娣诲姞鎸夐挳 + whetherClick1: false, + // 婊戝姩鍗曞厓鏍奸厤缃� + options1: [{ text: '鍒犻櫎', style: { backgroundColor: '#FB0101' } - } - ] - }; - }, - onShow() { - this.init(); - if (this.roleType == 2) { - this.list1.splice(1, 1); - this.tabHuoDai = false; - } - }, - computed: { - roleType() { - return uni.getStorageSync('roleType'); + }], + loading: false, //鎻愪氦loading + originForwardName: '', //鍘熻浆鍙戝璞� + isShow:false, + laterForwardName: '', //鍚庤浆鍙戝璞� + errorDataList: [], // 閿欒鏁版嵁 + isDirectAdd: false, // 鏄惁鏄湪鍘熸潵鏈夊璞$殑item淇敼 鏄殑涓簍rue + forwardId: '' //鍘熸潵鏈夊璞� 鐐瑰嚮璧嬪�� + }; }, - text() { - return `宸查鍙�${this.cars2}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplus1}寮犳彁鐓ゅ崟`; - }, - text1() { - return `宸叉嫢鏈�${this.carNum}寮犳彁鐓ゅ崟,鍓╀綑${this.carNumSurplusHuodai}寮犳彁鐓ゅ崟`; - } - }, - methods: { - // 杩斿洖涓婁竴椤� - back() { - uni.navigateBack({ - delta: 1 - }); - }, - init() { - switch (this.roleType) { - case 1: - this.getAllHuoDaiByCustomerId(); - this.getFleet(); - break; - case 2: - this.getFleet(); - break; - default: - break; - } - }, - allrelay(x, y) { - let a = 0; - if (y != 0) { - a = Number(x) + Number(y); - return a; - } else { - 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.carNumSurplusHuodai, 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; - }); - }, - // 鑾峰彇杞﹂槦鍒楄〃 - getFleet() { - this.$reqGet('getFleet').then(res => { - this.fleetData = res.data; - }); - }, - // 杞彂 - forwardObjectClick(index) { - this.selectPopupShow = true; - this.index = index; - }, - selectPopupClose() { - this.selectPopupShow = false; - }, - selectPopupOpen() {}, - // 杞彂閫夋嫨璐т唬 - 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; - } - } + onShow() { + this.init(); + this.getBuild(); + // this.getOrderPlan(); if (this.roleType == 2) { - if (this.carNum >= total) { - this.carNumSurplusHuodai = this.carNum - total; - this.whetherClick = false; - this.whetherClick1 = false; - } else { - this.carNumSurplusHuodai = 0; - this.$u.toast('鍓╀綑鎻愮叅鍗曟暟閲忎笉瓒�'); - this.whetherClick = true; - this.whetherClick1 = true; - } - } - }, - debouncecarNumInput(index, value) { - let time; - let that = this; - that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value)); - return (function() { - if (!time) { - time = setTimeout(() => { - 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.$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) { - if (item.name == '璐т唬') { - this.tabHuoDai = true; - } else { + this.list1.splice(1, 1); this.tabHuoDai = false; } + }, + computed: { + roleType() { + return uni.getStorageSync('roleType'); + }, + text() { + return `宸查鍙�${this.cars2}寮犳敹鍙戝崟,鍓╀綑${this.carNumSurplus1}寮犳敹鍙戝崟`; + }, + text1() { + return `宸叉嫢鏈�${this.carNum}寮犳敹鍙戝崟,鍓╀綑${this.carNumSurplusHuodai}寮犳敹鍙戝崟`; + }, + fenpeiFlag(){ + console.log(this.productName,this.packingType,'122222222cumped',/鑱氭隘涔欑儻鏍戣剛/.test(this.productName) || (this.packingType && this.packingType == '1')) + if(/鑱氭隘涔欑儻鏍戣剛/.test(this.productName) || (this.packingType && this.packingType == '1')){ + return true + }else{ + return false + } + } + }, + methods: { + getOrderPlan() { + uni.showLoading({ + title: '鍔犺浇涓�' + }) + this.$reqGet('forwardList', { OrderPlanId: this.orderPlanId }).then(res => { + uni.hideLoading() + if(res.data.length){ + this.isShow = true; + }else{ + this.isShow = false; + + } + if (res.data.length !== 0 && this.roleType == 1) { + this.jhOrderPlanForwardList = res.data.map((item, index) => { + return { + id: item.id, + orderPlanId: item.orderPlanId, + name: item.xsUserName === '' ? item.fleetName : item.xsUserName, + carNum: item.carNum, + xsUserId: item.xsUserId === '' ? 0 : item.xsUserId, + fleetId: item.fleetId === '' ? 0 : item.fleetId, + checkboxValue1: '', + vid: `${new Date().getTime()}${index}${item.id}`, + forWardType: item.xsUserId === '' ? 2 : 1 + }; + }); + } else if (res.data.length !== 0 && this.roleType == 2) { + this.jhOrderPlanForwardList = res.data.map((item, index) => { + return { + id: item.id, + orderPlanId: item.orderPlanId, + name: item.fleetName, + carNum: item.carNum, + xsUserId: item.xsUserId === '' ? 0 : item.xsUserId, + fleetId: item.fleetId === '' ? 0 : item.fleetId, + checkboxValue1: '', + vid: `${new Date().getTime()}${index}${item.id}`, + }; + }); + } else { + this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map((item, index) => { + if (!item.orderPlanId) { + return { + ...item, + orderPlanId: this.orderPlanId, + vid: `${new Date().getTime()}${index}${item.id}`, + }; + } + }); + } + }).catch(e => { + uni.hideLoading() + }) + }, + getBuild(){ + console.log(this.productName,'opr') + if(/鑱氭隘涔欑儻鏍戣剛/.test(this.productName)){ + this.$reqGet('getBuildList',{orderPlanId:this.orderPlanId,customerId:this.customerId}).then(res=>{ + console.log(res,'resss') + }) + } + + }, + // 杩斿洖涓婁竴椤� + back() { + uni.navigateBack({ + delta: 1 + }); + }, + init() { + switch (this.roleType) { + case 1: + this.getAllHuoDaiByCustomerId(); + this.getFleet(); + break; + case 2: + this.getFleet(); + break; + default: + break; + } + }, + allrelay(x, y) { + let a = 0; + if (y != 0) { + a = Number(x) + Number(y); + return a; + } else { + 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, xsUserId) { + this.$set(this.jhOrderPlanForwardList[index], 'forWardType', xsUserId ? 1 : 2); + this.jhOrderPlanForwardList = this.jhOrderPlanForwardList.map(v => { + return { + ...v, + ischecked: false + }; + }); + if (value.length != 0) { + 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.carNumSurplusHuodai, 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 = null; + this.calculate(this.jhOrderPlanForwardList); + } + }, + // 鑾峰彇鎵胯繍鍟嗗垪琛� + getAllHuoDaiByCustomerId() { + this.$reqGet('getAllHuoDaiByCustomerId').then(res => { + this.huoDaiData = res.data; + }); + }, + // 鑾峰彇杞﹂槦鍒楄〃 + getFleet() { + this.$reqGet('getFleet').then(res => { + this.fleetData = res.data; + }); + }, + // 杞彂瀵硅薄 + forwardObjectClick(index, name, id) { + if(!id){ + this.selectPopupShow = true; + this.index = index; + this.originForwardName = name || '' + this.isDirectAdd = this.originForwardName !== '' + this.forwardId = id + }else{ + return + } + + }, + selectPopupClose() { + this.selectPopupShow = false; + }, + selectPopupOpen() {}, + // 杞彂閫夋嫨鎵胯繍鍟� + 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; + // return + // } + // if (this.isDirectAdd) { + // if (this.originForwardName && this.originForwardName !== item.name && (this + // .carNumSurplus1 !== 0 || this.carNumSurplusHuodai !== 0)) { + // this.addForm(item.name) + // this.jhOrderPlanForwardList.forEach(v => { + // if (v.id === this.forwardId) { + // v.xsUserId = item.userId; + // v.name = item.name; + // v.fleetId = 0; + // v.forWardType = 1; + // } + // }) + // this.selectPopupShow = false; + // } else { + // this.$u.toast('鏀跺彂鍗曞墿浣欐暟涓�0鎴栧凡娣诲姞'); + // this.selectPopupShow = true; + // } + // } else { + 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; + this.jhOrderPlanForwardList[this.index].forWardType = 1; //forWardType 杞彂绫诲瀷 鎵胯繍鍟�1 杞﹂槦2 + } + // } + }); + }, + // 杞彂閫夋嫨杞﹂槦 + 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; + // return + // } + // if (this.isDirectAdd) { + // if (this.originForwardName && this.originForwardName !== item.name && (this + // .carNumSurplus1 !== 0 || this.carNumSurplusHuodai !== 0)) { + // this.addForm(item.name) + // this.jhOrderPlanForwardList.forEach(v => { + // if (v.id === this.forwardId) { + // v.xsUserId = item.userId; + // v.name = item.name; + // v.fleetId = 0; + // v.forWardType = 1; + // } + // }) + // this.selectPopupShow = false; + // } else { + // this.$u.toast('鏀跺彂鍗曞墿浣欐暟涓�0鎴栧凡娣诲姞'); + // this.selectPopupShow = true; + // } + // } else { + console.log(this.jhOrderPlanForwardList,item,'jhOrderPlanForwardList') + 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; + this.jhOrderPlanForwardList[this.index].forWardType = 2; + } + // } + }); + }, + // 璁$畻鏀跺彂鍗曟暟閲忥紝娣诲姞鎴栧垹闄ゆ椂璋冪敤 + calculate(arr) { + let total = arr.reduce((prev, cur) => { + return cur.carNum + prev; + }, 0); + console.log(total, '鏀跺彂鍗曚竴鍏辩殑鏁版嵁'); + //roleType 1瀹㈡埛 2 鎵胯繍鍟� 3鍙告満 5瑁呭嵏鍛� + if (this.roleType == 1) { + if (Number(this.cars2) > total) { + this.carNumSurplus1 = Number(this.cars2) - total; + this.whetherClick = false; + this.whetherClick1 = false; + } else if (Number(this.cars2) == total) { //鍓╀綑鐨勬敹鍙戝崟涓�0锛堟坊鍔犮�佹彁浜ゆ寜閽笉鑳界偣鍑伙級 + this.whetherClick = true; + this.whetherClick1 = false; + this.carNumSurplus1 = Number(this.cars2) - total; + } else { + this.carNumSurplus1 = 0; + this.$u.toast('鍓╀綑鏀跺彂鍗曟暟閲忎笉瓒�'); + this.whetherClick = true; + this.whetherClick1 = true; + } + } + if (this.roleType == 2) { + if (Number(this.carNum) > total) { + this.carNumSurplusHuodai = Number(this.carNum) - total; + this.whetherClick = false; + this.whetherClick1 = false; + } else if (Number(this.carNum) == total) { + this.whetherClick = true; + this.whetherClick1 = false; + this.carNumSurplusHuodai = Number(this.carNum) - total; + } else { + this.carNumSurplusHuodai = 0; + this.$u.toast('鍓╀綑鏀跺彂鍗曟暟閲忎笉瓒�'); + this.whetherClick = true; + this.whetherClick1 = true; + } + } + }, + debouncecarNumInput(index, value, xsUserId) { + let time; + let that = this; + that.$set(that.jhOrderPlanForwardList[index], 'carNum', Number(value)); + //forWardType 杞彂绫诲瀷 1鎵胯繍鍟� 2杞﹂槦 + that.$set(that.jhOrderPlanForwardList[index], 'forWardType', xsUserId ? 1 : 2); + return (function() { + if (!time) { + time = setTimeout(() => { + that.calculate(that.jhOrderPlanForwardList); + if (that.roleType == 1) { + if (that.jhOrderPlanForwardList[index].carNum < Number(that + .carNumSurplus1)) { + that.$set(that.jhOrderPlanForwardList[index], 'checkboxValue1', ''); + that.jhOrderPlanForwardList.forEach((v, i) => { + if (index != i) { + v.ischecked = false; + } + }); + } + } + + if (that.roleType == 2) { + if (that.jhOrderPlanForwardList[index].carNum < Number(that + .carNumSurplusHuodai)) { + that.$set(that.jhOrderPlanForwardList[index], 'checkboxValue1', ''); + that.jhOrderPlanForwardList.forEach((v, i) => { + if (index != i) { + v.ischecked = false; + } + }); + } + } + time = null; + }, 800); + } + })(); + }, + blurInput(index, value, xsUserId) { + this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value)); + this.$set(this.jhOrderPlanForwardList[index], 'forWardType', xsUserId ? 1 : 2); + this.calculate(this.jhOrderPlanForwardList); + }, + // 娣诲姞涓�缁勮〃鍗� + addForm(name) { + // 鍒ゆ柇鏄惁鏈変竴涓閫夛紝濡傛灉鏈夊垯绂佹鏂板姞鐨勫閫夛紝娌℃湁鍒欎笉绂佹 + let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true); + this.jhOrderPlanForwardList.push({ + orderPlanId: this.orderPlanId, + name: name || '', + carNum: null, + xsUserId: 0, + fleetId: 0, + checkboxValue1: '', + ischecked: ischeck, + vid: Math.random() * 100, + isSelected: false + }); + this.calculate(this.jhOrderPlanForwardList); + }, + // 鍒犻櫎涓�缁勮〃鍗� + deleteGroup(index, v, xsUserId) { + let tempcarNum = v.carNum; + this.$set(this.jhOrderPlanForwardList[index], 'forWardType', xsUserId ? 1 : 2); + if (v.id) { + 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 (!v.name){ + this.$u.toast('璇烽�夋嫨杞﹂槦'); + isPass = false; + return isPass; + } else { + isPass = true; + return isPass; + } + }); + console.log(this.jhOrderPlanForwardList,'jhOderPlan') + if (isPass) { + this.loading = true; + this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => { + console.log(res, 'zh'); + // res.data.length == 0 鎻愪氦鎴愬姛 鍚﹀垯鎻愪氦澶辫触 + if (res.code === 0) { + this.loading = false + this.$u.toast('鎻愪氦鎴愬姛'); + if(this.fenpeiFlag){ + setTimeout(()=>{ + uni + .navigateTo({ url: `/subPages/allocaTetonnage/index?orderPlanId=${this.orderPlanId}&customerId=${this.customerId}&status=${1}&pvcPlanMeasure=${this.pvcPlanMeasure}`}); + + },500) + + }else{ + setTimeout(() => { + uni.navigateBack({ delta: 1 }); + }, 1000); + } + + } else { + this.loading = false + this.errorDataList = res.data + this.$u.toast(res.msg ? res.msg : '鏁版嵁鏈夎,璇锋鏌�'); + } + }).catch(e => { + this.loading = false + }) + } + }, + tabClick(item) { + if (item.name == '鎵胯繍鍟�') { + this.tabHuoDai = true; + } else { + this.tabHuoDai = false; + } + }, + todoFenPei(val){ + uni + .navigateTo({ url: `/subPages/allocaTetonnage/index?orderPlanId=${this.orderPlanId}&customerId=${this.customerId}&fleetId=${val.fleetId}&pvcPlanMeasure=${this.pvcPlanMeasure}`}); + } } - } -}; + }; </script> -<style lang="scss" scoped> -@mixin flex { - display: flex; - justify-content: space-between; - align-items: center; -} -/deep/ .u-notice-bar { - background: rgba(255, 255, 255, 0.3) !important; - box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(27, 103, 255, 0); - border-radius: 28rpx; - .u-notice__content { - text { - text-shadow: 3rpx 3rpx 8rpx #4784fe; - font-size: 24rpx; - color: #fd1446 !important; - font-weight: 400; - } +<style lang="scss" + scoped> + @mixin flex { + display: flex; + justify-content: space-between; + align-items: center; } -} -/deep/ .u-input { - border-bottom: 1px solid #c4c4c4; - width: 458rpx; -} -::v-deep.forward { - width: 100%; - margin: 0 auto; - .forward-banner { - width: 100%; - height: 430rpx; - background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); - @include flex; - justify-content: flex-start; - overflow: hidden; - .banner-block { - width: 50%; - @include flex; - position: relative; - top: -75rpx; - left: 32rpx; - .forward-text { - width: 80rpx; - font-size: 40rpx; + + /deep/ .u-notice-bar { + background: rgba(255, 255, 255, 0.3) !important; + box-shadow: 0rpx 0rpx 5rpx 0rpx rgba(27, 103, 255, 0); + border-radius: 28rpx; + + .u-notice__content { + text { + text-shadow: 3rpx 3rpx 8rpx #4784fe; + font-size: 24rpx; + color: #fd1446 !important; font-weight: 400; - color: #ffffff; - line-height: 69rpx; } } } - .notice-bar { - width: 688rpx; - height: 56rpx; - margin: 0 auto; - position: relative; - top: -200rpx; - background: transparent; - .notice-icon { - position: absolute; - top: 21rpx; - left: 7rpx; - } + + /deep/ .u-input { + border-bottom: 1px solid #c4c4c4; + width: 458rpx; } - .card-main { + + ::v-deep.forward { width: 100%; - @include flex; - justify-content: center; - position: relative; - top: -100rpx; - .card-block { - width: 690rpx; + margin: 0 auto; + + .forward-banner { + width: 100%; + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); @include flex; - flex-direction: column; - .forward-card { - margin-top: vww(10); + justify-content: flex-start; + overflow: hidden; + + .banner-block { + width: 50%; + @include flex; + position: relative; + top: -75rpx; + left: 32rpx; + + .forward-text { + width: 80rpx; + font-size: 40rpx; + font-weight: 400; + color: #ffffff; + line-height: 69rpx; + } + } + } + + .notice-bar { + width: 688rpx; + height: 56rpx; + margin: 0 auto; + position: relative; + top: -200rpx; + background: transparent; + + .notice-icon { + position: absolute; + top: 21rpx; + left: 7rpx; + } + } + + .card-main { + width: 100%; + @include flex; + justify-content: center; + position: relative; + top: -100rpx; + z-index: 1; + margin-bottom: vww(40); + + .card-block { width: 690rpx; - height: 275rpx; - background: #ffffff; - box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); - border-radius: 20rpx; - .card-content { - width: 612rpx; - margin-left: 48rpx; - margin-top: 24rpx; - // margin: 56rpx 30rpx 70rpx 48rpx; - .u-form { - .u-form-item { - .u-form-item__body { - .u-form-item__body__left { - .u-form-item__body__left__content { - .u-form-item__body__left__content__label { - font-weight: 400 !important; - color: #898989 !important; - font-size: 30rpx !important; + @include flex; + flex-direction: column; + + .forward-card { + margin-top: vww(10); + width: 690rpx; + height: 400rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + position: relative; + + .error-tip { + position: absolute; + bottom: vww(5); + left: vww(22); + font-size: vww(14); + } + + .card-content { + width: 612rpx; + margin-left: 48rpx; + margin-top: 24rpx; + + // margin: 56rpx 30rpx 70rpx 48rpx; + .u-form { + .u-form-item { + .u-form-item__body { + .u-form-item__body__left { + .u-form-item__body__left__content { + .u-form-item__body__left__content__label { + font-weight: 400 !important; + color: #898989 !important; + font-size: 30rpx !important; + } } } - } - .u-form-item__body__right { - .u-form-item__body__right__content { - .u-form-item__body__right__content__slot { - .forward-card-amount { - display: flex; - justify-content: space-between; - align-items: flex-end; - .forward-card-amount-input { - .u-input { - width: 263rpx; + + .u-form-item__body__right { + .u-form-item__body__right__content { + .u-form-item__body__right__content__slot { + .forward-card-amount { + display: flex; + justify-content: space-between; + align-items: flex-end; + + .forward-card-amount-input { + .u-input { + width: 263rpx; + } } - } - .u-checkbox-group { - position: relative; - top: vww(8); - left: vww(4); - .u-checkbox { - .u-checkbox__icon-wrap { - border-color: rgba(42, 97, 255, 1) !important; + + .u-checkbox-group { + position: relative; + top: vww(8); + left: vww(4); + + .u-checkbox { + .u-checkbox__icon-wrap { + border-color: rgba(42, 97, 255, 1) !important; + } } } } @@ -607,51 +868,57 @@ } } } - } - .utils-buttonGroup { - width: 610rpx; - @include flex; - position: fixed; - bottom: vww(50); - left: vww(25); - z-index: 2; - .AdddBtn, - .forwardBtn { - width: 290rpx; - } - .AdddBtn { - .u-button { - height: 74rpx; - border: 1px solid #3b56eb; - border-radius: 37rpx 37rpx 37rpx 37rpx; - background: transparent; - color: #3b56eb; - } - } - .forwardBtn { - .u-button { - height: 74rpx; - color: #ffffff; - background: rgba(73, 123, 251, 1); - border: 0; - border-radius: 37rpx 37rpx 37rpx 37rpx; - } - } - } - .selectHuoDaiOrFleet-container { - .u-popup { - .u-transition { - height: 80%; - .u-popup__content { - overflow: scroll !important; - .selectHuoDaiOrFleet-container-box { - width: 90%; - margin: 0 auto; + .utils-buttonGroup { + width: 700rpx; + @include flex; + justify-content: space-between; + position: fixed; + bottom: vww(30); + left: vww(18); + z-index: 3; + + .AdddBtn, + .forwardBtn { + width: 290rpx; + } + + .AdddBtn { + .u-button { + height: 74rpx; + border: 1px solid #3b56eb; + border-radius: 37rpx 37rpx 37rpx 37rpx; + background: transparent; + color: #3b56eb; + } + } + + .forwardBtn { + .u-button { + height: 74rpx; + color: #ffffff; + background: rgba(73, 123, 251, 1); + border: 0; + border-radius: 37rpx 37rpx 37rpx 37rpx; + } + } + } + + .selectHuoDaiOrFleet-container { + .u-popup { + .u-transition { + height: 80%; + + .u-popup__content { + overflow: scroll !important; + + .selectHuoDaiOrFleet-container-box { + width: 90%; + margin: 0 auto; + } } } } } } -} </style> -- Gitblit v1.9.1