cloud-web-corejs 1.0.54-dev.316 → 1.0.54-dev.317

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.316",
4
+ "version": "1.0.54-dev.317",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -158,13 +158,11 @@ modules = {
158
158
 
159
159
 
160
160
  let condition = null;
161
- debugger
162
161
  if(this.option.customCondition){
163
162
  let condition1 = this.option.customCondition(item);
164
163
  if(condition1)condition = condition1;
165
164
  }
166
165
  if(!condition){
167
- debugger
168
166
  if ($grid) {
169
167
  checkRows = $grid.getCheckboxRecords(true);
170
168
  } else {
@@ -6,13 +6,13 @@
6
6
  <el-form-item label="表格唯一名称">
7
7
  <el-input v-model="optionModel.printTableRef"></el-input>
8
8
  </el-form-item>
9
- <el-form-item label="打印自定义条件参数">
9
+ <!-- <el-form-item label="打印自定义条件参数">
10
10
  <a href="javascript:void(0);" class="a-link link-oneLind"
11
11
  @click="editEventHandler('printCustomCondition', printConditionParams)">
12
12
  <span>{{ optionModel.printCustomCondition }}</span>
13
13
  <i class="el-icon-edit"></i>
14
14
  </a>
15
- </el-form-item>
15
+ </el-form-item> -->
16
16
  <el-form-item label="输出模板编码"></el-form-item>
17
17
  <el-form-item label-width="0">
18
18
  <draggable tag="ul" class="draggable-box" :list="optionModel.printItems"
@@ -54,7 +54,7 @@ export default {
54
54
  data() {
55
55
  return {
56
56
  eventParams: [],
57
- printConditionParams: ["dataId", "formCode", exportTemplate]
57
+ printConditionParams: ["dataId", "formCode", "exportTemplate"]
58
58
  };
59
59
  },
60
60
  methods: {
@@ -51,7 +51,7 @@ export default {
51
51
  data() {
52
52
  return {
53
53
  eventParams: [],
54
- printConditionParams: ["dataId", "formCode", exportTemplate]
54
+ printConditionParams: ["dataId", "formCode", "exportTemplate"]
55
55
  };
56
56
  },
57
57
  methods: {
@@ -1,582 +1,582 @@
1
- <template>
2
- <div id="containt">
3
- <el-tabs v-model="activeName" class="tab-box">
4
- <el-tab-pane :label="$t1('常规')" name="first">
5
- <editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :parent-target="_self"
6
- @reload="$reloadHandle" :userType="userType" :flag="flag"></editView>
7
- </el-tab-pane>
8
- <el-tab-pane :label="$t1('列表')" name="second">
9
- <div class="tree-box fl">
10
- <div class="tit" @click="clearNodeClick"><b>{{ $t1('机构分类') }}</b></div>
11
- <el-tree
12
- :props="defaultProps"
13
- :load="loadNode"
14
- node-key="id"
15
- ref="tree"
16
- highlight-current
17
- lazy
18
- :expand-on-click-node="false"
19
- @node-click="handleNodeClick"
20
- class="tree-list"
21
- icon-class="el-icon-arrow-down"
22
- ></el-tree>
23
- </div>
24
- <label id="labBtn">
25
- <div class="icon">
26
- <i class="el-icon-more"></i>
27
- <i class="el-icon-more"></i>
28
- </div>
29
- </label>
30
- <div class="main-right fr" style="padding-left:6px;">
31
- <div class="grid-height">
32
- <vxe-grid
33
- id="table-m1"
34
- ref="table-m1"
35
- :auto-resize="true"
36
- v-bind="vxeOption"
37
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
38
- @custom="$vxeTableUtil.customHandle"
39
- >
40
- <template #form>
41
- <tableForm :formData.sync="formData" :advancedFormData.sync="advancedFormData"
42
- @searchEvent="searchEvent" @resetEvent="resetEvent">
43
- <template #buttonLeft>
44
- <vxe-button status="primary" class="button-sty" icon="el-icon-plus" @click="openEditDialog">
45
- {{ $t1('新增') }}
46
- </vxe-button>
47
- <base-table-export :option="{ title: $t1('账户导出'), targetRef: 'table-m1'}"
48
- :parent-target="_self"/>
49
- <vxe-button status="primary" class="button-sty" icon="el-icon-download" @click="importExcel">
50
- {{ $t1('导入') }}
51
- </vxe-button>
52
- <base-input-export :option="exportOption" :parent-target="_self"/>
53
- </template>
54
- <template #buttonRight>
55
- <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
56
- plain>{{ $t1('重置') }}
57
- </vxe-button>
58
- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
59
- {{ $t1('搜索') }}
60
- </vxe-button>
61
- </template>
62
- </tableForm>
63
- </template>
64
- </vxe-grid>
65
- </div>
66
- </div>
67
- </el-tab-pane>
68
- </el-tabs>
69
- </div>
70
- </template>
71
-
72
- <script>
73
- import editView from './form_edit.vue';
74
- import {treeScollx} from '@base/utils/global.js';
75
- import tableForm from "@base/components/table/tableForm";
76
-
77
- export default {
78
- name: 'user:form_list',
79
- props: {
80
- userType: {
81
- type: Number
82
- },
83
- flag: String
84
- },
85
- components: {
86
- tableForm,
87
- editView: () => import('./edit.vue')
88
- },
89
- created() {
90
-
91
- },
92
- activated() {
93
- // this.initTableList();
94
- },
95
- async mounted() {
96
- treeScollx({target: this, type: 'default'});
97
- await this.initOutUserRoleCode();
98
- this.getRoleList();
99
- this.initTableList();
100
- },
101
- data() {
102
- return {
103
- exportOption: {
104
- prefix: USER_PREFIX,
105
- tableRef: 'table-m1',
106
- title: this.$t1('用户'),
107
- codes: ["USEREXCEL", "USERPDF", "USERPRINT", "USERHIPRINT", "USERJDPRINT", "USERPDDPRINT", "USERVIPPRINT"],
108
- onBeforePrint: (done, {etCode, etType}) => {
109
- /*etType: 2 菜鸟打印,3 网页打印,6 京东打印*/
110
- done();
111
- },
112
- onAfterPrint: ({etCode, etType}, close) => {
113
- /*etType: 2 菜鸟打印,3 网页打印,6 京东打印*/
114
- /*close();//关闭弹框*/
115
- }
116
- },
117
- printOption: {
118
- prefix: USER_PREFIX,
119
- tableRef: 'table-m1',
120
- param: {
121
- type: 'print',
122
- code: 'USERPRINT',
123
- param: 'tableDefault'
124
- }
125
- },
126
- showEdit: false,
127
- activeName: 'second',
128
- showUpload: true,
129
- uploadSize: 10,
130
- value10: '',
131
- dataId: '',
132
- tp: false,
133
- showUserDialog: false,
134
- nickName: 'dd',
135
- formData: {saleOrgName: null, roleCodes: []},
136
- vxeOption: {
137
- className: 'list-table'
138
- },
139
- defaultProps: {
140
- label: 'name', //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
141
- children: [],
142
- isLeaf: 'leaf'
143
- },
144
- showAdvancedSearch: false,
145
- advancedFormData: {},
146
- roleList: [],
147
- distributorCode: 'distributor',
148
- outUserCodes: []
149
- };
150
- },
151
- methods: {
152
- searchEvent() {
153
- this.$refs['table-m1'].commitProxy('reload');
154
- },
155
- resetEvent() {
156
- this.formData = {};
157
- this.advancedFormData = {};
158
- this.$refs.tree.setCurrentKey();
159
- this.$refs['table-m1'].commitProxy('reload');
160
- },
161
- openEditDialog(id) {
162
- this.dataId = !id || typeof id == 'object' ? 0 : id;
163
- this.activeName = 'first';
164
- this.$openEditView('showEdit');
165
- },
166
- clearNodeClick() {
167
- this.formData.saleOrgId = '';
168
- this.formData.saleOrgName = '';
169
- this.$refs.tree.setCurrentKey();
170
- this.searchEvent();
171
- },
172
- handleNodeClick(data, node, v) {
173
- this.$set(this.formData, 'saleOrgId', data.id);
174
- this.$set(this.formData, 'saleOrgName', data.name);
175
- this.$forceUpdate();
176
- this.searchEvent();
177
- },
178
- // 异步树叶子节点懒加载逻辑
179
- loadNode(node, resolve) {
180
- let id = node && node.data && node.data.id ? node.data.id || '' : '';
181
- let param = {enabled: true};
182
- let url = !id ? USER_PREFIX + '/sale_org/getAllList' : USER_PREFIX + '/sale_org/getChildren';
183
- this.$http({
184
- url: url,
185
- method: 'post',
186
- data: {
187
- parent: id,
188
- enabled: true
189
- },
190
- success: res => {
191
- res.objx.forEach(value => {
192
- value.leaf = !value.hasChild;
193
- });
194
- if (node.level === 0) {
195
- if (res.objx.length > 0 && res.objx[0].isParent) {
196
- this.$nextTick(() => {
197
- let nodedata = node.childNodes[0];
198
- nodedata.expanded = true;
199
- nodedata.loadData();
200
- });
201
- }
202
- }
203
- resolve(res.objx);
204
- }
205
- });
206
- },
207
- initTableList() {
208
- let otherColumns = [];
209
- let userType = this.userType
210
- if(userType==1){
211
-
212
- }else if(userType==2){
213
- otherColumns.push(...[
214
- {
215
- field: 'signatoryName',
216
- title: this.$t1('签约人'),
217
- width: 150
218
- },
219
- {
220
- field: 'signatoryMobile',
221
- title: this.$t1('签约人电话'),
222
- width: 150
223
- },
224
- ])
225
- }
226
- let tableOption = {
227
- vue: this,
228
- tableRef: 'table-m1',
229
- tableName: 'basic_user_list-m11',
230
- path: USER_PREFIX + '/user/listAllPage',
231
- param: () => {
232
- let formData = {
233
- ...this.formData,
234
- ...this.advancedFormData
235
- };
236
- let outUserCodes = this.outUserCodes;
237
- if (this.userType == 1) {
238
- //组织用户
239
- formData.neRoleCodes = [...outUserCodes];
240
- } else if (this.userType == 2) {
241
- //外部用户
242
- if (!formData.roleCodes || !formData.roleCodes.length) {
243
- formData.roleCodes = [...outUserCodes];
244
- }
245
- }
246
- return formData;
247
- },
248
- columns: [
249
- {
250
- type: 'checkbox',
251
- width: 48,
252
- resizable: false,
253
- fixed: 'left'
254
- },
255
- {
256
- title: this.$t1('登录名'),
257
- field: 'loginAccount',
258
- width: 250,
259
- fixed: 'left'
260
- },
261
- {
262
- field: 'nickName',
263
- title: this.$t1('姓名'),
264
- width: 150
265
- },
266
- {
267
- field: 'mobile',
268
- title: this.$t1('手机号'),
269
- width: 150
270
- },
271
- {
272
- width: 150,
273
- title: this.$t1('头像'),
274
- field: 'headPhotoUrl',
275
- sortable: false,
276
- slots: {
277
- default: ({row, rowIndex}) => {
278
- let option = {
279
- title: this.$t1('头像'),
280
- rows: row.headPhotoUrl,
281
- showViewButton: false
282
- };
283
- return [
284
- <base-attachment option={option}/>
285
- ]
286
- }
287
- }
288
- },
289
- {
290
- field: 'enabled',
291
- title: this.$t1('是否启用'),
292
- width: 150,
293
- slots: {
294
- default: ({row}) => {
295
- if (row.enabled) {
296
- return [<div class="txt-status">{this.$t1('启用')}</div>];
297
- } else {
298
- return [<div class="txt-status s-3">{this.$t1('禁用')}</div>];
299
- }
300
- }
301
- }
302
- },
303
- {
304
- field: 'roleNames',
305
- title: this.$t1('角色'),
306
- width: 150
307
- },
308
- {
309
- field: 'saleOrgNames',
310
- title: this.$t1('机构'),
311
- width: 150
312
- },
313
- {
314
- field: 'positionNames',
315
- title: this.$t1('岗位'),
316
- width: 150
317
- },
318
- {
319
- field: 'birth',
320
- title: this.$t1('出生日期'),
321
- width: 150,
322
- slots: {
323
- default: ({row}) => {
324
- var val = row.birth;
325
- if (val) {
326
- return val.substring(0, 10);
327
- }
328
- }
329
- }
330
- },
331
- {
332
- field: 'zipCode',
333
- title: this.$t1('邮编'),
334
- width: 150
335
- },
336
- {
337
- field: 'address',
338
- title: this.$t1('地址'),
339
- width: 150
340
- },
341
- {
342
- field: 'empNo',
343
- title: this.$t1('员工编码'),
344
- width: 150
345
- },
346
- {
347
- field: 'gender',
348
- title: this.$t1('性别'),
349
- width: 150,
350
- slots: {
351
- default: ({row}) => {
352
- var val = row.gender;
353
- if (val == 1) {
354
- return this.$t1('男');
355
- } else if (val == 2) {
356
- return this.$t1('女');
357
- }
358
- }
359
- }
360
- },
361
- {
362
- field: 'companyNames',
363
- title: this.$t1('所属组织'),
364
- width: 250
365
- },
366
- ...otherColumns,
367
- {
368
- field: 'createBy',
369
- title: this.$t1('创建人'),
370
- width: 150
371
- },
372
- {
373
- field: 'modifyBy',
374
- title: this.$t1('更新人'),
375
- width: 150
376
- },
377
- {
378
- field: 'modifyDate',
379
- title: this.$t1('更新时间'),
380
- width: 150
381
- },
382
- {
383
- field: 'createDate',
384
- title: this.$t1('创建时间'),
385
- width: 150
386
- },
387
- {
388
- width: 47,
389
- fixed: 'right',
390
- title: '',
391
- sortable: false,
392
- slots: {
393
- default: ({row}) => {
394
- return [
395
- <a
396
- href="javascript:void(0);"
397
- class="a-link"
398
- onclick={() => {
399
- this.openEditDialog(row.id);
400
- }}
401
- >
402
- <el-tooltip enterable={false} enterable={false} effect="dark" content={this.$t1('查看')}
403
- placement="top"
404
- popper-class="tooltip-skin">
405
- <i class="el-icon-edit"/>
406
- </el-tooltip>
407
- </a>
408
- ];
409
- }
410
- }
411
- }
412
- ],
413
- searchColumns: [
414
- {
415
- title: this.$t1('机构名称'),
416
- field: "saleOrgName",
417
- type: "input",
418
- common: true,
419
- disabled: true,
420
- defaultValueEnabled: false
421
- },
422
- {title: this.$t1('登录名'), field: "loginAccount", type: "input", common: true},
423
- {title: this.$t1('姓名'), field: "nickName", type: "input", common: true},
424
- {title: this.$t1('手机号'), field: "mobile", type: "input", common: true},
425
- {
426
- title: this.$t1('角色'),
427
- field: "roleCodes",
428
- type: "select",
429
- common: true,
430
- itemOption: [],
431
- multiple: true,
432
- syncHandle: () => {
433
- return this.getRoleList2()
434
- }
435
- },
436
- /*{
437
- title: "词汇", field: "dictSn", type: "select", common: true, itemOption: [], syncHandle: () => {
438
- return this.getDict()
439
- }
440
- },*/
441
- {title: this.$t1('登录名(批量)'), field: "loginAccounts", type: "inputBatch", common: false},
442
- {
443
- title: this.$t1('性别'), field: "gender", type: "select", common: false, itemOption: [
444
- {label: this.$t1('男'), value: 1},
445
- {label: this.$t1('女'), value: 2}
446
- ]
447
- },
448
- {title: this.$t1('邮编'), field: "zipCode", type: "input", common: false},
449
- {
450
- title: this.$t1('是否启用'), field: "enabled", type: "select", common: false, itemOption: [
451
- {label: this.$t1('启用'), value: true},
452
- {label: this.$t1('禁用'), value: false}
453
- ]
454
- }/*,
455
- {title: this.$t1('客户名称'), field: "customerName", type: "input", common: true, slot: "customerName"},
456
- {
457
- title: this.$t1('日期'),
458
- field: "startDate",
459
- field2: "endDate",
460
- type: "dateRange",
461
- common: true,
462
- widgetType: "date",
463
- valueFormat: "yyyy-MM-dd"
464
- },
465
- {title: this.$t1('年份'), field: "year", type: "date", common: true, widgetType: "year", valueFormat: "yyyy"},*/
466
- ],
467
- config: {
468
- pagerConfig: {
469
- pageSize: 500
470
- }
471
- }
472
- };
473
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
474
- this.vxeOption = opts;
475
- });
476
- /* this.$nextTick(() => {
477
- this.$refs['baseBillExport'].initExportData({
478
- target: this,
479
- btn: [{ code: 'USEREXCEL', name: '导出Excel(按模版)', type: 0 }, { code: 'USERPDF', name: '导出Pdf(按模版)', type: 1 }, { code: 'USERPRINT', name: '菜鸟打印', type: 2 }],
480
- param: item => {
481
- let checkRows = this.$refs['table-m1'].getCheckboxRecords(true);
482
- if (item.type != 2) {
483
- return checkRows.map(row => {
484
- return { id: row.id };
485
- });
486
- } else {
487
- let rows = checkRows.map(row => row.id);
488
- return rows.length ? { id: rows } : null;
489
- }
490
- }
491
- });
492
- }); */
493
- },
494
- importExcel() {
495
- let that = this;
496
- that.$excelImport({
497
- prefix: USER_PREFIX,
498
- excel: USER_PREFIX + '/excelTemplate/user/user.xlsx',
499
- multi: true,
500
- saveUrl: USER_PREFIX + '/user/batchImport',
501
- callback: () => {
502
- that.searchEvent();
503
- }
504
- });
505
- },
506
- getRoleList2() {
507
- return new Promise((resolve, reject) => {
508
- this.$http({
509
- url: USER_PREFIX + '/role/list',
510
- method: 'post',
511
- success: res => {
512
- let rows = res.objx || [];
513
- let outUserCodes = this.outUserCodes;
514
- if (this.userType == 1) {
515
- //组织用户
516
- rows = rows.filter(row => !outUserCodes.includes(row.code));
517
- } else if (this.userType == 2) {
518
- //外部用户
519
- rows = rows.filter(row => outUserCodes.includes(row.code));
520
- }
521
- let result = rows.map(row => {
522
- return {
523
- value: row.code,
524
- label: row.name
525
- }
526
- });
527
- resolve(result);
528
- }
529
- });
530
- });
531
- },
532
- getDict() {
533
- return new Promise((resolve, reject) => {
534
- this.$getBaseDicts({
535
- code: "orderType",
536
- success: ({dicts, dictMap}) => {
537
- let result = dicts.map(row => {
538
- return {
539
- value: row.sn,
540
- label: row.value
541
- }
542
- });
543
- resolve(result);
544
- }
545
- });
546
- });
547
-
548
- },
549
- getRoleList() {
550
- return this.$http({
551
- url: USER_PREFIX + '/role/list',
552
- method: 'post',
553
- success: res => {
554
- let rows = res.objx || [];
555
- let outUserCodes = this.outUserCodes;
556
- if (this.userType == 1) {
557
- //组织用户
558
- rows = rows.filter(row => !outUserCodes.includes(row.code));
559
- } else if (this.userType == 2) {
560
- //外部用户
561
- rows = rows.filter(row => outUserCodes.includes(row.code));
562
- }
563
- this.roleList = rows;
564
- return rows;
565
- }
566
- });
567
- },
568
- async initOutUserRoleCode() {
569
- return this.$http({
570
- url: USER_PREFIX + '/system_parameter/getByCode',
571
- method: 'post',
572
- data: {"code": "outUserRoleCode"},
573
- success: res => {
574
- let value = (!res.objx || !res.objx.value) ? "distributor" : res.objx.value;
575
- let codes = value.split(',');
576
- this.outUserCodes = codes;
577
- }
578
- });
579
- }
580
- }
581
- };
582
- </script>
1
+ <template>
2
+ <div id="containt">
3
+ <el-tabs v-model="activeName" class="tab-box">
4
+ <el-tab-pane :label="$t1('常规')" name="first">
5
+ <editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :parent-target="_self"
6
+ @reload="$reloadHandle" :userType="userType" :flag="flag"></editView>
7
+ </el-tab-pane>
8
+ <el-tab-pane :label="$t1('列表')" name="second">
9
+ <div class="tree-box fl">
10
+ <div class="tit" @click="clearNodeClick"><b>{{ $t1('机构分类') }}</b></div>
11
+ <el-tree
12
+ :props="defaultProps"
13
+ :load="loadNode"
14
+ node-key="id"
15
+ ref="tree"
16
+ highlight-current
17
+ lazy
18
+ :expand-on-click-node="false"
19
+ @node-click="handleNodeClick"
20
+ class="tree-list"
21
+ icon-class="el-icon-arrow-down"
22
+ ></el-tree>
23
+ </div>
24
+ <label id="labBtn">
25
+ <div class="icon">
26
+ <i class="el-icon-more"></i>
27
+ <i class="el-icon-more"></i>
28
+ </div>
29
+ </label>
30
+ <div class="main-right fr" style="padding-left:6px;">
31
+ <div class="grid-height">
32
+ <vxe-grid
33
+ id="table-m1"
34
+ ref="table-m1"
35
+ :auto-resize="true"
36
+ v-bind="vxeOption"
37
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
38
+ @custom="$vxeTableUtil.customHandle"
39
+ >
40
+ <template #form>
41
+ <tableForm :formData.sync="formData" :advancedFormData.sync="advancedFormData"
42
+ @searchEvent="searchEvent" @resetEvent="resetEvent">
43
+ <template #buttonLeft>
44
+ <vxe-button status="primary" class="button-sty" icon="el-icon-plus" @click="openEditDialog">
45
+ {{ $t1('新增') }}
46
+ </vxe-button>
47
+ <base-table-export :option="{ title: $t1('账户导出'), targetRef: 'table-m1'}"
48
+ :parent-target="_self"/>
49
+ <vxe-button status="primary" class="button-sty" icon="el-icon-download" @click="importExcel">
50
+ {{ $t1('导入') }}
51
+ </vxe-button>
52
+ <base-input-export :option="exportOption" :parent-target="_self"/>
53
+ </template>
54
+ <template #buttonRight>
55
+ <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
56
+ plain>{{ $t1('重置') }}
57
+ </vxe-button>
58
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
59
+ {{ $t1('搜索') }}
60
+ </vxe-button>
61
+ </template>
62
+ </tableForm>
63
+ </template>
64
+ </vxe-grid>
65
+ </div>
66
+ </div>
67
+ </el-tab-pane>
68
+ </el-tabs>
69
+ </div>
70
+ </template>
71
+
72
+ <script>
73
+ import editView from './form_edit.vue';
74
+ import {treeScollx} from '@base/utils/global.js';
75
+ import tableForm from "@base/components/table/tableForm";
76
+
77
+ export default {
78
+ name: 'user:form_list',
79
+ props: {
80
+ userType: {
81
+ type: Number
82
+ },
83
+ flag: String
84
+ },
85
+ components: {
86
+ tableForm,
87
+ editView: () => import('./edit.vue')
88
+ },
89
+ created() {
90
+
91
+ },
92
+ activated() {
93
+ // this.initTableList();
94
+ },
95
+ async mounted() {
96
+ treeScollx({target: this, type: 'default'});
97
+ await this.initOutUserRoleCode();
98
+ this.getRoleList();
99
+ this.initTableList();
100
+ },
101
+ data() {
102
+ return {
103
+ exportOption: {
104
+ prefix: USER_PREFIX,
105
+ tableRef: 'table-m1',
106
+ title: this.$t1('用户'),
107
+ codes: ["USEREXCEL", "USERPDF", "USERPRINT", "USERHIPRINT", "USERJDPRINT", "USERPDDPRINT", "USERVIPPRINT"],
108
+ onBeforePrint: (done, {etCode, etType}) => {
109
+ /*etType: 2 菜鸟打印,3 网页打印,6 京东打印*/
110
+ done();
111
+ },
112
+ onAfterPrint: ({etCode, etType}, close) => {
113
+ /*etType: 2 菜鸟打印,3 网页打印,6 京东打印*/
114
+ /*close();//关闭弹框*/
115
+ }
116
+ },
117
+ printOption: {
118
+ prefix: USER_PREFIX,
119
+ tableRef: 'table-m1',
120
+ param: {
121
+ type: 'print',
122
+ code: 'USERPRINT',
123
+ param: 'tableDefault'
124
+ }
125
+ },
126
+ showEdit: false,
127
+ activeName: 'second',
128
+ showUpload: true,
129
+ uploadSize: 10,
130
+ value10: '',
131
+ dataId: '',
132
+ tp: false,
133
+ showUserDialog: false,
134
+ nickName: 'dd',
135
+ formData: {saleOrgName: null, roleCodes: []},
136
+ vxeOption: {
137
+ className: 'list-table'
138
+ },
139
+ defaultProps: {
140
+ label: 'name', //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
141
+ children: [],
142
+ isLeaf: 'leaf'
143
+ },
144
+ showAdvancedSearch: false,
145
+ advancedFormData: {},
146
+ roleList: [],
147
+ distributorCode: 'distributor',
148
+ outUserCodes: []
149
+ };
150
+ },
151
+ methods: {
152
+ searchEvent() {
153
+ this.$refs['table-m1'].commitProxy('reload');
154
+ },
155
+ resetEvent() {
156
+ this.formData = {};
157
+ this.advancedFormData = {};
158
+ this.$refs.tree.setCurrentKey();
159
+ this.$refs['table-m1'].commitProxy('reload');
160
+ },
161
+ openEditDialog(id) {
162
+ this.dataId = !id || typeof id == 'object' ? 0 : id;
163
+ this.activeName = 'first';
164
+ this.$openEditView('showEdit');
165
+ },
166
+ clearNodeClick() {
167
+ this.formData.saleOrgId = '';
168
+ this.formData.saleOrgName = '';
169
+ this.$refs.tree.setCurrentKey();
170
+ this.searchEvent();
171
+ },
172
+ handleNodeClick(data, node, v) {
173
+ this.$set(this.formData, 'saleOrgId', data.id);
174
+ this.$set(this.formData, 'saleOrgName', data.name);
175
+ this.$forceUpdate();
176
+ this.searchEvent();
177
+ },
178
+ // 异步树叶子节点懒加载逻辑
179
+ loadNode(node, resolve) {
180
+ let id = node && node.data && node.data.id ? node.data.id || '' : '';
181
+ let param = {enabled: true};
182
+ let url = !id ? USER_PREFIX + '/sale_org/getAllList' : USER_PREFIX + '/sale_org/getChildren';
183
+ this.$http({
184
+ url: url,
185
+ method: 'post',
186
+ data: {
187
+ parent: id,
188
+ enabled: true
189
+ },
190
+ success: res => {
191
+ res.objx.forEach(value => {
192
+ value.leaf = !value.hasChild;
193
+ });
194
+ if (node.level === 0) {
195
+ if (res.objx.length > 0 && res.objx[0].isParent) {
196
+ this.$nextTick(() => {
197
+ let nodedata = node.childNodes[0];
198
+ nodedata.expanded = true;
199
+ nodedata.loadData();
200
+ });
201
+ }
202
+ }
203
+ resolve(res.objx);
204
+ }
205
+ });
206
+ },
207
+ initTableList() {
208
+ let otherColumns = [];
209
+ let userType = this.userType
210
+ if(userType==1){
211
+
212
+ }else if(userType==2){
213
+ otherColumns.push(...[
214
+ {
215
+ field: 'signatoryName',
216
+ title: this.$t1('签约人'),
217
+ width: 150
218
+ },
219
+ {
220
+ field: 'signatoryMobile',
221
+ title: this.$t1('签约人电话'),
222
+ width: 150
223
+ },
224
+ ])
225
+ }
226
+ let tableOption = {
227
+ vue: this,
228
+ tableRef: 'table-m1',
229
+ tableName: 'basic_user_list-m11',
230
+ path: USER_PREFIX + '/user/listAllPage',
231
+ param: () => {
232
+ let formData = {
233
+ ...this.formData,
234
+ ...this.advancedFormData
235
+ };
236
+ let outUserCodes = this.outUserCodes;
237
+ if (this.userType == 1) {
238
+ //组织用户
239
+ formData.neRoleCodes = [...outUserCodes];
240
+ } else if (this.userType == 2) {
241
+ //外部用户
242
+ if (!formData.roleCodes || !formData.roleCodes.length) {
243
+ formData.roleCodes = [...outUserCodes];
244
+ }
245
+ }
246
+ return formData;
247
+ },
248
+ columns: [
249
+ {
250
+ type: 'checkbox',
251
+ width: 48,
252
+ resizable: false,
253
+ fixed: 'left'
254
+ },
255
+ {
256
+ title: this.$t1('登录名'),
257
+ field: 'loginAccount',
258
+ width: 250,
259
+ fixed: 'left'
260
+ },
261
+ {
262
+ field: 'nickName',
263
+ title: this.$t1('姓名'),
264
+ width: 150
265
+ },
266
+ {
267
+ field: 'mobile',
268
+ title: this.$t1('手机号'),
269
+ width: 150
270
+ },
271
+ {
272
+ width: 150,
273
+ title: this.$t1('头像'),
274
+ field: 'headPhotoUrl',
275
+ sortable: false,
276
+ slots: {
277
+ default: ({row, rowIndex}) => {
278
+ let option = {
279
+ title: this.$t1('头像'),
280
+ rows: row.headPhotoUrl,
281
+ showViewButton: false
282
+ };
283
+ return [
284
+ <base-attachment option={option}/>
285
+ ]
286
+ }
287
+ }
288
+ },
289
+ {
290
+ field: 'enabled',
291
+ title: this.$t1('是否启用'),
292
+ width: 150,
293
+ slots: {
294
+ default: ({row}) => {
295
+ if (row.enabled) {
296
+ return [<div class="txt-status">{this.$t1('启用')}</div>];
297
+ } else {
298
+ return [<div class="txt-status s-3">{this.$t1('禁用')}</div>];
299
+ }
300
+ }
301
+ }
302
+ },
303
+ {
304
+ field: 'roleNames',
305
+ title: this.$t1('角色'),
306
+ width: 150
307
+ },
308
+ {
309
+ field: 'saleOrgNames',
310
+ title: this.$t1('机构'),
311
+ width: 150
312
+ },
313
+ {
314
+ field: 'positionNames',
315
+ title: this.$t1('岗位'),
316
+ width: 150
317
+ },
318
+ {
319
+ field: 'birth',
320
+ title: this.$t1('出生日期'),
321
+ width: 150,
322
+ slots: {
323
+ default: ({row}) => {
324
+ var val = row.birth;
325
+ if (val) {
326
+ return val.substring(0, 10);
327
+ }
328
+ }
329
+ }
330
+ },
331
+ {
332
+ field: 'zipCode',
333
+ title: this.$t1('邮编'),
334
+ width: 150
335
+ },
336
+ {
337
+ field: 'address',
338
+ title: this.$t1('地址'),
339
+ width: 150
340
+ },
341
+ {
342
+ field: 'empNo',
343
+ title: this.$t1('员工编码'),
344
+ width: 150
345
+ },
346
+ {
347
+ field: 'gender',
348
+ title: this.$t1('性别'),
349
+ width: 150,
350
+ slots: {
351
+ default: ({row}) => {
352
+ var val = row.gender;
353
+ if (val == 1) {
354
+ return this.$t1('男');
355
+ } else if (val == 2) {
356
+ return this.$t1('女');
357
+ }
358
+ }
359
+ }
360
+ },
361
+ {
362
+ field: 'companyNames',
363
+ title: this.$t1('所属组织'),
364
+ width: 250
365
+ },
366
+ ...otherColumns,
367
+ {
368
+ field: 'createBy',
369
+ title: this.$t1('创建人'),
370
+ width: 150
371
+ },
372
+ {
373
+ field: 'modifyBy',
374
+ title: this.$t1('更新人'),
375
+ width: 150
376
+ },
377
+ {
378
+ field: 'modifyDate',
379
+ title: this.$t1('更新时间'),
380
+ width: 150
381
+ },
382
+ {
383
+ field: 'createDate',
384
+ title: this.$t1('创建时间'),
385
+ width: 150
386
+ },
387
+ {
388
+ width: 47,
389
+ fixed: 'right',
390
+ title: '',
391
+ sortable: false,
392
+ slots: {
393
+ default: ({row}) => {
394
+ return [
395
+ <a
396
+ href="javascript:void(0);"
397
+ class="a-link"
398
+ onclick={() => {
399
+ this.openEditDialog(row.id);
400
+ }}
401
+ >
402
+ <el-tooltip enterable={false} enterable={false} effect="dark" content={this.$t1('查看')}
403
+ placement="top"
404
+ popper-class="tooltip-skin">
405
+ <i class="el-icon-edit"/>
406
+ </el-tooltip>
407
+ </a>
408
+ ];
409
+ }
410
+ }
411
+ }
412
+ ],
413
+ searchColumns: [
414
+ {
415
+ title: this.$t1('机构名称'),
416
+ field: "saleOrgName",
417
+ type: "input",
418
+ common: true,
419
+ disabled: true,
420
+ defaultValueEnabled: false
421
+ },
422
+ {title: this.$t1('登录名'), field: "loginAccount", type: "input", common: true},
423
+ {title: this.$t1('姓名'), field: "nickName", type: "input", common: true},
424
+ {title: this.$t1('手机号'), field: "mobile", type: "input", common: true},
425
+ {
426
+ title: this.$t1('角色'),
427
+ field: "roleCodes",
428
+ type: "select",
429
+ common: true,
430
+ itemOption: [],
431
+ multiple: true,
432
+ syncHandle: () => {
433
+ return this.getRoleList2()
434
+ }
435
+ },
436
+ /*{
437
+ title: "词汇", field: "dictSn", type: "select", common: true, itemOption: [], syncHandle: () => {
438
+ return this.getDict()
439
+ }
440
+ },*/
441
+ {title: this.$t1('登录名(批量)'), field: "loginAccounts", type: "inputBatch", common: false},
442
+ {
443
+ title: this.$t1('性别'), field: "gender", type: "select", common: false, itemOption: [
444
+ {label: this.$t1('男'), value: 1},
445
+ {label: this.$t1('女'), value: 2}
446
+ ]
447
+ },
448
+ {title: this.$t1('邮编'), field: "zipCode", type: "input", common: false},
449
+ {
450
+ title: this.$t1('是否启用'), field: "enabled", type: "select", common: false, itemOption: [
451
+ {label: this.$t1('启用'), value: true},
452
+ {label: this.$t1('禁用'), value: false}
453
+ ]
454
+ }/*,
455
+ {title: this.$t1('客户名称'), field: "customerName", type: "input", common: true, slot: "customerName"},
456
+ {
457
+ title: this.$t1('日期'),
458
+ field: "startDate",
459
+ field2: "endDate",
460
+ type: "dateRange",
461
+ common: true,
462
+ widgetType: "date",
463
+ valueFormat: "yyyy-MM-dd"
464
+ },
465
+ {title: this.$t1('年份'), field: "year", type: "date", common: true, widgetType: "year", valueFormat: "yyyy"},*/
466
+ ],
467
+ config: {
468
+ pagerConfig: {
469
+ pageSize: 500
470
+ }
471
+ }
472
+ };
473
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
474
+ this.vxeOption = opts;
475
+ });
476
+ /* this.$nextTick(() => {
477
+ this.$refs['baseBillExport'].initExportData({
478
+ target: this,
479
+ btn: [{ code: 'USEREXCEL', name: '导出Excel(按模版)', type: 0 }, { code: 'USERPDF', name: '导出Pdf(按模版)', type: 1 }, { code: 'USERPRINT', name: '菜鸟打印', type: 2 }],
480
+ param: item => {
481
+ let checkRows = this.$refs['table-m1'].getCheckboxRecords(true);
482
+ if (item.type != 2) {
483
+ return checkRows.map(row => {
484
+ return { id: row.id };
485
+ });
486
+ } else {
487
+ let rows = checkRows.map(row => row.id);
488
+ return rows.length ? { id: rows } : null;
489
+ }
490
+ }
491
+ });
492
+ }); */
493
+ },
494
+ importExcel() {
495
+ let that = this;
496
+ that.$excelImport({
497
+ prefix: USER_PREFIX,
498
+ excel: USER_PREFIX + '/excelTemplate/user/user.xlsx',
499
+ multi: true,
500
+ saveUrl: USER_PREFIX + '/user/batchImport',
501
+ callback: () => {
502
+ that.searchEvent();
503
+ }
504
+ });
505
+ },
506
+ getRoleList2() {
507
+ return new Promise((resolve, reject) => {
508
+ this.$http({
509
+ url: USER_PREFIX + '/role/list',
510
+ method: 'post',
511
+ success: res => {
512
+ let rows = res.objx || [];
513
+ let outUserCodes = this.outUserCodes;
514
+ if (this.userType == 1) {
515
+ //组织用户
516
+ rows = rows.filter(row => !outUserCodes.includes(row.code));
517
+ } else if (this.userType == 2) {
518
+ //外部用户
519
+ rows = rows.filter(row => outUserCodes.includes(row.code));
520
+ }
521
+ let result = rows.map(row => {
522
+ return {
523
+ value: row.code,
524
+ label: row.name
525
+ }
526
+ });
527
+ resolve(result);
528
+ }
529
+ });
530
+ });
531
+ },
532
+ getDict() {
533
+ return new Promise((resolve, reject) => {
534
+ this.$getBaseDicts({
535
+ code: "orderType",
536
+ success: ({dicts, dictMap}) => {
537
+ let result = dicts.map(row => {
538
+ return {
539
+ value: row.sn,
540
+ label: row.value
541
+ }
542
+ });
543
+ resolve(result);
544
+ }
545
+ });
546
+ });
547
+
548
+ },
549
+ getRoleList() {
550
+ return this.$http({
551
+ url: USER_PREFIX + '/role/list',
552
+ method: 'post',
553
+ success: res => {
554
+ let rows = res.objx || [];
555
+ let outUserCodes = this.outUserCodes;
556
+ if (this.userType == 1) {
557
+ //组织用户
558
+ rows = rows.filter(row => !outUserCodes.includes(row.code));
559
+ } else if (this.userType == 2) {
560
+ //外部用户
561
+ rows = rows.filter(row => outUserCodes.includes(row.code));
562
+ }
563
+ this.roleList = rows;
564
+ return rows;
565
+ }
566
+ });
567
+ },
568
+ async initOutUserRoleCode() {
569
+ return this.$http({
570
+ url: USER_PREFIX + '/system_parameter/getByCode',
571
+ method: 'post',
572
+ data: {"code": "outUserRoleCode"},
573
+ success: res => {
574
+ let value = (!res.objx || !res.objx.value) ? "distributor" : res.objx.value;
575
+ let codes = value.split(',');
576
+ this.outUserCodes = codes;
577
+ }
578
+ });
579
+ }
580
+ }
581
+ };
582
+ </script>