qingyiay
2023-10-23 5c2decc75ac02ba4409375efc4f793b02c505296
pages/public-page/forward/forward.vue
@@ -1,45 +1,134 @@
<template>
   <!-- 转发 -->
   <view class="forward">
      <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">
         <u--form labelPosition="top" :model="forwardForm" ref="form1">
            <u-form-item label="转发对象" labelWidth="20%" ref="item1" @click="forwardObjectClick(index)">
               <u--input v-model="val.name" placeholder="点击选择转发对象"></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="val.carNum" placeholder="请输入转发数量"></u--input></view>
                  <u-checkbox-group v-model="val.checkboxValue1" placement="column" @change="v => checkboxChange(v, index)">
                     <u-checkbox :customStyle="{ marginBottom: '8px' }" size="30" labelSize="30" label="全部转发" name="全部转发"></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 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="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('https://mx.jzeg.cn:9096/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 class="card-main">
         <view class="card-block">
            <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)">
                  <view class="forward-card">
                     <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)">
                              <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>
                                 </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"
                                       :checked="val.isSelected"></u-checkbox>
                                 </u-checkbox-group>
                              </view>
                           </u-form-item>
                        </u--form>
                     </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="forwardBtn"><u-button text="提交"
               :hairline="false"
               type="warning"
               @click.stop="submitForm"
               :disabled="whetherClick1"
               :loading='loading'></u-button></view>
      </view>
      <!-- 增加按钮 -->
      <view class="AdddBtn"><u-button text="添加" :hairline="false" type="primary" :customStyle="{ marginBottom: '8px' }" @click="addForm"></u-button></view>
      <!-- 按钮 -->
      <view class="forwardBtn"><u-button text="提交" :hairline="false" type="warning" @click="submitForm"></u-button></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)" text="选择" type="primary" size="mini"></u-button></view>
                     <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)" text="选择" type="primary" size="mini"></u-button></view>
                     <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>
               </view>
@@ -50,282 +139,560 @@
</template>
<script>
import { customerId } from '@/utils/status';
   import { customerId } from '@/utils/status';
   import toast from '../../../uni_modules/uview-ui/libs/config/props/toast';
export default {
   onLoad(params) {
      // 客户
      this.cars2 = Number(params.cars2);
      this.carNumSurplus1 = Number(params.carNumSurplus1);
      // 货代
      this.carNum = Number(params.carNum);
      this.carNumSurplusHuodai = Number(params.carNumSurplusHuodai);
      if (params.carNumSurplus1 || params.carNumSurplusHuodai) {
         if (params.carNumSurplus1 != 0) {
            this.forwardSurplus = params.carNumSurplus1;
         } else if (params.carNumSurplusHuodai != 0) {
            this.forwardSurplus = 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) {
   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, index) => {
                  return {
                     ...v,
                     orderPlanId: params.orderPlanId
                     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}`
                  };
               }
            });
         }
      });
   },
   data() {
      return {
         forwardSurplus: 0,
         paramsName: {},
         huoDaiData: [],
         fleetData: [],
         // 日计划id
         orderPlanId: '',
         jhOrderPlanForwardList: [
            {
               });
            } 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: params.orderPlanId,
                        vid: `${new Date().getTime()}${index}${item.id}`
                     };
                  }
               });
            }
         });
      },
      data() {
         return {
            forwardSurplus: 0,
            paramsName: {},
            huoDaiData: [],
            fleetData: [],
            // 日计划id
            orderPlanId: '',
            jhOrderPlanForwardList: [{
               orderPlanId: '',
               name: '',
               carNum: null,
               xsUserId: 0,
               fleetId: 0,
               checkboxValue1: ''
            }
         ],
         // 索引,利用索引正确显示
         index: '',
         checkboxValue1: '',
         selectPopupShow: false,
         list1: [
            {
               name: '车队'
            },
            {
               name: '货代'
            }
         ],
         tabHuoDai: false,
         carNumSurplus1: '',
         cars2: '',
         carNum: '',
         carNumSurplusHuodai: '',
         formNum: 1
      };
   },
   onShow() {
      this.init();
      if (this.roleType == 2) {
         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}张日计划单`;
      }
   },
   methods: {
      init() {
         console.log('roleType', this.roleType);
         switch (this.roleType) {
            case 1:
               this.getAllHuoDaiByCustomerId();
               this.getFleet();
               break;
            case 2:
               this.getFleet();
               break;
            default:
               break;
         }
      },
      checkboxChange(value, index) {
         console.log('复选框变化', value, index);
         if (value.length != 0) {
            this.jhOrderPlanForwardList[index].carNum = this.forwardSurplus;
         } else {
            this.jhOrderPlanForwardList[index].carNum = null;
         }
      },
      // 获取货代列表
      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(index) {
         this.selectPopupShow = true;
         this.index = index;
         console.log(this.huoDaiData, this.fleetData, '转发');
      },
      selectPopupClose() {
         this.selectPopupShow = false;
      },
      selectPopupOpen() {
         console.log('弹出框打开了');
      },
      // 转发选择货代
      forwardHuoDaiObjectSelect(item) {
         this.selectPopupShow = false;
         this.jhOrderPlanForwardList[this.index].xsUserId = item.userId;
         this.jhOrderPlanForwardList[this.index].name = item.name;
         this.jhOrderPlanForwardList[this.index].fleetId = 0;
         console.log('货代选择', this.jhOrderPlanForwardList[this.index]);
      },
      // 转发选择车队
      forwardFleetObjectSelect(item) {
         this.selectPopupShow = false;
         this.jhOrderPlanForwardList[this.index].fleetId = item.id;
         this.jhOrderPlanForwardList[this.index].name = item.name;
         this.jhOrderPlanForwardList[this.index].xsUserId = 0;
         console.log('车队选择', this.jhOrderPlanForwardList[this.index]);
      },
      addForm() {
         this.jhOrderPlanForwardList.push({
            orderPlanId: this.orderPlanId,
            name: '',
            carNum: 0,
            xsUserId: 0,
            fleetId: 0,
            checkboxValue1: ''
         });
      },
      // 删除一组表单
      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.$u.toast('删除成功');
               } else if (res.code === 1) {
                  this.$u.toast(res.msg);
               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'
               }
            });
         } else {
            this.jhOrderPlanForwardList.splice(index, 1);
            this.$u.toast('删除成功');
         }
            }],
            loading: false, //提交loading
            originForwardName: '', //原转发对象
            laterForwardName: '', //后转发对象
         };
      },
      // 提交
      submitForm() {
         let isPass = false;
         this.jhOrderPlanForwardList.forEach(v => {
            if (isNaN(Number(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 {
      onShow() {
         this.init();
         if (this.roleType == 2) {
            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}张提煤单`;
         }
      },
      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) {
               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) {
            this.selectPopupShow = true;
            this.index = index;
            this.originForwardName = name || ''
         },
         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;
                  if (this.originForwardName) {
                     this.addForm(item.name)
                  }
               }
            });
         },
         // 转发选择车队
         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;
                  if (this.originForwardName) {
                     this.addForm(item.name)
                  }
               }
            });
         },
         // 计算提煤单数量,添加或删除时调用
         calculate(arr) {
            let total = arr.reduce((prev, cur) => {
               return cur.carNum + prev;
            }, 0);
            console.log(total, '提煤单一共的数据');
            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) {
                  this.whetherClick = true;
               } 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;
               } 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);
                     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) {
            this.$set(this.jhOrderPlanForwardList[index], 'carNum', Number(value));
            this.calculate(this.jhOrderPlanForwardList);
         },
         // 添加一组表单
         addForm(name) {
            // 判断是否有一个复选,如果有则禁止新加的复选,没有则不禁止
            let ischeck = this.jhOrderPlanForwardList.some(v => v.ischecked == true);
            if (!ischeck) {
               this.jhOrderPlanForwardList.push({
                  orderPlanId: this.orderPlanId,
                  name: name || '',
                  carNum: null,
                  xsUserId: 0,
                  fleetId: 0,
                  checkboxValue1: '',
                  ischecked: false,
                  vid: new Date().getTime(),
                  isSelected: false
               });
            } else {
               this.jhOrderPlanForwardList.push({
                  orderPlanId: this.orderPlanId,
                  name: name || '',
                  carNum: null,
                  xsUserId: 0,
                  fleetId: 0,
                  checkboxValue1: '',
                  ischecked: true,
                  vid: new Date().getTime(),
                  isSelected: false
               });
            }
            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 {
                  isPass = true;
                  return isPass;
               }
            });
            if (isPass) {
               this.loading = true;
               this.$reqPost('forward', this.jhOrderPlanForwardList, 'json').then(res => {
                  console.log(res, 'zh');
                  if (res.code == 0) {
                     this.loading = false
                     this.$u.toast('提交成功');
                     setTimeout(() => {
                        uni.navigateBack({ delta: 1 });
                     }, 1000);
                  } else {
                     this.loading = false
                     this.$u.toast(res.msg);
                  }
               });
            }
         },
         tabClick(item) {
            if (item.name == '货代') {
               this.tabHuoDai = true;
            } else {
               this.tabHuoDai = false;
            }
         }
      }
   };
</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;
         }
      }
   }
};
</script>
<style lang="scss" scoped>
::v-deep.forward {
   width: 90%;
   margin: 0 auto;
   /deep/ .u-input {
      border-bottom: 1px solid #c4c4c4;
      width: 458rpx;
   }
   // 卡片
   .forward-card {
      margin-top: vww(10);
      .notice-bar {
   ::v-deep.forward {
      width: 100%;
      margin: 0 auto;
      .forward-banner {
         width: 100%;
         height: vww(24);
         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;
               font-weight: 400;
               color: #ffffff;
               line-height: 69rpx;
            }
         }
      }
      .u-form {
         .u-form-item {
            .u-form-item__body {
               .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 {
                              width: vww(245);
      .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;
            @include flex;
            flex-direction: column;
            .forward-card {
               margin-top: vww(10);
               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;
                                 }
                              }
                           }
                        }
                        .u-input {
                           border: 1px solid #dddddd;
                           .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;
                                             }
                                          }
                                       }
                                    }
                                 }
                              }
                           }
                        }
                     }
                  }
@@ -333,31 +700,56 @@
            }
         }
      }
      .forward-card-amount {
         display: flex;
      .utils-buttonGroup {
         width: 610rpx;
         @include flex;
         position: fixed;
         bottom: vww(30);
         left: vww(30);
         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;
            }
         }
      }
   }
   .forwardBtn {
      width: 100%;
      // position: fixed;
      bottom: vww(50);
   }
      .selectHuoDaiOrFleet-container {
         .u-popup {
            .u-transition {
               height: 80%;
   .selectHuoDaiOrFleet-container {
      .u-popup {
         .u-transition {
            height: 95%;
               .u-popup__content {
                  overflow: scroll !important;
            .u-popup__content {
               overflow: scroll !important;
               .selectHuoDaiOrFleet-container-box {
                  width: 90%;
                  margin: 0 auto;
                  .selectHuoDaiOrFleet-container-box {
                     width: 90%;
                     margin: 0 auto;
                  }
               }
            }
         }
      }
   }
}
</style>
</style>