DESKTOP-SVI9JE1\muzen пре 1 година
родитељ
комит
ef861db510

+ 9 - 4
src/hooks/index.js

@@ -31,7 +31,7 @@ export function useStore() {
 export function useGoods() {
   const goodsForm = ref({
     pageNum: 1,
-    pageSize: 10
+    pageSize: 10,
   });
   const goodsOptions = ref([]);
   const getGoods = () => {
@@ -59,10 +59,15 @@ export function useCommon() {
     { value: 3, label: "维修" },
   ]);
   // 维修审核
-  const stepStatusOptions = ref([
+  const repairStatusOptions = ref([
     { value: 1, label: "审核通过" },
     { value: 2, label: "审核失败" },
-    { value: 3, label: "待审核" }
+    { value: 3, label: "待审核" },
   ]);
-  return { pushStatusOptions, applyTypeOptions, stepStatusOptions };
+  // 维修类型
+  const repairTypeOptions = ref([
+    { value: 1, label: "保内维修" },
+    { value: 2, label: "保外维修" },
+  ]);
+  return { pushStatusOptions, applyTypeOptions, repairStatusOptions, repairTypeOptions };
 }

+ 2 - 2
src/views/mobile/order.vue

@@ -20,7 +20,7 @@
       </el-descriptions>
       <div class="footer between">
         <span>填写时间:{{ item.createTime }}</span>
-        <span>{{ proxy.selectDictLabel(stepStatusOptions, item.status) }}</span>
+        <span>{{ proxy.selectDictLabel(repairStatusOptions, item.status) }}</span>
       </div>
     </div>
   </div>
@@ -30,7 +30,7 @@
 import { list } from "@/api/mobile/order"
 import { useCommon } from "@/hooks/index"
 
-const { applyTypeOptions, stepStatusOptions } = useCommon()
+const { applyTypeOptions, repairStatusOptions } = useCommon()
 
 const { proxy } = getCurrentInstance()
 

+ 20 - 8
src/views/mobile/repair.vue

@@ -29,19 +29,28 @@
       <el-form-item label="详细地址" prop="address">
         <el-input v-model="data.form.address" type="textarea" :autosize="{ minRows: 5 }" placeholder="请输入详细地址" />
       </el-form-item>
-      <el-form-item label="维修数量" prop="repairQuantity">
-        <el-input-number v-model="data.form.repairQuantity" :min="1" />
+      <el-form-item label="物流公司" prop="logisticsName">
+        <el-input v-model="data.form.logisticsName" placeholder="请输入物流公司" />
+      </el-form-item>
+      <el-form-item label="快递单号" prop="logisticsCode">
+        <el-input v-model="data.form.logisticsCode" placeholder="请输入快递单号(示例:SF)" />
       </el-form-item>
       <el-form-item label="产品型号" prop="specCode">
         <el-select v-model="data.form.specCode" filterable remote :remote-method="remoteMethod" placeholder="请选择产品型号">
           <el-option v-for="item in goodsOptions" :key="item.goodsId" :value="item.goodsId" :label="item.goodsName" />
         </el-select>
       </el-form-item>
-      <el-form-item label="物流公司" prop="logisticsName">
-        <el-input v-model="data.form.logisticsName" placeholder="请输入物流公司" />
+      <el-form-item label="维修类型" prop="typeOfRepair">
+        <el-select v-model="data.form.typeOfRepair" placeholder="请选择维修类型">
+          <el-option v-for="item in repairTypeOptions" :key="item.value" :value="item.value" :label="item.label" />
+        </el-select>
       </el-form-item>
-      <el-form-item label="快递单号" prop="logisticsCode">
-        <el-input v-model="data.form.logisticsCode" placeholder="请输入快递单号(示例:SF)" />
+      <el-form-item label="维修数量" prop="repairQuantity">
+        <el-input-number v-model="data.form.repairQuantity" :min="1" />
+      </el-form-item>
+      <el-form-item label="故障描述" prop="faultDescription">
+        <el-input v-model="data.form.faultDescription" type="textarea" :autosize="{ minRows: 5 }"
+          placeholder="请输入故障描述" />
       </el-form-item>
       <el-form-item label="购买渠道" prop="shopCode">
         <el-select v-model="data.form.shopCode" prop="shopCode" placeholder="请选择购买渠道" @change="handleChangeShopCode">
@@ -64,10 +73,11 @@
 <script setup>
 import Steps from '@/components/Steps'
 import { submit } from '@/api/mobile/repair'
-import { useAddress, useStore, useGoods } from '@/hooks/index'
+import { useAddress, useStore, useGoods, useCommon } from '@/hooks/index'
 const { addressOptions, getAddress } = useAddress()
 const { storeOptions, getStore } = useStore()
 const { goodsForm, goodsOptions, getGoods } = useGoods()
+const { repairTypeOptions } = useCommon()
 const { proxy } = getCurrentInstance()
 
 document.title = '维修申请'
@@ -87,8 +97,10 @@ const data = reactive({
     province: [{ required: true, message: '请选择省', trigger: 'change' }],
     city: [{ required: true, message: '请选择市', trigger: 'change' }],
     address: [{ required: true, message: '请输入详细地址', trigger: 'blur' }],
-    repairQuantity: [{ required: true, message: '请输入数量', trigger: 'blur' }],
+    typeOfRepair: [{ required: true, message: '请选择维修类型', trigger: 'change' }],
+    repairQuantity: [{ required: true, message: '请输入维修数量', trigger: 'blur' }],
     specCode: [{ required: true, message: '请选择产品型号', trigger: 'change' }],
+    faultDescription: [{ required: true, message: '请输入故障描述', trigger: 'blur' }],
     logisticsName: [{ required: true, message: '请输入物流公司', trigger: 'blur' }],
     logisticsCode: [{ required: true, message: '请输入快递单号', trigger: 'blur' }],
     proofPurchase: [{ required: true, message: '请上传购买凭证', trigger: 'change' }]

+ 3 - 3
src/views/mobile/replace.vue

@@ -29,10 +29,10 @@
       <el-form-item label="详细地址" prop="address">
         <el-input v-model="data.form.address" type="textarea" :autosize="{ minRows: 5 }" placeholder="请输入详细地址" />
       </el-form-item>
-      <el-form-item label="物流公司" prop="logisticsName">
+      <el-form-item label="物流公司" prop="buyerExpressName">
         <el-input v-model="data.form.logisticsName" placeholder="请输入物流公司" />
       </el-form-item>
-      <el-form-item label="快递单号" prop="logisticsCode">
+      <el-form-item label="快递单号" prop="buyerExpressNo">
         <el-input v-model="data.form.logisticsCode" placeholder="请输入快递单号(示例:SF)" />
       </el-form-item>
       <el-form-item label="产品型号" prop="specCode">
@@ -40,7 +40,7 @@
           <el-option v-for="item in goodsOptions" :key="item.goodsId" :value="item.goodsId" :label="item.goodsName" />
         </el-select>
       </el-form-item>
-      <el-form-item label="数量" prop="quantity">
+      <el-form-item label="换新数量" prop="quantity">
         <el-input-number v-model="data.form.quantity" :min="1" />
       </el-form-item>
       <el-form-item label="购买渠道" prop="shopCode">

+ 14 - 7
src/views/service/repair/index.vue

@@ -3,7 +3,7 @@
     <el-form inline>
       <el-form-item label="当前状态:">
         <el-select v-model="data.form.pushStatus" placeholder="请选择当前状态" style="width: 200px" clearable>
-          <el-option v-for="item in stepStatusOptions" :key="item.value" :value="item.value" :label="item.label" />
+          <el-option v-for="item in repairStatusOptions" :key="item.value" :value="item.value" :label="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="时间:">
@@ -19,18 +19,22 @@
     <el-table :data="data.tableData" v-loading="loading">
       <el-table-column label="收货人" prop="receiverName" align="center" />
       <el-table-column label="手机号" prop="mobile" align="center" />
-      <el-table-column label="收货地址" align="center">
+      <el-table-column label="详细地址" align="center">
         <template #default="scope">
           {{ scope.row.province }}{{ scope.row.city }}{{ scope.row.district }}{{ scope.row.address }}
         </template>
       </el-table-column>
+      <el-table-column label="产品型号" prop="goodsName" align="center" />
+      <el-table-column label="维修类型" prop="typeOfRepair" align="center" :formatter="typeFormatter" />
+      <el-table-column label="维修数量" prop="repairQuantity" align="center" />
       <el-table-column label="购买凭证" align="center" width="100px">
         <template #default="scope">
           <el-image :src="scope.row.proofPurchase" />
         </template>
       </el-table-column>
-      <el-table-column label="产品型号" prop="goodsName" align="center" />
-      <el-table-column label="维修数量" prop="repairQuantity" align="center" />
+      <el-table-column label="故障描述" prop="faultDescription" align="center" />
+      <el-table-column label="物流公司" prop="logisticsName" align="center" />
+      <el-table-column label="快递单号" prop="logisticsCode" align="center" />
       <el-table-column label="当前状态" align="center" :formatter="statusFormatter" />
       <el-table-column label="操作" align="center">
         <template #default="scope">
@@ -56,7 +60,7 @@
 import { list, change } from '@/api/service/repair'
 import { useCommon } from '@/hooks/index'
 
-const { stepStatusOptions } = useCommon()
+const { repairStatusOptions, repairTypeOptions } = useCommon()
 
 const { proxy } = getCurrentInstance()
 
@@ -111,7 +115,7 @@ const getRefresh = () => {
 // 审核
 const getChange = (id, status) => {
   change(id, status).then(res => {
-    if(res.code === 0) {
+    if (res.code === 0) {
       proxy.$modal.msgSuccess('审核成功!')
       getList()
     }
@@ -127,8 +131,11 @@ getList()
 
 // 字典翻译
 const statusFormatter = (row) => {
-  return proxy.selectDictLabel(stepStatusOptions.value, row.status)
+  return proxy.selectDictLabel(repairStatusOptions.value, row.status)
 }
 
+const typeFormatter = (row) => {
+  return proxy.selectDictLabel(repairTypeOptions.value, row.typeOfRepair)
+}
 
 </script>

+ 6 - 2
src/views/service/replace/index.vue

@@ -20,21 +20,25 @@
     <!-- 列表 -->
     <el-table :data="data.tableData" v-loading="loading" @selection-change="handleSelectionChange">
       <el-table-column type="selection" align="center" />
+      <el-table-column label="交易号" prop="tradeId" align="center" />
       <el-table-column label="买家昵称" prop="buyerNick" align="center" />
       <el-table-column label="购买渠道" prop="shopNick" align="center" />
-      <el-table-column label="联系人" prop="contact" align="center" />
+      <el-table-column label="收货人" prop="contact" align="center" />
       <el-table-column label="手机号" prop="mobile" align="center" />
       <el-table-column label="详细地址" prop="address" align="center">
         <template #default="scope">
           <span>{{ scope.row.address.replace(/\^/g, '') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="数量" prop="quantity" align="center" />
+      <el-table-column label="产品型号" prop="goodsName" align="center" />
+      <el-table-column label="换新数量" prop="quantity" align="center" />
       <el-table-column label="购买凭证" align="center" width="100px">
         <template #default="scope">
           <el-image :src="scope.row.proofPurchase" />
         </template>
       </el-table-column>
+      <el-table-column label="物流公司" prop="buyerExpressName" align="center" />
+      <el-table-column label="快递单号" prop="buyerExpressNo" align="center" />
       <el-table-column label="当前状态" align="center" :formatter="statusFormatter" />
       <el-table-column label="操作" align="center">
         <template #default="scope">

+ 6 - 2
src/views/service/resend/index.vue

@@ -11,7 +11,10 @@
     <!-- 列表 -->
     <el-table :data="data.tableData" v-loading="loading" @selection-change="handleSelectionChange">
       <el-table-column type="selection" align="center" />
+      <el-table-column label="交易号" prop="deliveryOrderCode" align="center" />
       <el-table-column label="购买渠道" align="center" prop="shopNick" />
+      <el-table-column label="物料号" prop="specCode" align="center" />
+      <el-table-column label="商品名称" prop="goodsName" align="center" />
       <el-table-column label="会员昵称" align="center" prop="buyerNick" />
       <el-table-column label="收货人" align="center" prop="receiverInfo.name" />
       <el-table-column label="手机号" align="center" prop="receiverInfo.mobile" />
@@ -52,8 +55,9 @@
         <el-form-item label="手机号码:" prop="receiverInfo.mobile">
           <el-input v-model="data.dialogForm.receiverInfo.mobile" placeholder="请输入手机号码" />
         </el-form-item>
-        <el-form-item label="产品型号" prop="specCode">
-          <el-select v-model="data.dialogForm.specCode" filterable remote :remote-method="remoteMethod" placeholder="请选择产品型号">
+        <el-form-item label="商品名称:" prop="specCode">
+          <el-select v-model="data.dialogForm.specCode" filterable remote :remote-method="remoteMethod"
+            placeholder="请选择产品型号">
             <el-option v-for="item in goodsOptions" :key="item.goodsId" :value="item.goodsId" :label="item.goodsName" />
           </el-select>
         </el-form-item>