liuyifan преди 5 години
родител
ревизия
f042da477c
променени са 19 файла, в които са добавени 467 реда и са изтрити 36 реда
  1. 9 0
      CallCenterWeb.UI/src/api/commodityManagement/commodityList.js
  2. 9 0
      CallCenterWeb.UI/src/api/customerServiceManagement/orderListCustomerService.js
  3. 9 0
      CallCenterWeb.UI/src/api/memberManagement/memberList.js
  4. 3 0
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleEvent/components/detail.vue
  5. 6 0
      CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleEvent/index.vue
  6. 3 0
      CallCenterWeb.UI/src/views/afterSaleManagement/saleOrderList/components/detail.vue
  7. 6 0
      CallCenterWeb.UI/src/views/afterSaleManagement/saleOrderList/index.vue
  8. 102 0
      CallCenterWeb.UI/src/views/commodityManagement/commodityDefectiveInventory/components/transfer.vue
  9. 17 0
      CallCenterWeb.UI/src/views/commodityManagement/commodityDefectiveInventory/index.vue
  10. 82 0
      CallCenterWeb.UI/src/views/customerServiceManagement/customerServiceChangeCollection/agree.vue
  11. 55 12
      CallCenterWeb.UI/src/views/customerServiceManagement/customerServiceChangeCollection/index.vue
  12. 3 0
      CallCenterWeb.UI/src/views/memberManagement/memberList/components/detail.vue
  13. 6 0
      CallCenterWeb.UI/src/views/memberManagement/memberList/index.vue
  14. 7 16
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/department/index.vue
  15. 5 6
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/addOrEdit.vue
  16. 129 0
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/importUser.vue
  17. 16 2
      CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/index.vue
  18. BIN
      CallCenterWeb.UI/static/xls/huiyuanxinxiTemplate.xlsx
  19. BIN
      CallCenterWeb.UI/static/xls/importUser.xlsx

+ 9 - 0
CallCenterWeb.UI/src/api/commodityManagement/commodityList.js

@@ -43,4 +43,13 @@ export function deleteCommodityList(data) {
43 43
   })
44 44
 }
45 45
 
46
+// 删除商品列表数据
47
+export function transferCommodity(params) {
48
+  return request({
49
+    url: 'api/Product/allocation',
50
+    method: 'post',
51
+    params
52
+  })
53
+}
54
+
46 55
 

+ 9 - 0
CallCenterWeb.UI/src/api/customerServiceManagement/orderListCustomerService.js

@@ -195,3 +195,12 @@ export function submitChangeCollectionOrderCustomerService(data) {
195 195
     data
196 196
   })
197 197
 }
198
+
199
+// 客服提交改代收
200
+export function agreeChangeCollectionOrderCustomerService(params) {
201
+  return request({
202
+    url: 'api/KFOrder/Agree',
203
+    method: 'post',
204
+    params
205
+  })
206
+}

+ 9 - 0
CallCenterWeb.UI/src/api/memberManagement/memberList.js

@@ -288,4 +288,13 @@ export function getMemberOrderList(params) {
288 288
     method: 'get',
289 289
     params
290 290
   })
291
+}
292
+
293
+// 获取会员订单列表
294
+export function importMemberErrormsg(params) {
295
+  return request({
296
+    url: 'api/ImportOrder/Errormsg',
297
+    method: 'get',
298
+    params
299
+  })
291 300
 }

+ 3 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleEvent/components/detail.vue

@@ -26,6 +26,7 @@
26 26
             <el-col :md="6" class="order_detail_item">备用号码:{{ mobile1 | mobileFilter }}</el-col>
27 27
             <el-col :md="6" class="order_detail_item">会员标签:{{ type }}</el-col>
28 28
             <el-col :md="6" class="order_detail_item">会员类型:{{ F_Membership }}</el-col>
29
+            <el-col :md="6" class="order_detail_item">会员分类:{{ F_Class }}</el-col>
29 30
             <el-col :md="6" class="order_detail_item">会员生日:{{ birthday }}</el-col>
30 31
             <el-col :md="6" class="order_detail_item">省份:{{ province }}</el-col>
31 32
             <el-col :md="6" class="order_detail_item">市:{{ city }}</el-col>
@@ -465,6 +466,7 @@ export default {
465 466
       mobile1: '', // 手机号码1
466 467
       type: '', // 会员类型
467 468
       F_Membership: '', // 会员等级
469
+      F_Class: '', // 会员分类
468 470
       postcode: '', // 邮编
469 471
       shoesize: '', // 鞋码
470 472
       regtime: '', // 会员日期
@@ -585,6 +587,7 @@ export default {
585 587
         this.phone = res.F_Phone // 固定电话
586 588
         this.type = res.F_Label // 会员标签
587 589
         this.F_Membership = res.F_Membership// 会员等级
590
+        this.F_Class = res.F_Class// 会员分类
588 591
         this.postcode = res.F_Postcode // 邮编
589 592
         this.shoesize = res.F_ShoeSize // 鞋码
590 593
         this.regtime = res.F_RegTime // 会员日期

+ 6 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleEvent/index.vue

@@ -74,6 +74,12 @@
74 74
         width=""
75 75
       />
76 76
       <el-table-column
77
+        prop="F_Class"
78
+        label="会员分类"
79
+        align="center"
80
+        width=""
81
+      />
82
+      <el-table-column
77 83
         prop="F_ShoeSize"
78 84
         label="鞋码"
79 85
         align="center"

+ 3 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/saleOrderList/components/detail.vue

@@ -26,6 +26,7 @@
26 26
             <el-col :md="6" class="order_detail_item">备用号码:{{ mobile1 | mobileFilter }}</el-col>
27 27
             <el-col :md="6" class="order_detail_item">会员标签:{{ type }}</el-col>
28 28
             <el-col :md="6" class="order_detail_item">会员类型:{{ F_Membership }}</el-col>
29
+            <el-col :md="6" class="order_detail_item">会员分类:{{ F_Class }}</el-col>
29 30
             <el-col :md="6" class="order_detail_item">会员生日:{{ birthday }}</el-col>
30 31
             <el-col :md="6" class="order_detail_item">省份:{{ province }}</el-col>
31 32
             <el-col :md="6" class="order_detail_item">市:{{ city }}</el-col>
@@ -465,6 +466,7 @@ export default {
465 466
       mobile1: '', // 手机号码1
466 467
       type: '', // 会员类型
467 468
       F_Membership: '', // 会员等级
469
+      F_Class: '', // 会员分类
468 470
       postcode: '', // 邮编
469 471
       shoesize: '', // 鞋码
470 472
       regtime: '', // 会员日期
@@ -586,6 +588,7 @@ export default {
586 588
         this.phone = res.F_Phone // 固定电话
587 589
         this.type = res.F_Label // 会员标签
588 590
         this.F_Membership = res.F_Membership// 会员等级
591
+        this.F_Class = res.F_Class// 会员分类
589 592
         this.postcode = res.F_Postcode // 邮编
590 593
         this.shoesize = res.F_ShoeSize // 鞋码
591 594
         this.regtime = res.F_RegTime // 会员日期

+ 6 - 0
CallCenterWeb.UI/src/views/afterSaleManagement/saleOrderList/index.vue

@@ -75,6 +75,12 @@
75 75
         width=""
76 76
       />
77 77
       <el-table-column
78
+        prop="F_Class"
79
+        label="会员分类"
80
+        align="center"
81
+        width=""
82
+      />
83
+      <el-table-column
78 84
         prop="F_ShoeSize"
79 85
         label="鞋码"
80 86
         align="center"

+ 102 - 0
CallCenterWeb.UI/src/views/commodityManagement/commodityDefectiveInventory/components/transfer.vue

@@ -0,0 +1,102 @@
1
+<template>
2
+  <div>
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="80px">
4
+      <el-form-item label="调拨" prop="type">
5
+        <el-select
6
+          v-model="ruleForm.type"
7
+          class="form_select"
8
+          filterable
9
+          clearable
10
+          placeholder="请选择调拨"
11
+        >
12
+          <el-option label="调拨到正常商品" value="0" />
13
+          <el-option label="调拨到残次商品" value="1" />
14
+        </el-select>
15
+      </el-form-item>
16
+      <el-form-item label="数量" prop="count">
17
+        <el-input v-model.number="ruleForm.count" placeholder="请输入数量"></el-input>
18
+      </el-form-item>
19
+      <el-form-item>
20
+        <el-button type="primary" @click="submitForm()">提交</el-button>
21
+      </el-form-item>
22
+    </el-form>
23
+  </div>
24
+</template>
25
+<script>
26
+import { transferCommodity } from '@/api/commodityManagement/commodityList'
27
+export default {
28
+  props: {
29
+    rowid: {
30
+      type: String,
31
+      default: ''
32
+    },
33
+    layerid: {
34
+      type: String,
35
+      default: ''
36
+    }
37
+  },
38
+  data() {
39
+    return {
40
+      ruleForm: {
41
+        productId: '', // 商品id
42
+        count: 0, // 数量 
43
+        type: '',  
44
+      },
45
+      rules: {
46
+        type: [
47
+          {
48
+            required: true,
49
+            trigger: 'change',
50
+            message: '请选择调拨'
51
+          }
52
+        ],
53
+        count: [
54
+          {
55
+            required: false,
56
+            trigger: 'blur',
57
+            message: '请输入使用积分'
58
+          },
59
+          {
60
+            type: 'number',
61
+            message: '使用积分必须为数字'
62
+          }
63
+        ],
64
+      }
65
+    }
66
+  },
67
+  created() {
68
+    if (this.rowid) {
69
+      this.ruleForm.productId = this.rowid
70
+    }
71
+  },
72
+  methods: {
73
+    submitForm() {
74
+      this.$refs.ruleForm.validate(valid => {
75
+        if (valid) {
76
+          const params = {
77
+            ProductId: this.ruleForm.productId,
78
+            Count: this.ruleForm.count,
79
+            type: this.ruleForm.type
80
+          }
81
+          transferCommodity(params)
82
+            .then((response) => {
83
+              if (response.state.toLowerCase() === 'success') {
84
+                this.$parent.$layer.close(this.layerid)
85
+                this.$parent.getList() // 重新加载父级数据
86
+                this.$message.success('恭喜你,订单信息退回成功!')
87
+              }
88
+            })
89
+            .catch(() => {
90
+              this.loading = false
91
+            })
92
+        }
93
+      })
94
+    },
95
+  }
96
+}
97
+</script>
98
+<style lang="scss" scoped>
99
+.form_select {
100
+  width: 100%
101
+}
102
+</style>

+ 17 - 0
CallCenterWeb.UI/src/views/commodityManagement/commodityDefectiveInventory/index.vue

@@ -8,6 +8,11 @@
8 8
       <!-- <el-table-column prop="F_Stock1" label="商品数量(新乡仓)" align="center" fixed width=""></el-table-column>
9 9
       <el-table-column prop="F_OnSaleBegin" label="上架时间" align="center" fixed width=""></el-table-column>
10 10
       <el-table-column prop="F_OnSaleEnd" label="下架时间" align="center" fixed width=""></el-table-column> -->
11
+      <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
12
+        <template slot-scope="scope">
13
+          <el-button v-permission="'HY_transfer'" type="text" @click="btn_transfer(scope.row.F_ProductId)">调拨</el-button>
14
+        </template>
15
+      </el-table-column>
11 16
     </el-table>
12 17
     <pagination
13 18
       v-show="pageParams.total > 0"
@@ -25,6 +30,7 @@ import { getCommodityList, deleteCommodityList } from '@/api/commodityManagement
25 30
 import { getCommodityType } from '@/api/commodityManagement/commodityType'
26 31
 import SearchFilter from './components/searchFilter'
27 32
 import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
33
+import transfer from './components/transfer'
28 34
 
29 35
 export default {
30 36
   name: 'CommodityStock',
@@ -124,6 +130,17 @@ export default {
124 130
         resolve()
125 131
       })
126 132
     },
133
+    btn_transfer(id) {
134
+      this.$layer.iframe({
135
+        content: {
136
+          content: transfer, // 传递的组件对象
137
+          parent: this, // 当前的vue对象
138
+          data: { rowid: id } // props
139
+        },
140
+        area: ['40%', '50%'],
141
+        title: '调拨'
142
+      }) 
143
+    }
127 144
   }
128 145
 }
129 146
 </script>

+ 82 - 0
CallCenterWeb.UI/src/views/customerServiceManagement/customerServiceChangeCollection/agree.vue

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

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

@@ -7,23 +7,24 @@
7 7
         <el-option label="审核通过" value="1"/>
8 8
         <el-option label="审核未通过" value="2"/>
9 9
       </el-select>
10
-      <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择售后类型">
10
+      <!-- <el-select v-model="searchData.type" class="filter-item" filterable clearable placeholder="请选择售后类型">
11 11
         <el-option label="调换" value="1"/>
12 12
         <el-option label="退货" value="2"/>
13
-        <!-- <el-option label="部分退货" value="3"/> -->
13
+        <el-option label="部分退货" value="3"/>
14 14
         <el-option label="对发货" value="4"/>
15 15
         <el-option label="补发货" value="5"/>
16
-        <!-- <el-option label="补差额" value="6"/> -->
16
+        <el-option label="补差额" value="6"/>
17 17
         <el-option label="错发" value="7"/>
18
-        <!-- <el-option label="漏发" value="8"/> -->
19
-      </el-select>
18
+        <el-option label="漏发" value="8"/>
19
+      </el-select> -->
20 20
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
21 21
       <el-button v-permission="'HY_batch_signfor'" type="primary" class="filter-item" @click="btn_batch_signfor">批量签收</el-button>
22 22
       <el-button v-permission="'HY_batch_rejection'" type="primary" class="filter-item" @click="btn_batch_rejection">批量拒收</el-button>
23 23
       <el-button v-permission="'HY_bulk_submit'" type="primary" class="filter-item" @click="btn_bulk_submit">批量提交</el-button>
24 24
     </div>
25 25
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick" >
26
-      <el-tab-pane label="未签收" name="0"/>
26
+      <el-tab-pane label="未处理" name="-1"/>
27
+      <el-tab-pane label="已处理" name="0"/>
27 28
       <el-tab-pane label="已签收" name="1"/>
28 29
       <el-tab-pane label="已拒收" name="2"/>
29 30
     </el-tabs>
@@ -61,6 +62,12 @@
61 62
         <template slot-scope="scope">
62 63
           <el-button v-permission="'HY_after_sale_detail'" type="text" @click="btn_after_sale_detail(scope.row.F_Id)">详情</el-button>
63 64
           <el-button
65
+            v-permission="'HY_agree'"
66
+            v-if="authority_agree()"
67
+            type="text"
68
+            @click="btn_agree(scope.row.F_OrderId)"
69
+          >同意</el-button>
70
+          <el-button
64 71
             v-permission="'HY_signfor'"
65 72
             v-if="authority_signfor(scope.row.F_IsSignfor)"
66 73
             type="text"
@@ -94,15 +101,16 @@
94 101
 
95 102
 <script>
96 103
 import { getDictionaryValueList } from '@/api/commonAPI'
97
-import { signforChangeCollectionOrderCustomerService, submitChangeCollectionOrderCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
104
+import { signforChangeCollectionOrderCustomerService, submitChangeCollectionOrderCustomerService, agreeChangeCollectionOrderCustomerService } from '@/api/customerServiceManagement/orderListCustomerService'
98 105
 import { getAfterSaleList, deleteAfterSaleList } from '@/api/afterSaleManagement/afterSaleList'
99 106
 import { pickerOptions, formatterContent } from '@/utils'
100 107
 import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
101 108
 import detail from '@/views/orderManagement/orderList/detail'
102 109
 import afterSaleDetail from '@/views/afterSaleManagement/afterSaleList/afterSaleDetail'
110
+import agree from './agree'
103 111
 
104 112
 export default {
105
-  name: 'ConsolidateOrderList',
113
+  name: 'CustomerServiceChangeCollection',
106 114
   components: {
107 115
     Pagination
108 116
   },
@@ -143,9 +151,11 @@ export default {
143 151
       loading: false,
144 152
       searchData: {
145 153
         checkState: '-2', // 售后审核状态
146
-        type: '' // 售后类型
154
+        type: '', // 售后类型
155
+        woState: '-1', // -1未处理 0已处理
156
+        isSignfor: '',
147 157
       },
148
-      activeName: '0',
158
+      activeName: '-1',
149 159
       pickerOptions, // 日期数据
150 160
       pageParams: {
151 161
         pageindex: 1, // 当前第几页
@@ -179,7 +189,8 @@ export default {
179 189
           pagesize: 1000000, // int 每页几条信息
180 190
           F_PayState: '-2',
181 191
           F_ReturnType: '改代收',
182
-          IsSignfor: this.activeName
192
+          IsSignfor: this.searchData.isSignfor,
193
+          F_WoState: this.searchData.woState,
183 194
         }
184 195
         getAfterSaleList(params).then(response => {
185 196
           this.loading = false
@@ -273,6 +284,17 @@ export default {
273 284
           })
274 285
         })
275 286
     },
287
+    btn_agree(id) {
288
+      this.$layer.iframe({
289
+        content: {
290
+          content: agree, // 传递的组件对象
291
+          parent: this, // 当前的vue对象
292
+          data: { rowid: id } // props
293
+        },
294
+        area: ["30%", "30%"],
295
+        title: "是否同意"
296
+      });
297
+    },
276 298
     // 签收
277 299
     btn_signfor(id, orderId) {
278 300
       this.$confirm('确定签收吗?', '提示', {
@@ -405,9 +427,17 @@ export default {
405 427
         title: '售后列表详情'
406 428
       })
407 429
     },
430
+    //同意
431
+    authority_agree() {
432
+      if (this.activeName == '-1') {
433
+        return true
434
+      } else {
435
+        return false
436
+      }
437
+    },
408 438
     // 签收
409 439
     authority_signfor(state) {
410
-      if (state == 0) {
440
+      if (this.activeName == '0') {
411 441
         return true
412 442
       } else {
413 443
         return false
@@ -423,6 +453,19 @@ export default {
423 453
     },
424 454
     handleTabClick(tab, event) {
425 455
       this.pageParams.pageindex = 1
456
+      if (this.activeName == '-1') {
457
+        this.searchData.woState = '-1'
458
+        this.searchData.isSignfor = ''
459
+      } else if (this.activeName == '0') {
460
+        this.searchData.woState = '0'
461
+        this.searchData.isSignfor = ''
462
+      } else if (this.activeName == '1') {
463
+        this.searchData.woState = ''
464
+        this.searchData.isSignfor = '1'
465
+      } else if (this.activeName == '2') {
466
+        this.searchData.woState = ''
467
+        this.searchData.isSignfor = '2'
468
+      }
426 469
       this.getList()
427 470
     },
428 471
     btn_search() {

+ 3 - 0
CallCenterWeb.UI/src/views/memberManagement/memberList/components/detail.vue

@@ -26,6 +26,7 @@
26 26
             <el-col :md="6" class="order_detail_item">备用号码:{{ mobile1 | mobileFilter }}</el-col>
27 27
             <el-col :md="6" class="order_detail_item">会员标签:{{ type }}</el-col>
28 28
             <el-col :md="6" class="order_detail_item">会员类型:{{ F_Membership }}</el-col>
29
+            <el-col :md="6" class="order_detail_item">会员分类:{{ F_Class }}</el-col>
29 30
             <el-col :md="6" class="order_detail_item">会员生日:{{ birthday }}</el-col>
30 31
             <el-col :md="6" class="order_detail_item">省份:{{ province }}</el-col>
31 32
             <el-col :md="6" class="order_detail_item">市:{{ city }}</el-col>
@@ -466,6 +467,7 @@ export default {
466 467
       mobile1: '', // 手机号码1
467 468
       type: '', // 会员类型
468 469
       F_Membership: '', // 会员等级
470
+      F_Class: '', // 会员分类
469 471
       postcode: '', // 邮编
470 472
       shoesize: '', // 鞋码
471 473
       regtime: '', // 会员日期
@@ -587,6 +589,7 @@ export default {
587 589
         this.phone = res.F_Phone // 固定电话
588 590
         this.type = res.F_Label // 会员标签
589 591
         this.F_Membership = res.F_Membership// 会员等级
592
+        this.F_Class = res.F_Class// 会员分类
590 593
         this.postcode = res.F_Postcode // 邮编
591 594
         this.shoesize = res.F_ShoeSize // 鞋码
592 595
         this.regtime = res.F_RegTime // 会员日期

+ 6 - 0
CallCenterWeb.UI/src/views/memberManagement/memberList/index.vue

@@ -79,6 +79,12 @@
79 79
         width=""
80 80
       />
81 81
       <el-table-column
82
+        prop="F_Class"
83
+        label="会员分类"
84
+        align="center"
85
+        width=""
86
+      />
87
+      <el-table-column
82 88
         prop="F_ShoeSize"
83 89
         label="鞋码"
84 90
         align="center"

+ 7 - 16
CallCenterWeb.UI/src/views/systemSetup/roleSetting/department/index.vue

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-row :gutter="20">
4
-      <el-col :span="8">
4
+      <el-col :span="6">
5 5
         <div class="filter-container">
6 6
           <el-button type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add()">添加</el-button>
7 7
           <el-button type="primary" class="filter-item" icon="el-icon-edit" @click="btn_edit()">编辑</el-button>
@@ -13,17 +13,7 @@
13 13
           >删除</el-button>
14 14
         </div>
15 15
         <el-alert :closable="false" title="部门分类" type="success" />
16
-        <el-table
17
-          v-loading="loading"
18
-          :data="departmentDataLists"
19
-          :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
20
-          highlight-current-row
21
-          border
22
-          row-key="F_DeptId"
23
-          default-expand-all
24
-          @current-change="handleCurrentChange"
25
-          @row-click="openEdit"
26
-        >
16
+        <el-table v-loading="loading" :data="departmentDataLists" :tree-props="{children: 'children', hasChildren: 'hasChildren'}" highlight-current-row border row-key="F_DeptId" default-expand-all @current-change="handleCurrentChange" @row-click="openEdit">
27 17
           <el-table-column prop="F_DeptName" label="部门名称" align="center" min-width />
28 18
           <!-- <el-table-column prop="F_Lock" label="锁定" align="center" min-width="">
29 19
             <template slot-scope="scope">
@@ -54,7 +44,7 @@
54 44
             >添加</el-button>
55 45
           </div>
56 46
           <el-alert :closable="false" title="中心分类" type="success" />
57
-          <el-table v-loading="loading" :data="dataLists" border stripe @row-click="handleTableClick">
47
+          <el-table v-loading="loading" :data="dataLists" border stripe @row-click="handleTableClick" highlight-current-row>
58 48
             <el-table-column type="index" label="编号" align="center" fixed width="60" />
59 49
             <el-table-column prop="F_DeptName" label="部门名称" align="center" min-width />
60 50
             <el-table-column prop="F_Name" label="中心名称" align="center" min-width />
@@ -97,7 +87,7 @@
97 87
           />
98 88
         </div>
99 89
       </el-col>
100
-      <el-col :span="8">
90
+      <el-col :span="10">
101 91
         <div>
102 92
           <div class="filter-container search">
103 93
             <el-input v-model="teamkeyword" placeholder="请输入关键字" class="filter-item" />
@@ -116,7 +106,7 @@
116 106
             >添加</el-button>
117 107
           </div>
118 108
           <el-alert :closable="false" title="小组分类" type="success" />
119
-          <el-table v-loading="loading" :data="teamLists" border stripe>
109
+          <el-table v-loading="loading" :data="teamLists" border stripe highlight-current-row>
120 110
             <el-table-column type="index" label="编号" align="center" fixed width="50" />
121 111
             <el-table-column prop="F_DeptName" label="部门名称" align="center" min-width />
122 112
             <el-table-column prop="F_Name" label="小组名称" align="center" min-width />
@@ -341,6 +331,7 @@ export default {
341 331
       } else {
342 332
         this.depId = 0
343 333
       }
334
+      this.teamLists = []
344 335
     },
345 336
 
346 337
     // 获取中心列表数据
@@ -434,7 +425,7 @@ export default {
434 425
         const params = {
435 426
           pageindex: this.pageParamsGrop.pageindex, // 第几页
436 427
           pagesize: this.pageParamsGrop.pagesize, // 每页几条信息
437
-          praentid: this.clickId,
428
+          parentid: this.clickId,
438 429
           key: this.teamkeyword.trim(),
439 430
           deptid: this.depId,
440 431
           type: 1

+ 5 - 6
CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/addOrEdit.vue

@@ -513,12 +513,11 @@ export default {
513 513
           const res = response.data
514 514
           // headimg: '', // 头像大图
515 515
           // head_small_img: '', // 头像缩略图
516
-
517 516
           this.ruleForm.usercode = res.F_UserCode // 工号
518 517
           this.ruleForm.username = res.F_UserName // 姓名
519 518
           this.ruleForm.extensionnumber = res.F_ExtensionNumber // 分机号
520 519
           this.ruleForm.roleid = res.F_RoleId // 角色
521
-          this.ruleForm.dutyid = res.F_DutyId.toString() // 职位
520
+          this.ruleForm.dutyid = res.F_DutyId && res.F_DutyId + '' // 职位
522 521
           this.ruleForm.deptid = res.F_DeptId // 所属部门
523 522
           this.ruleForm.dept = res.F_Dept
524 523
           this.ruleForm.deptteamid = res.F_DeptTeamId // 团队
@@ -529,8 +528,8 @@ export default {
529 528
           this.ruleForm.fulldate = res.F_FullDate // 转正日期
530 529
           this.ruleForm.termdate = res.F_TermDate // 离职日期
531 530
           this.ruleForm.seatlevel = res.F_SeatLevel // 坐席等级
532
-          this.ruleForm.sexflag = res.F_SexFlag && res.F_SexFlag.toString() //
533
-          this.ruleForm.remindflag = res.F_RemindFlag.toString() // 提醒标志
531
+          this.ruleForm.sexflag = res.F_SexFlag && res.F_SexFlag + '' //
532
+          this.ruleForm.remindflag = res.F_RemindFlag && res.F_RemindFlag + '' // 提醒标志
534 533
           this.ruleForm.telephone = res.F_Telephone // 电话
535 534
           this.ruleForm.mobile = res.F_Mobile // 手机号码
536 535
           this.ruleForm.homephone = res.F_HomePhone // 家庭电话
@@ -541,10 +540,10 @@ export default {
541 540
           this.ruleForm.remark = res.F_Remark
542 541
           this.departmentPlaceholder = res.F_Dept
543 542
           // 话务相关
544
-          this.ruleForm.seatflag = res.F_SeatFlag.toString() // 话务标志
543
+          this.ruleForm.seatflag = res.F_SeatFlag && res.F_SeatFlag + '' // 话务标志
545 544
           this.seatFlag = res.F_SeatFlag
546 545
           this.ruleForm.seartgroupiD = res.F_SeartGroupID // 坐席组id
547
-          this.ruleForm.seatright = res.F_SeatRight === null ? res.F_SeatRight : res.F_SeatRight.toString() // 坐席类型 默认普通坐席
546
+          this.ruleForm.seatright = res.F_SeatRight === null ? res.F_SeatRight : res.F_SeatRight + '' // 坐席类型 默认普通坐席
548 547
         }
549 548
         // if (this.ruleForm.deptid) {
550 549
         //   this.getTeam(this.ruleForm.deptid)

+ 129 - 0
CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/importUser.vue

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

+ 16 - 2
CallCenterWeb.UI/src/views/systemSetup/roleSetting/userManage/index.vue

@@ -19,6 +19,7 @@
19 19
       <el-input v-model="keyword" placeholder="请输入工号,姓名,电话,手机" class="filter-item"/>
20 20
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
21 21
       <el-button v-permission="'HY_add'" type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
22
+      <el-button v-permission="'HY_import'" type="primary" class="filter-item" @click="btn_import">导入</el-button>
22 23
       <el-button v-permission="'HY_deletes'" type="primary" class="filter-item" icon="el-icon-delete" @click="btn_deletes">批量删除</el-button>
23 24
     </div>
24 25
 
@@ -27,6 +28,8 @@
27 28
       <el-table-column prop="F_UserCode" label="工号" align="center" min-width=""/>
28 29
       <el-table-column prop="F_UserName" label="姓名" align="center" min-width=""/>
29 30
       <el-table-column prop="F_Dept" label="部门" align="center" min-width=""/>
31
+      <el-table-column prop="F_DeptTeam" label="中心" align="center" min-width=""/>
32
+      <el-table-column prop="F_Group" label="小组" align="center" min-width=""/>
30 33
       <el-table-column prop="F_Role" label="角色" align="center" min-width=""/>
31 34
       <el-table-column prop="F_SeartGroup" label="坐席组" align="center" min-width=""/>
32 35
       <el-table-column label="标志" align="center" min-width="">
@@ -43,8 +46,6 @@
43 46
       <el-table-column prop="F_Telephone" label="电话" align="center" min-width=""/>
44 47
       <el-table-column prop="F_Mobile" label="手机" align="center" min-width=""/>
45 48
       <el-table-column prop="F_Duty" label="职位" align="center" min-width=""/>
46
-      <el-table-column prop="F_DeptTeam" label="团队" align="center" min-width=""/>
47
-      <el-table-column prop="F_Group" label="团队" align="center" min-width=""/>
48 49
       <el-table-column prop="F_EntryDate" label="入职日期" align="center" min-width=""/>
49 50
       <el-table-column prop="F_FullDate" label="转正日期" align="center" min-width=""/>
50 51
       <el-table-column prop="F_TermDate" label="离职日期" align="center" min-width=""/>
@@ -75,6 +76,7 @@ import { getRoleSelect } from '@/api/commonAPI'
75 76
 import { getTreeList } from '@/api/systemSetup/roleSetting/department'
76 77
 import addOrEdit from './addOrEdit'
77 78
 import modifyPass from './modifyPass'
79
+import importUser from './importUser'
78 80
 import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
79 81
 
80 82
 export default {
@@ -230,6 +232,18 @@ export default {
230 232
       }
231 233
       this.btn_delete(ids)
232 234
     },
235
+    // 导入
236
+    btn_import() {
237
+      this.$layer.iframe({
238
+        content: {
239
+          content: importUser, // 传递的组件对象
240
+          parent: this, // 当前的vue对象
241
+          data: { rowid: '' } // props
242
+        },
243
+        area: ['30%', '30%'],
244
+        title: '导入'
245
+      })
246
+    },
233 247
     // 获取角色下拉
234 248
     getRoleSelects() {
235 249
       getRoleSelect().then(response => {

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


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