cloud-web-corejs 1.0.54-dev.5 → 1.0.54-dev.50
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 +1 -1
- package/src/components/VabUpload/index.vue +2 -1
- package/src/components/VabUpload/mixins.js +1 -1
- package/src/components/VabUpload/view.vue +2 -1
- package/src/components/excelExport/exportFieldDialog.vue +211 -0
- package/src/components/excelExport/index.js +6 -5
- package/src/components/excelExport/index.vue +8 -5
- package/src/components/excelExport/mixins.js +4 -1
- package/src/components/excelImport/index.vue +2 -1
- package/src/components/excelImport/mixins.js +1 -1
- package/src/components/fileLibrary/fileObjAuthDialog.vue +125 -103
- package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -1
- package/src/components/fileLibrary/fileObjNotifyEdit.vue +192 -0
- package/src/components/fileLibrary/index.vue +2 -2
- package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +27 -7
- package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +4 -1
- package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +1 -1
- package/src/components/fileLibrary/mixins/indexMixins.js +40 -15
- package/src/components/onlineTalk/index.vue +327 -5
- package/src/components/onlineTalk/mixins.js +1 -1
- package/src/components/table/index.js +2 -1
- package/src/components/tempStorage/tempStorageDialog.vue +2 -2
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +1 -0
- package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +1 -0
- package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +2 -2
- package/src/components/xform/form-designer/form-widget/dialog/preformDialog.vue +2 -2
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +5 -4
- package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -2
- package/src/components/xform/form-designer/indexMixin.js +771 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +6 -3
- package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
- package/src/components/xform/form-render/indexMixin.js +1 -23
- package/src/layout/components/notify_message/unreadDialog.vue +2 -0
- package/src/mixins/selectDialog/index.js +1 -1
- package/src/store/config/index.js +1 -1
- package/src/utils/request.js +28 -28
- package/src/utils/vab.js +1 -1
- package/src/views/bd/setting/bd_attach_setting/edit.vue +1 -1
- package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +1 -1
- package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
- package/src/views/bd/setting/form_template/edit.vue +2 -2
- package/src/views/bd/setting/form_template/list.vue +4 -2
- package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +281 -0
- package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
- package/src/views/bd/setting/form_template/mixins/wf_list.js +436 -0
- package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
- package/src/views/bd/setting/form_template/wf_list.vue +127 -0
- package/src/views/bd/setting/menu_kind/authDialog.vue +1 -1
- package/src/views/bd/setting/menu_kind/mixins/authDialog.js +1 -1
- package/src/views/bd/setting/table_model/list.vue +4 -2
- package/src/views/user/area/dialog.vue +21 -8
- package/src/views/user/company_info/dialog.vue +17 -8
- package/src/views/user/company_info/edit.vue +9 -1
- package/src/views/user/file_type/edit.vue +30 -1
- package/src/views/user/file_type/list.vue +28 -0
- package/src/views/user/groups/edit.vue +2 -0
- package/src/views/user/groups/list.vue +1 -0
- package/src/views/user/home/index.vue +4 -2
- package/src/views/user/login/default.vue +4 -2
- package/src/views/user/outLink/view.vue +21 -0
- package/src/views/user/user/edit.vue +7 -7
- package/src/views/user/user/form_edit.vue +117 -49
- package/src/views/user/user/form_list.vue +1 -0
- package/src/views/user/wf/wf_obj_config/list.vue +30 -2
- package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -0
@@ -35,7 +35,7 @@
|
|
35
35
|
</label>
|
36
36
|
</el-popover>
|
37
37
|
<el-popover
|
38
|
-
:disabled="!value1 || cities.length==0"
|
38
|
+
:disabled="selectTopLevel || (!value1 || cities.length==0)"
|
39
39
|
placement="bottom"
|
40
40
|
width="486"
|
41
41
|
trigger="click"
|
@@ -55,7 +55,7 @@
|
|
55
55
|
</label>
|
56
56
|
</el-popover>
|
57
57
|
<el-popover
|
58
|
-
:disabled="!value2 || districts.length==0"
|
58
|
+
:disabled="selectTopLevel || (!value2 || districts.length==0)"
|
59
59
|
placement="bottom"
|
60
60
|
width="486"
|
61
61
|
trigger="click"
|
@@ -75,7 +75,7 @@
|
|
75
75
|
</label>
|
76
76
|
</el-popover>
|
77
77
|
<el-popover
|
78
|
-
:disabled="!value3 || counties.length == 0"
|
78
|
+
:disabled="selectTopLevel || (!value3 || counties.length == 0)"
|
79
79
|
placement="bottom"
|
80
80
|
width="486"
|
81
81
|
trigger="click"
|
@@ -107,7 +107,7 @@
|
|
107
107
|
@checkbox-all="checkAll"
|
108
108
|
@cell-dblclick="checkWithSubmit"
|
109
109
|
>
|
110
|
-
<template #form>
|
110
|
+
<template #form v-if="!(param && param.onlySearchTopLevel)">
|
111
111
|
<div class="clearfix screen-btns">
|
112
112
|
<div class="fr">
|
113
113
|
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
@@ -175,7 +175,7 @@ import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
|
|
175
175
|
|
176
176
|
export default {
|
177
177
|
name: 'areaDialog',
|
178
|
-
props: ['visiable', 'multi', 'rows', 'param'],
|
178
|
+
props: ['visiable', 'multi', 'rows', 'param', 'selectTopLevel'],
|
179
179
|
mixins: [selectDialogMixins],
|
180
180
|
created() {
|
181
181
|
this.initSetting();
|
@@ -329,7 +329,8 @@ export default {
|
|
329
329
|
url: USER_PREFIX + '/area/getChildren',
|
330
330
|
method: "post",
|
331
331
|
data: {
|
332
|
-
id: id
|
332
|
+
id: id,
|
333
|
+
enabled: true
|
333
334
|
},
|
334
335
|
success: res => {
|
335
336
|
// const {level} = node;
|
@@ -378,7 +379,8 @@ export default {
|
|
378
379
|
field: 'name',
|
379
380
|
width: 250,
|
380
381
|
fixed: 'left',
|
381
|
-
treeNode: true,
|
382
|
+
// treeNode: true,
|
383
|
+
treeNode: !(this.param && this.param.onlySearchTopLevel)
|
382
384
|
},
|
383
385
|
{
|
384
386
|
field: 'fullName',
|
@@ -396,7 +398,18 @@ export default {
|
|
396
398
|
checkboxConfig: {
|
397
399
|
checkStrictly: true,
|
398
400
|
showHeader: this.selectMulti,
|
399
|
-
trigger: 'row'
|
401
|
+
trigger: 'row',
|
402
|
+
checkMethod: ({row}) => {
|
403
|
+
if (this.selectTopLevel) {
|
404
|
+
if (row.parent) {
|
405
|
+
return false;
|
406
|
+
} else {
|
407
|
+
return true;
|
408
|
+
}
|
409
|
+
}
|
410
|
+
|
411
|
+
return true;
|
412
|
+
}
|
400
413
|
}
|
401
414
|
}
|
402
415
|
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<template>
|
2
2
|
<el-dialog
|
3
|
-
:title="$t1('组织列表')"
|
3
|
+
:title="title || $t1('组织列表')"
|
4
4
|
:append-to-body="true"
|
5
5
|
:modal-append-to-body="true"
|
6
6
|
:close-on-click-modal="falseValue"
|
@@ -8,6 +8,7 @@
|
|
8
8
|
:modal="falseValue"
|
9
9
|
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
10
|
width="1200px"
|
11
|
+
:before-close="handleBeforeClose"
|
11
12
|
@close="dialogClose"
|
12
13
|
v-el-drag-dialog
|
13
14
|
v-el-dialog-center
|
@@ -64,7 +65,7 @@
|
|
64
65
|
</div>
|
65
66
|
<span slot="footer" class="dialog-footer">
|
66
67
|
<span class="fl tips" v-if="!selectMulti">{{ $t1('注:双击确认选择(单选)') }}</span>
|
67
|
-
<el-button type="primary" plain class="button-sty" @click="
|
68
|
+
<el-button type="primary" plain class="button-sty" @click="dialogCancel">
|
68
69
|
<i class="el-icon-close el-icon"></i>
|
69
70
|
{{ $t1('取 消') }}
|
70
71
|
</el-button>
|
@@ -81,7 +82,7 @@ import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
|
|
81
82
|
|
82
83
|
export default {
|
83
84
|
name: 'company_info_dialog',
|
84
|
-
props: ['visiable', 'multi', 'rows', 'param', 'firstEnabled'],
|
85
|
+
props: ['title', 'visiable', 'multi', 'rows', 'param', 'firstEnabled', 'allCompany'],
|
85
86
|
mixins: [selectDialogMixins],
|
86
87
|
created() {
|
87
88
|
this.initSetting();
|
@@ -90,7 +91,6 @@ export default {
|
|
90
91
|
this.initTableM1();
|
91
92
|
},
|
92
93
|
data() {
|
93
|
-
var that = this;
|
94
94
|
return {
|
95
95
|
showDialog: true,
|
96
96
|
falseValue: false,
|
@@ -102,17 +102,26 @@ export default {
|
|
102
102
|
methods: {
|
103
103
|
initTableM1() {
|
104
104
|
let that = this;
|
105
|
+
let path = USER_PREFIX + '/user_company_info/getCurrentList';
|
106
|
+
let treeNodeUrl = USER_PREFIX + '/user_company_info/getChildren';
|
107
|
+
if (this.allCompany) {
|
108
|
+
path = USER_PREFIX + '/company_info/getRoot';
|
109
|
+
treeNodeUrl = USER_PREFIX + '/company_info/getChildren';
|
110
|
+
}
|
105
111
|
let tableOption = {
|
106
112
|
vue: that,
|
107
113
|
tableRef: 'table-m1',
|
108
114
|
tableName: 'basic_ompany_info_dialog_list',
|
109
|
-
path:
|
110
|
-
treeNodeUrl:
|
115
|
+
path: path,
|
116
|
+
treeNodeUrl: treeNodeUrl,
|
111
117
|
treeNodeParam: function (row) {
|
112
|
-
return {parentCompanyCode: row.companyCode};
|
118
|
+
return {enabled: true, parentCompanyCode: row.companyCode};
|
113
119
|
},
|
114
120
|
param: () => {
|
115
|
-
return
|
121
|
+
return {
|
122
|
+
enabled: true,
|
123
|
+
...this.formData
|
124
|
+
}
|
116
125
|
},
|
117
126
|
columns: [
|
118
127
|
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
@@ -45,11 +45,19 @@
|
|
45
45
|
<td>{{ companyInfo.companyCode }}</td>
|
46
46
|
</tr>
|
47
47
|
<tr>
|
48
|
+
<th>
|
49
|
+
{{ $t1('企业默认首页') }}
|
50
|
+
</th>
|
51
|
+
<td colspan="3">
|
52
|
+
<el-form-item prop="defaultHomePage" :rules="[{ required: false, trigger: 'blur' }]">
|
53
|
+
<el-input type="text" autocomplete="off" v-model="companyInfo.defaultHomePage" clearable/>
|
54
|
+
</el-form-item>
|
55
|
+
</td>
|
48
56
|
<th>
|
49
57
|
<em class="f-red">*</em>
|
50
58
|
{{ $t1('组织唯一标志') }}
|
51
59
|
</th>
|
52
|
-
<td colspan="
|
60
|
+
<td colspan="3">{{ companyInfo.uniqueIdentify }}</td>
|
53
61
|
</tr>
|
54
62
|
<tr>
|
55
63
|
<th>{{ $t1('备注') }}</th>
|
@@ -55,6 +55,30 @@
|
|
55
55
|
</el-radio-group>
|
56
56
|
</el-form-item>
|
57
57
|
</td>
|
58
|
+
<th>
|
59
|
+
<em class="f-red">*</em>
|
60
|
+
{{ $t1('文件操作,是否发系统通知') }}
|
61
|
+
</th>
|
62
|
+
<td>
|
63
|
+
<el-form-item prop="toNotify" :rules="[{ required: true, trigger: 'blur' }]">
|
64
|
+
<el-radio-group v-model="fileStoreArea.toNotify">
|
65
|
+
<el-radio :label="1">{{ $t1('是') }}</el-radio>
|
66
|
+
<el-radio :label="0">{{ $t1('否') }}</el-radio>
|
67
|
+
</el-radio-group>
|
68
|
+
</el-form-item>
|
69
|
+
</td>
|
70
|
+
<th>
|
71
|
+
<em class="f-red">*</em>
|
72
|
+
{{ $t1('文件下载,是否打水印') }}
|
73
|
+
</th>
|
74
|
+
<td>
|
75
|
+
<el-form-item prop="toDownWatermark" :rules="[{ required: true, trigger: 'blur' }]">
|
76
|
+
<el-radio-group v-model="fileStoreArea.toDownWatermark">
|
77
|
+
<el-radio :label="1">{{ $t1('是') }}</el-radio>
|
78
|
+
<el-radio :label="0">{{ $t1('否') }}</el-radio>
|
79
|
+
</el-radio-group>
|
80
|
+
</el-form-item>
|
81
|
+
</td>
|
58
82
|
</tr>
|
59
83
|
<tr>
|
60
84
|
<th>{{ $t1('备注') }}</th>
|
@@ -94,7 +118,12 @@ export default {
|
|
94
118
|
tabIndex: 0,
|
95
119
|
isEdit: false,
|
96
120
|
dataId: '',
|
97
|
-
fileStoreArea: {
|
121
|
+
fileStoreArea: {
|
122
|
+
storeAreaType: 0,
|
123
|
+
hasAuth: 0,
|
124
|
+
toNotify: 0,
|
125
|
+
toDownWatermark: 0
|
126
|
+
},
|
98
127
|
};
|
99
128
|
},
|
100
129
|
created() {
|
@@ -154,6 +154,34 @@ export default {
|
|
154
154
|
}
|
155
155
|
}
|
156
156
|
},
|
157
|
+
{
|
158
|
+
field: 'toNotify',
|
159
|
+
title: this.$t1('文件操作,是否发系统通知'),
|
160
|
+
width: 220,
|
161
|
+
slots: {
|
162
|
+
default: ({row}) => {
|
163
|
+
if (row.toNotify == 1) {
|
164
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
165
|
+
} else {
|
166
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
167
|
+
}
|
168
|
+
}
|
169
|
+
}
|
170
|
+
},
|
171
|
+
{
|
172
|
+
field: 'toDownWatermark',
|
173
|
+
title: this.$t1('文件下载,是否打水印'),
|
174
|
+
width: 200,
|
175
|
+
slots: {
|
176
|
+
default: ({row}) => {
|
177
|
+
if (row.toDownWatermark == 1) {
|
178
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
179
|
+
} else {
|
180
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
},
|
157
185
|
{
|
158
186
|
title: this.$t1('备注'),
|
159
187
|
field: 'note',
|
@@ -76,6 +76,7 @@ export default {
|
|
76
76
|
if (this.dataId && !isNaN(this.dataId)) {
|
77
77
|
this.isEdit = true;
|
78
78
|
this.$commonHttp({
|
79
|
+
aes:true,
|
79
80
|
url: USER_PREFIX + `/groups/get`,
|
80
81
|
method: `post`,
|
81
82
|
data: {
|
@@ -95,6 +96,7 @@ export default {
|
|
95
96
|
this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
|
96
97
|
var url = USER_PREFIX + (this.isEdit ? `/groups/update` : `/groups/save`);
|
97
98
|
this.$http({
|
99
|
+
aes:true,
|
98
100
|
url: url,
|
99
101
|
method: `post`,
|
100
102
|
data: this.groups,
|
@@ -21,6 +21,7 @@ export default {
|
|
21
21
|
flag: 0,
|
22
22
|
homeContent: null,
|
23
23
|
showHomeContent: false,
|
24
|
+
userInfo: {}
|
24
25
|
};
|
25
26
|
},
|
26
27
|
created() {
|
@@ -33,6 +34,7 @@ export default {
|
|
33
34
|
method: 'post',
|
34
35
|
success: res => {
|
35
36
|
let userInfo = res.objx;
|
37
|
+
this.userInfo = userInfo;
|
36
38
|
let flag = userInfo.flag;
|
37
39
|
if (flag !== 6 && flag !== 7 && flag !== 8) {
|
38
40
|
this.initHome();
|
@@ -72,8 +74,8 @@ export default {
|
|
72
74
|
if (menuUrl) {
|
73
75
|
url = menuUrl + '.vue';
|
74
76
|
} else {
|
75
|
-
let
|
76
|
-
url =
|
77
|
+
let defaultHomePage = this.userInfo.defaultHomePage;
|
78
|
+
url = defaultHomePage ? defaultHomePage : '@base/views/user/home/default.vue'
|
77
79
|
}
|
78
80
|
if (url.startsWith(str1)) {
|
79
81
|
let a = url.slice(str1.length);
|
@@ -59,8 +59,10 @@
|
|
59
59
|
</el-tabs>
|
60
60
|
</div>
|
61
61
|
<div class="tc copyright">
|
62
|
-
|
63
|
-
|
62
|
+
<slot name="footer">
|
63
|
+
© 广州同望科技发展有限公司
|
64
|
+
<span style="margin-left:50px;">4000646100</span>
|
65
|
+
</slot>
|
64
66
|
</div>
|
65
67
|
</div>
|
66
68
|
</template>
|
@@ -55,6 +55,25 @@ export default {
|
|
55
55
|
|
56
56
|
delete queryParam.urlmobile;
|
57
57
|
delete queryParam.url;
|
58
|
+
|
59
|
+
if(purl.indexOf('.html')>=0){
|
60
|
+
let eUrl = purl;
|
61
|
+
let pstr = Object.keys(queryParam).map(key=>{
|
62
|
+
return key+"="+queryParam[key]
|
63
|
+
}).join("&")
|
64
|
+
|
65
|
+
if(pstr){
|
66
|
+
if(purl.indexOf('.html?')>=0){
|
67
|
+
eUrl = eUrl+'&'+pstr
|
68
|
+
}else{
|
69
|
+
eUrl = eUrl+'?'+pstr
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
location.href = eUrl;
|
74
|
+
return
|
75
|
+
}
|
76
|
+
|
58
77
|
delete queryParam.dataId;
|
59
78
|
delete queryParam.showWfContent;
|
60
79
|
delete queryParam.access_token;
|
@@ -62,6 +81,8 @@ export default {
|
|
62
81
|
delete queryParam.thirdparty_info;
|
63
82
|
delete queryParam.i18nLang;
|
64
83
|
|
84
|
+
|
85
|
+
|
65
86
|
let url = purl + '.vue';
|
66
87
|
this.queryParam = queryParam;
|
67
88
|
this.showWfContent = true;
|
@@ -7,7 +7,7 @@
|
|
7
7
|
{{ dataId ? $t1('查看用户') : $t1('新增用户') }}
|
8
8
|
</div>
|
9
9
|
<div class="fr">
|
10
|
-
|
10
|
+
<temp-storage-button :option="tempStorageOption" v-if="!dataId"></temp-storage-button>
|
11
11
|
<base-input-export :option="exportOption" :parent-target="_self" v-if="dataId"/>
|
12
12
|
<el-button type="primary" plain class="button-sty" icon="el-icon-unlock" @click="unlock" v-if="user.locked"
|
13
13
|
v-hasPermi="'user:unlock'">{{ $t1('解锁') }}
|
@@ -136,14 +136,14 @@
|
|
136
136
|
<el-input size="small" v-model="user.email" maxlength="200" clearable/>
|
137
137
|
</el-form-item>
|
138
138
|
</td>
|
139
|
-
<th v-if="flag!=='2'">
|
139
|
+
<!-- <th v-if="flag!=='2'">
|
140
140
|
GUID
|
141
141
|
</th>
|
142
142
|
<td v-if="flag!=='2'">
|
143
143
|
<el-form-item prop="guid" :rules="[{ required: false, trigger: 'blur' }]">
|
144
144
|
<el-input size="small" v-model="user.guid" maxlength="200" clearable/>
|
145
145
|
</el-form-item>
|
146
|
-
</td
|
146
|
+
</td>-->
|
147
147
|
<th>{{ $t1('地址') }}</th>
|
148
148
|
<td colspan="3">
|
149
149
|
<el-input size="small" v-model="user.address" class="b" maxlength="255" clearable/>
|
@@ -215,7 +215,7 @@
|
|
215
215
|
</el-button>
|
216
216
|
</div>
|
217
217
|
<div class="title-form">
|
218
|
-
<span
|
218
|
+
<span>
|
219
219
|
<el-form-item label="GUID" :prop="'userCompanyInfoDTOs.'+index1+'.guid'"
|
220
220
|
:rules="[{ required: false, trigger: 'blur' }]">
|
221
221
|
<el-input size="small" v-model="item.guid" maxlength="200" clearable/>
|
@@ -297,7 +297,7 @@
|
|
297
297
|
|
298
298
|
<script>
|
299
299
|
import xeUtils from "xe-utils";
|
300
|
-
|
300
|
+
import tempStorageButton from "@base/components/tempStorage/index.vue";
|
301
301
|
|
302
302
|
|
303
303
|
export default {
|
@@ -307,8 +307,8 @@ export default {
|
|
307
307
|
companyDialog: () => import('../../../views/user/company_info/dialog.vue'),
|
308
308
|
saleOrgDialog: () => import('../../../views/user/sale_org/dialog.vue'),
|
309
309
|
positionDialog: () => import('../../../views/user/position/dialog.vue'),
|
310
|
-
countryDialog: () => import('../../../views/user/country/dialog.vue')
|
311
|
-
tempStorageButton
|
310
|
+
countryDialog: () => import('../../../views/user/country/dialog.vue'),
|
311
|
+
tempStorageButton
|
312
312
|
},
|
313
313
|
props: ['_dataId', 'userType', 'flag'],
|
314
314
|
data() {
|
@@ -116,6 +116,17 @@
|
|
116
116
|
</table>
|
117
117
|
</template>
|
118
118
|
</baseTabPane>
|
119
|
+
<baseTabPane :label="$t1('表单分类信息')">
|
120
|
+
<template #default>
|
121
|
+
<vxe-grid
|
122
|
+
ref="table-m1"
|
123
|
+
:data="menuKindAuthDTOs"
|
124
|
+
v-bind="vxeOption"
|
125
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
126
|
+
@custom="$vxeTableUtil.customHandle"
|
127
|
+
></vxe-grid>
|
128
|
+
</template>
|
129
|
+
</baseTabPane>
|
119
130
|
</baseTabs>
|
120
131
|
</el-form>
|
121
132
|
<groudDialog v-if="showGroupDialog" :visiable.sync="showGroupDialog"
|
@@ -126,6 +137,7 @@
|
|
126
137
|
<script>
|
127
138
|
import xeUtils from "xe-utils";
|
128
139
|
import groudDialog from "@base/views/user/groups/dialog.vue";
|
140
|
+
import {getBdEnv} from "@base/api/user";
|
129
141
|
|
130
142
|
export default {
|
131
143
|
name: 'UserEdit',
|
@@ -170,7 +182,6 @@ export default {
|
|
170
182
|
flag: 8,
|
171
183
|
groupCode: null
|
172
184
|
},
|
173
|
-
vxeOption: {},
|
174
185
|
companyInfoOption: {},
|
175
186
|
userRoleOption: {},
|
176
187
|
showRoleDialog: false,
|
@@ -218,7 +229,10 @@ export default {
|
|
218
229
|
showCountryDialog: false,
|
219
230
|
userInfo: {},
|
220
231
|
userGroups: [],
|
221
|
-
showGroupDialog: false
|
232
|
+
showGroupDialog: false,
|
233
|
+
vxeOption: {},
|
234
|
+
menuKindAuthDTOs: [],
|
235
|
+
isDev: true
|
222
236
|
};
|
223
237
|
},
|
224
238
|
computed: {
|
@@ -231,19 +245,19 @@ export default {
|
|
231
245
|
},
|
232
246
|
async mounted() {
|
233
247
|
|
234
|
-
// this.getEainsGroupDTO();
|
235
|
-
// await this.initOutUserRoleCode();
|
236
|
-
// await this.initDistributorRole();
|
237
248
|
this.getUserInfo()
|
238
249
|
this.getUserGroups()
|
239
250
|
this.getData();
|
240
251
|
this.getConpanyInfo()
|
252
|
+
await this.initBdEnv();
|
253
|
+
this.initTableM1();
|
241
254
|
},
|
242
255
|
methods: {
|
243
256
|
getData() {
|
244
257
|
if (this.dataId && !isNaN(this.dataId)) {
|
245
258
|
this.isEdit = true;
|
246
259
|
this.$commonHttp({
|
260
|
+
aes: true,
|
247
261
|
url: USER_PREFIX + `/user/get`,
|
248
262
|
method: `post`,
|
249
263
|
data: {
|
@@ -287,6 +301,7 @@ export default {
|
|
287
301
|
this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
|
288
302
|
var url = USER_PREFIX + (this.isEdit ? '/user/update' : '/user/save');
|
289
303
|
this.$http({
|
304
|
+
aes: true,
|
290
305
|
url: url,
|
291
306
|
method: `post`,
|
292
307
|
data: this.user,
|
@@ -317,6 +332,7 @@ export default {
|
|
317
332
|
getSaleOrgData() {
|
318
333
|
if (this.dataId) {
|
319
334
|
this.$http({
|
335
|
+
aes: true,
|
320
336
|
url: USER_PREFIX + '/user/getUserSaleOrg',
|
321
337
|
method: `post`,
|
322
338
|
data: {id: this.dataId},
|
@@ -337,6 +353,7 @@ export default {
|
|
337
353
|
getUserRoleData() {
|
338
354
|
if (this.dataId) {
|
339
355
|
this.$http({
|
356
|
+
aes: true,
|
340
357
|
url: USER_PREFIX + '/user/getUserRole',
|
341
358
|
method: `post`,
|
342
359
|
data: {id: this.dataId},
|
@@ -360,6 +377,7 @@ export default {
|
|
360
377
|
getCompanyInfoData(callback) {
|
361
378
|
if (this.dataId) {
|
362
379
|
this.$http({
|
380
|
+
aes: true,
|
363
381
|
url: USER_PREFIX + '/user/getUserCompanyInfo',
|
364
382
|
method: `post`,
|
365
383
|
data: {id: this.dataId},
|
@@ -409,6 +427,7 @@ export default {
|
|
409
427
|
},
|
410
428
|
getConpanyInfo() {
|
411
429
|
this.$http({
|
430
|
+
aes: true,
|
412
431
|
url: USER_PREFIX + '/company_info/getCurrent',
|
413
432
|
method: `post`,
|
414
433
|
isLoading: true,
|
@@ -431,53 +450,11 @@ export default {
|
|
431
450
|
addCurrentCompany(callback) {
|
432
451
|
this.confirmInsertCompany([this.companyInfo], callback);
|
433
452
|
},
|
434
|
-
initDistributorRole() {
|
435
|
-
if (this.outUserCodes && this.outUserCodes.length == 1) {
|
436
|
-
return this.$http({
|
437
|
-
url: USER_PREFIX + '/role/list',
|
438
|
-
method: 'post',
|
439
|
-
success: res => {
|
440
|
-
let roleList = res.objx || [];
|
441
|
-
let distributorCode = this.outUserCodes[0];
|
442
|
-
this.distributorRole = roleList.find(item => item.code == distributorCode);
|
443
|
-
}
|
444
|
-
});
|
445
|
-
}
|
446
|
-
},
|
447
|
-
async initOutUserRoleCode() {
|
448
|
-
//初始化外部用户编码
|
449
|
-
return this.$http({
|
450
|
-
url: USER_PREFIX + '/system_parameter/getByCode',
|
451
|
-
method: 'post',
|
452
|
-
data: {"code": "outUserRoleCode"},
|
453
|
-
success: res => {
|
454
|
-
let value = (!res.objx || !res.objx.value) ? "distributor" : res.objx.value;
|
455
|
-
let codes = value.split(',');
|
456
|
-
this.outUserCodes = codes;//外部用户编码
|
457
|
-
this.initRoleDialogParam();//初始化角色弹框的查询参数
|
458
|
-
}
|
459
|
-
});
|
460
|
-
},
|
461
|
-
initRoleDialogParam() {
|
462
|
-
//初始化角色弹框的查询参数
|
463
|
-
if (this.userType == 1) {
|
464
|
-
//企业用户
|
465
|
-
this.roleDialogParam = {
|
466
|
-
queryAll: true,
|
467
|
-
neCodes: [...this.outUserCodes]
|
468
|
-
};
|
469
|
-
} else if (this.userType == 2) {
|
470
|
-
//外部用户
|
471
|
-
this.roleDialogParam = {
|
472
|
-
queryAll: true,
|
473
|
-
eqCodes: [...this.outUserCodes]
|
474
|
-
};
|
475
|
-
}
|
476
|
-
},
|
477
453
|
unlock() {
|
478
454
|
this.$baseConfirm(this.$t1('您确定要解锁吗?')).then(() => {
|
479
455
|
var url = USER_PREFIX + '/user/unlockLoginAccount';
|
480
456
|
this.$http({
|
457
|
+
aes: true,
|
481
458
|
url: url,
|
482
459
|
method: `post`,
|
483
460
|
data: {
|
@@ -506,6 +483,7 @@ export default {
|
|
506
483
|
},
|
507
484
|
getUserInfo() {
|
508
485
|
return this.$http({
|
486
|
+
aes: true,
|
509
487
|
url: USER_PREFIX + '/user/currentUser',
|
510
488
|
method: 'post',
|
511
489
|
success: res => {
|
@@ -519,6 +497,7 @@ export default {
|
|
519
497
|
},
|
520
498
|
getUserGroups() {
|
521
499
|
return this.$http({
|
500
|
+
aes: true,
|
522
501
|
url: USER_PREFIX + '/groups/listPage',
|
523
502
|
method: 'post',
|
524
503
|
data: {},
|
@@ -526,7 +505,96 @@ export default {
|
|
526
505
|
this.userGroups = res.objx?.records || [];
|
527
506
|
}
|
528
507
|
});
|
529
|
-
}
|
508
|
+
},
|
509
|
+
initTableM1() {
|
510
|
+
const tableOption = {
|
511
|
+
vue: this,
|
512
|
+
tableRef: 'table-m1',
|
513
|
+
tableName: 'edit-user-menuKind-m1',
|
514
|
+
columns: [
|
515
|
+
{type: 'checkbox', fixed: 'left', width: 48, resizable: false},
|
516
|
+
{
|
517
|
+
title: this.$t1('表单分类名称'),
|
518
|
+
field: 'menuKindName',
|
519
|
+
width: 350,
|
520
|
+
fixed: 'left'
|
521
|
+
},
|
522
|
+
{
|
523
|
+
title: this.$t1('编辑'),
|
524
|
+
field: 'editAuth',
|
525
|
+
width: 150,
|
526
|
+
slots: {
|
527
|
+
default: ({row}) => {
|
528
|
+
if (row.editAuth) {
|
529
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
530
|
+
} else {
|
531
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
532
|
+
}
|
533
|
+
}
|
534
|
+
}
|
535
|
+
},
|
536
|
+
{
|
537
|
+
title: this.$t1('导出发布'),
|
538
|
+
field: 'exportAuth',
|
539
|
+
width: 150,
|
540
|
+
slots: {
|
541
|
+
default: ({row}) => {
|
542
|
+
if (row.exportAuth) {
|
543
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
544
|
+
} else {
|
545
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
546
|
+
}
|
547
|
+
}
|
548
|
+
}
|
549
|
+
},
|
550
|
+
...(this.isDev ? [{
|
551
|
+
title: this.$t1('可选导出发布类型'),
|
552
|
+
field: 'selectTypeAuth',
|
553
|
+
width: 200,
|
554
|
+
slots: {
|
555
|
+
default: ({row}) => {
|
556
|
+
if (row.selectTypeAuth) {
|
557
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
558
|
+
} else {
|
559
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
560
|
+
}
|
561
|
+
}
|
562
|
+
}
|
563
|
+
}] : []),
|
564
|
+
{
|
565
|
+
width: 47,
|
566
|
+
fixed: 'right',
|
567
|
+
title: '',
|
568
|
+
sortable: false
|
569
|
+
}
|
570
|
+
]
|
571
|
+
};
|
572
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
573
|
+
this.vxeOption = opts;
|
574
|
+
});
|
575
|
+
if (this.dataId) {
|
576
|
+
this.$http({
|
577
|
+
aes: true,
|
578
|
+
url: USER_PREFIX + `/menu_kind_auth/list`,
|
579
|
+
method: `post`,
|
580
|
+
data: {
|
581
|
+
userId: this.dataId
|
582
|
+
},
|
583
|
+
isLoading: true,
|
584
|
+
modalStrictly: true,
|
585
|
+
success: res => {
|
586
|
+
this.menuKindAuthDTOs = res.objx || [];
|
587
|
+
}
|
588
|
+
});
|
589
|
+
}
|
590
|
+
},
|
591
|
+
initBdEnv() {
|
592
|
+
return getBdEnv({
|
593
|
+
success: res => {
|
594
|
+
this.isDev = res.objx == "dev"
|
595
|
+
}
|
596
|
+
});
|
597
|
+
},
|
530
598
|
}
|
531
599
|
};
|
532
600
|
</script>
|