Browse Source

问题修改

liuyifan 5 years ago
parent
commit
9efeb62ff4
23 changed files with 3442 additions and 4209 deletions
  1. 274 288
      CallCenterWeb.UI/src/components/TopNotice/index.vue
  2. 153 254
      CallCenterWeb.UI/src/views/afterSaleManagement/addAfterSale/index.vue
  3. 1 3
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/detail.vue
  4. 364 446
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/edit.vue
  5. 273 600
      CallCenterWeb.UI/src/views/callScreen/components/createOrder.vue
  6. 162 230
      CallCenterWeb.UI/src/views/custodianManagement/custodianReturnStorage/index.vue
  7. 1 1
      CallCenterWeb.UI/src/views/custodianManagement/orderListCustodian/index.vue
  8. 95 0
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/goback.vue
  9. 129 0
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/importSubmit.vue
  10. 376 0
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/index.vue
  11. 1 1
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceRhyme/index.vue
  12. 1 1
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceSTO/index.vue
  13. 1 1
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceYuantong/index.vue
  14. 1 1
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceZhongtong/index.vue
  15. 166 216
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListLogistics/index.vue
  16. 24 35
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListLogistics/logistics.vue
  17. 184 238
      CallCenterWeb.UI/src/views/customerServiceManagement/orderListPending/index.vue
  18. 272 574
      CallCenterWeb.UI/src/views/memberManagement/memberList/components/addOrder.vue
  19. 190 372
      CallCenterWeb.UI/src/views/memberManagement/memberList/index.vue
  20. 257 326
      CallCenterWeb.UI/src/views/orderManagement/orderList/detail.vue
  21. 366 447
      CallCenterWeb.UI/src/views/orderManagement/orderList/edit.vue
  22. 72 71
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/menuSetup/index.vue
  23. 79 104
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/roleSetup/index.vue

+ 274 - 288
CallCenterWeb.UI/src/components/TopNotice/index.vue

@@ -7,7 +7,7 @@
7 7
       <ul v-if="topNoticeData.length" class="content">
8 8
         <li v-for="(item, index) in topNoticeData" :key="index" class="proitem">
9 9
           <h5 class="proname">标题:{{ item.SMS_Title }}</h5>
10
-          <span class="orderendtime" :title=item.SMS_Content>内容:{{ item.SMS_Content }}</span>
10
+          <span class="orderendtime" :title="item.SMS_Content">内容:{{ item.SMS_Content }}</span>
11 11
           <el-button class="unread" @click="handleChange(item.SMS_Id)">未读</el-button>
12 12
         </li>
13 13
       </ul>
@@ -25,13 +25,13 @@
25 25
 
26 26
 <script>
27 27
 // import { getNotice, getSchedule } from '@/api/customer/customerInfoHY'
28
-import { getFileTranserLists } from "@/api/memberManagement/memberList";
29
-import { getMsg, getReadData } from "@/api/commonAPI";
30
-import daibangdetail from "@/views/todoManagement/todoList/detail";
31
-import orderDetail from "@/views/orderManagement/orderList/detail";
32
-import taskDetail from "@/views/taskManagement/taskList/common/detail";
33
-import memberDetail from "@/views/memberManagement/memberList/components/detail";
34
-import router from "@/router";
28
+import { getFileTranserLists } from "@/api/memberManagement/memberList"
29
+import { getMsg, getReadData } from "@/api/commonAPI"
30
+import daibangdetail from "@/views/todoManagement/todoList/detail"
31
+import orderDetail from "@/views/orderManagement/orderList/detail"
32
+import taskDetail from "@/views/taskManagement/taskList/common/detail"
33
+import memberDetail from "@/views/memberManagement/memberList/components/detail"
34
+import router from "@/router"
35 35
 export default {
36 36
   name: "TopNotice",
37 37
   data() {
@@ -45,68 +45,68 @@ export default {
45 45
       detailId: "",
46 46
       timer: "", //定时器
47 47
       timer1: "", //顶部消息定时器
48
-    };
48
+    }
49 49
   },
50 50
   created() {
51
-    this.getList();
52
-    this.getTopList();
51
+    this.getList()
52
+    this.getTopList()
53 53
   },
54 54
   methods: {
55 55
     // 项目的消息
56 56
     getTopList() {
57
-      this.loading = true;
58
-      const params={
59
-        istop:-1,
60
-        isread:0,
57
+      this.loading = true
58
+      const params = {
59
+        istop: -1,
60
+        isread: 0,
61 61
       }
62 62
       // 消息提醒
63 63
       getMsg(params).then((response) => {
64 64
         if (response.state == "success") {
65
-          const res = response.rows;
66
-          if (res&&res.length!=0) {
65
+          const res = response.rows
66
+          if (res && res.length != 0) {
67 67
             res.map((item) => {
68 68
               this.topNoticeData.unshift({
69 69
                 SMS_Title: item.SMS_Title,
70 70
                 SMS_Content: item.SMS_Content,
71 71
                 SMS_Id: item.SMS_Id,
72 72
                 F_ID: item.F_ID,
73
-              });
74
-            });
73
+              })
74
+            })
75 75
             // this.$emit('getTopNoticeNums', {
76 76
             //   num: this.noticeData.length > 99 ? '99+' : this.noticeData.length // 顶部消息数量
77 77
             // })
78
-          }else{
79
-            this.topNoticeData=[]
78
+          } else {
79
+            this.topNoticeData = []
80 80
           }
81 81
         }
82
-      });
82
+      })
83 83
     },
84 84
     getList() {
85
-      this.loading = true;
86
-      const params={
87
-        istop:1,
85
+      this.loading = true
86
+      const params = {
87
+        istop: 1,
88 88
       }
89 89
       // 消息提醒
90 90
       getMsg(params).then((response) => {
91 91
         if (response.state == "success") {
92
-          const res = response.rows;
93
-          if (res&&res.length!=0) {
92
+          const res = response.rows
93
+          if (res && res.length != 0) {
94 94
             res.map((item) => {
95 95
               this.noticeData.unshift({
96 96
                 SMS_Title: item.SMS_Title,
97 97
                 SMS_Content: item.SMS_Content,
98 98
                 SMS_Id: item.SMS_Id,
99 99
                 F_ID: item.F_ID,
100
-              });
101
-            });
100
+              })
101
+            })
102 102
             // this.$emit('getTopNoticeNums', {
103 103
             //   num: this.noticeData.length > 99 ? '99+' : this.noticeData.length // 顶部消息数量
104 104
             // })
105
-          }else{
106
-            this.noticeData=[]
105
+          } else {
106
+            this.noticeData = []
107 107
           }
108 108
         }
109
-      });
109
+      })
110 110
     },
111 111
     //已读处理
112 112
     getRead() {
@@ -116,53 +116,53 @@ export default {
116 116
         type: "warning",
117 117
       })
118 118
         .then(() => {
119
-          this.getReadataList();
119
+          this.getReadataList()
120 120
           this.$message({
121 121
             type: "success",
122 122
             message: "处理成功!",
123
-          });
123
+          })
124 124
         })
125 125
         .catch(() => {
126 126
           this.$message({
127 127
             type: "info",
128 128
             message: "已取消处理",
129
-          });
130
-        });
129
+          })
130
+        })
131 131
     },
132 132
     handleChange(val) {
133 133
       if (val) {
134
-        this.readId = val;
135
-        this.getRead();
134
+        this.readId = val
135
+        this.getRead()
136 136
       }
137 137
     },
138
-    getReadataList(){
138
+    getReadataList() {
139 139
       const params = {
140
-            ids: this.readId,
141
-            state: 1,
142
-          };
140
+        ids: this.readId,
141
+        state: 1,
142
+      }
143 143
       getReadData(params)
144
-            .then((response) => {
145
-              if (response.state == "success") {
146
-                this.getTopList();
147
-              }
148
-            })
149
-            .catch((result) => {
150
-              console.log("处理失败");
151
-            });
152
-    }
144
+        .then((response) => {
145
+          if (response.state == "success") {
146
+            this.getTopList()
147
+          }
148
+        })
149
+        .catch((result) => {
150
+          console.log("处理失败")
151
+        })
152
+    },
153 153
   },
154 154
   mounted() {
155
-    this.timer1 = setInterval(()=>{
155
+    (this.timer1 = setInterval(() => {
156 156
       const params = {
157
-        istop:-1,
158
-        isread:0,
157
+        istop: -1,
158
+        isread: 0,
159 159
       }
160
-      getMsg(params).then((response=>{
161
-        if(response.state == 'success'){
162
-          const res = response.rows;
163
-          if(res&&res.length){
164
-            this.topNoticeData = [];
165
-            res.map((item)=>{
160
+      getMsg(params).then((response) => {
161
+        if (response.state == "success") {
162
+          const res = response.rows
163
+          if (res && res.length) {
164
+            this.topNoticeData = []
165
+            res.map((item) => {
166 166
               this.topNoticeData.unshift({
167 167
                 SMS_Title: item.SMS_Title,
168 168
                 SMS_Content: item.SMS_Content,
@@ -172,246 +172,232 @@ export default {
172 172
             })
173 173
           }
174 174
         }
175
-      }))
176
-    },120000),
177
-    this.timer = setInterval(() => {
178
-      const params={
179
-        istop:1,
180
-      }
181
-      getMsg(params).then((response) => {
182
-        if (response.state == "success") {
183
-          const res = response.rows;
184
-          if (res && res.length) {
185
-            this.noticeData = [];
186
-            res.map((item) => {
187
-              this.noticeData.unshift({
188
-                SMS_Title: item.SMS_Title,
189
-                SMS_Content: item.SMS_Content,
190
-                F_ID: item.F_ID,
191
-                SMS_Id: item.SMS_Id,
192
-              });
193
-            });
194
-             const infoData = res[0];
195
-            var a = window.localStorage.getItem("num");
196
-            if (a != infoData.F_ID) {
197
-              window.localStorage.setItem('num',infoData.F_ID)
198
-              if (infoData.SMS_Type == 3) {
199
-                this.readId = infoData.SMS_Id;
200
-                this.detailId = infoData.F_ID;
201
-                const h = this.$createElement;
202
-                this.$msgbox({
203
-                  title: "待办消息",
204
-                  message: h("p", null, [
205
-                    h("span", null, "内容是 "),
206
-                    h("span", null, infoData.SMS_Content),
207
-                  ]),
208
-                  customClass: "messageBox",
209
-                  closeOnClickModal: false,
210
-                  showCancelButton: true,
211
-                  confirmButtonText: "详情",
212
-                  cancelButtonText: "关闭",
175
+      })
176
+    }, 120000)),
177
+      (this.timer = setInterval(() => {
178
+        const params = {
179
+          istop: 1,
180
+        }
181
+        getMsg(params).then((response) => {
182
+          if (response.state == "success") {
183
+            const res = response.rows
184
+            if (res && res.length) {
185
+              this.noticeData = []
186
+              res.map((item) => {
187
+                this.noticeData.unshift({
188
+                  SMS_Title: item.SMS_Title,
189
+                  SMS_Content: item.SMS_Content,
190
+                  F_ID: item.F_ID,
191
+                  SMS_Id: item.SMS_Id,
213 192
                 })
214
-                  .then((action) => {
215
-                    this.$layer.iframe({
216
-                      content: {
217
-                        content: daibangdetail, // 传递的组件对象
218
-                        parent: this, // 当前的vue对象
219
-                        data: { rowid: infoData.F_ID.toString() }, // props
220
-                      },
221
-                      area: ["80%", "90%"],
222
-                      title: "详情",
223
-                    });
224
-                    this.getReadataList();
193
+              })
194
+              const infoData = res[0]
195
+              var a = window.localStorage.getItem("num")
196
+              if (a != infoData.F_ID) {
197
+                window.localStorage.setItem("num", infoData.F_ID)
198
+                if (infoData.SMS_Type == 3) {
199
+                  this.readId = infoData.SMS_Id
200
+                  this.detailId = infoData.F_ID
201
+                  const h = this.$createElement
202
+                  this.$msgbox({
203
+                    title: "待办消息",
204
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
205
+                    customClass: "messageBox",
206
+                    closeOnClickModal: false,
207
+                    showCancelButton: true,
208
+                    confirmButtonText: "详情",
209
+                    cancelButtonText: "关闭",
225 210
                   })
226
-                  .catch((result) => {
227
-                    console.log("取消了");
228
-                  });
229
-              }else if(infoData.SMS_Type == 0){
230
-                this.readId = infoData.SMS_Id;
231
-                this.detailId = infoData.F_ID;
232
-                const h = this.$createElement;
233
-                this.$msgbox({
234
-                  title: "订单消息",
235
-                  message: h("p", null, [
236
-                    h("span", null, "内容是 "),
237
-                    h("span", null, infoData.SMS_Content),
238
-                  ]),
239
-                  customClass: "messageBox",
240
-                  closeOnClickModal: false,
241
-                  showCancelButton: true,
242
-                  confirmButtonText: "详情",
243
-                  cancelButtonText: "关闭",
244
-                })
245
-                  .then((action) => {
246
-                    this.$layer.iframe({
247
-                      content: {
248
-                        content: orderDetail, // 传递的组件对象
249
-                        parent: this, // 当前的vue对象
250
-                        data: { rowid: infoData.F_ID.toString() }, // props
251
-                      },
252
-                      area: ["80%", "90%"],
253
-                      title: "详情",
254
-                    });
255
-                    this.getReadataList();
211
+                    .then((action) => {
212
+                      this.$layer.iframe({
213
+                        content: {
214
+                          content: daibangdetail, // 传递的组件对象
215
+                          parent: this, // 当前的vue对象
216
+                          data: { rowid: infoData.F_ID.toString() }, // props
217
+                        },
218
+                        area: ["80%", "90%"],
219
+                        title: "详情",
220
+                      })
221
+                      this.getReadataList()
222
+                    })
223
+                    .catch((result) => {
224
+                      this.getReadataList()
225
+                      console.log("取消了")
226
+                    })
227
+                } else if (infoData.SMS_Type == 0) {
228
+                  this.readId = infoData.SMS_Id
229
+                  this.detailId = infoData.F_ID
230
+                  const h = this.$createElement
231
+                  this.$msgbox({
232
+                    title: "订单消息",
233
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
234
+                    customClass: "messageBox",
235
+                    closeOnClickModal: false,
236
+                    showCancelButton: true,
237
+                    confirmButtonText: "详情",
238
+                    cancelButtonText: "关闭",
256 239
                   })
257
-                  .catch((result) => {
258
-                    console.log("取消了");
259
-                  });
260
-              }else if(infoData.SMS_Type == 1){
261
-                this.readId = infoData.SMS_Id;
262
-                this.detailId = infoData.F_ID;
263
-                const h = this.$createElement;
264
-                this.$msgbox({
265
-                  title: "媒体消息",
266
-                  message: h("p", null, [
267
-                    h("span", null, "内容是 "),
268
-                    h("span", null, infoData.SMS_Content),
269
-                  ]),
270
-                  customClass: "messageBox",
271
-                  closeOnClickModal: false,
272
-                  showCancelButton: true,
273
-                  confirmButtonText: "详情",
274
-                  cancelButtonText: "关闭",
275
-                })
276
-                  .then((action) => {
277
-                    router.push({name:'mediaInformation'})
278
-                    this.getReadataList();
240
+                    .then((action) => {
241
+                      this.$layer.iframe({
242
+                        content: {
243
+                          content: orderDetail, // 传递的组件对象
244
+                          parent: this, // 当前的vue对象
245
+                          data: { rowid: infoData.F_ID.toString() }, // props
246
+                        },
247
+                        area: ["80%", "90%"],
248
+                        title: "详情",
249
+                      })
250
+                      this.getReadataList()
251
+                    })
252
+                    .catch((result) => {
253
+                      this.getReadataList()
254
+                      console.log("取消了")
255
+                    })
256
+                } else if (infoData.SMS_Type == 1) {
257
+                  this.readId = infoData.SMS_Id
258
+                  this.detailId = infoData.F_ID
259
+                  const h = this.$createElement
260
+                  this.$msgbox({
261
+                    title: "媒体消息",
262
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
263
+                    customClass: "messageBox",
264
+                    closeOnClickModal: false,
265
+                    showCancelButton: true,
266
+                    confirmButtonText: "详情",
267
+                    cancelButtonText: "关闭",
279 268
                   })
280
-                  .catch((result) => {
281
-                    console.log("取消了");
282
-                  });
283
-              }else if(infoData.SMS_Type == 2){
284
-                this.readId = infoData.SMS_Id;
285
-                this.detailId = infoData.F_ID;
286
-                const h = this.$createElement;
287
-                this.$msgbox({
288
-                  title: "任务消息",
289
-                  message: h("p", null, [
290
-                    h("span", null, "内容是 "),
291
-                    h("span", null, infoData.SMS_Content),
292
-                  ]),
293
-                  customClass: "messageBox",
294
-                  closeOnClickModal: false,
295
-                  showCancelButton: true,
296
-                  confirmButtonText: "详情",
297
-                  cancelButtonText: "关闭",
298
-                })
299
-                  .then((action) => {
300
-                    this.$layer.iframe({
301
-                      content: {
302
-                        content: taskDetail, // 传递的组件对象
303
-                        parent: this, // 当前的vue对象
304
-                        data: { rowid: infoData.F_ID.toString() }, // props
305
-                      },
306
-                      area: ["80%", "90%"],
307
-                      title: "详情",
308
-                    });
309
-                    this.getReadataList();
269
+                    .then((action) => {
270
+                      router.push({ name: "mediaInformation" })
271
+                      this.getReadataList()
272
+                    })
273
+                    .catch((result) => {
274
+                      this.getReadataList()
275
+                      console.log("取消了")
276
+                    })
277
+                } else if (infoData.SMS_Type == 2) {
278
+                  this.readId = infoData.SMS_Id
279
+                  this.detailId = infoData.F_ID
280
+                  const h = this.$createElement
281
+                  this.$msgbox({
282
+                    title: "任务消息",
283
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
284
+                    customClass: "messageBox",
285
+                    closeOnClickModal: false,
286
+                    showCancelButton: true,
287
+                    confirmButtonText: "详情",
288
+                    cancelButtonText: "关闭",
310 289
                   })
311
-                  .catch((result) => {
312
-                    console.log("取消了");
313
-                  });
314
-              }else if(infoData.SMS_Type == 4){
315
-                this.readId = infoData.SMS_Id;
316
-                this.detailId = infoData.F_ID;
317
-                const h = this.$createElement;
318
-                this.$msgbox({
319
-                  title: "质检消息",
320
-                  message: h("p", null, [
321
-                    h("span", null, "内容是 "),
322
-                    h("span", null, infoData.SMS_Content),
323
-                  ]),
324
-                  customClass: "messageBox",
325
-                  closeOnClickModal: false,
326
-                  showCancelButton: true,
327
-                  confirmButtonText: "详情",
328
-                  cancelButtonText: "关闭",
329
-                })
330
-                  .then((action) => {
331
-                    this.$layer.iframe({
332
-                      content: {
333
-                        content: daibangdetail, // 传递的组件对象
334
-                        parent: this, // 当前的vue对象
335
-                        data: { rowid: infoData.F_ID.toString() }, // props
336
-                      },
337
-                      area: ["80%", "90%"],
338
-                      title: "详情",
339
-                    });
340
-                    this.getReadataList();
290
+                    .then((action) => {
291
+                      this.$layer.iframe({
292
+                        content: {
293
+                          content: taskDetail, // 传递的组件对象
294
+                          parent: this, // 当前的vue对象
295
+                          data: { rowid: infoData.F_ID.toString() }, // props
296
+                        },
297
+                        area: ["80%", "90%"],
298
+                        title: "详情",
299
+                      })
300
+                      this.getReadataList()
301
+                    })
302
+                    .catch((result) => {
303
+                      this.getReadataList()
304
+                      console.log("取消了")
305
+                    })
306
+                } else if (infoData.SMS_Type == 4) {
307
+                  this.readId = infoData.SMS_Id
308
+                  this.detailId = infoData.F_ID
309
+                  const h = this.$createElement
310
+                  this.$msgbox({
311
+                    title: "质检消息",
312
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
313
+                    customClass: "messageBox",
314
+                    closeOnClickModal: false,
315
+                    showCancelButton: true,
316
+                    confirmButtonText: "详情",
317
+                    cancelButtonText: "关闭",
341 318
                   })
342
-                  .catch((result) => {
343
-                    console.log("取消了");
344
-                  });
345
-              }else if(infoData.SMS_Type == 5){
346
-                this.readId = infoData.SMS_Id;
347
-                this.detailId = infoData.F_ID;
348
-                const h = this.$createElement;
349
-                this.$msgbox({
350
-                  title: "绩效消息",
351
-                  message: h("p", null, [
352
-                    h("span", null, "内容是 "),
353
-                    h("span", null, infoData.SMS_Content),
354
-                  ]),
355
-                  customClass: "messageBox",
356
-                  closeOnClickModal: false,
357
-                  showCancelButton: true,
358
-                  confirmButtonText: "详情",
359
-                  cancelButtonText: "关闭",
360
-                })
361
-                  .then((action) => {
362
-                    this.$layer.iframe({
363
-                      content: {
364
-                        content: daibangdetail, // 传递的组件对象
365
-                        parent: this, // 当前的vue对象
366
-                        data: { rowid: infoData.F_ID.toString() }, // props
367
-                      },
368
-                      area: ["80%", "90%"],
369
-                      title: "详情",
370
-                    });
371
-                    this.getReadataList();
319
+                    .then((action) => {
320
+                      this.$layer.iframe({
321
+                        content: {
322
+                          content: daibangdetail, // 传递的组件对象
323
+                          parent: this, // 当前的vue对象
324
+                          data: { rowid: infoData.F_ID.toString() }, // props
325
+                        },
326
+                        area: ["80%", "90%"],
327
+                        title: "详情",
328
+                      })
329
+                      this.getReadataList()
330
+                    })
331
+                    .catch((result) => {
332
+                      this.getReadataList()
333
+                      console.log("取消了")
334
+                    })
335
+                } else if (infoData.SMS_Type == 5) {
336
+                  this.readId = infoData.SMS_Id
337
+                  this.detailId = infoData.F_ID
338
+                  const h = this.$createElement
339
+                  this.$msgbox({
340
+                    title: "绩效消息",
341
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
342
+                    customClass: "messageBox",
343
+                    closeOnClickModal: false,
344
+                    showCancelButton: true,
345
+                    confirmButtonText: "详情",
346
+                    cancelButtonText: "关闭",
372 347
                   })
373
-                  .catch((result) => {
374
-                    console.log("取消了");
375
-                  });
376
-              }else if(infoData.SMS_Type == 6){
377
-                this.readId = infoData.SMS_Id;
378
-                this.detailId = infoData.F_ID;
379
-                const h = this.$createElement;
380
-                this.$msgbox({
381
-                  title: "转移消息",
382
-                  message: h("p", null, [
383
-                    h("span", null, "内容是 "),
384
-                    h("span", null, infoData.SMS_Content),
385
-                  ]),
386
-                  customClass: "messageBox",
387
-                  closeOnClickModal: false,
388
-                  showCancelButton: true,
389
-                  confirmButtonText: "详情",
390
-                  cancelButtonText: "关闭",
391
-                })
392
-                  .then((action) => {
393
-                    this.$layer.iframe({
394
-                      content: {
395
-                        content: memberDetail, // 传递的组件对象
396
-                        parent: this, // 当前的vue对象
397
-                        data: { rowid: infoData.F_ID.toString() }, // props
398
-                      },
399
-                      area: ["80%", "90%"],
400
-                      title: "详情",
401
-                    });
402
-                    this.getReadataList();
348
+                    .then((action) => {
349
+                      this.$layer.iframe({
350
+                        content: {
351
+                          content: daibangdetail, // 传递的组件对象
352
+                          parent: this, // 当前的vue对象
353
+                          data: { rowid: infoData.F_ID.toString() }, // props
354
+                        },
355
+                        area: ["80%", "90%"],
356
+                        title: "详情",
357
+                      })
358
+                      this.getReadataList()
359
+                    })
360
+                    .catch((result) => {
361
+                      this.getReadataList()
362
+                      console.log("取消了")
363
+                    })
364
+                } else if (infoData.SMS_Type == 6) {
365
+                  this.readId = infoData.SMS_Id
366
+                  this.detailId = infoData.F_ID
367
+                  const h = this.$createElement
368
+                  this.$msgbox({
369
+                    title: "转移消息",
370
+                    message: h("p", null, [h("span", null, "内容是 "), h("span", null, infoData.SMS_Content)]),
371
+                    customClass: "messageBox",
372
+                    closeOnClickModal: false,
373
+                    showCancelButton: true,
374
+                    confirmButtonText: "详情",
375
+                    cancelButtonText: "关闭",
403 376
                   })
404
-                  .catch((result) => {
405
-                    console.log("取消了");
406
-                  });
377
+                    .then((action) => {
378
+                      this.$layer.iframe({
379
+                        content: {
380
+                          content: memberDetail, // 传递的组件对象
381
+                          parent: this, // 当前的vue对象
382
+                          data: { rowid: infoData.F_ID.toString() }, // props
383
+                        },
384
+                        area: ["80%", "90%"],
385
+                        title: "详情",
386
+                      })
387
+                      this.getReadataList()
388
+                    })
389
+                    .catch((result) => {
390
+                      this.getReadataList()
391
+                      console.log("取消了")
392
+                    })
393
+                }
407 394
               }
408 395
             }
409 396
           }
410
-        }
411
-      });
412
-    }, 120000);
397
+        })
398
+      }, 180000))
413 399
   },
414
-};
400
+}
415 401
 </script>
416 402
 
417 403
 <style rel="stylesheet/scss" lang="scss" >

+ 153 - 254
CallCenterWeb.UI/src/views/afterSaleManagement/addAfterSale/index.vue

@@ -1,115 +1,28 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchTime"
6
-        :picker-options="pickerOptions"
7
-        class="filter-item"
8
-        type="daterange"
9
-        format="yyyy年MM月dd日"
10
-        value-format="yyyy-MM-dd"
11
-        unlink-panels
12
-        range-separator="至"
13
-        start-placeholder="开始日期"
14
-        end-placeholder="结束日期"
15
-      />
16
-      <el-date-picker
17
-        v-model="waybillTime"
18
-        :picker-options="pickerOptions"
19
-        class="filter-item"
20
-        type="daterange"
21
-        format="yyyy年MM月dd日"
22
-        value-format="yyyy-MM-dd"
23
-        unlink-panels
24
-        range-separator="至"
25
-        start-placeholder="物流开始日期"
26
-        end-placeholder="物流结束日期"
27
-      />
28
-      <el-cascader
29
-        ref="myCascader"
30
-        v-model="searchData.provinceCity"
31
-        :options="provinceCityDatas"
32
-        :props="props"
33
-        placeholder="请选择地区"
34
-        class="form_select area"
35
-        clearable
36
-        change-on-select
37
-        @change="handleItemChange"
38
-      />
39
-      <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
40
-      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" />
41
-      <el-select
42
-        v-model="searchData.F_AddDes"
43
-        placeholder="请选择送货说明"
44
-        class="form_select"
45
-        clearable
46
-      >
47
-        <el-option
48
-          v-for="item in addDesList"
49
-          :key="item.F_Value"
50
-          :label="item.F_Value"
51
-          :value="item.F_Value"
52
-        />
4
+      <el-date-picker v-model="searchTime" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <el-date-picker v-model="waybillTime" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" unlink-panels range-separator="至" start-placeholder="物流开始日期" end-placeholder="物流结束日期" />
6
+      <el-cascader ref="myCascader" v-model="searchData.provinceCity" :options="provinceCityDatas" :props="props" placeholder="请选择地区" class="form_select area filter-item" clearable change-on-select @change="handleItemChange" />
7
+      <!-- <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
8
+      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" /> -->
9
+      <el-select v-model="searchData.F_AddDes" placeholder="请选择送货说明" class="filter-item form_select" clearable>
10
+        <el-option v-for="item in addDesList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
53 11
       </el-select>
54 12
       <el-input v-model="searchData.adFrom" placeholder="请输入消息来源" class="filter-item" />
55
-      <el-select
56
-        v-model="searchData.type"
57
-        class="filter-item"
58
-        filterable
59
-        clearable
60
-        placeholder="请选择订单类型"
61
-      >
62
-        <el-option
63
-          v-for="item in orderType"
64
-          :key="item.F_Value"
65
-          :label="item.F_Value"
66
-          :value="item.F_Value"
67
-        />
13
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择订单类型">
14
+        <el-option v-for="item in orderType" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
68 15
       </el-select>
69
-      <el-select
70
-        v-model="searchData.express"
71
-        class="form_select"
72
-        filterable
73
-        clearable
74
-        placeholder="请选择快递"
75
-      >
76
-        <el-option
77
-          v-for="item in expressList"
78
-          :key="item.F_Value"
79
-          :label="item.F_Value"
80
-          :value="item.F_Value"
81
-        />
16
+      <el-select v-model="searchData.express" class="filter-item form_select" filterable clearable placeholder="请选择快递">
17
+        <el-option v-for="item in expressList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
82 18
       </el-select>
83
-      <el-select
84
-        v-model="searchData.logisticsStatus"
85
-        class="form_select"
86
-        filterable
87
-        clearable
88
-        placeholder="请选择物流状态"
89
-      >
90
-        <el-option
91
-          v-for="item in logisticsList"
92
-          :key="item.F_Value"
93
-          :label="item.F_Remark"
94
-          :value="item.F_Value"
95
-        />
19
+      <el-select v-model="searchData.logisticsStatus" class="filter-item form_select" filterable clearable placeholder="请选择物流状态">
20
+        <el-option v-for="item in logisticsList" :key="item.F_Value" :label="item.F_Remark" :value="item.F_Value" />
96 21
       </el-select>
97 22
       <el-input v-model="searchData.id" placeholder="请输入订单编号" class="filter-item" />
98 23
       <!-- <el-input v-model="searchData.customer" placeholder="请输入客户姓名" class="filter-item" />
99 24
       <el-input v-model="searchData.customerPhone" placeholder="请输入手机号码" class="filter-item" />
100 25
       <el-input v-model="searchData.trackingNo" placeholder="请输入快递单号" class="filter-item" /> -->
101
-      <!-- <el-select
102
-        v-model="searchData.payState"
103
-        class="filter-item"
104
-        filterable
105
-        clearable
106
-        placeholder="请选择交易状态"
107
-      >
108
-        <el-option label="待回款" value="0"></el-option>
109
-        <el-option label="已支付" value="1"></el-option>
110
-        <el-option label="待退款" value="2"></el-option>
111
-        <el-option label="已退款" value="3"></el-option>
112
-      </el-select> -->
113 26
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
114 27
     </div>
115 28
     <!-- <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
@@ -118,29 +31,18 @@
118 31
     <div>
119 32
       <span>订单数量:{{ pageParams.total }}</span>
120 33
     </div>
121
-    <el-table
122
-      v-loading="loading"
123
-      :data="dataLists"
124
-      border
125
-      stripe
126
-      @selection-change="handleSelectionChange"
127
-      row-key="F_Id"
128
-    >
34
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange" row-key="F_Id">
129 35
       <el-table-column type="selection" :reserve-selection="true"></el-table-column>
130 36
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
131 37
       <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180">
132 38
         <template slot-scope="scope">
133
-          <el-button
134
-            type="text"
135
-            size="small"
136
-            @click="hadndleOrderCode(scope.row.F_Id)"
137
-          >{{ scope.row.F_Id }}</el-button>
39
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
138 40
         </template>
139 41
       </el-table-column>
140 42
       <el-table-column prop="F_Customer" label="客户姓名" align="center" min-width />
141 43
       <el-table-column prop="F_CustomerPhone" label="手机号码" align="center" min-width="140" />
142 44
       <el-table-column label="订购商品" align="center" min-width>
143
-        <template slot-scope="scope">{{ scope.row.OrderDetailList | judgmentOrderGoods}}</template>
45
+        <template slot-scope="scope">{{ scope.row.OrderDetailList | judgmentOrderGoods }}</template>
144 46
       </el-table-column>
145 47
       <el-table-column prop="F_AddTime" label="下单日期" align="center" />
146 48
       <el-table-column label="订单状态" align="center">
@@ -149,32 +51,22 @@
149 51
       <el-table-column label="地址" align="center">
150 52
         <template slot-scope="scope">{{ scope.row | judgmentAddress }}</template>
151 53
       </el-table-column>
152
-      <el-table-column prop="F_PayType" label="付款类型" align="center"/>
153
-      <el-table-column prop="F_RealPrice" label="付款金额" align="center"/>
154
-      <el-table-column prop="F_AddDes" label="送货说明" align="center"/>
54
+      <el-table-column prop="F_PayType" label="付款类型" align="center" />
55
+      <el-table-column prop="F_RealPrice" label="付款金额" align="center" sortable min-width="100" />
56
+      <el-table-column prop="F_AddDes" label="送货说明" align="center" />
155 57
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
156 58
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
157 59
       <el-table-column prop="F_Type" label="订单类型" align="center" />
158 60
       <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
159 61
       <el-table-column prop="F_Waybill" label="物流操作时间" align="center" />
160
-      <el-table-column label="物流状态" align="center" >
62
+      <el-table-column label="物流状态" align="center">
161 63
         <template slot-scope="scope">
162 64
           {{ scope.row.F_Status | judgmentStatusName }}
163 65
         </template>
164 66
       </el-table-column>
165 67
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
166 68
         <template slot-scope="scope">
167
-          <!-- <el-button
168
-            v-permission="'HY_express'"
169
-            type="text"
170
-            @click="btn_express(scope.row.F_Id)"
171
-          >快递信息</el-button> -->
172 69
           <el-button v-permission="'HY_add_aftersale'" type="text" @click="btn_add_aftersale(scope.row.F_Id)">售后</el-button>
173
-          <!-- <el-button
174
-            v-permission="'HY_goback'"
175
-            type="text"
176
-            @click="btn_goback(scope.row.F_Id)"
177
-          >客服退回</el-button> -->
178 70
         </template>
179 71
       </el-table-column>
180 72
     </el-table>
@@ -190,82 +82,79 @@
190 82
 </template>
191 83
 
192 84
 <script>
193
-import { getDictionaryValueList, getProviceCityById } from '@/api/commonAPI'
194
-import { getOrderListCustomerService } from "@/api/customerServiceManagement/orderListCustomerService";
195
-import { pickerOptions, formatterContent } from "@/utils";
196
-import afterSale from './afterSale'
197
-// import importExpress from './importExpress';
198
-// import goback from "./goback";
199
-// import express from './express';
85
+import { getDictionaryValueList, getProviceCityById } from "@/api/commonAPI"
86
+import { getOrderListCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
87
+import { pickerOptions, formatterContent } from "@/utils"
88
+import afterSale from "./afterSale"
200 89
 import detail from "@/views/orderManagement/orderList/detail"
201
-import Pagination from "@/components/Pagination"; // 对el-pagination 二次封装
90
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
202 91
 
203 92
 export default {
204 93
   name: "OrderListCustomerService",
205 94
   components: {
206
-    Pagination
95
+    Pagination,
207 96
   },
208 97
   filters: {
209
-    judgmentStateName (status) {
98
+    judgmentStateName(status) {
210 99
       const statusMap = {
211
-        '0': "未提交",
212
-        '1': "待分仓",
213
-        '2': "已退回",
214
-        '3': "已分仓",
215
-        '4': "无货",
216
-        '5': "仓库待审核",
217
-        '6': "已发货",
218
-        '7': "付款待审核",
219
-        '8': "待分物流",
220
-        '9': "物流未通过",
100
+        0: "未提交",
101
+        1: "待分仓",
102
+        2: "已退回",
103
+        3: "已分仓",
104
+        4: "无货",
105
+        5: "仓库待审核",
106
+        6: "已发货",
107
+        7: "付款待审核",
108
+        8: "待分物流",
109
+        9: "物流未通过",
221 110
       }
222 111
       return statusMap[status]
223 112
     },
224
-    judgmentOrderGoods (status) {
225
-      let orderGoodsNameQuantity = ''
113
+    judgmentOrderGoods(status) {
114
+      let orderGoodsNameQuantity = ""
226 115
       for (let i = 0; i < status.length; i++) {
227 116
         orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
228 117
       }
229 118
       orderGoodsNameQuantity = orderGoodsNameQuantity.substring(0, orderGoodsNameQuantity.length - 1)
230 119
       return orderGoodsNameQuantity
231 120
     },
232
-    judgmentAddress (data) {
233
-      let addProvince = data.F_AddProvince === null ? '' : data.F_AddProvince //省
234
-      let addCity = data.F_AddCity === null ? '' : data.F_AddCity //市
235
-      let addArea = data.F_AddArea === null ? '' : data.F_AddArea //县/区
236
-      let addTown = data.F_AddTown === null ? '' : data.F_AddTown //乡/镇
237
-      let address = data.F_Address === null ? '' : data.F_Address //详细地址
121
+    judgmentAddress(data) {
122
+      let addProvince = data.F_AddProvince === null ? "" : data.F_AddProvince //省
123
+      let addCity = data.F_AddCity === null ? "" : data.F_AddCity //市
124
+      let addArea = data.F_AddArea === null ? "" : data.F_AddArea //县/区
125
+      let addTown = data.F_AddTown === null ? "" : data.F_AddTown //乡/镇
126
+      let address = data.F_Address === null ? "" : data.F_Address //详细地址
238 127
       let addressStr = addProvince + addCity + addArea + addTown + address // 地址
239 128
       return addressStr
240 129
     },
241 130
     judgmentStatusName(status) {
242 131
       const statusMap = {
243
-        '0': '未发出',
244
-        '1': '未签收',
245
-        '2': '签收',
246
-        '3': '改代收',
247
-        '4': '拒收',
132
+        0: "未发出",
133
+        1: "未签收",
134
+        2: "签收",
135
+        3: "改代收",
136
+        4: "拒收",
248 137
       }
249 138
       return statusMap[status]
250 139
     },
251 140
   },
252
-  data () {
141
+  data() {
253 142
     return {
254 143
       loading: false,
255 144
       searchData: {
256
-        adFrom: '', //消息/广告媒体来源
257
-        type: '', //订单类型
258
-        id: '', //订单号
259
-        customer: '', //客户姓名
260
-        customerPhone: '', //客户手机号
261
-        trackingNo: '', //运单号
262
-        payState: '', //交易状态
145
+        adFrom: "", //消息/广告媒体来源
146
+        type: "", //订单类型
147
+        id: "", //订单号
148
+        customer: "", //客户姓名
149
+        customerPhone: "", //客户手机号
150
+        trackingNo: "", //运单号
151
+        payState: "", //交易状态
263 152
         provinceCity: [], // 省市县
264
-        minprice: '', // 最低金额
265
-        maxprice: '', // 最高金额
266
-        F_AddDes: '', // 送货说明
267
-        express: '', //快递
268
-        logisticsStatus: '', //物流状态
153
+        minprice: "", // 最低金额
154
+        maxprice: "", // 最高金额
155
+        F_AddDes: "", // 送货说明
156
+        express: "", //快递
157
+        logisticsStatus: "", //物流状态
269 158
       },
270 159
       searchTime: [], //订单时间
271 160
       waybillTime: [], //物流时间
@@ -274,32 +163,32 @@ export default {
274 163
       provinceCityText: [], // 省市下拉绑定的值
275 164
       props: {
276 165
         // 自定义省市下拉数据的key值
277
-        value: 'id',
278
-        label: 'text',
279
-        children: 'children'
166
+        value: "id",
167
+        label: "text",
168
+        children: "children",
280 169
       },
281 170
       addDesList: [], // 送货说明
282 171
       pickerOptions, // 日期数据
283 172
       pageParams: {
284 173
         pageindex: 1, // 当前第几页
285 174
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
286
-        total: 0 // 总共多少数据
175
+        total: 0, // 总共多少数据
287 176
       },
288 177
       dataLists: [], // 列表数据
289 178
       multipleSelection: [], // 选中的数据
290 179
       selectedId: [], // 选中的数据的id
291
-      orderType: [],//订单类型
180
+      orderType: [], //订单类型
292 181
       logisticsList: [], //物流状态
293 182
       expressList: [], //快递
294 183
       selectOrderId: [], //合并订单id
295
-    };
184
+    }
296 185
   },
297 186
   watch: {
298 187
     searchTime(newVal, oldVal) {
299 188
       !newVal && (this.searchTime = [])
300
-    }
189
+    },
301 190
   },
302
-  created () {
191
+  created() {
303 192
     if (this.$route.params.id) {
304 193
       this.activeName = this.$route.params.id
305 194
     }
@@ -310,16 +199,16 @@ export default {
310 199
     this.getAddDesList()
311 200
     this.getLogistics()
312 201
     this.getExpress()
313
-    document.onkeyup = e => {
202
+    document.onkeyup = (e) => {
314 203
       if (e.keyCode === 13) {
315
-        this.getList();
204
+        this.getList()
316 205
       }
317
-    };
206
+    }
318 207
   },
319 208
   methods: {
320
-    getList () {
321
-      this.loading = true;
322
-      return new Promise(resolve => {
209
+    getList() {
210
+      this.loading = true
211
+      return new Promise((resolve) => {
323 212
         const params = {
324 213
           F_State: this.activeName, //订单状态
325 214
           pageindex: 1, // int 第几页
@@ -334,7 +223,7 @@ export default {
334 223
           SearchEndTime: this.searchTime && this.searchTime[1], //添加结束时间
335 224
           PayState: this.searchData.payState, //交易状态
336 225
           F_IsExpress: -2, //-2全部 0客服未分配快递 1已分配
337
-          state: '',
226
+          state: "",
338 227
           F_AddProvince: this.provinceCityText && this.provinceCityText[0], // 省份
339 228
           F_AddCity: this.provinceCityText[1] && this.provinceCityText[1], // 市
340 229
           F_AddArea: this.provinceCityText[2] && this.provinceCityText[2], // 县区
@@ -346,52 +235,52 @@ export default {
346 235
           F_Status: this.searchData.logisticsStatus, //物流状态
347 236
           startWaybill: this.waybillTime && this.waybillTime[0],
348 237
           endWaybill: this.waybillTime && this.waybillTime[1],
349
-        };
350
-        getOrderListCustomerService(params).then(response => {
351
-          this.loading = false;
238
+        }
239
+        getOrderListCustomerService(params).then((response) => {
240
+          this.loading = false
352 241
           if (response.state.toLowerCase() === "success") {
353
-            this.pageParams.total = response.data.Totals;
354
-            this.dataLists = response.data.Rows;
242
+            this.pageParams.total = response.data.Totals
243
+            this.dataLists = response.data.Rows
355 244
           }
356
-        });
357
-        resolve();
358
-      });
245
+        })
246
+        resolve()
247
+      })
359 248
     },
360 249
     //处理默认选中当前日期
361 250
     getNowTime() {
362
-      let now = new Date();
363
-      let year = now.getFullYear(); //得到年份
364
-      let month = now.getMonth() + 1; //得到月份
365
-      let date = now.getDate(); //得到日期
366
-      let hour =" 00:00:00"; //默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
367
-      month = month.toString().padStart(2, "0");
368
-      date = date.toString().padStart(2, "0");
369
-      let defaultDate = `${year}-${month}-${date}`;
251
+      let now = new Date()
252
+      let year = now.getFullYear() //得到年份
253
+      let month = now.getMonth() + 1 //得到月份
254
+      let date = now.getDate() //得到日期
255
+      let hour = " 00:00:00" //默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
256
+      month = month.toString().padStart(2, "0")
257
+      date = date.toString().padStart(2, "0")
258
+      let defaultDate = `${year}-${month}-${date}`
370 259
       this.searchTime = [defaultDate, defaultDate]
371 260
     },
372 261
     // 获取订单类型
373
-    getOrderType () {
374
-      return new Promise(resolve => {
262
+    getOrderType() {
263
+      return new Promise((resolve) => {
375 264
         const params = {
376 265
           isleaf: true,
377
-          code: 'ORDERTYPE'
266
+          code: "ORDERTYPE",
378 267
         }
379
-        getDictionaryValueList(params).then(response => {
380
-          if (response.state.toLowerCase() === 'success') {
268
+        getDictionaryValueList(params).then((response) => {
269
+          if (response.state.toLowerCase() === "success") {
381 270
             this.orderType = response.data.Rows
382 271
           }
383 272
         })
384 273
       })
385 274
     },
386 275
     // 物流状态
387
-    getLogistics () {
388
-      return new Promise(resolve => {
276
+    getLogistics() {
277
+      return new Promise((resolve) => {
389 278
         const params = {
390 279
           isleaf: true,
391
-          code: 'OrderF_State'
280
+          code: "OrderF_State",
392 281
         }
393
-        getDictionaryValueList(params).then(response => {
394
-          if (response.state.toLowerCase() === 'success') {
282
+        getDictionaryValueList(params).then((response) => {
283
+          if (response.state.toLowerCase() === "success") {
395 284
             const res = response.data.Rows
396 285
             res.forEach((e, i) => {
397 286
               if (e.F_Remark === "未签收") {
@@ -407,14 +296,14 @@ export default {
407 296
       })
408 297
     },
409 298
     // 快递
410
-    getExpress () {
411
-      return new Promise(resolve => {
299
+    getExpress() {
300
+      return new Promise((resolve) => {
412 301
         const params = {
413 302
           isleaf: true,
414
-          code: 'EXPRESS'
303
+          code: "EXPRESS",
415 304
         }
416
-        getDictionaryValueList(params).then(response => {
417
-          if (response.state.toLowerCase() === 'success') {
305
+        getDictionaryValueList(params).then((response) => {
306
+          if (response.state.toLowerCase() === "success") {
418 307
             this.expressList = response.data.Rows
419 308
           }
420 309
         })
@@ -425,10 +314,10 @@ export default {
425 314
       return new Promise((resolve) => {
426 315
         const params = {
427 316
           isleaf: true,
428
-          code: 'DELIVERYDES'
317
+          code: "DELIVERYDES",
429 318
         }
430 319
         getDictionaryValueList(params).then((response) => {
431
-          if (response.state.toLowerCase() === 'success') {
320
+          if (response.state.toLowerCase() === "success") {
432 321
             this.addDesList = response.data.Rows
433 322
           }
434 323
         })
@@ -441,41 +330,41 @@ export default {
441 330
     //   }
442 331
     //   this.getList();
443 332
     // },
444
-    btn_search () {
445
-      this.pageParams.pageindex = 1;
446
-      this.getList();
333
+    btn_search() {
334
+      this.pageParams.pageindex = 1
335
+      this.getList()
447 336
     },
448 337
     // 批量退回
449
-    btn_bulk_goback () {
338
+    btn_bulk_goback() {
450 339
       if (this.selectOrderId.length < 1) {
451 340
         this.$message({
452 341
           message: "请选择订单!",
453 342
           type: "warning",
454
-        });
455
-        return;
343
+        })
344
+        return
456 345
       }
457
-      let orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
346
+      let orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
458 347
       this.$layer.iframe({
459 348
         content: {
460 349
           content: goback, // 传递的组件对象
461 350
           parent: this, // 当前的vue对象
462
-          data: { rowid: orderids } // props
351
+          data: { rowid: orderids }, // props
463 352
         },
464 353
         area: ["30%", "30%"],
465
-        title: "退回订单"
466
-      });
354
+        title: "退回订单",
355
+      })
467 356
     },
468 357
     //退回订单
469
-    btn_goback (orderid) {
358
+    btn_goback(orderid) {
470 359
       this.$layer.iframe({
471 360
         content: {
472 361
           content: goback, // 传递的组件对象
473 362
           parent: this, // 当前的vue对象
474
-          data: { rowid: orderid } // props
363
+          data: { rowid: orderid }, // props
475 364
         },
476 365
         area: ["30%", "30%"],
477
-        title: "退回订单"
478
-      });
366
+        title: "退回订单",
367
+      })
479 368
     },
480 369
     // 添加售后
481 370
     btn_add_aftersale(id) {
@@ -483,26 +372,26 @@ export default {
483 372
         content: {
484 373
           content: afterSale, // 传递的组件对象
485 374
           parent: this, // 当前的vue对象
486
-          data: { rowid: id.toString() } // props
375
+          data: { rowid: id.toString() }, // props
487 376
         },
488
-        area: ['70%', '80%'],
489
-        title: '添加售后'
377
+        area: ["70%", "80%"],
378
+        title: "添加售后",
490 379
       })
491 380
     },
492 381
     //订单详情
493
-    hadndleOrderCode (ordercode) {
382
+    hadndleOrderCode(ordercode) {
494 383
       this.$layer.iframe({
495 384
         content: {
496 385
           content: detail, // 传递的组件对象
497 386
           parent: this, // 当前的vue对象
498
-          data: { 'rowid': ordercode }// props
387
+          data: { rowid: ordercode }, // props
499 388
         },
500
-        area: ['80%', '90%'],
501
-        title: '订单详情'
389
+        area: ["80%", "90%"],
390
+        title: "订单详情",
502 391
       })
503 392
     },
504 393
     //选择多个
505
-    handleSelectionChange (val) {
394
+    handleSelectionChange(val) {
506 395
       const ids = []
507 396
       this.multipleSelection = val
508 397
       for (let i = 0; i < this.multipleSelection.length; i++) {
@@ -518,19 +407,15 @@ export default {
518 407
         .catch((err) => {})
519 408
     },
520 409
     handleItemChange(val) {
521
-      this.provinceCityText = this.$refs['myCascader'].currentLabels
410
+      this.provinceCityText = this.$refs["myCascader"].currentLabels
522 411
       const pid = val ? val[val.length - 1] : 1 // id值
523 412
       this.level = val.length + 1 // 判断第几级
524
-      this.provinceCityDatas = this.handleData(
525
-        this.provinceCityDatas,
526
-        pid,
527
-        this.level
528
-      )
413
+      this.provinceCityDatas = this.handleData(this.provinceCityDatas, pid, this.level)
529 414
     },
530 415
     handleData(data, val, level) {
531 416
       for (let i = 0; i < data.length; i++) {
532 417
         if (!data[i].children) {
533
-          this.$set(data[i], 'children', [])
418
+          this.$set(data[i], "children", [])
534 419
         }
535 420
         if (data[i].id === val) {
536 421
           getProviceCityById({ pid: val })
@@ -539,7 +424,7 @@ export default {
539 424
                 data[i].children = res.data
540 425
                 if (this.level !== 4) {
541 426
                   data[i].children.forEach((ele) => {
542
-                    this.$set(ele, 'children', [])
427
+                    this.$set(ele, "children", [])
543 428
                   })
544 429
                 }
545 430
               } else {
@@ -555,11 +440,25 @@ export default {
555 440
       }
556 441
       return data
557 442
     },
558
-  }
559
-};
443
+  },
444
+}
560 445
 </script>
561 446
 
562 447
 <style rel="stylesheet/scss" lang="scss" scoped>
448
+.filter-container {
449
+  .el-select {
450
+    margin-right: 10px;
451
+  }
452
+  .el-date-editor {
453
+    margin-right: 10px;
454
+  }
455
+  .el-cascader {
456
+    margin-right: 10px;
457
+  }
458
+  .filter-item {
459
+    vertical-align: top;
460
+  }
461
+}
563 462
 .el {
564 463
   cursor: pointer;
565 464
 }

+ 1 - 3
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/detail.vue

@@ -61,7 +61,7 @@
61 61
               推荐人:{{ orderDetailData.F_RecommendName }}
62 62
             </el-col>
63 63
             <el-col :md="6" class="order_detail_item">
64
-              运单号:{{ orderDetailData.F_FlowNum }}
64
+              运单号:{{ orderDetailData.F_TrackingNo }}
65 65
             </el-col>
66 66
             <el-col :md="6" class="order_detail_item">
67 67
               归属人:{{ orderDetailData.F_BelongName }}
@@ -195,7 +195,6 @@ export default {
195 195
         F_Score: '', //使用积分
196 196
         F_AddTime: '', //添加时间
197 197
         F_AddUserName: '', //下单员工
198
-        F_FlowNum: '', //运单号
199 198
         F_RecommendName: '', //推荐人名称
200 199
         F_BelongName: '', //归属人名称
201 200
         F_Remark: '', //备注
@@ -327,7 +326,6 @@ export default {
327 326
         this.orderDetailData.F_VipId = res.F_VipId //关联会员id
328 327
         this.orderDetailData.F_Score = res.F_UseScore //使用积分
329 328
         this.orderDetailData.F_AddTime = res.F_AddTime //添加时间
330
-        this.orderDetailData.F_FlowNum = res.F_TrackingNo  //运单号
331 329
         this.orderDetailData.F_RecommendName = res.F_RecommendName//推荐人名称
332 330
         this.orderDetailData.F_AddUserName = res.F_AddUserName //下单员工
333 331
         this.orderDetailData.F_BelongName = res.F_BelongName //归属员工

File diff suppressed because it is too large
+ 364 - 446
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/edit.vue


File diff suppressed because it is too large
+ 273 - 600
CallCenterWeb.UI/src/views/callScreen/components/createOrder.vue


+ 162 - 230
CallCenterWeb.UI/src/views/custodianManagement/custodianReturnStorage/index.vue

@@ -1,88 +1,24 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchTime"
6
-        :picker-options="pickerOptions"
7
-        class="filter-item"
8
-        type="daterange"
9
-        format="yyyy年MM月dd日"
10
-        value-format="yyyy-MM-dd"
11
-        unlink-panels
12
-        range-separator="至"
13
-        start-placeholder="开始日期"
14
-        end-placeholder="结束日期"
15
-      />
16
-        <!-- :clearable="false" -->
17
-        <!-- align="left" -->
18
-      <el-cascader
19
-        ref="myCascader"
20
-        v-model="searchData.provinceCity"
21
-        :options="provinceCityDatas"
22
-        :props="props"
23
-        placeholder="请选择地区"
24
-        class="form_select area"
25
-        clearable
26
-        change-on-select
27
-        @change="handleItemChange"
28
-      />
29
-      <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
30
-      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" />
31
-      <el-select
32
-        v-model="searchData.F_AddDes"
33
-        placeholder="请选择送货说明"
34
-        class="form_select"
35
-        clearable
36
-      >
37
-        <el-option
38
-          v-for="item in addDesList"
39
-          :key="item.F_Value"
40
-          :label="item.F_Value"
41
-          :value="item.F_Value"
42
-        />
4
+      <el-date-picker v-model="searchTime" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <!-- :clearable="false" -->
6
+      <!-- align="left" -->
7
+      <el-cascader ref="myCascader" v-model="searchData.provinceCity" :options="provinceCityDatas" :props="props" placeholder="请选择地区" class="filter-item form_select area" clearable change-on-select @change="handleItemChange" />
8
+      <!-- <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
9
+      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" /> -->
10
+      <el-select v-model="searchData.F_AddDes" placeholder="请选择送货说明" class="filter-item form_select" clearable>
11
+        <el-option v-for="item in addDesList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
43 12
       </el-select>
44 13
       <el-input v-model="searchData.adFrom" placeholder="请输入消息来源" class="filter-item" />
45
-      <el-select
46
-        v-model="searchData.type"
47
-        class="filter-item"
48
-        filterable
49
-        clearable
50
-        placeholder="请选择订单类型"
51
-      >
52
-        <el-option
53
-          v-for="item in orderType"
54
-          :key="item.F_Value"
55
-          :label="item.F_Value"
56
-          :value="item.F_Value"
57
-        />
14
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择订单类型">
15
+        <el-option v-for="item in orderType" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
58 16
       </el-select>
59
-      <el-select
60
-        v-model="searchData.express"
61
-        class="form_select"
62
-        filterable
63
-        clearable
64
-        placeholder="请选择快递"
65
-      >
66
-        <el-option
67
-          v-for="item in expressList"
68
-          :key="item.F_Value"
69
-          :label="item.F_Value"
70
-          :value="item.F_Value"
71
-        />
17
+      <el-select v-model="searchData.express" class="filter-item form_select" filterable clearable placeholder="请选择快递">
18
+        <el-option v-for="item in expressList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
72 19
       </el-select>
73
-      <el-select
74
-        v-model="searchData.logisticsStatus"
75
-        class="form_select"
76
-        filterable
77
-        clearable
78
-        placeholder="请选择物流状态"
79
-      >
80
-        <el-option
81
-          v-for="item in logisticsList"
82
-          :key="item.F_Value"
83
-          :label="item.F_Remark"
84
-          :value="item.F_Value"
85
-        />
20
+      <el-select v-model="searchData.logisticsStatus" class="filter-item form_select" filterable clearable placeholder="请选择物流状态">
21
+        <el-option v-for="item in logisticsList" :key="item.F_Value" :label="item.F_Remark" :value="item.F_Value" />
86 22
       </el-select>
87 23
       <el-input v-model="searchData.id" placeholder="请输入订单编号" class="filter-item" />
88 24
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
@@ -95,29 +31,18 @@
95 31
     <div>
96 32
       <span>订单数量:{{ pageParams.total }}</span>
97 33
     </div>
98
-    <el-table
99
-      v-loading="loading"
100
-      :data="dataLists"
101
-      border
102
-      stripe
103
-      @selection-change="handleSelectionChange"
104
-      row-key="F_Id"
105
-    >
34
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange" row-key="F_Id">
106 35
       <el-table-column type="selection" :reserve-selection="true"></el-table-column>
107 36
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
108 37
       <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180">
109 38
         <template slot-scope="scope">
110
-          <el-button
111
-            type="text"
112
-            size="small"
113
-            @click="hadndleOrderCode(scope.row.F_Id)"
114
-          >{{ scope.row.F_Id }}</el-button>
39
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
115 40
         </template>
116 41
       </el-table-column>
117 42
       <el-table-column prop="F_Customer" label="客户姓名" align="center" min-width />
118 43
       <el-table-column prop="F_CustomerPhone" label="手机号码" align="center" min-width="140" />
119 44
       <el-table-column label="订购商品" align="center" min-width>
120
-        <template slot-scope="scope">{{ scope.row.OrderDetailList | judgmentOrderGoods}}</template>
45
+        <template slot-scope="scope">{{ scope.row.OrderDetailList | judgmentOrderGoods }}</template>
121 46
       </el-table-column>
122 47
       <el-table-column prop="F_AddTime" label="下单日期" align="center" />
123 48
       <el-table-column label="订单状态" align="center">
@@ -126,21 +51,18 @@
126 51
       <el-table-column label="地址" align="center">
127 52
         <template slot-scope="scope">{{ scope.row | judgmentAddress }}</template>
128 53
       </el-table-column>
54
+      <el-table-column prop="F_RealPrice" label="付款金额" align="center" sortable min-width="100" />
129 55
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
130 56
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
131 57
       <el-table-column prop="F_Type" label="订单类型" align="center" />
132
-      <el-table-column label="物流状态" align="center" >
58
+      <el-table-column label="物流状态" align="center">
133 59
         <template slot-scope="scope">
134 60
           {{ scope.row.F_Status | judgmentStatusName }}
135 61
         </template>
136 62
       </el-table-column>
137 63
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
138 64
         <template slot-scope="scope">
139
-          <el-button
140
-            v-permission="'HY_warehousing'"
141
-            type="text"
142
-            @click="btn_warehousing(scope.row.F_Id)"
143
-          >入库</el-button>
65
+          <el-button v-permission="'HY_warehousing'" type="text" @click="btn_warehousing(scope.row.F_Id)">入库</el-button>
144 66
         </template>
145 67
       </el-table-column>
146 68
     </el-table>
@@ -156,81 +78,81 @@
156 78
 </template>
157 79
 
158 80
 <script>
159
-import { getDictionaryValueList, getProviceCityById } from '@/api/commonAPI'
81
+import { getDictionaryValueList, getProviceCityById } from "@/api/commonAPI"
160 82
 import { getOrderListCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
161 83
 import { warehousingOrderCustodian } from "@/api/custodianManagement/orderListCustodian"
162
-import { pickerOptions, formatterContent } from "@/utils";
84
+import { pickerOptions, formatterContent } from "@/utils"
163 85
 import detail from "@/views/orderManagement/orderList/detail"
164 86
 import importWarehousing from "./importWarehousing"
165
-import Pagination from "@/components/Pagination"; // 对el-pagination 二次封装
87
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
166 88
 
167 89
 export default {
168 90
   name: "CustodianReturnStorage",
169 91
   components: {
170
-    Pagination
92
+    Pagination,
171 93
   },
172 94
   filters: {
173
-    judgmentStateName (status) {
95
+    judgmentStateName(status) {
174 96
       const statusMap = {
175
-        '0': "未提交",
176
-        '1': "待分仓",
177
-        '2': "已退回",
178
-        '3': "已分仓",
179
-        '4': "无货",
180
-        '5': "仓库待审核",
181
-        '6': "已发货",
182
-        '7': "付款待审核",
183
-        '8': "待分物流",
184
-        '9': "物流未通过",
97
+        0: "未提交",
98
+        1: "待分仓",
99
+        2: "已退回",
100
+        3: "已分仓",
101
+        4: "无货",
102
+        5: "仓库待审核",
103
+        6: "已发货",
104
+        7: "付款待审核",
105
+        8: "待分物流",
106
+        9: "物流未通过",
185 107
       }
186 108
       return statusMap[status]
187 109
     },
188
-    judgmentOrderGoods (status) {
189
-      let orderGoodsNameQuantity = ''
110
+    judgmentOrderGoods(status) {
111
+      let orderGoodsNameQuantity = ""
190 112
       for (let i = 0; i < status.length; i++) {
191 113
         orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
192 114
       }
193 115
       orderGoodsNameQuantity = orderGoodsNameQuantity.substring(0, orderGoodsNameQuantity.length - 1)
194 116
       return orderGoodsNameQuantity
195 117
     },
196
-    judgmentAddress (data) {
197
-      let addProvince = data.F_AddProvince === null ? '' : data.F_AddProvince //省
198
-      let addCity = data.F_AddCity === null ? '' : data.F_AddCity //市
199
-      let addArea = data.F_AddArea === null ? '' : data.F_AddArea //县/区
200
-      let addTown = data.F_AddTown === null ? '' : data.F_AddTown //乡/镇
201
-      let address = data.F_Address === null ? '' : data.F_Address //详细地址
118
+    judgmentAddress(data) {
119
+      let addProvince = data.F_AddProvince === null ? "" : data.F_AddProvince //省
120
+      let addCity = data.F_AddCity === null ? "" : data.F_AddCity //市
121
+      let addArea = data.F_AddArea === null ? "" : data.F_AddArea //县/区
122
+      let addTown = data.F_AddTown === null ? "" : data.F_AddTown //乡/镇
123
+      let address = data.F_Address === null ? "" : data.F_Address //详细地址
202 124
       let addressStr = addProvince + addCity + addArea + addTown + address // 地址
203 125
       return addressStr
204 126
     },
205 127
     judgmentStatusName(status) {
206 128
       const statusMap = {
207
-        '0': '未发出',
208
-        '1': '未签收',
209
-        '2': '签收',
210
-        '3': '改代收',
211
-        '4': '拒收',
129
+        0: "未发出",
130
+        1: "未签收",
131
+        2: "签收",
132
+        3: "改代收",
133
+        4: "拒收",
212 134
       }
213 135
       return statusMap[status]
214 136
     },
215 137
   },
216
-  data () {
138
+  data() {
217 139
     return {
218 140
       loading: false,
219 141
       searchData: {
220
-        adFrom: '', //消息/广告媒体来源
221
-        type: '', //订单类型
222
-        id: '', //订单号
223
-        customer: '', //客户姓名
224
-        customerPhone: '', //客户手机号
225
-        trackingNo: '', //运单号
226
-        payState: '', //交易状态
142
+        adFrom: "", //消息/广告媒体来源
143
+        type: "", //订单类型
144
+        id: "", //订单号
145
+        customer: "", //客户姓名
146
+        customerPhone: "", //客户手机号
147
+        trackingNo: "", //运单号
148
+        payState: "", //交易状态
227 149
         provinceCity: [], // 省市县
228
-        minprice: '', // 最低金额
229
-        maxprice: '', // 最高金额
230
-        F_AddDes: '', // 送货说明
231
-        express: '', //快递
232
-        logisticsStatus: '', //物流状态
233
-        warehousing: '', // 是否入库
150
+        minprice: "", // 最低金额
151
+        maxprice: "", // 最高金额
152
+        F_AddDes: "", // 送货说明
153
+        express: "", //快递
154
+        logisticsStatus: "", //物流状态
155
+        warehousing: "", // 是否入库
234 156
       },
235 157
       searchTime: [], //订单时间
236 158
       activeName: "6", //标签切换首页
@@ -238,32 +160,32 @@ export default {
238 160
       provinceCityText: [], // 省市下拉绑定的值
239 161
       props: {
240 162
         // 自定义省市下拉数据的key值
241
-        value: 'id',
242
-        label: 'text',
243
-        children: 'children'
163
+        value: "id",
164
+        label: "text",
165
+        children: "children",
244 166
       },
245 167
       addDesList: [], // 送货说明
246 168
       pickerOptions, // 日期数据
247 169
       pageParams: {
248 170
         pageindex: 1, // 当前第几页
249 171
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
250
-        total: 0 // 总共多少数据
172
+        total: 0, // 总共多少数据
251 173
       },
252 174
       dataLists: [], // 列表数据
253 175
       multipleSelection: [], // 选中的数据
254 176
       selectedId: [], // 选中的数据的id
255
-      orderType: [],//订单类型
177
+      orderType: [], //订单类型
256 178
       logisticsList: [], //物流状态
257 179
       expressList: [], //快递
258 180
       selectOrderId: [], //合并订单id
259
-    };
181
+    }
260 182
   },
261 183
   watch: {
262 184
     searchTime(newVal, oldVal) {
263 185
       !newVal && (this.searchTime = [])
264
-    }
186
+    },
265 187
   },
266
-  created () {
188
+  created() {
267 189
     if (this.$route.params.id) {
268 190
       this.activeName = this.$route.params.id
269 191
     }
@@ -274,16 +196,16 @@ export default {
274 196
     this.getAddDesList()
275 197
     this.getLogistics()
276 198
     this.getExpress()
277
-    document.onkeyup = e => {
199
+    document.onkeyup = (e) => {
278 200
       if (e.keyCode === 13) {
279
-        this.getList();
201
+        this.getList()
280 202
       }
281
-    };
203
+    }
282 204
   },
283 205
   methods: {
284
-    getList () {
285
-      this.loading = true;
286
-      return new Promise(resolve => {
206
+    getList() {
207
+      this.loading = true
208
+      return new Promise((resolve) => {
287 209
         const params = {
288 210
           F_State: this.activeName, //订单状态
289 211
           pageindex: 1, // int 第几页
@@ -294,11 +216,11 @@ export default {
294 216
           F_Customer: this.searchData.customer, //客户姓名
295 217
           F_CustomerPhone: this.searchData.customerPhone, //客户手机号
296 218
           F_TrackingNo: this.searchData.trackingNo, //运单号
297
-          SearchStartTime: this.searchTime[0] == null ? '' : this.searchTime[0], //添加开始时间
298
-          SearchEndTime: this.searchTime[1] == null ? '' : this.searchTime[1], //添加结束时间
219
+          SearchStartTime: this.searchTime[0] == null ? "" : this.searchTime[0], //添加开始时间
220
+          SearchEndTime: this.searchTime[1] == null ? "" : this.searchTime[1], //添加结束时间
299 221
           PayState: this.searchData.payState, //交易状态
300 222
           F_IsExpress: -2, //-2全部 0客服未分配快递 1已分配
301
-          state: '',
223
+          state: "",
302 224
           F_AddProvince: this.provinceCityText && this.provinceCityText[0], // 省份
303 225
           F_AddCity: this.provinceCityText[1] && this.provinceCityText[1], // 市
304 226
           F_AddArea: this.provinceCityText[2] && this.provinceCityText[2], // 县区
@@ -309,27 +231,27 @@ export default {
309 231
           F_Express: this.searchData.express, //快递
310 232
           F_Status: this.searchData.logisticsStatus, //物流状态
311 233
           Warehousing: 0, //是否入库 -- 0未入库
312
-        };
313
-        getOrderListCustomerService(params).then(response => {
314
-          this.loading = false;
234
+        }
235
+        getOrderListCustomerService(params).then((response) => {
236
+          this.loading = false
315 237
           if (response.state.toLowerCase() === "success") {
316
-            this.pageParams.total = response.data.Totals;
317
-            this.dataLists = response.data.Rows;
238
+            this.pageParams.total = response.data.Totals
239
+            this.dataLists = response.data.Rows
318 240
           }
319
-        });
320
-        resolve();
321
-      });
241
+        })
242
+        resolve()
243
+      })
322 244
     },
323 245
     //处理默认选中当前日期
324 246
     getNowTime() {
325
-      let now = new Date();
326
-      let year = now.getFullYear(); //得到年份
327
-      let month = now.getMonth() + 1; //得到月份
328
-      let date = now.getDate(); //得到日期
329
-      let hour =" 00:00:00"; //默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
330
-      month = month.toString().padStart(2, "0");
331
-      date = date.toString().padStart(2, "0");
332
-      let defaultDate = `${year}-${month}-${date}`;
247
+      let now = new Date()
248
+      let year = now.getFullYear() //得到年份
249
+      let month = now.getMonth() + 1 //得到月份
250
+      let date = now.getDate() //得到日期
251
+      let hour = " 00:00:00" //默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
252
+      month = month.toString().padStart(2, "0")
253
+      date = date.toString().padStart(2, "0")
254
+      let defaultDate = `${year}-${month}-${date}`
333 255
       this.searchTime = [defaultDate, defaultDate]
334 256
     },
335 257
     // 导入入库
@@ -338,11 +260,11 @@ export default {
338 260
         content: {
339 261
           content: importWarehousing, // 传递的组件对象
340 262
           parent: this, // 当前的vue对象
341
-          data: { rowid: '' } // props
263
+          data: { rowid: "" }, // props
342 264
         },
343 265
         area: ["30%", "30%"],
344
-        title: "导入入库"
345
-      });
266
+        title: "导入入库",
267
+      })
346 268
     },
347 269
     // 批量入库
348 270
     btn_bulk_warehousing() {
@@ -350,8 +272,8 @@ export default {
350 272
         this.$message({
351 273
           message: "请选择订单!",
352 274
           type: "warning",
353
-        });
354
-        return;
275
+        })
276
+        return
355 277
       }
356 278
       this.$confirm("确定入库吗?", "提示", {
357 279
         confirmButtonText: "确定",
@@ -360,21 +282,21 @@ export default {
360 282
       })
361 283
         .then(() => {
362 284
           const data = {
363
-            orderids: this.selectOrderId.join(',').replace(/\s+/g, ''),
364
-          };
285
+            orderids: this.selectOrderId.join(",").replace(/\s+/g, ""),
286
+          }
365 287
           warehousingOrderCustodian(data).then((response) => {
366 288
             if (response.state.toLowerCase() === "success") {
367
-              this.getList();
368
-              this.$message.success("入库成功!");
289
+              this.getList()
290
+              this.$message.success("入库成功!")
369 291
             }
370
-          });
292
+          })
371 293
         })
372 294
         .catch(() => {
373 295
           this.$message({
374 296
             type: "info",
375 297
             message: "已取消入库",
376
-          });
377
-        });
298
+          })
299
+        })
378 300
     },
379 301
     // 入库
380 302
     btn_warehousing(id) {
@@ -386,44 +308,44 @@ export default {
386 308
         .then(() => {
387 309
           const data = {
388 310
             orderids: id,
389
-          };
311
+          }
390 312
           warehousingOrderCustodian(data).then((response) => {
391 313
             if (response.state.toLowerCase() === "success") {
392
-              this.getList();
393
-              this.$message.success("入库成功!");
314
+              this.getList()
315
+              this.$message.success("入库成功!")
394 316
             }
395
-          });
317
+          })
396 318
         })
397 319
         .catch(() => {
398 320
           this.$message({
399 321
             type: "info",
400 322
             message: "已取消入库",
401
-          });
402
-        });
323
+          })
324
+        })
403 325
     },
404 326
     // 获取订单类型
405
-    getOrderType () {
406
-      return new Promise(resolve => {
327
+    getOrderType() {
328
+      return new Promise((resolve) => {
407 329
         const params = {
408 330
           isleaf: true,
409
-          code: 'ORDERTYPE'
331
+          code: "ORDERTYPE",
410 332
         }
411
-        getDictionaryValueList(params).then(response => {
412
-          if (response.state.toLowerCase() === 'success') {
333
+        getDictionaryValueList(params).then((response) => {
334
+          if (response.state.toLowerCase() === "success") {
413 335
             this.orderType = response.data.Rows
414 336
           }
415 337
         })
416 338
       })
417 339
     },
418 340
     // 物流状态
419
-    getLogistics () {
420
-      return new Promise(resolve => {
341
+    getLogistics() {
342
+      return new Promise((resolve) => {
421 343
         const params = {
422 344
           isleaf: true,
423
-          code: 'OrderF_State'
345
+          code: "OrderF_State",
424 346
         }
425
-        getDictionaryValueList(params).then(response => {
426
-          if (response.state.toLowerCase() === 'success') {
347
+        getDictionaryValueList(params).then((response) => {
348
+          if (response.state.toLowerCase() === "success") {
427 349
             const res = response.data.Rows
428 350
             res.forEach((e, i) => {
429 351
               // if (e.F_Remark === "未签收") {
@@ -442,14 +364,14 @@ export default {
442 364
       })
443 365
     },
444 366
     // 快递
445
-    getExpress () {
446
-      return new Promise(resolve => {
367
+    getExpress() {
368
+      return new Promise((resolve) => {
447 369
         const params = {
448 370
           isleaf: true,
449
-          code: 'EXPRESS'
371
+          code: "EXPRESS",
450 372
         }
451
-        getDictionaryValueList(params).then(response => {
452
-          if (response.state.toLowerCase() === 'success') {
373
+        getDictionaryValueList(params).then((response) => {
374
+          if (response.state.toLowerCase() === "success") {
453 375
             this.expressList = response.data.Rows
454 376
           }
455 377
         })
@@ -460,37 +382,37 @@ export default {
460 382
       return new Promise((resolve) => {
461 383
         const params = {
462 384
           isleaf: true,
463
-          code: 'DELIVERYDES'
385
+          code: "DELIVERYDES",
464 386
         }
465 387
         getDictionaryValueList(params).then((response) => {
466
-          if (response.state.toLowerCase() === 'success') {
388
+          if (response.state.toLowerCase() === "success") {
467 389
             this.addDesList = response.data.Rows
468 390
           }
469 391
         })
470 392
       })
471 393
     },
472
-    handleTabClick (tab, event) {
473
-      this.pageParams.pageindex=1
474
-      this.getList();
394
+    handleTabClick(tab, event) {
395
+      this.pageParams.pageindex = 1
396
+      this.getList()
475 397
     },
476
-    btn_search () {
477
-      this.pageParams.pageindex = 1;
478
-      this.getList();
398
+    btn_search() {
399
+      this.pageParams.pageindex = 1
400
+      this.getList()
479 401
     },
480 402
     //订单详情
481
-    hadndleOrderCode (ordercode) {
403
+    hadndleOrderCode(ordercode) {
482 404
       this.$layer.iframe({
483 405
         content: {
484 406
           content: detail, // 传递的组件对象
485 407
           parent: this, // 当前的vue对象
486
-          data: { 'rowid': ordercode }// props
408
+          data: { rowid: ordercode }, // props
487 409
         },
488
-        area: ['80%', '90%'],
489
-        title: '订单详情'
410
+        area: ["80%", "90%"],
411
+        title: "订单详情",
490 412
       })
491 413
     },
492 414
     //选择多个
493
-    handleSelectionChange (val) {
415
+    handleSelectionChange(val) {
494 416
       const ids = []
495 417
       this.multipleSelection = val
496 418
       for (let i = 0; i < this.multipleSelection.length; i++) {
@@ -506,19 +428,15 @@ export default {
506 428
         .catch((err) => {})
507 429
     },
508 430
     handleItemChange(val) {
509
-      this.provinceCityText = this.$refs['myCascader'].currentLabels
431
+      this.provinceCityText = this.$refs["myCascader"].currentLabels
510 432
       const pid = val ? val[val.length - 1] : 1 // id值
511 433
       this.level = val.length + 1 // 判断第几级
512
-      this.provinceCityDatas = this.handleData(
513
-        this.provinceCityDatas,
514
-        pid,
515
-        this.level
516
-      )
434
+      this.provinceCityDatas = this.handleData(this.provinceCityDatas, pid, this.level)
517 435
     },
518 436
     handleData(data, val, level) {
519 437
       for (let i = 0; i < data.length; i++) {
520 438
         if (!data[i].children) {
521
-          this.$set(data[i], 'children', [])
439
+          this.$set(data[i], "children", [])
522 440
         }
523 441
         if (data[i].id === val) {
524 442
           getProviceCityById({ pid: val })
@@ -527,7 +445,7 @@ export default {
527 445
                 data[i].children = res.data
528 446
                 if (this.level !== 4) {
529 447
                   data[i].children.forEach((ele) => {
530
-                    this.$set(ele, 'children', [])
448
+                    this.$set(ele, "children", [])
531 449
                   })
532 450
                 }
533 451
               } else {
@@ -543,12 +461,26 @@ export default {
543 461
       }
544 462
       return data
545 463
     },
546
-  }
547
-};
464
+  },
465
+}
548 466
 </script>
549 467
 
550 468
 <style rel="stylesheet/scss" lang="scss" scoped>
469
+.filter-container {
470
+  .el-select {
471
+    margin-right: 10px;
472
+  }
473
+  .el-date-editor {
474
+    margin-right: 10px;
475
+  }
476
+  .el-cascader {
477
+    margin-right: 10px;
478
+  }
479
+  .filter-item {
480
+    vertical-align: top;
481
+  }
482
+}
551 483
 .el {
552 484
   cursor: pointer;
553 485
 }
554
-</style>
486
+</style>

+ 1 - 1
CallCenterWeb.UI/src/views/custodianManagement/orderListCustodian/index.vue

@@ -56,7 +56,7 @@
56 56
           {{ scope.row.F_State | judgmentStateName }}
57 57
         </template>
58 58
       </el-table-column>
59
-      <el-table-column prop="F_FlowNum" label="运单号" align="center" min-width />
59
+      <el-table-column prop="F_TrackingNo" label="运单号" align="center" min-width />
60 60
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
61 61
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
62 62
       <el-table-column prop="F_Type" label="订单类型" align="center" />

+ 95 - 0
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/goback.vue

@@ -0,0 +1,95 @@
1
+<template>
2
+  <div>
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="80px">
4
+      <el-form-item label="退回" prop="state">
5
+        <el-select
6
+          v-model="ruleForm.state"
7
+          class="form_select"
8
+          filterable
9
+          clearable
10
+          placeholder="请选择退回"
11
+          @change="selectback"
12
+        >
13
+          <el-option label="退回上一级" value="0" />
14
+          <el-option label="退回销售" value="1" />
15
+        </el-select>
16
+      </el-form-item>
17
+      <el-form-item v-show="ishow" label="退回原因">
18
+        <el-input v-model="ruleForm.remark" type="textarea" placeholder="退回原因"/>
19
+      </el-form-item>
20
+      <el-form-item>
21
+        <el-button type="primary" @click="submitForm()">提交</el-button>
22
+      </el-form-item>
23
+    </el-form>
24
+  </div>
25
+</template>
26
+<script>
27
+import { gobackOrderCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
28
+export default {
29
+  props: {
30
+    rowid: {
31
+      type: String,
32
+      default: ''
33
+    },
34
+    layerid: {
35
+      type: String,
36
+      default: ''
37
+    }
38
+  },
39
+  data() {
40
+    return {
41
+      ishow: true, // 原因显隐
42
+      ruleForm: {
43
+        orderids: '', // 订单编号
44
+        remark: '', // 备注
45
+        state: ''
46
+      },
47
+      rules: {
48
+        state: [
49
+          {
50
+            required: true,
51
+            trigger: 'change',
52
+            message: '请选择退回'
53
+          }
54
+        ]
55
+      }
56
+    }
57
+  },
58
+  created() {
59
+    if (this.rowid) {
60
+      this.ruleForm.orderids = this.rowid
61
+    }
62
+  },
63
+  methods: {
64
+    submitForm() {
65
+      this.$refs.ruleForm.validate(valid => {
66
+        if (valid) {
67
+          gobackOrderCustomerService(this.ruleForm)
68
+            .then((response) => {
69
+              if (response.state.toLowerCase() === 'success') {
70
+                this.$parent.$layer.close(this.layerid)
71
+                this.$parent.getList() // 重新加载父级数据
72
+                this.$message.success('恭喜你,订单信息退回成功!')
73
+              }
74
+            })
75
+            .catch(() => {
76
+              this.loading = false
77
+            })
78
+        }
79
+      })
80
+    },
81
+    selectback(e) {
82
+      if (e === '0') {
83
+        this.ishow = false
84
+      } else {
85
+        this.ishow = true
86
+      }
87
+    }
88
+  }
89
+}
90
+</script>
91
+<style lang="scss" scoped>
92
+.form_select {
93
+  width: 100%
94
+}
95
+</style>

+ 129 - 0
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/importSubmit.vue

@@ -0,0 +1,129 @@
1
+<template>
2
+  <div class="importFile">
3
+    <el-alert title="选取的EXCEL文件需要严格按照下载的EXCEL模板进行填写!选择好文件后点击导入即可!" type="warning" class="md" show-icon/>
4
+    <el-row>
5
+      <el-col :lg="7" class="md">
6
+        <a :href="downloadUrl" download="提交导入模板.xlsx" class="download_btn" title="点击下载EXCEL模板" rel="nofollow">
7
+          下载EXCEL模板
8
+        </a>
9
+      </el-col>
10
+      <el-col :lg="17" class="md">
11
+        <el-upload
12
+          ref="upload"
13
+          :limit="1"
14
+          :file-list="uploadData.fileList"
15
+          :action= "uploadData.uploadUrl"
16
+          :data = "uploadData.uploaderFiles"
17
+          :on-success="uploadSuccess"
18
+          :on-error="uploadError"
19
+          :on-exceed="uploadExceed"
20
+          :auto-upload="false"
21
+          :headers = "uploadData.uploadHeader"
22
+          class="uploadFiles"
23
+          list-type="text"
24
+          name="upFile"
25
+          accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel">
26
+          <el-button slot="trigger" size="small" type="primary">选取EXCEL文件</el-button>
27
+          <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">导入</el-button>
28
+          <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
29
+        </el-upload>
30
+      </el-col>
31
+    </el-row>
32
+  </div>
33
+</template>
34
+
35
+<script>
36
+import { getToken } from '@/utils/auth'
37
+
38
+export default {
39
+  name: 'ImportFile',
40
+  props: {
41
+    rowid: {
42
+      type: String,
43
+      default: ''
44
+    },
45
+    layerid: {
46
+      type: String,
47
+      default: ''
48
+    }
49
+  },
50
+  data() {
51
+    return {
52
+      downloadUrl: '/static/xls/importCustomerServiceSubmit.xlsx',
53
+      uploadData: {// 文件上传数据
54
+        uploadHeader: {
55
+          Authorization: getToken(),
56
+        },
57
+        uploadUrl: this.$store.getters.serverConfig.BASE_API + 'api/KFOrder/importordersubmitexcel',
58
+        uploaderFiles: {// 上传文件的参数
59
+        
60
+        },
61
+        fileList: [], // 展示文件的数据
62
+      }
63
+    }
64
+  },
65
+  created() {
66
+  },
67
+  methods: {
68
+    submitUpload() {
69
+      this.$refs.upload.submit()
70
+    },
71
+    // 文件上传
72
+    uploadSuccess(response, file, fileList) {
73
+      if (response.state.toLowerCase() === 'success') {
74
+        this.$parent.$layer.close(this.layerid)
75
+        this.$parent.getList() // 重新加载父级数据
76
+        this.$message.success('恭喜你,导入成功!')
77
+      } else {
78
+        this.$message.error(response.message)
79
+      }
80
+    },
81
+    uploadExceed(file, fileList) {
82
+      this.$message.warning('只能选择一个文件!')
83
+    },
84
+    uploadError(err, file, fileList) {
85
+      this.$message.error(err)
86
+    }
87
+  }
88
+}
89
+</script>
90
+
91
+<style rel="stylesheet/scss" lang="scss" scoped>
92
+	.importFile{
93
+		.md{
94
+			margin-bottom: 20px;
95
+		}
96
+		.download_btn{
97
+			display: inline-block;
98
+			line-height: 1;
99
+			white-space: nowrap;
100
+			cursor: pointer;
101
+			border: 1px solid #dcdfe6;
102
+			-webkit-appearance: none;
103
+			text-align: center;
104
+			-webkit-box-sizing: border-box;
105
+			box-sizing: border-box;
106
+			outline: 0;
107
+			margin: 0;
108
+			-webkit-transition: .1s;
109
+			transition: .1s;
110
+			font-weight: 500;
111
+			padding: 9px 15px;
112
+			font-size: 12px;
113
+			border-radius: 4px;
114
+			color: #fff;
115
+			background-color: #409EFF;
116
+			border-color: #409EFF;
117
+			&:hover{
118
+				background: #66b1ff;
119
+				border-color: #66b1ff;
120
+				color: #fff;
121
+			}
122
+			&:active{
123
+				background: #66b1ff;
124
+				border-color: #66b1ff;
125
+				color: #fff;
126
+			}
127
+		}
128
+	}
129
+</style>

+ 376 - 0
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceEMS/index.vue

@@ -0,0 +1,376 @@
1
+<template>
2
+  <div class="app-container">
3
+    <div class="filter-container">
4
+      <el-date-picker
5
+        v-model="searchData.searchTime"
6
+        :picker-options="pickerOptions"
7
+        class="filter-item"
8
+        type="daterange"
9
+        format="yyyy年MM月dd日"
10
+        value-format="yyyy-MM-dd"
11
+        align="left"
12
+        unlink-panels
13
+        range-separator="至"
14
+        start-placeholder="开始日期"
15
+        end-placeholder="结束日期"
16
+      />
17
+      <el-date-picker
18
+        v-model="searchData.expressTime"
19
+        :picker-options="pickerOptions"
20
+        class="filter-item"
21
+        type="daterange"
22
+        format="yyyy年MM月dd日"
23
+        value-format="yyyy-MM-dd"
24
+        align="left"
25
+        unlink-panels
26
+        range-separator="至"
27
+        start-placeholder="快递分物流开始时间"
28
+        end-placeholder="快递分物流结束时间"
29
+      />
30
+      <el-input v-model="searchData.adFrom" placeholder="请输入消息/广告媒体来源" class="filter-item" />
31
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择订单类型">
32
+        <el-option v-for="item in orderType" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value"/>
33
+      </el-select>
34
+      <el-input v-model="searchData.id" placeholder="请输入订单号" class="filter-item" />
35
+      <el-input v-model="searchData.customer" placeholder="请输入客户姓名" class="filter-item" />
36
+      <el-input v-model="searchData.customerPhone" placeholder="请输入客户手机号" class="filter-item" />
37
+      <!-- <el-input v-model="searchData.trackingNo" placeholder="请输入运单号" class="filter-item" /> -->
38
+      <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
39
+      <el-button v-permission="'HY_bulk_submit'" type="primary" class="filter-item" @click="btn_bulk_submit">批量提交</el-button>
40
+      <el-button v-permission="'HY_bulk_goback'" type="primary" class="filter-item" @click="btn_bulk_goback">批量退回</el-button>
41
+      <el-button v-permission="'HY_export'" type="primary" class="filter-item" @click="btn_export">导出</el-button>
42
+      <el-button v-permission="'HY_import_submit'" type="primary" class="filter-item" @click="btn_import_submit">导入附件提交</el-button>
43
+    </div>
44
+    <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick" >
45
+      <el-tab-pane label="全部" name="3"/>
46
+    </el-tabs>
47
+    <div>
48
+      <span>订单数量:{{ pageParams.total }}</span>
49
+    </div>
50
+    <el-table v-loading="loading" :data="dataLists" border stripe row-key="F_Id" @selection-change="handleSelectionChange">
51
+      <el-table-column :reserve-selection="true" type="selection"/>
52
+      <el-table-column type="index" label="编号" align="center" fixed width="80" />
53
+      <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180" >
54
+        <template slot-scope="scope">
55
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
56
+        </template>
57
+      </el-table-column>
58
+      <el-table-column prop="F_Customer" label="客户姓名" align="center" min-width />
59
+      <el-table-column prop="F_CustomerPhone" label="手机号码" align="center" min-width="140" />
60
+      <el-table-column label="订购商品" align="center" min-width>
61
+        <template slot-scope="scope">
62
+          {{ scope.row.OrderDetailList | judgmentOrderGoods }}
63
+        </template>
64
+      </el-table-column>
65
+      <el-table-column prop="F_AddTime" label="下单日期" align="center" />
66
+      <el-table-column label="订单状态" align="center" >
67
+        <template slot-scope="scope">
68
+          {{ scope.row.F_State | judgmentStateName }}
69
+        </template>
70
+      </el-table-column>
71
+      <el-table-column prop="F_PayType" label="付款类型" align="center"/>
72
+      <el-table-column prop="F_RealPrice" label="付款金额" align="center"/>
73
+      <el-table-column prop="F_AddDes" label="送货说明" align="center"/>
74
+      <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
75
+      <el-table-column prop="F_BelongName" label="归属员工" align="center" />
76
+      <el-table-column prop="F_Type" label="订单类型" align="center" />
77
+      <el-table-column prop="F_Express" label="快递公司" align="center" />
78
+      <el-table-column prop="F_ExpressTime" label="快递分物流时间" align="center" />
79
+      <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
80
+        <template slot-scope="scope">
81
+          <el-button
82
+            v-permission="'HY_submit'"
83
+            type="text"
84
+            @click="btn_submit(scope.row.F_Id)"
85
+          >提交</el-button>
86
+          <el-button
87
+            v-permission="'HY_goback'"
88
+            type="text"
89
+            @click="btn_goback(scope.row.F_Id)"
90
+          >客服退回</el-button>
91
+        </template>
92
+      </el-table-column>
93
+    </el-table>
94
+    <!-- <pagination
95
+      v-show="pageParams.total > 0"
96
+      :total="pageParams.total"
97
+      :pageindex.sync="pageParams.pageindex"
98
+      :pagesize.sync="pageParams.pagesize"
99
+      class="pagination"
100
+      @pagination="getList"
101
+    /> -->
102
+  </div>
103
+</template>
104
+
105
+<script>
106
+import { getDictionaryValueList } from '@/api/commonAPI'
107
+import { getOrderListCustomerService, submitOrderCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
108
+import { pickerOptions, formatterContent } from '@/utils'
109
+import goback from './goback'
110
+import importSubmit from './importSubmit'
111
+import detail from '@/views/orderManagement/orderList/detail'
112
+import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
113
+export default {
114
+  name: 'OrderListCustomerService',
115
+  components: {
116
+    Pagination
117
+  },
118
+  filters: {
119
+    judgmentStateName(status) {
120
+      const statusMap = {
121
+        '0': '未提交',
122
+        '1': '待分仓',
123
+        '2': '已退回',
124
+        '3': '已分仓',
125
+        '4': '无货',
126
+        '5': '仓库待审核',
127
+        '6': '已发货',
128
+        '7': '付款待审核',
129
+        '8': '待分物流',
130
+        '9': '物流未通过'
131
+      }
132
+      return statusMap[status]
133
+    },
134
+    judgmentOrderGoods(status) {
135
+      let orderGoodsNameQuantity = ''
136
+      for (let i = 0; i < status.length; i++) {
137
+        orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
138
+      }
139
+      orderGoodsNameQuantity = orderGoodsNameQuantity.substring(0, orderGoodsNameQuantity.length - 1)
140
+      return orderGoodsNameQuantity
141
+    }
142
+  },
143
+  data() {
144
+    return {
145
+      loading: false,
146
+      searchData: {
147
+        adFrom: '', // 消息/广告媒体来源
148
+        type: '', // 订单类型
149
+        id: '', // 订单号
150
+        customer: '', // 客户姓名
151
+        customerPhone: '', // 客户手机号
152
+        trackingNo: '', // 运单号
153
+        searchTime: '', // 订单时间
154
+        expressTime: '', // 快递分物流时间
155
+      },
156
+      activeName: '3', // 标签切换首页
157
+      pickerOptions, // 日期数据
158
+      pageParams: {
159
+        pageindex: 1, // 当前第几页
160
+        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
161
+        total: 0 // 总共多少数据
162
+      },
163
+      dataLists: [], // 列表数据
164
+      multipleSelection: [], // 选中的数据
165
+      orderType: [], // 订单类型
166
+      selectOrderId: [] // 选中id
167
+    }
168
+  },
169
+  created() {
170
+    this.getOrderType()
171
+    this.getList()
172
+    document.onkeyup = e => {
173
+      if (e.keyCode === 13) {
174
+        this.getList()
175
+      }
176
+    }
177
+  },
178
+  methods: {
179
+    getList() {
180
+      this.loading = true
181
+      return new Promise(resolve => {
182
+        const params = {
183
+          F_State: this.activeName, // 订单状态 -2全部
184
+          pageindex: 1, // int 第几页
185
+          pagesize: 1000000, // int 每页几条信息
186
+          F_ADFrom: this.searchData.adFrom, // 消息/广告来源
187
+          F_Type: this.searchData.type, // 订单类型
188
+          F_Id: this.searchData.id, // 订单号
189
+          F_Customer: this.searchData.customer, // 客户姓名
190
+          F_CustomerPhone: this.searchData.customerPhone, // 客户手机号
191
+          F_TrackingNo: this.searchData.trackingNo, // 运单号
192
+          SearchStartTime: this.searchData.searchTime && this.searchData.searchTime[0], // 添加开始时间
193
+          SearchEndTime: this.searchData.searchTime && this.searchData.searchTime[1], // 添加结束时间
194
+          F_IsExpress: 1, // -2全部 0客服未分配快递 1已分配
195
+          startexpress: this.searchData.expressTime && this.searchData.expressTime[0],
196
+          endexpress: this.searchData.expressTime && this.searchData.expressTime[1],
197
+          F_Express: 'EMS'
198
+        }
199
+        getOrderListCustomerService(params).then(response => {
200
+          this.loading = false
201
+          if (response.state.toLowerCase() === 'success') {
202
+            this.pageParams.total = response.data.Totals
203
+            this.dataLists = response.data.Rows
204
+          }
205
+        })
206
+        resolve()
207
+      })
208
+    },
209
+    // 获取订单类型
210
+    getOrderType() {
211
+      return new Promise(resolve => {
212
+        const params = {
213
+          isleaf: true,
214
+          code: 'ORDERTYPE'
215
+        }
216
+        getDictionaryValueList(params).then(response => {
217
+          if (response.state.toLowerCase() === 'success') {
218
+            this.orderType = response.data.Rows
219
+          }
220
+        })
221
+      })
222
+    },
223
+    handleTabClick(tab, event) {
224
+      this.getList()
225
+    },
226
+    btn_search() {
227
+      this.pageParams.pageindex = 1
228
+      this.getList()
229
+    },
230
+    // 提交
231
+    btn_submit(orderId) {
232
+      this.isDisable = true
233
+      setTimeout(() => {
234
+        this.$confirm('您确定提交吗?', '提示', {
235
+          confirmButtonText: '确定',
236
+          cancelButtonText: '取消',
237
+          type: 'warning'
238
+        })
239
+          .then(() => {
240
+            this.isDisable = false
241
+            const data = {
242
+              orderids: orderId
243
+            }
244
+            submitOrderCustomerService(data).then((response) => {
245
+              if (response.state.toLowerCase() === 'success') {
246
+                this.getList()
247
+                this.$message.success('提交成功!')
248
+              }
249
+            })
250
+          })
251
+          .catch(() => {
252
+            this.$message({
253
+              type: 'info',
254
+              message: '已取消提交'
255
+            })
256
+          })
257
+        this.isDisable = false
258
+      }, 300)
259
+    },
260
+    // 批量退回
261
+    btn_bulk_goback() {
262
+      if (this.selectOrderId.length < 1) {
263
+        this.$message({
264
+          message: '请选择订单!',
265
+          type: 'warning'
266
+        })
267
+        return
268
+      }
269
+      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
270
+      this.$layer.iframe({
271
+        content: {
272
+          content: goback, // 传递的组件对象
273
+          parent: this, // 当前的vue对象
274
+          data: { rowid: orderids } // props
275
+        },
276
+        area: ['30%', '30%'],
277
+        title: '退回订单'
278
+      })
279
+    },
280
+
281
+    // 批量提交
282
+    btn_bulk_submit() {
283
+      if (this.selectOrderId.length < 1) {
284
+        this.$message({
285
+          message: '请选择订单!',
286
+          type: 'warning'
287
+        })
288
+        return
289
+      }
290
+      this.isDisable = true
291
+      setTimeout(() => {
292
+        this.$confirm('您确定提交吗?', '提示', {
293
+          confirmButtonText: '确定',
294
+          cancelButtonText: '取消',
295
+          type: 'warning'
296
+        })
297
+          .then(() => {
298
+            this.isDisable = false
299
+            const data = {
300
+              orderids: this.selectOrderId.join(',').replace(/\s+/g, '')
301
+            }
302
+            submitOrderCustomerService(data).then((response) => {
303
+              if (response.state.toLowerCase() === 'success') {
304
+                this.getList()
305
+                this.$message.success('提交成功!')
306
+              }
307
+            })
308
+          })
309
+          .catch(() => {
310
+            this.$message({
311
+              type: 'info',
312
+              message: '已取消提交'
313
+            })
314
+          })
315
+        this.isDisable = false
316
+      }, 300)
317
+    },
318
+    // 退回订单
319
+    btn_goback(orderid) {
320
+      this.$layer.iframe({
321
+        content: {
322
+          content: goback, // 传递的组件对象
323
+          parent: this, // 当前的vue对象
324
+          data: { rowid: orderid } // props
325
+        },
326
+        area: ['30%', '30%'],
327
+        title: '退回订单'
328
+      })
329
+    },
330
+    // 导出
331
+    btn_export() {
332
+      const SearchStartTime = this.searchData.searchTime[0] == undefined ? '' : this.searchData.searchTime[0]
333
+      const SearchEndTime = this.searchData.searchTime[1] == undefined ? '' : this.searchData.searchTime[1]
334
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'api/order/getorderlistbykfpage?isdc=1' + '&F_State=' + this.activeName + '&SearchStartTime=' + SearchStartTime + '&SearchEndTime=' + SearchEndTime + '&F_Express=' + '京东快递'
335
+    },
336
+    // 导入附件提交
337
+    btn_import_submit() {
338
+      this.$layer.iframe({
339
+        content: {
340
+          content: importSubmit, // 传递的组件对象
341
+          parent: this, // 当前的vue对象
342
+          data: { rowid: '' } // props
343
+        },
344
+        area: ['30%', '30%'],
345
+        title: '导入附件提交'
346
+      })
347
+    },
348
+    hadndleOrderCode(ordercode) {
349
+      this.$layer.iframe({
350
+        content: {
351
+          content: detail, // 传递的组件对象
352
+          parent: this, // 当前的vue对象
353
+          data: { 'rowid': ordercode }// props
354
+        },
355
+        area: ['80%', '90%'],
356
+        title: '订单详情'
357
+      })
358
+    },
359
+    // 选择多个
360
+    handleSelectionChange(val) {
361
+      const ids = []
362
+      this.multipleSelection = val
363
+      for (let i = 0; i < this.multipleSelection.length; i++) {
364
+        ids.push(this.multipleSelection[i].F_Id)
365
+      }
366
+      this.selectOrderId = ids
367
+    }
368
+  }
369
+}
370
+</script>
371
+
372
+<style rel="stylesheet/scss" lang="scss" scoped>
373
+.el{
374
+  cursor: pointer;
375
+}
376
+</style>

+ 1 - 1
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceRhyme/index.vue

@@ -195,7 +195,7 @@ export default {
195 195
           F_PayState: -2, // 支付状态-2 全部0待回款 1已完成 2待退款 3已完成
196 196
           startexpress: this.searchData.expressTime && this.searchData.expressTime[0],
197 197
           endexpress: this.searchData.expressTime && this.searchData.expressTime[1],
198
-          F_Express: '韵达快递'
198
+          F_Express: '京东袜子'
199 199
         }
200 200
         getOrderListCustomerService(params).then(response => {
201 201
           this.loading = false

+ 1 - 1
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceSTO/index.vue

@@ -196,7 +196,7 @@ export default {
196 196
           F_PayState: -2, // 支付状态-2 全部0待回款 1已完成 2待退款 3已完成
197 197
           startexpress: this.searchData.expressTime && this.searchData.expressTime[0],
198 198
           endexpress: this.searchData.expressTime && this.searchData.expressTime[1],
199
-          F_Express: '申通快递'
199
+          F_Express: '汇通袜子'
200 200
         }
201 201
         getOrderListCustomerService(params).then(response => {
202 202
           this.loading = false

+ 1 - 1
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceYuantong/index.vue

@@ -196,7 +196,7 @@ export default {
196 196
           F_PayState: -2, // 支付状态-2 全部0待回款 1已完成 2待退款 3已完成
197 197
           startexpress: this.searchData.expressTime && this.searchData.expressTime[0],
198 198
           endexpress: this.searchData.expressTime && this.searchData.expressTime[1],
199
-          F_Express: '通快递'
199
+          F_Express: '通快递'
200 200
         }
201 201
         getOrderListCustomerService(params).then(response => {
202 202
           this.loading = false

+ 1 - 1
CallCenterWeb.UI/src/views/customerServiceManagement/orderListCustomerServiceZhongtong/index.vue

@@ -197,7 +197,7 @@ export default {
197 197
           F_PayState: -2, // 支付状态-2 全部0待回款 1已完成 2待退款 3已完成
198 198
           startexpress: this.searchData.expressTime && this.searchData.expressTime[0],
199 199
           endexpress: this.searchData.expressTime && this.searchData.expressTime[1],
200
-          F_Express: '中通快递'
200
+          F_Express: '邮政小包'
201 201
         }
202 202
         getOrderListCustomerService(params).then(response => {
203 203
           this.loading = false

+ 166 - 216
CallCenterWeb.UI/src/views/customerServiceManagement/orderListLogistics/index.vue

@@ -1,60 +1,16 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchTime"
6
-        :picker-options="pickerOptions"
7
-        class="filter-item"
8
-        type="daterange"
9
-        format="yyyy年MM月dd日"
10
-        value-format="yyyy-MM-dd"
11
-        unlink-panels
12
-        range-separator="至"
13
-        start-placeholder="开始日期"
14
-        end-placeholder="结束日期"
15
-      />
16
-      <!-- :clearable="false" -->
17
-      <!-- align="left" -->
18
-      <el-cascader
19
-        ref="myCascader"
20
-        v-model="searchData.provinceCity"
21
-        :options="provinceCityDatas"
22
-        :props="props"
23
-        placeholder="请选择地区"
24
-        class="form_select area"
25
-        clearable
26
-        change-on-select
27
-        @change="handleItemChange"
28
-      />
29
-      <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
30
-      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" />
31
-      <el-select
32
-        v-model="searchData.F_AddDes"
33
-        placeholder="请选择送货说明"
34
-        class="form_select"
35
-        clearable
36
-      >
37
-        <el-option
38
-          v-for="item in addDesList"
39
-          :key="item.F_Value"
40
-          :label="item.F_Value"
41
-          :value="item.F_Value"
42
-        />
4
+      <el-date-picker v-model="searchTime" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <el-cascader ref="myCascader" v-model="searchData.provinceCity" :options="provinceCityDatas" :props="props" placeholder="请选择地区" class="form_select area filter-item" clearable change-on-select @change="handleItemChange" />
6
+      <!-- <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
7
+      <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" /> -->
8
+      <el-select v-model="searchData.F_AddDes" placeholder="请选择送货说明" class="form_select filter-item" clearable>
9
+        <el-option v-for="item in addDesList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
43 10
       </el-select>
44 11
       <el-input v-model="searchData.adFrom" placeholder="请输入消息来源" class="filter-item" />
45
-      <el-select
46
-        v-model="searchData.type"
47
-        class="filter-item"
48
-        filterable
49
-        clearable
50
-        placeholder="请选择订单类型"
51
-      >
52
-        <el-option
53
-          v-for="item in orderType"
54
-          :key="item.F_Value"
55
-          :label="item.F_Value"
56
-          :value="item.F_Value"
57
-        />
12
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择订单类型">
13
+        <el-option v-for="item in orderType" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
58 14
       </el-select>
59 15
       <el-input v-model="searchData.id" placeholder="请输入订单编号" class="filter-item" />
60 16
       <!-- <el-input v-model="searchData.customer" placeholder="请输入客户姓名" class="filter-item" />
@@ -72,56 +28,27 @@
72 28
         <el-option label="待退款" value="2"></el-option>
73 29
         <el-option label="已退款" value="3"></el-option>
74 30
       </el-select> -->
75
-      <el-select
76
-        v-model="searchData.stock"
77
-        class="filter-item"
78
-        filterable
79
-        clearable
80
-        placeholder="请选择仓库"
81
-        @change="changeStock"
82
-      >
83
-        <el-option
84
-          v-for="item in warehouseNameList"
85
-          :key="item.F_Value"
86
-          :label="item.F_Value"
87
-          :value="item.F_Value"
88
-        />
31
+      <el-select v-model="searchData.stock" class="filter-item" filterable clearable placeholder="请选择仓库" @change="changeStock">
32
+        <el-option v-for="item in warehouseNameList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
89 33
       </el-select>
90 34
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
91
-      <!-- <el-button
92
-        type="primary"
93
-        class="filter-item"
94
-        @click="btn_waybill_number_import"
95
-      >运单号导入</el-button> -->
96
-      <!-- <el-button v-permission="'HY_merge'" type="primary" class="filter-item" @click="btn_merge">合并</el-button> -->
97 35
       <el-button v-permission="'HY_bulk_logistics'" type="primary" class="filter-item" @click="btn_bulk_logistics">批量分物流</el-button>
98 36
       <el-button v-permission="'HY_bulk_goback'" type="primary" class="filter-item" @click="btn_bulk_goback">批量退回</el-button>
99 37
       <el-button v-permission="'HY_export'" type="primary" class="filter-item" @click="btn_export">导出</el-button>
100 38
       <el-button v-permission="'HY_import_goback'" type="primary" class="filter-item" @click="btn_import_goback">导入附件退回</el-button>
101 39
     </div>
102 40
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
103
-      <el-tab-pane label="待分物流" name="8"/>
41
+      <el-tab-pane label="待分物流" name="8" />
104 42
     </el-tabs>
105 43
     <div>
106 44
       <span>订单数量:{{ pageParams.total }}</span>
107 45
     </div>
108
-    <el-table
109
-      v-loading="loading"
110
-      :data="dataLists"
111
-      border
112
-      stripe
113
-      row-key="F_Id"
114
-      @selection-change="handleSelectionChange"
115
-    >
116
-      <el-table-column :reserve-selection="true" type="selection"/>
46
+    <el-table v-loading="loading" :data="dataLists" border stripe row-key="F_Id" @selection-change="handleSelectionChange">
47
+      <el-table-column :reserve-selection="true" type="selection" />
117 48
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
118 49
       <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180">
119 50
         <template slot-scope="scope">
120
-          <el-button
121
-            type="text"
122
-            size="small"
123
-            @click="hadndleOrderCode(scope.row.F_Id)"
124
-          >{{ scope.row.F_Id }}</el-button>
51
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
125 52
         </template>
126 53
       </el-table-column>
127 54
       <el-table-column prop="F_Customer" label="客户姓名" align="center" min-width />
@@ -136,25 +63,16 @@
136 63
       <el-table-column label="地址" align="center">
137 64
         <template slot-scope="scope">{{ scope.row | judgmentAddress }}</template>
138 65
       </el-table-column>
139
-      <el-table-column prop="F_PayType" label="付款类型" align="center"/>
140
-      <el-table-column prop="F_RealPrice" label="付款金额" align="center"/>
141
-      <el-table-column prop="F_AddDes" label="送货说明" align="center"/>
66
+      <el-table-column prop="F_PayType" label="付款类型" align="center" />
67
+      <el-table-column prop="F_RealPrice" label="付款金额" align="center" sortable min-width="100" />
68
+      <el-table-column prop="F_AddDes" label="送货说明" align="center" />
142 69
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
143 70
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
144 71
       <el-table-column prop="F_Type" label="订单类型" align="center" />
145 72
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
146 73
         <template slot-scope="scope">
147
-          <el-button
148
-            v-permission="'HY_logistics'"
149
-            type="text"
150
-            @click="btn_logistics(scope.row.F_Id, scope.row.F_Stock)"
151
-          >分物流</el-button>
152
-          <el-button
153
-            v-permission="'HY_goback'"
154
-            type="text"
155
-            @click="btn_goback(scope.row.F_Id)"
156
-          >客服退回</el-button>
157
-
74
+          <el-button v-permission="'HY_logistics'" type="text" @click="btn_logistics(scope.row.F_Id, scope.row.F_Stock)">分物流</el-button>
75
+          <el-button v-permission="'HY_goback'" type="text" @click="btn_goback(scope.row.F_Id)">客服退回</el-button>
158 76
           <!-- <el-button v-permission="'HY_label'" type="text" @click="btn_label(scope.row.F_Id)">标签</el-button> -->
159 77
         </template>
160 78
       </el-table-column>
@@ -171,38 +89,38 @@
171 89
 </template>
172 90
 
173 91
 <script>
174
-import { getDictionaryValueList, getProviceCityById } from '@/api/commonAPI'
175
-import { getOrderListCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
176
-import { pickerOptions, formatterContent } from '@/utils'
177
-import importGoback from './importGoback'
178
-import goback from './goback'
179
-import logistics from './logistics'
180
-import detail from '@/views/orderManagement/orderList/detail'
181
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
182
-import { gobackOrderCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
92
+import { getDictionaryValueList, getProviceCityById } from "@/api/commonAPI"
93
+import { getOrderListCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
94
+import { pickerOptions, formatterContent } from "@/utils"
95
+import importGoback from "./importGoback"
96
+import goback from "./goback"
97
+import logistics from "./logistics"
98
+import detail from "@/views/orderManagement/orderList/detail"
99
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
100
+import { gobackOrderCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
183 101
 export default {
184
-  name: 'OrderListCustomerService',
102
+  name: "OrderListCustomerService",
185 103
   components: {
186
-    Pagination
104
+    Pagination,
187 105
   },
188 106
   filters: {
189 107
     judgmentStateName(status) {
190 108
       const statusMap = {
191
-        '0': '未提交',
192
-        '1': '待分仓',
193
-        '2': '已退回',
194
-        '3': '已分仓',
195
-        '4': '无货',
196
-        '5': '仓库待审核',
197
-        '6': '已发货',
198
-        '7': '付款待审核',
199
-        '8': '待分物流',
200
-        '9': '物流未通过'
109
+        0: "未提交",
110
+        1: "待分仓",
111
+        2: "已退回",
112
+        3: "已分仓",
113
+        4: "无货",
114
+        5: "仓库待审核",
115
+        6: "已发货",
116
+        7: "付款待审核",
117
+        8: "待分物流",
118
+        9: "物流未通过",
201 119
       }
202 120
       return statusMap[status]
203 121
     },
204 122
     judgmentOrderGoods(status) {
205
-      let orderGoodsNameQuantity = ''
123
+      let orderGoodsNameQuantity = ""
206 124
       for (let i = 0; i < status.length; i++) {
207 125
         orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
208 126
       }
@@ -210,62 +128,62 @@ export default {
210 128
       return orderGoodsNameQuantity
211 129
     },
212 130
     judgmentAddress(data) {
213
-      const addProvince = data.F_AddProvince === null ? '' : data.F_AddProvince // 省
214
-      const addCity = data.F_AddCity === null ? '' : data.F_AddCity // 市
215
-      const addArea = data.F_AddArea === null ? '' : data.F_AddArea // 县/区
216
-      const addTown = data.F_AddTown === null ? '' : data.F_AddTown // 乡/镇
217
-      const address = data.F_Address === null ? '' : data.F_Address // 详细地址
131
+      const addProvince = data.F_AddProvince === null ? "" : data.F_AddProvince // 省
132
+      const addCity = data.F_AddCity === null ? "" : data.F_AddCity // 市
133
+      const addArea = data.F_AddArea === null ? "" : data.F_AddArea // 县/区
134
+      const addTown = data.F_AddTown === null ? "" : data.F_AddTown // 乡/镇
135
+      const address = data.F_Address === null ? "" : data.F_Address // 详细地址
218 136
       const addressStr = addProvince + addCity + addArea + addTown + address // 地址
219 137
       return addressStr
220
-    }
138
+    },
221 139
   },
222 140
   data() {
223 141
     return {
224 142
       loading: false,
225 143
       warehouseNameList: [], // 仓库名称
226
-      logisticsStock: '', // 物流仓库
144
+      logisticsStock: "", // 物流仓库
227 145
       searchData: {
228
-        adFrom: '', // 消息/广告媒体来源
229
-        type: '', // 订单类型
230
-        id: '', // 订单号
231
-        customer: '', // 客户姓名
232
-        customerPhone: '', // 客户手机号
233
-        trackingNo: '', // 运单号
234
-        payState: '', // 交易状态
146
+        adFrom: "", // 消息/广告媒体来源
147
+        type: "", // 订单类型
148
+        id: "", // 订单号
149
+        customer: "", // 客户姓名
150
+        customerPhone: "", // 客户手机号
151
+        trackingNo: "", // 运单号
152
+        payState: "", // 交易状态
235 153
         provinceCity: [], // 省市县
236
-        minprice: '', // 最低金额
237
-        maxprice: '', // 最高金额
238
-        F_AddDes: '', // 送货说明
239
-        stock: ''
154
+        minprice: "", // 最低金额
155
+        maxprice: "", // 最高金额
156
+        F_AddDes: "", // 送货说明
157
+        stock: "",
240 158
       },
241 159
       searchTime: [], // 订单时间
242
-      activeName: '8', // 标签切换首页
160
+      activeName: "8", // 标签切换首页
243 161
       provinceCityDatas: [], // 省市下拉数据
244 162
       provinceCityText: [], // 省市下拉绑定的值
245 163
       props: {
246 164
         // 自定义省市下拉数据的key值
247
-        value: 'id',
248
-        label: 'text',
249
-        children: 'children'
165
+        value: "id",
166
+        label: "text",
167
+        children: "children",
250 168
       },
251 169
       addDesList: [], // 送货说明
252 170
       pickerOptions, // 日期数据
253 171
       pageParams: {
254 172
         pageindex: 1, // 当前第几页
255 173
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
256
-        total: 0 // 总共多少数据
174
+        total: 0, // 总共多少数据
257 175
       },
258 176
       dataLists: [], // 列表数据
259 177
       multipleSelection: [], // 选中的数据
260 178
       selectedId: [], // 选中的数据的id
261 179
       orderType: [], // 订单类型
262
-      selectOrderId: [] // 合并订单id
180
+      selectOrderId: [], // 合并订单id
263 181
     }
264 182
   },
265 183
   watch: {
266 184
     searchTime(newVal, oldVal) {
267 185
       !newVal && (this.searchTime = [])
268
-    }
186
+    },
269 187
   },
270 188
   created() {
271 189
     if (this.$route.params.id) {
@@ -277,7 +195,7 @@ export default {
277 195
     this.getProCity()
278 196
     this.getAddDesList()
279 197
     this.getwarehouseName()
280
-    document.onkeyup = e => {
198
+    document.onkeyup = (e) => {
281 199
       if (e.keyCode === 13) {
282 200
         this.getList()
283 201
       }
@@ -286,7 +204,7 @@ export default {
286 204
   methods: {
287 205
     getList() {
288 206
       this.loading = true
289
-      return new Promise(resolve => {
207
+      return new Promise((resolve) => {
290 208
         const params = {
291 209
           F_State: this.activeName, // 订单状态
292 210
           pageindex: 1, // int 第几页
@@ -297,11 +215,11 @@ export default {
297 215
           F_Customer: this.searchData.customer, // 客户姓名
298 216
           F_CustomerPhone: this.searchData.customerPhone, // 客户手机号
299 217
           F_TrackingNo: this.searchData.trackingNo, // 运单号
300
-          SearchStartTime: this.searchTime[0] == null ? '' : this.searchTime[0], // 添加开始时间
301
-          SearchEndTime: this.searchTime[1] == null ? '' : this.searchTime[1], // 添加结束时间
218
+          SearchStartTime: this.searchTime[0] == null ? "" : this.searchTime[0], // 添加开始时间
219
+          SearchEndTime: this.searchTime[1] == null ? "" : this.searchTime[1], // 添加结束时间
302 220
           PayState: this.searchData.payState, // 交易状态
303 221
           F_IsExpress: 0, // -2全部 0客服未分配快递 1已分配
304
-          state: '',
222
+          state: "",
305 223
           F_AddProvince: this.provinceCityText && this.provinceCityText[0], // 省份
306 224
           F_AddCity: this.provinceCityText[1] && this.provinceCityText[1], // 市
307 225
           F_AddArea: this.provinceCityText[2] && this.provinceCityText[2], // 县区
@@ -309,11 +227,11 @@ export default {
309 227
           minprice: this.searchData.minprice, // 最低金额
310 228
           maxprice: this.searchData.maxprice, // 最高金额
311 229
           F_AddDes: this.searchData.F_AddDes, // 送货说明
312
-          F_Stock: this.searchData.stock // 仓库
230
+          F_Stock: this.searchData.stock, // 仓库
313 231
         }
314
-        getOrderListCustomerService(params).then(response => {
232
+        getOrderListCustomerService(params).then((response) => {
315 233
           this.loading = false
316
-          if (response.state.toLowerCase() === 'success') {
234
+          if (response.state.toLowerCase() === "success") {
317 235
             this.pageParams.total = response.data.Totals
318 236
             this.dataLists = response.data.Rows
319 237
           }
@@ -327,21 +245,21 @@ export default {
327 245
       const year = now.getFullYear() // 得到年份
328 246
       let month = now.getMonth() + 1 // 得到月份
329 247
       let date = now.getDate() // 得到日期
330
-      const hour = ' 00:00:00' // 默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
331
-      month = month.toString().padStart(2, '0')
332
-      date = date.toString().padStart(2, '0')
248
+      const hour = " 00:00:00" // 默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
249
+      month = month.toString().padStart(2, "0")
250
+      date = date.toString().padStart(2, "0")
333 251
       const defaultDate = `${year}-${month}-${date}`
334 252
       this.searchTime = [defaultDate, defaultDate]
335 253
     },
336 254
     // 获取仓库名称
337 255
     getwarehouseName() {
338
-      return new Promise(resolve => {
256
+      return new Promise((resolve) => {
339 257
         const params = {
340 258
           isleaf: true,
341
-          code: 'STOCK'
259
+          code: "STOCK",
342 260
         }
343
-        getDictionaryValueList(params).then(response => {
344
-          if (response.state.toLowerCase() === 'success') {
261
+        getDictionaryValueList(params).then((response) => {
262
+          if (response.state.toLowerCase() === "success") {
345 263
             this.warehouseNameList = response.data.Rows
346 264
           }
347 265
         })
@@ -349,13 +267,13 @@ export default {
349 267
     },
350 268
     // 获取订单类型
351 269
     getOrderType() {
352
-      return new Promise(resolve => {
270
+      return new Promise((resolve) => {
353 271
         const params = {
354 272
           isleaf: true,
355
-          code: 'ORDERTYPE'
273
+          code: "ORDERTYPE",
356 274
         }
357
-        getDictionaryValueList(params).then(response => {
358
-          if (response.state.toLowerCase() === 'success') {
275
+        getDictionaryValueList(params).then((response) => {
276
+          if (response.state.toLowerCase() === "success") {
359 277
             this.orderType = response.data.Rows
360 278
           }
361 279
         })
@@ -366,10 +284,10 @@ export default {
366 284
       return new Promise((resolve) => {
367 285
         const params = {
368 286
           isleaf: true,
369
-          code: 'DELIVERYDES'
287
+          code: "DELIVERYDES",
370 288
         }
371 289
         getDictionaryValueList(params).then((response) => {
372
-          if (response.state.toLowerCase() === 'success') {
290
+          if (response.state.toLowerCase() === "success") {
373 291
             this.addDesList = response.data.Rows
374 292
           }
375 293
         })
@@ -388,10 +306,10 @@ export default {
388 306
         content: {
389 307
           content: edit, // 传递的组件对象
390 308
           parent: this, // 当前的vue对象
391
-          data: { rowid: editId } // props
309
+          data: { rowid: editId }, // props
392 310
         },
393
-        area: ['80%', '90%'],
394
-        title: '编辑订单'
311
+        area: ["80%", "90%"],
312
+        title: "编辑订单",
395 313
       })
396 314
     },
397 315
     // 导入
@@ -400,31 +318,31 @@ export default {
400 318
         content: {
401 319
           content: importWaybillNumber, // 传递的组件对象
402 320
           parent: this, // 当前的vue对象
403
-          data: { 'rowid': '' }// props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
321
+          data: { rowid: "" }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
404 322
         },
405
-        area: ['40%', '380px'],
323
+        area: ["40%", "380px"],
406 324
         shadeClose: false,
407
-        title: '导入订单信息'
325
+        title: "导入订单信息",
408 326
       })
409 327
     },
410 328
     // 批量分物流
411 329
     btn_bulk_logistics() {
412 330
       if (this.selectOrderId.length < 1) {
413 331
         this.$message({
414
-          message: '请选择订单!',
415
-          type: 'warning'
332
+          message: "请选择订单!",
333
+          type: "warning",
416 334
         })
417 335
         return
418 336
       }
419
-      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
337
+      const orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
420 338
       this.$layer.iframe({
421 339
         content: {
422 340
           content: logistics, // 传递的组件对象
423 341
           parent: this, // 当前的vue对象
424
-          data: { rowid: orderids, stock: this.logisticsStock } // props
342
+          data: { rowid: orderids, stock: this.logisticsStock }, // props
425 343
         },
426
-        area: ['30%', '30%'],
427
-        title: '物流'
344
+        area: ["30%", "30%"],
345
+        title: "物流",
428 346
       })
429 347
     },
430 348
     // 分物流
@@ -433,30 +351,30 @@ export default {
433 351
         content: {
434 352
           content: logistics, // 传递的组件对象
435 353
           parent: this, // 当前的vue对象
436
-          data: { rowid: orderid, stock: stock } // props
354
+          data: { rowid: orderid, stock: stock }, // props
437 355
         },
438
-        area: ['30%', '30%'],
439
-        title: '物流'
356
+        area: ["30%", "30%"],
357
+        title: "物流",
440 358
       })
441 359
     },
442 360
     // 批量退回销售
443 361
     btn_bulk_goback() {
444 362
       if (this.selectOrderId.length < 1) {
445 363
         this.$message({
446
-          message: '请选择订单!',
447
-          type: 'warning'
364
+          message: "请选择订单!",
365
+          type: "warning",
448 366
         })
449 367
         return
450 368
       }
451
-      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
369
+      const orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
452 370
       this.$layer.iframe({
453 371
         content: {
454 372
           content: goback, // 传递的组件对象
455 373
           parent: this, // 当前的vue对象
456
-          data: { rowid: orderids } // props
374
+          data: { rowid: orderids }, // props
457 375
         },
458
-        area: ['30%', '30%'],
459
-        title: '退回订单'
376
+        area: ["30%", "30%"],
377
+        title: "退回订单",
460 378
       })
461 379
     },
462 380
 
@@ -466,22 +384,44 @@ export default {
466 384
         content: {
467 385
           content: goback, // 传递的组件对象
468 386
           parent: this, // 当前的vue对象
469
-          data: { rowid: orderid } // props
387
+          data: { rowid: orderid }, // props
470 388
         },
471
-        area: ['30%', '30%'],
472
-        title: '退回订单'
389
+        area: ["30%", "30%"],
390
+        title: "退回订单",
473 391
       })
474 392
     },
475 393
 
476 394
     // 导出
477 395
     btn_export() {
478
-      const SearchStartTime = this.searchTime[0] == undefined ? '' : this.searchTime[0]
479
-      const SearchEndTime = this.searchTime[1] == undefined ? '' : this.searchTime[1]
480
-      const F_AddProvince = this.provinceCityText[0] == undefined ? '' : this.provinceCityText[0]
481
-      const F_AddCity = this.provinceCityText[1] == undefined ? '' : this.provinceCityText[1]
482
-      const F_AddArea = this.provinceCityText[2] == undefined ? '' : this.provinceCityText[2]
483
-      const F_AddTown = this.provinceCityText[3] == undefined ? '' : this.provinceCityText[3]
484
-      window.location.href = this.$store.getters.serverConfig.BASE_API + 'api/order/getorderlistbykfpage?isdc=1' + '&F_State=' + this.activeName + '&SearchStartTime=' + SearchStartTime + '&SearchEndTime=' + SearchEndTime + '&F_AddProvince=' + F_AddProvince + '&F_AddCity=' + F_AddCity + '&F_AddArea=' + F_AddArea + '&F_AddTown=' + F_AddTown + '&minprice=' + this.searchData.minprice + '&maxprice=' + this.searchData.maxprice + '&F_AddDes=' + this.searchData.F_AddDes
396
+      const SearchStartTime = this.searchTime[0] == undefined ? "" : this.searchTime[0]
397
+      const SearchEndTime = this.searchTime[1] == undefined ? "" : this.searchTime[1]
398
+      const F_AddProvince = this.provinceCityText[0] == undefined ? "" : this.provinceCityText[0]
399
+      const F_AddCity = this.provinceCityText[1] == undefined ? "" : this.provinceCityText[1]
400
+      const F_AddArea = this.provinceCityText[2] == undefined ? "" : this.provinceCityText[2]
401
+      const F_AddTown = this.provinceCityText[3] == undefined ? "" : this.provinceCityText[3]
402
+      window.location.href =
403
+        this.$store.getters.serverConfig.BASE_API +
404
+        "api/order/getorderlistbykfpage?isdc=1" +
405
+        "&F_State=" +
406
+        this.activeName +
407
+        "&SearchStartTime=" +
408
+        SearchStartTime +
409
+        "&SearchEndTime=" +
410
+        SearchEndTime +
411
+        "&F_AddProvince=" +
412
+        F_AddProvince +
413
+        "&F_AddCity=" +
414
+        F_AddCity +
415
+        "&F_AddArea=" +
416
+        F_AddArea +
417
+        "&F_AddTown=" +
418
+        F_AddTown +
419
+        "&minprice=" +
420
+        this.searchData.minprice +
421
+        "&maxprice=" +
422
+        this.searchData.maxprice +
423
+        "&F_AddDes=" +
424
+        this.searchData.F_AddDes
485 425
     },
486 426
     // 导入附件退回
487 427
     btn_import_goback() {
@@ -489,10 +429,10 @@ export default {
489 429
         content: {
490 430
           content: importGoback, // 传递的组件对象
491 431
           parent: this, // 当前的vue对象
492
-          data: { rowid: '' } // props
432
+          data: { rowid: "" }, // props
493 433
         },
494
-        area: ['30%', '30%'],
495
-        title: '导入附件退回'
434
+        area: ["30%", "30%"],
435
+        title: "导入附件退回",
496 436
       })
497 437
     },
498 438
     // 订单详情
@@ -501,10 +441,10 @@ export default {
501 441
         content: {
502 442
           content: detail, // 传递的组件对象
503 443
           parent: this, // 当前的vue对象
504
-          data: { 'rowid': ordercode }// props
444
+          data: { rowid: ordercode }, // props
505 445
         },
506
-        area: ['80%', '90%'],
507
-        title: '订单详情'
446
+        area: ["80%", "90%"],
447
+        title: "订单详情",
508 448
       })
509 449
     },
510 450
     // 选择多个
@@ -524,19 +464,15 @@ export default {
524 464
         .catch((err) => {})
525 465
     },
526 466
     handleItemChange(val) {
527
-      this.provinceCityText = this.$refs['myCascader'].currentLabels
467
+      this.provinceCityText = this.$refs["myCascader"].currentLabels
528 468
       const pid = val ? val[val.length - 1] : 1 // id值
529 469
       this.level = val.length + 1 // 判断第几级
530
-      this.provinceCityDatas = this.handleData(
531
-        this.provinceCityDatas,
532
-        pid,
533
-        this.level
534
-      )
470
+      this.provinceCityDatas = this.handleData(this.provinceCityDatas, pid, this.level)
535 471
     },
536 472
     handleData(data, val, level) {
537 473
       for (let i = 0; i < data.length; i++) {
538 474
         if (!data[i].children) {
539
-          this.$set(data[i], 'children', [])
475
+          this.$set(data[i], "children", [])
540 476
         }
541 477
         if (data[i].id === val) {
542 478
           getProviceCityById({ pid: val })
@@ -545,7 +481,7 @@ export default {
545 481
                 data[i].children = res.data
546 482
                 if (this.level !== 4) {
547 483
                   data[i].children.forEach((ele) => {
548
-                    this.$set(ele, 'children', [])
484
+                    this.$set(ele, "children", [])
549 485
                   })
550 486
                 }
551 487
               } else {
@@ -563,12 +499,26 @@ export default {
563 499
     },
564 500
     changeStock(val) {
565 501
       this.logisticsStock = val
566
-    }
567
-  }
502
+    },
503
+  },
568 504
 }
569 505
 </script>
570 506
 
571 507
 <style rel="stylesheet/scss" lang="scss" scoped>
508
+.filter-container {
509
+  .el-select {
510
+    margin-right: 10px;
511
+  }
512
+  .el-date-editor {
513
+    margin-right: 10px;
514
+  }
515
+  .el-cascader {
516
+    margin-right: 10px;
517
+  }
518
+  .filter-item {
519
+    vertical-align: top;
520
+  }
521
+}
572 522
 .el {
573 523
   cursor: pointer;
574 524
 }

+ 24 - 35
CallCenterWeb.UI/src/views/customerServiceManagement/orderListLogistics/logistics.vue

@@ -2,19 +2,8 @@
2 2
   <div>
3 3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="80px">
4 4
       <el-form-item label="快递" prop="express">
5
-        <el-select
6
-          v-model="ruleForm.express"
7
-          class="form_select"
8
-          filterable
9
-          clearable
10
-          placeholder="请选择快递"
11
-        >
12
-          <el-option
13
-            v-for="item in expressList"
14
-            :key="item.F_Value"
15
-            :label="item.F_Value"
16
-            :value="item.F_Value"
17
-          />
5
+        <el-select v-model="ruleForm.express" class="form_select" filterable clearable placeholder="请选择快递">
6
+          <el-option v-for="item in expressList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
18 7
         </el-select>
19 8
       </el-form-item>
20 9
       <el-form-item>
@@ -25,7 +14,7 @@
25 14
 </template>
26 15
 <script>
27 16
 import { logisticsOrderCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
28
-import { getDictionaryValueList } from '@/api/commonAPI'
17
+import { getDictionaryValueList } from "@/api/commonAPI"
29 18
 export default {
30 19
   props: {
31 20
     rowid: {
@@ -38,7 +27,7 @@ export default {
38 27
     },
39 28
     stock: {
40 29
       type: String,
41
-      defaulat: '',
30
+      defaulat: "",
42 31
     },
43 32
   },
44 33
   data() {
@@ -51,60 +40,60 @@ export default {
51 40
         express: [
52 41
           {
53 42
             required: true,
54
-            trigger: 'change',
55
-            message: '请选择快递'
56
-          }
43
+            trigger: "change",
44
+            message: "请选择快递",
45
+          },
57 46
         ],
58 47
       },
59 48
       expressList: [], // 仓库名称
60
-    };
49
+    }
61 50
   },
62 51
   created() {
63 52
     this.getExpress()
64 53
     if (this.rowid) {
65
-      this.ruleForm.orderids = this.rowid;
54
+      this.ruleForm.orderids = this.rowid
66 55
     }
67 56
   },
68 57
   methods: {
69 58
     submitForm() {
70
-      this.$refs.ruleForm.validate(valid => {
59
+      this.$refs.ruleForm.validate((valid) => {
71 60
         if (valid) {
72 61
           logisticsOrderCustomerService(this.ruleForm)
73 62
             .then((response) => {
74 63
               if (response.state.toLowerCase() === "success") {
75
-                this.$parent.$layer.close(this.layerid);
76
-                this.$parent.getList(); // 重新加载父级数据
77
-                this.$message.success("恭喜你,操作成功!");
64
+                this.$parent.$layer.close(this.layerid)
65
+                this.$parent.getList() // 重新加载父级数据
66
+                this.$message.success("恭喜你,操作成功!")
78 67
               }
79 68
             })
80 69
             .catch(() => {
81
-              this.loading = false;
82
-            });
70
+              this.loading = false
71
+            })
83 72
         }
84 73
       })
85 74
     },
86 75
     // 快递
87
-    getExpress () {
88
-      return new Promise(resolve => {
76
+    getExpress() {
77
+      return new Promise((resolve) => {
89 78
         const params = {
90 79
           isleaf: true,
91
-          code: 'EXPRESS'
80
+          code: "EXPRESS",
92 81
         }
93
-        getDictionaryValueList(params).then(response => {
94
-          if (response.state.toLowerCase() === 'success') {
82
+        getDictionaryValueList(params).then((response) => {
83
+          if (response.state.toLowerCase() === "success") {
95 84
             const res = response.data.Rows
96 85
             if (this.stock === "山西仓") {
97 86
               res.forEach((e, i) => {
98 87
                 if (e.F_Value === "山西顺丰") {
99 88
                   this.expressList.push(e)
100 89
                 }
101
-              });
90
+              })
102 91
             } else if (this.stock === "新乡仓") {
103 92
               res.forEach((e, i) => {
104 93
                 if (e.F_Value !== "山西顺丰") {
105 94
                   this.expressList.push(e)
106 95
                 }
107
-              });
96
+              })
108 97
             } else {
109 98
               this.expressList = res
110 99
             }
@@ -113,10 +102,10 @@ export default {
113 102
       })
114 103
     },
115 104
   },
116
-};
105
+}
117 106
 </script>
118 107
 <style lang="scss" scoped>
119 108
 .form_select {
120 109
   width: 100%;
121 110
 }
122
-</style>
111
+</style>

+ 184 - 238
CallCenterWeb.UI/src/views/customerServiceManagement/orderListPending/index.vue

@@ -1,60 +1,16 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchTime"
6
-        :picker-options="pickerOptions"
7
-        class="filter-item"
8
-        type="daterange"
9
-        format="yyyy年MM月dd日"
10
-        value-format="yyyy-MM-dd"
11
-        unlink-panels
12
-        range-separator="至"
13
-        start-placeholder="开始日期"
14
-        end-placeholder="结束日期"
15
-      />
16
-      <!-- :clearable="false" -->
17
-      <!-- align="left" -->
18
-      <el-cascader
19
-        ref="myCascader"
20
-        v-model="searchData.provinceCity"
21
-        :options="provinceCityDatas"
22
-        :props="props"
23
-        placeholder="请选择地区"
24
-        class="form_select area"
25
-        clearable
26
-        change-on-select
27
-        @change="handleItemChange"
28
-      />
4
+      <el-date-picker v-model="searchTime" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <el-cascader ref="myCascader" v-model="searchData.provinceCity" :options="provinceCityDatas" :props="props" placeholder="请选择地区" class="form_select area filter-item" clearable change-on-select @change="handleItemChange" />
29 6
       <!-- <el-input v-model="searchData.minprice" placeholder="请输入最低金额" class="filter-item" />
30 7
       <el-input v-model="searchData.maxprice" placeholder="请输入最高金额" class="filter-item" /> -->
31
-      <el-select
32
-        v-model="searchData.F_AddDes"
33
-        placeholder="请选择送货说明"
34
-        class="form_select"
35
-        clearable
36
-      >
37
-        <el-option
38
-          v-for="item in addDesList"
39
-          :key="item.F_Value"
40
-          :label="item.F_Value"
41
-          :value="item.F_Value"
42
-        />
8
+      <el-select v-model="searchData.F_AddDes" placeholder="请选择送货说明" class="form_select filter-item" clearable>
9
+        <el-option v-for="item in addDesList" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
43 10
       </el-select>
44 11
       <el-input v-model="searchData.adFrom" placeholder="请输入消息来源" class="filter-item" />
45
-      <el-select
46
-        v-model="searchData.type"
47
-        class="filter-item"
48
-        filterable
49
-        clearable
50
-        placeholder="请选择订单类型"
51
-      >
52
-        <el-option
53
-          v-for="item in orderType"
54
-          :key="item.F_Value"
55
-          :label="item.F_Value"
56
-          :value="item.F_Value"
57
-        />
12
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择订单类型">
13
+        <el-option v-for="item in orderType" :key="item.F_Value" :label="item.F_Value" :value="item.F_Value" />
58 14
       </el-select>
59 15
       <el-input v-model="searchData.id" placeholder="请输入订单编号" class="filter-item" />
60 16
       <el-input v-model="searchData.keywords" placeholder="请输入关键字" class="filter-item" />
@@ -79,40 +35,28 @@
79 35
         class="filter-item"
80 36
         @click="btn_waybill_number_import"
81 37
       >运单号导入</el-button> -->
82
-      <!-- <el-button v-permission="'HY_merge'" type="primary" class="filter-item" @click="btn_merge">合并</el-button> -->
83 38
       <el-button v-permission="'HY_bulk_warehouse'" v-if="authority_bulk_warehouse()" type="primary" class="filter-item" @click="btn_bulk_warehouse">批量分仓</el-button>
84 39
       <el-button v-permission="'HY_bulk_review'" v-if="authority_bulk_review()" type="primary" class="filter-item" @click="btn_bulk_review">批量审核</el-button>
85 40
       <el-button v-permission="'HY_bulk_goback'" type="primary" class="filter-item" @click="btn_bulk_goback">批量退回</el-button>
86
-      <el-button v-permission="'HY_import'" v-if="activeName==7" type="primary" class="filter-item" @click="btn_import">批量导入审核</el-button>
41
+      <el-button v-permission="'HY_import'" v-if="activeName == 7" type="primary" class="filter-item" @click="btn_import">批量导入审核</el-button>
87 42
       <el-button v-permission="'HY_export'" type="primary" class="filter-item" @click="btn_export">导出</el-button>
88 43
       <el-button v-permission="'HY_import_goback'" type="primary" class="filter-item" @click="btn_import_goback">导入附件退回</el-button>
89 44
     </div>
90 45
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
91
-      <el-tab-pane label="待分仓" name="1"/>
92
-      <el-tab-pane label="无货" name="4"/>
93
-      <el-tab-pane label="付款待审核" name="7"/>
94
-      <el-tab-pane label="0金额袜子" name="isZeroCommodity"/>
46
+      <el-tab-pane label="待分仓" name="1" />
47
+      <el-tab-pane label="无货" name="4" />
48
+      <el-tab-pane label="付款待审核" name="7" />
49
+      <el-tab-pane label="0金额袜子" name="isZeroCommodity" />
95 50
     </el-tabs>
96 51
     <div>
97 52
       <span>订单数量:{{ pageParams.total }}</span>
98 53
     </div>
99
-    <el-table
100
-      v-loading="loading"
101
-      :data="dataLists"
102
-      border
103
-      stripe
104
-      row-key="F_Id"
105
-      @selection-change="handleSelectionChange"
106
-    >
107
-      <el-table-column :reserve-selection="true" type="selection"/>
54
+    <el-table v-loading="loading" :data="dataLists" border stripe row-key="F_Id" @selection-change="handleSelectionChange">
55
+      <el-table-column :reserve-selection="true" type="selection" />
108 56
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
109 57
       <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180">
110 58
         <template slot-scope="scope">
111
-          <el-button
112
-            type="text"
113
-            size="small"
114
-            @click="hadndleOrderCode(scope.row.F_Id)"
115
-          >{{ scope.row.F_Id }}</el-button>
59
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
116 60
         </template>
117 61
       </el-table-column>
118 62
       <el-table-column prop="F_Customer" label="客户姓名" align="center" min-width />
@@ -127,45 +71,19 @@
127 71
       <el-table-column label="地址" align="center">
128 72
         <template slot-scope="scope">{{ scope.row | judgmentAddress }}</template>
129 73
       </el-table-column>
130
-      <el-table-column prop="F_PayType" label="付款类型" align="center"/>
131
-      <el-table-column prop="F_RealPrice" label="付款金额" align="center"/>
132
-      <el-table-column prop="F_AddDes" label="送货说明" align="center"/>
74
+      <el-table-column prop="F_PayType" label="付款类型" align="center" />
75
+      <el-table-column prop="F_RealPrice" label="付款金额" align="center" sortable min-width="100" />
76
+      <el-table-column prop="F_AddDes" label="送货说明" align="center" />
133 77
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
134 78
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
135 79
       <el-table-column prop="F_Type" label="订单类型" align="center" />
136 80
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
137 81
         <template slot-scope="scope">
138
-          <el-button
139
-            v-permission="'HY_edit'"
140
-            v-if="authority_edit(scope.row.F_State)"
141
-            type="text"
142
-            @click="btn_edit(scope.row.F_Id)"
143
-          >编辑</el-button>
144
-          <el-button
145
-            v-permission="'HY_warehouse'"
146
-            v-if="authority_warehouse(scope.row.F_State)"
147
-            type="text"
148
-            @click="btn_warehouse(scope.row.F_Id)"
149
-          >分仓</el-button>
150
-          <el-button
151
-            v-permission="'HY_review'"
152
-            v-if="authority_review(scope.row.F_State)"
153
-            type="text"
154
-            @click="btn_review(scope.row.F_Id)"
155
-          >审核</el-button>
156
-          <el-button
157
-            v-permission="'HY_goback'"
158
-            v-if="authority_goback(scope.row.F_State)"
159
-            type="text"
160
-            @click="btn_goback(scope.row.F_Id)"
161
-          >客服退回</el-button>
162
-          <el-button
163
-            v-permission="'HY_through'"
164
-            v-if="authority_through(scope.row.F_State)"
165
-            type="text"
166
-            @click="btn_through(scope.row.F_Id)"
167
-          >通过</el-button>
168
-          <!-- <el-button v-permission="'HY_label'" type="text" @click="btn_label(scope.row.F_Id)">标签</el-button> -->
82
+          <el-button v-permission="'HY_edit'" v-if="authority_edit(scope.row.F_State)" type="text" @click="btn_edit(scope.row.F_Id)">编辑</el-button>
83
+          <el-button v-permission="'HY_warehouse'" v-if="authority_warehouse(scope.row.F_State)" type="text" @click="btn_warehouse(scope.row.F_Id)">分仓</el-button>
84
+          <el-button v-permission="'HY_review'" v-if="authority_review(scope.row.F_State)" type="text" @click="btn_review(scope.row.F_Id)">审核</el-button>
85
+          <el-button v-permission="'HY_goback'" v-if="authority_goback(scope.row.F_State)" type="text" @click="btn_goback(scope.row.F_Id)">客服退回</el-button>
86
+          <el-button v-permission="'HY_through'" v-if="authority_through(scope.row.F_State)" type="text" @click="btn_through(scope.row.F_Id)">通过</el-button>
169 87
         </template>
170 88
       </el-table-column>
171 89
     </el-table>
@@ -181,44 +99,40 @@
181 99
 </template>
182 100
 
183 101
 <script>
184
-import { getDictionaryValueList, getProviceCityById } from '@/api/commonAPI'
185
-import { getOrderListCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
186
-import { pickerOptions, formatterContent } from '@/utils'
187
-// import through from "./through";
188
-// import label from "./label";
189
-// import edit from "./edit";
190
-// import merge from './merge';
191
-import importReceiving from './importReceiving'
192
-import importGoback from './importGoback'
193
-import goback from './goback'
194
-import warehouse from './warehouse'
195
-import review from './review'
196
-import detail from '@/views/orderManagement/orderList/detail'
197
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
102
+import { getDictionaryValueList, getProviceCityById } from "@/api/commonAPI"
103
+import { getOrderListCustomerService } from "@/api/customerServiceManagement/orderListCustomerService"
104
+import { pickerOptions, formatterContent } from "@/utils"
105
+import importReceiving from "./importReceiving"
106
+import importGoback from "./importGoback"
107
+import goback from "./goback"
108
+import warehouse from "./warehouse"
109
+import review from "./review"
110
+import detail from "@/views/orderManagement/orderList/detail"
111
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
198 112
 
199 113
 export default {
200
-  name: 'OrderListCustomerService',
114
+  name: "OrderListCustomerService",
201 115
   components: {
202
-    Pagination
116
+    Pagination,
203 117
   },
204 118
   filters: {
205 119
     judgmentStateName(status) {
206 120
       const statusMap = {
207
-        '0': '未提交',
208
-        '1': '待分仓',
209
-        '2': '已退回',
210
-        '3': '已分仓',
211
-        '4': '无货',
212
-        '5': '仓库待审核',
213
-        '6': '已发货',
214
-        '7': '付款待审核',
215
-        '8': '待分物流',
216
-        '9': '物流未通过'
121
+        0: "未提交",
122
+        1: "待分仓",
123
+        2: "已退回",
124
+        3: "已分仓",
125
+        4: "无货",
126
+        5: "仓库待审核",
127
+        6: "已发货",
128
+        7: "付款待审核",
129
+        8: "待分物流",
130
+        9: "物流未通过",
217 131
       }
218 132
       return statusMap[status]
219 133
     },
220 134
     judgmentOrderGoods(status) {
221
-      let orderGoodsNameQuantity = ''
135
+      let orderGoodsNameQuantity = ""
222 136
       for (let i = 0; i < status.length; i++) {
223 137
         orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
224 138
       }
@@ -226,62 +140,62 @@ export default {
226 140
       return orderGoodsNameQuantity
227 141
     },
228 142
     judgmentAddress(data) {
229
-      const addProvince = data.F_AddProvince === null ? '' : data.F_AddProvince // 省
230
-      const addCity = data.F_AddCity === null ? '' : data.F_AddCity // 市
231
-      const addArea = data.F_AddArea === null ? '' : data.F_AddArea // 县/区
232
-      const addTown = data.F_AddTown === null ? '' : data.F_AddTown // 乡/镇
233
-      const address = data.F_Address === null ? '' : data.F_Address // 详细地址
143
+      const addProvince = data.F_AddProvince === null ? "" : data.F_AddProvince // 省
144
+      const addCity = data.F_AddCity === null ? "" : data.F_AddCity // 市
145
+      const addArea = data.F_AddArea === null ? "" : data.F_AddArea // 县/区
146
+      const addTown = data.F_AddTown === null ? "" : data.F_AddTown // 乡/镇
147
+      const address = data.F_Address === null ? "" : data.F_Address // 详细地址
234 148
       const addressStr = addProvince + addCity + addArea + addTown + address // 地址
235 149
       return addressStr
236
-    }
150
+    },
237 151
   },
238 152
   data() {
239 153
     return {
240 154
       loading: false,
241 155
       searchData: {
242
-        state: '1',
243
-        adFrom: '', // 消息/广告媒体来源
244
-        type: '', // 订单类型
245
-        id: '', // 订单号
246
-        customer: '', // 客户姓名
247
-        customerPhone: '', // 客户手机号
248
-        trackingNo: '', // 运单号
249
-        payState: '', // 交易状态
156
+        state: "1",
157
+        adFrom: "", // 消息/广告媒体来源
158
+        type: "", // 订单类型
159
+        id: "", // 订单号
160
+        customer: "", // 客户姓名
161
+        customerPhone: "", // 客户手机号
162
+        trackingNo: "", // 运单号
163
+        payState: "", // 交易状态
250 164
         provinceCity: [], // 省市县
251
-        minprice: '', // 最低金额
252
-        maxprice: '', // 最高金额
253
-        F_AddDes: '', // 送货说明
254
-        isZeroCommodity: '',
255
-        keywords: '', // 关键字
165
+        minprice: "", // 最低金额
166
+        maxprice: "", // 最高金额
167
+        F_AddDes: "", // 送货说明
168
+        isZeroCommodity: "",
169
+        keywords: "", // 关键字
256 170
       },
257 171
       searchTime: [], // 订单时间
258
-      activeName: '1', // 标签切换首页
172
+      activeName: "1", // 标签切换首页
259 173
       provinceCityDatas: [], // 省市下拉数据
260 174
       provinceCityText: [], // 省市下拉绑定的值
261 175
       props: {
262 176
         // 自定义省市下拉数据的key值
263
-        value: 'id',
264
-        label: 'text',
265
-        children: 'children'
177
+        value: "id",
178
+        label: "text",
179
+        children: "children",
266 180
       },
267 181
       addDesList: [], // 送货说明
268 182
       pickerOptions, // 日期数据
269 183
       pageParams: {
270 184
         pageindex: 1, // 当前第几页
271 185
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
272
-        total: 0 // 总共多少数据
186
+        total: 0, // 总共多少数据
273 187
       },
274 188
       dataLists: [], // 列表数据
275 189
       multipleSelection: [], // 选中的数据
276 190
       selectedId: [], // 选中的数据的id
277 191
       orderType: [], // 订单类型
278
-      selectOrderId: [] // 选择订单id
192
+      selectOrderId: [], // 选择订单id
279 193
     }
280 194
   },
281 195
   watch: {
282 196
     searchTime(newVal, oldVal) {
283 197
       !newVal && (this.searchTime = [])
284
-    }
198
+    },
285 199
   },
286 200
   created() {
287 201
     if (this.$route.params.id) {
@@ -292,7 +206,7 @@ export default {
292 206
     this.getOrderType()
293 207
     this.getProCity()
294 208
     this.getAddDesList()
295
-    document.onkeyup = e => {
209
+    document.onkeyup = (e) => {
296 210
       if (e.keyCode === 13) {
297 211
         this.getList()
298 212
       }
@@ -301,7 +215,7 @@ export default {
301 215
   methods: {
302 216
     getList() {
303 217
       this.loading = true
304
-      return new Promise(resolve => {
218
+      return new Promise((resolve) => {
305 219
         const params = {
306 220
           F_State: this.searchData.state, // 订单状态
307 221
           pageindex: 1, // int 第几页
@@ -312,11 +226,11 @@ export default {
312 226
           F_Customer: this.searchData.customer, // 客户姓名
313 227
           F_CustomerPhone: this.searchData.customerPhone, // 客户手机号
314 228
           F_TrackingNo: this.searchData.trackingNo, // 运单号
315
-          SearchStartTime: this.searchTime[0] == null ? '' : this.searchTime[0], // 添加开始时间
316
-          SearchEndTime: this.searchTime[1] == null ? '' : this.searchTime[1], // 添加结束时间
229
+          SearchStartTime: this.searchTime[0] == null ? "" : this.searchTime[0], // 添加开始时间
230
+          SearchEndTime: this.searchTime[1] == null ? "" : this.searchTime[1], // 添加结束时间
317 231
           PayState: this.searchData.payState, // 交易状态
318 232
           F_IsExpress: -2, // -2全部 0客服未分配快递 1已分配
319
-          state: '',
233
+          state: "",
320 234
           F_AddProvince: this.provinceCityText && this.provinceCityText[0], // 省份
321 235
           F_AddCity: this.provinceCityText[1] && this.provinceCityText[1], // 市
322 236
           F_AddArea: this.provinceCityText[2] && this.provinceCityText[2], // 县区
@@ -325,11 +239,11 @@ export default {
325 239
           maxprice: this.searchData.maxprice, // 最高金额
326 240
           F_AddDes: this.searchData.F_AddDes, // 送货说明
327 241
           F_IsZeroCommodity: this.searchData.isZeroCommodity,
328
-          keywords: this.searchData.keywords.replace(/\s+/g, ''), //关键字
242
+          keywords: this.searchData.keywords.replace(/\s+/g, ""), //关键字
329 243
         }
330
-        getOrderListCustomerService(params).then(response => {
244
+        getOrderListCustomerService(params).then((response) => {
331 245
           this.loading = false
332
-          if (response.state.toLowerCase() === 'success') {
246
+          if (response.state.toLowerCase() === "success") {
333 247
             this.pageParams.total = response.data.Totals
334 248
             this.dataLists = response.data.Rows
335 249
           }
@@ -343,21 +257,21 @@ export default {
343 257
       const year = now.getFullYear() // 得到年份
344 258
       let month = now.getMonth() + 1 // 得到月份
345 259
       let date = now.getDate() // 得到日期
346
-      const hour = ' 00:00:00' // 默认时分秒
347
-      month = month.toString().padStart(2, '0')
348
-      date = date.toString().padStart(2, '0')
260
+      const hour = " 00:00:00" // 默认时分秒
261
+      month = month.toString().padStart(2, "0")
262
+      date = date.toString().padStart(2, "0")
349 263
       const defaultDate = `${year}-${month}-${date}`
350 264
       this.searchTime = [defaultDate, defaultDate]
351 265
     },
352 266
     // 获取订单类型
353 267
     getOrderType() {
354
-      return new Promise(resolve => {
268
+      return new Promise((resolve) => {
355 269
         const params = {
356 270
           isleaf: true,
357
-          code: 'ORDERTYPE'
271
+          code: "ORDERTYPE",
358 272
         }
359
-        getDictionaryValueList(params).then(response => {
360
-          if (response.state.toLowerCase() === 'success') {
273
+        getDictionaryValueList(params).then((response) => {
274
+          if (response.state.toLowerCase() === "success") {
361 275
             this.orderType = response.data.Rows
362 276
           }
363 277
         })
@@ -368,10 +282,10 @@ export default {
368 282
       return new Promise((resolve) => {
369 283
         const params = {
370 284
           isleaf: true,
371
-          code: 'DELIVERYDES'
285
+          code: "DELIVERYDES",
372 286
         }
373 287
         getDictionaryValueList(params).then((response) => {
374
-          if (response.state.toLowerCase() === 'success') {
288
+          if (response.state.toLowerCase() === "success") {
375 289
             this.addDesList = response.data.Rows
376 290
           }
377 291
         })
@@ -379,9 +293,9 @@ export default {
379 293
     },
380 294
     handleTabClick(tab, event) {
381 295
       this.pageParams.pageindex = 1
382
-      if (this.activeName == 'isZeroCommodity') {
296
+      if (this.activeName == "isZeroCommodity") {
383 297
         this.searchData.isZeroCommodity = 1
384
-        this.searchData.state = ''
298
+        this.searchData.state = ""
385 299
       } else {
386 300
         this.searchData.isZeroCommodity = 0
387 301
         this.searchData.state = this.activeName
@@ -398,31 +312,53 @@ export default {
398 312
         content: {
399 313
           content: importReceiving, // 传递的组件对象
400 314
           parent: this, // 当前的vue对象
401
-          data: { rowid: '' } // props
315
+          data: { rowid: "" }, // props
402 316
         },
403
-        area: ['30%', '30%'],
404
-        title: '导入'
317
+        area: ["30%", "30%"],
318
+        title: "导入",
405 319
       })
406 320
     },
407 321
     // 导出
408 322
     btn_export() {
409
-      const SearchStartTime = this.searchTime[0] == undefined ? '' : this.searchTime[0]
410
-      const SearchEndTime = this.searchTime[1] == undefined ? '' : this.searchTime[1]
411
-      const F_AddProvince = this.provinceCityText[0] == undefined ? '' : this.provinceCityText[0]
412
-      const F_AddCity = this.provinceCityText[1] == undefined ? '' : this.provinceCityText[1]
413
-      const F_AddArea = this.provinceCityText[2] == undefined ? '' : this.provinceCityText[2]
414
-      const F_AddTown = this.provinceCityText[3] == undefined ? '' : this.provinceCityText[3]
415
-      window.location.href = this.$store.getters.serverConfig.BASE_API + 'api/order/getorderlistbykfpage?isdc=1' + '&F_State=' + this.activeName + '&SearchStartTime=' + SearchStartTime + '&SearchEndTime=' + SearchEndTime + '&F_AddProvince=' + F_AddProvince + '&F_AddCity=' + F_AddCity + '&F_AddArea=' + F_AddArea + '&F_AddTown=' + F_AddTown + '&minprice=' + this.searchData.minprice + '&maxprice=' + this.searchData.maxprice + '&F_AddDes=' + this.searchData.F_AddDes
323
+      const SearchStartTime = this.searchTime[0] == undefined ? "" : this.searchTime[0]
324
+      const SearchEndTime = this.searchTime[1] == undefined ? "" : this.searchTime[1]
325
+      const F_AddProvince = this.provinceCityText[0] == undefined ? "" : this.provinceCityText[0]
326
+      const F_AddCity = this.provinceCityText[1] == undefined ? "" : this.provinceCityText[1]
327
+      const F_AddArea = this.provinceCityText[2] == undefined ? "" : this.provinceCityText[2]
328
+      const F_AddTown = this.provinceCityText[3] == undefined ? "" : this.provinceCityText[3]
329
+      window.location.href =
330
+        this.$store.getters.serverConfig.BASE_API +
331
+        "api/order/getorderlistbykfpage?isdc=1" +
332
+        "&F_State=" +
333
+        this.activeName +
334
+        "&SearchStartTime=" +
335
+        SearchStartTime +
336
+        "&SearchEndTime=" +
337
+        SearchEndTime +
338
+        "&F_AddProvince=" +
339
+        F_AddProvince +
340
+        "&F_AddCity=" +
341
+        F_AddCity +
342
+        "&F_AddArea=" +
343
+        F_AddArea +
344
+        "&F_AddTown=" +
345
+        F_AddTown +
346
+        "&minprice=" +
347
+        this.searchData.minprice +
348
+        "&maxprice=" +
349
+        this.searchData.maxprice +
350
+        "&F_AddDes=" +
351
+        this.searchData.F_AddDes
416 352
     },
417 353
     btn_edit(editId) {
418 354
       this.$layer.iframe({
419 355
         content: {
420 356
           content: edit, // 传递的组件对象
421 357
           parent: this, // 当前的vue对象
422
-          data: { rowid: editId } // props
358
+          data: { rowid: editId }, // props
423 359
         },
424
-        area: ['80%', '90%'],
425
-        title: '编辑订单'
360
+        area: ["80%", "90%"],
361
+        title: "编辑订单",
426 362
       })
427 363
     },
428 364
     // 导入
@@ -431,31 +367,31 @@ export default {
431 367
         content: {
432 368
           content: importWaybillNumber, // 传递的组件对象
433 369
           parent: this, // 当前的vue对象
434
-          data: { 'rowid': '' }// props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
370
+          data: { rowid: "" }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
435 371
         },
436
-        area: ['40%', '380px'],
372
+        area: ["40%", "380px"],
437 373
         shadeClose: false,
438
-        title: '导入订单信息'
374
+        title: "导入订单信息",
439 375
       })
440 376
     },
441 377
     // 批量分仓
442 378
     btn_bulk_warehouse() {
443 379
       if (this.selectOrderId.length < 1) {
444 380
         this.$message({
445
-          message: '请选择订单!',
446
-          type: 'warning'
381
+          message: "请选择订单!",
382
+          type: "warning",
447 383
         })
448 384
         return
449 385
       }
450
-      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
386
+      const orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
451 387
       this.$layer.iframe({
452 388
         content: {
453 389
           content: warehouse, // 传递的组件对象
454 390
           parent: this, // 当前的vue对象
455
-          data: { rowid: orderids } // props
391
+          data: { rowid: orderids }, // props
456 392
         },
457
-        area: ['30%', '30%'],
458
-        title: '分仓'
393
+        area: ["30%", "30%"],
394
+        title: "分仓",
459 395
       })
460 396
     },
461 397
     // 分仓
@@ -464,30 +400,30 @@ export default {
464 400
         content: {
465 401
           content: warehouse, // 传递的组件对象
466 402
           parent: this, // 当前的vue对象
467
-          data: { rowid: orderid } // props
403
+          data: { rowid: orderid }, // props
468 404
         },
469
-        area: ['30%', '30%'],
470
-        title: '分仓'
405
+        area: ["30%", "30%"],
406
+        title: "分仓",
471 407
       })
472 408
     },
473 409
     // 批量审核
474 410
     btn_bulk_review() {
475 411
       if (this.selectOrderId.length < 1) {
476 412
         this.$message({
477
-          message: '请选择订单!',
478
-          type: 'warning'
413
+          message: "请选择订单!",
414
+          type: "warning",
479 415
         })
480 416
         return
481 417
       }
482
-      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
418
+      const orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
483 419
       this.$layer.iframe({
484 420
         content: {
485 421
           content: review, // 传递的组件对象
486 422
           parent: this, // 当前的vue对象
487
-          data: { rowid: orderids } // props
423
+          data: { rowid: orderids }, // props
488 424
         },
489
-        area: ['30%', '30%'],
490
-        title: '审核'
425
+        area: ["30%", "30%"],
426
+        title: "审核",
491 427
       })
492 428
     },
493 429
     // 审核
@@ -496,30 +432,30 @@ export default {
496 432
         content: {
497 433
           content: review, // 传递的组件对象
498 434
           parent: this, // 当前的vue对象
499
-          data: { rowid: orderid } // props
435
+          data: { rowid: orderid }, // props
500 436
         },
501
-        area: ['30%', '30%'],
502
-        title: '审核'
437
+        area: ["30%", "30%"],
438
+        title: "审核",
503 439
       })
504 440
     },
505 441
     // 批量退回
506 442
     btn_bulk_goback() {
507 443
       if (this.selectOrderId.length < 1) {
508 444
         this.$message({
509
-          message: '请选择订单!',
510
-          type: 'warning'
445
+          message: "请选择订单!",
446
+          type: "warning",
511 447
         })
512 448
         return
513 449
       }
514
-      const orderids = this.selectOrderId.join(',').replace(/\s+/g, '')
450
+      const orderids = this.selectOrderId.join(",").replace(/\s+/g, "")
515 451
       this.$layer.iframe({
516 452
         content: {
517 453
           content: goback, // 传递的组件对象
518 454
           parent: this, // 当前的vue对象
519
-          data: { rowid: orderids } // props
455
+          data: { rowid: orderids }, // props
520 456
         },
521
-        area: ['30%', '30%'],
522
-        title: '退回订单'
457
+        area: ["30%", "30%"],
458
+        title: "退回订单",
523 459
       })
524 460
     },
525 461
     // 退回订单
@@ -528,10 +464,10 @@ export default {
528 464
         content: {
529 465
           content: goback, // 传递的组件对象
530 466
           parent: this, // 当前的vue对象
531
-          data: { rowid: orderid } // props
467
+          data: { rowid: orderid }, // props
532 468
         },
533
-        area: ['30%', '30%'],
534
-        title: '退回订单'
469
+        area: ["30%", "30%"],
470
+        title: "退回订单",
535 471
       })
536 472
     },
537 473
     // 导入附件退回
@@ -540,10 +476,10 @@ export default {
540 476
         content: {
541 477
           content: importGoback, // 传递的组件对象
542 478
           parent: this, // 当前的vue对象
543
-          data: { rowid: '' } // props
479
+          data: { rowid: "" }, // props
544 480
         },
545
-        area: ['30%', '30%'],
546
-        title: '导入附件退回'
481
+        area: ["30%", "30%"],
482
+        title: "导入附件退回",
547 483
       })
548 484
     },
549 485
     // 通过订单
@@ -552,10 +488,10 @@ export default {
552 488
         content: {
553 489
           content: through, // 传递的组件对象
554 490
           parent: this, // 当前的vue对象
555
-          data: { rowid: orderid } // props
491
+          data: { rowid: orderid }, // props
556 492
         },
557
-        area: ['30%', '30%'],
558
-        title: '通过订单'
493
+        area: ["30%", "30%"],
494
+        title: "通过订单",
559 495
       })
560 496
     },
561 497
     // 订单详情
@@ -564,10 +500,10 @@ export default {
564 500
         content: {
565 501
           content: detail, // 传递的组件对象
566 502
           parent: this, // 当前的vue对象
567
-          data: { 'rowid': ordercode }// props
503
+          data: { rowid: ordercode }, // props
568 504
         },
569
-        area: ['80%', '90%'],
570
-        title: '订单详情'
505
+        area: ["80%", "90%"],
506
+        title: "订单详情",
571 507
       })
572 508
     },
573 509
     // 选择多个
@@ -587,19 +523,15 @@ export default {
587 523
         .catch((err) => {})
588 524
     },
589 525
     handleItemChange(val) {
590
-      this.provinceCityText = this.$refs['myCascader'].currentLabels
526
+      this.provinceCityText = this.$refs["myCascader"].currentLabels
591 527
       const pid = val ? val[val.length - 1] : 1 // id值
592 528
       this.level = val.length + 1 // 判断第几级
593
-      this.provinceCityDatas = this.handleData(
594
-        this.provinceCityDatas,
595
-        pid,
596
-        this.level
597
-      )
529
+      this.provinceCityDatas = this.handleData(this.provinceCityDatas, pid, this.level)
598 530
     },
599 531
     handleData(data, val, level) {
600 532
       for (let i = 0; i < data.length; i++) {
601 533
         if (!data[i].children) {
602
-          this.$set(data[i], 'children', [])
534
+          this.$set(data[i], "children", [])
603 535
         }
604 536
         if (data[i].id === val) {
605 537
           getProviceCityById({ pid: val })
@@ -608,7 +540,7 @@ export default {
608 540
                 data[i].children = res.data
609 541
                 if (this.level !== 4) {
610 542
                   data[i].children.forEach((ele) => {
611
-                    this.$set(ele, 'children', [])
543
+                    this.$set(ele, "children", [])
612 544
                   })
613 545
                 }
614 546
               } else {
@@ -680,12 +612,26 @@ export default {
680 612
       } else {
681 613
         return false
682 614
       }
683
-    }
684
-  }
615
+    },
616
+  },
685 617
 }
686 618
 </script>
687 619
 
688 620
 <style rel="stylesheet/scss" lang="scss" scoped>
621
+.filter-container {
622
+  .el-select {
623
+    margin-right: 10px;
624
+  }
625
+  .el-date-editor {
626
+    margin-right: 10px;
627
+  }
628
+  .el-cascader {
629
+    margin-right: 10px;
630
+  }
631
+  .filter-item {
632
+    vertical-align: top;
633
+  }
634
+}
689 635
 .el {
690 636
   cursor: pointer;
691 637
 }

File diff suppressed because it is too large
+ 272 - 574
CallCenterWeb.UI/src/views/memberManagement/memberList/components/addOrder.vue


+ 190 - 372
CallCenterWeb.UI/src/views/memberManagement/memberList/index.vue

@@ -1,304 +1,140 @@
1 1
 <template>
2 2
   <div class="app-container">
3
-    <search-filter
4
-      :search-datas.sync="searchDatas"
5
-      :selected-id="selectedId"
6
-      showadd
7
-      @transfer="btn_transfer"
8
-      @search="btn_search"
9
-      @delorders="btn_deletes"
10
-      @export="btn_export"
11
-      @merge="btn_file_merge"
12
-      @split="btn_file_split"
13
-    />
3
+    <search-filter :search-datas.sync="searchDatas" :selected-id="selectedId" showadd @transfer="btn_transfer" @search="btn_search" @delorders="btn_deletes" @export="btn_export" @merge="btn_file_merge" @split="btn_file_split" />
14 4
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
15
-      <el-tab-pane label="全部" name="0"/>
16
-      <el-tab-pane label="已联系客户" name="1"/>
17
-      <el-tab-pane label="未联系客户" name="2"/>
5
+      <el-tab-pane label="全部" name="0" />
6
+      <el-tab-pane label="已联系客户" name="1" />
7
+      <el-tab-pane label="未联系客户" name="2" />
18 8
     </el-tabs>
19
-    <el-table
20
-      v-loading="loading"
21
-      :data="dataLists"
22
-      border
23
-      stripe
24
-      @selection-change="changeSelects"
25
-    >
26
-      <el-table-column type="selection" width="40" fixed/>
27
-      <el-table-column
28
-        prop="F_Name"
29
-        label="客户姓名"
30
-        align="center"
31
-        width=""
32
-      />
33
-      <el-table-column
34
-        prop="F_Sex"
35
-        label="客户性别"
36
-        align="center"
37
-        width=""
38
-      />
39
-      <el-table-column
40
-        prop="F_Age"
41
-        label="客户年龄"
42
-        align="center"
43
-        width=""
44
-      />
9
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10
+      <el-table-column type="selection" width="40" fixed />
11
+      <el-table-column prop="F_Name" label="客户姓名" align="center" width="" />
12
+      <el-table-column prop="F_Sex" label="客户性别" align="center" width="" />
13
+      <el-table-column prop="F_Age" label="客户年龄" align="center" width="" />
45 14
       <el-table-column label="主号码" align="center" width="100px">
46 15
         <template slot-scope="scope">
47 16
           {{ scope.row.F_Phone | phoneFilter }}
48
-          <i
49
-            v-if="scope.row.F_Phone"
50
-            class="el-icon-tickets phoneIcon"
51
-            @click="clickCut(scope.row.F_ID)"
52
-          />
53
-          <i
54
-            v-if="scope.row.F_Phone"
55
-            class="el-icon-phone phoneIcon"
56
-            @click="clickCallOut(scope.row.F_Phone)"
57
-          />
17
+          <i v-if="scope.row.F_Phone" class="el-icon-tickets phoneIcon" @click="clickCut(scope.row.F_ID)" />
18
+          <i v-if="scope.row.F_Phone" class="el-icon-phone phoneIcon" @click="clickCallOut(scope.row.F_Phone)" />
58 19
         </template>
59 20
       </el-table-column>
60 21
       <el-table-column label="备用号码" align="center" width="">
61 22
         <template slot-scope="scope">
62 23
           {{ scope.row.F_Mobile | mobileFilter }}
63
-          <i
64
-            v-if="scope.row.F_Mobile"
65
-            class="el-icon-tickets phoneIcon"
66
-            @click="clickCut2(scope.row.F_ID)"
67
-          />
68
-          <i
69
-            v-if="scope.row.F_Mobile"
70
-            class="el-icon-phone phoneIcon"
71
-            @click="clickMobile(scope.row.F_Mobile)"
72
-          />
24
+          <i v-if="scope.row.F_Mobile" class="el-icon-tickets phoneIcon" @click="clickCut2(scope.row.F_ID)" />
25
+          <i v-if="scope.row.F_Mobile" class="el-icon-phone phoneIcon" @click="clickMobile(scope.row.F_Mobile)" />
73 26
         </template>
74 27
       </el-table-column>
75
-      <el-table-column
76
-        prop="F_Label"
77
-        label="会员标签"
78
-        align="center"
79
-        width=""
80
-      />
81
-      <el-table-column
82
-        prop="F_Membership"
83
-        label="会员类型"
84
-        align="center"
85
-        width=""
86
-      />
87
-      <el-table-column
88
-        prop="F_Class"
89
-        label="会员分类"
90
-        align="center"
91
-        width=""
92
-      />
93
-      <el-table-column
94
-        prop="F_ShoeSize"
95
-        label="鞋码"
96
-        align="center"
97
-        width=""
98
-      />
99
-      <el-table-column
100
-        prop="Birthday"
101
-        label="会员生日"
102
-        align="center"
103
-        width="100px"
104
-      />
105
-      <el-table-column
106
-        prop="F_Score"
107
-        label="会员积分"
108
-        align="center"
109
-        width=""
110
-      />
111
-      <el-table-column
112
-        prop="F_Recommender"
113
-        label="推荐人"
114
-        align="center"
115
-        width=""
116
-      />
117
-      <el-table-column
118
-        prop="F_Saleperson"
119
-        label="销售负责人"
120
-        align="center"
121
-        width="90px"
122
-      />
123
-      <el-table-column
124
-        prop="F_Money"
125
-        label="累计消费金额"
126
-        align="center"
127
-        width=""
128
-      />
129
-      <el-table-column
130
-        prop="F_Firstcalltime"
131
-        label="首次通话记录"
132
-        align="center"
133
-        width=""
134
-      />
135
-      <el-table-column
136
-        prop="F_Lastholetime"
137
-        label="末联通话记录"
138
-        align="center"
139
-        width=""
140
-      />
141
-      <el-table-column
142
-        prop="F_TotalScore"
143
-        label="累计积分"
144
-        align="center"
145
-        width=""
146
-      />
147
-      <el-table-column
148
-        prop="F_Money"
149
-        label="总金额"
150
-        align="center"
151
-        width=""
152
-      />
153
-      <el-table-column label="地址" align="center"  min-width="180">
28
+      <el-table-column prop="F_Label" label="会员标签" align="center" width="" />
29
+      <el-table-column prop="F_Membership" label="会员类型" align="center" width="" />
30
+      <el-table-column prop="F_Class" label="会员分类" align="center" width="" />
31
+      <el-table-column prop="F_ShoeSize" label="鞋码" align="center" width="" />
32
+      <el-table-column prop="Birthday" label="会员生日" align="center" width="100px" />
33
+      <el-table-column prop="F_Score" label="会员积分" align="center" width="" />
34
+      <el-table-column prop="F_Recommender" label="推荐人" align="center" width="" />
35
+      <el-table-column prop="F_Saleperson" label="销售负责人" align="center" width="90px" />
36
+      <el-table-column prop="F_Money" label="累计消费金额" align="center" width="" />
37
+      <el-table-column prop="F_Firstcalltime" label="首次通话记录" align="center" width="" />
38
+      <el-table-column prop="F_Lastholetime" label="末联通话记录" align="center" width="" />
39
+      <el-table-column prop="F_TotalScore" label="累计积分" align="center" width="" />
40
+      <el-table-column prop="F_Money" label="总金额" align="center" width="" />
41
+      <el-table-column label="地址" align="center" min-width="180">
154 42
         <template slot-scope="scope">{{ scope.row | judgmentAddress }}</template>
155 43
       </el-table-column>
156
-      <el-table-column
157
-        prop="F_Count"
158
-        label="购买次数"
159
-        align="center"
160
-        width=""
161
-      />
162
-      <el-table-column
163
-        prop="F_CreateOn"
164
-        label="建档日期"
165
-        align="center"
166
-        width=""
167
-      />
168
-      <el-table-column
169
-        label="操作"
170
-        width="180"
171
-        align="center"
172
-        class-name="oparate_btn"
173
-        fixed="right"
174
-      >
44
+      <el-table-column prop="F_Count" label="购买次数" align="center" width="" />
45
+      <el-table-column prop="F_CreateOn" label="建档日期" align="center" width="" />
46
+      <el-table-column label="操作" width="180" align="center" class-name="oparate_btn" fixed="right">
175 47
         <template slot-scope="scope">
176
-          <el-button
177
-            v-permission="'HY_add_order'"
178
-            type="text"
179
-            @click="btn_add_order(scope.row.F_ID)"
180
-          >添加订单</el-button
181
-          >
182
-          <el-button
183
-            v-permission="'HY_addTodo'"
184
-            type="text"
185
-            @click="btn_addTodo(scope.row.F_Phone,scope.row.F_Name)"
186
-          >添加待办</el-button
187
-          >
188
-          <el-button
189
-            v-permission="'HY_detail'"
190
-            type="text"
191
-            @click="btn_detail(scope.row.F_ID.toString())"
192
-          >详情</el-button
193
-          >
194
-          <el-button
195
-            v-permission="'HY_edit'"
196
-            type="text"
197
-            @click="btn_edit(scope.row.F_ID)"
198
-          >编辑</el-button
199
-          >
200
-          <el-button
201
-            v-permission="'HY_add_remark'"
202
-            type="text"
203
-            @click="btn_add_remark(scope.row.F_ID)"
204
-          >备注</el-button>
205
-          <el-button
206
-            v-permission="'HY_delete'"
207
-            type="text"
208
-            @click="btn_delete(scope.row.F_ID)"
209
-          >删除</el-button
210
-          >
48
+          <el-button v-permission="'HY_add_order'" type="text" @click="btn_add_order(scope.row.F_ID)">添加订单</el-button>
49
+          <el-button v-permission="'HY_addTodo'" type="text" @click="btn_addTodo(scope.row.F_Phone, scope.row.F_Name)">添加待办</el-button>
50
+          <el-button v-permission="'HY_detail'" type="text" @click="btn_detail(scope.row.F_ID.toString())">详情</el-button>
51
+          <el-button v-permission="'HY_edit'" type="text" @click="btn_edit(scope.row.F_ID)">编辑</el-button>
52
+          <el-button v-permission="'HY_add_remark'" type="text" @click="btn_add_remark(scope.row.F_ID)">备注</el-button>
53
+          <el-button v-permission="'HY_delete'" type="text" @click="btn_delete(scope.row.F_ID)">删除</el-button>
211 54
         </template>
212 55
       </el-table-column>
213 56
     </el-table>
214
-    <pagination
215
-      v-show="pageParams.total > 0"
216
-      :total="pageParams.total"
217
-      :pageindex.sync="pageParams.pageindex"
218
-      :pagesize.sync="pageParams.pagesize"
219
-      class="pagination"
220
-      @pagination="getList"
221
-    />
57
+    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
222 58
   </div>
223 59
 </template>
224 60
 
225 61
 <script>
226
-import { mapGetters } from 'vuex'
227
-import { getOrderLists, deleteOrder, deletesMember, encryptphone, split } from '@/api/memberManagement/memberList'
228
-import searchFilter from './components/searchFilter'
229
-import addOrEdit from './components/addOrEdit'
230
-import addTodo from './components/addTodo'
231
-import callOut from './components/callOut'
232
-import detail from './components/detail'
233
-import transfer from './components/transfer'
234
-import addOrder from './components/addOrder'
235
-import addOrEditRemark from './components/addOrEditRemark'
236
-import { formatterContent } from '@/utils'
237
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
238
-import mergeId from './components/mergeId'
239
-import { getCallOutprefix } from '@/api/teloperation'
240
-import { Send } from '@/utils/telWebsocket'
241
-import store from '@/store'
62
+import { mapGetters } from "vuex"
63
+import { getOrderLists, deleteOrder, deletesMember, encryptphone, split } from "@/api/memberManagement/memberList"
64
+import searchFilter from "./components/searchFilter"
65
+import addOrEdit from "./components/addOrEdit"
66
+import addTodo from "./components/addTodo"
67
+import callOut from "./components/callOut"
68
+import detail from "./components/detail"
69
+import transfer from "./components/transfer"
70
+import addOrder from "./components/addOrder"
71
+import addOrEditRemark from "./components/addOrEditRemark"
72
+import { formatterContent } from "@/utils"
73
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
74
+import mergeId from "./components/mergeId"
75
+import { getCallOutprefix } from "@/api/teloperation"
76
+import { Send } from "@/utils/telWebsocket"
77
+import store from "@/store"
242 78
 
243 79
 export default {
244
-  name: 'MemberLabel',
80
+  name: "MemberLabel",
245 81
   components: {
246 82
     Pagination,
247
-    searchFilter
83
+    searchFilter,
248 84
   },
249 85
   filters: {
250 86
     phoneFilter(status) {
251 87
       if (status) {
252
-        const mtel = status.substr(0, 3) + '****' + status.substr(7)
88
+        const mtel = status.substr(0, 3) + "****" + status.substr(7)
253 89
         return mtel
254 90
       }
255 91
     },
256 92
     mobileFilter(status) {
257 93
       if (status) {
258
-        const arr = status.split(',')
259
-        var mtel = ''
94
+        const arr = status.split(",")
95
+        var mtel = ""
260 96
         for (let i = 0; i < arr.length; i++) {
261
-          mtel += arr[i].substr(0, 3) + '****' + arr[i].substr(7) + ','
97
+          mtel += arr[i].substr(0, 3) + "****" + arr[i].substr(7) + ","
262 98
         }
263 99
         return mtel.substr(0, mtel.length - 1)
264 100
       }
265 101
     },
266 102
     judgmentAddress(data) {
267
-      const addProvince = data.F_Province === null ? '' : data.F_Province // 省
268
-      const addCity = data.F_City === null ? '' : data.F_City // 市
269
-      const addArea = data.F_Area === null ? '' : data.F_Area // 县/区
270
-      const addTown = data.F_Town === null ? '' : data.F_Town // 乡/镇
271
-      const address = data.F_Address === null ? '' : data.F_Address // 详细地址
103
+      const addProvince = data.F_Province === null ? "" : data.F_Province // 省
104
+      const addCity = data.F_City === null ? "" : data.F_City // 市
105
+      const addArea = data.F_Area === null ? "" : data.F_Area // 县/区
106
+      const addTown = data.F_Town === null ? "" : data.F_Town // 乡/镇
107
+      const address = data.F_Address === null ? "" : data.F_Address // 详细地址
272 108
       const addressStr = addProvince + addCity + addArea + addTown + address // 地址
273 109
       return addressStr
274
-    }
110
+    },
275 111
   },
276 112
 
277 113
   data() {
278 114
     return {
279
-      phoneOne: '', // 加密主号码
280
-      phoneOne2: '', // 加密备用号码
281
-      phoneNumOne: '',
115
+      phoneOne: "", // 加密主号码
116
+      phoneOne2: "", // 加密备用号码
117
+      phoneNumOne: "",
282 118
       searchDatas: {
283
-        VIPCode: '', // 会员卡编号
284
-        customerName: '', // 客户姓名
285
-        phoneNumber: '', // 手机号码
286
-        labelList: '', // 会员标签
287
-        province: '', // 省份
288
-        city: '', // 市
289
-        county: '', // 县区
290
-        township: '', // 乡镇
291
-        address: '', // 详细地址
292
-        birthday: '', // 会员生日
293
-        referrer: '', // 推荐人
294
-        saleperson: '', // 销售负责人
119
+        VIPCode: "", // 会员卡编号
120
+        customerName: "", // 客户姓名
121
+        phoneNumber: "", // 手机号码
122
+        labelList: "", // 会员标签
123
+        province: "", // 省份
124
+        city: "", // 市
125
+        county: "", // 县区
126
+        township: "", // 乡镇
127
+        address: "", // 详细地址
128
+        birthday: "", // 会员生日
129
+        referrer: "", // 推荐人
130
+        saleperson: "", // 销售负责人
295 131
         // contactFrequency: '', //联系频次
296 132
         provinceCity: [], // 省市下拉绑定的值
297 133
         provinceCityText: [], // 省市下拉绑定文本值
298 134
         memberBirthday: [], // 会员生日
299 135
         contactTime: [],
300
-        membership: '', //会员类型
301
-        class: '', // 会员分类
136
+        membership: "", //会员类型
137
+        class: "", // 会员分类
302 138
         searchTime: [], //建档日期
303 139
         firstcalltime: [], // 首次通话时间
304 140
         lastholetime: [], // 末联通话时间
@@ -307,13 +143,13 @@ export default {
307 143
       pageParams: {
308 144
         pageindex: 1, // 当前第几页
309 145
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
310
-        total: 0 // 总共多少数据
146
+        total: 0, // 总共多少数据
311 147
       },
312 148
       dataLists: [], // 列表数据
313 149
       multipleSelection: [], // 选中的数据
314 150
       selectedId: [], // 选中的id
315 151
       namesData: [],
316
-      activeName: '0'
152
+      activeName: "0",
317 153
     }
318 154
   },
319 155
   created() {
@@ -326,14 +162,14 @@ export default {
326 162
   },
327 163
   computed: {
328 164
     ...mapGetters([
329
-      'token',
330
-      'usercode', // 工号
331
-      'extension', // 分机号
332
-      'sidebar',
333
-      'avatar',
334
-      'telCallType', // 通话类型
335
-      'telIsVisCallout' // 外呼面板是否显示
336
-    ])
165
+      "token",
166
+      "usercode", // 工号
167
+      "extension", // 分机号
168
+      "sidebar",
169
+      "avatar",
170
+      "telCallType", // 通话类型
171
+      "telIsVisCallout", // 外呼面板是否显示
172
+    ]),
337 173
   },
338 174
   methods: {
339 175
     getList() {
@@ -345,25 +181,17 @@ export default {
345 181
           name: this.searchDatas.customerName.trim(), // 客户姓名
346 182
           phone: this.searchDatas.phoneNumber.trim(), // 手机号码
347 183
           label: this.searchDatas.labelList, // 会员标签
348
-          province:
349
-            this.searchDatas.provinceCityText &&
350
-            this.searchDatas.provinceCityText[0], // 省份
351
-          city:
352
-            this.searchDatas.provinceCityText[1] &&
353
-            this.searchDatas.provinceCityText[1], // 市
354
-          area:
355
-            this.searchDatas.provinceCityText[2] &&
356
-            this.searchDatas.provinceCityText[2], // 县区
357
-          town:
358
-            this.searchDatas.provinceCityText[3] &&
359
-            this.searchDatas.provinceCityText[3], // 乡镇
184
+          province: this.searchDatas.provinceCityText && this.searchDatas.provinceCityText[0], // 省份
185
+          city: this.searchDatas.provinceCityText[1] && this.searchDatas.provinceCityText[1], // 市
186
+          area: this.searchDatas.provinceCityText[2] && this.searchDatas.provinceCityText[2], // 县区
187
+          town: this.searchDatas.provinceCityText[3] && this.searchDatas.provinceCityText[3], // 乡镇
360 188
           address: this.searchDatas.address.trim(), // 详细地址
361 189
           SearchStartTime: this.searchDatas.memberBirthday && this.searchDatas.memberBirthday[0], // 会员生日
362 190
           SearchEndTime: this.searchDatas.memberBirthday && this.searchDatas.memberBirthday[1], // 会员生日
363 191
           recommender: this.searchDatas.referrer.trim(), // 推荐人
364 192
           saleperson: this.searchDatas.saleperson.trim(), // 销售负责人
365
-          laststartholetime: this.searchDatas.contactTime[0] == undefined ? '' : this.searchDatas.contactTime[0],
366
-          Lastendholetime: this.searchDatas.contactTime[1] == undefined ? '' : this.searchDatas.contactTime[1],
193
+          laststartholetime: this.searchDatas.contactTime[0] == undefined ? "" : this.searchDatas.contactTime[0],
194
+          Lastendholetime: this.searchDatas.contactTime[1] == undefined ? "" : this.searchDatas.contactTime[1],
367 195
           F_Membership: this.searchDatas.membership, // 会员类型
368 196
           F_Class: this.searchDatas.class, // 会员分类
369 197
           AddStartTime: this.searchDatas.searchTime && this.searchDatas.searchTime[0], // 建档日期
@@ -376,7 +204,7 @@ export default {
376 204
         }
377 205
         getOrderLists(params).then((response) => {
378 206
           this.loading = false
379
-          if (response.state.toLowerCase() === 'success') {
207
+          if (response.state.toLowerCase() === "success") {
380 208
             this.pageParams.total = response.rows.Totals
381 209
             this.dataLists = response.rows.Rows
382 210
           }
@@ -391,17 +219,17 @@ export default {
391 219
       const year = date.getFullYear()
392 220
       let month = date.getMonth() + 1
393 221
       const day = date.getDate()
394
-      const hour = '00:00:00'
395
-      month = month.toString().padStart(2, '0')
396
-      date = date.toString().padStart(2, '0')
222
+      const hour = "00:00:00"
223
+      month = month.toString().padStart(2, "0")
224
+      date = date.toString().padStart(2, "0")
397 225
       const defaultDate = `${year}-${month}-${day} ${hour}`
398 226
 
399 227
       if (this.activeName == 2) {
400
-        this.searchDatas.contactTime = ['', defaultDate]
228
+        this.searchDatas.contactTime = ["", defaultDate]
401 229
       } else if (this.activeName == 1) {
402
-        this.searchDatas.contactTime = ['1970-01-01 00:00:00', defaultDate]
230
+        this.searchDatas.contactTime = ["1970-01-01 00:00:00", defaultDate]
403 231
       } else {
404
-        this.searchDatas.contactTime = ['', '']
232
+        this.searchDatas.contactTime = ["", ""]
405 233
       }
406 234
       this.getList()
407 235
     },
@@ -414,36 +242,28 @@ export default {
414 242
       this.searchDatas.provinceCityText = data
415 243
       window.location.href =
416 244
         this.$store.getters.serverConfig.BASE_API +
417
-        'api/vipinfo/exportexcel?name=' +
245
+        "api/vipinfo/exportexcel?name=" +
418 246
         this.searchDatas.customerName +
419
-        '&phone=' +
247
+        "&phone=" +
420 248
         this.searchDatas.phoneNumber + // 手机号码
421
-        '&province=' +
422
-        (this.searchDatas.provinceCityText.length > 0
423
-          ? this.searchDatas.provinceCityText[0]
424
-          : '') +
425
-        '&city=' +
426
-        (this.searchDatas.provinceCityText.length > 1
427
-          ? this.searchDatas.provinceCityText[1]
428
-          : '') +
429
-        '&area=' +
430
-        (this.searchDatas.provinceCityText.length > 2
431
-          ? this.searchDatas.provinceCityText[2]
432
-          : '') +
433
-        '&town=' +
434
-        (this.searchDatas.provinceCityText.length > 3
435
-          ? this.searchDatas.provinceCityText[3]
436
-          : '') +
437
-        '&label=' +
249
+        "&province=" +
250
+        (this.searchDatas.provinceCityText.length > 0 ? this.searchDatas.provinceCityText[0] : "") +
251
+        "&city=" +
252
+        (this.searchDatas.provinceCityText.length > 1 ? this.searchDatas.provinceCityText[1] : "") +
253
+        "&area=" +
254
+        (this.searchDatas.provinceCityText.length > 2 ? this.searchDatas.provinceCityText[2] : "") +
255
+        "&town=" +
256
+        (this.searchDatas.provinceCityText.length > 3 ? this.searchDatas.provinceCityText[3] : "") +
257
+        "&label=" +
438 258
         this.searchDatas.labelList + // 会员类型
439
-        '&address=' +
259
+        "&address=" +
440 260
         this.searchDatas.address + // 地址
441
-        '&recommender=' +
261
+        "&recommender=" +
442 262
         this.searchDatas.referrer + // 推荐人
443
-        '&saleperson=' +
263
+        "&saleperson=" +
444 264
         this.searchDatas.saleperson + // 销售负责人
445 265
         // '&token=' + this.token +
446
-        '&birthday=' +
266
+        "&birthday=" +
447 267
         this.searchDatas.birthday
448 268
     },
449 269
     clickMobile(number) {
@@ -451,10 +271,10 @@ export default {
451 271
         content: {
452 272
           content: callOut, // 传递的组件对象
453 273
           parent: this, // 当前的vue对象
454
-          data: { rowid: number } // props
274
+          data: { rowid: number }, // props
455 275
         },
456
-        area: ['30%', '30%'],
457
-        title: '外呼'
276
+        area: ["30%", "30%"],
277
+        title: "外呼",
458 278
       })
459 279
     },
460 280
     btn_detail(editId) {
@@ -462,10 +282,10 @@ export default {
462 282
         content: {
463 283
           content: detail, // 传递的组件对象
464 284
           parent: this, // 当前的vue对象
465
-          data: { rowid: editId } // props
285
+          data: { rowid: editId }, // props
466 286
         },
467
-        area: ['80%', '90%'],
468
-        title: '详情'
287
+        area: ["80%", "90%"],
288
+        title: "详情",
469 289
       })
470 290
     },
471 291
     btn_edit(editId) {
@@ -473,10 +293,10 @@ export default {
473 293
         content: {
474 294
           content: addOrEdit, // 传递的组件对象
475 295
           parent: this, // 当前的vue对象
476
-          data: { rowid: editId.toString() } // props
296
+          data: { rowid: editId.toString() }, // props
477 297
         },
478
-        area: ['80%', '90%'],
479
-        title: '编辑会员信息'
298
+        area: ["80%", "90%"],
299
+        title: "编辑会员信息",
480 300
       })
481 301
     },
482 302
     // 添加订单
@@ -485,10 +305,10 @@ export default {
485 305
         content: {
486 306
           content: addOrder, // 传递的组件对象
487 307
           parent: this, // 当前的vue对象
488
-          data: { rowid: id.toString() } // props
308
+          data: { rowid: id.toString() }, // props
489 309
         },
490
-        area: ['80%', '90%'],
491
-        title: '添加订单'
310
+        area: ["80%", "90%"],
311
+        title: "添加订单",
492 312
       })
493 313
     },
494 314
     // 添加待办
@@ -497,113 +317,113 @@ export default {
497 317
         content: {
498 318
           content: addTodo, // 传递的组件对象
499 319
           parent: this, // 当前的vue对象
500
-          data: { rowPhone: phone, rowName: name } // props
320
+          data: { rowPhone: phone, rowName: name }, // props
501 321
         },
502
-        area: ['40%', '70%'],
503
-        title: '添加待办信息'
322
+        area: ["40%", "70%"],
323
+        title: "添加待办信息",
504 324
       })
505 325
     },
506 326
     // 批量删除
507 327
     btn_deletes() {
508 328
       if (this.selectedId.length == 0) {
509
-        this.$message('请选择一个选项')
329
+        this.$message("请选择一个选项")
510 330
         return
511 331
       } else {
512
-        this.$confirm('您确定要删除吗?', '提示', {
513
-          confirmButtonText: '确定',
514
-          cancelButtonText: '取消',
515
-          type: 'warning'
332
+        this.$confirm("您确定要删除吗?", "提示", {
333
+          confirmButtonText: "确定",
334
+          cancelButtonText: "取消",
335
+          type: "warning",
516 336
         })
517 337
           .then(() => {
518 338
             deletesMember(this.selectedId).then((response) => {
519
-              if (response.state.toLowerCase() === 'success') {
339
+              if (response.state.toLowerCase() === "success") {
520 340
                 this.getList()
521
-                this.$message.success('删除成功!')
341
+                this.$message.success("删除成功!")
522 342
               }
523 343
             })
524 344
           })
525 345
           .catch(() => {
526
-            this.$message.info('已取消删除')
346
+            this.$message.info("已取消删除")
527 347
           })
528 348
       }
529 349
     },
530 350
     // 档案合并
531 351
     btn_file_merge() {
532 352
       if (this.selectedId.length <= 1 || this.selectedId.length > 2) {
533
-        this.$message('请选择两个选项')
353
+        this.$message("请选择两个选项")
534 354
         return
535 355
       } else {
536 356
         this.$layer.iframe({
537 357
           content: {
538 358
             content: mergeId, // 传递的组件对象
539 359
             parent: this, // 当前的vue对象
540
-            data: { name: this.namesData, ids: this.selectedId } // props
360
+            data: { name: this.namesData, ids: this.selectedId }, // props
541 361
           },
542
-          area: ['40%', '70%'],
543
-          title: '选择主档案'
362
+          area: ["40%", "70%"],
363
+          title: "选择主档案",
544 364
         })
545 365
       }
546 366
     },
547 367
     // 档案拆分
548 368
     btn_file_split() {
549 369
       if (this.selectedId.length == 0) {
550
-        this.$message('请选择一个选项')
370
+        this.$message("请选择一个选项")
551 371
         return
552 372
       } else {
553
-        this.$confirm('您确定要拆分吗?', '提示', {
554
-          confirmButtonText: '确定',
555
-          cancelButtonText: '取消',
556
-          type: 'warning'
373
+        this.$confirm("您确定要拆分吗?", "提示", {
374
+          confirmButtonText: "确定",
375
+          cancelButtonText: "取消",
376
+          type: "warning",
557 377
         })
558 378
           .then(() => {
559 379
             const params = {
560
-              id: this.selectedId[0]
380
+              id: this.selectedId[0],
561 381
             }
562 382
             split(params).then((response) => {
563
-              if (response.state.toLowerCase() === 'success') {
383
+              if (response.state.toLowerCase() === "success") {
564 384
                 this.getList()
565
-                this.$message.success('拆分成功!')
385
+                this.$message.success("拆分成功!")
566 386
               }
567 387
             })
568 388
           })
569 389
           .catch(() => {
570
-            this.$message.info('已取消拆分')
390
+            this.$message.info("已取消拆分")
571 391
           })
572 392
       }
573 393
     },
574 394
     // 转移
575 395
     btn_transfer() {
576 396
       if (this.selectedId.length == 0) {
577
-        this.$message('请选择一个选项')
397
+        this.$message("请选择一个选项")
578 398
         return
579 399
       } else {
580 400
         this.$layer.iframe({
581 401
           content: {
582 402
             content: transfer, // 传递的组件对象
583 403
             parent: this, // 当前的vue对象
584
-            data: { rowid: this.selectedId } // props
404
+            data: { rowid: this.selectedId }, // props
585 405
           },
586
-          area: ['40%', '40%'],
587
-          title: '转移档案'
406
+          area: ["40%", "40%"],
407
+          title: "转移档案",
588 408
         })
589 409
       }
590 410
     },
591 411
     btn_delete(editId) {
592
-      this.$confirm('您确定要将此会员删除吗?', '提示', {
593
-        confirmButtonText: '确定',
594
-        cancelButtonText: '取消',
595
-        type: 'warning'
412
+      this.$confirm("您确定要将此会员删除吗?", "提示", {
413
+        confirmButtonText: "确定",
414
+        cancelButtonText: "取消",
415
+        type: "warning",
596 416
       })
597 417
         .then(() => {
598 418
           deletesMember(editId).then((response) => {
599
-            if (response.state.toLowerCase() === 'success') {
419
+            if (response.state.toLowerCase() === "success") {
600 420
               this.getList()
601
-              this.$message.success('删除成功!')
421
+              this.$message.success("删除成功!")
602 422
             }
603 423
           })
604 424
         })
605 425
         .catch(() => {
606
-          this.$message.info('已取消删除')
426
+          this.$message.info("已取消删除")
607 427
         })
608 428
     },
609 429
     // 添加备注
@@ -612,10 +432,10 @@ export default {
612 432
         content: {
613 433
           content: addOrEditRemark, // 传递的组件对象
614 434
           parent: this, // 当前的vue对象
615
-          data: { rowid: id } // props
435
+          data: { rowid: id }, // props
616 436
         },
617
-        area: ['40%', '50%'],
618
-        title: '添加备注'
437
+        area: ["40%", "50%"],
438
+        title: "添加备注",
619 439
       })
620 440
     },
621 441
     changeSelects(val) {
@@ -634,50 +454,48 @@ export default {
634 454
     clickCut(id) {
635 455
       const params = {
636 456
         id: id,
637
-        type: 0
457
+        type: 0,
638 458
       }
639 459
       encryptphone(params)
640 460
         .then((response) => {
641
-          if (response.state.toLowerCase() === 'success') {
461
+          if (response.state.toLowerCase() === "success") {
642 462
             this.phoneOne = response.data
643 463
             this.$copyText(this.phoneOne).then(
644 464
               (e) => {
645
-                this.$message.success(
646
-                  '号码复制成功,请联系管理员进行解密!'
647
-                )
465
+                this.$message.success("号码复制成功,请联系管理员进行解密!")
648 466
               },
649 467
               (e) => {
650
-                this.$toast('复制失败')
468
+                this.$toast("复制失败")
651 469
               }
652 470
             )
653 471
           }
654 472
         })
655 473
         .catch(() => {
656
-          this.$message.info('查询失败')
474
+          this.$message.info("查询失败")
657 475
         })
658 476
     },
659 477
     // 备用号码解密
660 478
     clickCut2(id) {
661 479
       const params = {
662 480
         id: id,
663
-        type: 1
481
+        type: 1,
664 482
       }
665 483
       encryptphone(params)
666 484
         .then((response) => {
667
-          if (response.state.toLowerCase() === 'success') {
485
+          if (response.state.toLowerCase() === "success") {
668 486
             this.phoneOne2 = response.data
669 487
             this.$copyText(this.phoneOne2).then(
670 488
               (e) => {
671
-                this.$message.success('号码复制成功,请联系管理员进行解密!')
489
+                this.$message.success("号码复制成功,请联系管理员进行解密!")
672 490
               },
673 491
               (e) => {
674
-                this.$toast('复制失败')
492
+                this.$toast("复制失败")
675 493
               }
676 494
             )
677 495
           }
678 496
         })
679 497
         .catch(() => {
680
-          this.$message.info('查询失败')
498
+          this.$message.info("查询失败")
681 499
         })
682 500
     },
683 501
     // 外呼
@@ -688,29 +506,29 @@ export default {
688 506
     callOut(phoneNumber) {
689 507
       if (phoneNumber) {
690 508
         getCallOutprefix(phoneNumber).then((response) => {
691
-          if (response.state.toLowerCase() === 'success') {
509
+          if (response.state.toLowerCase() === "success") {
692 510
             const res = response.data
693 511
             this.scoketDatas = {
694
-              Type: 'MakeCall',
512
+              Type: "MakeCall",
695 513
               AgentID: this.usercode,
696 514
               AgentExten: this.extension,
697 515
               Header: res.fix, // 号码前缀 用于截断前缀得到真实号码
698
-              DestinationNumber: res.phone //
516
+              DestinationNumber: res.phone, //
699 517
             }
700
-            store.dispatch('ChangeCallNum', phoneNumber)
518
+            store.dispatch("ChangeCallNum", phoneNumber)
701 519
             Send(this.scoketDatas)
702
-            store.dispatch('UpdateCalloutScreen', false) // 关闭外呼面板
703
-            store.dispatch('UpdateOutboundScreen', false) // 关闭外呼弹屏
520
+            store.dispatch("UpdateCalloutScreen", false) // 关闭外呼面板
521
+            store.dispatch("UpdateOutboundScreen", false) // 关闭外呼弹屏
704 522
           }
705 523
         })
706 524
       } else {
707 525
         this.$message({
708
-          message: '请先输入电话号码!',
709
-          type: 'warning'
526
+          message: "请先输入电话号码!",
527
+          type: "warning",
710 528
         })
711 529
       }
712
-    }
713
-  }
530
+    },
531
+  },
714 532
 }
715 533
 </script>
716 534
 

+ 257 - 326
CallCenterWeb.UI/src/views/orderManagement/orderList/detail.vue

@@ -9,87 +9,34 @@
9 9
             <p class="title_sub">催单次数:<span class="red">10</span>次 | 工单状态: <span class="done">已完成</span></p> -->
10 10
           </el-col>
11 11
           <el-col :md="24" class="order_detail_content">
12
-            <el-col :md="6" class="order_detail_item">
13
-              客户姓名:{{ orderDetailData.F_Customer }}
14
-            </el-col>
15
-            <el-col :md="6" class="order_detail_item">
16
-              手机号码:{{ orderDetailData.F_CustomerPhone }}
17
-            </el-col>
18
-            <el-col :md="6" class="order_detail_item">
19
-              消息来源:{{ orderDetailData.F_ADFrom }}
20
-            </el-col>
21
-            <el-col :md="6" class="order_detail_item">
22
-              下单日期:{{ orderDetailData.F_AddTime }}
23
-            </el-col>
24
-            <el-col :md="6" class="order_detail_item">
25
-              下单员工:{{ orderDetailData.F_AddUserName }}
26
-            </el-col>
27
-            <el-col :md="6" class="order_detail_item">
28
-              订单类型:{{ orderDetailData.F_Type }}
29
-            </el-col>
30
-            <el-col :md="6" class="order_detail_item">
31
-              地址:{{ orderDetailData.address }}
32
-            </el-col>
33
-            <el-col :md="6" class="order_detail_item">
34
-              出货仓库:{{ orderDetailData.F_Stock }}
35
-            </el-col>
36
-            <el-col :md="6" class="order_detail_item">
37
-              收件人:{{ orderDetailData.F_Addressee }}
38
-            </el-col>
39
-            <el-col :md="6" class="order_detail_item">
40
-              收件人手机号:{{ orderDetailData.F_AddPhone }}
41
-            </el-col>
42
-            <el-col :md="6" class="order_detail_item">
43
-              送货说明:{{ orderDetailData.F_AddDes }}
44
-            </el-col>
45
-            <el-col :md="6" class="order_detail_item">
46
-              快递:{{ orderDetailData.F_Express }}
47
-            </el-col>
48
-            <el-col :md="6" class="order_detail_item">
49
-              运费:{{ orderDetailData.F_ExpressFee }}
50
-            </el-col>
51
-            <el-col :md="6" class="order_detail_item">
52
-              支付方式:{{ orderDetailData.F_PayType }}
53
-            </el-col>
54
-            <el-col :md="6" class="order_detail_item">
55
-              使用积分:{{ orderDetailData.F_Score }}
56
-            </el-col>
57
-            <el-col :md="6" class="order_detail_item">
58
-              推荐人:{{ orderDetailData.F_RecommendName }}
59
-            </el-col>
60
-            <el-col :md="6" class="order_detail_item">
61
-              运单号:{{ orderDetailData.F_FlowNum }}
62
-            </el-col>
63
-            <el-col :md="6" class="order_detail_item">
64
-              归属人:{{ orderDetailData.F_BelongName }}
65
-            </el-col>
66
-            <el-col :md="6" class="order_detail_item">
67
-              合计金额:{{ orderDetailData.F_TotlePrice }}
68
-            </el-col>
69
-            <el-col :md="6" class="order_detail_item">
70
-              实付金额:{{ orderDetailData.F_RealPrice }}
71
-            </el-col>
72
-            <el-col :md="6" class="order_detail_item">
73
-              应付金额:{{ orderDetailData.F_ShouldPrice }}
74
-            </el-col>
75
-            <el-col :md="6" class="order_detail_item">
76
-              媒体名称:{{ orderDetailData.F_MediaName }}
77
-            </el-col>
78
-            <el-col :md="6" class="order_detail_item">
79
-              寄回运单号:{{ orderDetailData.F_SendbackTrackingNo }}
80
-            </el-col>
81
-            <el-col :md="6" class="order_detail_item">
82
-              销售:{{ orderDetailData.F_BelongName }}
83
-            </el-col>
84
-            <el-col :md="6" class="order_detail_item">
85
-              中心:{{ orderDetailData.F_CoreName }}
86
-            </el-col>
87
-            <el-col :md="6" class="order_detail_item">
88
-              小组:{{ orderDetailData.F_GroupName }}
89
-            </el-col>
90
-            <el-col :md="6" class="order_detail_item">
91
-              备注:{{ orderDetailData.F_Remark }}
92
-            </el-col>
12
+            <el-col :md="6" class="order_detail_item"> 客户姓名:{{ orderDetailData.F_Customer }} </el-col>
13
+            <el-col :md="6" class="order_detail_item"> 手机号码:{{ orderDetailData.F_CustomerPhone }} </el-col>
14
+            <el-col :md="6" class="order_detail_item"> 消息来源:{{ orderDetailData.F_ADFrom }} </el-col>
15
+            <el-col :md="6" class="order_detail_item"> 下单日期:{{ orderDetailData.F_AddTime }} </el-col>
16
+            <el-col :md="6" class="order_detail_item"> 下单员工:{{ orderDetailData.F_AddUserName }} </el-col>
17
+            <el-col :md="6" class="order_detail_item"> 订单类型:{{ orderDetailData.F_Type }} </el-col>
18
+            <el-col :md="6" class="order_detail_item"> 地址:{{ orderDetailData.address }} </el-col>
19
+            <el-col :md="6" class="order_detail_item"> 出货仓库:{{ orderDetailData.F_Stock }} </el-col>
20
+            <el-col :md="6" class="order_detail_item"> 收件人:{{ orderDetailData.F_Addressee }} </el-col>
21
+            <el-col :md="6" class="order_detail_item"> 收件人手机号:{{ orderDetailData.F_AddPhone }} </el-col>
22
+            <el-col :md="6" class="order_detail_item"> 送货说明:{{ orderDetailData.F_AddDes }} </el-col>
23
+            <el-col :md="6" class="order_detail_item"> 快递:{{ orderDetailData.F_Express }} </el-col>
24
+            <el-col :md="6" class="order_detail_item"> 运费:{{ orderDetailData.F_ExpressFee }} </el-col>
25
+            <el-col :md="6" class="order_detail_item"> 支付方式:{{ orderDetailData.F_PayType }} </el-col>
26
+            <el-col :md="6" class="order_detail_item"> 使用积分:{{ orderDetailData.F_Score }} </el-col>
27
+            <el-col :md="6" class="order_detail_item"> 推荐人:{{ orderDetailData.F_RecommendName }} </el-col>
28
+            <el-col :md="6" class="order_detail_item"> 运单号:{{ orderDetailData.F_TrackingNo }} </el-col>
29
+            <el-col :md="6" class="order_detail_item"> 归属人:{{ orderDetailData.F_BelongName }} </el-col>
30
+            <el-col :md="6" class="order_detail_item"> 合计金额:{{ orderDetailData.F_TotlePrice }} </el-col>
31
+            <el-col :md="6" class="order_detail_item"> 实付金额:{{ orderDetailData.F_RealPrice }} </el-col>
32
+            <el-col :md="6" class="order_detail_item"> 应付金额:{{ orderDetailData.F_ShouldPrice }} </el-col>
33
+            <el-col :md="6" class="order_detail_item"> 媒体名称:{{ orderDetailData.F_MediaName }} </el-col>
34
+            <el-col :md="6" class="order_detail_item"> 寄回运单号:{{ orderDetailData.F_SendbackTrackingNo }} </el-col>
35
+            <el-col :md="6" class="order_detail_item"> 销售:{{ orderDetailData.F_BelongName }} </el-col>
36
+            <el-col :md="6" class="order_detail_item"> 中心:{{ orderDetailData.F_CoreName }} </el-col>
37
+            <el-col :md="6" class="order_detail_item"> 小组:{{ orderDetailData.F_GroupName }} </el-col>
38
+            <el-col :md="6" class="order_detail_item"> 备注:{{ orderDetailData.F_Remark }} </el-col>
39
+            <el-col :md="6" class="order_detail_item"> 支付备注:{{ orderDetailData.F_RemarkXS }} </el-col>
93 40
             <el-col :md="24">
94 41
               <el-table :data="orderDetailData.OrderDetailList" stripe border style="width: 100%">
95 42
                 <el-table-column prop="F_ProductName" label="商品名称" align="center"></el-table-column>
@@ -98,19 +45,17 @@
98 45
                 <el-table-column prop="F_TotlePrice" label="商品总价" align="center"></el-table-column>
99 46
               </el-table>
100 47
             </el-col>
101
-            <el-col :offset="16" :span="8" class="order_detail_item">
102
-                合计:{{ orderDetailData.commodityTotlePrice }}
103
-            </el-col>
48
+            <el-col :offset="16" :span="8" class="order_detail_item"> 合计:{{ orderDetailData.commodityTotlePrice }} </el-col>
104 49
             <el-col v-if="isChatList" :md="24">
105 50
               <el-table :data="ChatList" stripe border style="width: 100%">
106
-                <el-table-column prop="F_Content" label="备注内容" align="center"/>
51
+                <el-table-column prop="F_Content" label="备注内容" align="center" />
107 52
                 <!-- <el-table-column prop="F_IsSo" label="是否可见" align="center">
108 53
                   <template slot-scope="scope">
109 54
                     {{ scope.row.F_IsSo | judgmentIsSo}}
110 55
                   </template>
111 56
                 </el-table-column> -->
112
-                <el-table-column prop="F_AddTime" label="添加时间" align="center"/>
113
-                <el-table-column prop="F_AddUserName" label="创建人" align="center"/>
57
+                <el-table-column prop="F_AddTime" label="添加时间" align="center" />
58
+                <el-table-column prop="F_AddUserName" label="创建人" align="center" />
114 59
                 <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
115 60
                   <template slot-scope="scope">
116 61
                     <!-- <el-button v-permission="'HY_edit_remark'" type="text" @click="btn_edit_remark(scope.row.F_WoID, scope.row.F_ID)">修改</el-button> -->
@@ -130,24 +75,12 @@
130 75
             <h1 class="title">工单流转</h1>
131 76
           </el-col>
132 77
 
133
-          <el-table
134
-            :data="workOrderCirculationList"
135
-            border
136
-            stripe
137
-            row-key="F_Id"
138
-          >
78
+          <el-table :data="workOrderCirculationList" border stripe row-key="F_Id">
139 79
             <el-table-column prop="F_CreateUser" label="创建人" align="center" min-width />
140 80
             <el-table-column prop="F_CreateTime" label="创建时间" align="center" min-width />
141 81
             <el-table-column prop="F_OptContent" label="内容" align="center" min-width />
142 82
           </el-table>
143
-          <Pagination
144
-            v-show="pageParams.total > 0"
145
-            :total="pageParams.total"
146
-            :pageindex.sync="pageParams.pageindex"
147
-            :pagesize.sync="pageParams.pagesize"
148
-            class="pagination"
149
-            @pagination="paginationFun"
150
-          />
83
+          <Pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="paginationFun" />
151 84
         </el-card>
152 85
       </el-col>
153 86
     </el-row>
@@ -155,107 +88,105 @@
155 88
 </template>
156 89
 
157 90
 <script>
158
-import { getOrder } from '@/api/orderManagement/orderList'
159
-import { mapGetters } from 'vuex'
160
-import { deleteAfterSaleListChatLog } from '@/api/afterSaleManagement/afterSaleList'
161
-import addOrEditRemark from './addOrEditRemark'
162
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
91
+import { getOrder } from "@/api/orderManagement/orderList"
92
+import { mapGetters } from "vuex"
93
+import { deleteAfterSaleListChatLog } from "@/api/afterSaleManagement/afterSaleList"
94
+import addOrEditRemark from "./addOrEditRemark"
95
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
163 96
 
164 97
 export default {
165
-  name: 'Detail',
98
+  name: "Detail",
166 99
   components: {
167
-    Pagination
100
+    Pagination,
168 101
   },
169 102
   filters: {
170 103
     judgmentIsSo(status) {
171 104
       const statusMap = {
172
-        '0': '否',
173
-        '1': '是'
105
+        0: "否",
106
+        1: "是",
174 107
       }
175 108
       return statusMap[status]
176
-    }
109
+    },
177 110
   },
178 111
   props: {
179 112
     rowid: {
180 113
       type: String,
181
-      default: ''
114
+      default: "",
182 115
     },
183 116
     layerid: {
184 117
       type: String,
185
-      default: ''
186
-    }
118
+      default: "",
119
+    },
187 120
   },
188 121
   data() {
189 122
     return {
190
-      activeName: 'first',
123
+      activeName: "first",
191 124
       ChatList: [], // 备注详情列表
192 125
       isChatList: false, // 备注列表是否展示
193 126
       orderDetailData: {
194
-        F_Customer: '', // 客户姓名
195
-        F_CustomerPhone: '', // 手机号码
196
-        F_ADFrom: '', // 消息来源
197
-        F_Type: '', // 订单类型
198
-        F_Id: '', // 订单号
127
+        F_Customer: "", // 客户姓名
128
+        F_CustomerPhone: "", // 手机号码
129
+        F_ADFrom: "", // 消息来源
130
+        F_Type: "", // 订单类型
131
+        F_Id: "", // 订单号
199 132
         OrderDetailList: [], // 订单详情list
200 133
         UseActList: [], // 活动详情list
201
-        F_State: '', // 订单状态
202
-        F_TrackingNo: '', // 快递单号
203
-        F_Addressee: '', // 收件人
204
-        F_AddPhone: '', // 收件人手机号
205
-        F_AddDes: '', // 送货说明
206
-        F_Express: '', // 选择的快递
207
-        F_ExpressFee: '', // 运费
208
-        F_PayType: '', // 支付方式
209
-        F_Stock: '', // 出货仓库
210
-        F_RealPrice: '', // 实收金额
211
-        F_VipId: '', // 关联会员id
212
-        F_Score: '', // 使用积分
213
-        F_AddTime: '', // 添加时间
214
-        F_AddUserName: '', // 下单员工
215
-        F_FlowNum: '', // 运单号
216
-        F_RecommendName: '', // 推荐人名称
217
-        F_BelongName: '', // 归属人名称
218
-        F_Remark: '', // 备注
219
-        address: '', // 地址
220
-        F_ShouldPrice: '', // 应付金额
221
-        F_TotlePrice: '', // 商品金额
222
-        commodityTotlePrice: '', // 商品合计金额
223
-        F_MediaName: '', // 媒体名称
224
-        F_SendbackTrackingNo: '', // 寄回运单号
225
-        F_BelongName: '', //销售
226
-        F_CoreName: '', //中心
227
-        F_GroupName: '', //小组
134
+        F_State: "", // 订单状态
135
+        F_TrackingNo: "", // 快递单号
136
+        F_Addressee: "", // 收件人
137
+        F_AddPhone: "", // 收件人手机号
138
+        F_AddDes: "", // 送货说明
139
+        F_Express: "", // 选择的快递
140
+        F_ExpressFee: "", // 运费
141
+        F_PayType: "", // 支付方式
142
+        F_Stock: "", // 出货仓库
143
+        F_RealPrice: "", // 实收金额
144
+        F_VipId: "", // 关联会员id
145
+        F_Score: "", // 使用积分
146
+        F_AddTime: "", // 添加时间
147
+        F_AddUserName: "", // 下单员工
148
+        F_RecommendName: "", // 推荐人名称
149
+        F_BelongName: "", // 归属人名称
150
+        F_Remark: "", // 备注
151
+        F_RemarkXS: "", // 支付备注
152
+        address: "", // 地址
153
+        F_ShouldPrice: "", // 应付金额
154
+        F_TotlePrice: "", // 商品金额
155
+        commodityTotlePrice: "", // 商品合计金额
156
+        F_MediaName: "", // 媒体名称
157
+        F_SendbackTrackingNo: "", // 寄回运单号
158
+        F_BelongName: "", //销售
159
+        F_CoreName: "", //中心
160
+        F_GroupName: "", //小组
228 161
       },
229
-      ordercode: '', // 工单编号
230
-      name: '', // 姓名
231
-      phone: '', // 电话
232
-      sex: '', // 性别
233
-      address: '', // 地址
234
-      sourcename: '', // 工单来源
235
-      sourcetype: '', // 工单类型
236
-      content: '', // 工单内容
237
-      createtime: '', // 创建时间
238
-      createuser: '', // 创建人
162
+      ordercode: "", // 工单编号
163
+      name: "", // 姓名
164
+      phone: "", // 电话
165
+      sex: "", // 性别
166
+      address: "", // 地址
167
+      sourcename: "", // 工单来源
168
+      sourcetype: "", // 工单类型
169
+      content: "", // 工单内容
170
+      createtime: "", // 创建时间
171
+      createuser: "", // 创建人
239 172
       pageParams: {
240 173
         pageindex: 1, // 当前第几页
241 174
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
242
-        total: 0 // 总共多少数据
175
+        total: 0, // 总共多少数据
243 176
       },
244 177
       workOrderCirculationList: [], // 工单流转
245 178
       workOrderCirculationListAll: [], // 工单流转
246
-      orderlists: []
179
+      orderlists: [],
247 180
     }
248 181
   },
249 182
   computed: {
250
-    ...mapGetters([
251
-      'rolecode'
252
-    ])
183
+    ...mapGetters(["rolecode"]),
253 184
   },
254 185
   created() {
255 186
     if (this.rowid) {
256 187
       this.getDetail(this.rowid)
257 188
     }
258
-    if (window.localStorage.getItem('roleCode') === 'GLY' || window.localStorage.getItem('roleCode') === 'SH' || window.localStorage.getItem('roleCode') === 'XS') {
189
+    if (window.localStorage.getItem("roleCode") === "GLY" || window.localStorage.getItem("roleCode") === "SH" || window.localStorage.getItem("roleCode") === "XS") {
259 190
       this.isChatList = true
260 191
     } else {
261 192
       this.isChatList = false
@@ -271,36 +202,36 @@ export default {
271 202
         content: {
272 203
           content: addOrEditRemark, // 传递的组件对象
273 204
           parent: this, // 当前的vue对象
274
-          data: { rowid: id, remarkId: remarkId } // props
205
+          data: { rowid: id, remarkId: remarkId }, // props
275 206
         },
276
-        area: ['40%', '50%'],
277
-        title: '编辑备注'
207
+        area: ["40%", "50%"],
208
+        title: "编辑备注",
278 209
       })
279 210
     },
280 211
     // 删除备注
281 212
     btn_delete_remark(id) {
282 213
       setTimeout(() => {
283
-        this.$confirm('确定删除吗?', '提示', {
284
-          confirmButtonText: '确定',
285
-          cancelButtonText: '取消',
286
-          type: 'warning'
214
+        this.$confirm("确定删除吗?", "提示", {
215
+          confirmButtonText: "确定",
216
+          cancelButtonText: "取消",
217
+          type: "warning",
287 218
         })
288 219
           .then(() => {
289 220
             this.isDisable = false
290 221
             const data = {
291
-              orderids: id
222
+              orderids: id,
292 223
             }
293 224
             deleteAfterSaleListChatLog(data).then((response) => {
294
-              if (response.state.toLowerCase() === 'success') {
225
+              if (response.state.toLowerCase() === "success") {
295 226
                 this.getDetail(this.rowid)
296
-                this.$message.success('删除成功!')
227
+                this.$message.success("删除成功!")
297 228
               }
298 229
             })
299 230
           })
300 231
           .catch(() => {
301 232
             this.$message({
302
-              type: 'info',
303
-              message: '已取消删除'
233
+              type: "info",
234
+              message: "已取消删除",
304 235
             })
305 236
           })
306 237
         this.isDisable = false
@@ -320,7 +251,7 @@ export default {
320 251
     },
321 252
     // 详情
322 253
     getDetail(rid) {
323
-      getOrder(rid).then(response => {
254
+      getOrder(rid).then((response) => {
324 255
         this.ChatList = response.ChatList
325 256
         this.workOrderCirculationListAll = response.ItemList
326 257
         this.orderlists = response.modelreturn.OrderDetailList[0]
@@ -335,19 +266,19 @@ export default {
335 266
         this.orderDetailData.F_Id = res.F_Id // 订单号
336 267
         this.orderDetailData.UseActList = res.UseActList // 活动详情list
337 268
         this.activityAccountData = res.UseActList
338
-        this.orderDetailData.F_State = res.F_State + ''// 订单状态
269
+        this.orderDetailData.F_State = res.F_State + "" // 订单状态
339 270
         this.orderDetailData.F_TrackingNo = res.F_TrackingNo // 快递单号
340 271
         this.orderDetailData.F_Addressee = res.F_Addressee // 收件人
341 272
         this.orderDetailData.F_AddPhone = res.F_AddPhone // 收件人手机号
342 273
         this.orderDetailData.F_AddDes = res.F_AddDes // 送货说明
343 274
         this.orderDetailData.F_TotlePrice = res.F_TotlePrice // 商品金额
344
-        res.F_AddProvince = res.F_AddProvince === null ? '' : res.F_AddProvince // 省
345
-        res.F_AddCity = res.F_AddCity === null ? '' : res.F_AddCity // 市
346
-        res.F_AddArea = res.F_AddArea === null ? '' : res.F_AddArea // 县/区
347
-        res.F_AddTown = res.F_AddTown === null ? '' : res.F_AddTown // 乡/镇
348
-        res.F_Address = res.F_Address === null ? '' : res.F_Address // 详细地址
275
+        res.F_AddProvince = res.F_AddProvince === null ? "" : res.F_AddProvince // 省
276
+        res.F_AddCity = res.F_AddCity === null ? "" : res.F_AddCity // 市
277
+        res.F_AddArea = res.F_AddArea === null ? "" : res.F_AddArea // 县/区
278
+        res.F_AddTown = res.F_AddTown === null ? "" : res.F_AddTown // 乡/镇
279
+        res.F_Address = res.F_Address === null ? "" : res.F_Address // 详细地址
349 280
         this.orderDetailData.address = res.F_AddProvince + res.F_AddCity + res.F_AddArea + res.F_AddTown + res.F_Address // 地址
350
-        this.orderDetailData.F_Express = res.F_Express + '' // 选择的快递
281
+        this.orderDetailData.F_Express = res.F_Express + "" // 选择的快递
351 282
         this.orderDetailData.F_ExpressFee = res.F_ExpressFee // 运费
352 283
         this.orderDetailData.F_PayType = res.F_PayType // 支付方式
353 284
         this.orderDetailData.F_Stock = res.F_Stock // 出货仓库
@@ -355,12 +286,12 @@ export default {
355 286
         this.orderDetailData.F_VipId = res.F_VipId // 关联会员id
356 287
         this.orderDetailData.F_Score = res.F_UseScore // 使用积分
357 288
         this.orderDetailData.F_AddTime = res.F_AddTime // 添加时间
358
-        this.orderDetailData.F_FlowNum = res.F_TrackingNo // 运单号
359
-        this.orderDetailData.F_RecommendName = res.F_RecommendName// 推荐人名称
289
+        this.orderDetailData.F_RecommendName = res.F_RecommendName // 推荐人名称
360 290
         this.orderDetailData.F_AddUserName = res.F_AddUserName // 下单员工
361 291
         this.orderDetailData.F_BelongName = res.F_BelongName // 归属员工
362 292
         this.orderDetailData.F_Type = res.F_Type // 订单类型
363 293
         this.orderDetailData.F_Remark = res.F_Remark // 备注
294
+        this.orderDetailData.F_RemarkXS = res.OrderMoney.F_RemarkXS // 备注
364 295
         this.orderDetailData.F_ShouldPrice = res.F_ShouldPrice // 应付金额
365 296
         this.orderDetailData.F_MediaName = res.F_MediaName // 媒体名称
366 297
         this.orderDetailData.F_SendbackTrackingNo = res.F_SendbackTrackingNo // 寄回运单号
@@ -375,153 +306,153 @@ export default {
375 306
     },
376 307
     edit() {
377 308
       debugger
378
-      this.$router.push({ path: '/edit', query: { id: this.ordercode }})
379
-    }
380
-  }
309
+      this.$router.push({ path: "/edit", query: { id: this.ordercode } })
310
+    },
311
+  },
381 312
 }
382 313
 </script>
383 314
 
384 315
 <style rel="stylesheet/scss" lang="scss">
385
-	.order_detail{
386
-		.el-col{
387
-			margin-bottom: 20px;
388
-		}
389
-		.el-icon-time{
390
-			color: #d81e06;
391
-		}
392
-		.el-card__header{
393
-			padding-top: 14px;
394
-			padding-bottom: 14px;
395
-			background-color: #F5F5F6;
396
-		}
397
-		.order_file{
398
-			.el-card__body{
399
-				padding: 22px 0 0 0;
400
-				text-align: center;
401
-			}
402
-		}
403
-		.order_steps{
404
-			.el-step__icon-inner{
405
-				display: none;
406
-			}
407
-		}
408
-		.order_record {
409
-			.el-card__body{
410
-				padding: 0;
411
-			}
412
-			.el-tabs__header{
413
-				padding: 0px 20px;
414
-				background-color: #F5F5F6;
415
-					.el-tabs__item{
416
-						font-size: 16px;
417
-						height: 47px;
418
-						line-height: 47px;
419
-					}
420
-			}
421
-		}
422
-	}
316
+.order_detail {
317
+  .el-col {
318
+    margin-bottom: 20px;
319
+  }
320
+  .el-icon-time {
321
+    color: #d81e06;
322
+  }
323
+  .el-card__header {
324
+    padding-top: 14px;
325
+    padding-bottom: 14px;
326
+    background-color: #f5f5f6;
327
+  }
328
+  .order_file {
329
+    .el-card__body {
330
+      padding: 22px 0 0 0;
331
+      text-align: center;
332
+    }
333
+  }
334
+  .order_steps {
335
+    .el-step__icon-inner {
336
+      display: none;
337
+    }
338
+  }
339
+  .order_record {
340
+    .el-card__body {
341
+      padding: 0;
342
+    }
343
+    .el-tabs__header {
344
+      padding: 0px 20px;
345
+      background-color: #f5f5f6;
346
+      .el-tabs__item {
347
+        font-size: 16px;
348
+        height: 47px;
349
+        line-height: 47px;
350
+      }
351
+    }
352
+  }
353
+}
423 354
 </style>
424 355
 
425 356
 <style rel="stylesheet/scss" lang="scss" scoped>
426
-	.order_detail{
427
-		.order_detail_body{
428
-			margin-bottom: 20px;
429
-			.round_img{
430
-				width: 90px;
431
-				height: 90px;
432
-				border-radius: 50%;
433
-				overflow: hidden;
434
-				margin: 14px;
435
-				img{
436
-					width: 100%;
437
-					height: 100%;
438
-				}
439
-			}
440
-			.title{
441
-				font-size: 20px;
442
-				.title_icon{
443
-					color: #d81e06;
444
-					font-size: 16px;
445
-					margin-right: 20px;
446
-				}
447
-			}
448
-			.title_sub{
449
-				font-size: 14px;
450
-				color: #666666;
451
-			}
452
-			.order_detail_content{
453
-				background-color: #F5F5F6;
454
-				padding-top: 20px;
455
-				color: #4c4c4c;
456
-				font-size: 14px;
457
-				.order_detail_item{
458
-					margin-bottom: 10px;
459
-					.order_content{
460
-						margin-top: 10px;
461
-					}
462
-					.order_file {
463
-						position: relative;
464
-						cursor: pointer;
465
-						.img_mask {
466
-							display: none;
467
-							position: absolute;
468
-							left: 0px;
469
-							top: 0px;
470
-							background-color: rgba(0, 0, 0, 0.3);
471
-							width: 100%;
472
-							height: 22px;
473
-							text-align: right;
474
-							z-index: 1;
475
-							i {
476
-								font-size: 20px;
477
-								line-height: 22px;
478
-								display: inline-block;
479
-								margin-right: 15px;
480
-								color: #fff;
481
-							}
482
-						}
483
-						p {
484
-							margin-top: 5px;
485
-							padding-left: 14px;
486
-							padding-right: 14px;
487
-							white-space: nowrap;
488
-							overflow: hidden;
489
-							text-overflow: ellipsis;
490
-						}
491
-						.file_icon{
492
-							height: 68px;
493
-							line-height: 68px;
494
-							font-size: 68px;
495
-							color: #409EFF;
496
-						}
497
-					}
498
-					.order_file:hover .img_mask {
499
-						display: block;
500
-					}
501
-				}
502
-			}
503
-		}
504
-		.green {
505
-			color: #00c1de;
506
-		}
507
-		.done {
508
-			color: #198120;
509
-		}
510
-		.red {
511
-			color: #d81e06;
512
-		}
513
-		.yellow{
514
-			color: #e6a23c;
515
-		}
516
-		.order_steps{
517
-			// height: 240px;
518
-			.el-step__icon-inner{
519
-				display: none;
520
-			}
521
-		}
357
+.order_detail {
358
+  .order_detail_body {
359
+    margin-bottom: 20px;
360
+    .round_img {
361
+      width: 90px;
362
+      height: 90px;
363
+      border-radius: 50%;
364
+      overflow: hidden;
365
+      margin: 14px;
366
+      img {
367
+        width: 100%;
368
+        height: 100%;
369
+      }
370
+    }
371
+    .title {
372
+      font-size: 20px;
373
+      .title_icon {
374
+        color: #d81e06;
375
+        font-size: 16px;
376
+        margin-right: 20px;
377
+      }
378
+    }
379
+    .title_sub {
380
+      font-size: 14px;
381
+      color: #666666;
382
+    }
383
+    .order_detail_content {
384
+      background-color: #f5f5f6;
385
+      padding-top: 20px;
386
+      color: #4c4c4c;
387
+      font-size: 14px;
388
+      .order_detail_item {
389
+        margin-bottom: 10px;
390
+        .order_content {
391
+          margin-top: 10px;
392
+        }
393
+        .order_file {
394
+          position: relative;
395
+          cursor: pointer;
396
+          .img_mask {
397
+            display: none;
398
+            position: absolute;
399
+            left: 0px;
400
+            top: 0px;
401
+            background-color: rgba(0, 0, 0, 0.3);
402
+            width: 100%;
403
+            height: 22px;
404
+            text-align: right;
405
+            z-index: 1;
406
+            i {
407
+              font-size: 20px;
408
+              line-height: 22px;
409
+              display: inline-block;
410
+              margin-right: 15px;
411
+              color: #fff;
412
+            }
413
+          }
414
+          p {
415
+            margin-top: 5px;
416
+            padding-left: 14px;
417
+            padding-right: 14px;
418
+            white-space: nowrap;
419
+            overflow: hidden;
420
+            text-overflow: ellipsis;
421
+          }
422
+          .file_icon {
423
+            height: 68px;
424
+            line-height: 68px;
425
+            font-size: 68px;
426
+            color: #409eff;
427
+          }
428
+        }
429
+        .order_file:hover .img_mask {
430
+          display: block;
431
+        }
432
+      }
433
+    }
434
+  }
435
+  .green {
436
+    color: #00c1de;
437
+  }
438
+  .done {
439
+    color: #198120;
440
+  }
441
+  .red {
442
+    color: #d81e06;
443
+  }
444
+  .yellow {
445
+    color: #e6a23c;
446
+  }
447
+  .order_steps {
448
+    // height: 240px;
449
+    .el-step__icon-inner {
450
+      display: none;
451
+    }
452
+  }
522 453
 
523
-		.tab_body{
524
-			padding: 0 20px 20px 20px;
525
-		}
526
-	}
454
+  .tab_body {
455
+    padding: 0 20px 20px 20px;
456
+  }
457
+}
527 458
 </style>

File diff suppressed because it is too large
+ 366 - 447
CallCenterWeb.UI/src/views/orderManagement/orderList/edit.vue


+ 72 - 71
CallCenterWeb.UI/src/views/systemSetup/roleSetting/menuSetup/index.vue

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-input v-model="keyword" placeholder="请输入关键字" class="filter-item"/>
4
+      <el-input v-model="keyword" placeholder="请输入关键字" class="filter-item" />
5 5
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
6 6
       <el-button v-permission="'HY_add'" type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
7 7
     </div>
@@ -11,12 +11,13 @@
11 11
       :eval-func="func"
12 12
       :eval-args="args"
13 13
       :expand-all="false"
14
-      row-key='id'
15
-      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
14
+      row-key="id"
15
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
16 16
       border
17 17
       element-loading-text="拼命加载中..."
18 18
       element-loading-spinner="el-icon-loading"
19
-      element-loading-background="rgba(0, 0, 0, 0.6)">
19
+      element-loading-background="rgba(0, 0, 0, 0.6)"
20
+    >
20 21
       <el-table-column label="菜单名称" align="center" width="200">
21 22
         <template slot-scope="scope">
22 23
           {{ scope.row.name }}
@@ -32,11 +33,11 @@
32 33
           {{ scope.row.code }}
33 34
         </template>
34 35
       </el-table-column>
35
-      <el-table-column :formatter="formatterTarget" prop="target" label="菜单类型" align="center" width="100"/>
36
+      <el-table-column :formatter="formatterTarget" prop="target" label="菜单类型" align="center" width="100" />
36 37
       <el-table-column label="是否启用" align="center" width="100">
37 38
         <template slot-scope="scope">
38
-          <i v-if="scope.row.stateFlag === 1" class="el-icon-success target_color1"/>
39
-          <i v-else-if="scope.row.stateFlag === 0" class="el-icon-warning target_color2"/>
39
+          <i v-if="scope.row.stateFlag === 1" class="el-icon-success target_color1" />
40
+          <i v-else-if="scope.row.stateFlag === 0" class="el-icon-warning target_color2" />
40 41
         </template>
41 42
       </el-table-column>
42 43
       <el-table-column label="介绍" align="center">
@@ -56,15 +57,15 @@
56 57
 </template>
57 58
 
58 59
 <script>
59
-import { getMenuLists, deleteMenu } from '@/api/systemSetup/roleSetting/menuSetup'
60
-import treeTable from '@/components/TreeTable'
61
-import treeToArray from './customEval'
62
-import addOrEditMenu from './components/addOrEditMenu'
63
-import menuBtn from './menuBtn'
60
+import { getMenuLists, deleteMenu } from "@/api/systemSetup/roleSetting/menuSetup"
61
+import treeTable from "@/components/TreeTable"
62
+import treeToArray from "./customEval"
63
+import addOrEditMenu from "./components/addOrEditMenu"
64
+import menuBtn from "./menuBtn"
64 65
 export default {
65
-  name: 'MenuSetup',
66
+  name: "MenuSetup",
66 67
   components: {
67
-    treeTable
68
+    treeTable,
68 69
   },
69 70
   data() {
70 71
     return {
@@ -72,9 +73,9 @@ export default {
72 73
       func: treeToArray,
73 74
       expandAll: true,
74 75
       args: [null, null],
75
-      keyword: '',
76
+      keyword: "",
76 77
       menuData: [],
77
-      parentids: []
78
+      parentids: [],
78 79
     }
79 80
   },
80 81
   created() {
@@ -87,27 +88,27 @@ export default {
87 88
   },
88 89
   methods: {
89 90
     getDatas() {
90
-      const keyword = this.keyword.replace(/\s+/g, '')
91
-      getMenuLists(keyword).then(response => {
91
+      const keyword = this.keyword.replace(/\s+/g, "")
92
+      getMenuLists(keyword).then((response) => {
92 93
         this.loading = false
93 94
         this.menuData = this.$options.methods.buildTree(response.rows)
94
-        console.log('this.menuData', this.menuData)
95
+        console.log("this.menuData", this.menuData)
95 96
       })
96 97
     },
97 98
     formatterTarget(row, column) {
98
-      let targetTxt = ''
99
+      let targetTxt = ""
99 100
       switch (row.target) {
100
-        case 'expand':
101
-          targetTxt = '无页面'
101
+        case "expand":
102
+          targetTxt = "无页面"
102 103
           break
103
-        case 'iframe':
104
-          targetTxt = '框架页'
104
+        case "iframe":
105
+          targetTxt = "框架页"
105 106
           break
106
-        case 'open':
107
-          targetTxt = '弹出页'
107
+        case "open":
108
+          targetTxt = "弹出页"
108 109
           break
109
-        case 'blank':
110
-          targetTxt = '新窗口'
110
+        case "blank":
111
+          targetTxt = "新窗口"
111 112
           break
112 113
         default:
113 114
           break
@@ -122,29 +123,29 @@ export default {
122 123
         content: {
123 124
           content: addOrEditMenu, // 传递的组件对象
124 125
           parent: this, // 当前的vue对象
125
-          data: { 'rowid': '' }// props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
126
+          data: { rowid: "" }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
126 127
         },
127
-        area: ['80%', '90%'],
128
+        area: ["80%", "90%"],
128 129
         shadeClose: false,
129
-        title: '添加菜单'
130
+        title: "添加菜单",
130 131
       })
131 132
     },
132 133
     btn_edit(row) {
133
-      console.log("row",row)
134
+      console.log("row", row)
134 135
       this.parentids = []
135 136
       if (row.parent) {
136 137
         this.getParents(row.parent)
137 138
       } else {
138
-        this.parentids.push('000000000000000000000000')
139
+        this.parentids.push("000000000000000000000000")
139 140
       }
140 141
       this.$layer.iframe({
141 142
         content: {
142 143
           content: addOrEditMenu, // 传递的组件对象
143 144
           parent: this, // 当前的vue对象
144
-          data: { 'rowid': row.id, 'parentidArr': this.parentids }// props
145
+          data: { rowid: row.id, parentidArr: this.parentids }, // props
145 146
         },
146
-        area: ['80%', '90%'],
147
-        title: '编辑菜单'
147
+        area: ["80%", "90%"],
148
+        title: "编辑菜单",
148 149
       })
149 150
     },
150 151
     btn_button(row) {
@@ -152,33 +153,35 @@ export default {
152 153
         content: {
153 154
           content: menuBtn, // 传递的组件对象
154 155
           parent: this, // 当前的vue对象
155
-          data: { 'rowid': row.id }// props
156
+          data: { rowid: row.id }, // props
156 157
         },
157
-        area: ['80%', '90%'],
158
-        title: `${row.name} 的按钮管理`
158
+        area: ["80%", "90%"],
159
+        title: `${row.name} 的按钮管理`,
159 160
       })
160 161
     },
161 162
     btn_delete(editId) {
162
-      this.$confirm('此操作将永久删除当前菜单, 是否继续?', '提示', {
163
-        confirmButtonText: '确定',
164
-        cancelButtonText: '取消',
165
-        type: 'warning'
166
-      }).then(() => {
167
-        deleteMenu(editId).then(response => {
168
-          if (response.state.toLowerCase() === 'success') {
169
-            this.getDatas()
170
-            this.$message.success('删除成功!')
171
-          }
172
-        })
173
-      }).catch(() => {
174
-        this.$message.info('已取消删除')
163
+      this.$confirm("此操作将永久删除当前菜单, 是否继续?", "提示", {
164
+        confirmButtonText: "确定",
165
+        cancelButtonText: "取消",
166
+        type: "warning",
175 167
       })
168
+        .then(() => {
169
+          deleteMenu(editId).then((response) => {
170
+            if (response.state.toLowerCase() === "success") {
171
+              this.getDatas()
172
+              this.$message.success("删除成功!")
173
+            }
174
+          })
175
+        })
176
+        .catch(() => {
177
+          this.$message.info("已取消删除")
178
+        })
176 179
     },
177 180
     /**
178
-			 * 将一维的扁平数组转换为多层级对象
179
-			 * @param  {[type]} list 一维数组,数组中每一个元素需包含id和parent_id两个属性
180
-			 * @return {[type]} tree 多层级树状结构
181
-			 */
181
+     * 将一维的扁平数组转换为多层级对象
182
+     * @param  {[type]} list 一维数组,数组中每一个元素需包含id和parent_id两个属性
183
+     * @return {[type]} tree 多层级树状结构
184
+     */
182 185
     buildTree(list) {
183 186
       const temp = {}
184 187
       const tree = {}
@@ -195,8 +198,6 @@ export default {
195 198
           tree[temp[i].F_Id] = temp[i]
196 199
         }
197 200
       }
198
-      console.log('temp', temp)
199
-      console.log('tree', tree)
200 201
       return this.filterMenuDatas(tree)
201 202
     },
202 203
     // 处理数据格式
@@ -205,7 +206,7 @@ export default {
205 206
       let j = -1
206 207
       for (const i in menudatas) {
207 208
         j++
208
-        if (menudatas[i].F_ParentId === '000000000000000000000000') {
209
+        if (menudatas[i].F_ParentId === "000000000000000000000000") {
209 210
           accessedRouters.push({
210 211
             id: menudatas[i].F_Id,
211 212
             path: menudatas[i].F_OptUrl,
@@ -215,7 +216,7 @@ export default {
215 216
             stateFlag: menudatas[i].F_State, // 是否启用
216 217
             remark: menudatas[i].F_Remark, // 介绍
217 218
             sort: menudatas[i].F_Sort, //排序
218
-            children: []
219
+            children: [],
219 220
           })
220 221
         } else {
221 222
           accessedRouters.push({
@@ -233,7 +234,7 @@ export default {
233 234
           accessedRouters[j].children = this.filterMenuDatas(menudatas[i].childnodes)
234 235
         }
235 236
       }
236
-      accessedRouters.sort(function(x, y) {
237
+      accessedRouters.sort(function (x, y) {
237 238
         return x.sort - y.sort
238 239
       })
239 240
       return accessedRouters
@@ -244,19 +245,19 @@ export default {
244 245
       if (poptions.parent) {
245 246
         this.getParents(poptions.parent)
246 247
       }
247
-    }
248
-  }
248
+    },
249
+  },
249 250
 }
250 251
 </script>
251 252
 
252 253
 <style rel="stylesheet/scss" lang="scss" scoped>
253
-	.target_color1 {
254
-		color: #13ce66;
255
-		font-size: 16px;
256
-	}
254
+.target_color1 {
255
+  color: #13ce66;
256
+  font-size: 16px;
257
+}
257 258
 
258
-	.target_color2 {
259
-		color: #ff4949;
260
-		font-size: 16px;
261
-	}
259
+.target_color2 {
260
+  color: #ff4949;
261
+  font-size: 16px;
262
+}
262 263
 </style>

+ 79 - 104
CallCenterWeb.UI/src/views/systemSetup/roleSetting/roleSetup/index.vue

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
   <div class="app-container role_setup">
3 3
     <div class="filter-container">
4
-      <el-input v-model="keyword" placeholder="请输入角色代码" class="filter-item"/>
4
+      <el-input v-model="keyword" placeholder="请输入角色代码" class="filter-item" />
5 5
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
6 6
       <el-button v-permission="'HY_add'" type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
7 7
       <el-button v-permission="'HY_edit'" type="primary" class="filter-item" icon="el-icon-edit" @click="btn_edit">编辑</el-button>
@@ -10,75 +10,50 @@
10 10
     </div>
11 11
     <el-row :gutter="20">
12 12
       <el-col :span="12">
13
-        <el-alert
14
-          :closable="false"
15
-          title="角色列表"
16
-          type="success"/>
17
-        <el-table
18
-          v-loading="loading"
19
-          :data="roleLists"
20
-          border
21
-          stripe
22
-          highlight-current-row
23
-          @row-click="handleTableClick">
24
-          <el-table-column type="index" label="编号" align="center" fixed width="80"/>
25
-          <el-table-column prop="F_RoleName" label="用户角色" align="center" min-width=""/>
26
-          <el-table-column prop="F_RoleCode" label="角色代码" align="center" min-width=""/>
27
-          <el-table-column prop="F_CreateOn" label="创建时间" align="center" min-width=""/>
28
-          <el-table-column prop="F_LastModifyOn" label="最后修改时间" align="center" min-width=""/>
29
-          <el-table-column prop="F_Remark" label="备注" align="center" min-width=""/>
13
+        <el-alert :closable="false" title="角色列表" type="success" />
14
+        <el-table v-loading="loading" :data="roleLists" border stripe highlight-current-row @row-click="handleTableClick">
15
+          <el-table-column type="index" label="编号" align="center" fixed width="80" />
16
+          <el-table-column prop="F_RoleName" label="用户角色" align="center" min-width="" />
17
+          <el-table-column prop="F_RoleCode" label="角色代码" align="center" min-width="" />
18
+          <el-table-column prop="F_CreateOn" label="创建时间" align="center" min-width="" />
19
+          <el-table-column prop="F_LastModifyOn" label="最后修改时间" align="center" min-width="" />
20
+          <el-table-column prop="F_Remark" label="备注" align="center" min-width="" />
30 21
         </el-table>
31
-        <pagination
32
-          v-show="pageParams.total > 0"
33
-          :total="pageParams.total"
34
-          :pageindex.sync="pageParams.pageindex"
35
-          :pagesize.sync="pageParams.pagesize"
36
-          class="pagination"
37
-          @pagination="getList" />
22
+        <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
38 23
       </el-col>
39 24
       <el-col :span="12">
40
-        <el-alert
41
-          :closable="false"
42
-          title="权限树"
43
-          type="success"/>
44
-        <el-tree
45
-          ref="treeRef"
46
-          :data="treelists"
47
-          show-checkbox
48
-          node-key="id"
49
-          check-strictly
50
-          highlight-current/>
25
+        <el-alert :closable="false" title="权限树" type="success" />
26
+        <el-tree ref="treeRef" :data="treelists" show-checkbox node-key="id" check-strictly highlight-current />
51 27
       </el-col>
52 28
     </el-row>
53 29
   </div>
54 30
 </template>
55 31
 
56 32
 <script>
57
-
58
-import { getRoleLists, deleteRole, saveRoleList, getRoleTree } from '@/api/systemSetup/roleSetting/roleSetup'
59
-import addOrEditRole from './addOrEditRole'
60
-import { pickerOptions } from '@/utils'
61
-import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
33
+import { getRoleLists, deleteRole, saveRoleList, getRoleTree } from "@/api/systemSetup/roleSetting/roleSetup"
34
+import addOrEditRole from "./addOrEditRole"
35
+import { pickerOptions } from "@/utils"
36
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
62 37
 
63 38
 export default {
64
-  name: 'RoleSetup',
39
+  name: "RoleSetup",
65 40
   components: {
66
-    Pagination
41
+    Pagination,
67 42
   },
68 43
   data() {
69 44
     return {
70 45
       loading: false,
71
-      searchDate: '',
72
-      keyword: '',
46
+      searchDate: "",
47
+      keyword: "",
73 48
       pageParams: {
74 49
         pageindex: 1, // 当前第几页
75 50
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
76
-        total: 0 // 总共多少数据
51
+        total: 0, // 总共多少数据
77 52
       },
78 53
       pickerOptions, // 日期选择器快捷选项
79 54
       roleLists: [], // 角色列表数据
80 55
       treelists: [], // 菜单树数据
81
-      role_id: '' // 角色id
56
+      role_id: "", // 角色id
82 57
     }
83 58
   },
84 59
   created() {
@@ -94,21 +69,21 @@ export default {
94 69
   methods: {
95 70
     getList() {
96 71
       this.loading = true
97
-      return new Promise(resolve => {
72
+      return new Promise((resolve) => {
98 73
         const params = {
99 74
           pageindex: this.pageParams.pageindex, // 第几页
100 75
           pagesize: this.pageParams.pagesize, // 每页几条信息
101
-          keyword: this.keyword.replace(/\s+/g, ''), //	项目名称,项目类型,项目负责人
76
+          keyword: this.keyword.replace(/\s+/g, ""), //	项目名称,项目类型,项目负责人
102 77
           stime: this.searchDate && this.searchDate[0],
103
-          etime: this.searchDate && this.searchDate[1]
78
+          etime: this.searchDate && this.searchDate[1],
104 79
         }
105
-        getRoleLists(params).then(response => {
80
+        getRoleLists(params).then((response) => {
106 81
           this.loading = false
107
-          if (response.state.toLowerCase() === 'success') {
82
+          if (response.state.toLowerCase() === "success") {
108 83
             this.pageParams.total = response.data.Totals
109 84
             this.roleLists = response.data.Rows
110
-            this.$refs.treeRef.setCheckedKeys([])// 清空权限树的选中状态
111
-            this.role_id = ''
85
+            this.$refs.treeRef.setCheckedKeys([]) // 清空权限树的选中状态
86
+            this.role_id = ""
112 87
           }
113 88
         })
114 89
         resolve()
@@ -128,77 +103,79 @@ export default {
128 103
         content: {
129 104
           content: addOrEditRole, // 传递的组件对象
130 105
           parent: this, // 当前的vue对象
131
-          data: { 'rowid': '' }// props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
106
+          data: { rowid: "" }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
132 107
         },
133
-        area: ['40%', '400px'],
108
+        area: ["40%", "400px"],
134 109
         shadeClose: false,
135
-        title: '添加用户角色'
110
+        title: "添加用户角色",
136 111
       })
137 112
     },
138 113
     btn_edit() {
139 114
       if (!this.role_id) {
140
-        this.$message.warning('请先选择要编辑的用户角色!')
115
+        this.$message.warning("请先选择要编辑的用户角色!")
141 116
         return
142 117
       }
143 118
       this.$layer.iframe({
144 119
         content: {
145 120
           content: addOrEditRole, // 传递的组件对象
146 121
           parent: this, // 当前的vue对象
147
-          data: { 'rowid': this.role_id }// props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
122
+          data: { rowid: this.role_id }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
148 123
         },
149
-        area: ['40%', '400px'],
124
+        area: ["40%", "400px"],
150 125
         shadeClose: false,
151
-        title: '编辑用户角色'
126
+        title: "编辑用户角色",
152 127
       })
153 128
     },
154 129
     btn_delete() {
155 130
       if (!this.role_id) {
156
-        this.$message.warning('请先选择要删除的用户角色!')
131
+        this.$message.warning("请先选择要删除的用户角色!")
157 132
         return
158 133
       }
159
-      if (this.role_id === '5aaa5a54b9c1893cb015df26') {
160
-        this.$message.warning('系统维护不能删除!')
134
+      if (this.role_id === "5aaa5a54b9c1893cb015df26") {
135
+        this.$message.warning("系统维护不能删除!")
161 136
         return
162 137
       }
163
-      this.$confirm('此操作将永久删除当前角色, 是否继续?', '提示', {
164
-        confirmButtonText: '确定',
165
-        cancelButtonText: '取消',
166
-        type: 'warning'
167
-      }).then(() => {
168
-        deleteRole(this.role_id).then(response => {
169
-          if (response.state.toLowerCase() === 'success') {
170
-            this.getList()
171
-            this.$message.success('删除成功!')
172
-          }
173
-        })
174
-      }).catch(() => {
175
-        this.$message.info('已取消删除')
138
+      this.$confirm("此操作将永久删除当前角色, 是否继续?", "提示", {
139
+        confirmButtonText: "确定",
140
+        cancelButtonText: "取消",
141
+        type: "warning",
176 142
       })
143
+        .then(() => {
144
+          deleteRole(this.role_id).then((response) => {
145
+            if (response.state.toLowerCase() === "success") {
146
+              this.getList()
147
+              this.$message.success("删除成功!")
148
+            }
149
+          })
150
+        })
151
+        .catch(() => {
152
+          this.$message.info("已取消删除")
153
+        })
177 154
     },
178 155
     btn_save() {
179 156
       if (!this.role_id) {
180
-        this.$message.warning('请先选择用户角色!')
157
+        this.$message.warning("请先选择用户角色!")
181 158
         return
182 159
       }
183 160
       if (this.$refs.treeRef.getCheckedKeys().length === 0) {
184
-        this.$message.warning('请选择权限!')
161
+        this.$message.warning("请选择权限!")
185 162
         return
186 163
       }
187 164
       // console.log(this.$refs.treeRef.getCheckedKeys())//返回目前被选中的节点的 key 所组成的数组
188 165
       saveRoleList({
189 166
         role_id: this.role_id, // 角色id
190
-        ids: this.$refs.treeRef.getCheckedKeys()//	选中权限树的id值,
191
-      }).then(response => {
192
-        if (response.state.toLowerCase() === 'success') {
193
-          this.$message.success('恭喜你,角色权限保存成功!')
167
+        ids: this.$refs.treeRef.getCheckedKeys(), //	选中权限树的id值,
168
+      }).then((response) => {
169
+        if (response.state.toLowerCase() === "success") {
170
+          this.$message.success("恭喜你,角色权限保存成功!")
194 171
         }
195 172
       })
196 173
     },
197 174
     // 权限树
198 175
     getTreeList() {
199
-      return new Promise(resolve => {
200
-        getRoleTree(this.role_id).then(response => {
201
-          if (response.state.toLowerCase() === 'success') {
176
+      return new Promise((resolve) => {
177
+        getRoleTree(this.role_id).then((response) => {
178
+          if (response.state.toLowerCase() === "success") {
202 179
             this.treelists = this.buildTree(response.data)
203 180
             if (this.role_id) {
204 181
               // 获取ischecked数组 设置选中
@@ -221,10 +198,10 @@ export default {
221 198
       return checkedArr
222 199
     },
223 200
     /**
224
-		* 将一维的扁平数组转换为多层级对象
225
-		* @param  {[type]} list 一维数组,数组中每一个元素需包含id和pid两个属性
226
-		* @return {[type]} tree 多层级树状结构
227
-		*/
201
+     * 将一维的扁平数组转换为多层级对象
202
+     * @param  {[type]} list 一维数组,数组中每一个元素需包含id和pid两个属性
203
+     * @return {[type]} tree 多层级树状结构
204
+     */
228 205
     buildTree(list) {
229 206
       const temp = {}
230 207
       const tree = {}
@@ -234,7 +211,7 @@ export default {
234 211
       }
235 212
       for (const i in temp) {
236 213
         // if (temp[i].pid !== 'Moudle_000000000000000000000000') {
237
-        if (temp[i].pid !== 'Moudle_0') {
214
+        if (temp[i].pid !== "Moudle_0") {
238 215
           if (!temp[temp[i].pid].children) {
239 216
             temp[temp[i].pid].children = []
240 217
           }
@@ -254,30 +231,28 @@ export default {
254 231
         accessedRouters.push({
255 232
           id: treeDatas[i].id,
256 233
           label: treeDatas[i].name,
257
-          children: []
234
+          children: [],
258 235
         })
259 236
         if (treeDatas[i].children) {
260 237
           accessedRouters[j].children = this.filterTreeDatas(treeDatas[i].children)
261 238
         }
262 239
       }
263
-
264 240
       return accessedRouters
265
-    }
266
-  }
241
+    },
242
+  },
267 243
 }
268 244
 </script>
269 245
 
270 246
 <!-- 需要注意的是,修改elementUI的默认样式的css不能使用scoped. -->
271 247
 <style rel="stylesheet/scss" lang="scss">
272
-	.role_setup{
273
-		.el-table tr{
274
-			cursor: pointer;
275
-		}
276
-		.el-table__body tr.current-row>td {
277
-			background: rgba(185, 221, 249, .75);
278
-		}
279
-	}
248
+.role_setup {
249
+  .el-table tr {
250
+    cursor: pointer;
251
+  }
252
+  .el-table__body tr.current-row > td {
253
+    background: rgba(185, 221, 249, 0.75);
254
+  }
255
+}
280 256
 </style>
281 257
 <style rel="stylesheet/scss" lang="scss" scoped>
282
-
283 258
 </style>