tangning 2 tahun lalu
induk
melakukan
c575335bc9

+ 1 - 1
package.json

@@ -5,7 +5,7 @@
     "dev": "vite",
     "dev": "vite",
     "dev:test": "vite --mode test",
     "dev:test": "vite --mode test",
     "dev:prod": "vite --mode production",
     "dev:prod": "vite --mode production",
-    "build": "vue-tsc --noEmit && vite build",
+    "build": "vite build",
     "report": "cross-env REPORT=true npm run build",
     "report": "cross-env REPORT=true npm run build",
     "preview": "vite preview",
     "preview": "vite preview",
     "lint:eslint": "eslint --cache --max-warnings 0  \"{src,mock}/**/*.{vue,ts,tsx}\" --fix",
     "lint:eslint": "eslint --cache --max-warnings 0  \"{src,mock}/**/*.{vue,ts,tsx}\" --fix",

+ 2 - 3
src/App.vue

@@ -6,8 +6,9 @@ import 'vant/lib/index.css'
 import { onMounted, computed } from 'vue'
 import { onMounted, computed } from 'vue'
 import { useUserStore } from '/@/store/modules/user';
 import { useUserStore } from '/@/store/modules/user';
 const userStore = useUserStore();
 const userStore = useUserStore();
+console.log('userStore',userStore)
 const wxOpenId = computed(() => {
 const wxOpenId = computed(() => {
-  return userStore.getWxOpenId;
+  return userStore.getWxOpenId();
 });
 });
 onMounted(async ()=>{
 onMounted(async ()=>{
   
   
@@ -16,11 +17,9 @@ onMounted(async ()=>{
     console.log('已登录',wxOpenId.value)
     console.log('已登录',wxOpenId.value)
   }else if(code){//存在code
   }else if(code){//存在code
     userStore.setWxOpenId(code)
     userStore.setWxOpenId(code)
-    let { openid } = await wxLogin(code)
   }else{//进行微信登录
   }else{//进行微信登录
     getCodeApi(123)
     getCodeApi(123)
   }
   }
-  // getCodeApi()
 })
 })
 function getUrlKey(name){//获取url 参数
 function getUrlKey(name){//获取url 参数
    return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null;
    return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null;

+ 6 - 3
src/api/index.ts

@@ -130,10 +130,13 @@ export function invoiceApply(params) {
   });
   });
 }
 }
 // 获取工单收货地址
 // 获取工单收货地址
-export function wxLogin(code) {
-  return request({
-    url: "/service/sale/customer/wxLogin",
+export function wxLogin(code)  {
+  return request<wxLoginRus>({
+    url: "/service/wxLoginRus/customer/wxLogin",
     method: "get",
     method: "get",
     params:{code},
     params:{code},
 });
 });
 }
 }
+export interface wxLoginRus {
+  openid: number|string;
+}

+ 4 - 21
src/layout/basic/index.vue

@@ -18,8 +18,8 @@
 </template>
 </template>
 
 
 <script lang="ts" setup name="BasicLayoutPage">
 <script lang="ts" setup name="BasicLayoutPage">
-  import { useRouter } from 'vue-router';
-  import { ref, onMounted } from 'vue';
+  // import { useRouter } from 'vue-router';
+  import { onMounted } from 'vue';
 
 
   // const tabItem = [
   // const tabItem = [
   //   { key: 'home', icon: 'home' },
   //   { key: 'home', icon: 'home' },
@@ -28,31 +28,14 @@
   //   { key: 'demo', icon: 'location' },
   //   { key: 'demo', icon: 'location' },
   // ];
   // ];
 
 
-  const router = useRouter();
+  // const router = useRouter();
 
 
-  const activeTab = ref(0);
+  // const activeTab = ref(0);
 
 
   onMounted(() => {
   onMounted(() => {
     // activeTab.value = tabItem.findIndex((item) => item.key === router.currentRoute.value.path.replace('/', ''));
     // activeTab.value = tabItem.findIndex((item) => item.key === router.currentRoute.value.path.replace('/', ''));
   });
   });
 
 
-  const tabSwitch = (_item, index) => {
-    switch (index) {
-      case 0:
-        router.push('/home');
-
-        break;
-      case 1:
-        router.push('/list');
-        break;
-      case 2:
-        router.push('/member');
-        break;
-      case 3:
-        router.push('/demo');
-    }
-    activeTab.value = index;
-  };
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">

+ 1 - 1
src/main.ts

@@ -1,6 +1,6 @@
 import { createApp } from 'vue';
 import { createApp } from 'vue';
 import App from './App.vue';
 import App from './App.vue';
-import { nutUiComponents } from './plugins/nutUI';
+// import { nutUiComponents } from './plugins/nutUI';
 import { Toast } from 'vant';
 import { Toast } from 'vant';
 import { i18n } from '/@/i18n';
 import { i18n } from '/@/i18n';
 import router from '/@/router';
 import router from '/@/router';

+ 1 - 1
src/store/modules/home.ts

@@ -8,7 +8,7 @@ import { defineStore } from 'pinia'
 // 取名建议与文件名称一致 便于记忆和管理
 // 取名建议与文件名称一致 便于记忆和管理
 // pinia舍弃了冗长的mutations属性 
 // pinia舍弃了冗长的mutations属性 
 // 以下是pinia的一种写法 因与vuex相似 便于学习和记忆
 // 以下是pinia的一种写法 因与vuex相似 便于学习和记忆
-export const useHomeStore = defineStore('home', {
+export const useHomeStore = defineStore({
     id: 'home',
     id: 'home',
     state: () => {
     state: () => {
         return {
         return {

+ 4 - 4
src/store/modules/user.ts

@@ -12,7 +12,7 @@ interface StoreUser {
   info: Record<any, any>;
   info: Record<any, any>;
 }
 }
 
 
-export const useUserStore = defineStore('user',{
+export const useUserStore = defineStore({
   id: 'user',
   id: 'user',
   state: (): StoreUser => ({
   state: (): StoreUser => ({
     token: token,
     token: token,
@@ -35,12 +35,12 @@ export const useUserStore = defineStore('user',{
       this.info = info ? info : '';
       this.info = info ? info : '';
     },
     },
     setWxOpenId(code: string){
     setWxOpenId(code: string){
-      wxLogin(code).the(res => {
+      wxLogin(code).then(res => {
         console.log('wxlogin',res)
         console.log('wxlogin',res)
         let { openid } = res 
         let { openid } = res 
         this.wxOpenId = openid ? openid : '';
         this.wxOpenId = openid ? openid : '';
         if(openid){
         if(openid){
-          useCookies.set('wxOpenId', openid)
+          useCookies().set('wxOpenId', openid)
         }
         }
       })
       })
     },
     },
@@ -48,7 +48,7 @@ export const useUserStore = defineStore('user',{
       return new Promise((resolve) => {
       return new Promise((resolve) => {
         const { execute } = loginPassword();
         const { execute } = loginPassword();
         execute().then((res) => {
         execute().then((res) => {
-          this.setInfo(res);
+          // this.setInfo(res);
           resolve(res);
           resolve(res);
         });
         });
       });
       });

+ 4 - 3
src/utils/request.ts

@@ -1,4 +1,4 @@
-import axios, { AxiosResponse, AxiosRequestConfig } from "axios";
+import axios, { AxiosRequestConfig } from "axios";
 import { showLoadingToast, closeToast, showFailToast  } from 'vant';
 import { showLoadingToast, closeToast, showFailToast  } from 'vant';
 import { useCookies } from '@vueuse/integrations/useCookies';
 import { useCookies } from '@vueuse/integrations/useCookies';
 const { VITE_TOKEN_KEY } = import.meta.env;
 const { VITE_TOKEN_KEY } = import.meta.env;
@@ -7,6 +7,7 @@ interface ResponseData<T = any> {
   code: number;
   code: number;
   message: string;
   message: string;
   data: T;
   data: T;
+  openid?:string
 }
 }
 let loadingCount = 0
 let loadingCount = 0
 const MODE = import.meta.env.MODE; // 环境变量
 const MODE = import.meta.env.MODE; // 环境变量
@@ -32,7 +33,7 @@ const request = async <T = any>(
     addToast()
     addToast()
     console.log('confige',config)
     console.log('confige',config)
     if (config?.headers) {
     if (config?.headers) {
-      config.headers.Authorization = localStorage.getItem("token") || "";
+      config.headers.wxOpenId = token || "";
     }
     }
     return config;
     return config;
   });
   });
@@ -64,7 +65,7 @@ const request = async <T = any>(
     }
     }
     return Promise.reject(data);
     return Promise.reject(data);
   }
   }
-  return data.data || data;
+  return data;
 };
 };
 function addToast(){
 function addToast(){
     showLoadingToast({
     showLoadingToast({

+ 1 - 1
src/utils/useAxiosApi.ts

@@ -1,5 +1,5 @@
 import { useAxios } from '@vueuse/integrations/useAxios';
 import { useAxios } from '@vueuse/integrations/useAxios';
-import axios, { AxiosRequestConfig } from 'axios';
+import axios from 'axios';
 import { showLoadingToast, closeToast, showFailToast  } from 'vant';
 import { showLoadingToast, closeToast, showFailToast  } from 'vant';
 let loadingCount = 0
 let loadingCount = 0
 // create an axios instance
 // create an axios instance

+ 13 - 13
src/views/detail/index.vue

@@ -12,7 +12,7 @@
       </div>
       </div>
       <transition-group name="van-fade">
       <transition-group name="van-fade">
         <!-- <div v-show="stepShow">Slide Right</div> -->
         <!-- <div v-show="stepShow">Slide Right</div> -->
-        <div class="border stepItem" v-for="(item, index) in processList" :key="index + stepShow" v-show="stepShow ? true : index < 1">
+        <div class="border stepItem" v-for="(item, index) in processList" :key="index" v-show="stepShow ? true : index < 1">
           <div class="step">
           <div class="step">
             <div class="step_title">{{item.remark}}</div>
             <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.sendType == 0?' 前台送修':`快递寄送 ${item.customerAddress?.sendTrackingNum}`}}</div>
@@ -135,9 +135,9 @@
   
   
 <script lang="ts" setup name="detailPage">
 <script lang="ts" setup name="detailPage">
 import { useRouter } from 'vue-router';
 import { useRouter } from 'vue-router';
-import { reactive, ref, onMounted, unref } from 'vue';
+import { ref, onMounted, unref } from 'vue';
 import { repairProcess, repairDetails } from '/@/api';
 import { repairProcess, repairDetails } from '/@/api';
-import * as dayjs from 'dayjs'
+import dayjs from 'dayjs'
 const { currentRoute } = useRouter();
 const { currentRoute } = useRouter();
 const router = useRouter();
 const router = useRouter();
 const { id } = unref(currentRoute)?.params
 const { id } = unref(currentRoute)?.params
@@ -148,17 +148,17 @@ const cameraType = {
     2:'四维深时',
     2:'四维深时',
   }
   }
 let detailData = ref({
 let detailData = ref({
-  customer:{},
-  customerAddress:{},
-  repairerVo:{},
-  RepairTestVo:{},
-  repairRegisterVo:{},
-  orderReceivingVo:{},
-  repairPay:{},
-  RepairComment:{},
-  priceList:[],
+  customer:<any>{},
+  customerAddress:<any>{},
+  repairerVo:<any>{},
+  RepairTestVo:<any>{},
+  repairRegisterVo:<any>{},
+  orderReceivingVo:<any>{},
+  repairPay:<any>{},
+  RepairComment:<any>{},
+  priceList:<any>[],
 });
 });
-let processList = ref([])
+let processList = ref<any>([])
 onMounted(() => {
 onMounted(() => {
   console.log('onMounted',id)
   console.log('onMounted',id)
   getDetaile();
   getDetaile();

+ 8 - 9
src/views/detail/invoice.vue

@@ -99,7 +99,14 @@
             name="收件人电话"
             name="收件人电话"
             label="收件人电话"
             label="收件人电话"
             placeholder="请填写收件人电话"
             placeholder="请填写收件人电话"
-            :rules="[{ required: true, message: '请填写手机号' }, rulesMobile]"
+            :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>
         </van-cell-group>
       <div class="but">
       <div class="but">
@@ -116,14 +123,6 @@ import { getInvoiceAddress, invoiceApply } from '/@/api'
 import { useRouter } from 'vue-router';
 import { useRouter } from 'vue-router';
 const router = useRouter();
 const router = useRouter();
 const { id } = unref(router.currentRoute)?.params;
 const { id } = unref(router.currentRoute)?.params;
-const rulesMobile = {
-  // 自定义校验规则
-  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',
-};
 const formData = ref({
 const formData = ref({
   address: '',
   address: '',
   bankAccount: '',
   bankAccount: '',

+ 1 - 1
src/views/detail/payment.vue

@@ -17,7 +17,7 @@
 </template>
 </template>
   
   
 <script lang="ts" setup name="detailPage">
 <script lang="ts" setup name="detailPage">
-  import { reactive, ref, onMounted, unref } from 'vue';
+  import { ref, onMounted, unref } from 'vue';
   import { useRouter } from 'vue-router';
   import { useRouter } from 'vue-router';
   import { repairDetails } from '/@/api';
   import { repairDetails } from '/@/api';
   const router = useRouter();
   const router = useRouter();

+ 7 - 7
src/views/detail/repair.vue

@@ -37,7 +37,7 @@
 </template>
 </template>
   
   
   <script lang="ts" setup name="detailPage">
   <script lang="ts" setup name="detailPage">
-import { reactive, ref, onMounted, unref } from 'vue';
+import { ref, onMounted, unref } from 'vue';
 import { useRouter } from 'vue-router';
 import { useRouter } from 'vue-router';
 import { showToast } from 'vant';
 import { showToast } from 'vant';
 import { repairDetails, confirmRepair } from '/@/api';
 import { repairDetails, confirmRepair } from '/@/api';
@@ -45,17 +45,17 @@ const router = useRouter();
 const { id } = unref(router.currentRoute)?.params;
 const { id } = unref(router.currentRoute)?.params;
 const detail = ref({
 const detail = ref({
   amount: 0,
   amount: 0,
-  priceList: [],
-  repairerVo: {},
-  repairRegisterVo: {},
+  priceList: <any>[],
+  repairerVo: <any>{},
+  repairRegisterVo: <any>{},
 });
 });
 onMounted(async () => {
 onMounted(async () => {
   const { response } = await repairDetails(id);
   const { response } = await repairDetails(id);
   let detaile = unref(response)?.data,
   let detaile = unref(response)?.data,
     amount = 0;
     amount = 0;
-  detail.value.repairerVo = detaile.repairerVo;
-  detail.value.repairRegisterVo = detaile.repairRegisterVo;
-  detail.value.priceList = detaile.priceList.map((ele) => {
+  detail.value.repairerVo = <any>detaile.repairerVo;
+  detail.value.repairRegisterVo = <any>detaile.repairRegisterVo;
+  detail.value.priceList = <any>detaile.priceList.map((ele) => {
     amount = amount + ele.price * ele.count;
     amount = amount + ele.price * ele.count;
     return ele;
     return ele;
   });
   });

+ 9 - 9
src/views/home/index.vue

@@ -12,23 +12,23 @@
 </template>
 </template>
 
 
 <script lang="ts" setup name="HomePage">
 <script lang="ts" setup name="HomePage">
-import { computed, ref, reactive } from 'vue';
+import { computed, ref } from 'vue';
 import { useUserStore } from '/@/store/modules/user';
 import { useUserStore } from '/@/store/modules/user';
-import { setLang } from '/@/i18n';
-import store from '/@/store';
+// import { setLang } from '/@/i18n';
+// import store from '/@/store';
 import SubmitPage from './submit.vue'
 import SubmitPage from './submit.vue'
 import List from './list.vue'
 import List from './list.vue'
-import { useI18n } from 'vue-i18n';
-const { locale } = useI18n();
+// import { useI18n } from 'vue-i18n';
+// const { locale } = useI18n();
 const active = ref(0);
 const active = ref(0);
 const userStore = useUserStore();
 const userStore = useUserStore();
 const getUserInfo = computed(() => {
 const getUserInfo = computed(() => {
-  const { name = '' } = userStore.getUserInfo || {};
+  const { name = '' } = userStore.getUserInfo() || {};
   return name;
   return name;
 });
 });
-const onSubmit = () => {
-  console.log('onSubmit');
-};
+// const onSubmit = () => {
+//   console.log('onSubmit');
+// };
 const onClickTab = (title) => {
 const onClickTab = (title) => {
   console.log('title',title,active.value)
   console.log('title',title,active.value)
   console.log('store',userStore,getUserInfo)
   console.log('store',userStore,getUserInfo)

+ 15 - 11
src/views/home/list.vue

@@ -2,9 +2,9 @@
   <div class="list">
   <div class="list">
     <van-list style="overflow: hidden" :finished="loading" finished-text="没有更多了">
     <van-list style="overflow: hidden" :finished="loading" finished-text="没有更多了">
       <!-- <van-cell v-for="item in list" :key="item" :title="item" /> -->
       <!-- <van-cell v-for="item in list" :key="item" :title="item" /> -->
-      <div class="item" v-for="item in list" :key="item" @click="goRoute(`detail/${item.repairId}`)">
+      <div class="item" v-for="item in list" :key="item" @click="goRoute(`detail/${item?.repairId}`)">
         <div class="item_top padddiv">
         <div class="item_top padddiv">
-          <div class="orderSn">工单号: <span>{{item.repairId}}</span></div>
+          <div class="orderSn">工单号: <span>{{item?.repairId}}</span></div>
           <div class="state">{{status[item.status]}}</div>
           <div class="state">{{status[item.status]}}</div>
         </div>
         </div>
         <div class="content padddiv">
         <div class="content padddiv">
@@ -18,10 +18,10 @@
           <div class="time">报修日期 {{ dayjs(item.createTime).format('YYYY-MM-DD') }}</div>
           <div class="time">报修日期 {{ dayjs(item.createTime).format('YYYY-MM-DD') }}</div>
           <div class="butList">
           <div class="butList">
             <!-- <van-button @click.stop="goRoute(`payment/${item}`)" hairline size="small" type="primary" >支付</van-button> -->
             <!-- <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}`)" plain hairline size="small">支付</van-button>
-            <van-button v-if="item.status == 9" @click.stop="goRoute(`repair/${item.repairId}`)" plain hairline size="small">待确认</van-button>
-            <van-button v-if="item.status == 13" @click.stop="goRoute(`evaluate/${item.repairId}`)" plain hairline size="small">评价</van-button>
-            <van-button v-if="item.status == 23" @click.stop="goRoute(`invoice/${item.repairId}`)" plain hairline size="small">申请开票</van-button>
+            <van-button v-if="item?.status == 3" @click.stop="goRoute(`payment/${item?.repairId}`)" plain hairline size="small">支付</van-button>
+            <van-button v-if="item?.status == 9" @click.stop="goRoute(`repair/${item?.repairId}`)" plain hairline size="small">待确认</van-button>
+            <van-button v-if="item?.status == 13" @click.stop="goRoute(`evaluate/${item?.repairId}`)" plain hairline size="small">评价</van-button>
+            <van-button v-if="item?.status == 23" @click.stop="goRoute(`invoice/${item?.repairId}`)" plain hairline size="small">申请开票</van-button>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
@@ -29,12 +29,12 @@
   </div>
   </div>
 </template>
 </template>
 <script lang="ts" setup name="HomeList">
 <script lang="ts" setup name="HomeList">
-import { reactive, ref, toRefs, watch, computed, unref, onMounted } from 'vue';
+import { reactive, ref, toRefs, watch, computed, onMounted } from 'vue';
 import { useRouter } from 'vue-router';
 import { useRouter } from 'vue-router';
 import { useUserStore } from '/@/store/modules/user';
 import { useUserStore } from '/@/store/modules/user';
 import { useHomeStore } from '/@/store/modules/home';
 import { useHomeStore } from '/@/store/modules/home';
 import { repairList } from '/@/api';
 import { repairList } from '/@/api';
-import * as dayjs from 'dayjs'
+import dayjs from 'dayjs'
 const userStore = useUserStore();
 const userStore = useUserStore();
 const userHome = useHomeStore();
 const userHome = useHomeStore();
 const router = useRouter();
 const router = useRouter();
@@ -43,12 +43,16 @@ import ss from '/@/assets/image/tips/ss.png';
 import kk from '/@/assets/image/tips/kk.png';
 import kk from '/@/assets/image/tips/kk.png';
 import kj from '/@/assets/image/tips/kj.png';
 import kj from '/@/assets/image/tips/kj.png';
 const props = defineProps({
 const props = defineProps({
-  active: Number,
+  active: {
+    type:Number,
+    require:true,
+    default:0
+  },
 });
 });
 const { active } = toRefs(props);
 const { active } = toRefs(props);
-const list = ref([]);
-const error = ref(false);
+const list = ref<any>([]);
 const loading = ref(false);
 const loading = ref(false);
+console.log('userStore',userStore)
 const wxOpenId = computed(() => {
 const wxOpenId = computed(() => {
   return userStore.getWxOpenId;
   return userStore.getWxOpenId;
 });
 });

+ 23 - 19
src/views/home/submit.vue

@@ -23,7 +23,14 @@
         name="联系电话"
         name="联系电话"
         label="联系电话"
         label="联系电话"
         placeholder="请填写手机号"
         placeholder="请填写手机号"
-        :rules="[{ required: true, message: '请填写手机号' }, rulesMobile]"
+        :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
       <van-field
         v-model="formData.cameraSnCode"
         v-model="formData.cameraSnCode"
@@ -47,7 +54,7 @@
       />
       />
       <van-field name="uploader" label="文件上传" label-align="top">
       <van-field name="uploader" label="文件上传" label-align="top">
         <template #input>
         <template #input>
-          <van-uploader v-model="formData.faultImg" :before-read="beforeRead" :after-read="clzpAfterRead" @delete="deleteFile" />
+          <van-uploader v-model="formData.faultImg" :before-read="beforeRead" :after-read="clzpAfterRead" />
         </template>
         </template>
       </van-field>
       </van-field>
       <van-field name="radio" label="送修方式" label-align="top">
       <van-field name="radio" label="送修方式" label-align="top">
@@ -102,7 +109,14 @@
         name="收件人电话"
         name="收件人电话"
         label="收件人电话"
         label="收件人电话"
         placeholder="请填写收件人电话"
         placeholder="请填写收件人电话"
-        :rules="[{ required: true, message: '请填写收件人电话' }, rulesMobile]"
+        :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
       <van-field
@@ -133,13 +147,13 @@ import { computed, reactive, unref } from 'vue';
 import { useUserStore } from '/@/store/modules/user';
 import { useUserStore } from '/@/store/modules/user';
 import { showToast, showSuccessToast  } from 'vant';
 import { showToast, showSuccessToast  } from 'vant';
 import axios from 'axios';
 import axios from 'axios';
-import useAxiosApi from '/@/utils/useAxiosApi';
+// import useAxiosApi from '/@/utils/useAxiosApi';
 // import { Toast } from '@nutui/nutui';
 // import { Toast } from '@nutui/nutui';
 import { cameraRepair } from '/@/api';
 import { cameraRepair } from '/@/api';
-import { setLang } from '/@/i18n';
-import { useI18n } from 'vue-i18n';
+// import { setLang } from '/@/i18n';
+// import { useI18n } from 'vue-i18n';
 const emit = defineEmits(['setActive'])
 const emit = defineEmits(['setActive'])
-const { locale } = useI18n();
+// const { locale } = useI18n();
 const userStore = useUserStore();
 const userStore = useUserStore();
 const wxOpenId = computed(() => {
 const wxOpenId = computed(() => {
   return userStore.getWxOpenId;
   return userStore.getWxOpenId;
@@ -150,26 +164,16 @@ const formData = reactive({
   phone: '',
   phone: '',
   cameraSnCode: '',
   cameraSnCode: '',
   faultMsg: '',
   faultMsg: '',
-  faultImg: [],
+  faultImg: <any>[],
   sendType: 0,
   sendType: 0,
   sendTrackingNum: '',
   sendTrackingNum: '',
   getAddress: '',
   getAddress: '',
   getAddrName: '',
   getAddrName: '',
   getAddrPhone: '',
   getAddrPhone: '',
   getType: 0,
   getType: 0,
+  message:'',
   wxOpenId: wxOpenId.value,
   wxOpenId: wxOpenId.value,
 });
 });
-const rulesMobile = {
-  // 自定义校验规则
-  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',
-};
-function changeActive(){
-  emit('setActive',1)
-}
 async function onSubmit() {
 async function onSubmit() {
   // return new Promise((resolve) => {
   // return new Promise((resolve) => {
   let apiData = {
   let apiData = {

+ 7 - 7
vite.config.ts

@@ -1,7 +1,7 @@
-import { createVitePlugins } from './build/vite/plugins';
+// import { createVitePlugins } from './build/vite/plugins';
 import { resolve } from 'path';
 import { resolve } from 'path';
-import { ConfigEnv, loadEnv, UserConfig, defineConfig } from 'vite';
-import { wrapperEnv } from './build/utils';
+import { ConfigEnv, UserConfig } from 'vite';
+// import { wrapperEnv } from './build/utils';
 import Components from 'unplugin-vue-components/vite'
 import Components from 'unplugin-vue-components/vite'
 import { VantResolver } from 'unplugin-vue-components/resolvers'
 import { VantResolver } from 'unplugin-vue-components/resolvers'
 import vue from '@vitejs/plugin-vue';
 import vue from '@vitejs/plugin-vue';
@@ -10,11 +10,11 @@ const pathResolve = (dir: string) => {
 };
 };
 
 
 // https://vitejs.dev/config/
 // https://vitejs.dev/config/
-export default function ({ command, mode }: ConfigEnv): UserConfig {
-  const isProduction = command === 'build';
+export default function (_: ConfigEnv): UserConfig {
+  // const isProduction = command === 'build';
   const root = process.cwd();
   const root = process.cwd();
-  const env = loadEnv(mode, root);
-  const viteEnv = wrapperEnv(env);
+  // const env = loadEnv(mode, root);
+  // const viteEnv = wrapperEnv(env);
 
 
   return {
   return {
     root,
     root,