liuyifan vor 5 Jahren
Ursprung
Commit
cc8fbdebae
23 geänderte Dateien mit 1008 neuen und 555 gelöschten Zeilen
  1. 17 6
      CallCenterWeb.UI/src/styles/index.scss
  2. 10 23
      CallCenterWeb.UI/src/views/CustomerServiceReport/salesDataSheet/index.vue
  3. 1 1
      CallCenterWeb.UI/src/views/CustomerServiceReport/salesTimeTable/index.vue
  4. 6 2
      CallCenterWeb.UI/src/views/afterSaleManagement/addAfterSale/editCommodityNum.vue
  5. 5 6
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/addOrEdit.vue
  6. 2 0
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/afterSaleDetail.vue
  7. 6 2
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/editCommodityNum.vue
  8. 32 16
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/index.vue
  9. 1 0
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/edit.vue
  10. 1 0
      CallCenterWeb.UI/src/views/callScreen/components/createOrder.vue
  11. 86 105
      CallCenterWeb.UI/src/views/custodianManagement/afterSaleListCustodian/index.vue
  12. 1 1
      CallCenterWeb.UI/src/views/customerServiceManagement/customerServiceChangeCollection/index.vue
  13. 4 0
      CallCenterWeb.UI/src/views/memberManagement/memberList/components/addOrder.vue
  14. 500 0
      CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/addOrEdit.vue
  15. 0 1
      CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/editCommodityNum.vue
  16. 26 19
      CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/index.vue
  17. 3 3
      CallCenterWeb.UI/src/views/orderManagement/orderList/detail.vue
  18. 1 0
      CallCenterWeb.UI/src/views/orderManagement/orderList/edit.vue
  19. 103 157
      CallCenterWeb.UI/src/views/orderManagement/salesAfterSaleList/index.vue
  20. 190 202
      CallCenterWeb.UI/src/views/taskManagement/taskList/common/detail.vue
  21. 2 0
      CallCenterWeb.UI/src/views/taskManagement/taskList/index.vue
  22. 11 11
      CallCenterWeb.UI/src/views/telCall/numberTransferPool/index.vue
  23. BIN
      CallCenterWeb.UI/static/xls/importProducts.xlsx

+ 17 - 6
CallCenterWeb.UI/src/styles/index.scss

@@ -138,16 +138,30 @@ a:hover {
138 138
 
139 139
 //vue-layer
140 140
 .vl-notify {
141
-  left: 55% !important;
141
+  // left: 55% !important;
142
+  z-index: 2000 !important;
143
+  .vlicon-max {
144
+    display: none;
145
+  }
146
+  .vl-notify-content {
147
+    height: 100% !important;
148
+    width: 100% !important;
149
+    padding: 20px !important;
150
+  }
151
+  .vl-notify-content > div {
152
+    width: 100% !important;
153
+  }
142 154
 }
155
+// .vl-notify-iframe {
156
+//   margin-left: 90px !important;
157
+//   margin-top: 26px !important;
158
+// }
143 159
 .vl-notify-mask {
144 160
   z-index: 1900;
145 161
   background-color: #000 !important;
146 162
   opacity: 0.4 !important;
147 163
 }
148 164
 .vl-notify-content {
149
-  height: 100% !important;
150
-  width: 100% !important;
151 165
   /*滚动条样式*/
152 166
   &::-webkit-scrollbar {
153 167
     /*滚动条整体样式*/
@@ -166,9 +180,6 @@ a:hover {
166 180
     border-radius: 0;
167 181
     background-color: #f5f5f5;
168 182
   }
169
-  .el-row {
170
-    width: 100%;
171
-  }
172 183
 }
173 184
 
174 185
 //分页

+ 10 - 23
CallCenterWeb.UI/src/views/CustomerServiceReport/salesDataSheet/index.vue

@@ -1,19 +1,7 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchDate"
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
-      />
4
+      <el-date-picker v-model="searchDate" :picker-options="pickerOptions" class="filter-item" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd" align="left" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
17 5
       <el-button type="primary" @click="btn_search">搜索</el-button>
18 6
       <el-button type="primary" @click="btn_export">导出</el-button>
19 7
     </div>
@@ -27,14 +15,14 @@
27 15
 </template>
28 16
 
29 17
 <script>
30
-import { getSalesDataSheet } from '@/api/CustomerServiceReport/CustomerServiceReport'
31
-import { pickerOptions } from '@/utils'
18
+import { getSalesDataSheet } from "@/api/CustomerServiceReport/CustomerServiceReport"
19
+import { pickerOptions } from "@/utils"
32 20
 
33 21
 export default {
34 22
   data() {
35 23
     return {
36 24
       loading: false,
37
-      searchDate: '', // 日期
25
+      searchDate: "", // 日期
38 26
       pickerOptions, // 日期数据
39 27
       dataLists: [], // 列表数据
40 28
     }
@@ -42,9 +30,9 @@ export default {
42 30
   watch: {
43 31
     searchDate(val) {
44 32
       if (val == null) {
45
-        this.searchDate = ''
33
+        this.searchDate = ""
46 34
       }
47
-    }
35
+    },
48 36
   },
49 37
   created() {
50 38
     this.getList()
@@ -64,7 +52,7 @@ export default {
64 52
         }
65 53
         getSalesDataSheet(params).then((response) => {
66 54
           this.loading = false
67
-          if (response.state.toLowerCase() === 'success') {
55
+          if (response.state.toLowerCase() === "success") {
68 56
             this.dataLists = response.data
69 57
           }
70 58
         })
@@ -75,10 +63,9 @@ export default {
75 63
       this.getList()
76 64
     },
77 65
     btn_export() {
78
-      window.location.href =
79
-        this.$store.getters.serverConfig.BASE_API + 'api/KFReport/efficiency?isdc=1' + '&starttime=' + (this.searchDate && this.searchDate[0]) + '&endtime=' + (this.searchDate && this.searchDate[1])
80
-    }
81
-  }
66
+      window.location.href = this.$store.getters.serverConfig.BASE_API + "api/KFReport/efficiency?isdc=1" + "&starttime=" + (this.searchDate && this.searchDate[0]) + "&endtime=" + (this.searchDate && this.searchDate[1])
67
+    },
68
+  },
82 69
 }
83 70
 </script>
84 71
 

+ 1 - 1
CallCenterWeb.UI/src/views/CustomerServiceReport/salesTimeTable/index.vue

@@ -19,7 +19,7 @@
19 19
       <el-table-column prop="core" label="中心" align="center" />
20 20
       <el-table-column prop="group" label="小组" align="center" min-width />
21 21
       <el-table-column prop="Name" label="销售" align="center" />
22
-      <el-table-column prop="TalkLongTime" label="销售" align="center" />
22
+      <el-table-column prop="TalkLongTime" label="销售时长" align="center" />
23 23
     </el-table>
24 24
   </div>
25 25
 </template>

+ 6 - 2
CallCenterWeb.UI/src/views/afterSaleManagement/addAfterSale/editCommodityNum.vue

@@ -37,8 +37,12 @@ export default {
37 37
   },
38 38
   methods: {
39 39
     submitForm() {
40
-      this.$parent.$layer.close(this.layerid)
41
-      this.$parent.editCommodityNum(this.ruleForm.quantity, this.row)
40
+      if (Number(this.row.F_Count) >= Number(this.ruleForm.quantity)) {
41
+        this.$parent.$layer.close(this.layerid)
42
+        this.$parent.editCommodityNum(this.ruleForm.quantity, this.row)
43
+      } else {
44
+        this.$message.error("退回鞋子数量不能大于卖的产品数量!")
45
+      }
42 46
     },
43 47
   },
44 48
 }

+ 5 - 6
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/addOrEdit.vue

@@ -84,8 +84,8 @@
84 84
               <el-table-column type="selection" width="55"></el-table-column>
85 85
               <el-table-column prop="F_ProductName" label="商品名称" align="center"></el-table-column>
86 86
               <el-table-column prop="F_Count" label="商品数量" align="center"></el-table-column>
87
-              <el-table-column prop="F_DealPrice" label="商品单价" align="center"></el-table-column>
88
-              <el-table-column prop="F_TotlePrice" label="商品总价" align="center"></el-table-column>
87
+              <el-table-column prop="F_Price" label="商品单价" align="center"></el-table-column>
88
+              <el-table-column prop="F_DealPrice" label="商品总价" align="center"></el-table-column>
89 89
               <el-table-column label="操作" align="center">
90 90
                 <template slot-scope="scope">
91 91
                   <el-button type="text" @click="btn_editCommodityNum(scope.row)">修改数量</el-button>
@@ -114,7 +114,7 @@ import { getDictionaryValueList } from "@/api/commonAPI"
114 114
 import { getOrder } from "@/api/orderManagement/orderList"
115 115
 import { getCommodityType } from "@/api/commodityManagement/commodityType"
116 116
 import { getCommodityList } from "@/api/commodityManagement/commodityList"
117
-import { addAfterSaleList, editAfterSaleList, afterSaleListDetail, getAfterSaleOrderCommodityList } from "@/api/afterSaleManagement/afterSaleList"
117
+import { addAfterSaleList, editAfterSaleList, afterSaleListDetail, getAfterSaleOrderReturnCommodityList } from "@/api/afterSaleManagement/afterSaleList"
118 118
 import { getTotalAmount } from "@/api/orderManagement/orderList"
119 119
 import editCommodityNum from "./editCommodityNum"
120 120
 
@@ -214,7 +214,6 @@ export default {
214 214
     }
215 215
   },
216 216
   created() {
217
-    this.getAfterSaleReasons()
218 217
     this.getCommodityTypeSelect()
219 218
     Promise.all([]).then(() => {
220 219
       if (this.rowid) {
@@ -385,7 +384,7 @@ export default {
385 384
           this.ruleForm.F_ProductStatus = res.F_ProductStatus //退回商品状态
386 385
           this.ruleForm.F_Reason = res.F_Reason //处理原因
387 386
           this.ruleForm.F_Aspiration = res.F_Aspiration //客户意愿
388
-          this.getAfterSaleOrderCommodity(this.ruleForm.F_OrderId)
387
+          this.getAfterSaleOrderCommodity(rid)
389 388
           this.getReissueGoods(res.F_DetailList) //补发商品
390 389
           this.getTotalAmountFun()
391 390
         }
@@ -408,7 +407,7 @@ export default {
408 407
       const params = {
409 408
         orderid: rid,
410 409
       }
411
-      getAfterSaleOrderCommodityList(params).then((response) => {
410
+      getAfterSaleOrderReturnCommodityList(params).then((response) => {
412 411
         if (response.state.toLowerCase() === "success") {
413 412
           const res = response.data
414 413
           this.oldCommodityTableData = res

+ 2 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/afterSaleDetail.vue

@@ -29,6 +29,8 @@
29 29
               <el-table :data="oldCommodityTableData" stripe border style="width: 100%">
30 30
                 <el-table-column prop="F_ProductName" label="商品名称" align="center"></el-table-column>
31 31
                 <el-table-column prop="F_Count" label="商品数量" align="center"></el-table-column>
32
+              <el-table-column prop="F_Price" label="商品单价" align="center"></el-table-column>
33
+              <el-table-column prop="F_DealPrice" label="商品总价" align="center"></el-table-column>
32 34
               </el-table>
33 35
             </el-col>
34 36
           </el-col>

+ 6 - 2
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/editCommodityNum.vue

@@ -37,8 +37,12 @@ export default {
37 37
   },
38 38
   methods: {
39 39
     submitForm() {
40
-      this.$parent.$layer.close(this.layerid)
41
-      this.$parent.editCommodityNum(this.ruleForm.quantity, this.row)
40
+      if (Number(this.row.F_Count) >= Number(this.ruleForm.quantity)) {
41
+        this.$parent.$layer.close(this.layerid)
42
+        this.$parent.editCommodityNum(this.ruleForm.quantity, this.row)
43
+      } else {
44
+        this.$message.error("退回鞋子数量不能大于卖的产品数量!")
45
+      }
42 46
     },
43 47
   },
44 48
 }

+ 32 - 16
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleList/index.vue

@@ -64,10 +64,10 @@
64 64
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
65 65
         <template slot-scope="scope">
66 66
           <el-button v-permission="'HY_after_sale_detail'" type="text" @click="btn_after_sale_detail(scope.row.F_Id)">详情</el-button>
67
-          <el-button v-permission="'HY_review'" v-if="authority_review(scope.row.F_CheckStateSH)" type="text" @click="btn_review(scope.row.F_Id)">审核</el-button>
68
-          <el-button v-permission="'HY_remind'" v-if="authority_remind(scope.row.F_CheckStateSH)" type="text" @click="btn_remind(scope.row.F_Id)">提醒</el-button>
69
-          <el-button v-permission="'HY_edit'" v-if="authority_edit(scope.row.F_CheckStateSH)" type="text" @click="btn_edit(scope.row.F_Id)">编辑</el-button>
70
-          <el-button v-permission="'HY_delete'" v-if="authority_delete(scope.row.F_CheckStateSH)" type="text" @click="btn_delete(scope.row.F_Id)">删除</el-button>
67
+          <el-button v-permission="'HY_review'" v-if="authority_review(scope.row.F_CheckStateSH, scope.row.F_Type)" type="text" @click="btn_review(scope.row.F_Id)">审核</el-button>
68
+          <el-button v-permission="'HY_remind'" v-if="authority_remind(scope.row.F_CheckStateSH, scope.row.F_Type)" type="text" @click="btn_remind(scope.row.F_Id)">提醒</el-button>
69
+          <el-button v-permission="'HY_edit'" v-if="authority_edit(scope.row.F_CheckStateSH, scope.row.F_Type)" type="text" @click="btn_edit(scope.row.F_Id)">编辑</el-button>
70
+          <el-button v-permission="'HY_delete'" v-if="authority_delete(scope.row.F_CheckStateSH, scope.row.F_Type)" type="text" @click="btn_delete(scope.row.F_Id)">删除</el-button>
71 71
         </template>
72 72
       </el-table-column>
73 73
     </el-table>
@@ -299,30 +299,46 @@ export default {
299 299
       }
300 300
       this.selectedPhone = ids
301 301
     },
302
-    authority_review(checkStateSH) {
303
-      if (checkStateSH == 0 && (this.activeName == "-2" || this.activeName == "0")) {
304
-        return true
305
-      } else {
302
+    authority_review(checkStateSH, type) {
303
+      if (type === 9) {
306 304
         return false
305
+      } else {
306
+        if (checkStateSH == 0 && (this.activeName == "-2" || this.activeName == "0")) {
307
+          return true
308
+        } else {
309
+          return false
310
+        }
307 311
       }
308 312
     },
309
-    authority_remind(checkStateSH) {
310
-      if (checkStateSH == 4) {
311
-        return true
312
-      } else {
313
+    authority_remind(checkStateSH, type) {
314
+      if (type === 9) {
313 315
         return false
316
+      } else {
317
+        if (checkStateSH == 4) {
318
+          return true
319
+        } else {
320
+          return false
321
+        }
314 322
       }
315 323
     },
316
-    authority_edit(checkStateSH) {
317
-      // if ((checkStateSH == 0 || checkStateSH == 2) && this.activeName == "-2") {
324
+    authority_edit(checkStateSH, type) {
325
+      if (type === 9) {
326
+        return false
327
+      } else {
318 328
         return true
329
+      }
330
+      // if ((checkStateSH == 0 || checkStateSH == 2) && this.activeName == "-2") {
319 331
       // } else {
320 332
       //   return false
321 333
       // }
322 334
     },
323
-    authority_delete(checkStateSH) {
335
+    authority_delete(checkStateSH, type) {
336
+      if (type === 9) {
337
+        return false
338
+      } else {
339
+        return true
340
+      }
324 341
       // if (checkStateSH == 0 || checkStateSH == 2) {
325
-      return true
326 342
       // } else {
327 343
       //   return false
328 344
       // }

+ 1 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/edit.vue

@@ -938,6 +938,7 @@ export default {
938 938
       this.commodityTableData.splice(index, 1)
939 939
       this.getTotalAmountFun()
940 940
       if (this.activityAccountData.length > 0 && this.commodityTableData.length > 0) {
941
+        this.activityAccountData = []
941 942
         this.getActivityAccountList()
942 943
       } else {
943 944
         this.activityAccountData = []

+ 1 - 0
CallCenterWeb.UI/src/views/callScreen/components/createOrder.vue

@@ -1000,6 +1000,7 @@ export default {
1000 1000
       this.commodityTableData.splice(index, 1)
1001 1001
       this.getTotalAmountFun()
1002 1002
       if (this.activityAccountData.length > 0 && this.commodityTableData.length > 0) {
1003
+        this.activityAccountData = []
1003 1004
         this.getActivityAccountList()
1004 1005
       } else {
1005 1006
         this.activityAccountData = []

+ 86 - 105
CallCenterWeb.UI/src/views/custodianManagement/afterSaleListCustodian/index.vue

@@ -8,13 +8,7 @@
8 8
         <el-option label="货物不符" value="2"></el-option>
9 9
         <el-option label="未收到货" value="3"></el-option>
10 10
       </el-select> -->
11
-      <el-select
12
-        v-model="searchData.type"
13
-        class="filter-item"
14
-        filterable
15
-        clearable
16
-        placeholder="请选择售后类型"
17
-      >
11
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择售后类型">
18 12
         <el-option label="调换货" value="1"></el-option>
19 13
         <el-option label="退货" value="2"></el-option>
20 14
         <!-- <el-option label="部分退货" value="3"></el-option> -->
@@ -24,6 +18,7 @@
24 18
         <!-- <el-option label="错发" value="7"></el-option> -->
25 19
         <!-- <el-option label="漏发" value="8"></el-option> -->
26 20
       </el-select>
21
+      <el-input v-model="searchData.orderId" placeholder="请输入订单编号" class="filter-item" />
27 22
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
28 23
       <el-button v-permission="'HY_import_receiving'" type="primary" class="filter-item" @click="btn_import_receiving">导入</el-button>
29 24
       <el-button v-permission="'HY_export'" type="primary" class="filter-item" @click="btn_export">导出</el-button>
@@ -37,25 +32,15 @@
37 32
     <div>
38 33
       <span>订单数量:{{ pageParams.total }}</span>
39 34
     </div>
40
-    <el-table
41
-      v-loading="loading"
42
-      :data="dataLists"
43
-      border
44
-      stripe
45
-      @selection-change="handleSelectionChange"
46
-    >
35
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
47 36
       <el-table-column type="selection"></el-table-column>
48 37
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
49 38
       <el-table-column prop="F_OrderId" label="订单编号" align="center" min-width="180">
50 39
         <template slot-scope="scope">
51
-          <el-button
52
-            type="text"
53
-            size="small"
54
-            @click="hadndleOrderCode(scope.row.F_OrderId)"
55
-          >{{ scope.row.F_OrderId }}</el-button>
40
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_OrderId)">{{ scope.row.F_OrderId }}</el-button>
56 41
         </template>
57 42
       </el-table-column>
58
-      <el-table-column prop="F_AboutOrderId" label="关联订单编号" align="center" min-width="180" >
43
+      <el-table-column prop="F_AboutOrderId" label="关联订单编号" align="center" min-width="180">
59 44
         <template slot-scope="scope">
60 45
           <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_AboutOrderId)">{{ scope.row.F_AboutOrderId }}</el-button>
61 46
         </template>
@@ -77,13 +62,7 @@
77 62
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
78 63
         <template slot-scope="scope">
79 64
           <el-button v-permission="'HY_after_sale_detail'" type="text" @click="btn_after_sale_detail(scope.row.F_Id)">详情</el-button>
80
-          <el-button
81
-            v-permission="'HY_review'"
82
-            v-if="aftersales(scope.row.F_CheckStateKG)"
83
-            type="text"
84
-            @click="btn_review(scope.row.F_Id)"
85
-            :disabled="isDisable"
86
-          >审核</el-button>
65
+          <el-button v-permission="'HY_review'" v-if="aftersales(scope.row.F_CheckStateKG)" type="text" @click="btn_review(scope.row.F_Id)" :disabled="isDisable">审核</el-button>
87 66
         </template>
88 67
       </el-table-column>
89 68
     </el-table>
@@ -99,17 +78,17 @@
99 78
 </template>
100 79
 
101 80
 <script>
102
-import { getDictionaryValueList } from "@/api/commonAPI";
103
-import { getAfterSaleListCustodian } from "@/api/afterSaleManagement/afterSaleList";
104
-import { pickerOptions, formatterContent } from "@/utils";
105
-import { exportAfterSaleCustodian } from '@/api/custodianManagement/orderListCustodian'
106
-import Pagination from "@/components/Pagination"; // 对el-pagination 二次封装
107
-import detail from "@/views/orderManagement/orderList/detail";
108
-import review from "./review";
109
-import importReceiving from './importReceiving';
110
-import afterSaleDetail from '@/views/afterSaleManagement/afterSaleList/afterSaleDetail'
111
-import { mapGetters } from "vuex";
112
-import request from '@/utils/request'
81
+import { getDictionaryValueList } from "@/api/commonAPI"
82
+import { getAfterSaleListCustodian } from "@/api/afterSaleManagement/afterSaleList"
83
+import { pickerOptions, formatterContent } from "@/utils"
84
+import { exportAfterSaleCustodian } from "@/api/custodianManagement/orderListCustodian"
85
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
86
+import detail from "@/views/orderManagement/orderList/detail"
87
+import review from "./review"
88
+import importReceiving from "./importReceiving"
89
+import afterSaleDetail from "@/views/afterSaleManagement/afterSaleList/afterSaleDetail"
90
+import { mapGetters } from "vuex"
91
+import request from "@/utils/request"
113 92
 
114 93
 export default {
115 94
   name: "ConsolidateOrderList",
@@ -119,24 +98,24 @@ export default {
119 98
   filters: {
120 99
     judgmentStateName(status) {
121 100
       const statusMap = {
122
-        '1': '调换货',
123
-        '2': '退货',
124
-        '3': '部分退货',
125
-        '4': '对发货',
126
-        '5': '补发货',
127
-        '6': '补差额',
128
-        '7': '错发',
129
-        '8': '漏发'
130
-      };
131
-      return statusMap[status];
101
+        1: "调换货",
102
+        2: "退货",
103
+        3: "部分退货",
104
+        4: "对发货",
105
+        5: "补发货",
106
+        6: "补差额",
107
+        7: "错发",
108
+        8: "漏发",
109
+      }
110
+      return statusMap[status]
132 111
     },
133 112
     judgmentAfterSaleCheckState(status) {
134 113
       const statusMap = {
135 114
         0: "保存",
136 115
         1: "审核通过",
137 116
         2: "审核未通过",
138
-      };
139
-      return statusMap[status];
117
+      }
118
+      return statusMap[status]
140 119
     },
141 120
     judgmentCustodianStateName(status) {
142 121
       const statusMap = {
@@ -144,18 +123,19 @@ export default {
144 123
         1: "收到货",
145 124
         2: "货物不符",
146 125
         3: "未收到货",
147
-      };
148
-      return statusMap[status];
126
+      }
127
+      return statusMap[status]
149 128
     },
150 129
   },
151 130
   data() {
152 131
     return {
153 132
       isDisable: false, //防止多次点击
154 133
       loading: false,
155
-      activeName: '-2',
134
+      activeName: "-2",
156 135
       searchData: {
157 136
         checkState: "", //售后审核状态
158 137
         type: "", //售后类型
138
+        orderId: "",
159 139
       },
160 140
       pickerOptions, // 日期数据
161 141
       pageParams: {
@@ -166,15 +146,15 @@ export default {
166 146
       dataLists: [], // 列表数据
167 147
       multipleSelection: [], // 选中的数据
168 148
       selectedId: [], // 选中的数据的id
169
-    };
149
+    }
170 150
   },
171 151
   created() {
172
-    this.getList();
152
+    this.getList()
173 153
     document.onkeyup = (e) => {
174 154
       if (e.keyCode === 13) {
175
-        this.getList();
155
+        this.getList()
176 156
       }
177
-    };
157
+    }
178 158
   },
179 159
   computed: {
180 160
     ...mapGetters([
@@ -190,42 +170,41 @@ export default {
190 170
   },
191 171
   methods: {
192 172
     getList() {
193
-      this.loading = true;
173
+      this.loading = true
194 174
       return new Promise((resolve) => {
195 175
         const params = {
196 176
           F_CheckStateKG: this.searchData.checkState, //售后审核状态
197 177
           F_Type: this.searchData.type, //售后类型
178
+          F_OrderId: this.searchData.orderId, //订单编号
198 179
           F_State: -2, //订单状态
199 180
           F_Id: "",
200 181
           pageindex: 1, // int 第几页
201 182
           pagesize: 1000000, // int 每页几条信息
202 183
           F_PayState: "-2",
203
-        };
184
+        }
204 185
         getAfterSaleListCustodian(params).then((response) => {
205
-          this.loading = false;
186
+          this.loading = false
206 187
           if (response.state.toLowerCase() === "success") {
207
-            this.pageParams.total = response.data.length;
188
+            this.pageParams.total = response.data.length
208 189
             this.dataLists = response.data
209 190
           }
210
-        });
211
-        resolve();
212
-      });
191
+        })
192
+        resolve()
193
+      })
213 194
     },
214 195
     //售后审核
215 196
     btn_review(rowid) {
216
-      this.isDisable = true;
217
-      setTimeout(() => {
218
-        this.$layer.iframe({
219
-          content: {
220
-            content: review, // 传递的组件对象
221
-            parent: this, // 当前的vue对象
222
-            data: { rowid: rowid }, // props
223
-          },
224
-          area: ["40%", "50%"],
225
-          title: "售后审核",
226
-        });
227
-        this.isDisable = false;
228
-      }, 1500);
197
+      this.isDisable = true
198
+      this.$layer.iframe({
199
+        content: {
200
+          content: review, // 传递的组件对象
201
+          parent: this, // 当前的vue对象
202
+          data: { rowid: rowid }, // props
203
+        },
204
+        area: ["40%", "50%"],
205
+        title: "售后审核",
206
+      })
207
+      this.isDisable = false
229 208
     },
230 209
     // 详情
231 210
     btn_after_sale_detail(editId) {
@@ -233,45 +212,47 @@ export default {
233 212
         content: {
234 213
           content: afterSaleDetail, // 传递的组件对象
235 214
           parent: this, // 当前的vue对象
236
-          data: { rowid: editId } // props
215
+          data: { rowid: editId }, // props
237 216
         },
238
-        area: ['80%', '90%'],
239
-        title: '售后列表详情'
217
+        area: ["80%", "90%"],
218
+        title: "售后列表详情",
240 219
       })
241 220
     },
242 221
     //导入
243
-    btn_import_receiving () {
222
+    btn_import_receiving() {
244 223
       this.$layer.iframe({
245 224
         content: {
246 225
           content: importReceiving, // 传递的组件对象
247 226
           parent: this, // 当前的vue对象
248
-          data: { rowid: "" } // props
227
+          data: { rowid: "" }, // props
249 228
         },
250 229
         area: ["30%", "30%"],
251
-        title: "导入"
252
-      });
230
+        title: "导入",
231
+      })
253 232
     },
254 233
     //导出
255 234
     btn_export() {
256 235
       return new Promise((resolve) => {
257 236
         const params = {
258
-          isdc: 1
237
+          isdc: 1,
259 238
         }
260
-        exportAfterSaleCustodian(params).then(res => {
239
+        exportAfterSaleCustodian(params).then((res) => {
261 240
           const content = res
262 241
           const blob = new Blob([content])
263
-          const fileName = '快递信息.xlsx'
264
-          if ('download' in document.createElement('a')) { // 非IE下载
265
-            const elink = document.createElement('a')
242
+          const fileName = "快递信息.xlsx"
243
+          if ("download" in document.createElement("a")) {
244
+            // 非IE下载
245
+            const elink = document.createElement("a")
266 246
             elink.download = fileName
267
-            elink.style.display = 'none'
247
+            elink.style.display = "none"
268 248
             elink.href = URL.createObjectURL(blob)
269 249
             document.body.appendChild(elink)
270 250
             elink.click()
271 251
             URL.revokeObjectURL(elink.href) // 释放URL 对象
272 252
             document.body.removeChild(elink)
273
-            this.$message.success('恭喜你,文件导出成功!')
274
-          } else { // IE10+下载
253
+            this.$message.success("恭喜你,文件导出成功!")
254
+          } else {
255
+            // IE10+下载
275 256
             navigator.msSaveBlob(blob, fileName)
276 257
           }
277 258
         })
@@ -280,8 +261,8 @@ export default {
280 261
       // window.location.href = this.$store.getters.serverConfig.BASE_API + "api/AfterSale/getaftersalebypagesh?isdc=1" + "&Authorization=" + this.token
281 262
     },
282 263
     btn_search() {
283
-      this.pageParams.pageindex = 1;
284
-      this.getList();
264
+      this.pageParams.pageindex = 1
265
+      this.getList()
285 266
     },
286 267
     hadndleOrderCode(ordercode) {
287 268
       this.$layer.iframe({
@@ -292,27 +273,27 @@ export default {
292 273
         },
293 274
         area: ["80%", "90%"],
294 275
         title: "订单详情",
295
-      });
276
+      })
296 277
     },
297 278
     //售后审核设置
298 279
     aftersales(state) {
299 280
       if (state == 0) {
300
-        return true;
281
+        return true
301 282
       } else {
302
-        return false;
283
+        return false
303 284
       }
304 285
     },
305 286
     //选择多个
306 287
     handleSelectionChange(val) {
307
-      const ids = [];
308
-      this.multipleSelection = val;
288
+      const ids = []
289
+      this.multipleSelection = val
309 290
       for (let i = 0; i < this.multipleSelection.length; i++) {
310
-        ids.push(this.multipleSelection[i].id);
291
+        ids.push(this.multipleSelection[i].id)
311 292
       }
312
-      this.selectedPhone = ids;
293
+      this.selectedPhone = ids
313 294
     },
314 295
     handleTabClick() {
315
-      this.pageParams.pageindex=1
296
+      this.pageParams.pageindex = 1
316 297
       if (this.activeName === "0") {
317 298
         this.searchData.checkState = "0"
318 299
       } else if (this.activeName === "1") {
@@ -322,10 +303,10 @@ export default {
322 303
       } else {
323 304
         this.searchData.checkState = "-2"
324 305
       }
325
-      this.getList();
326
-    }
306
+      this.getList()
307
+    },
327 308
   },
328
-};
309
+}
329 310
 </script>
330 311
 
331 312
 <style rel="stylesheet/scss" lang="scss" scoped>

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

@@ -55,7 +55,7 @@
55 55
         </template>
56 56
       </el-table-column>
57 57
       <el-table-column prop="F_Money" label="变动金额" align="center" />
58
-      <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
58
+      <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
59 59
       <el-table-column prop="F_Remark" label="备注" align="center" />
60 60
       <el-table-column prop="F_AddTime" label="下单日期" align="center" />
61 61
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">

+ 4 - 0
CallCenterWeb.UI/src/views/memberManagement/memberList/components/addOrder.vue

@@ -985,6 +985,7 @@ export default {
985 985
       this.commodityTableData.splice(index, 1)
986 986
       this.getTotalAmountFun()
987 987
       if (this.activityAccountData.length > 0 && this.commodityTableData.length > 0) {
988
+        this.activityAccountData = []
988 989
         this.getActivityAccountList()
989 990
       } else {
990 991
         this.activityAccountData = []
@@ -1364,4 +1365,7 @@ export default {
1364 1365
   margin-top: 20px;
1365 1366
   padding-top: 40px;
1366 1367
 }
1368
+.vlicon-max {
1369
+  display: none;
1370
+}
1367 1371
 </style>

+ 500 - 0
CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/addOrEdit.vue

@@ -0,0 +1,500 @@
1
+<template>
2
+  <div v-loading="loading">
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="150px" class="order_form">
4
+      <el-form-item label="订单编号" prop="F_OrderId">
5
+        <el-input v-model="ruleForm.F_OrderId" :disabled="true" />
6
+      </el-form-item>
7
+      <el-form-item label="售后类型" prop="F_Type">
8
+        <el-select v-model="ruleForm.F_Type" class="form_select" filterable clearable placeholder="请选择售后类型">
9
+          <!-- <el-option label="调换" value="1"></el-option> -->
10
+          <!-- <el-option label="退货" value="2"></el-option> -->
11
+          <!-- <el-option label="部分退货" value="3"></el-option> -->
12
+          <!-- <el-option label="对发货" value="4"></el-option> -->
13
+          <!-- <el-option label="补发货" value="5"></el-option> -->
14
+          <!-- <el-option label="补差额" value="6"></el-option> -->
15
+          <!-- <el-option label="错发" value="7"></el-option> -->
16
+          <!-- <el-option label="漏发" value="8"></el-option> -->
17
+          <el-option label="改代收" value="9"></el-option>
18
+        </el-select>
19
+      </el-form-item>
20
+      <el-form-item label="变动金额" prop="F_Money">
21
+        <el-input-number v-model="ruleForm.F_Money" controls-position="right" class="form_input_number"></el-input-number>
22
+      </el-form-item>
23
+      <el-form-item label="售后原因" prop="F_ReturnType">
24
+        <el-select v-model="ruleForm.F_ReturnType" class="form_select" filterable clearable placeholder="请选择售后原因">
25
+          <el-option v-for="item in afterSaleReasonsList" :key="item.F_ValueId" :label="item.F_Value" :value="item.F_Value"></el-option>
26
+        </el-select>
27
+      </el-form-item>
28
+      <!-- <el-form-item label="售后原因" prop="F_ReturnDes" >
29
+        <el-input v-model="ruleForm.F_ReturnDes" />
30
+      </el-form-item> -->
31
+      <el-form-item label="退回商品状态" prop="F_ProductStatus">
32
+        <el-input v-model="ruleForm.F_ProductStatus" placeholder="请输入退回商品状态" />
33
+      </el-form-item>
34
+      <el-form-item label="处理原因" prop="F_Reason">
35
+        <el-input v-model="ruleForm.F_Reason" placeholder="请输入处理原因" />
36
+      </el-form-item>
37
+      <el-form-item label="客户意愿" prop="F_Aspiration">
38
+        <el-input v-model="ruleForm.F_Aspiration" placeholder="请输入客户意愿" />
39
+      </el-form-item>
40
+      <el-row>
41
+        <el-col :span="8">
42
+          <el-form-item label="商品分类" prop="parentids">
43
+            <el-cascader v-model="parentids" :options="commodityTypeLists" :props="typeDropProps" placeholder="请选择商品分类" clearable filterable change-on-select @change="commodityTypeChange" style="width: 100%" />
44
+          </el-form-item>
45
+        </el-col>
46
+        <el-col :span="8">
47
+          <el-form-item label="商品" prop="productName">
48
+            <el-select v-model="commoditySearchData.productName" class="filter-item" value-key="F_ProductId" clearable placeholder="请选择商品" @change="commodityListChange">
49
+              <el-option v-for="item in commodityListLists" :key="item.F_ProductId" :label="item.F_ProductName" :value="item"> </el-option>
50
+            </el-select>
51
+          </el-form-item>
52
+        </el-col>
53
+        <el-col :span="8">
54
+          <el-form-item label="商品数量" prop="num">
55
+            <el-input-number v-model="commoditySearchData.num" :min="1" label="描述文字"></el-input-number>
56
+          </el-form-item>
57
+        </el-col>
58
+      </el-row>
59
+      <el-row>
60
+        <el-form-item>
61
+          <el-button type="primary" @click="addCommodity">添加商品</el-button>
62
+        </el-form-item>
63
+      </el-row>
64
+      <el-row>
65
+        <el-col :span="24">
66
+          <el-form-item label="补发商品">
67
+            <el-table :data="commodityTableData" stripe style="width: 100%">
68
+              <el-table-column prop="F_ProductName" label="商品名称" align="center"></el-table-column>
69
+              <el-table-column prop="F_Count" label="商品数量" align="center"></el-table-column>
70
+              <el-table-column prop="F_DealPrice" label="商品单价" align="center"></el-table-column>
71
+              <el-table-column prop="F_TotlePrice" label="商品总价" align="center"></el-table-column>
72
+              <el-table-column label="操作" align="center">
73
+                <template slot-scope="scope">
74
+                  <el-button type="text" @click="btn_deleteCommodity(scope.row)">删除</el-button>
75
+                </template>
76
+              </el-table-column>
77
+            </el-table>
78
+          </el-form-item>
79
+        </el-col>
80
+      </el-row>
81
+      <el-row>
82
+        <el-col :span="24">
83
+          <el-form-item label="退回商品">
84
+            <el-table :data="oldCommodityTableData" stripe style="width: 100%" @selection-change="handleSelectionChange" ref="oldCommodityTable">
85
+              <el-table-column type="selection" width="55"></el-table-column>
86
+              <el-table-column prop="F_ProductName" label="商品名称" align="center"></el-table-column>
87
+              <el-table-column prop="F_Count" label="商品数量" align="center"></el-table-column>
88
+              <el-table-column prop="F_Price" label="商品单价" align="center"></el-table-column>
89
+              <el-table-column prop="F_DealPrice" label="商品总价" align="center"></el-table-column>
90
+              <el-table-column label="操作" align="center">
91
+                <template slot-scope="scope">
92
+                  <el-button type="text" @click="btn_editCommodityNum(scope.row)">修改数量</el-button>
93
+                </template>
94
+              </el-table-column>
95
+            </el-table>
96
+          </el-form-item>
97
+        </el-col>
98
+      </el-row>
99
+      <el-form-item label="售后备注展示" prop="F_Remark">
100
+        <span>{{ ruleForm.F_RemarkShow }}</span>
101
+      </el-form-item>
102
+      <el-form-item label="售后备注" prop="F_Remark">
103
+        <el-input :autosize="{ minRows: 4 }" v-model="ruleForm.F_Remark" type="textarea" placeholder="请输入售后备注" />
104
+      </el-form-item>
105
+      <el-form-item>
106
+        <el-button type="primary" @click="submitForm(0)">保存</el-button>
107
+        <!-- <el-button type="primary" @click="submitForm(1)">提交</el-button> -->
108
+      </el-form-item>
109
+    </el-form>
110
+  </div>
111
+</template>
112
+
113
+<script>
114
+import { getDictionaryValueList } from "@/api/commonAPI"
115
+import { getOrder } from "@/api/orderManagement/orderList"
116
+import { getCommodityType } from "@/api/commodityManagement/commodityType"
117
+import { getCommodityList } from "@/api/commodityManagement/commodityList"
118
+import { addAfterSaleList, editAfterSaleList, afterSaleListDetail, getAfterSaleOrderReturnCommodityList } from "@/api/afterSaleManagement/afterSaleList"
119
+import { getTotalAmount } from "@/api/orderManagement/orderList"
120
+import editCommodityNum from "./editCommodityNum"
121
+
122
+export default {
123
+  name: "AfterSale",
124
+  props: {
125
+    rowid: {
126
+      type: String,
127
+      default: "",
128
+    },
129
+    layerid: {
130
+      type: String,
131
+      default: "",
132
+    },
133
+  },
134
+  data() {
135
+    return {
136
+      parentids: [],
137
+      afterSaleReasonsList: [], //售后原因类型
138
+      commodityTypeLists: [], //商品分类下拉数据
139
+      // 自定义菜单下拉数据的key值
140
+      typeDropProps: {
141
+        value: "id",
142
+        label: "text",
143
+      },
144
+      commodityTableData: [], //添加商品
145
+      commodityListLists: [], //商品列表
146
+      commoditySearchData: {
147
+        //商品搜索数据
148
+        classId: "", // 商品分类id
149
+        className: "", // 商品分类名称
150
+        productName: "", //商品名称
151
+        productId: "", //商品id
152
+        num: 1, //商品数量
153
+      },
154
+      oldCommodityTableData: [], //退回商品列表
155
+      oldDetailListSelection: [], // 退回商品选中数据
156
+      ruleForm: {
157
+        F_Id: "", //售后id
158
+        F_OrderId: "", //订单编号
159
+        F_DetailList: "", //补发产品列表
160
+        F_OldDetailList: "", //退回产品列表
161
+        F_Type: "", //售后类型
162
+        F_Money: "", //变动金额
163
+        F_Remark: "", //售后备注
164
+        F_RemarkShow: "", //售后备注展示
165
+        F_ReturnType: "", //售后原因类型
166
+        F_ReturnDes: "", //售后原因
167
+        F_ProductStatus: "", //退回商品状态
168
+        F_CheckStateSH: "", //0保存 1提交按钮 2不通过
169
+        F_Reason: "", //处理原因
170
+        F_Aspiration: "", //客户意愿
171
+      },
172
+      rules: {
173
+        order1: [
174
+          {
175
+            required: true,
176
+            trigger: "blur",
177
+            message: "请输入订单编号1",
178
+          },
179
+        ],
180
+        order2: [
181
+          {
182
+            required: true,
183
+            trigger: "blur",
184
+            message: "请输入订单编号2",
185
+          },
186
+        ],
187
+        F_Type: [
188
+          {
189
+            required: true,
190
+            trigger: "change",
191
+            message: "请选择售后类型",
192
+          },
193
+        ],
194
+        F_Money: [
195
+          {
196
+            required: true,
197
+            trigger: "blur",
198
+            message: "请输入变动金额",
199
+          },
200
+        ],
201
+        F_ReturnType: [
202
+          {
203
+            required: true,
204
+            trigger: "change",
205
+            message: "请选择售后原因类型",
206
+          },
207
+        ],
208
+        // F_ReturnDes: [{
209
+        //   required: true,
210
+        //   trigger: 'blur',
211
+        //   message: '请输入售后原因',
212
+        // }],
213
+      },
214
+      loading: false,
215
+    }
216
+  },
217
+  created() {
218
+    this.getCommodityTypeSelect()
219
+    Promise.all([]).then(() => {
220
+      if (this.rowid) {
221
+        this.ruleForm.F_Id = this.rowid
222
+        this.getDetail(this.rowid)
223
+      }
224
+    })
225
+  },
226
+  methods: {
227
+    submitForm(state) {
228
+      this.$refs.ruleForm.validate((valid) => {
229
+        if (valid) {
230
+          this.loading = true
231
+          this.ruleForm.F_CheckStateSH = state
232
+          // 编辑
233
+          editAfterSaleList(this.ruleForm)
234
+            .then((response) => {
235
+              this.loading = false
236
+              if (response.state.toLowerCase() === "success") {
237
+                this.$parent.$layer.close(this.layerid)
238
+                this.$parent.getList() // 重新加载父级数据
239
+                this.$message.success("恭喜你,编辑成功!")
240
+              }
241
+            })
242
+            .catch(() => {
243
+              this.loading = false
244
+            })
245
+        } else {
246
+          this.$message.error("请输入有效的必填项信息!")
247
+          return false
248
+        }
249
+      })
250
+    },
251
+    //获取商品分类
252
+    getCommodityTypeSelect() {
253
+      this.loading = true
254
+      return new Promise((resolve) => {
255
+        const data = {
256
+          pageindex: 1, // int 第几页
257
+          pagesize: 300, // int 每页几条信息
258
+          ParentId: 0,
259
+        }
260
+        getCommodityType(data).then((response) => {
261
+          this.loading = false
262
+          if (response.state.toLowerCase() === "success") {
263
+            this.commodityTypeLists = response.data
264
+          }
265
+        })
266
+        resolve()
267
+      })
268
+    },
269
+    commodityTypeChange(item) {
270
+      this.commoditySearchData.classId = this.parentids[this.parentids.length - 1]
271
+      this.getCommodityListSelect()
272
+    },
273
+    commodityListChange(item) {
274
+      this.commoditySearchData.productId = item.F_ProductId
275
+      this.commoditySearchData.productName = item.F_ProductName
276
+    },
277
+    //获取商品
278
+    getCommodityListSelect() {
279
+      this.loading = true
280
+      return new Promise((resolve) => {
281
+        const params = {
282
+          pageindex: 1, // int 第几页,
283
+          pagesize: 300, // int 每页几条信息,
284
+          ProductId: "",
285
+          ClassId: this.commoditySearchData.classId === "" ? 0 : this.commoditySearchData.classId,
286
+          ClassName: "",
287
+          ProductName: "",
288
+          PinyinShort: "",
289
+          ProductNumber: "",
290
+          ProductShortName: "",
291
+          tag: "",
292
+          // issale: 1,
293
+        }
294
+        getCommodityList(params).then((response) => {
295
+          this.loading = false
296
+          if (response.state.toLowerCase() === "success") {
297
+            this.commodityListLists = response.data.Rows
298
+          }
299
+        })
300
+        resolve()
301
+      })
302
+    },
303
+    addCommodity() {
304
+      if (this.commoditySearchData.productName === "") {
305
+        this.$message({
306
+          message: "请选择商品!",
307
+          type: "warning",
308
+        })
309
+        return
310
+      }
311
+      if (this.commodityTableData.length > 0) {
312
+        for (let i = 0; i < this.commodityTableData.length; i++) {
313
+          if (this.commodityTableData[i].F_ProductId === this.commoditySearchData.productId) {
314
+            this.commodityTableData[i].F_Count = this.commodityTableData[i].F_Count + this.commoditySearchData.num
315
+            this.getTotalAmountFun()
316
+            return
317
+          }
318
+        }
319
+      }
320
+      let data = {
321
+        F_ProductId: this.commoditySearchData.productId,
322
+        F_ProductName: this.commoditySearchData.productName,
323
+        F_Count: this.commoditySearchData.num,
324
+        F_DealPrice: 0,
325
+        F_TotlePrice: 0,
326
+      }
327
+      this.commodityTableData.push(data)
328
+      let idsQuantity = []
329
+      for (let i = 0; i < this.commodityTableData.length; i++) {
330
+        idsQuantity.push(this.commodityTableData[i].F_ProductId + "," + this.commodityTableData[i].F_Count)
331
+      }
332
+      this.ruleForm.F_DetailList = idsQuantity.join("|") //补发产品列表
333
+      this.getTotalAmountFun()
334
+    },
335
+    //删除商品
336
+    btn_deleteCommodity(val) {
337
+      if (this.commodityTableData.length <= 1) {
338
+        this.$message({
339
+          message: "不能删除所有商品!",
340
+          type: "warning",
341
+        })
342
+        return
343
+      }
344
+      let index = this.commodityTableData.indexOf(val)
345
+      this.commodityTableData.splice(index, 1)
346
+      this.getTotalAmountFun()
347
+    },
348
+    //修改商品数量
349
+    btn_editCommodityNum(row) {
350
+      this.$layer.iframe({
351
+        content: {
352
+          content: editCommodityNum, // 传递的组件对象
353
+          parent: this, // 当前的vue对象
354
+          data: { row: row }, // props
355
+        },
356
+        area: ["30%", "30%"],
357
+        title: "修改商品数量",
358
+      })
359
+    },
360
+    editCommodityNum(count, row) {
361
+      this.$refs.oldCommodityTable.clearSelection()
362
+      this.oldCommodityTableData.forEach((e, i) => {
363
+        if (e.F_ProductId == row.F_ProductId) {
364
+          e.F_Count = count
365
+        }
366
+      })
367
+      this.getReturnGoodsAmount()
368
+    },
369
+    //获取售后订单详情
370
+    getDetail(rid) {
371
+      const params = {
372
+        F_Id: rid,
373
+      }
374
+      afterSaleListDetail(params).then((response) => {
375
+        if (response.state.toLowerCase() === "success") {
376
+          const res = response.data
377
+          this.ruleForm.F_OrderId = res.F_OrderId //订单编号
378
+          this.ruleForm.F_OldDetailList = res.F_OldDetailList //退回产品列表
379
+          this.ruleForm.F_Type = res.F_Type + "" //售后类型
380
+          this.ruleForm.F_Money = res.F_Money //变动金额
381
+          // this.ruleForm.F_Remark = res.F_Remark //售后备注
382
+          this.ruleForm.F_RemarkShow = res.F_Remark //售后备注展示
383
+          this.ruleForm.F_ReturnType = res.F_ReturnType //售后原因类型
384
+          this.ruleForm.F_ReturnDes = res.F_ReturnDes //售后原因
385
+          this.ruleForm.F_ProductStatus = res.F_ProductStatus //退回商品状态
386
+          this.ruleForm.F_Reason = res.F_Reason //处理原因
387
+          this.ruleForm.F_Aspiration = res.F_Aspiration //客户意愿
388
+          this.getAfterSaleOrderCommodity(rid)
389
+          this.getReissueGoods(res.F_DetailList) //补发商品
390
+          this.getTotalAmountFun()
391
+        }
392
+      })
393
+    },
394
+    getReissueGoods(goodsData) {
395
+      let reissueGoods = goodsData.split("|")
396
+      for (let i = 1; i < reissueGoods.length; i++) {
397
+        let reissueGoodsDetail = reissueGoods[i].split(",")
398
+        let data = {
399
+          F_ProductId: reissueGoodsDetail[0],
400
+          F_ProductName: reissueGoodsDetail[2],
401
+          F_Count: parseInt(reissueGoodsDetail[1]),
402
+        }
403
+        this.commodityTableData.push(data)
404
+      }
405
+    },
406
+    // 售后订单商品列表
407
+    getAfterSaleOrderCommodity(rid) {
408
+      const params = {
409
+        orderid: rid,
410
+      }
411
+      getAfterSaleOrderReturnCommodityList(params).then((response) => {
412
+        if (response.state.toLowerCase() === "success") {
413
+          const res = response.data
414
+          this.oldCommodityTableData = res
415
+          this.$nextTick(() => {
416
+            this.oldCommodityTableData.forEach((row, index) => {
417
+              this.$refs.oldCommodityTable.toggleRowSelection(row)
418
+            })
419
+          }, 1)
420
+        }
421
+      })
422
+    },
423
+    //售后原因类型
424
+    getAfterSaleReasons(code) {
425
+      return new Promise((resolve) => {
426
+        const params = {
427
+          pagesize: 10000,
428
+          isleaf: true,
429
+          code: code,
430
+        }
431
+        getDictionaryValueList(params).then((response) => {
432
+          if (response.state.toLowerCase() === "success") {
433
+            this.afterSaleReasonsList = response.data.Rows
434
+          }
435
+        })
436
+      })
437
+    },
438
+    //选择多个
439
+    handleSelectionChange(selection) {
440
+      let idsQuantity = []
441
+      this.oldDetailListSelection = selection
442
+      for (let i = 0; i < this.oldDetailListSelection.length; i++) {
443
+        idsQuantity.push(this.oldDetailListSelection[i].F_ProductId + "," + this.oldDetailListSelection[i].F_Count)
444
+      }
445
+      this.ruleForm.F_OldDetailList = idsQuantity.join("|")
446
+    },
447
+    // 获取金额总数
448
+    getTotalAmountFun() {
449
+      return new Promise((resolve) => {
450
+        const params = {
451
+          OrderDetailList: this.commodityTableData,
452
+          UseActList: this.ruleForm.UseActList,
453
+          F_ExpressFee: this.ruleForm.F_ExpressFee == "" ? 0 : this.ruleForm.F_ExpressFee,
454
+        }
455
+        getTotalAmount(params).then((response) => {
456
+          const res = response.orderDetails
457
+          this.totalAmount = response.totle
458
+          res.forEach((e, i) => {
459
+            this.commodityTableData.forEach((k, m) => {
460
+              if (e.F_ProductId == k.F_ProductId) {
461
+                k.F_DealPrice = e.F_DealPrice
462
+                k.F_TotlePrice = e.F_TotlePrice
463
+              }
464
+            })
465
+          })
466
+        })
467
+        resolve()
468
+      })
469
+    },
470
+    // 获取退回商品价格
471
+    getReturnGoodsAmount() {
472
+      return new Promise((resolve) => {
473
+        const params = {
474
+          OrderDetailList: this.oldCommodityTableData,
475
+          UseActList: [],
476
+          F_ExpressFee: 0,
477
+        }
478
+        getTotalAmount(params).then((response) => {
479
+          const res = response.orderDetails
480
+          res.forEach((e, i) => {
481
+            this.oldCommodityTableData.forEach((k, m) => {
482
+              if (e.F_ProductId == k.F_ProductId) {
483
+                k.F_DealPrice = e.F_DealPrice
484
+                k.F_TotlePrice = e.F_TotlePrice
485
+              }
486
+            })
487
+          })
488
+        })
489
+        resolve()
490
+      })
491
+    },
492
+  },
493
+}
494
+</script>
495
+
496
+<style rel="stylesheet/scss" lang="scss">
497
+.order_form .form_select {
498
+  width: 100%;
499
+}
500
+</style>

+ 0 - 1
CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/editCommodityNum.vue

@@ -32,7 +32,6 @@ export default {
32 32
   },
33 33
   created() {
34 34
     if (this.row) {
35
-      console.log("this.row", this.row)
36 35
       this.ruleForm.quantity = this.row.F_Count
37 36
     }
38 37
   },

+ 26 - 19
CallCenterWeb.UI/src/views/orderManagement/changeCollectionOrderList/index.vue

@@ -12,7 +12,7 @@
12 12
         <el-option label="漏发" value="8"/>
13 13
       </el-select> -->
14 14
       <!-- <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button> -->
15
-      <el-button v-permission="'HY_import_waybill_number'" type="primary" class="filter-item" @click="btn_import_waybill_number">导入运单号</el-button>
15
+      <el-button v-permission="'HY_import_waybill_number'" type="primary" class="filter-item" @click="btn_import_waybill_number">导入寄回运单号</el-button>
16 16
     </div>
17 17
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
18 18
       <div>
@@ -88,7 +88,7 @@
88 88
           </el-table-column>
89 89
           <el-table-column prop="F_Money" label="变动金额" align="center" />
90 90
           <el-table-column prop="F_ReturnType" label="售后原因" align="center" />
91
-          <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
91
+          <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
92 92
           <el-table-column prop="F_Remark" label="备注" align="center" />
93 93
           <el-table-column prop="F_AddTime" label="下单日期" align="center" />
94 94
           <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
@@ -99,7 +99,7 @@
99 99
           </el-table-column>
100 100
         </el-table>
101 101
       </el-tab-pane>
102
-      <el-tab-pane label="已处理" name="1">
102
+      <el-tab-pane label="已同意" name="1">
103 103
         <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
104 104
           <el-table-column type="selection" />
105 105
           <el-table-column type="index" label="编号" align="center" fixed width="80" />
@@ -125,7 +125,7 @@
125 125
           </el-table-column>
126 126
           <el-table-column prop="F_Money" label="变动金额" align="center" />
127 127
           <el-table-column prop="F_ReturnType" label="售后原因" align="center" />
128
-          <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
128
+          <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
129 129
           <el-table-column prop="F_Remark" label="备注" align="center" />
130 130
           <el-table-column prop="F_AddTime" label="下单日期" align="center" />
131 131
           <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
@@ -136,7 +136,7 @@
136 136
           </el-table-column>
137 137
         </el-table>
138 138
       </el-tab-pane>
139
-      <el-tab-pane label="已拒收" name="2">
139
+      <el-tab-pane label="退回" name="4">
140 140
         <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
141 141
           <el-table-column type="selection" />
142 142
           <el-table-column type="index" label="编号" align="center" fixed width="80" />
@@ -162,18 +162,19 @@
162 162
           </el-table-column>
163 163
           <el-table-column prop="F_Money" label="变动金额" align="center" />
164 164
           <el-table-column prop="F_ReturnType" label="售后原因" align="center" />
165
-          <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
165
+          <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
166 166
           <el-table-column prop="F_Remark" label="备注" align="center" />
167 167
           <el-table-column prop="F_AddTime" label="下单日期" align="center" />
168 168
           <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
169 169
             <template slot-scope="scope">
170 170
               <el-button v-permission="'HY_after_sale_detail'" type="text" @click="btn_after_sale_detail(scope.row.F_Id)">详情</el-button>
171
+              <el-button v-permission="'HY_after_sale_edit'" type="text" @click="btn_after_sale_edit(scope.row.F_Id)">编辑</el-button>
171 172
               <el-button v-permission="'HY_waybill_number'" v-if="authority_waybill_number(scope.row.F_ReturnType)" type="text" @click="btn_waybill_number(scope.row.F_Id)">寄回运单号</el-button>
172 173
             </template>
173 174
           </el-table-column>
174 175
         </el-table>
175 176
       </el-tab-pane>
176
-      <el-tab-pane label="已提交" name="3">
177
+      <el-tab-pane label="已签收" name="3">
177 178
         <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
178 179
           <el-table-column type="selection" />
179 180
           <el-table-column type="index" label="编号" align="center" fixed width="80" />
@@ -199,7 +200,7 @@
199 200
           </el-table-column>
200 201
           <el-table-column prop="F_Money" label="变动金额" align="center" />
201 202
           <el-table-column prop="F_ReturnType" label="售后原因" align="center" />
202
-          <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
203
+          <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
203 204
           <el-table-column prop="F_Remark" label="备注" align="center" />
204 205
           <el-table-column prop="F_AddTime" label="下单日期" align="center" />
205 206
           <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
@@ -210,7 +211,7 @@
210 211
           </el-table-column>
211 212
         </el-table>
212 213
       </el-tab-pane>
213
-      <el-tab-pane label="退回" name="4">
214
+      <el-tab-pane label="已拒收" name="2">
214 215
         <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
215 216
           <el-table-column type="selection" />
216 217
           <el-table-column type="index" label="编号" align="center" fixed width="80" />
@@ -236,7 +237,7 @@
236 237
           </el-table-column>
237 238
           <el-table-column prop="F_Money" label="变动金额" align="center" />
238 239
           <el-table-column prop="F_ReturnType" label="售后原因" align="center" />
239
-          <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
240
+          <el-table-column prop="F_TrackingNo" label="寄回运单号" align="center" />
240 241
           <el-table-column prop="F_Remark" label="备注" align="center" />
241 242
           <el-table-column prop="F_AddTime" label="下单日期" align="center" />
242 243
           <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
@@ -257,6 +258,7 @@ import { getAfterSaleList, deleteAfterSaleList } from "@/api/afterSaleManagement
257 258
 import { pickerOptions, formatterContent } from "@/utils"
258 259
 import importWaybillnumber from "./importWaybillnumber"
259 260
 import afterSale from "./afterSale"
261
+import addOrEdit from "./addOrEdit"
260 262
 import waybillnumber from "./waybillnumber"
261 263
 import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
262 264
 import detail from "@/views/orderManagement/orderList/detail"
@@ -437,6 +439,18 @@ export default {
437 439
         title: "售后列表详情",
438 440
       })
439 441
     },
442
+    // 编辑
443
+    btn_after_sale_edit(editId) {
444
+      this.$layer.iframe({
445
+        content: {
446
+          content: addOrEdit, // 传递的组件对象
447
+          parent: this, // 当前的vue对象
448
+          data: { rowid: editId }, // props
449
+        },
450
+        area: ["80%", "90%"],
451
+        title: "编辑",
452
+      })
453
+    },
440 454
     // 添加售后
441 455
     btn_add_aftersale(id) {
442 456
       this.$layer.iframe({
@@ -506,8 +520,8 @@ export default {
506 520
         this.searchData.returnType = "改代收"
507 521
         this.getList()
508 522
       } else if (this.activeName == "3") {
509
-        this.searchData.woState = "1"
510
-        this.searchData.isSignfor = ""
523
+        this.searchData.woState = ""
524
+        this.searchData.isSignfor = "1"
511 525
         this.searchData.returnType = "改代收"
512 526
         this.getList()
513 527
       } else if (this.activeName == "4") {
@@ -562,13 +576,6 @@ export default {
562 576
       }
563 577
       this.selectedPhone = ids
564 578
     },
565
-    authority_edit(checkStateSH) {
566
-      if (checkStateSH == 0 || checkStateSH == 2) {
567
-        return true
568
-      } else {
569
-        return false
570
-      }
571
-    },
572 579
     authority_delete(checkStateSH) {
573 580
       if (checkStateSH == 0 || checkStateSH == 2) {
574 581
         return true

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

@@ -31,7 +31,7 @@
31 31
             <el-col :md="6" class="order_detail_item"> 实付金额:{{ orderDetailData.F_RealPrice }} </el-col>
32 32
             <el-col :md="6" class="order_detail_item"> 应付金额:{{ orderDetailData.F_ShouldPrice }} </el-col>
33 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>
34
+            <el-col :md="6" class="order_detail_item"> 寄回运单号:{{ orderDetailData.F_NewTrackingNo }} </el-col>
35 35
             <el-col :md="6" class="order_detail_item"> 销售:{{ orderDetailData.F_BelongName }} </el-col>
36 36
             <el-col :md="6" class="order_detail_item"> 中心:{{ orderDetailData.F_CoreName }} </el-col>
37 37
             <el-col :md="6" class="order_detail_item"> 小组:{{ orderDetailData.F_GroupName }} </el-col>
@@ -171,7 +171,7 @@ export default {
171 171
         F_TotlePrice: "", // 商品金额
172 172
         commodityTotlePrice: "", // 商品合计金额
173 173
         F_MediaName: "", // 媒体名称
174
-        F_SendbackTrackingNo: "", // 寄回运单号
174
+        F_NewTrackingNo: "", // 寄回运单号
175 175
         F_BelongName: "", //销售
176 176
         F_CoreName: "", //中心
177 177
         F_GroupName: "", //小组
@@ -310,7 +310,7 @@ export default {
310 310
         this.orderDetailData.F_RemarkXS = res.OrderMoney.F_RemarkXS // 备注
311 311
         this.orderDetailData.F_ShouldPrice = res.F_ShouldPrice // 应付金额
312 312
         this.orderDetailData.F_MediaName = res.F_MediaName // 媒体名称
313
-        this.orderDetailData.F_SendbackTrackingNo = res.F_SendbackTrackingNo // 寄回运单号
313
+        this.orderDetailData.F_NewTrackingNo = res.F_NewTrackingNo // 寄回运单号
314 314
         this.orderDetailData.F_BelongName = res.F_BelongName // 销售
315 315
         this.orderDetailData.F_CoreName = res.F_CoreName // 中心
316 316
         this.orderDetailData.F_GroupName = res.F_GroupName // 小组

+ 1 - 0
CallCenterWeb.UI/src/views/orderManagement/orderList/edit.vue

@@ -938,6 +938,7 @@ export default {
938 938
       this.commodityTableData.splice(index, 1)
939 939
       this.getTotalAmountFun()
940 940
       if (this.activityAccountData.length > 0 && this.commodityTableData.length > 0) {
941
+        this.activityAccountData = []
941 942
         this.getActivityAccountList()
942 943
       } else {
943 944
         this.activityAccountData = []

+ 103 - 157
CallCenterWeb.UI/src/views/orderManagement/salesAfterSaleList/index.vue

@@ -1,13 +1,7 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-select
5
-        v-model="searchData.type"
6
-        class="filter-item"
7
-        filterable
8
-        clearable
9
-        placeholder="请选择售后类型"
10
-      >
4
+      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择售后类型">
11 5
         <el-option label="调换" value="1" />
12 6
         <el-option label="退货" value="2" />
13 7
         <!-- <el-option label="部分退货" value="3"/> -->
@@ -18,13 +12,7 @@
18 12
         <!-- <el-option label="漏发" value="8"/> -->
19 13
         <!-- <el-option label="改代收" value="9" /> -->
20 14
       </el-select>
21
-      <el-button
22
-        type="primary"
23
-        class="filter-item"
24
-        icon="el-icon-search"
25
-        @click="btn_search"
26
-        >搜索</el-button
27
-      >
15
+      <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
28 16
       <!-- <el-button type="primary" v-permission="'HY_import_waybill_number'" class="filter-item" @click="btn_import_waybill_number">导入运单号</el-button> -->
29 17
     </div>
30 18
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
@@ -35,49 +23,17 @@
35 23
     <div>
36 24
       <span>订单数量:{{ pageParams.total }}</span>
37 25
     </div>
38
-    <el-table
39
-      v-loading="loading"
40
-      :data="dataLists"
41
-      border
42
-      stripe
43
-      @selection-change="handleSelectionChange"
44
-    >
26
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange">
45 27
       <el-table-column type="selection" />
46
-      <el-table-column
47
-        type="index"
48
-        label="编号"
49
-        align="center"
50
-        fixed
51
-        width="80"
52
-      />
53
-      <el-table-column
54
-        prop="F_OrderId"
55
-        label="订单编号"
56
-        align="center"
57
-        min-width="180"
58
-      >
28
+      <el-table-column type="index" label="编号" align="center" fixed width="80" />
29
+      <el-table-column prop="F_OrderId" label="订单编号" align="center" min-width="180">
59 30
         <template slot-scope="scope">
60
-          <el-button
61
-            type="text"
62
-            size="small"
63
-            @click="hadndleOrderCode(scope.row.F_OrderId)"
64
-            >{{ scope.row.F_OrderId }}</el-button
65
-          >
31
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_OrderId)">{{ scope.row.F_OrderId }}</el-button>
66 32
         </template>
67 33
       </el-table-column>
68
-      <el-table-column
69
-        prop="F_AboutOrderId"
70
-        label="关联订单编号"
71
-        align="center"
72
-        min-width="180"
73
-      >
34
+      <el-table-column prop="F_AboutOrderId" label="关联订单编号" align="center" min-width="180">
74 35
         <template slot-scope="scope">
75
-          <el-button
76
-            type="text"
77
-            size="small"
78
-            @click="hadndleOrderCode(scope.row.F_AboutOrderId)"
79
-            >{{ scope.row.F_AboutOrderId }}</el-button
80
-          >
36
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_AboutOrderId)">{{ scope.row.F_AboutOrderId }}</el-button>
81 37
         </template>
82 38
       </el-table-column>
83 39
       <el-table-column label="售后类型" align="center">
@@ -100,20 +56,9 @@
100 56
       <el-table-column prop="F_TrackingNo" label="运单号" align="center" />
101 57
       <el-table-column prop="F_Remark" label="备注" align="center" />
102 58
       <el-table-column prop="F_AddTime" label="下单日期" align="center" />
103
-      <el-table-column
104
-        label="操作"
105
-        width="240"
106
-        align="center"
107
-        class-name="oparate_btn"
108
-        fixed="right"
109
-      >
59
+      <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
110 60
         <template slot-scope="scope">
111
-          <el-button
112
-            v-permission="'HY_after_sale_detail'"
113
-            type="text"
114
-            @click="btn_after_sale_detail(scope.row.F_Id)"
115
-            >详情</el-button
116
-          >
61
+          <el-button v-permission="'HY_after_sale_detail'" type="text" @click="btn_after_sale_detail(scope.row.F_Id)">详情</el-button>
117 62
           <!-- <el-button
118 63
             v-permission="'HY_waybill_number'"
119 64
             type="text"
@@ -135,51 +80,52 @@
135 80
 </template>
136 81
 
137 82
 <script>
138
-import { getDictionaryValueList } from "@/api/commonAPI";
139
-import { getAfterSaleList, deleteAfterSaleList } from "@/api/afterSaleManagement/afterSaleList";
140
-import { pickerOptions, formatterContent } from "@/utils";
141
-import importWaybillnumber from "./importWaybillnumber";
142
-import waybillnumber from "./waybillnumber";
143
-import Pagination from "@/components/Pagination"; // 对el-pagination 二次封装
144
-import detail from "@/views/orderManagement/orderList/detail";
145
-import afterSaleDetail from "@/views/afterSaleManagement/afterSaleList/afterSaleDetail";
83
+import { getDictionaryValueList } from "@/api/commonAPI"
84
+import { getAfterSaleList, deleteAfterSaleList } from "@/api/afterSaleManagement/afterSaleList"
85
+import { pickerOptions, formatterContent } from "@/utils"
86
+import importWaybillnumber from "./importWaybillnumber"
87
+import waybillnumber from "./waybillnumber"
88
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
89
+import detail from "@/views/orderManagement/orderList/detail"
90
+import afterSaleDetail from "@/views/afterSaleManagement/afterSaleList/afterSaleDetail"
146 91
 
147 92
 export default {
148 93
   name: "ConsolidateOrderList",
149 94
   components: {
150
-    Pagination
95
+    Pagination,
151 96
   },
152 97
   filters: {
153 98
     judgmentStateName(status) {
154 99
       const statusMap = {
155
-        "1": "调换货",
156
-        "2": "退货",
157
-        "3": "部分退货",
158
-        "4": "对发货",
159
-        "5": "补发货",
160
-        "6": "补差额",
161
-        "7": "错发",
162
-        "8": "漏发"
163
-      };
164
-      return statusMap[status];
100
+        1: "调换货",
101
+        2: "退货",
102
+        3: "部分退货",
103
+        4: "对发货",
104
+        5: "补发货",
105
+        6: "补差额",
106
+        7: "错发",
107
+        8: "漏发",
108
+        9: "改代收",
109
+      }
110
+      return statusMap[status]
165 111
     },
166 112
     judgmentAfterSaleCheckState(status) {
167 113
       const statusMap = {
168
-        "0": "保存",
169
-        "1": "审核通过",
170
-        "2": "审核未通过"
171
-      };
172
-      return statusMap[status];
114
+        0: "保存",
115
+        1: "审核通过",
116
+        2: "审核未通过",
117
+      }
118
+      return statusMap[status]
173 119
     },
174 120
     judgmentCustodianStateName(status) {
175 121
       const statusMap = {
176
-        "0": "未审核",
177
-        "1": "收到货",
178
-        "2": "货物不符",
179
-        "3": "未收到货"
180
-      };
181
-      return statusMap[status];
182
-    }
122
+        0: "未审核",
123
+        1: "收到货",
124
+        2: "货物不符",
125
+        3: "未收到货",
126
+      }
127
+      return statusMap[status]
128
+    },
183 129
   },
184 130
   data() {
185 131
     return {
@@ -189,32 +135,32 @@ export default {
189 135
         type: "", // 售后类型
190 136
         isSignfor: "", // 是否签入
191 137
         woState: "", // 是否提交
192
-        returnType: "" // 退回状态
138
+        returnType: "", // 退回状态
193 139
       },
194 140
       activeName: "0",
195 141
       pickerOptions, // 日期数据
196 142
       pageParams: {
197 143
         pageindex: 1, // 当前第几页
198 144
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
199
-        total: 0 // 总共多少数据
145
+        total: 0, // 总共多少数据
200 146
       },
201 147
       dataLists: [], // 列表数据
202 148
       multipleSelection: [], // 选中的数据
203
-      selectedId: [] // 选中的数据的id
204
-    };
149
+      selectedId: [], // 选中的数据的id
150
+    }
205 151
   },
206 152
   created() {
207
-    this.getList();
208
-    document.onkeyup = e => {
153
+    this.getList()
154
+    document.onkeyup = (e) => {
209 155
       if (e.keyCode === 13) {
210
-        this.getList();
156
+        this.getList()
211 157
       }
212
-    };
158
+    }
213 159
   },
214 160
   methods: {
215 161
     getList() {
216
-      this.loading = true;
217
-      return new Promise(resolve => {
162
+      this.loading = true
163
+      return new Promise((resolve) => {
218 164
         const params = {
219 165
           F_CheckStateSH: this.searchData.checkState, // 售后审核状态
220 166
           F_Type: this.searchData.type, // 售后类型
@@ -225,17 +171,17 @@ export default {
225 171
           F_PayState: "-2",
226 172
           F_ReturnType: this.searchData.returnType,
227 173
           IsSignfor: this.searchData.isSignfor, // 是否签入
228
-          F_WoState: this.searchData.woState // 是否提交
229
-        };
230
-        getAfterSaleList(params).then(response => {
231
-          this.loading = false;
174
+          F_WoState: this.searchData.woState, // 是否提交
175
+        }
176
+        getAfterSaleList(params).then((response) => {
177
+          this.loading = false
232 178
           if (response.state.toLowerCase() === "success") {
233
-            this.pageParams.total = response.data.length;
234
-            this.dataLists = response.data;
179
+            this.pageParams.total = response.data.length
180
+            this.dataLists = response.data
235 181
           }
236
-        });
237
-        resolve();
238
-      });
182
+        })
183
+        resolve()
184
+      })
239 185
     },
240 186
     // 导入运单号
241 187
     btn_import_waybill_number() {
@@ -243,11 +189,11 @@ export default {
243 189
         content: {
244 190
           content: importWaybillnumber, // 传递的组件对象
245 191
           parent: this, // 当前的vue对象
246
-          data: { rowid: "" } // props
192
+          data: { rowid: "" }, // props
247 193
         },
248 194
         area: ["30%", "30%"],
249
-        title: "导入运单号"
250
-      });
195
+        title: "导入运单号",
196
+      })
251 197
     },
252 198
     // 详情
253 199
     btn_after_sale_detail(editId) {
@@ -255,11 +201,11 @@ export default {
255 201
         content: {
256 202
           content: afterSaleDetail, // 传递的组件对象
257 203
           parent: this, // 当前的vue对象
258
-          data: { rowid: editId } // props
204
+          data: { rowid: editId }, // props
259 205
         },
260 206
         area: ["80%", "90%"],
261
-        title: "售后列表详情"
262
-      });
207
+        title: "售后列表详情",
208
+      })
263 209
     },
264 210
     // 运单号
265 211
     btn_waybill_number(id) {
@@ -267,93 +213,93 @@ export default {
267 213
         content: {
268 214
           content: waybillnumber, // 传递的组件对象
269 215
           parent: this, // 当前的vue对象
270
-          data: { rowid: id } // props
216
+          data: { rowid: id }, // props
271 217
         },
272 218
         area: ["30%", "30%"],
273
-        title: "运单号"
274
-      });
219
+        title: "运单号",
220
+      })
275 221
     },
276 222
     btn_delete(id) {
277 223
       this.$confirm("您确定删除吗?", "提示", {
278 224
         confirmButtonText: "确定",
279 225
         cancelButtonText: "取消",
280
-        type: "warning"
226
+        type: "warning",
281 227
       })
282 228
         .then(() => {
283 229
           const data = {
284
-            ids: id
285
-          };
286
-          deleteAfterSaleList(data).then(response => {
230
+            ids: id,
231
+          }
232
+          deleteAfterSaleList(data).then((response) => {
287 233
             if (response.state.toLowerCase() === "success") {
288
-              this.getList();
289
-              this.$message.success("删除成功!");
234
+              this.getList()
235
+              this.$message.success("删除成功!")
290 236
             }
291
-          });
237
+          })
292 238
         })
293 239
         .catch(() => {
294
-          this.$message.info("已取消删除");
295
-        });
240
+          this.$message.info("已取消删除")
241
+        })
296 242
     },
297 243
     btn_search() {
298
-      this.pageParams.pageindex = 1;
299
-      this.getList();
244
+      this.pageParams.pageindex = 1
245
+      this.getList()
300 246
     },
301 247
     hadndleOrderCode(ordercode) {
302 248
       this.$layer.iframe({
303 249
         content: {
304 250
           content: detail, // 传递的组件对象
305 251
           parent: this, // 当前的vue对象
306
-          data: { rowid: ordercode } // props
252
+          data: { rowid: ordercode }, // props
307 253
         },
308 254
         area: ["80%", "90%"],
309
-        title: "订单详情"
310
-      });
255
+        title: "订单详情",
256
+      })
311 257
     },
312 258
     handleTabClick() {
313
-      this.pageParams.pageindex = 1;
259
+      this.pageParams.pageindex = 1
314 260
       if (this.activeName === "0") {
315
-        this.searchData.checkState = "0";
261
+        this.searchData.checkState = "0"
316 262
       } else if (this.activeName === "1") {
317
-        this.searchData.checkState = "1";
263
+        this.searchData.checkState = "1"
318 264
       } else if (this.activeName === "2") {
319
-        this.searchData.checkState = "2";
265
+        this.searchData.checkState = "2"
320 266
       } else {
321
-        this.searchData.checkState = "-2";
267
+        this.searchData.checkState = "-2"
322 268
       }
323
-      this.getList();
269
+      this.getList()
324 270
     },
325 271
     // 选择多个
326 272
     handleSelectionChange(val) {
327
-      const ids = [];
328
-      this.multipleSelection = val;
273
+      const ids = []
274
+      this.multipleSelection = val
329 275
       for (let i = 0; i < this.multipleSelection.length; i++) {
330
-        ids.push(this.multipleSelection[i].id);
276
+        ids.push(this.multipleSelection[i].id)
331 277
       }
332
-      this.selectedPhone = ids;
278
+      this.selectedPhone = ids
333 279
     },
334 280
     authority_edit(checkStateSH) {
335 281
       if (checkStateSH == 0 || checkStateSH == 2) {
336
-        return true;
282
+        return true
337 283
       } else {
338
-        return false;
284
+        return false
339 285
       }
340 286
     },
341 287
     authority_delete(checkStateSH) {
342 288
       if (checkStateSH == 0 || checkStateSH == 2) {
343
-        return true;
289
+        return true
344 290
       } else {
345
-        return false;
291
+        return false
346 292
       }
347 293
     },
348 294
     authority_waybill_number(returnType) {
349 295
       if (returnType == "改代收") {
350
-        return true;
296
+        return true
351 297
       } else {
352
-        return false;
298
+        return false
353 299
       }
354
-    }
355
-  }
356
-};
300
+    },
301
+  },
302
+}
357 303
 </script>
358 304
 
359 305
 <style rel="stylesheet/scss" lang="scss" scoped>

+ 190 - 202
CallCenterWeb.UI/src/views/taskManagement/taskList/common/detail.vue

@@ -5,36 +5,22 @@
5 5
         <el-card shadow="hover">
6 6
           <el-col :md="21">
7 7
             <h1 class="title"><svg-icon class="title_icon" icon-class="hongqi" />任务信息</h1>
8
-            <p class="title_sub"><span class="green">{{ name }}</span> 	足力健 </p>
8
+            <p class="title_sub">
9
+              <span class="green">{{ name }}</span> 足力健
10
+            </p>
9 11
           </el-col>
10 12
           <el-col :md="24" class="order_detail_content">
11
-            <el-col :md="6" class="order_detail_item">
12
-              任务名称:{{ name }}
13
-            </el-col>
14
-            <el-col :md="6" class="order_detail_item">
15
-              任务人:{{ taskName }}
16
-            </el-col>
17
-            <el-col :md="6" class="order_detail_item">
18
-              目标金额:{{ targetAmount }}
19
-            </el-col>
20
-            <el-col :md="6" class="order_detail_item">
21
-              任务进度:{{ taskProgress }}
22
-            </el-col>
23
-            <el-col :md="6" class="order_detail_item">
24
-              开始时间:{{ startTime }}
25
-            </el-col>
26
-            <el-col :md="6" class="order_detail_item">
27
-              结束时间:{{ endTime }}
28
-            </el-col>
29
-            <el-col :md="6" class="order_detail_item">
30
-              任务内容:{{ content }}
31
-            </el-col>
32
-            <el-col :md="6" class="order_detail_item">
33
-              任务状态:{{ state }}
34
-            </el-col>
35
-            <el-col :md="6" class="order_detail_item">
36
-              任务类型:{{ type }}
37
-            </el-col>
13
+            <el-col :md="6" class="order_detail_item"> 任务名称:{{ name }} </el-col>
14
+            <el-col :md="6" class="order_detail_item"> 中心:{{ teamName }} </el-col>
15
+            <el-col :md="6" class="order_detail_item"> 小组:{{ groupName }} </el-col>
16
+            <el-col :md="6" class="order_detail_item"> 任务人:{{ taskName }} </el-col>
17
+            <el-col :md="6" class="order_detail_item"> 目标金额:{{ targetAmount }} </el-col>
18
+            <el-col :md="6" class="order_detail_item"> 任务进度:{{ taskProgress }} </el-col>
19
+            <el-col :md="6" class="order_detail_item"> 开始时间:{{ startTime }} </el-col>
20
+            <el-col :md="6" class="order_detail_item"> 结束时间:{{ endTime }} </el-col>
21
+            <el-col :md="6" class="order_detail_item"> 任务内容:{{ content }} </el-col>
22
+            <el-col :md="6" class="order_detail_item"> 任务状态:{{ state }} </el-col>
23
+            <el-col :md="6" class="order_detail_item"> 任务类型:{{ type }} </el-col>
38 24
           </el-col>
39 25
         </el-card>
40 26
       </el-col>
@@ -59,40 +45,40 @@
59 45
 </template>
60 46
 
61 47
 <script>
62
-import { getTask} from '@/api/taskManagement/taskManagement'
63
-import { mapGetters } from 'vuex'
64
-import { filterContent } from '@/utils'
48
+import { getTask } from "@/api/taskManagement/taskManagement"
49
+import { mapGetters } from "vuex"
50
+import { filterContent } from "@/utils"
65 51
 
66 52
 export default {
67
-  name: 'Detail',
53
+  name: "Detail",
68 54
   props: {
69 55
     rowid: {
70 56
       type: String,
71
-      default: ''
57
+      default: "",
72 58
     },
73 59
     layerid: {
74 60
       type: String,
75
-      default: ''
76
-    }
61
+      default: "",
62
+    },
77 63
   },
78 64
   data() {
79 65
     return {
80
-        activeName:0,
81
-        name:'',
82
-        taskName:'',
83
-        targetAmount:'',
84
-        taskProgress:'',
85
-        startTime:'',
86
-        endTime:'',
87
-        content:'',
88
-        state:'',
89
-        type:'',
66
+      activeName: 0,
67
+      name: "",
68
+      teamName: "",
69
+      groupName: "",
70
+      taskName: "",
71
+      targetAmount: "",
72
+      taskProgress: "",
73
+      startTime: "",
74
+      endTime: "",
75
+      content: "",
76
+      state: "",
77
+      type: "",
90 78
     }
91 79
   },
92 80
   computed: {
93
-    ...mapGetters([
94
-      'avatar'
95
-    ])
81
+    ...mapGetters(["avatar"]),
96 82
   },
97 83
   created() {
98 84
     if (this.rowid) {
@@ -105,178 +91,180 @@ export default {
105 91
     },
106 92
     // 获取详情
107 93
     getDetail(rid) {
108
-      getTask(rid).then(response => {
109
-        if (response.state.toLowerCase() === 'success') {
94
+      getTask(rid).then((response) => {
95
+        if (response.state.toLowerCase() === "success") {
110 96
           const res = response.data
111 97
           this.name = res.F_Name
98
+          this.teamName = res.F_TeamName
99
+          this.groupName = res.F_GroupName
112 100
           this.taskName = res.F_TaskerName
113 101
           this.targetAmount = res.F_Money
114 102
           this.startTime = res.F_StartTime
115 103
           this.endTime = res.F_EndTime
116
-          this.taskProgress = res.F_Taskprogress?res.F_Taskprogress+'%':''
104
+          this.taskProgress = res.F_Taskprogress ? res.F_Taskprogress + "%" : ""
117 105
           this.content = res.F_Content
118
-          if(res.F_State==0){
119
-              this.state='开始'
120
-          }else if(res.F_State==1){
121
-              this.state='暂停'
122
-          }else{
123
-              this.state='终止'
106
+          if (res.F_State == 0) {
107
+            this.state = "开始"
108
+          } else if (res.F_State == 1) {
109
+            this.state = "暂停"
110
+          } else {
111
+            this.state = "终止"
124 112
           }
125
-          if(res.F_Type==0){
126
-              this.type='日任务'
127
-          }else if(res.F_Type==1){
128
-              this.type='周任务'
129
-          }else{
130
-              this.type='月任务'
113
+          if (res.F_Type == 0) {
114
+            this.type = "日任务"
115
+          } else if (res.F_Type == 1) {
116
+            this.type = "周任务"
117
+          } else {
118
+            this.type = "月任务"
131 119
           }
132 120
         }
133 121
       })
134 122
     },
135
-  }
123
+  },
136 124
 }
137 125
 </script>
138 126
 
139 127
 <style rel="stylesheet/scss" lang="scss">
140
-	.order_detail{
141
-		.el-col{
142
-			margin-bottom: 20px;
143
-		}
144
-		.el-icon-time{
145
-			color: #d81e06;
146
-		}
147
-		.el-card__header{
148
-			padding-top: 14px;
149
-			padding-bottom: 14px;
150
-			background-color: #F5F5F6;
151
-		}
152
-		.order_file{
153
-			.el-card__body{
154
-				padding: 22px 0 0 0;
155
-				text-align: center;
156
-			}
157
-		}
158
-		.order_steps{
159
-			.el-step__icon-inner{
160
-				display: none;
161
-			}
162
-		}
163
-		.order_record {
164
-			.el-card__body{
165
-				padding: 0;
166
-			}
167
-			.el-tabs__header{
168
-				padding: 0px 20px;
169
-				background-color: #F5F5F6;
170
-					.el-tabs__item{
171
-						font-size: 16px;
172
-						height: 47px;
173
-						line-height: 47px;
174
-					}
175
-			}
176
-		}
177
-	}
128
+.order_detail {
129
+  .el-col {
130
+    margin-bottom: 20px;
131
+  }
132
+  .el-icon-time {
133
+    color: #d81e06;
134
+  }
135
+  .el-card__header {
136
+    padding-top: 14px;
137
+    padding-bottom: 14px;
138
+    background-color: #f5f5f6;
139
+  }
140
+  .order_file {
141
+    .el-card__body {
142
+      padding: 22px 0 0 0;
143
+      text-align: center;
144
+    }
145
+  }
146
+  .order_steps {
147
+    .el-step__icon-inner {
148
+      display: none;
149
+    }
150
+  }
151
+  .order_record {
152
+    .el-card__body {
153
+      padding: 0;
154
+    }
155
+    .el-tabs__header {
156
+      padding: 0px 20px;
157
+      background-color: #f5f5f6;
158
+      .el-tabs__item {
159
+        font-size: 16px;
160
+        height: 47px;
161
+        line-height: 47px;
162
+      }
163
+    }
164
+  }
165
+}
178 166
 </style>
179 167
 
180 168
 <style rel="stylesheet/scss" lang="scss" scoped>
181
-	.order_detail{
182
-		.order_detail_body{
183
-			margin-bottom: 20px;
184
-			.round_img{
185
-				width: 90px;
186
-				height: 90px;
187
-				border-radius: 50%;
188
-				overflow: hidden;
189
-				margin: 14px;
190
-				img{
191
-					width: 100%;
192
-					height: 100%;
193
-				}
194
-			}
195
-			.title{
196
-				font-size: 20px;
197
-				.title_icon{
198
-					color: #d81e06;
199
-					font-size: 16px;
200
-					margin-right: 20px;
201
-				}
202
-			}
203
-			.title_sub{
204
-				font-size: 14px;
205
-				color: #666666;
206
-			}
207
-			.order_detail_content{
208
-				background-color: #F5F5F6;
209
-				padding-top: 20px;
210
-				color: #4c4c4c;
211
-				font-size: 14px;
212
-				.order_detail_item{
213
-					margin-bottom: 10px;
214
-					.order_content{
215
-						margin-top: 10px;
216
-					}
217
-					.order_file {
218
-						position: relative;
219
-						cursor: pointer;
220
-						.img_mask {
221
-							display: none;
222
-							position: absolute;
223
-							left: 0px;
224
-							top: 0px;
225
-							background-color: rgba(0, 0, 0, 0.3);
226
-							width: 100%;
227
-							height: 22px;
228
-							text-align: right;
229
-							z-index: 1;
230
-							i {
231
-								font-size: 20px;
232
-								line-height: 22px;
233
-								display: inline-block;
234
-								margin-right: 15px;
235
-								color: #fff;
236
-							}
237
-						}
238
-						p {
239
-							margin-top: 5px;
240
-							padding-left: 14px;
241
-							padding-right: 14px;
242
-							white-space: nowrap;
243
-							overflow: hidden;
244
-							text-overflow: ellipsis;
245
-						}
246
-						.file_icon{
247
-							height: 68px;
248
-							line-height: 68px;
249
-							font-size: 68px;
250
-							color: #409EFF;
251
-						}
252
-					}
253
-					.order_file:hover .img_mask {
254
-						display: block;
255
-					}
256
-				}
257
-			}
258
-		}
259
-		.green {
260
-			color: #00c1de;
261
-		}
262
-		.done {
263
-			color: #198120;
264
-		}
265
-		.red {
266
-			color: #d81e06;
267
-		}
268
-		.yellow{
269
-			color: #e6a23c;
270
-		}
271
-		.order_steps{
272
-			// height: 240px;
273
-			.el-step__icon-inner{
274
-				display: none;
275
-			}
276
-		}
169
+.order_detail {
170
+  .order_detail_body {
171
+    margin-bottom: 20px;
172
+    .round_img {
173
+      width: 90px;
174
+      height: 90px;
175
+      border-radius: 50%;
176
+      overflow: hidden;
177
+      margin: 14px;
178
+      img {
179
+        width: 100%;
180
+        height: 100%;
181
+      }
182
+    }
183
+    .title {
184
+      font-size: 20px;
185
+      .title_icon {
186
+        color: #d81e06;
187
+        font-size: 16px;
188
+        margin-right: 20px;
189
+      }
190
+    }
191
+    .title_sub {
192
+      font-size: 14px;
193
+      color: #666666;
194
+    }
195
+    .order_detail_content {
196
+      background-color: #f5f5f6;
197
+      padding-top: 20px;
198
+      color: #4c4c4c;
199
+      font-size: 14px;
200
+      .order_detail_item {
201
+        margin-bottom: 10px;
202
+        .order_content {
203
+          margin-top: 10px;
204
+        }
205
+        .order_file {
206
+          position: relative;
207
+          cursor: pointer;
208
+          .img_mask {
209
+            display: none;
210
+            position: absolute;
211
+            left: 0px;
212
+            top: 0px;
213
+            background-color: rgba(0, 0, 0, 0.3);
214
+            width: 100%;
215
+            height: 22px;
216
+            text-align: right;
217
+            z-index: 1;
218
+            i {
219
+              font-size: 20px;
220
+              line-height: 22px;
221
+              display: inline-block;
222
+              margin-right: 15px;
223
+              color: #fff;
224
+            }
225
+          }
226
+          p {
227
+            margin-top: 5px;
228
+            padding-left: 14px;
229
+            padding-right: 14px;
230
+            white-space: nowrap;
231
+            overflow: hidden;
232
+            text-overflow: ellipsis;
233
+          }
234
+          .file_icon {
235
+            height: 68px;
236
+            line-height: 68px;
237
+            font-size: 68px;
238
+            color: #409eff;
239
+          }
240
+        }
241
+        .order_file:hover .img_mask {
242
+          display: block;
243
+        }
244
+      }
245
+    }
246
+  }
247
+  .green {
248
+    color: #00c1de;
249
+  }
250
+  .done {
251
+    color: #198120;
252
+  }
253
+  .red {
254
+    color: #d81e06;
255
+  }
256
+  .yellow {
257
+    color: #e6a23c;
258
+  }
259
+  .order_steps {
260
+    // height: 240px;
261
+    .el-step__icon-inner {
262
+      display: none;
263
+    }
264
+  }
277 265
 
278
-		.tab_body{
279
-			padding: 0 20px 20px 20px;
280
-		}
281
-	}
266
+  .tab_body {
267
+    padding: 0 20px 20px 20px;
268
+  }
269
+}
282 270
 </style>

+ 2 - 0
CallCenterWeb.UI/src/views/taskManagement/taskList/index.vue

@@ -20,6 +20,8 @@
20 20
       <el-table-column prop="F_DeptName" label="部门名称" align="center" min-width="" />
21 21
       <el-table-column prop="F_ParentName" label="父级任务名称" align="center" min-width="" />
22 22
       <el-table-column prop="F_Name" label="任务名称" align="center" min-width="" />
23
+      <el-table-column prop="F_TeamName" label="中心" align="center" min-width="" />
24
+      <el-table-column prop="F_GroupName" label="小组" align="center" min-width="" />
23 25
       <el-table-column prop="F_TaskerName" label="任务人" align="center" min-width="" />
24 26
       <el-table-column prop="F_Money" label="目标金额" align="center" min-width="" />
25 27
       <el-table-column label="任务进度" align="center">

+ 11 - 11
CallCenterWeb.UI/src/views/telCall/numberTransferPool/index.vue

@@ -120,8 +120,8 @@ export default {
120 120
           pagesize: this.pageParams.pagesize, // 每页几条信息
121 121
           name: this.searchData.name.replace(/\s+/g, ""), //媒体中转池
122 122
           dept: this.parentids[this.parentids.length - 1], //部门
123
-          team: this.groupid, //中心
124
-          group: this.deptteamid, //小组
123
+          team: this.deptteamid, //中心
124
+          group: this.groupid, //小组
125 125
           type: this.activeName, //媒体中转
126 126
         }
127 127
         getNumberTransferPoolList(params).then((response) => {
@@ -146,7 +146,7 @@ export default {
146 146
           data: { rowid: "" }, // props//该方法会自动添加一个key为layerid的值, 该值为创建层的id, 可以直接使用
147 147
         },
148 148
         area: ["60%", "90%"],
149
-        title: "添加用户信息",
149
+        title: "添加",
150 150
       })
151 151
     },
152 152
     btn_edit(editId) {
@@ -174,13 +174,13 @@ export default {
174 174
     },
175 175
     //批量分配
176 176
     btn_batch_distribution() {
177
-      // if (this.selectTableId.length < 1) {
178
-      //   this.$message({
179
-      //     message: "请选择数据!",
180
-      //     type: "warning",
181
-      //   })
182
-      //   return
183
-      // }
177
+      if (this.selectTableId.length < 1) {
178
+        this.$message({
179
+          message: "请选择数据!",
180
+          type: "warning",
181
+        })
182
+        return
183
+      }
184 184
       const ids = this.selectTableId.join(",").replace(/\s+/g, "")
185 185
       this.$layer.iframe({
186 186
         content: {
@@ -245,7 +245,7 @@ export default {
245 245
       const ids = []
246 246
       this.multipleSelection = val
247 247
       for (let i = 0; i < this.multipleSelection.length; i++) {
248
-        ids.push(this.multipleSelection[i].F_Id)
248
+        ids.push(this.multipleSelection[i].F_ID)
249 249
       }
250 250
       this.selectTableId = ids
251 251
     },

BIN
CallCenterWeb.UI/static/xls/importProducts.xlsx