소스 검색

✨ feat(【SPD售后问题收集】): 进度详情工单处理状态增加字段

工单处理状态已完成时增加“处理反馈”、“处理图片”字段

20240709068
002390 11 달 전
부모
커밋
5c5c4c8188

+ 6 - 1
src/views/business/as/after-sales/components/image-preview/index.vue

@@ -4,7 +4,6 @@ export default {
   name: "ImagePreview",
   props: {
     value: [Array],
-    
   },
   data() {
     return {
@@ -44,3 +43,9 @@ export default {
     />
   </div>
 </template>
+
+<style scoped>
+.van-image-preview {
+  z-index: 2024;
+}
+</style>

+ 4 - 3
src/views/business/as/after-sales/feedback/index.vue

@@ -16,7 +16,7 @@ export default {
     return {
       params: {
         ...params,
-        userId: null,
+        userId: Cookies.get("salesId"),
         hospitalId: null,
         // projectSource: "测试项目",
       },
@@ -66,8 +66,9 @@ export default {
       try {
         // const { id } = this.$store.state.salesUser;
         this.loading = true;
-        const id = Cookies.get("salesId");
-        let { code, data } = await GetUser({ id });
+        // const id = Cookies.get("salesId");
+        const { userId } = this.params;
+        let { code, data } = await GetUser({ id: userId });
         if (code === 200) {
           this.params = {
             userId: data.id,

+ 30 - 2
src/views/business/as/after-sales/progress/details.vue

@@ -44,6 +44,18 @@ export default {
       },
       set() {},
     },
+    isFinished: {
+      get() {
+        if (this.params.processFlow) {
+          const finished = this.params.processFlow.findIndex(
+            (item) => item.problemStateSolve == "0"
+          );
+          return finished !== -1;
+        }
+        return false;
+      },
+      set() {},
+    },
   },
   methods: {
     setVisible(prop) {
@@ -191,7 +203,7 @@ export default {
             v-for="(flow, index) in params.processFlow"
             :key="index"
             :timestamp="flow.timestamp"
-            color="#0095ff"
+            :type="flow.problemStateSolve == '0' ? 'success' : 'primary'"
             size="large"
           >
             <div>
@@ -213,9 +225,25 @@ export default {
                   >{{ flow.processorWay }}</el-button
                 >
               </div>
+              <template v-if="flow.problemStateSolve == '0'">
+                <div style="padding-top: 6px">
+                  处理反馈:{{ params.processingFeedback }}
+                </div>
+
+                <div style="display: flex; padding-top: 6px">
+                  <span style="flex-shrink: 0"> 处理图片:</span>
+                  <el-image-preview
+                    v-model="params.processorPicture"
+                  ></el-image-preview>
+                </div>
+              </template>
             </div>
           </el-timeline-item>
-          <el-timeline-item color="#ff8500" size="large"></el-timeline-item>
+          <el-timeline-item
+            v-if="!isFinished"
+            color="#ff8500"
+            size="large"
+          ></el-timeline-item>
         </el-timeline>
       </el-card>
       <van-action-sheet