|
@@ -189,13 +189,23 @@
|
189
|
189
|
</el-drawer>
|
190
|
190
|
|
191
|
191
|
<!-- S 信息绑定 - 弹框 -->
|
192
|
|
- <member-info-bind
|
|
192
|
+ <memberInfoBind
|
193
|
193
|
:dialogVisible="infoBindDialogVisible"
|
194
|
194
|
:userInfo="currentBindInfo"
|
195
|
195
|
@cancel="handleInfoBindCancel"
|
196
|
196
|
@confirm="handleInfoBindConfirm"
|
197
|
197
|
/>
|
198
|
198
|
<!-- E 信息绑定 - 弹框 -->
|
|
199
|
+
|
|
200
|
+ <!-- S 分配许可 - 弹框 -->
|
|
201
|
+ <assignDialog
|
|
202
|
+ :dialogVisible="assignDialogVisible"
|
|
203
|
+ :userInfo="currentAssignInfo"
|
|
204
|
+ :waitForAssignNum="waitForAssignNum"
|
|
205
|
+ @cancel="handleAssignCancel"
|
|
206
|
+ @confirm="handleAssignConfirm"
|
|
207
|
+ />
|
|
208
|
+ <!-- E 分配许可 - 弹框 -->
|
199
|
209
|
</div>
|
200
|
210
|
</template>
|
201
|
211
|
|
|
@@ -205,6 +215,7 @@ import userDetail from './userDetail/index.vue'
|
205
|
215
|
import memberInfoBind from './memberComp/memberInfoBind.vue'
|
206
|
216
|
import selfCustomerservice from '@/components/assembly/screen/customerService.vue'
|
207
|
217
|
import batchAssign from './memberComp/batchAssign.vue'
|
|
218
|
+import assignDialog from './memberComp/assignDialog.vue'
|
208
|
219
|
import { orderTypeOptions } from '@/assets/js/staticTypes'
|
209
|
220
|
|
210
|
221
|
const orderTypeDesc = new Map([
|
|
@@ -226,6 +237,7 @@ export default {
|
226
|
237
|
memberInfoBind,
|
227
|
238
|
selfCustomerservice,
|
228
|
239
|
batchAssign,
|
|
240
|
+ assignDialog,
|
229
|
241
|
},
|
230
|
242
|
data () {
|
231
|
243
|
return {
|
|
@@ -260,6 +272,9 @@ export default {
|
260
|
272
|
activeStatusOptions: Object.freeze(activeStatusOptions), // 激活状态选项
|
261
|
273
|
|
262
|
274
|
waitForAssignNum: 0, // 待分配许可数
|
|
275
|
+ assignDialogVisible: false, // 控制“分配许可”弹框显示
|
|
276
|
+ currentAssignInfo: {}, // 当前需要分配许可的成员信息
|
|
277
|
+
|
263
|
278
|
}
|
264
|
279
|
},
|
265
|
280
|
computed: {
|
|
@@ -272,6 +287,7 @@ export default {
|
272
|
287
|
this.height = document.documentElement.clientHeight - 200 > 400 ? document.documentElement.clientHeight - 200 : 400
|
273
|
288
|
this.init_depart()
|
274
|
289
|
this.init(1)
|
|
290
|
+ this.handleGetWaitForAssignNum()
|
275
|
291
|
},
|
276
|
292
|
methods: {
|
277
|
293
|
detailEvent (data) {
|
|
@@ -287,6 +303,7 @@ export default {
|
287
|
303
|
inputChange (keyword) {
|
288
|
304
|
this.keyword = keyword
|
289
|
305
|
this.init(1, keyword)
|
|
306
|
+ this.handleGetWaitForAssignNum()
|
290
|
307
|
},
|
291
|
308
|
init_depart () {
|
292
|
309
|
this.$axios.get(this.URL.BASEURL + this.URL.departmentList, {}).then((res) => {
|
|
@@ -358,6 +375,7 @@ export default {
|
358
|
375
|
},
|
359
|
376
|
handleCurrentChange (val) {
|
360
|
377
|
this.init(val, this.keyword)
|
|
378
|
+ this.handleGetWaitForAssignNum()
|
361
|
379
|
},
|
362
|
380
|
checkDepartId (id) {
|
363
|
381
|
if (this.checkVals.indexOf(id) == -1) {
|
|
@@ -366,6 +384,7 @@ export default {
|
366
|
384
|
this.checkVals.splice(this.checkVals.indexOf(id), 1)
|
367
|
385
|
}
|
368
|
386
|
this.init(1, this.keyword)
|
|
387
|
+ this.handleGetWaitForAssignNum()
|
369
|
388
|
},
|
370
|
389
|
|
371
|
390
|
async onClickInfoBind({ name = '', user_id = '', account_id = '' }) {
|
|
@@ -397,6 +416,7 @@ export default {
|
397
|
416
|
handleInfoBindConfirm() {
|
398
|
417
|
this.infoBindDialogVisible = false
|
399
|
418
|
this.init(undefined, this.keyword)
|
|
419
|
+ this.handleGetWaitForAssignNum()
|
400
|
420
|
},
|
401
|
421
|
getOrderTypeDesc(type) {
|
402
|
422
|
return orderTypeDesc.get(String(type)) || '-'
|
|
@@ -405,27 +425,73 @@ export default {
|
405
|
425
|
onChangeUserIds(val) {
|
406
|
426
|
this.user_ids = val ? val : []
|
407
|
427
|
this.init(1, this.keyword)
|
|
428
|
+ this.handleGetWaitForAssignNum()
|
408
|
429
|
},
|
409
|
430
|
// 监听激活状态变化
|
410
|
431
|
onChangeActiveStatus(val) {
|
411
|
432
|
this.is_active = val
|
412
|
433
|
this.init(1, this.keyword)
|
|
434
|
+ this.handleGetWaitForAssignNum()
|
413
|
435
|
},
|
414
|
436
|
|
415
|
|
- // 监听点击“转移许可”
|
416
|
|
- onClickTransfer(current) {
|
417
|
|
- console.log('onClickTransfer => ', JSON.parse(JSON.stringify(current)))
|
|
437
|
+ // 获取“待分配许可数”
|
|
438
|
+ handleGetWaitForAssignNum() {
|
|
439
|
+ return new Promise(async (resolve, reject) => {
|
|
440
|
+ try {
|
|
441
|
+ this.loading = true
|
|
442
|
+ const url = `${this.URL.BASEURL}${this.URL.member_licenseCount}`
|
|
443
|
+ const params = {
|
|
444
|
+ corpid: this.$localSelfStore.getLocal('defaultCorp') && this.$localSelfStore.getLocal('defaultCorp') != 'undefined' ? JSON.parse(this.$localSelfStore.getLocal('defaultCorp')).corpid : '',
|
|
445
|
+ }
|
|
446
|
+ const { data: res = {} } = await this.$axios.get(url, { params })
|
|
447
|
+ if (res && res.errno == 0) {
|
|
448
|
+ this.waitForAssignNum = res.rst.count
|
|
449
|
+ this.waitForAssignNum = parseInt(Math.random() * 100) // mock
|
|
450
|
+ resolve(this.waitForAssignNum)
|
|
451
|
+ } else if (res.errno != 4002) {
|
|
452
|
+ this.$message.warning(res.err)
|
|
453
|
+ this.waitForAssignNum = 0
|
|
454
|
+ reject(this.waitForAssignNum)
|
|
455
|
+ }
|
|
456
|
+ } catch (error) {
|
|
457
|
+ console.log('error => ', error)
|
|
458
|
+ this.waitForAssignNum = 0
|
|
459
|
+ reject(this.waitForAssignNum)
|
|
460
|
+ } finally {
|
|
461
|
+ this.loading = false
|
|
462
|
+ }
|
|
463
|
+ })
|
418
|
464
|
},
|
419
|
465
|
// 监听点击“分配许可”
|
420
|
|
- onClickAssign(current) {
|
|
466
|
+ async onClickAssign(current) {
|
421
|
467
|
console.log('onClickAssign => ', JSON.parse(JSON.stringify(current)))
|
422
|
|
- this.$refs.batchAssign.handleReset()
|
|
468
|
+ this.currentAssignInfo = {...current}
|
|
469
|
+ const num = await this.handleGetWaitForAssignNum()
|
|
470
|
+ if (!num) return this.$message.warning('暂无待分配许可')
|
|
471
|
+ this.assignDialogVisible = true
|
|
472
|
+ },
|
|
473
|
+ // 执行分配许可 => 取消
|
|
474
|
+ handleAssignCancel() {
|
|
475
|
+ this.currentAssignInfo = {}
|
|
476
|
+ this.assignDialogVisible = false
|
|
477
|
+ },
|
|
478
|
+ // 执行分配许可 => 确定
|
|
479
|
+ handleAssignConfirm() {
|
|
480
|
+ this.assignDialogVisible = false
|
|
481
|
+ this.init(undefined, this.keyword)
|
|
482
|
+ this.handleGetWaitForAssignNum()
|
|
483
|
+ },
|
|
484
|
+ // 监听点击“转移许可”
|
|
485
|
+ onClickTransfer(current) {
|
|
486
|
+ console.log('onClickTransfer => ', JSON.parse(JSON.stringify(current)))
|
423
|
487
|
},
|
424
|
488
|
// 监听“批量分配许可”变化
|
425
|
489
|
onChangeBatchAssign(val) {
|
426
|
490
|
console.log('onChangeBatchAssign => ', val)
|
427
|
491
|
this.init(undefined, this.keyword)
|
|
492
|
+ this.handleGetWaitForAssignNum()
|
428
|
493
|
},
|
|
494
|
+
|
429
|
495
|
}
|
430
|
496
|
}
|
431
|
497
|
</script>
|