tangning 2 سال پیش
والد
کامیت
b9e1eb9785
4فایلهای تغییر یافته به همراه69 افزوده شده و 60 حذف شده
  1. 2 0
      src/utils/useAxiosApi.ts
  2. 17 3
      src/views/detail/index.vue
  3. 2 2
      src/views/home/list.vue
  4. 48 55
      src/views/home/submit.vue

+ 2 - 0
src/utils/useAxiosApi.ts

@@ -56,6 +56,7 @@ instance.interceptors.response.use(
       showFailToast({
         message:res.message,
         icon: 'warning-o',
+        iconSize: 35,
       });
       return Promise.reject(res || 'Error');
     } else {
@@ -71,6 +72,7 @@ instance.interceptors.response.use(
     showFailToast({
       message:'服务器错误,请联系管理员',
       icon: 'warning-o',
+      iconSize: 35,
     });
     return Promise.reject(error.response);
   },

+ 17 - 3
src/views/detail/index.vue

@@ -6,7 +6,7 @@
         <div class="stepList_title">维修单号 {{id}}</div>
         <!-- <van-button class="top_but" type="primary" size="small">去支付</van-button> -->
         <van-button v-if="detailData.repairerVo?.status == 3" size="small" @click="goRoute(`/repair/${id}`)" color="#00B3EC" type="primary" >待确认</van-button>
-        <van-button v-if="detailData.repairerVo?.status == 9" size="small" @click="goRoute(`/payment/${id}`)" color="#00B3EC" type="primary" >支付</van-button>
+        <van-button v-if="detailData.repairerVo?.status == 9 || detailData.repairerVo?.status == 4" size="small" @click="goRoute(`/payment/${id}`)" color="#00B3EC" type="primary" >支付</van-button>
         <van-button v-if="detailData.repairerVo?.status == 13" size="small" @click="goRoute(`/evaluate/${id}`)" color="#00B3EC" type="primary" >评价</van-button>
         <van-button v-if="detailData.repairerVo?.status == 10" size="small" @click="goRoute(`/invoice/${id}`)" color="#00B3EC" type="primary" >申请开票</van-button>
       </div>
@@ -17,14 +17,13 @@
             <div class="step_title">{{item.remark}}</div>
             <div v-if="item.customerAddress">{{item.customerAddress.sendType == 0?' 前台送修':`快递寄送 ${item.customerAddress?.sendTrackingNum}`}}</div>
             <div v-if="item.customerAddress">{{item.customerAddress.getType == 0?' 前台取回':`快递寄回 ${item.customerAddress?.getTrackingNum}`}}</div>
-            <div v-if="item.customerAddress">前台取回 </div>
             <div v-if="item.repairRegisterVo?.checkResult">检测结果: {{item.repairRegisterVo?.checkResult}}</div>
             <div v-if="item.repairRegisterVo?.partNamesStr">所需备件: {{item.repairRegisterVo?.partNamesStr}}</div>
             <div v-if="item.repairRegisterVo?.orderFaultMsg">机器外观: {{item.orderReceiving?.orderFaultMsg}}</div>
             <div class="imgList">
               <img :src="imgItem" v-for="imgItem in item.imagesInfo" :key="imgItem + index" alt="" />
             </div>
-            <div class="step_time">{{dayjs(item.createTime).format('MM-DD hh:mm')}}</div>
+            <div class="step_time">{{ namePrivate(item.sysUserName) }}完成{{ item.remark }} {{dayjs(item.createTime).format('MM-DD hh:mm')}}</div>
             <div class="doct" :class="index == 0 ? 'oneSpot' : 'Spot'"></div>
           </div>
         </div>
@@ -195,6 +194,21 @@ const goRoute = (path) => {
   if (!path) return;
   router.push(path);
 };
+// 姓名脱敏
+function namePrivate(name) {
+  if(null != name && name != undefined) {
+    if(name.length == 2) {
+      return name.substring(0,1) + '*' // 截取name的第一个字符,第二个字符变成*
+    } else if(name.length == 3) {
+      return name.substring(0,1) + '*' + name.substring(2,3) // 截取name的第一个和第三个字符,第二个字符变成*
+    } else if(name.length > 3) {
+      return name.substring(0,1) + '*' + '*' + name.substring(3,name.length) //截取第一个和大于第4个字符
+    }
+  } else {
+    return ''
+  }
+}
+
 </script>
  <style lang="scss" >
 .page {

+ 2 - 2
src/views/home/list.vue

@@ -21,8 +21,8 @@
           <div class="time">报修日期 {{ dayjs(item.createTime).format('YYYY-MM-DD') }}</div>
           <div class="butList">
             <!-- <van-button @click.stop="goRoute(`payment/${item}`)" hairline size="small" type="primary" >支付</van-button> -->
-            <van-button v-if="item.status == 3" @click.stop="goRoute(`payment/${item.repairId}`)" color="#00B3EC" plain hairline size="small">待确认</van-button>
-            <van-button v-if="item.status == 9" @click.stop="goRoute(`repair/${item.repairId}`)" color="#00B3EC" hairline size="small">支付</van-button>
+            <van-button v-if="item.status == 3" @click.stop="goRoute(`repair/${item.repairId}`)" color="#00B3EC" plain hairline size="small">待确认</van-button>
+            <van-button v-if="item.status == 9 || item.status == 4" @click.stop="goRoute(`payment/${item.repairId}`)" color="#00B3EC" hairline size="small">支付</van-button>
             <van-button v-if="item.status == 13" @click.stop="goRoute(`evaluate/${item.repairId}`)" color="#00B3EC" plain hairline size="small">评价</van-button>
             <van-button v-if="item.status == 10" @click.stop="goRoute(`invoice/${item.repairId}`)" color="#00B3EC" hairline size="small">申请开票</van-button>
           </div>

+ 48 - 55
src/views/home/submit.vue

@@ -1,6 +1,6 @@
 <template>
   <van-form @submit="onSubmit" style="margin-top: 10px; background: #fff">
-    <van-cell-group style="margin:none" inset>
+    <van-cell-group style="margin: none" inset>
       <van-field
         v-model="formData.companyName"
         label-align="top"
@@ -26,14 +26,17 @@
         maxlength="11"
         label="联系电话"
         placeholder="请填写手机号"
-        :rules="[{ required: true, message: '请填写手机号' }, {
-  // 自定义校验规则
-  validator: (value) => {
-    return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/.test(value);
-  },
-  message: '请输入正确格式的手机号码',
-  trigger: 'onBlur',
-}]"
+        :rules="[
+          { required: true, message: '请填写手机号' },
+          {
+            // 自定义校验规则
+            validator: (value) => {
+              return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/.test(value);
+            },
+            message: '请输入正确格式的手机号码',
+            trigger: 'onBlur',
+          },
+        ]"
       />
       <van-field
         v-model="formData.cameraSnCode"
@@ -118,29 +121,20 @@
         name="收件人电话"
         label="收件人电话"
         placeholder="请填写收件人电话"
-        :rules="[{ required: true, message: '请填写收件人电话' }, {
-  // 自定义校验规则
-  validator: (value) => {
-    return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/.test(value);
-  },
-  message: '请输入正确格式的手机号码',
-  trigger: 'onBlur',
-}]"
-      />
-
-      <van-field
-        v-model="formData.message"
-        label-align="top"
-        rows="2"
-        autosize
-        label="留言"
-        type="textarea"
-        maxlength="500"
-        placeholder="请输入留言"
-        show-word-limit
+        :rules="[
+          { required: true, message: '请填写收件人电话' },
+          {
+            // 自定义校验规则
+            validator: (value) => {
+              return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/.test(value);
+            },
+            message: '请输入正确格式的手机号码',
+            trigger: 'onBlur',
+          },
+        ]"
       />
     </van-cell-group>
-    <div style="margin: 16px;background-color:#f5f5f5">
+    <div style="margin: 16px; background-color: #f5f5f5">
       <van-button block color="#00B3EC" type="primary" native-type="submit"> 提交 </van-button>
     </div>
   </van-form>
@@ -149,14 +143,14 @@
 <script lang="ts" setup name="HomeSubmit">
 import { computed, reactive, unref } from 'vue';
 import { useUserStore } from '/@/store/modules/user';
-import { showToast, showSuccessToast  } from 'vant';
+import { showToast, showSuccessToast } from 'vant';
 import axios from 'axios';
 // import useAxiosApi from '/@/utils/useAxiosApi';
 // import { Toast } from '@nutui/nutui';
 import { cameraRepair } from '/@/api';
 // import { setLang } from '/@/i18n';
 // import { useI18n } from 'vue-i18n';
-const emit = defineEmits(['setActive'])
+const emit = defineEmits(['setActive']);
 // const { locale } = useI18n();
 const userStore = useUserStore();
 const wxOpenId = computed(() => {
@@ -175,23 +169,22 @@ const formData = reactive({
   getAddrName: '',
   getAddrPhone: '',
   getType: 0,
-  message:'',
+  message: '',
 });
 async function onSubmit() {
   // return new Promise((resolve) => {
   let apiData = {
     ...formData,
     wxOpenId: wxOpenId.value,
-    faultImg:formData.faultImg.map(ele => ele.url)
+    faultImg: formData.faultImg.map((ele) => ele.url),
+  };
+  const { response } = await cameraRepair(apiData);
+  let data = unref(response);
+  console.log('onSubmit', formData, data, 'wxOpenId', wxOpenId);
+  if (data.code == 200) {
+    showSuccessToast('提交成功');
+    emit('setActive', 1);
   }
-  const { response } = await cameraRepair (apiData);
-  let data = unref(response)
-  console.log('onSubmit', formData, data,'wxOpenId',wxOpenId);
-  if(data.code == 200){
-    showSuccessToast('提交成功')
-    emit('setActive',1)
-  }
-
 }
 //校验图片的格式
 function beforeRead(file) {
@@ -211,17 +204,17 @@ function clzpAfterRead(file) {
   // 调用append()方法添加数据
   formData.append('file', file.file);
   axios({
-    url:'/service/sale/upload/file',
+    url: '/service/sale/upload/file',
     method: 'POST',
-    data:formData,
-    headers:{
-      'Content-Type': 'multipart/form-data'
-    }
-  }).then(res => {
-    let { data } = res
+    data: formData,
+    headers: {
+      'Content-Type': 'multipart/form-data',
+    },
+  }).then((res) => {
+    let { data } = res;
     if (data.code == 200) {
       // 上传状态提示关闭
-      file.url = data.data
+      file.url = data.data;
       file.status = 'done';
       showToast('上传成功!');
     }
@@ -263,17 +256,17 @@ function clzpAfterRead(file) {
 .btn-wrap {
   margin: 20px;
 }
-.page{
+.page {
   .btn-confirm {
-  // @include main-lang-bg(302px, 82px, '/@/assets/button', 'confirm.png');
+    // @include main-lang-bg(302px, 82px, '/@/assets/button', 'confirm.png');
   }
-  .van-cell{
+  .van-cell {
     padding: 20px 0;
   }
-  .van-cell__title{
+  .van-cell__title {
     margin-bottom: 10px;
   }
-  .van-radio--horizontal{
+  .van-radio--horizontal {
     margin-right: 60px;
   }
 }