yangan
2024-12-30 3a57b78e4de42dbb934d3ecf12006c47f1ff52de
pages/driver-page/delivery-my/delivery-my/delivery-my.vue
@@ -31,20 +31,32 @@
                  placeholder="请输入内容"
                  clearable></u--input>
            </u-form-item>
            <u-form-item  label="是否有车牌"
            labelWidth="28%"
            borderBottom
            >
            <u-radio-group
               v-model="isCarNo"
               @change="radioChange"
               placement="row">
               <u-radio   labelSize="26" iconSize="40" label="是" name="是" style="margin-right: 30rpx;"></u-radio>
               <u-radio   labelSize="26" iconSize="40"  label="否" name="否"></u-radio>
            </u-radio-group>
            </u-form-item>
            <u-form-item prop="carNo"
              v-if="isCarNo == '是'"
               label="车牌号"
               labelWidth="20%"
               borderBottom
               >
               <u--input v-model="registerFormModel.carNo"
                  placeholder="请输入内容"
                  clearable></u--input>
               <xm-cell special label="车牌号" :value="registerFormModel.carNo" @show="showKeyboard('xmKeyboard')"></xm-cell>
               <xm-keyboard-v2 ref="xmKeyboard" @confirm="(v) => registerFormModel.carNo = v"></xm-keyboard-v2>
            </u-form-item>
            <u-form-item prop="skin"
               label="皮重"
               labelWidth="20%"
               borderBottom
               required v-if="daydata.isWeighing==1">
               required v-if="(daydata.isWeighing==1&&daydata.productId=='1818237609508347905')||(daydata.isWeighing==1&&daydata.productId=='1818237832536268801')||(daydata.isWeighing==1&&daydata.productId=='1818211942485995521')">
               <u--input v-model="skin"
               border="surround"
                  placeholder="请输入皮重"
@@ -54,7 +66,7 @@
               label="毛重"
               labelWidth="20%"
               borderBottom
               required v-if="daydata.isWeighing==1">
               required v-if="(daydata.isWeighing==1&&daydata.productId=='1818237609508347905')||(daydata.isWeighing==1&&daydata.productId=='1818237832536268801')||(daydata.isWeighing==1&&daydata.productId=='1818211942485995521')">
               <u--input v-model="hair"
               border="surround"
                  placeholder="请输入毛重"
@@ -64,7 +76,7 @@
               label="净重"
               labelWidth="20%"
               borderBottom
               required v-if="daydata.isWeighing==1">
               required v-if="(daydata.isWeighing==1&&daydata.productId=='1818237609508347905')||(daydata.isWeighing==1&&daydata.productId=='1818237832536268801')||(daydata.isWeighing==1&&daydata.productId=='1818211942485995521')">
               <u--input v-model="clean"
               border="surround"
               disabled
@@ -74,7 +86,7 @@
            <uni-table
             border 
            id="table-box"
            emptyText="暂无更多数据" v-if="daydata.isWeighing==0">
            emptyText="暂无更多数据" v-if="daydata.isWeighing == 0 && daydata.productNames.split(',').length  <= 1">
                  <uni-tr>
                     <uni-th align="center" >产品</uni-th>
                     <uni-th align="center">数量</uni-th>         
@@ -92,9 +104,9 @@
                  </view></uni-td>
               </uni-tr>
               </uni-table>
               <u-form-item prop='contactPicture'>
               <!-- <u-form-item prop='contactPicture'>
                  <view class="label-text">
                     <text style="color: #f56c6c;">*</text>原发单据
                     原发单据
                  </view>
                  <u-upload :fileList="fileList1"
                     @afterRead="afterRead"
@@ -106,7 +118,7 @@
                     height="150"
                     :previewFullImage="true"
                     ></u-upload>
               </u-form-item>
               </u-form-item> -->
            <!-- <u-form-item labelWidth="20%"
               label="空车出厂"
               borderBottom
@@ -225,7 +237,7 @@
         if (params.id) {
           this.id = params.id
         }
         this.fileList1 = []
         // this.fileList1 = []
         this.GetMyDelivery()
         uni.getStorage({
             key: 'myDelivery',
@@ -251,12 +263,13 @@
            scrollTop: 0,
            id:"",
            value: 0,
            isCarNo:'是',
            daydata:{},
            tmTaskCoalList:[],
            range: [{"value": 0,"label": "否"   },{"value": 1,"label": "是"}],
            carNumShow: false,
            yuYueData: [],
            fileList1: [], //图片列表
            // fileList1: [], //图片列表
            contactPicture:"",
            registerFormModel: {
               phone: '',
@@ -319,23 +332,30 @@
                     trigger: ['change', 'blur']
                  }
               ],
               // carNo: [{
               //       type: 'string',
               //       required: true,
               //       message: '请输入车牌号',
               //       trigger: ['blur', 'change']
               //    },
               //    {
               //       transform(value) {
               //          return String(value);
               //       },
               //       validator: (rule, value, callback) => {
               //          return uni.$u.test.carNo(value);
               //       },
               //       message: '请输入正确的车牌号',
               //       trigger: ['change', 'blur']
               //    }
               // ],
               idNumber: [{
                     type: 'string',
                     required: true,
                     message: '请输入身份证号',
                     trigger: ['blur', 'change']
                  }
               ],
               carNo: [{
                     type: 'string',
                     required: true,
                     message: '请输入车牌号',
                     trigger: ['blur', 'change']
                  },
                  {
                     transform(value) {
                        return String(value);
                     },
                     validator: (rule, value, callback) => {
                        return uni.$u.test.carNo(value);
                     },
                     message: '请输入正确的车牌号',
                     trigger: ['change', 'blur']
                  }
               ],
            },
         };
      },
@@ -362,6 +382,9 @@
      },
      methods: {
         ...mapMutations(['changeisUploadimg']),
         showKeyboard(ref){
            this.$refs[ref].toShow(this.registerFormModel.carNo)
         },
         // input聚焦
         inputFocus(v) {
            if (v == 1) {
@@ -381,96 +404,132 @@
               this.isInputOrigin = true;
            }
         },
         deletePic(event) {
            this.changeisUploadimg(true);
            this[`fileList${event.name}`].splice(event.index, 1);
         },
         async afterRead(event) {
            // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
            let lists = [].concat(event.file);
            let fileListLen = this[`fileList${event.name}`].length;
            lists.map(item => {
               this[`fileList${event.name}`].push({
                  ...item,
                  status: 'uploading',
                  message: '上传中'
               });
            });
            for (let i = 0; i < lists.length; i++) {
               const result = await this.uploadFilePromise(lists[i].url, event.name);
               let item = this[`fileList${event.name}`][fileListLen];
               this[`fileList${event.name}`].splice(
                  fileListLen,
                  1,
                  Object.assign(item, {
                     status: 'success',
                     message: '上传成功',
                     url: result
                  })
               );
               fileListLen++;
            }
         },
         uploadFilePromise(url, num) {
            return new Promise((resolve, reject) => {
               let a = uni.uploadFile({
                  url: BaseUrl + '/admin/sys-file/uploadUnToken',
                  filePath: url,
                  name: 'file',
                  success: res => {
                     if (num == 1) {
                        this.contactPicture = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }
                  }
               });
            });
         },
         logoutConfirm() {
         // deletePic(event) {
         //    this.changeisUploadimg(true);
         //    this[`fileList${event.name}`].splice(event.index, 1);
         // },
         // async afterRead(event) {
         //    // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
         //    let lists = [].concat(event.file);
         //    let fileListLen = this[`fileList${event.name}`].length;
         //    lists.map(item => {
         //       this[`fileList${event.name}`].push({
         //          ...item,
         //          status: 'uploading',
         //          message: '上传中'
         //       });
         //    });
         //    for (let i = 0; i < lists.length; i++) {
         //       const result = await this.uploadFilePromise(lists[i].url, event.name);
         //       let item = this[`fileList${event.name}`][fileListLen];
         //       this[`fileList${event.name}`].splice(
         //          fileListLen,
         //          1,
         //          Object.assign(item, {
         //             status: 'success',
         //             message: '上传成功',
         //             url: result
         //          })
         //       );
         //       fileListLen++;
         //    }
         // },
         // uploadFilePromise(url, num) {
         //    return new Promise((resolve, reject) => {
         //       let a = uni.uploadFile({
         //          url: BaseUrl + '/admin/sys-file/uploadUnToken',
         //          filePath: url,
         //          name: 'file',
         //          success: res => {
         //             if (num == 1) {
         //                this.contactPicture = JSON.parse(res.data)
         //                   .data.url;
         //                resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
         //             }
         //          }
         //       });
         //    });
         // },
         lohOutLogin(){
            this.$refs.regesterFormRef.validate().then(res => {
            if(this.daydata.orderType=='外购'){
               if(this.daydata.isWeighing==1){
                  this.$reqPost('saveMyDelivery',{
                     productName:this.daydata.productName,
                     customerId:this.daydata.customerId,
                     deptId:this.daydata.deptId,
                     filedId:this.daydata.filedId,
                     orderPlanId:this.daydata.id,
                     orderTye:this.daydata.orderType,
                     sendDate:this.daydata.sendDate,
                     carNumSurplus:this.daydata.carNumSurplus,
                     yyId:this.ids.id,
                     ...this.registerFormModel,
                     tmTaskCoalContact:{
                        coalName:this.daydata.productName,
                        contactPicture:this.contactPicture,
                        skin:this.skin,
                        hair:this.hair,
                        clean:this.clean
                     }
                  }, 'json').then(res => {
                     uni.setStorage({
                         key: 'myDelivery',
                         data: this.registerFormModel,
                     });
                     uni.setStorage({
                         key: 'isshow',
                         data: false,
                     });
                     this.logoutShow=false
                     this.isshow=false
                     if (res.code === 0) {
                        uni.$u.toast('预约成功')
                        this.GetMyDeliverys()
                     } else {
                        uni.$u.toast(res.msg ? res.msg : '预约失败')
                     }
                  })
               if(this.daydata.orderType=='外购'){
                  if(this.daydata.isWeighing==1){
                     this.$reqPost('saveMyDelivery',{
                        productName:this.daydata.productName,
                        customerId:this.daydata.customerId,
                        deptId:this.daydata.deptId,
                        filedId:this.daydata.filedId,
                        orderPlanId:this.daydata.id,
                        orderTye:this.daydata.orderType,
                        sendDate:this.daydata.sendDate,
                        carNumSurplus:this.daydata.carNumSurplus,
                        yyId:this.ids.id,
                        ...this.registerFormModel,
                        tmTaskCoalContact:{
                           coalName:this.daydata.productName,
                           // contactPicture:this.contactPicture,
                           skin:this.skin,
                           hair:this.hair,
                           clean:this.clean
                        }
                     }, 'json').then(res => {
                        uni.setStorage({
                            key: 'myDelivery',
                            data: this.registerFormModel,
                        });
                        uni.setStorage({
                            key: 'isshow',
                            data: false,
                        });
                        this.logoutShow=false
                        this.isshow=false
                        if (res.code === 0) {
                           uni.$u.toast('预约成功')
                           this.GetMyDeliverys()
                        } else {
                           uni.$u.toast(res.msg ? res.msg : '预约失败')
                        }
                     })
                  }else{
                     let numDtoList=this.tmTaskCoalList.map(item=>{
                        return {tmId:item.productId,num:item.productQuantity,coalName:item.coalName}
                     })
                     this.$reqPost('saveMyDelivery',{
                        productName:this.daydata.productName,
                        customerId:this.daydata.customerId,
                        deptId:this.daydata.deptId,
                        filedId:this.daydata.filedId,
                        orderPlanId:this.daydata.id,
                        orderTye:this.daydata.orderType,
                        sendDate:this.daydata.sendDate,
                        carNumSurplus:this.daydata.carNumSurplus,
                        yyId:this.ids.id,
                        ...this.registerFormModel,
                        tmTaskCoalContact:{
                           // contactPicture:this.contactPicture,
                           numDtoList:numDtoList
                        }
                     }, 'json').then(res => {
                        uni.setStorage({
                            key: 'myDelivery',
                            data: this.registerFormModel,
                        });
                        uni.setStorage({
                            key: 'isshow',
                            data: false,
                        });
                        this.logoutShow=false
                        this.isshow=false
                        if (res.code === 0) {
                           uni.$u.toast('预约成功')
                           this.GetMyDeliverys()
                        } else {
                           uni.$u.toast(res.msg ? res.msg : '预约失败')
                        }
                     })
                  }
               }else{
                  let numDtoList=this.tmTaskCoalList.map(item=>{
                     return {tmId:item.productId,num:item.productQuantity,coalName:item.coalName}
                  })
                  this.$reqPost('saveMyDelivery',{
                     productName:this.daydata.productName,
                     customerId:this.daydata.customerId,
@@ -481,11 +540,7 @@
                     sendDate:this.daydata.sendDate,
                     carNumSurplus:this.daydata.carNumSurplus,
                     yyId:this.ids.id,
                     ...this.registerFormModel,
                     tmTaskCoalContact:{
                        contactPicture:this.contactPicture,
                        numDtoList:numDtoList
                     }
                     ...this.registerFormModel
                  }, 'json').then(res => {
                     uni.setStorage({
                         key: 'myDelivery',
@@ -505,39 +560,38 @@
                     }
                  })
               }
            }else{
               this.$reqPost('saveMyDelivery',{
                  productName:this.daydata.productName,
                  customerId:this.daydata.customerId,
                  deptId:this.daydata.deptId,
                  filedId:this.daydata.filedId,
                  orderPlanId:this.daydata.id,
                  orderTye:this.daydata.orderType,
                  sendDate:this.daydata.sendDate,
                  carNumSurplus:this.daydata.carNumSurplus,
                  yyId:this.ids.id,
                  ...this.registerFormModel
               }, 'json').then(res => {
                  uni.setStorage({
                      key: 'myDelivery',
                      data: this.registerFormModel,
                  });
                  uni.setStorage({
                      key: 'isshow',
                      data: false,
                  });
                  this.logoutShow=false
                  this.isshow=false
                  if (res.code === 0) {
                     uni.$u.toast('预约成功')
                     this.GetMyDeliverys()
                  } else {
                     uni.$u.toast(res.msg ? res.msg : '预约失败')
                  }
               })
            }
            })
         },
         logoutConfirm() {
                //原发净重限制
            if(this.clean && this.clean > 200){
               this.$u.toast('当前净重超过正常值,请检查皮毛重')
               return
            }
               if(this.registerFormModel.carNo==""){
                  this.lohOutLogin()
               }else{
                  if(this.registerFormModel.carNo){
                     var xreg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
                     var creg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
                     if(this.registerFormModel.carNo.length == 7){
                        if(!creg.test(this.registerFormModel.carNo)) {
                           uni.$u.toast('请输入正确的车牌号')
                        }else {
                          this.lohOutLogin()
                        }
                     } else if(this.registerFormModel.carNo.length == 8){
                         if(!xreg.test(this.registerFormModel.carNo)) {
                           uni.$u.toast('请输入正确的车牌号')
                         }else {
                           this.lohOutLogin()
                         }
                     }else {
                         uni.$u.toast('请输入正确的车牌号')
                     }
                  }
               }
         },
         logoutCancel() {
            this.logoutShow = false;
@@ -548,96 +602,8 @@
                  this.logoutShow = true;
                  this.ids=item
               }else{
                  if(this.daydata.orderType=='外购'){
                     if(this.daydata.isWeighing==1){
                        this.$reqPost('saveMyDelivery',{
                           productName:this.daydata.productName,
                           customerId:this.daydata.customerId,
                           deptId:this.daydata.deptId,
                           filedId:this.daydata.filedId,
                           orderPlanId:this.daydata.id,
                           orderTye:this.daydata.orderType,
                           sendDate:this.daydata.sendDate,
                           carNumSurplus:this.daydata.carNumSurplus,
                           yyId:item.id,
                           ...this.registerFormModel,
                           tmTaskCoalContact:{
                              coalName:this.daydata.productName,
                              contactPicture:this.contactPicture,
                              skin:this.skin,
                              hair:this.hair,
                              clean:this.clean
                           }
                        }, 'json').then(res => {
                           uni.setStorage({
                               key: 'myDelivery',
                               data: this.registerFormModel,
                           });
                           if (res.code === 0) {
                              uni.$u.toast('预约成功')
                              this.GetMyDeliverys()
                           } else {
                              uni.$u.toast(res.msg ? res.msg : '预约失败')
                           }
                        })
                     }else{
                        let numDtoList=this.tmTaskCoalList.map(item=>{
                           return {tmId:item.productId,num:item.productQuantity,coalName:item.coalName}
                        })
                        this.$reqPost('saveMyDelivery',{
                           productName:this.daydata.productName,
                           customerId:this.daydata.customerId,
                           deptId:this.daydata.deptId,
                           filedId:this.daydata.filedId,
                           orderPlanId:this.daydata.id,
                           orderTye:this.daydata.orderType,
                           sendDate:this.daydata.sendDate,
                           carNumSurplus:this.daydata.carNumSurplus,
                           yyId:item.id,
                           ...this.registerFormModel,
                           tmTaskCoalContact:{
                              contactPicture:this.contactPicture,
                              numDtoList:numDtoList
                           }
                        }, 'json').then(res => {
                           uni.setStorage({
                               key: 'myDelivery',
                               data: this.registerFormModel,
                           });
                           if (res.code === 0) {
                              uni.$u.toast('预约成功')
                              this.GetMyDeliverys()
                           } else {
                              uni.$u.toast(res.msg ? res.msg : '预约失败')
                           }
                        })
                     }
                  }else{
                     this.$reqPost('saveMyDelivery',{
                        productName:this.daydata.productName,
                        customerId:this.daydata.customerId,
                        deptId:this.daydata.deptId,
                        filedId:this.daydata.filedId,
                        orderPlanId:this.daydata.id,
                        orderTye:this.daydata.orderType,
                        sendDate:this.daydata.sendDate,
                        carNumSurplus:this.daydata.carNumSurplus,
                        yyId:item.id,
                        ...this.registerFormModel
                     }, 'json').then(res => {
                        uni.setStorage({
                            key: 'myDelivery',
                            data: this.registerFormModel,
                        });
                        if (res.code === 0) {
                           uni.$u.toast('预约成功')
                           this.GetMyDeliverys()
                        } else {
                           uni.$u.toast(res.msg ? res.msg : '预约失败')
                        }
                     })
                  }
                  this.ids=item
                  this.logoutConfirm();
               }
            })
         },
@@ -674,6 +640,17 @@
                  this.tmTaskCoalList=res.data.jhOrderPlanList
               }
            });
         },
         //
         radioChange(name){
            console.log(name,'name');
            if(name === '是'){
               this.registerFormModel.carNo = '';
            }else{
               this.registerFormModel.carNo = '';
            }
         }
      }
   };