liuyifan 5 anni fa
parent
commit
8d4b198b0d

+ 1 - 0
CallCenterWeb.UI/src/store/getters.js

@@ -19,6 +19,7 @@ const getters = {
19 19
   groupName: state => state.user.groupName, //中心名称
20 20
   groupId: state => state.user.groupId, //中心名称
21 21
   teamName: state => state.user.teamName, //小组
22
+  teamId: state => state.user.teamId, //小组id
22 23
 
23 24
   telIsConnected: state => state.telWebsocket.telIsConnected, // 是否建立话务websocket链接
24 25
   telMessageData: state => state.telWebsocket.telMessageData, // 话务 websocket 接收的数据

+ 6 - 5
CallCenterWeb.UI/src/store/modules/user.js

@@ -21,7 +21,8 @@ const user = {
21 21
     groupcode: '',
22 22
     groupId: 0,
23 23
     groupName: '',
24
-    teamName: ''
24
+    teamName: '',
25
+    teamId: '',
25 26
   },
26 27
 
27 28
   mutations: {
@@ -76,9 +77,9 @@ const user = {
76 77
     SET_TEAMNAME: (state, teamName) => {
77 78
       state.teamName = teamName
78 79
     },
79
-    // SET_TEAMID: (state, teamId) => {
80
-    //   state.teamId = teamId
81
-    // },
80
+    SET_TEAMID: (state, teamId) => {
81
+      state.teamId = teamId
82
+    },
82 83
   },
83 84
 
84 85
   actions: {
@@ -120,7 +121,7 @@ const user = {
120 121
           commit('SET_AVATAR', data.F_HeadImg) // 用户头像
121 122
           commit('SET_MOBILE', data.F_Mobile) // 手机
122 123
           commit('SET_TEAMNAME', data.F_Team) // 中心名称
123
-          // commit('SET_TEAMID', data.F_Team) // 中心id
124
+          commit('SET_TEAMID', data.F_DeptTeamId) // 中心id
124 125
           commit('SET_GROUPNAME', data.F_Group) // 小组名称
125 126
           commit('SET_GROUPID', data.F_GroupId) // 小组id
126 127
           resolve(response)

+ 246 - 117
CallCenterWeb.UI/src/views/afterSaleManagement/afterSaleOrderList/index.vue

@@ -1,25 +1,23 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker
5
-        v-model="searchData.searchTime"
6
-        :picker-options="pickerOptions"
7
-        class="filter-item"
8
-        type="daterange"
9
-        format="yyyy年MM月dd日"
10
-        value-format="yyyy-MM-dd"
11
-        align="left"
12
-        unlink-panels
13
-        range-separator="至"
14
-        start-placeholder="开始日期"
15
-        end-placeholder="结束日期"
16
-      />
4
+      <el-date-picker v-model="searchData.searchTime" :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-input v-model="searchData.adFrom" placeholder="请输入消息/广告媒体来源" class="filter-item" />
18 6
       <el-input v-model="searchData.id" placeholder="请输入订单号" class="filter-item" />
19 7
       <el-input v-model="searchData.customer" placeholder="请输入客户姓名" class="filter-item" />
20 8
       <el-input v-model="searchData.customerPhone" placeholder="请输入客户手机号" class="filter-item" />
21 9
       <el-input v-model="searchData.trackingNo" placeholder="请输入运单号" class="filter-item" />
22 10
       <el-input v-model="searchData.submitUser" placeholder="请输入提交员工" class="filter-item" />
11
+      <el-cascader ref="myCascader" v-model="parentids" class="filter-item" :options="departmentDropDatas" :props="props" @change="handledepartment" placeholder="请选择部门" clearable filterable change-on-select />
12
+      <el-select v-model="searchData.deptteam" class="filter-item form_select" filterable clearable placeholder="请选择中心" @change="handleteam" @clear="clearTeam">
13
+        <el-option v-for="item in teamData" :key="item.F_Id" :label="item.F_Name" :value="item.F_Id" />
14
+      </el-select>
15
+      <el-select v-model="searchData.group" class="filter-item form_select" filterable clearable placeholder="请选择小组" @change="handlegrop" @clear="clearGroup">
16
+        <el-option v-for="item in gropData" :key="item.F_Id" :label="item.F_Name" :value="item.F_Id" />
17
+      </el-select>
18
+      <el-select v-model="searchData.name" class="filter-item form_select" filterable clearable placeholder="请选择销售">
19
+        <el-option v-for="item in userAccountDataList" :key="item.F_UserId" :label="item.F_UserName" :value="item.F_UserName" />
20
+      </el-select>
23 21
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
24 22
       <el-button v-permission="'HY_bulk_submit'" v-if="isSubmit()" type="primary" class="filter-item" @click="btn_bulk_submit">批量提交</el-button>
25 23
     </div>
@@ -31,10 +29,10 @@
31 29
     <div>
32 30
       <span>订单数量:{{ pageParams.total }}</span>
33 31
     </div>
34
-    <el-table v-loading="loading" :data="dataLists" border stripe  @selection-change="handleSelectionChange" row-key="F_Id">
32
+    <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="handleSelectionChange" row-key="F_Id">
35 33
       <el-table-column type="selection" :reserve-selection="true"></el-table-column>
36 34
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
37
-      <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180" >
35
+      <el-table-column prop="F_Id" label="订单编号" align="center" min-width="180">
38 36
         <template slot-scope="scope">
39 37
           <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_Id }}</el-button>
40 38
         </template>
@@ -47,7 +45,7 @@
47 45
         </template>
48 46
       </el-table-column>
49 47
       <el-table-column prop="F_AddTime" label="下单日期" align="center" />
50
-      <el-table-column label="订单状态" align="center" >
48
+      <el-table-column label="订单状态" align="center">
51 49
         <template slot-scope="scope">
52 50
           {{ scope.row.F_State | judgmentStateName }}
53 51
         </template>
@@ -58,9 +56,10 @@
58 56
       </el-table-column>
59 57
       <el-table-column prop="F_AddUserName" label="下单员工" align="center" />
60 58
       <el-table-column prop="F_BelongName" label="归属员工" align="center" />
59
+      <el-table-column prop="F_SubmitUser" label="提交员工" align="center" />
61 60
       <el-table-column prop="F_Type" label="订单类型" align="center" />
62 61
       <el-table-column prop="F_Express" label="快递公司" align="center" />
63
-      <el-table-column label="物流状态" align="center" >
62
+      <el-table-column label="物流状态" align="center">
64 63
         <template slot-scope="scope">
65 64
           {{ scope.row.F_Status | judgmentStatusName }}
66 65
         </template>
@@ -85,49 +84,52 @@
85 84
 </template>
86 85
 
87 86
 <script>
88
-import { getDictionaryValueList } from '@/api/commonAPI'
89
-import { getAfterSaleOrderList } from "@/api/afterSaleManagement/afterSaleList";
90
-import { orderBulkSubmit } from "@/api/orderManagement/orderList";
91
-import { pickerOptions, formatterContent } from "@/utils";
92
-import { getOrderLists } from '@/api/orderManagement/orderList'
93
-import edit from "./edit";
94
-import addOrEditRemark from "./addOrEditRemark";
87
+import { getDictionaryValueList } from "@/api/commonAPI"
88
+import { getAfterSaleOrderList } from "@/api/afterSaleManagement/afterSaleList"
89
+import { orderBulkSubmit } from "@/api/orderManagement/orderList"
90
+import { pickerOptions, formatterContent } from "@/utils"
91
+import { getOrderLists } from "@/api/orderManagement/orderList"
92
+import { getTreeList } from "@/api/systemSetup/roleSetting/department"
93
+import { getTeamLists } from "@/api/systemSetup/sysSetting/teamManagement"
94
+import { getUserAccountLists } from "@/api/systemSetup/roleSetting/userManage"
95
+import edit from "./edit"
96
+import addOrEditRemark from "./addOrEditRemark"
95 97
 import detail from "@/views/orderManagement/orderList/detail"
96
-import Pagination from "@/components/Pagination"; // 对el-pagination 二次封装
98
+import Pagination from "@/components/Pagination" // 对el-pagination 二次封装
97 99
 
98 100
 export default {
99 101
   name: "orderList",
100 102
   components: {
101
-    Pagination
103
+    Pagination,
102 104
   },
103 105
   filters: {
104 106
     judgmentStateName(status) {
105 107
       const statusMap = {
106
-        '0': "未提交",
107
-        '1': "待分仓",
108
-        '2': "已退回",
109
-        '3': "已分仓",
110
-        '4': "无货",
111
-        '5': "仓库待审核",
112
-        '6': "已发货",
113
-        '7': "付款待审核",
114
-        '8': "待分物流",
115
-        '9': "物流未通过",
108
+        0: "未提交",
109
+        1: "待分仓",
110
+        2: "已退回",
111
+        3: "已分仓",
112
+        4: "无货",
113
+        5: "仓库待审核",
114
+        6: "已发货",
115
+        7: "付款待审核",
116
+        8: "待分物流",
117
+        9: "物流未通过",
116 118
       }
117 119
       return statusMap[status]
118 120
     },
119 121
     judgmentStatusName(status) {
120 122
       const statusMap = {
121
-        '0': '未发出',
122
-        '1': '未签收',
123
-        '2': '签收',
124
-        '3': '改代收',
125
-        '4': '拒收',
123
+        0: "未发出",
124
+        1: "未签收",
125
+        2: "签收",
126
+        3: "改代收",
127
+        4: "拒收",
126 128
       }
127 129
       return statusMap[status]
128 130
     },
129 131
     judgmentOrderGoods(status) {
130
-      let orderGoodsNameQuantity = ''
132
+      let orderGoodsNameQuantity = ""
131 133
       for (let i = 0; i < status.length; i++) {
132 134
         orderGoodsNameQuantity = `${orderGoodsNameQuantity}${status[i].F_ProductName}*${status[i].F_Count},`
133 135
       }
@@ -135,53 +137,71 @@ export default {
135 137
       return orderGoodsNameQuantity
136 138
     },
137 139
     judgmentAddress(data) {
138
-      const addProvince = data.F_AddProvince === null ? '' : data.F_AddProvince // 省
139
-      const addCity = data.F_AddCity === null ? '' : data.F_AddCity // 市
140
-      const addArea = data.F_AddArea === null ? '' : data.F_AddArea // 县/区
141
-      const addTown = data.F_AddTown === null ? '' : data.F_AddTown // 乡/镇
142
-      const address = data.F_Address === null ? '' : data.F_Address // 详细地址
140
+      const addProvince = data.F_AddProvince === null ? "" : data.F_AddProvince // 省
141
+      const addCity = data.F_AddCity === null ? "" : data.F_AddCity // 市
142
+      const addArea = data.F_AddArea === null ? "" : data.F_AddArea // 县/区
143
+      const addTown = data.F_AddTown === null ? "" : data.F_AddTown // 乡/镇
144
+      const address = data.F_Address === null ? "" : data.F_Address // 详细地址
143 145
       const addressStr = addProvince + addCity + addArea + addTown + address // 地址
144 146
       return addressStr
145
-    }
147
+    },
146 148
   },
147 149
   data() {
148 150
     return {
149 151
       loading: false,
150 152
       searchData: {
151
-        adFrom: '', //消息/广告媒体来源
152
-        type: '', //订单类型
153
-        id: '', //订单号
154
-        customer: '', //客户姓名
155
-        customerPhone: '', //客户手机号
156
-        trackingNo: '', //运单号
157
-        submitUser: '', //提交员工
158
-        searchTime: '', //订单时间
159
-        F_State: '0',
160
-        State: ''
153
+        adFrom: "", //消息/广告媒体来源
154
+        type: "", //订单类型
155
+        id: "", //订单号
156
+        customer: "", //客户姓名
157
+        customerPhone: "", //客户手机号
158
+        trackingNo: "", //运单号
159
+        submitUser: "", //提交员工
160
+        searchTime: "", //订单时间
161
+        F_State: "0",
162
+        State: "",
163
+        deptid: "", // 所属部门id
164
+        dept: "", // 部门名称
165
+        deptteamid: "", // 中心id
166
+        deptteam: "", // 中心姓名
167
+        groupid: "", // 小组信息
168
+        group: "", // 小组名称
169
+        name: "", // 销售名称
161 170
       },
171
+      parentids: [],
172
+      departmentDropDatas: [], // 下拉分类
173
+      // 自定义菜单下拉数据的key值
174
+      props: {
175
+        value: "id",
176
+        label: "text",
177
+      },
178
+      teamData: [], // 中心下拉数据
179
+      gropData: [], // 小组下拉数据
180
+      userAccountDataList: [], // 用户数据
162 181
       activeName: "0", //标签切换首页
163 182
       pickerOptions, // 日期数据
164 183
       pageParams: {
165 184
         pageindex: 1, // 当前第几页
166 185
         pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
167
-        total: 0 // 总共多少数据
186
+        total: 0, // 总共多少数据
168 187
       },
169 188
       dataLists: [], // 列表数据
170 189
       multipleSelection: [], // 选中的数据
171 190
       selectOrderId: [], //合并订单id
172
-    };
191
+    }
173 192
   },
174 193
   created() {
175 194
     this.getList()
176
-    document.onkeyup = e => {
195
+    this.getTypeDrop()
196
+    document.onkeyup = (e) => {
177 197
       if (e.keyCode === 13) {
178
-        this.getList();
198
+        this.getList()
179 199
       }
180
-    };
200
+    }
181 201
   },
182 202
   methods: {
183 203
     // 提交权限
184
-    isSubmit(state){
204
+    isSubmit(state) {
185 205
       if (this.activeName == 0 || this.activeName == 2) {
186 206
         return true
187 207
       } else {
@@ -189,7 +209,7 @@ export default {
189 209
       }
190 210
     },
191 211
     // 编辑权限
192
-    isEdit(state){
212
+    isEdit(state) {
193 213
       if (this.activeName == 0 || this.activeName == 2) {
194 214
         return true
195 215
       } else {
@@ -197,7 +217,7 @@ export default {
197 217
       }
198 218
     },
199 219
     // 备注权限
200
-    isRemark(state){
220
+    isRemark(state) {
201 221
       if (this.activeName == 0 || this.activeName == 2) {
202 222
         return true
203 223
       } else {
@@ -205,14 +225,14 @@ export default {
205 225
       }
206 226
     },
207 227
     getList() {
208
-      this.loading = true;
209
-      return new Promise(resolve => {
228
+      this.loading = true
229
+      return new Promise((resolve) => {
210 230
         const params = {
211 231
           F_State: this.searchData.F_State, // 订单状态
212 232
           pageindex: 1, // int 第几页
213 233
           pagesize: 1000000, // int 每页几条信息
214 234
           F_ADFrom: this.searchData.adFrom, // 消息/广告来源
215
-          F_Type: '售后订单', // 订单类型
235
+          F_Type: "售后订单", // 订单类型
216 236
           F_PayType: this.searchData.payType, // 支付方式
217 237
           F_Id: this.searchData.id, // 订单号
218 238
           F_Customer: this.searchData.customer, // 客户姓名
@@ -223,43 +243,46 @@ export default {
223 243
           SearchStartTime: this.searchData.searchTime && this.searchData.searchTime[0], // 添加开始时间
224 244
           SearchEndTime: this.searchData.searchTime && this.searchData.searchTime[1], // 添加结束时间
225 245
           F_PayState: -2,
226
-          State: this.searchData.State
246
+          State: this.searchData.State,
247
+          F_Core: this.searchData.deptteamid, // 中心
248
+          F_Group: this.searchData.groupid, // 小组
249
+          F_BelongName: this.searchData.name, // 人员
227 250
         }
228
-        getOrderLists(params).then(response => {
229
-          this.loading = false;
251
+        getOrderLists(params).then((response) => {
252
+          this.loading = false
230 253
           if (response.state.toLowerCase() === "success") {
231
-            this.pageParams.total = response.data.Totals;
232
-            this.dataLists = response.data.Rows;
254
+            this.pageParams.total = response.data.Totals
255
+            this.dataLists = response.data.Rows
233 256
           }
234
-        });
235
-        resolve();
236
-      });
257
+        })
258
+        resolve()
259
+      })
237 260
     },
238 261
     handleTabClick(tab, event) {
239 262
       this.pageParams.pageindex = 1
240
-      if (this.activeName == '1') {
263
+      if (this.activeName == "1") {
241 264
         this.searchData.State = this.activeName
242
-        this.searchData.F_State = ''
265
+        this.searchData.F_State = ""
243 266
       } else {
244 267
         this.searchData.F_State = this.activeName
245
-        this.searchData.State = ''
268
+        this.searchData.State = ""
246 269
       }
247 270
       this.getList()
248 271
     },
249 272
     btn_search() {
250
-      this.pageParams.pageindex = 1;
251
-      this.getList();
273
+      this.pageParams.pageindex = 1
274
+      this.getList()
252 275
     },
253 276
     btn_edit(editId) {
254 277
       this.$layer.iframe({
255 278
         content: {
256 279
           content: edit, // 传递的组件对象
257 280
           parent: this, // 当前的vue对象
258
-          data: { rowid: editId } // props
281
+          data: { rowid: editId }, // props
259 282
         },
260 283
         area: ["80%", "90%"],
261
-        title: "编辑订单"
262
-      });
284
+        title: "编辑订单",
285
+      })
263 286
     },
264 287
     // 添加备注
265 288
     btn_add_remark(id) {
@@ -267,15 +290,15 @@ export default {
267 290
         content: {
268 291
           content: addOrEditRemark, // 传递的组件对象
269 292
           parent: this, // 当前的vue对象
270
-          data: { rowid: id } // props
293
+          data: { rowid: id }, // props
271 294
         },
272 295
         area: ["40%", "50%"],
273
-        title: "添加备注"
274
-      });
296
+        title: "添加备注",
297
+      })
275 298
     },
276 299
     // 提交
277 300
     btn_submit(orderId) {
278
-      this.isDisable = true;
301
+      this.isDisable = true
279 302
       setTimeout(() => {
280 303
         this.$confirm("您确定提交吗?", "提示", {
281 304
           confirmButtonText: "确定",
@@ -283,89 +306,195 @@ export default {
283 306
           type: "warning",
284 307
         })
285 308
           .then(() => {
286
-            this.isDisable = false;
309
+            this.isDisable = false
287 310
             const data = {
288 311
               orderids: orderId,
289
-            };
312
+            }
290 313
             orderBulkSubmit(data).then((response) => {
291 314
               if (response.state.toLowerCase() === "success") {
292
-                this.getList();
293
-                this.$message.success("提交成功!");
315
+                this.getList()
316
+                this.$message.success("提交成功!")
294 317
               }
295
-            });
318
+            })
296 319
           })
297 320
           .catch(() => {
298 321
             this.$message({
299 322
               type: "info",
300 323
               message: "已取消提交",
301
-            });
302
-          });
303
-        this.isDisable = false;
304
-      }, 300);
324
+            })
325
+          })
326
+        this.isDisable = false
327
+      }, 300)
305 328
     },
306 329
     // 批量提交
307 330
     btn_bulk_submit() {
308 331
       if (this.selectOrderId.length < 1) {
309 332
         this.$message({
310
-          message: '请选择订单!',
311
-          type: 'warning'
333
+          message: "请选择订单!",
334
+          type: "warning",
312 335
         })
313 336
         return
314 337
       }
315 338
       this.isDisable = true
316 339
       setTimeout(() => {
317
-        this.$confirm('您确定提交吗?', '提示', {
318
-          confirmButtonText: '确定',
319
-          cancelButtonText: '取消',
320
-          type: 'warning'
340
+        this.$confirm("您确定提交吗?", "提示", {
341
+          confirmButtonText: "确定",
342
+          cancelButtonText: "取消",
343
+          type: "warning",
321 344
         })
322 345
           .then(() => {
323 346
             this.isDisable = false
324 347
             const data = {
325
-              orderids: this.selectOrderId.join(',').replace(/\s+/g, '')
348
+              orderids: this.selectOrderId.join(",").replace(/\s+/g, ""),
326 349
             }
327 350
             orderBulkSubmit(data).then((response) => {
328
-              if (response.state.toLowerCase() === 'success') {
351
+              if (response.state.toLowerCase() === "success") {
329 352
                 this.getList()
330
-                this.$message.success('提交成功!')
353
+                this.$message.success("提交成功!")
331 354
               }
332 355
             })
333 356
           })
334 357
           .catch(() => {
335 358
             this.$message({
336
-              type: 'info',
337
-              message: '已取消提交'
359
+              type: "info",
360
+              message: "已取消提交",
338 361
             })
339 362
           })
340 363
         this.isDisable = false
341 364
       }, 300)
342 365
     },
343
-    hadndleOrderCode(ordercode){
366
+    hadndleOrderCode(ordercode) {
344 367
       this.$layer.iframe({
345 368
         content: {
346 369
           content: detail, // 传递的组件对象
347 370
           parent: this, // 当前的vue对象
348
-          data: { 'rowid': ordercode }// props
371
+          data: { rowid: ordercode }, // props
349 372
         },
350
-        area: ['80%', '90%'],
351
-        title: '订单详情'
373
+        area: ["80%", "90%"],
374
+        title: "订单详情",
352 375
       })
353 376
     },
354 377
     //选择多个
355 378
     handleSelectionChange(val) {
356 379
       const ids = []
357 380
       this.multipleSelection = val
358
-      for (let i=0; i<this.multipleSelection.length; i++) {
381
+      for (let i = 0; i < this.multipleSelection.length; i++) {
359 382
         ids.push(this.multipleSelection[i].F_Id)
360 383
       }
361 384
       this.selectOrderId = ids
362 385
     },
363
-  }
364
-};
386
+    // 获取部门下拉
387
+    getTypeDrop() {
388
+      return new Promise((resolve) => {
389
+        getTreeList().then((response) => {
390
+          if (response.state.toLowerCase() === "success") {
391
+            this.departmentDropDatas = response.data
392
+          }
393
+        })
394
+        resolve()
395
+      })
396
+    },
397
+    // 部门选择信息
398
+    handledepartment(e) {
399
+      this.searchData.deptid = e[e.length - 1]
400
+      this.searchData.deptteamid = ""
401
+      this.searchData.dept = this.$refs["myCascader"].currentLabels[this.$refs["myCascader"].currentLabels.length - 1] // label
402
+      this.getTeam()
403
+    },
404
+    // 获取中心数据
405
+    getTeam() {
406
+      const params = {
407
+        pageindex: 1, // 第几页
408
+        pagesize: 500, // 每页几条信息
409
+        deptid: this.searchData.deptid, // 部门id
410
+        type: 0,
411
+      }
412
+      getTeamLists(params).then((response) => {
413
+        if (response.state.toLowerCase() === "success") {
414
+          this.teamData = response.data.Rows
415
+        }
416
+      })
417
+    },
418
+    // 中心选择
419
+    handleteam(e) {
420
+      this.searchData.deptteamid = e
421
+      var obj = {}
422
+      obj = this.teamData.find((item) => {
423
+        // 这里的teamData就是上面遍历的数据源
424
+        return item.F_Id === e // 筛选出匹配数据,这里的value是你遍历数组每一项的value,如果没有对后台返回的数据做处理,一般为id
425
+      })
426
+      this.searchData.deptteam = obj.F_Name //  这里的label就是对应label的
427
+      this.getteamList()
428
+      this.searchData.groupid = ""
429
+    },
430
+    // 获取小组列表数据
431
+    getteamList() {
432
+      this.loading = true
433
+      return new Promise((resolve) => {
434
+        const params = {
435
+          pageindex: 1, // 第几页
436
+          pagesize: 500, // 每页几条信息
437
+          type: 1,
438
+          deptid: this.searchData.deptid, // 部门id
439
+          parentid: this.searchData.deptteamid,
440
+        }
441
+        getTeamLists(params).then((response) => {
442
+          this.loading = false
443
+          if (response.state.toLowerCase() === "success") {
444
+            this.gropData = response.data.Rows
445
+          }
446
+        })
447
+        resolve()
448
+      })
449
+    },
450
+    // 小组选择
451
+    handlegrop(e) {
452
+      this.searchData.groupid = e
453
+      var obj = {}
454
+      obj = this.gropData.find((item) => {
455
+        // 这里的teamData就是上面遍历的数据源
456
+        return item.F_Id === e // 筛选出匹配数据,这里的value是你遍历数组每一项的value,如果没有对后台返回的数据做处理,一般为id
457
+      })
458
+      this.searchData.group = obj.F_Name //  这里的label就是对应label的
459
+      this.getUserAccountListData()
460
+    },
461
+    //中心清空
462
+    clearTeam() {
463
+      this.teamData = []
464
+      this.searchData.deptteamid = "" // 中心id
465
+      this.searchData.deptteam = "" // 中心姓名
466
+    },
467
+    //小组清空
468
+    clearGroup() {
469
+      this.gropData = []
470
+      this.searchData.groupid = "" // 小组信息
471
+      this.searchData.group = "" // 小组名称
472
+    },
473
+    // 获取用户
474
+    getUserAccountListData() {
475
+      this.loading = true
476
+      return new Promise((resolve) => {
477
+        const params = {
478
+          pageindex: 1, // 第几页
479
+          pagesize: 10000, // 每页几条信息
480
+          deptid: "", // 部门id
481
+          groupid: this.searchData.groupid, // 小组id
482
+        }
483
+        getUserAccountLists(params).then((response) => {
484
+          this.loading = false
485
+          if (response.state.toLowerCase() === "success") {
486
+            this.userAccountDataList = response.data.Rows
487
+          }
488
+        })
489
+        resolve()
490
+      })
491
+    },
492
+  },
493
+}
365 494
 </script>
366 495
 
367 496
 <style rel="stylesheet/scss" lang="scss" scoped>
368
-.el{
497
+.el {
369 498
   cursor: pointer;
370 499
 }
371 500
 </style>

+ 23 - 5
CallCenterWeb.UI/src/views/customerServiceManagement/afterSaleRefundList/index.vue

@@ -13,7 +13,8 @@
13 13
       <el-button v-permission="'HY_export'" type="primary" class="filter-item" @click="btn_export">导出</el-button>
14 14
     </div>
15 15
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
16
-      <el-tab-pane label="全部" name="" />
16
+      <el-tab-pane label="全部" name="-1" />
17
+      <el-tab-pane label="未结算" name="0" />
17 18
       <el-tab-pane label="已结算" name="1" />
18 19
     </el-tabs>
19 20
     <div>
@@ -54,7 +55,7 @@
54 55
       <el-table-column label="操作" width="240" align="center" class-name="oparate_btn" fixed="right">
55 56
         <template slot-scope="scope">
56 57
           <el-button v-permission="'HY_refund'" v-if="isrefund(scope.row.F_State)" type="text" @click="btn_refund(scope.row.F_Id)">退款</el-button>
57
-          <el-button v-permission="'HY_express'" type="text" @click="btn_express(scope.row.F_Id)">快递信息</el-button>
58
+          <el-button v-permission="'HY_express'" v-if="isExpress(scope.row.State)" type="text" @click="btn_express(scope.row.F_Id)">快递信息</el-button>
58 59
         </template>
59 60
       </el-table-column>
60 61
     </el-table>
@@ -123,9 +124,10 @@ export default {
123 124
         type: "", // 订单类型
124 125
         id: "", // 订单号
125 126
         returnType: "",
127
+        state: ""
126 128
       },
127 129
       afterSaleReasonsList: [], // 售后原因类型
128
-      activeName: "0", // 标签切换首页
130
+      activeName: "-1", // 标签切换首页
129 131
       pickerOptions, // 日期数据
130 132
       pageParams: {
131 133
         pageindex: 1, // 当前第几页
@@ -159,7 +161,7 @@ export default {
159 161
             return data
160 162
           },
161 163
         ],
162
-        url: this.$store.getters.serverConfig.BASE_API + "api/kforder/getaftersalebypage?isdc=2" + "&F_State=" + this.activeName + "&F_Type=" + this.searchData.type + "&F_ReturnType=" + this.searchData.returnType,
164
+        url: this.$store.getters.serverConfig.BASE_API + "api/kforder/getaftersalebypage?isdc=2" + "&State=" + this.searchData.state + "&F_Type=" + this.searchData.type + "&F_ReturnType=" + this.searchData.returnType,
163 165
         method: "post",
164 166
         data: this.sendDatas,
165 167
         responseType: "blob",
@@ -190,11 +192,12 @@ export default {
190 192
       this.loading = true
191 193
       return new Promise((resolve) => {
192 194
         const params = {
193
-          F_State: this.activeName, // 订单状态
195
+          // F_State: "", // 订单状态
194 196
           pageindex: 1, // int 第几页
195 197
           pagesize: 1000000, // int 每页几条信息
196 198
           F_Type: this.searchData.type,
197 199
           F_ReturnType: this.searchData.returnType,
200
+          State: this.searchData.state, //订单状态
198 201
         }
199 202
         getAfterSaleRefundList(params).then((response) => {
200 203
           this.loading = false
@@ -223,6 +226,13 @@ export default {
223 226
     },
224 227
     handleTabClick(tab, event) {
225 228
       this.pageParams.pageindex = 1
229
+      if (this.activeName === "0") {
230
+        this.searchData.state = "0"
231
+      } else if (this.activeName === "1") {
232
+        this.searchData.state = "1"
233
+      } else {
234
+        this.searchData.state = ""
235
+      }
226 236
       this.getList()
227 237
     },
228 238
     // 设置退款展示
@@ -233,6 +243,14 @@ export default {
233 243
         return true
234 244
       }
235 245
     },
246
+    //更改物流状态
247
+    isExpress(state) {
248
+      if (state === 0) {
249
+        return true
250
+      } else {
251
+        return false
252
+      }
253
+    },
236 254
     // 合并订单审核
237 255
     btn_refund(auditId) {
238 256
       this.$layer.iframe({

+ 89 - 83
CallCenterWeb.UI/src/views/mediaCenter/launchManagment/mediaInformation/addPlan.vue

@@ -5,17 +5,17 @@
5 5
         <el-col :span="24">
6 6
           <el-form-item label="播放计划信息" label-width="110px"></el-form-item>
7 7
         </el-col>
8
-        <el-col :span="5">
8
+        <el-col :span="4">
9 9
           <el-form-item label="播出时间">
10
-            <el-time-picker
11
-              value-format="HH:mm:ss"
12
-              v-model="playPlanForm.BroadcastTime"
13
-              type="date"
14
-              placeholder="请选择开始时间"
15
-            ></el-time-picker>
10
+            <el-time-picker value-format="HH:mm:ss" v-model="playPlanForm.BroadcastTime" type="date" placeholder="请选择开始时间"></el-time-picker>
11
+          </el-form-item>
12
+        </el-col>
13
+        <el-col :span="5">
14
+          <el-form-item label="~">
15
+            <el-time-picker value-format="HH:mm:ss" v-model="playPlanForm.BroadcastEndTime" type="date" placeholder="请选择结束时间"></el-time-picker>
16 16
           </el-form-item>
17 17
         </el-col>
18
-        <el-col :span="13">
18
+        <!-- <el-col :span="13">
19 19
           <el-form-item label="播放日期">
20 20
             <el-checkbox-group v-model="playPlanForm.week">
21 21
               <el-checkbox label="周一" name="type" value="1"></el-checkbox>
@@ -27,6 +27,16 @@
27 27
               <el-checkbox label="周日" name="type" value="7"></el-checkbox>
28 28
             </el-checkbox-group>
29 29
           </el-form-item>
30
+        </el-col> -->
31
+        <el-col :span="4">
32
+          <el-form-item label="播出时长" prop="broadcost">
33
+            <el-input v-model="playPlanForm.broadcost" onkeyup="value=value.replace(/[^\d.]/g,'')" placeholder="请输入播出时长"></el-input>
34
+          </el-form-item>
35
+        </el-col>
36
+        <el-col :span="4">
37
+          <el-form-item label="播出次数">
38
+            <el-input v-model="playPlanForm.playNumber" onkeyup="value=value.replace(/[^\d.]/g,'')" placeholder="请输入播出次数"></el-input>
39
+          </el-form-item>
30 40
         </el-col>
31 41
         <el-col :span="4">
32 42
           <el-form-item label="状态">
@@ -37,142 +47,138 @@
37 47
             </el-select>
38 48
           </el-form-item>
39 49
         </el-col>
40
-        <el-col :span="7">
50
+        <el-col :span="8">
41 51
           <el-form-item label="计划时间">
42
-            <el-date-picker
43
-              v-model="playPlanForm.startDate"
44
-              :picker-options="pickerOptions"
45
-              class="filter-item"
46
-              type="daterange"
47
-              format="yyyy年MM月dd日"
48
-              value-format="yyyy-MM-dd"
49
-              align="left"
50
-              unlink-panels
51
-              range-separator="至"
52
-              start-placeholder="开始日期"
53
-              end-placeholder="结束日期"
54
-            />
52
+            <el-date-picker v-model="playPlanForm.startDate" :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="结束日期" />
55 53
           </el-form-item>
56 54
         </el-col>
57
-        <el-col :span="5">
55
+        <el-col :span="4">
58 56
           <el-form-item label="广告名称" prop="advertisementName">
59 57
             <el-select clearable v-model="playPlanForm.advertisementName" placeholder="请选择广告名称">
60
-              <el-option
61
-                v-for="item in advertisementList"
62
-                :key="item.F_ValueId"
63
-                :label="item.F_Value"
64
-                :value="item.F_ValueId"
65
-              ></el-option>
58
+              <el-option v-for="item in advertisementList" :key="item.F_ValueId" :label="item.F_Value" :value="item.F_ValueId"></el-option>
66 59
             </el-select>
67 60
           </el-form-item>
68 61
         </el-col>
69 62
         <el-col :span="4">
70
-          <el-form-item label="播出时长">
71
-            <el-input v-model="playPlanForm.broadcost" onkeyup="value=value.replace(/[^\d.]/g,'')" placeholder="请输入播出时长"></el-input>
72
-          </el-form-item>
73
-        </el-col>
74
-        <el-col :span="4">
75
-          <el-form-item label="播出次数">
76
-            <el-input v-model="playPlanForm.playNumber" onkeyup="value=value.replace(/[^\d.]/g,'')" placeholder="请输入播出次数"></el-input>
63
+          <el-form-item label="播放说明">
64
+            <el-input v-model="playPlanForm.explain" placeholder="请输入播放说明"></el-input>
77 65
           </el-form-item>
78 66
         </el-col>
79 67
         <el-col :span="4">
80
-          <el-form-item label="播放说明">
81
-            <el-input v-model="playPlanForm.explain" placeholder="请输入播放说明"></el-input>
68
+          <el-form-item label="投放类型" prop="Mold">
69
+            <el-select clearable v-model="playPlanForm.Mold" placeholder="请选择投放类型">
70
+              <el-option label="正播" value="0"></el-option>
71
+              <el-option label="赠送" value="1"></el-option>
72
+            </el-select>
82 73
           </el-form-item>
83 74
         </el-col>
84 75
         <el-col :span="24">
85
-          <el-button type="primary" style="margin-left:50%" @click="submit">保存</el-button>
76
+          <el-button type="primary" style="margin-left: 50%" @click="submit">保存</el-button>
86 77
         </el-col>
87 78
       </el-form>
88 79
     </el-row>
89 80
   </div>
90 81
 </template>
91 82
 <script>
92
-import { getDictionaryValueList } from "@/api/commonAPI";
93
-import { pickerOptions } from "@/utils";
94
-import { saveChange} from '@/api/mediaCenter/mediaInformation'
83
+import { getDictionaryValueList } from "@/api/commonAPI"
84
+import { pickerOptions } from "@/utils"
85
+import { saveChange } from "@/api/mediaCenter/mediaInformation"
95 86
 export default {
96 87
   props: {
97 88
     rowid: {
98 89
       type: String,
99
-      default: ""
90
+      default: "",
100 91
     },
101 92
     layerid: {
102 93
       type: String,
103
-      default: ""
104
-    }
94
+      default: "",
95
+    },
105 96
   },
106 97
   data() {
107 98
     return {
108 99
       playPlanForm: {
109
-        startDate: '', //计划时间
100
+        startDate: "", //计划时间
110 101
         BroadcastTime: "", //当天播出时间
102
+        BroadcastEndTime: "", //当天播出结束时间
111 103
         state: "", //状态
112 104
         broadcost: "", //播出时长
113 105
         playNumber: "", //播放次数
114 106
         explain: "", //播放说明
115 107
         advertisementName: "", //广告名称
116 108
         advertisementNameId: "", //广告名称id
117
-        week: [] //选中天数
109
+        week: [], //选中天数
110
+        Mold: "0", // 投放类型
118 111
       },
119
-      rules:{
120
-        advertisementName:[
121
-          { required: true, message: '请选择广告名称', trigger: 'change' }
122
-        ]
112
+      rules: {
113
+        advertisementName: [
114
+          {
115
+            required: true,
116
+            message: "请选择广告名称",
117
+            trigger: "change"
118
+          },
119
+        ],
120
+        broadcost: [
121
+          {
122
+            required: true,
123
+            message: "请输入播放时长",
124
+            trigger: "blur"
125
+          },
126
+        ],
123 127
       },
124 128
       advertisementList: [], //广告名称
125
-      pickerOptions //日期数据
126
-    };
129
+      pickerOptions, //日期数据
130
+    }
127 131
   },
128 132
   created() {
129
-    this.getAdvertisement(); //获取广告名称
133
+    this.getAdvertisement() //获取广告名称
130 134
   },
131 135
   methods: {
132 136
     //获取广告名称
133 137
     getAdvertisement() {
134
-      return new Promise(resolve => {
138
+      return new Promise((resolve) => {
135 139
         const params = {
136 140
           isleaf: true,
137
-          code: "MTGGMC"
138
-        };
139
-        getDictionaryValueList(params).then(response => {
141
+          code: "MTGGMC",
142
+        }
143
+        getDictionaryValueList(params).then((response) => {
140 144
           if (response.state.toLowerCase() === "success") {
141
-            this.advertisementList = response.data.Rows;
145
+            this.advertisementList = response.data.Rows
142 146
           }
143
-        });
144
-      });
147
+        })
148
+      })
145 149
     },
146
-    submit(){
147
-      if(!this.playPlanForm.advertisementName){
148
-        this.$message.error('请选择广告名称')
150
+    submit() {
151
+      if (!this.playPlanForm.advertisementName) {
152
+        this.$message.error("请选择广告名称")
149 153
         return
150 154
       }
151
-      return new Promise(resolve=>{
152
-        const params={
153
-          id:this.rowid,
154
-          F_Type:0,
155
-          F_StartTime:this.playPlanForm.startDate && this.playPlanForm.startDate[0],//开始时间
156
-          F_EndTime:this.playPlanForm.startDate[1] && this.playPlanForm.startDate[1],//开始时间
157
-          F_BroadcastTime:this.playPlanForm.BroadcastTime,//播放时间
158
-          F_PlayDate:this.playPlanForm.week.toString(),//播放时间
159
-          F_Name:this.playPlanForm.advertisementName,//广告名称
160
-          F_BroadcastDuration:this.playPlanForm.broadcost-0,//播出时长
161
-          F_PlayCount:this.playPlanForm.playNumber-0,//播放次数
162
-          F_State:this.playPlanForm.state,//状态
163
-          F_Describe:this.playPlanForm.explain,//播放说明
155
+      return new Promise((resolve) => {
156
+        const params = {
157
+          id: this.rowid,
158
+          F_Type: 0,
159
+          F_StartTime: this.playPlanForm.startDate && this.playPlanForm.startDate[0], //开始时间
160
+          F_EndTime: this.playPlanForm.startDate[1] && this.playPlanForm.startDate[1], //开始时间
161
+          F_BroadcastTime: this.playPlanForm.BroadcastTime, //播放时间
162
+          F_BroadcastEndTime: this.playPlanForm.BroadcastEndTime, //当天播放结束时间
163
+          F_PlayDate: this.playPlanForm.week.toString(), //播放时间
164
+          F_Name: this.playPlanForm.advertisementName, //广告名称
165
+          F_BroadcastDuration: this.playPlanForm.broadcost - 0, //播出时长
166
+          F_PlayCount: this.playPlanForm.playNumber - 0, //播放次数
167
+          F_State: this.playPlanForm.state, //状态
168
+          F_Describe: this.playPlanForm.explain, //播放说明
169
+          F_Mold: this.playPlanForm.Mold, //投放类型
164 170
         }
165
-        saveChange(params).then(response=>{
166
-          if(response.state.toLowerCase()=='success'){
167
-            this.$message.success('添加计划成功')
171
+        saveChange(params).then((response) => {
172
+          if (response.state.toLowerCase() == "success") {
173
+            this.$message.success("添加计划成功")
168 174
             this.$parent.$layer.close(this.layerid)
169 175
             this.$parent.getList()
170 176
           }
171 177
         })
172 178
       })
173 179
     },
174
-  }
175
-};
180
+  },
181
+}
176 182
 </script>
177 183
 <style lang="scss" scoped>
178
-</style>
184
+</style>

+ 24 - 15
CallCenterWeb.UI/src/views/mediaCenter/launchManagment/mediaInformation/manage.vue

@@ -48,9 +48,7 @@
48 48
         </el-col>
49 49
         <el-col :span="5">
50 50
           <el-form-item label="播出时间">
51
-            <!-- <el-time-picker is-range v-model="playPlanForm.BroadcastTime" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" value-format="HH:mm:ss"></el-time-picker> -->
52 51
             <el-time-picker value-format="HH:mm:ss" v-model="playPlanForm.BroadcastTime" type="date" placeholder="请选择开始时间"></el-time-picker>
53
-            <!-- <el-time-picker value-format="HH:mm:ss" v-model="playPlanForm.BroadcastTime" type="date" placeholder="请选择结束时间"></el-time-picker> -->
54 52
           </el-form-item>
55 53
         </el-col>
56 54
         <el-col :span="3">
@@ -75,7 +73,7 @@
75 73
           </el-form-item>
76 74
         </el-col>
77 75
         <el-col :span="4">
78
-          <el-form-item label="播出时长">
76
+          <el-form-item label="播出时长" prop="broadcost">
79 77
             <el-input v-model="playPlanForm.broadcost" placeholder="请输入播出时长" onkeyup="value=value.replace(/[^\d.]/g,'')"></el-input>
80 78
           </el-form-item>
81 79
         </el-col>
@@ -335,7 +333,7 @@ export default {
335 333
         advertisementName: "", //广告名称
336 334
         advertisementNameId: "", //广告名称id
337 335
         week: [], //选中天数
338
-        Mold: "", // 投放类型
336
+        Mold: "0", // 投放类型
339 337
       },
340 338
       renderForm: {
341 339
         ReminderTime: "", //提醒时间
@@ -388,6 +386,13 @@ export default {
388 386
             trigger: "change",
389 387
           },
390 388
         ],
389
+        broadcost: [
390
+          {
391
+            required: true,
392
+            message: "请输入播出时长",
393
+            trigger: "blur",
394
+          },
395
+        ],
391 396
       },
392 397
       rules3: {
393 398
         // F_ChangeType: [
@@ -485,6 +490,10 @@ export default {
485 490
         this.$message.error("请选择广告名称")
486 491
         return
487 492
       }
493
+      if (!this.playPlanForm.broadcost) {
494
+        this.$message.error("请输入播放时长")
495
+        return
496
+      }
488 497
       this.addPlayPlanForm.push({
489 498
         F_Type: 0,
490 499
         F_StartTime: this.playPlanForm.startDate && this.playPlanForm.startDate[0],
@@ -502,17 +511,17 @@ export default {
502 511
         F_Mold: this.playPlanForm.Mold, //投放类型
503 512
         key: Date.now(),
504 513
       })
505
-      this.playPlanForm = {
506
-        startDate: "", //计划时间
507
-        BroadcastTime: "", //当天播出时间
508
-        BroadcastEndTime: "", //当天播出结束时间
509
-        state: "", //状态
510
-        broadcost: "", //播出时长
511
-        playNumber: "", //播放次数
512
-        advertisementName: "", //广告名称
513
-        advertisementNameId: "", //广告名称id
514
-        week: [], //选中天数
515
-      }
514
+      // this.playPlanForm = {
515
+      //   startDate: "", //计划时间
516
+      //   BroadcastTime: "", //当天播出时间
517
+      //   BroadcastEndTime: "", //当天播出结束时间
518
+      //   state: "", //状态
519
+      //   broadcost: "", //播出时长
520
+      //   playNumber: "", //播放次数
521
+      //   advertisementName: "", //广告名称
522
+      //   advertisementNameId: "", //广告名称id
523
+      //   week: [], //选中天数
524
+      // }
516 525
     },
517 526
     //删除计划方法
518 527
     removePlan(itemId) {

+ 1 - 1
CallCenterWeb.UI/src/views/mediaCenter/mediaReport/returnVisitData/index.vue

@@ -191,7 +191,7 @@ export default {
191 191
       this.groupid = "" // 小组信息
192 192
       this.group = "" // 小组名称
193 193
     },
194
-    // 获取分派人员
194
+    // 获取用户
195 195
     getUserAccountListData() {
196 196
       this.loading = true
197 197
       return new Promise((resolve) => {

+ 26 - 6
CallCenterWeb.UI/src/views/telCall/numberTransferPool/distribution.vue

@@ -13,7 +13,20 @@
13 13
         </el-select>
14 14
       </el-form-item>
15 15
       <el-form-item label="部门" prop="F_DeptName">
16
-        <el-cascader ref="myCascader" v-model="parentids" :options="departmentDropDatas" :props="props" :placeholder="departmentPlaceholder" :class="{ form_cascader: is_form_cascader }" clearable filterable change-on-select style="width: 100%" @change="handledepartment" :disabled="deptNameDisabled" />
16
+        <el-cascader
17
+          ref="myCascader"
18
+          v-model="parentids"
19
+          :options="departmentDropDatas"
20
+          :props="props"
21
+          :placeholder="departmentPlaceholder"
22
+          :class="{ form_cascader: is_form_cascader }"
23
+          clearable
24
+          filterable
25
+          change-on-select
26
+          style="width: 100%"
27
+          @change="handledepartment"
28
+          :disabled="deptNameDisabled"
29
+        />
17 30
       </el-form-item>
18 31
       <el-form-item label="中心" prop="F_TeamName">
19 32
         <el-select v-model="ruleForm.F_TeamName" class="form_select" value-key="F_Id" filterable clearable placeholder="请选择中心" @change="handleteam" :disabled="teamNameDisabled">
@@ -83,8 +96,7 @@ export default {
83 96
         F_Handler: "", //分派人员
84 97
         F_Type: "1",
85 98
       },
86
-      rules: {
87
-      },
99
+      rules: {},
88 100
       loading: false,
89 101
       departmentDropDatas: [], // 下拉分类
90 102
       // 自定义菜单下拉数据的key值
@@ -100,7 +112,15 @@ export default {
100 112
     }
101 113
   },
102 114
   computed: {
103
-    ...mapGetters(["token", "avatar", "usercode", "groupId", "groupName"]),
115
+    ...mapGetters([
116
+      "token",
117
+      "avatar",
118
+      "usercode",
119
+      "groupId",
120
+      "groupName",
121
+      "teamName",
122
+      "teamId",
123
+    ]),
104 124
   },
105 125
   created() {
106 126
     this.getMediaList()
@@ -115,8 +135,8 @@ export default {
115 135
       console.log("this.groupName", this.groupName)
116 136
       this.deptNameDisabled = true
117 137
       this.teamNameDisabled = true
118
-      this.ruleForm.F_TeamName = this.groupName
119
-      this.ruleForm.F_Team = this.groupId
138
+      this.ruleForm.F_TeamName = this.teamName
139
+      this.ruleForm.F_Team = this.teamId
120 140
       this.getteamList()
121 141
     }
122 142
   },