cloud-web-corejs 1.0.54-dev.11 → 1.0.54-dev.112
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 +9 -3
- package/src/components/Qrcode/fileParse.vue +0 -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 +16 -6
- package/src/components/excelExport/index.js +2 -1
- package/src/components/excelExport/index.vue +8 -6
- package/src/components/excelExport/mixins.js +1 -2
- package/src/components/excelImport/index.vue +2 -1
- package/src/components/excelImport/mixins.js +1 -1
- package/src/components/fileLibrary/fileObjAuthDialog.vue +1 -1
- package/src/components/fileLibrary/fileObjAuthEditDialog.vue +1 -1
- package/src/components/fileLibrary/fileObjNotifyEdit.vue +90 -68
- package/src/components/fileLibrary/filterDialog.vue +383 -0
- package/src/components/fileLibrary/index.vue +23 -24
- package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
- package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
- package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
- package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +15 -10
- package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +8 -5
- package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +5 -5
- package/src/components/fileLibrary/mixins/indexMixins.js +76 -26
- package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +63 -3
- package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +1 -1
- package/src/components/fileLibrary/propertiesDialog.vue +18 -0
- package/src/components/fileLibrary/shareDialog.vue +1 -1
- package/src/components/jsonImport/mixins.js +1 -1
- 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/wf/wf.js +1763 -1
- package/src/components/wf/wfStartDialog.vue +1 -1
- package/src/components/wf/wfUtil.js +279 -1
- package/src/components/xform/form-designer/designer.js +1514 -1
- 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/importDialog.vue +35 -5
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
- package/src/components/xform/form-designer/form-widget/dialog/preformDialog.vue +2 -2
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +11 -5
- package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -2
- package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +6 -2
- package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
- package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +989 -1
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +26 -2
- package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +79 -0
- package/src/components/xform/form-designer/indexMixin.js +771 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +59 -36
- package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +6 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +14 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +20 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
- package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
- package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +3 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
- package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +76 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +242 -27
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +110 -145
- package/src/components/xform/form-render/container-item/data-table-item.vue +5 -4
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
- package/src/components/xform/form-render/indexMixin.js +1723 -1
- package/src/components/xform/mixins/defaultHandle.js +123 -1
- package/src/components/xform/utils/emitter.js +4 -4
- package/src/components/xform/utils/util.js +1631 -1
- package/src/layout/components/Sidebar/default.vue +18 -6
- package/src/layout/components/TagsView/index.vue +0 -1
- package/src/mixins/selectDialog/index.js +1 -1
- package/src/router/modules/customer.js +15 -0
- package/src/store/config/index.js +664 -1
- package/src/store/modules/permission.js +1 -1
- package/src/store/modules/user.js +1 -1
- package/src/utils/index.js +4 -2
- package/src/utils/pddLog.js +103 -0
- package/src/utils/request.js +28 -28
- package/src/utils/vab.js +1 -1
- package/src/views/bd/setting/form_import_log/edit.vue +120 -0
- package/src/views/bd/setting/form_import_log/list.vue +195 -0
- package/src/views/bd/setting/form_script/mixins/edit.js +166 -1
- package/src/views/bd/setting/form_script/mixins/edit1.js +164 -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/editWfObjConfigDialog.vue +2 -2
- package/src/views/bd/setting/form_template/list.vue +4 -2
- package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
- package/src/views/bd/setting/form_template/mixins/edit.js +170 -1
- package/src/views/bd/setting/form_template/mixins/list.js +1 -1
- package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -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/mixins/authDialog.js +1 -256
- package/src/views/bd/setting/menu_kind/mixins/list.js +176 -1
- package/src/views/bd/setting/table_model/edit.vue +6 -4
- package/src/views/bd/setting/table_model/list.vue +4 -2
- package/src/views/bd/setting/table_model/mixins/edit.js +765 -1
- package/src/views/bd/setting/table_model/mixins/list.js +14 -14
- package/src/views/user/area/dialog.vue +21 -9
- package/src/views/user/bill_setting/edit.vue +1 -1
- package/src/views/user/bill_setting/list.vue +1 -1
- package/src/views/user/common_attribute/itemEdit.vue +2 -2
- package/src/views/user/common_attribute/list.vue +1 -1
- package/src/views/user/common_script/edit.vue +1 -1
- package/src/views/user/common_script/list.vue +1 -1
- package/src/views/user/company_info/dialog.vue +19 -9
- package/src/views/user/company_info/edit.vue +1 -1
- package/src/views/user/extend_datasource/dialog.vue +1 -0
- package/src/views/user/extend_datasource/edit.vue +3 -0
- package/src/views/user/extend_datasource/list.vue +2 -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/dev.vue +29 -0
- package/src/views/user/home/index.vue +16 -6
- package/src/views/user/login/default.vue +4 -2
- package/src/views/user/login/index2.vue +131 -0
- package/src/views/user/outLink/form_view.vue +39 -12
- package/src/views/user/outLink/index.vue +17 -0
- package/src/views/user/outLink/view.vue +39 -13
- package/src/views/user/push_setting/list.vue +2 -2
- package/src/views/user/user/edit.vue +9 -9
- package/src/views/user/user/form_edit.vue +117 -49
- package/src/views/user/user/form_info.vue +210 -0
- package/src/views/user/user/form_list.vue +1 -0
- package/src/views/user/user/list.vue +3 -3
- package/src/views/user/wf/wf_manage/list.vue +1 -1
- package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
- package/src/views/user/wf/wf_obj_config/list.vue +19 -3
- package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -0
@@ -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,38 +82,47 @@ 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() {
|
88
|
+
if (this.$attrs.fieldKey) this.fieldKey = this.$attrs.fieldKey;
|
87
89
|
this.initSetting();
|
88
90
|
},
|
89
91
|
mounted() {
|
90
92
|
this.initTableM1();
|
91
93
|
},
|
92
94
|
data() {
|
93
|
-
var that = this;
|
94
95
|
return {
|
95
96
|
showDialog: true,
|
96
97
|
falseValue: false,
|
97
98
|
selectMulti: true,
|
98
99
|
formData: {},
|
99
|
-
vxeOption: {}
|
100
|
+
vxeOption: {},
|
100
101
|
};
|
101
102
|
},
|
102
103
|
methods: {
|
103
104
|
initTableM1() {
|
104
105
|
let that = this;
|
106
|
+
let path = USER_PREFIX + '/user_company_info/getCurrentList';
|
107
|
+
let treeNodeUrl = USER_PREFIX + '/user_company_info/getChildren';
|
108
|
+
if (this.allCompany) {
|
109
|
+
path = USER_PREFIX + '/company_info/getRoot';
|
110
|
+
treeNodeUrl = USER_PREFIX + '/company_info/getChildren';
|
111
|
+
}
|
105
112
|
let tableOption = {
|
106
113
|
vue: that,
|
107
114
|
tableRef: 'table-m1',
|
108
115
|
tableName: 'basic_ompany_info_dialog_list',
|
109
|
-
path:
|
110
|
-
treeNodeUrl:
|
116
|
+
path: path,
|
117
|
+
treeNodeUrl: treeNodeUrl,
|
111
118
|
treeNodeParam: function (row) {
|
112
|
-
return {parentCompanyCode: row.companyCode};
|
119
|
+
return {enabled: true, parentCompanyCode: row.companyCode};
|
113
120
|
},
|
114
121
|
param: () => {
|
115
|
-
return
|
122
|
+
return {
|
123
|
+
enabled: true,
|
124
|
+
...this.formData
|
125
|
+
}
|
116
126
|
},
|
117
127
|
columns: [
|
118
128
|
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
@@ -168,6 +168,7 @@ export default {
|
|
168
168
|
if (this.dataId && !isNaN(this.dataId)) {
|
169
169
|
this.isEdit = true;
|
170
170
|
this.$http({
|
171
|
+
aes: true,
|
171
172
|
url: USER_PREFIX + `/extend_datasource/get`,
|
172
173
|
method: `post`,
|
173
174
|
data: {
|
@@ -189,6 +190,7 @@ export default {
|
|
189
190
|
if (valid) {
|
190
191
|
this.$baseConfirm(this.$t1('您确定要测试数据库链接吗?')).then(() => {
|
191
192
|
this.$http({
|
193
|
+
aes: true,
|
192
194
|
url: USER_PREFIX + '/extend_datasource/dblinktest',
|
193
195
|
method: `post`,
|
194
196
|
data: this.dataSource,
|
@@ -211,6 +213,7 @@ export default {
|
|
211
213
|
this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
|
212
214
|
var url = USER_PREFIX + (this.isEdit ? `/extend_datasource/update` : `/extend_datasource/save`);
|
213
215
|
this.$http({
|
216
|
+
aes: true,
|
214
217
|
url: url,
|
215
218
|
method: `post`,
|
216
219
|
data: this.dataSource,
|
@@ -72,7 +72,7 @@
|
|
72
72
|
import editView from './edit.vue';
|
73
73
|
|
74
74
|
export default {
|
75
|
-
name: '
|
75
|
+
name: 'extend_datasource:list',
|
76
76
|
components: {editView},
|
77
77
|
data() {
|
78
78
|
return {
|
@@ -106,6 +106,7 @@ export default {
|
|
106
106
|
tableRef: 'table-m1',
|
107
107
|
tableName: 'user_report_datasource_list-m1',
|
108
108
|
path: USER_PREFIX + '/extend_datasource/listPage',
|
109
|
+
aes: true,
|
109
110
|
param: () => {
|
110
111
|
return this.formData;
|
111
112
|
},
|
@@ -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,
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<template>
|
2
|
+
<div id="containt" class="index-home-sys">
|
3
|
+
<i class="iconfont icon-a-kaifa1"></i>
|
4
|
+
<span>{{$t1('开发管理平台')}}</span>
|
5
|
+
</div>
|
6
|
+
</template>
|
7
|
+
|
8
|
+
<script>
|
9
|
+
|
10
|
+
export default {
|
11
|
+
data() {
|
12
|
+
return {
|
13
|
+
}
|
14
|
+
},
|
15
|
+
methods: {
|
16
|
+
}
|
17
|
+
|
18
|
+
};
|
19
|
+
</script>
|
20
|
+
<style scoped lang="scss">
|
21
|
+
.index-home-sys{
|
22
|
+
background-color: #DEE9F2 !important;margin-top: 10px !important;height: calc(100vh - 52px);border-radius: 12px !important;text-align: center;line-height: calc(100vh - 60px);letter-spacing: 2px;
|
23
|
+
font-size: 48px;font-weight: 600;
|
24
|
+
i{vertical-align: middle;font-weight: 400;margin-right: 24px;color:#225076;font-size:48px;}
|
25
|
+
span{position: relative;
|
26
|
+
&:before{content: "";position: absolute;bottom:0;left:0;width: 223px;height: 16px;background: #96B4CD;z-index: -1;opacity: 0.8;}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
</style>
|
@@ -36,9 +36,7 @@ export default {
|
|
36
36
|
let userInfo = res.objx;
|
37
37
|
this.userInfo = userInfo;
|
38
38
|
let flag = userInfo.flag;
|
39
|
-
|
40
|
-
this.initHome();
|
41
|
-
}
|
39
|
+
this.initHome();
|
42
40
|
}
|
43
41
|
});
|
44
42
|
},
|
@@ -59,6 +57,15 @@ export default {
|
|
59
57
|
});
|
60
58
|
},
|
61
59
|
initHome() {
|
60
|
+
let url = null;
|
61
|
+
let userInfo = this.userInfo;
|
62
|
+
let flag = userInfo.flag;
|
63
|
+
if (flag == 6 || flag == 7 || flag == 8) {
|
64
|
+
let url = '/user/home/dev.vue'
|
65
|
+
this.homeContent = require('@base/views' + url).default;
|
66
|
+
this.showHomeContent = true;
|
67
|
+
return
|
68
|
+
}
|
62
69
|
this.$http({
|
63
70
|
url: USER_PREFIX + '/menu/currentList',
|
64
71
|
data: {},
|
@@ -68,17 +75,20 @@ export default {
|
|
68
75
|
let homeMenu = menus.find(menu => menu.type == 2 && menu.enabled);
|
69
76
|
let menuUrl = homeMenu?.url;
|
70
77
|
|
78
|
+
let userInfo = this.userInfo;
|
79
|
+
let flag = userInfo.flag;
|
80
|
+
|
71
81
|
let str1 = "@base/views";
|
72
82
|
let str2 = "@/views";
|
73
|
-
|
74
|
-
if (menuUrl) {
|
83
|
+
|
84
|
+
if (menuUrl && flag !== 1) {
|
85
|
+
//超级管理员不使用角色首页
|
75
86
|
url = menuUrl + '.vue';
|
76
87
|
} else {
|
77
88
|
let defaultHomePage = this.userInfo.defaultHomePage;
|
78
89
|
url = defaultHomePage ? defaultHomePage : '@base/views/user/home/default.vue'
|
79
90
|
}
|
80
91
|
if (url.startsWith(str1)) {
|
81
|
-
let a = url.slice(str1.length);
|
82
92
|
this.homeContent = require('@base/views' + url.slice(str1.length)).default;
|
83
93
|
} else if (url.startsWith(str2)) {
|
84
94
|
this.homeContent = require('@/views' + url.slice(str2.length)).default;
|
@@ -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>
|
@@ -0,0 +1,131 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="login-container" :class="backgroundClass" ref="login-container" v-show="showContent">
|
3
|
+
<div class="login-main" style="height: auto;">
|
4
|
+
<el-tabs v-model="activeName">
|
5
|
+
<el-tab-pane label="账号登录" name="first">
|
6
|
+
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="box-form login" autocomplete="on"
|
7
|
+
label-position="left">
|
8
|
+
<el-form-item prop="username" class="txt">
|
9
|
+
<span class="svg-container"><i class="el-icon-user"/></span>
|
10
|
+
<el-input ref="username" v-model="loginForm.username" placeholder="请输入用户名" name="" type="text"
|
11
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
12
|
+
</el-form-item>
|
13
|
+
<el-tooltip :enterable="false" v-model="capsTooltip" content="Caps lock is On" placement="right" manual>
|
14
|
+
<el-form-item prop="password" class="txt">
|
15
|
+
<span class="svg-container"><i class="el-icon-lock"/></span>
|
16
|
+
<el-input
|
17
|
+
:key="passwordType"
|
18
|
+
ref="password"
|
19
|
+
v-model="loginForm.password"
|
20
|
+
:type="passwordType"
|
21
|
+
placeholder="请输入密码"
|
22
|
+
name=""
|
23
|
+
tabindex="2"
|
24
|
+
autocomplete="on"
|
25
|
+
auto-complete="new-password"
|
26
|
+
@keyup.native="checkCapslock"
|
27
|
+
@blur="capsTooltip = false"
|
28
|
+
@keyup.enter.native="handleLogin"
|
29
|
+
/>
|
30
|
+
<span class="show-pwd" @click="showPwd"><svg-icon
|
31
|
+
:icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"/></span>
|
32
|
+
</el-form-item>
|
33
|
+
</el-tooltip>
|
34
|
+
<div class="">
|
35
|
+
<el-checkbox v-model="isRememberPassword">记住密码</el-checkbox>
|
36
|
+
</div>
|
37
|
+
<el-button :loading="loading" type="primary" @click.prevent.stop="handleLogin" class="btn">登录</el-button>
|
38
|
+
</el-form>
|
39
|
+
</el-tab-pane>
|
40
|
+
<el-tab-pane label="手机验证码登录" name="second">
|
41
|
+
<el-form ref="loginForm" :model="loginForm2" :rules="loginRules" class="box-form login" autocomplete="on"
|
42
|
+
label-position="left">
|
43
|
+
<el-form-item prop="username" class="txt" style="width:66%">
|
44
|
+
<span class="svg-container"><i class="el-icon-mobile-phone"/></span>
|
45
|
+
<el-input ref="mobile" v-model="loginForm2.username" placeholder="请输入手机号" name="" type="text"
|
46
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
47
|
+
</el-form-item>
|
48
|
+
<el-button class="btn-send" type="success" :class="{'gray-btn':isCounting}" @click="sendCode">
|
49
|
+
{{ buttonText }}
|
50
|
+
</el-button>
|
51
|
+
<el-form-item prop="smsCode" class="txt">
|
52
|
+
<span class="svg-container"><i class="el-icon-message"/></span>
|
53
|
+
<el-input ref="smsCode" v-model="loginForm2.smsCode" placeholder="请输入验证码" name="" type="text"
|
54
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
55
|
+
</el-form-item>
|
56
|
+
<el-button :loading="loading" type="primary" @click.prevent.stop="handleLogin" class="btn">登录</el-button>
|
57
|
+
</el-form>
|
58
|
+
</el-tab-pane>
|
59
|
+
</el-tabs>
|
60
|
+
</div>
|
61
|
+
<div class="tc copyright">
|
62
|
+
<slot name="footer">
|
63
|
+
© 广州同望科技发展有限公司
|
64
|
+
<span style="margin-left:50px;">4000646100</span>
|
65
|
+
</slot>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</template>
|
69
|
+
|
70
|
+
<script>
|
71
|
+
import mixin from "@base/views/user/login/indexMixin";
|
72
|
+
|
73
|
+
export default {
|
74
|
+
name: 'Login',
|
75
|
+
mixins: [mixin]
|
76
|
+
}
|
77
|
+
</script>
|
78
|
+
<style lang="scss" scoped>
|
79
|
+
@import '@/resources/css/login.scss';
|
80
|
+
|
81
|
+
.login-container.tc {
|
82
|
+
background: url(~@/resources/images/bg-login5.jpg) center center/cover no-repeat;
|
83
|
+
}
|
84
|
+
|
85
|
+
.login-container.chigo {
|
86
|
+
background: url(~@/resources/images/bg-login6.jpg) center center/cover no-repeat;
|
87
|
+
}
|
88
|
+
|
89
|
+
.login-container.pcp {
|
90
|
+
background: url(~@/resources/images/bg-login8.jpg) center center/cover no-repeat;
|
91
|
+
}
|
92
|
+
|
93
|
+
.el-select-dropdown {
|
94
|
+
right: 5px;
|
95
|
+
top: 25px;
|
96
|
+
}
|
97
|
+
|
98
|
+
::v-deep .login-main .el-tabs__header {
|
99
|
+
margin-bottom: 0;
|
100
|
+
|
101
|
+
.el-tabs__nav {
|
102
|
+
line-height: 65px;
|
103
|
+
margin: 0 25px;
|
104
|
+
width: calc(100% - 50px);
|
105
|
+
|
106
|
+
.el-tabs__item {
|
107
|
+
font-size: 18px;
|
108
|
+
width: 50%;
|
109
|
+
text-align: center;
|
110
|
+
margin-right: 0;
|
111
|
+
padding-right: 0 !important;
|
112
|
+
line-height: 65px;
|
113
|
+
height: 65px;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
.btn-send {
|
119
|
+
position: absolute;
|
120
|
+
margin-top: -74px;
|
121
|
+
right: 35px;
|
122
|
+
height: 52px;
|
123
|
+
width: 27%;
|
124
|
+
|
125
|
+
&.gray-btn {
|
126
|
+
background: #dedede;
|
127
|
+
border-color: #dedede;
|
128
|
+
color: #8a8686;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
</style>
|
@@ -64,6 +64,25 @@ export default {
|
|
64
64
|
|
65
65
|
delete queryParam.urlmobile;
|
66
66
|
delete queryParam.url;
|
67
|
+
|
68
|
+
if (purl.indexOf('.html') >= 0) {
|
69
|
+
let eUrl = purl;
|
70
|
+
let pstr = Object.keys(queryParam).map(key => {
|
71
|
+
return key + "=" + queryParam[key]
|
72
|
+
}).join("&")
|
73
|
+
|
74
|
+
if (pstr) {
|
75
|
+
if (purl.indexOf('.html?') >= 0) {
|
76
|
+
eUrl = eUrl + '&' + pstr
|
77
|
+
} else {
|
78
|
+
eUrl = eUrl + '?' + pstr
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
location.href = eUrl;
|
83
|
+
return
|
84
|
+
}
|
85
|
+
|
67
86
|
delete queryParam.dataId;
|
68
87
|
delete queryParam.showWfContent;
|
69
88
|
delete queryParam.access_token;
|
@@ -74,7 +93,6 @@ export default {
|
|
74
93
|
let url = purl + '.vue';
|
75
94
|
this.queryParam = queryParam;
|
76
95
|
this.showWfContent = true;
|
77
|
-
await this.initI18n();
|
78
96
|
// this.wfContent = require('@/views' + url).default;
|
79
97
|
let t = "@base/views";
|
80
98
|
let urlArr = [
|
@@ -82,25 +100,34 @@ export default {
|
|
82
100
|
'/user/form/view/list.vue',
|
83
101
|
'/user/form/view/edit.vue'
|
84
102
|
]
|
85
|
-
|
86
|
-
this.
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
103
|
+
this.initUserInfo(() => {
|
104
|
+
this.initI18n();
|
105
|
+
if (urlArr.includes(url)) {
|
106
|
+
this.wfContent = require('@base/views' + url).default;
|
107
|
+
} else if (url.startsWith(t)) {
|
108
|
+
let path = url.slice(t.length);
|
109
|
+
this.wfContent = require('@base/views' + path).default;
|
110
|
+
} else {
|
111
|
+
this.wfContent = require('@/views' + url).default;
|
112
|
+
}
|
113
|
+
})
|
114
|
+
},
|
115
|
+
initUserInfo(callback) {
|
116
|
+
this.$store
|
117
|
+
.dispatch('user/getInfo2')
|
118
|
+
.then(() => {
|
119
|
+
callback && callback();
|
120
|
+
});
|
94
121
|
},
|
95
122
|
getI18nLang() {
|
96
123
|
let i18nLang = this.$route.query.i18nLang || "zh";
|
97
124
|
return i18nLang;
|
98
125
|
},
|
99
|
-
initI18n() {
|
126
|
+
async initI18n() {
|
100
127
|
let lang = this.getI18nLang();
|
101
128
|
this.$i18n.locale = lang // 设置给本地的i18n插件
|
102
129
|
localStorage.setItem("i18n-lang", lang);
|
103
|
-
|
130
|
+
await indexUtil.initI18nMessage("business", lang, true);
|
104
131
|
},
|
105
132
|
login() {
|
106
133
|
let token = this.$route.query.access_token;
|
@@ -8,6 +8,8 @@
|
|
8
8
|
</template>
|
9
9
|
|
10
10
|
<script>
|
11
|
+
import {getToken} from "@base/utils/auth";
|
12
|
+
|
11
13
|
export default {
|
12
14
|
name: 'outLink',
|
13
15
|
data() {
|
@@ -36,6 +38,21 @@ export default {
|
|
36
38
|
this.type = 1;
|
37
39
|
}
|
38
40
|
});
|
41
|
+
}else if (url.indexOf('token=platform_token') >= 0) {
|
42
|
+
this.$http({
|
43
|
+
url: YX_PREFIX + `/fundPlatform/getToken`,
|
44
|
+
method: `post`,
|
45
|
+
data: {},
|
46
|
+
isLoading: true,
|
47
|
+
success: res => {
|
48
|
+
this.url = url.replace('token=platform_token', 'token=' + res.objx);
|
49
|
+
this.type = 1;
|
50
|
+
}
|
51
|
+
});
|
52
|
+
} else if (url.indexOf('token=true') >= 0) {
|
53
|
+
let token = getToken();
|
54
|
+
this.url = url.replace('token=true', ('token=' + token))
|
55
|
+
this.type = 1;
|
39
56
|
} else {
|
40
57
|
this.url = url;
|
41
58
|
this.type = 1;
|
@@ -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;
|
@@ -72,27 +91,34 @@ export default {
|
|
72
91
|
'/user/form/view/list.vue',
|
73
92
|
'/user/form/view/edit.vue'
|
74
93
|
]
|
75
|
-
|
76
|
-
this.
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
94
|
+
this.initUserInfo(() => {
|
95
|
+
this.initI18n();
|
96
|
+
if (urlArr.includes(url)) {
|
97
|
+
this.wfContent = require('@base/views' + url).default;
|
98
|
+
} else if (url.startsWith(t)) {
|
99
|
+
let path = url.slice(t.length);
|
100
|
+
this.wfContent = require('@base/views' + path).default;
|
101
|
+
} else {
|
102
|
+
this.wfContent = require('@/views' + url).default;
|
103
|
+
}
|
104
|
+
})
|
105
|
+
},
|
106
|
+
initUserInfo(callback) {
|
107
|
+
this.$store
|
108
|
+
.dispatch('user/getInfo2')
|
109
|
+
.then(() => {
|
110
|
+
callback && callback();
|
111
|
+
});
|
86
112
|
},
|
87
113
|
getI18nLang() {
|
88
114
|
let i18nLang = this.$route.query.i18nLang || "zh";
|
89
115
|
return i18nLang;
|
90
116
|
},
|
91
|
-
initI18n() {
|
117
|
+
async initI18n() {
|
92
118
|
let lang = this.getI18nLang();
|
93
119
|
this.$i18n.locale = lang // 设置给本地的i18n插件
|
94
120
|
localStorage.setItem("i18n-lang", lang);
|
95
|
-
indexUtil.initI18nMessage("business", lang, true);
|
121
|
+
await indexUtil.initI18nMessage("business", lang, true);
|
96
122
|
},
|
97
123
|
login() {
|
98
124
|
let token = this.$route.query.access_token;
|