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