Browse Source

fix:工单详情显示逻辑调整

scholar-wei 3 years ago
parent
commit
b65f52dbd3

+ 1 - 0
CallCenterWeb.UI/RMYY/src/store/modules/workOrderType.js

@@ -50,6 +50,7 @@ function getTypeMap(types, pName, typeMap, ids = []) {
50 50
         const thisIds = ids.concat([element.id])
51 51
         typeMap[element.id] = {
52 52
           text: thisName,
53
+          tag: element.identification || '',
53 54
           ids: thisIds
54 55
         }
55 56
         if (element.children && element.children.length > 0) {

+ 164 - 153
CallCenterWeb.UI/RMYY/src/views/orderManage/components/askdetail.vue

@@ -7,7 +7,7 @@
7 7
             <el-col :md="18">
8 8
               <h1 class="title" style="display: inline-block;">
9 9
                 <svg-icon class="title_icon" icon-class="hongqi" />工单编号:{{ orderDetailData.F_WorkOrderCode }}
10
-                <span v-if="orderDetailData.StateName" class="wostate">{{orderDetailData.StateName}}</span>
10
+                <span v-if="orderDetailData.StateName" class="wostate">{{ orderDetailData.StateName }}</span>
11 11
               </h1>
12 12
             </el-col>
13 13
           </el-col>
@@ -15,53 +15,58 @@
15 15
             <table class="tabdept" cellspacing="0" cellpadding="0">
16 16
               <tr>
17 17
                 <th>业务类别:</th>
18
-                <td>{{orderDetailData.TypeName}}</td>
18
+                <td>{{ orderDetailData.TypeName }}</td>
19 19
                 <th>工单类别:</th>
20
-                <td>{{orderDetailData.F_TypeName2}}</td>
21
-                <th>创建时间:</th>
22
-                <td>{{orderDetailData.F_CreateTime}}</td>
20
+                <td>{{ orderDetailData.F_TypeName2 }}</td>
21
+                <th>超时时限:</th>
22
+                <td>{{ orderDetailData.GapTime || '-' }}</td>
23 23
               </tr>
24 24
               <tr>
25 25
                 <th>姓名:</th>
26 26
                 <td>{{ orderDetailData.F_Customer }}</td>
27 27
                 <th>性别:</th>
28
-                <td>{{orderDetailData.F_Sex}}</td>
29
-                <th>来源:</th>
30
-                <td>{{orderDetailData.SourceName}}</td>
28
+                <td>{{ orderDetailData.F_Sex }}</td>
29
+                <th>申请时间:</th>
30
+                <td>{{ orderDetailData.F_CreateTime }}</td>
31 31
               </tr>
32 32
               <tr>
33 33
                 <th>联系电话:</th>
34
-                <td>{{orderDetailData.F_Phon}}</td>
34
+                <td>{{ orderDetailData.F_Phon }}</td>
35 35
                 <th>身份证号:</th>
36
-                <td>{{orderDetailData.F_IdCard}}</td>
36
+                <td>{{ orderDetailData.F_IdCard }}</td>
37 37
                 <th>家庭住址:</th>
38
-                <td>{{orderDetailData.F_CusAddress}}</td>
38
+                <td>{{ orderDetailData.F_CusAddress }}</td>
39 39
               </tr>
40 40
               <tr>
41 41
                 <th>与患者关系:</th>
42
-                <td>{{orderDetailData.F_Relationship}}</td>
43
-                <th>患者名:</th>
44
-                <td>{{orderDetailData.F_FullName}}</td>
42
+                <td>{{ orderDetailData.F_Relationship }}</td>
43
+                <th>患者名:</th>
44
+                <td>{{ orderDetailData.F_FullName }}</td>
45 45
                 <th>患者身份证号:</th>
46
-                <td>{{orderDetailData.F_IDNumber}}</td>
46
+                <td>{{ orderDetailData.F_IDNumber }}</td>
47 47
               </tr>
48
+
48 49
               <tr v-show="isSpecial">
49 50
                 <th>首次检查医院:</th>
50
-                <td>{{orderDetailData.F_FirstCheckHospital}}</td>
51
+                <td>{{ orderDetailData.F_FirstCheckHospital }}</td>
51 52
                 <th>肺结节大小:</th>
52
-                <td>{{orderDetailData.F_NoduleSize}}mm</td>
53
+                <td>{{ orderDetailData.F_NoduleSize }}mm</td>
53 54
                 <th>首次发现肺结核时间:</th>
54
-                <td>{{orderDetailData.F_FirstFindTime}}</td>
55
+                <td>{{ orderDetailData.F_FirstFindTime }}</td>
55 56
               </tr>
56 57
               <tr v-show="isSpecial">
57 58
                 <th>紧急程度:</th>
58
-                <td>{{orderDetailData.F_Urgency}}</td>
59
+                <td>{{ orderDetailData.F_Urgency }}</td>
59 60
                 <th>地区:</th>
60
-                <td colspan="3">{{orderDetailData.F_Address}}</td>
61
+                <td colspan="3">{{ orderDetailData.F_Address }}</td>
62
+              </tr>
63
+              <tr v-if="showAppointmentTime">
64
+                <th>预约时间:</th>
65
+                <td colspan="5">{{ orderDetailData.F_AppointmentTime || '-' }}</td>
61 66
               </tr>
62 67
               <tr>
63 68
                 <th>工单内容:</th>
64
-                <td colspan="5">{{orderDetailData.F_WorkOrderContents}}</td>
69
+                <td colspan="5">{{ orderDetailData.F_WorkOrderContents }}</td>
65 70
               </tr>
66 71
             </table>
67 72
           </el-col>
@@ -71,29 +76,26 @@
71 76
     <el-row :gutter="20">
72 77
       <el-col :md="24" class="order_detail_body">
73 78
         <el-card shadow="hover">
74
-          <el-tabs v-model="activeName" ref="tabs">
79
+          <el-tabs ref="tabs" v-model="activeName">
75 80
             <el-tab-pane label="处理结果" name="1">
76 81
               <el-col :md="24" class="order_detail_content">
77 82
                 <table class="tabdept" cellspacing="0" cellpadding="0">
78 83
                   <tr>
79 84
                     <th>处理意见:</th>
80
-                    <td colspan="5">{{orderDetailData.F_DealOpinions?orderDetailData.F_DealOpinions:'-'}}</td>
85
+                    <td colspan="5">{{ orderDetailData.F_DealOpinions?orderDetailData.F_DealOpinions:'-' }}</td>
81 86
                   </tr>
82 87
                   <tr>
83 88
                     <th>处理方式:</th>
84
-                    <td colspan="5">{{orderDetailData.F_DealType?orderDetailData.F_DealType:'-'}}</td>
89
+                    <td colspan="5">{{ orderDetailData.F_DealType?orderDetailData.F_DealType:'-' }}</td>
85 90
                   </tr>
86 91
                 </table>
87 92
               </el-col>
88 93
             </el-tab-pane>
89 94
             <el-tab-pane label="工单流程" name="2">
90 95
               <el-table :data="workOrderCirculationList" border style="width: 100%">
91
-                <el-table-column prop="F_CreateUser" label="操作人" align="center">
92
-                </el-table-column>
93
-                <el-table-column prop="F_OptContent" label="内容" align="center">
94
-                </el-table-column>
95
-                <el-table-column prop="F_CreateTime" label="时间" align="center">
96
-                </el-table-column>
96
+                <el-table-column prop="F_CreateUser" label="操作人" align="center"/>
97
+                <el-table-column prop="F_OptContent" label="内容" align="center"/>
98
+                <el-table-column prop="F_CreateTime" label="时间" align="center"/>
97 99
               </el-table>
98 100
             </el-tab-pane>
99 101
           </el-tabs>
@@ -104,138 +106,147 @@
104 106
 </template>
105 107
 
106 108
 <script>
107
-  import {
108
-    mapGetters
109
-  } from 'vuex'
110
-  import {
111
-    GetOrderDetail,
112
-    GetOrderItem
113
-  } from '@/api/orderManagement/orderList'
114
-  import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
115
-
116
-  export default {
117
-    name: 'askDetail',
118
-    components: {
119
-      Pagination
109
+import {
110
+  mapGetters
111
+} from 'vuex'
112
+import {
113
+  GetOrderDetail,
114
+  GetOrderItem
115
+} from '@/api/orderManagement/orderList'
116
+import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
117
+
118
+export default {
119
+  name: 'AskDetail',
120
+  components: {
121
+    Pagination
122
+  },
123
+  props: {
124
+    rowid: {
125
+      type: String,
126
+      default: '0'
120 127
     },
121
-    props: {
122
-      rowid: {
123
-        type: String,
124
-        default: 0
128
+    layerid: {
129
+      type: String,
130
+      default: ''
131
+    }
132
+  },
133
+  data() {
134
+    return {
135
+      activeName: '1',
136
+      ChatList: [], // 备注详情列表
137
+      isChatList: false, // 备注列表是否展示
138
+      // isFamily: false,
139
+      isSpecial: false,
140
+      showAppointmentTime: false,
141
+      // isConduit: false,
142
+      orderDetailData: {
143
+        F_CallID: '',
144
+        F_WorkOrderCode: '',
145
+        F_ID: '',
146
+        F_Source: '电话', // 业务类别
147
+        F_Type1: '', // 工单类别
148
+        F_TypeName1: '', // 工单类别
149
+        F_Type2: '', // 工单子类
150
+        F_TypeName2: '', // 工单子类
151
+        F_Type3: '', // 工单三类
152
+        F_TypeName3: '', // 工单三类
153
+        F_Customer: '', // 姓名
154
+        F_Sex: '0', // 性别
155
+        F_Phon: '', // 电话
156
+        F_CusAddress: '', // 家庭住址
157
+        F_IdCard: '', // 身份证号
158
+        F_ServiceItems: '', // 服务项目
159
+        F_Address: '', // 地区
160
+        F_FirstCheckHospital: '', // 首次检查医院
161
+        F_NoduleSize: '', // 肺结节大小
162
+        F_FirstFindTime: '', // 首次发现肺结节时间
163
+        F_Urgency: '0', // 紧急程度
164
+        F_Cathetertype: '', // 置管类型
165
+        F_Catheterdept: '', // 置管科室
166
+        F_Cathetertime: '', // 置管时间
167
+        F_BedNum: '', // 床号
168
+        F_InpatientNum: '', // 住院号
169
+        opt: '', // 处理方式
170
+        cont: '',
171
+        F_WorkOrderContents: '', // 工单内容
172
+        F_DealOpinions: '' // 处理意见
125 173
       },
126
-      layerid: {
127
-        type: String,
128
-        default: ''
129
-      }
174
+      pageParams: {
175
+        pageindex: 1, // 当前第几页
176
+        pagesize: 5, // 每页几条数据
177
+        total: 0 // 总共多少数据
178
+      },
179
+      workOrderCirculationList: [] // 工单流转
180
+    }
181
+  },
182
+  computed: {
183
+    ...mapGetters(['rolecode'])
184
+  },
185
+  created() {
186
+    this.getDetail('0')
187
+    this.getDetail('1')
188
+  },
189
+  methods: {
190
+    handleClick(tab, event) {
191
+      console.log(tab, event)
130 192
     },
131
-    data() {
132
-      return {
133
-        activeName: '1',
134
-        ChatList: [], // 备注详情列表
135
-        isChatList: false, // 备注列表是否展示
136
-        // isFamily: false,
137
-        isSpecial: false,
138
-        // isConduit: false,
139
-        orderDetailData: {
140
-          F_CallID: '',
141
-          F_WorkOrderCode: '',
142
-          F_ID: '',
143
-          F_Source: '电话', // 业务类别
144
-          F_Type1: '', // 工单类别
145
-          F_TypeName1: '', // 工单类别
146
-          F_Type2: '', // 工单子类
147
-          F_TypeName2: '', // 工单子类
148
-          F_Type3: '', // 工单三类
149
-          F_TypeName3: '', // 工单三类
150
-          F_Customer: '', // 姓名
151
-          F_Sex: '0', // 性别
152
-          F_Phon: '', // 电话
153
-          F_CusAddress: '', // 家庭住址
154
-          F_IdCard: '', // 身份证号
155
-          F_ServiceItems: '', // 服务项目
156
-          F_Address: '', // 地区
157
-          F_FirstCheckHospital: '', // 首次检查医院
158
-          F_NoduleSize: '', // 肺结节大小
159
-          F_FirstFindTime: '', // 首次发现肺结节时间
160
-          F_Urgency: '0', // 紧急程度
161
-          F_Cathetertype: '', // 置管类型
162
-          F_Catheterdept: '', // 置管科室
163
-          F_Cathetertime: '', // 置管时间
164
-          F_BedNum: '', // 床号
165
-          F_InpatientNum: '', // 住院号
166
-          opt: '', // 处理方式
167
-          cont: '',
168
-          F_WorkOrderContents: '', // 工单内容
169
-          F_DealOpinions: '' // 处理意见
170
-        },
171
-        pageParams: {
172
-          pageindex: 1, // 当前第几页
173
-          pagesize: 5, // 每页几条数据
174
-          total: 0 // 总共多少数据
175
-        },
176
-        workOrderCirculationList: [] // 工单流转
193
+    // 详情
194
+    getDetail(num) {
195
+      const params = {
196
+        WorkOrderCode: this.rowid,
197
+        type: num
177 198
       }
178
-    },
179
-    computed: {
180
-      ...mapGetters(['rolecode'])
181
-    },
182
-    created() {
183
-      this.getDetail('0')
184
-      this.getDetail('1')
185
-    },
186
-    methods: {
187
-      handleClick(tab, event) {
188
-        console.log(tab, event)
189
-      },
190
-      // 详情
191
-      getDetail(num) {
192
-        const params = {
193
-          WorkOrderCode: this.rowid,
194
-          type: num
195
-        }
196
-        GetOrderDetail(params).then((response) => {
197
-          if(num=='1'){
198
-            this.workOrderCirculationList = response.data
199
-          }else{
200
-            const res = response.data[0]
201
-            this.orderDetailData = res
202
-            if (this.$store.getters.workTypeMap[parseInt(res.F_type2)].ids[1] == '8008') {
203
-              this.isSpecial = true
204
-            }
205
-            this.orderDetailData.F_TypeName2 = this.$store.getters.workTypeMap[parseInt(res.F_type2)]
206
-              .text // 工单子类
207
-            this.orderDetailData.F_Sex = res.F_Sex // 性别
208
-            if (res.F_Sex === 0) {
209
-              this.orderDetailData.F_Sex = '男'
210
-            } else if (res.F_Sex === 1) {
211
-              this.orderDetailData.F_Sex = '女'
212
-            }
213
-            this.orderDetailData.F_Urgency = res.F_Urgency // 紧急程度
214
-            if (res.F_Urgency === 0) {
215
-              this.orderDetailData.F_Urgency = '常规'
216
-            } else if (res.F_Urgency === 1) {
217
-              this.orderDetailData.F_Urgency = '紧急'
218
-            }
199
+      GetOrderDetail(params).then((response) => {
200
+        if (num === '1') {
201
+          this.workOrderCirculationList = response.data
202
+        } else {
203
+          const res = response.data[0]
204
+          this.orderDetailData = res
205
+          const thisTypeInfo = this.$store.getters.workTypeMap[parseInt(res.F_type2)]
206
+          if (thisTypeInfo.tag === 'ywzx_zjyy') {
207
+            this.isSpecial = true
219 208
           }
220
-        })
221
-      },
222
-      getItem() {
223
-        const params = {
224
-          pageindex: this.pageParams.pageindex, // 第几页
225
-          pagesize: this.pageParams.pagesize, // 每页几条信息
226
-          id: this.rowid
227
-        }
228
-        GetOrderItem(params).then((response) => {
229
-          const res = response.rows
230
-          if (res) {
231
-            this.workOrderCirculationList = res
232
-            this.pageParams.total = response.total
209
+
210
+          // 家庭预约类服务内容一致,所以需要判断一下二级类别是否是家庭预约 ywzx_jtyy
211
+          const twoTypeInfo = this.$store.getters.workTypeMap[parseInt(thisTypeInfo.ids[1])]
212
+          if (twoTypeInfo && twoTypeInfo.tag === 'ywzx_jtyy') {
213
+            this.showAppointmentTime = true
233 214
           }
234
-        })
235
-      }
236 215
 
216
+          this.orderDetailData.F_TypeName2 = this.$store.getters.workTypeMap[parseInt(res.F_type2)]
217
+            .text // 工单子类
218
+          this.orderDetailData.F_Sex = res.F_Sex // 性别
219
+          if (res.F_Sex === 0) {
220
+            this.orderDetailData.F_Sex = '男'
221
+          } else if (res.F_Sex === 1) {
222
+            this.orderDetailData.F_Sex = '女'
223
+          }
224
+          this.orderDetailData.F_Urgency = res.F_Urgency // 紧急程度
225
+          if (res.F_Urgency === 0) {
226
+            this.orderDetailData.F_Urgency = '常规'
227
+          } else if (res.F_Urgency === 1) {
228
+            this.orderDetailData.F_Urgency = '紧急'
229
+          }
230
+        }
231
+      })
232
+    },
233
+    getItem() {
234
+      const params = {
235
+        pageindex: this.pageParams.pageindex, // 第几页
236
+        pagesize: this.pageParams.pagesize, // 每页几条信息
237
+        id: this.rowid
238
+      }
239
+      GetOrderItem(params).then((response) => {
240
+        const res = response.rows
241
+        if (res) {
242
+          this.workOrderCirculationList = res
243
+          this.pageParams.total = response.total
244
+        }
245
+      })
237 246
     }
247
+
238 248
   }
249
+}
239 250
 </script>
240 251
 
241 252
 <style rel="stylesheet/scss" lang="scss">