소스 검색

动态、退单联调

lishanshan 7 달 전
부모
커밋
66f8daf2c1

+ 2 - 2
src/api/system/order.js

@@ -110,10 +110,10 @@ export function refundOrderDetail(data) {
 }
 }
 
 
 // 订单退款审核
 // 订单退款审核
-export function refundOrderAudit(query) {
+export function refundOrderAudit(data) {
   return request({
   return request({
     url: '/api/order/cancelOrderApplication/audit',
     url: '/api/order/cancelOrderApplication/audit',
     method: 'post',
     method: 'post',
-    params: query
+    data
   })
   })
 }
 }

+ 2 - 0
src/utils/dict/LocalDicts.js

@@ -46,6 +46,7 @@ export default {
     // 动态审核状态
     // 动态审核状态
     local_dynamic_audit: {
     local_dynamic_audit: {
         values: [
         values: [
+            { label: "全部", value: '' },
             { label: "待审核", value: 1 },
             { label: "待审核", value: 1 },
             { label: "审核通过", value: 2 },
             { label: "审核通过", value: 2 },
             { label: "审核驳回", value: 3 },
             { label: "审核驳回", value: 3 },
@@ -54,6 +55,7 @@ export default {
     // 退款审核状态
     // 退款审核状态
     local_refund_audit: {
     local_refund_audit: {
         values: [
         values: [
+            { label: "全部", value: '' },
             { label: "待审核", value: '0' },
             { label: "待审核", value: '0' },
             { label: "已审核", value: '1' },
             { label: "已审核", value: '1' },
             { label: "已取消", value: '2' },
             { label: "已取消", value: '2' },

+ 2 - 1
src/views/cancelOrder/cancelOrderAudit.vue

@@ -90,7 +90,7 @@
       <el-form v-if="nextStep" ref="form" :model="form" label-width="90px">
       <el-form v-if="nextStep" ref="form" :model="form" label-width="90px">
         <el-form-item label="申请信息">
         <el-form-item label="申请信息">
           <el-input
           <el-input
-            v-model="form.cancelReason"
+            v-model="form.cancelOrderReason"
             type="textarea"
             type="textarea"
             :rows="3"
             :rows="3"
             disabled
             disabled
@@ -262,6 +262,7 @@ export default {
         id: this.id,
         id: this.id,
         refundAmount: this.form.refundAmount,
         refundAmount: this.form.refundAmount,
         auditRemark: this.form.auditRemark,
         auditRemark: this.form.auditRemark,
+        auditStatus: 1
       }
       }
       refundOrderAudit(params).then(response => {
       refundOrderAudit(params).then(response => {
         if (response.code == 200) {
         if (response.code == 200) {

+ 20 - 18
src/views/technician/check/check.vue

@@ -34,7 +34,7 @@
                 :value="item.value">
                 :value="item.value">
               </el-option>
               </el-option>
           </el-select>
           </el-select>
-        </el-form-item> 
+        </el-form-item>
         <!-- <el-form-item label="服务状态" prop="nStatus">
         <!-- <el-form-item label="服务状态" prop="nStatus">
           <el-select v-model="queryParams.nStatus" placeholder="请选择" style="width: 100px">
           <el-select v-model="queryParams.nStatus" placeholder="请选择" style="width: 100px">
             <el-option
             <el-option
@@ -103,7 +103,7 @@
                 </div>
                 </div>
             </template>
             </template>
         </el-table-column>
         </el-table-column>
-        
+
         <el-table-column label="电话" align="center" prop="cPhone" />
         <el-table-column label="电话" align="center" prop="cPhone" />
         <!-- <el-table-column label="地址" align="center" prop="cAddress" /> -->
         <!-- <el-table-column label="地址" align="center" prop="cAddress" /> -->
         <!-- <el-table-column label="个人简介" align="center" prop="cJianjie" /> -->
         <!-- <el-table-column label="个人简介" align="center" prop="cJianjie" /> -->
@@ -235,8 +235,8 @@
               </div>
               </div>
             </div>
             </div>
           </el-form-item>
           </el-form-item>
-          
-          
+
+
           <!-- <el-form-item label="地址" prop="cAddress">
           <!-- <el-form-item label="地址" prop="cAddress">
             <el-input v-model="form.cAddress" type="textarea" placeholder="请输入内容" />
             <el-input v-model="form.cAddress" type="textarea" placeholder="请输入内容" />
           </el-form-item> -->
           </el-form-item> -->
@@ -313,10 +313,10 @@
             <el-carousel-item v-for="(item,index) in imgsList" :key="index">
             <el-carousel-item v-for="(item,index) in imgsList" :key="index">
               <!-- <h3>{{ item }}</h3> -->
               <!-- <h3>{{ item }}</h3> -->
               <div class="imgbox"><img :src="item" alt="" style="max-width: 100%;max-height: 100%;"></div>
               <div class="imgbox"><img :src="item" alt="" style="max-width: 100%;max-height: 100%;"></div>
-              
+
             </el-carousel-item>
             </el-carousel-item>
           </el-carousel>
           </el-carousel>
-          
+
         <span slot="footer" class="dialog-footer">
         <span slot="footer" class="dialog-footer">
           <el-button @click="dialogVisible = false">取 消</el-button>
           <el-button @click="dialogVisible = false">取 消</el-button>
           <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
           <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
@@ -379,7 +379,7 @@
       </el-drawer>
       </el-drawer>
     </div>
     </div>
   </template>
   </template>
-  
+
   <script>
   <script>
   import { listJs, getJs, delJs, addJs, updateJs,auditJs,repulseJs } from "@/api/system/js";
   import { listJs, getJs, delJs, addJs, updateJs,auditJs,repulseJs } from "@/api/system/js";
   import { upload } from "@/api/public";
   import { upload } from "@/api/public";
@@ -485,7 +485,7 @@
         }else{
         }else{
           this.$modal.msgSuccess("该技师已操作");
           this.$modal.msgSuccess("该技师已操作");
         }
         }
-      }, 
+      },
       returnJs(ids){
       returnJs(ids){
         this.$prompt('请输入退回原因', '提示', {
         this.$prompt('请输入退回原因', '提示', {
           confirmButtonText: '确定',
           confirmButtonText: '确定',
@@ -511,8 +511,8 @@
           this.$message({
           this.$message({
             type: 'info',
             type: 'info',
             message: '取消输入'
             message: '取消输入'
-          });       
-        });  
+          });
+        });
       },
       },
       handleDetail(row){
       handleDetail(row){
         this.$router.push({
         this.$router.push({
@@ -549,7 +549,7 @@
         //     });
         //     });
         //   }
         //   }
         //   console.log(response.data,"cAddress")
         //   console.log(response.data,"cAddress")
-          
+
         //   this.jsInfos = response.data;
         //   this.jsInfos = response.data;
         //   this.jsInfos.cImgList = imgs
         //   this.jsInfos.cImgList = imgs
         //   this.jsInfos.cSfzImg = imgs2
         //   this.jsInfos.cSfzImg = imgs2
@@ -645,9 +645,11 @@
             var cimg = []
             var cimg = []
             response.records.forEach(element => {
             response.records.forEach(element => {
               element.cPortrait = process.env.VUE_APP_BASE_API + element.cPortrait
               element.cPortrait = process.env.VUE_APP_BASE_API + element.cPortrait
-              element.cImgList.forEach(ele => {
-                ele = process.env.VUE_APP_BASE_API + ele
-              });
+              if(element.cImgList){
+                element.cImgList.forEach(ele => {
+                  ele = process.env.VUE_APP_BASE_API + ele
+                });
+              }
             });
             });
           this.jsList = response.records;
           this.jsList = response.records;
           this.total = response.total;
           this.total = response.total;
@@ -734,7 +736,7 @@
               imgs2.push(element)
               imgs2.push(element)
             });
             });
           }
           }
-          
+
           this.form = response.data;
           this.form = response.data;
           this.updataImg1 = imgs
           this.updataImg1 = imgs
           this.updataImg11 = response.data.cImgList
           this.updataImg11 = response.data.cImgList
@@ -745,7 +747,7 @@
       },
       },
       /** 提交按钮 */
       /** 提交按钮 */
       submitForm() {
       submitForm() {
-       
+
         this.$refs["form"].validate(valid => {
         this.$refs["form"].validate(valid => {
           if (valid) {
           if (valid) {
             if (this.form.cOpenId != null) {
             if (this.form.cOpenId != null) {
@@ -900,7 +902,7 @@
       height: 100%;
       height: 100%;
       background: rgba(0,0,0,0.5);
       background: rgba(0,0,0,0.5);
       color: #fff;
       color: #fff;
-      
+
     }
     }
     .imgslist .imgs .ifnone{
     .imgslist .imgs .ifnone{
       position: absolute;
       position: absolute;
@@ -928,4 +930,4 @@
       justify-content: center;
       justify-content: center;
       height: 300px;
       height: 300px;
     }
     }
-</style>
+</style>

+ 32 - 32
src/views/technician/details/details.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
     <el-form :model="jsInfos" ref="form" label-width="120px">
     <el-form :model="jsInfos" ref="form" label-width="120px">
-      
+
       <el-card class="box-card">
       <el-card class="box-card">
         <div slot="header" class="clearfix">
         <div slot="header" class="clearfix">
           <span class="section-title">基本信息</span>
           <span class="section-title">基本信息</span>
@@ -115,11 +115,11 @@
                   :before-upload="beforeVideoUpload"
                   :before-upload="beforeVideoUpload"
                   :show-file-list="false"
                   :show-file-list="false"
                 >
                 >
-                  <video 
+                  <video
                     class="video-preview"
                     class="video-preview"
-                    v-if="jsInfos.cVideo" 
-                    :src="getVideoUrl(jsInfos.cVideo)" 
-                    controls 
+                    v-if="jsInfos.cVideo"
+                    :src="getVideoUrl(jsInfos.cVideo)"
+                    controls
                   ></video>
                   ></video>
                   <i v-else class="el-icon-plus"></i>
                   <i v-else class="el-icon-plus"></i>
                   <div class="el-upload__tip" slot="tip">支持MP4、AVI等格式,大小不超过100MB</div>
                   <div class="el-upload__tip" slot="tip">支持MP4、AVI等格式,大小不超过100MB</div>
@@ -133,7 +133,7 @@
         <div slot="header" class="clearfix">
         <div slot="header" class="clearfix">
           <span class="section-title">资质与详细信息</span>
           <span class="section-title">资质与详细信息</span>
         </div>
         </div>
-        
+
         <el-row :gutter="20">
         <el-row :gutter="20">
            <el-col :span="8">
            <el-col :span="8">
             <el-form-item label="评分">
             <el-form-item label="评分">
@@ -227,28 +227,28 @@
         <el-row :gutter="20">
         <el-row :gutter="20">
           <el-col :span="24">
           <el-col :span="24">
             <el-form-item label="承诺书">
             <el-form-item label="承诺书">
-              <FileUpload 
+              <FileUpload
                 :fileSize="10"
                 :fileSize="10"
                 :fileType="['pdf', 'jpg', 'jpeg', 'png']"
                 :fileType="['pdf', 'jpg', 'jpeg', 'png']"
-                v-model="jsInfos.commitment" 
+                v-model="jsInfos.commitment"
               />
               />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
           <el-col :span="24">
           <el-col :span="24">
             <el-form-item label="承诺录音">
             <el-form-item label="承诺录音">
-              <FileUpload 
+              <FileUpload
                 :fileSize="10"
                 :fileSize="10"
                 :fileType="['mp3', 'wav', 'wma']"
                 :fileType="['mp3', 'wav', 'wma']"
-                v-model="jsInfos.recording" 
+                v-model="jsInfos.recording"
               />
               />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
           <el-col :span="24">
           <el-col :span="24">
             <el-form-item label="承诺录像">
             <el-form-item label="承诺录像">
-              <FileUpload 
+              <FileUpload
                 :fileSize="50"
                 :fileSize="50"
                 :fileType="['mp4', 'mov', 'mkv', 'wmv']"
                 :fileType="['mp4', 'mov', 'mkv', 'wmv']"
-                v-model="jsInfos.videoRecording" 
+                v-model="jsInfos.videoRecording"
               />
               />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
@@ -257,9 +257,9 @@
 
 
       <div class="footer-actions">
       <div class="footer-actions">
         <el-button type="info" icon="el-icon-chat-dot-round" @click="addComplaintShow">添加评论</el-button>
         <el-button type="info" icon="el-icon-chat-dot-round" @click="addComplaintShow">添加评论</el-button>
-        
-        <el-button 
-          :type="jsInfos.nStatus2 == -1 ? 'success' : 'warning'" 
+
+        <el-button
+          :type="jsInfos.nStatus2 == -1 ? 'success' : 'warning'"
           @click="work"
           @click="work"
         >
         >
           {{ jsInfos.nStatus2 == -1 ? '上 岗' : '下 岗' }}
           {{ jsInfos.nStatus2 == -1 ? '上 岗' : '下 岗' }}
@@ -270,8 +270,8 @@
           <el-button type="danger" icon="el-icon-close" @click="returnJs(jsInfos.id)">退 回</el-button>
           <el-button type="danger" icon="el-icon-close" @click="returnJs(jsInfos.id)">退 回</el-button>
         </template>
         </template>
 
 
-        <el-button 
-           :type="jsInfos.nTong == 3 ? 'success' : 'danger'" 
+        <el-button
+           :type="jsInfos.nTong == 3 ? 'success' : 'danger'"
            @click="blacklist"
            @click="blacklist"
         >
         >
           {{ jsInfos.nTong == 3 ? '恢 复' : '拉 黑' }}
           {{ jsInfos.nTong == 3 ? '恢 复' : '拉 黑' }}
@@ -340,7 +340,7 @@ export default {
       },
       },
       options: [], // 城市/部门列表
       options: [], // 城市/部门列表
       dialogFormVisible: false,
       dialogFormVisible: false,
-      
+
       // 主信息对象
       // 主信息对象
       jsInfos: {
       jsInfos: {
         cImgList: [], // 确保初始化为数组或若依组件需要的格式
         cImgList: [], // 确保初始化为数组或若依组件需要的格式
@@ -348,13 +348,13 @@ export default {
         nStatus2: 0,
         nStatus2: 0,
         nTong: 0,
         nTong: 0,
       },
       },
-      
+
       addr: { lat: "", lng: "" }, // 地图回显坐标
       addr: { lat: "", lng: "" }, // 地图回显坐标
       newAddress: "太原", // 地图默认城市
       newAddress: "太原", // 地图默认城市
-      
+
       projectList: [], // 所有项目
       projectList: [], // 所有项目
       jsProjectList: [], // 当前选中的项目对象
       jsProjectList: [], // 当前选中的项目对象
-      
+
       complainForm: {
       complainForm: {
         cNickName: "匿名评论",
         cNickName: "匿名评论",
         nStar: 5,
         nStar: 5,
@@ -383,7 +383,7 @@ export default {
     // 视频上传前的校验
     // 视频上传前的校验
     beforeVideoUpload(file) {
     beforeVideoUpload(file) {
       const isVideo = file.type.includes("video/");
       const isVideo = file.type.includes("video/");
-      const isLtSize = file.size / 1024 / 1024 < 100; 
+      const isLtSize = file.size / 1024 / 1024 < 100;
 
 
       if (!isVideo) {
       if (!isVideo) {
         this.$message.error("只能上传视频文件!");
         this.$message.error("只能上传视频文件!");
@@ -401,7 +401,7 @@ export default {
       formData.append("video", file);
       formData.append("video", file);
       uploadvideo(formData).then((response) => {
       uploadvideo(formData).then((response) => {
         // 保存相对路径,显示时处理
         // 保存相对路径,显示时处理
-        this.$set(this.jsInfos, 'cVideo', response.fileName); 
+        this.$set(this.jsInfos, 'cVideo', response.fileName);
         this.$message.success("视频上传成功");
         this.$message.success("视频上传成功");
       });
       });
     },
     },
@@ -442,13 +442,13 @@ export default {
     getJsInfo(id) {
     getJsInfo(id) {
       getJs({ id: id }).then((response) => {
       getJs({ id: id }).then((response) => {
         const data = response.data;
         const data = response.data;
-        
+
         // 1. 处理地图信息
         // 1. 处理地图信息
         this.addr = {
         this.addr = {
           lat: data.latitude,
           lat: data.latitude,
           lng: data.longitude
           lng: data.longitude
         };
         };
-        
+
         // 2. 处理项目回显
         // 2. 处理项目回显
         this.jsProjectList = [];
         this.jsProjectList = [];
         if (data.projects && data.projects.length > 0) {
         if (data.projects && data.projects.length > 0) {
@@ -456,7 +456,7 @@ export default {
             this.jsProjectList.push({ cTitle: item.cTitle, cId: item.cId });
             this.jsProjectList.push({ cTitle: item.cTitle, cId: item.cId });
           });
           });
         }
         }
-        
+
         // 3. 赋值给主对象
         // 3. 赋值给主对象
         // 注意:ImageUpload组件通常需要逗号分隔的字符串或数组(取决于版本),若依默认通常存相对路径
         // 注意:ImageUpload组件通常需要逗号分隔的字符串或数组(取决于版本),若依默认通常存相对路径
         // 这里假设后端返回的是相对路径,如果不是,ImageUpload会自动处理显示,但v-model最好绑定相对路径
         // 这里假设后端返回的是相对路径,如果不是,ImageUpload会自动处理显示,但v-model最好绑定相对路径
@@ -483,7 +483,7 @@ export default {
         }
         }
       });
       });
     },
     },
-    
+
     addComplaintShow() {
     addComplaintShow() {
       this.complainForm.name = this.jsInfos.cName;
       this.complainForm.name = this.jsInfos.cName;
       this.complainForm.cId = this.jsInfos.cId;
       this.complainForm.cId = this.jsInfos.cId;
@@ -527,18 +527,18 @@ export default {
       // 处理项目ID集合
       // 处理项目ID集合
       const projectIds = this.jsProjectList.map(item => item.cId).join(",");
       const projectIds = this.jsProjectList.map(item => item.cId).join(",");
       this.jsInfos.cBhList = projectIds;
       this.jsInfos.cBhList = projectIds;
-      
+
       // ImageUpload 组件已经通过 v-model 更新了 jsInfos 中的图片字段
       // ImageUpload 组件已经通过 v-model 更新了 jsInfos 中的图片字段
       // 注意:如果 ImageUpload 返回的是数组,而后端需要逗号分隔字符串,这里需要转换
       // 注意:如果 ImageUpload 返回的是数组,而后端需要逗号分隔字符串,这里需要转换
       // 假设 cImgList 和 cSfzImg 是数组,其他单图是字符串
       // 假设 cImgList 和 cSfzImg 是数组,其他单图是字符串
       let submitData = { ...this.jsInfos };
       let submitData = { ...this.jsInfos };
-      
+
       // 如果后端要求图片是字符串而不是数组,进行转换(视若依版本而定,通用处理如下)
       // 如果后端要求图片是字符串而不是数组,进行转换(视若依版本而定,通用处理如下)
       if(Array.isArray(submitData.cImgList)) {
       if(Array.isArray(submitData.cImgList)) {
-        submitData.cImgList = submitData.cImgList.join(',');
+        submitData.cImgList = submitData.cImgList;
       }
       }
        if(Array.isArray(submitData.cSfzImg)) {
        if(Array.isArray(submitData.cSfzImg)) {
-        submitData.cSfzImg = submitData.cSfzImg.join(',');
+        submitData.cSfzImg = submitData.cSfzImg;
       }
       }
 
 
       updateJs(submitData).then((res) => {
       updateJs(submitData).then((res) => {
@@ -615,4 +615,4 @@ export default {
   bottom: 0;
   bottom: 0;
   z-index: 10;
   z-index: 10;
 }
 }
-</style>
+</style>