From c89bec53dac1daed77f073eed892c5457d4fd9a5 Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期五, 12 十一月 2021 10:28:42 +0800
Subject: [PATCH] U 列表页面加接单

---
 src/pages/alarmWork/list.vue                |   22 ++++++++++
 src/pages/alarmWork/components/listCard.vue |   22 +++++++---
 src/pages/alarmWork/js/api.js               |   20 ++++++++++
 3 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/src/pages/alarmWork/components/listCard.vue b/src/pages/alarmWork/components/listCard.vue
index aa003c1..21b169b 100644
--- a/src/pages/alarmWork/components/listCard.vue
+++ b/src/pages/alarmWork/components/listCard.vue
@@ -1,15 +1,13 @@
 <template>
-  <div class="list-card">
+  <div class="list-card"
+    @click="itemClick">
     <!-- 澶撮儴琛� 鐐瑰嚮浜嬩欢 -->
-    <div class="order-info"
-      @click="itemClick"
-      title="鐐瑰嚮鏌ョ湅璇︽儏"
-    >
+    <div class="order-info">
       <div class="">
         <span>宸ュ崟缂栧彿: {{data.orderId}}</span>
         <span>宸ュ崟鐢熸垚鏃堕棿: {{data.createTime}}</span>
       </div>
-      <div class="timer">澶勭悊鏃堕檺: ---</div>
+      <div class="timer">澶勭悊鏃堕檺: {{data.workflowAlarm || '---'}}</div>
     </div>
     <!-- 鍐呭 -->
     <div class="contain">
@@ -40,6 +38,9 @@
       <div class="item">
         <div class="inner">
           <div class="state">{{orderStatus}}</div>
+          <el-button type="primary"
+            v-if="!data.linkList[0].dealUserId"
+            class="btn" size="mini" @click="receiveOrder">鎺ュ崟</el-button>
         </div>
       </div>
     </div>
@@ -74,6 +75,10 @@
   methods: {
     itemClick () {
       this.$emit('itemclick', this.data);
+    },
+    receiveOrder (e) {
+      e.stopPropagation();
+      this.$emit('receiveOrder', this.data);
     }
   }
 };
@@ -83,6 +88,7 @@
   .list-card {
     border: 1px #ababab solid;
     background: #f3f4f6;;
+    cursor: pointer;
   }
   .order-info {
     color: #04409a;
@@ -91,7 +97,6 @@
     display: flex;
     justify-content: space-between;
     align-items: center;
-    cursor: pointer;
   }
   .order-info span {
     font-size: 20px;
@@ -116,6 +121,9 @@
   .inner {
     flex: 1;
   }
+  .btn >>> span {
+    font-size: 14px;
+  }
   .order-title {
     flex: 1.6;
     align-items: left;
diff --git a/src/pages/alarmWork/js/api.js b/src/pages/alarmWork/js/api.js
index 8dd9cb8..abec45b 100644
--- a/src/pages/alarmWork/js/api.js
+++ b/src/pages/alarmWork/js/api.js
@@ -1,5 +1,11 @@
 import axios from '@/assets/js/axios';
 
+/**
+ * 鑾峰彇宸ュ崟鍒楄〃
+ * @param {*} param 
+ * @param {*} data 
+ * @returns 
+ */
 export const getList = function (param, data) {
   return axios({
     method: 'POST',
@@ -7,4 +13,18 @@
     params: param,
     data: data
   });
+}
+
+/**
+ * 鏇存柊鑺傜偣 鎺ュ崟
+ * @param {*} param 
+ * @param {*} data 
+ * @returns 
+ */
+export const updateLink = function (data) {
+  return axios({
+    method: 'PUT',
+    url: '/workflow/updateLink',
+    data: data
+  });
 }
\ No newline at end of file
diff --git a/src/pages/alarmWork/list.vue b/src/pages/alarmWork/list.vue
index 46eb8a1..8cab4a7 100644
--- a/src/pages/alarmWork/list.vue
+++ b/src/pages/alarmWork/list.vue
@@ -39,6 +39,7 @@
           v-for="(item, idx) in list"
           :key="'list_' + idx"
           @itemclick="details"
+          @receiveOrder="updateLink"
           :data="item"
         ></list-card>
         <el-empty :image-size="200" v-if="!list.length"></el-empty>
@@ -66,7 +67,8 @@
 import ListCard from "./components/listCard.vue";
 
 import {
-  getList
+  getList,
+  updateLink
 } from './js/api';
 
 export default {
@@ -166,6 +168,24 @@
       }).catch((err) => {
         console.error(err);
       });
+    },
+
+    // 鎺ュ崟
+    updateLink (o) {
+      let param = {
+        dealType: 0,
+        // TODO 褰撳墠鐢ㄦ埛鐨処d
+        dealUserId: 1023,
+        id: o.linkList[0].id
+      };
+      updateLink(param).then((res) => {
+        res = res.data;
+        this.$message({
+          type: res.data ? 'success' : 'warning',
+          message: res.msg
+        });
+        this.getList();
+      });
     }
     
   },

--
Gitblit v1.9.1