cloud-web-corejs 1.0.66 → 1.0.68
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/excelExport/mixins.js +1 -1
- package/src/components/fileLibrary/mixins/indexMixins.js +0 -1
- package/src/components/table/index.js +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +3 -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 +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +12 -1
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +6 -0
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +6 -0
- package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +5 -1
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +77 -0
- package/src/components/xform/form-designer/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +40 -3
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +30 -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-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 +160 -69
- package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +184 -82
- 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/placeholder-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +223 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +62 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +4 -0
- package/src/components/xform/form-designer/setting-panel/wfObjConfigDialog.vue +189 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +286 -33
- package/src/store/modules/permission.js +1 -1
- package/src/utils/request.js +28 -28
- package/src/utils/vab.js +1 -1
- package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
- package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
- 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/user/outLink/form_view.vue +39 -12
- package/src/views/user/outLink/view.vue +28 -23
@@ -0,0 +1,254 @@
|
|
1
|
+
<template>
|
2
|
+
<el-dialog
|
3
|
+
:title="'设置企业流程对象('+formTemplate.formName+')'"
|
4
|
+
:append-to-body="true"
|
5
|
+
:modal-append-to-body="true"
|
6
|
+
:close-on-click-modal="false"
|
7
|
+
:visible.sync="dialogVisible"
|
8
|
+
:modal="false"
|
9
|
+
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
|
+
width="1200px"
|
11
|
+
@close="closeDialog"
|
12
|
+
v-el-drag-dialog
|
13
|
+
v-el-dialog-center
|
14
|
+
>
|
15
|
+
<div class="cont">
|
16
|
+
<div id="containt">
|
17
|
+
<el-form ref="editForm" :model="formData">
|
18
|
+
<div class="grid-height" style="height: 500px">
|
19
|
+
<vxe-grid
|
20
|
+
class="is-pointer"
|
21
|
+
ref="table-m1"
|
22
|
+
:data="formData.wfObjConfigDTOs"
|
23
|
+
v-bind="vxeOption"
|
24
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
25
|
+
@custom="$vxeTableUtil.customHandle"
|
26
|
+
>
|
27
|
+
<template #form>
|
28
|
+
<div class="clearfix screen-btns">
|
29
|
+
<div class="fl">
|
30
|
+
<vxe-button status="primary" class="button-sty" icon="el-icon-plus"
|
31
|
+
@click="openCompanyDialog">
|
32
|
+
新增
|
33
|
+
</vxe-button>
|
34
|
+
<span class="button-sty tips">{{ $t1('选择表单所在的企业,填写企业对应的流程对象数据。') }}</span>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</template>
|
38
|
+
<template #objTypeName="{row,rowIndex}">
|
39
|
+
<el-form-item :prop="'wfObjConfigDTOs.'+rowIndex+'.objTypeName'"
|
40
|
+
:rules="[{ required: true, trigger: 'blur' }]">
|
41
|
+
<el-input v-model="row.objTypeName" clearable></el-input>
|
42
|
+
</el-form-item>
|
43
|
+
</template>
|
44
|
+
<template #operate="{row}">
|
45
|
+
<a
|
46
|
+
href="javascript:void(0);"
|
47
|
+
class="a-link"
|
48
|
+
@click="openEditDialog(row.id)"
|
49
|
+
>
|
50
|
+
<el-tooltip :enterable="false" effect="dark" :content="$t2('查看','common.view')" placement="top"
|
51
|
+
popper-class="tooltip-skin">
|
52
|
+
<i class="el-icon-edit"/>
|
53
|
+
</el-tooltip>
|
54
|
+
</a>
|
55
|
+
</template>
|
56
|
+
</vxe-grid>
|
57
|
+
</div>
|
58
|
+
</el-form>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
<span slot="footer" class="dialog-footer">
|
62
|
+
<el-button type="primary" plain class="button-sty" @click="closeDialog">
|
63
|
+
<i class="el-icon-close el-icon"></i>
|
64
|
+
取 消
|
65
|
+
</el-button>
|
66
|
+
<el-button type="primary" @click="saveData" class="button-sty">
|
67
|
+
<i class="el-icon-check el-icon"></i>
|
68
|
+
确 定
|
69
|
+
</el-button>
|
70
|
+
</span>
|
71
|
+
<companyInfoDialog v-if="showCompanyInfoDialog" :visiable.sync="showCompanyInfoDialog"
|
72
|
+
@confirm="confirmCompanyDialog" :multi="true" :allCompany="true"/>
|
73
|
+
</el-dialog>
|
74
|
+
</template>
|
75
|
+
<script>
|
76
|
+
import companyInfoDialog from "@base/views/user/company_info/dialog.vue";
|
77
|
+
import fileObjNotifyEdit from "@base/components/fileLibrary/fileObjNotifyEdit.vue";
|
78
|
+
|
79
|
+
export default {
|
80
|
+
components: {fileObjNotifyEdit, companyInfoDialog},
|
81
|
+
props: ['formTemplate'],
|
82
|
+
data() {
|
83
|
+
return {
|
84
|
+
dialogVisible: true,
|
85
|
+
formData: {
|
86
|
+
objTypeCode: null,
|
87
|
+
wfObjConfigDTOs: []
|
88
|
+
},
|
89
|
+
operateIndex: 0,
|
90
|
+
showCompanyInfoDialog: false,
|
91
|
+
vxeOption: {}
|
92
|
+
}
|
93
|
+
},
|
94
|
+
created() {
|
95
|
+
|
96
|
+
},
|
97
|
+
mounted() {
|
98
|
+
this.formData.objTypeCode = this.formTemplate.objTypeCode;
|
99
|
+
this.getListByObjTypeCode();
|
100
|
+
this.initTableList()
|
101
|
+
},
|
102
|
+
methods: {
|
103
|
+
getListByObjTypeCode(callback) {
|
104
|
+
let formTemplate = this.formTemplate
|
105
|
+
this.$http({
|
106
|
+
url: `/${formTemplate.serviceName}/wf_obj_config/listByObjTypeCode`,
|
107
|
+
method: `post`,
|
108
|
+
data: {
|
109
|
+
stringOne: formTemplate.objTypeCode
|
110
|
+
},
|
111
|
+
isLoading: true,
|
112
|
+
success: res => {
|
113
|
+
let rows = res.objx || [];
|
114
|
+
this.formData.wfObjConfigDTOs = rows;
|
115
|
+
callback && callback(rows)
|
116
|
+
}
|
117
|
+
});
|
118
|
+
},
|
119
|
+
saveData() {
|
120
|
+
this.$refs.editForm.$baseValidate(valid => {
|
121
|
+
if (valid) {
|
122
|
+
this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
|
123
|
+
var url = `/${this.formTemplate.serviceName}/wf_obj_config/saveUpdates`;
|
124
|
+
this.$http({
|
125
|
+
url: url,
|
126
|
+
method: `post`,
|
127
|
+
data: this.formData,
|
128
|
+
isLoading: true,
|
129
|
+
success: res => {
|
130
|
+
this.$message({
|
131
|
+
message: res.content,
|
132
|
+
type: 'success',
|
133
|
+
duration: 1000
|
134
|
+
});
|
135
|
+
this.getListByObjTypeCode(rows => {
|
136
|
+
this.$emit('confirm', rows)
|
137
|
+
this.closeDialog();
|
138
|
+
})
|
139
|
+
}
|
140
|
+
});
|
141
|
+
});
|
142
|
+
}
|
143
|
+
});
|
144
|
+
},
|
145
|
+
addItem() {
|
146
|
+
let formTemplate = this.formTemplate;
|
147
|
+
let row = {
|
148
|
+
objTypeCode: formTemplate.objTypeCode,
|
149
|
+
objTypeName: formTemplate.objTypeName,
|
150
|
+
serviceId: formTemplate.serviceName,
|
151
|
+
url: "form",
|
152
|
+
companyCode: null,
|
153
|
+
companyName: null
|
154
|
+
}
|
155
|
+
this.formData.wfObjConfigDTOs.push(row);
|
156
|
+
},
|
157
|
+
closeDialog() {
|
158
|
+
this.dialogVisible = false;
|
159
|
+
this.$emit("update:visiable", false);
|
160
|
+
},
|
161
|
+
openCompanyDialog() {
|
162
|
+
this.showCompanyInfoDialog = true;
|
163
|
+
},
|
164
|
+
confirmCompanyDialog(rows) {
|
165
|
+
if (rows.length) {
|
166
|
+
let row = rows[0];
|
167
|
+
let formTemplate = this.formTemplate;
|
168
|
+
let companyCodes = this.formData.wfObjConfigDTOs.map(item => item.companyCode)
|
169
|
+
let items = rows.filter(item => !companyCodes.includes(item.companyCode)).map(item => {
|
170
|
+
return {
|
171
|
+
objTypeCode: formTemplate.objTypeCode,
|
172
|
+
objTypeName: formTemplate.objTypeName,
|
173
|
+
serviceId: formTemplate.serviceName,
|
174
|
+
url: "form",
|
175
|
+
companyCode: row.companyCode,
|
176
|
+
companyName: row.companyName
|
177
|
+
}
|
178
|
+
})
|
179
|
+
this.formData.wfObjConfigDTOs.push(...items);
|
180
|
+
}
|
181
|
+
},
|
182
|
+
initTableList() {
|
183
|
+
let that = this;
|
184
|
+
let tableOption = {
|
185
|
+
vue: this,
|
186
|
+
tableRef: 'table-m1',
|
187
|
+
tableName: 'user_form_template-wfObj-list-m1',
|
188
|
+
config: {
|
189
|
+
height: "auto"
|
190
|
+
},
|
191
|
+
columns: [
|
192
|
+
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
193
|
+
{
|
194
|
+
title: this.$t1('表单类型名称'),
|
195
|
+
field: 'objTypeName',
|
196
|
+
width: 250,
|
197
|
+
slots: {
|
198
|
+
default: "objTypeName"
|
199
|
+
}
|
200
|
+
},
|
201
|
+
{
|
202
|
+
title: this.$t1('组织名称'),
|
203
|
+
field: 'companyName',
|
204
|
+
width: 200,
|
205
|
+
},
|
206
|
+
{
|
207
|
+
title: this.$t1('表单类型编码'),
|
208
|
+
field: 'objTypeCode',
|
209
|
+
width: 200
|
210
|
+
},
|
211
|
+
{
|
212
|
+
title: this.$t1('服务名'),
|
213
|
+
field: 'serviceId',
|
214
|
+
width: 150
|
215
|
+
},
|
216
|
+
{
|
217
|
+
width: 100,
|
218
|
+
fixed: 'right',
|
219
|
+
title: '',
|
220
|
+
sortable: false,
|
221
|
+
slots: {
|
222
|
+
default: ({row, rowIndex, $table}) => {
|
223
|
+
return [
|
224
|
+
<a
|
225
|
+
href="javascript:void(0);"
|
226
|
+
class="a-link"
|
227
|
+
onClick={() => {
|
228
|
+
this.formData.wfObjConfigDTOs.splice(rowIndex, 1)
|
229
|
+
}}
|
230
|
+
>
|
231
|
+
<el-tooltip enterable={false} effect="dark" content="删除" placement="top"
|
232
|
+
popper-class="tooltip-skin">
|
233
|
+
<i class="el-icon-delete"/>
|
234
|
+
</el-tooltip>
|
235
|
+
</a>
|
236
|
+
];
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}
|
240
|
+
]
|
241
|
+
};
|
242
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
243
|
+
this.vxeOption = opts;
|
244
|
+
});
|
245
|
+
// this.initData();
|
246
|
+
},
|
247
|
+
}
|
248
|
+
}
|
249
|
+
</script>
|
250
|
+
|
251
|
+
|
252
|
+
<style scoped>
|
253
|
+
|
254
|
+
</style>
|
@@ -0,0 +1,127 @@
|
|
1
|
+
<template>
|
2
|
+
<div id="containt">
|
3
|
+
<x-tabs ref="xTabs" v-model="activeName" class="tab-box" paneKeyName="formCode">
|
4
|
+
<el-tab-pane :label="$t1('常规')" name="first">
|
5
|
+
<editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :currentFormType="currentFormType"
|
6
|
+
:parent-target="_self" @reload="$reloadHandle"
|
7
|
+
@openDesignDialog="openDesingerDialogByChild" :readonly="true"></editView>
|
8
|
+
</el-tab-pane>
|
9
|
+
<el-tab-pane :label="$t1('列表')" name="second">
|
10
|
+
<div class="grid-height">
|
11
|
+
<vxe-grid
|
12
|
+
ref="table-m1"
|
13
|
+
v-bind="vxeOption"
|
14
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
15
|
+
@custom="$vxeTableUtil.customHandle"
|
16
|
+
>
|
17
|
+
<template #form>
|
18
|
+
<tableForm :formData.sync="formData" @searchEvent="searchEvent" @resetEvent="resetEvent">
|
19
|
+
<template #buttonLeft>
|
20
|
+
<vxe-button icon="el-icon-setting" class="button-sty" @click="openBatchWfObjConfigDialog" type="text" status="primary"
|
21
|
+
plain>{{ $t1('批量设置企业流程对象') }}
|
22
|
+
</vxe-button>
|
23
|
+
</template>
|
24
|
+
<template #buttonRight>
|
25
|
+
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
26
|
+
plain>{{ $t1('重置') }}
|
27
|
+
</vxe-button>
|
28
|
+
<vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
|
29
|
+
{{ $t1('搜索') }}
|
30
|
+
</vxe-button>
|
31
|
+
</template>
|
32
|
+
<template #menuKindName>
|
33
|
+
<vxe-form-item :title="$t1('表单分类') + ':'" field="menuKindName">
|
34
|
+
<template v-slot>
|
35
|
+
<el-input
|
36
|
+
class="search-input"
|
37
|
+
max="200"
|
38
|
+
v-model="formData.menuKindName"
|
39
|
+
@clear="
|
40
|
+
formData.menuKindName = null;
|
41
|
+
formData.menuKindCode = null;
|
42
|
+
"
|
43
|
+
v-el-readonly
|
44
|
+
clearable
|
45
|
+
>
|
46
|
+
<i slot="suffix" class="el-input__icon el-icon-search" @click="showMenuKindDialog=true"></i>
|
47
|
+
</el-input>
|
48
|
+
</template>
|
49
|
+
</vxe-form-item>
|
50
|
+
</template>
|
51
|
+
</tableForm>
|
52
|
+
</template>
|
53
|
+
<template #tag="{row}">
|
54
|
+
<projectTagView v-model="row.formTemplateTagDTOs" :readonly="true"></projectTagView>
|
55
|
+
</template>
|
56
|
+
</vxe-grid>
|
57
|
+
<el-drawer :title="$t1('流程模板')" :visible.sync="showItemView" :modal="false" :wrapperClosable="false"
|
58
|
+
:destroy-on-close="true" size="90%" direction="btt">
|
59
|
+
<itemList v-if="showItemView" :formTemplate="currentRow"
|
60
|
+
@openWfDesignDialog="openWfDesignDialog"></itemList>
|
61
|
+
</el-drawer>
|
62
|
+
</div>
|
63
|
+
</el-tab-pane>
|
64
|
+
<template #editTab="{tab,index,reloadTabContent}">
|
65
|
+
<el-tab-pane :key="tab.data.id" :label.sync="tab.data.formName" :name="tab.data.formCode"
|
66
|
+
:closable="true">
|
67
|
+
<editView v-if="tab.showContent" :_dataId="tab.dataId" :currentFormType="currentFormType"
|
68
|
+
:parent-target="_self"
|
69
|
+
@reload="reloadTabContent" @openDesignDialog="openDesingerDialogByChild"
|
70
|
+
:readonly="true"></editView>
|
71
|
+
</el-tab-pane>
|
72
|
+
</template>
|
73
|
+
</x-tabs>
|
74
|
+
<el-drawer :title="$t1('表单设计({formName})',{formName})" :visible.sync="showDesingerDialog" :modal="false"
|
75
|
+
:destroy-on-close="true"
|
76
|
+
size="100%" direction="rtl" :before-close="closeFormDesignwinEvent" :append-to-body="false"
|
77
|
+
class="designer-drawer" :class="[isFullscreen ? 'is-fullscreen' : '']" @close="handleFormDesignClose">
|
78
|
+
<el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
|
79
|
+
<el-tab-pane :label="$t1('设计器')" name="first">
|
80
|
+
<designer ref="designer" :formCode.sync="formCode" @reflushTemplateList="reflushTemplateList"></designer>
|
81
|
+
</el-tab-pane>
|
82
|
+
<el-tab-pane :label="$t1('后端脚本')" name="second">
|
83
|
+
<formScriptList :formCode="formCode" :formTemplate="currentFormTemplate"
|
84
|
+
v-if="showFormScriptList"></formScriptList>
|
85
|
+
</el-tab-pane>
|
86
|
+
</el-tabs>
|
87
|
+
<el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
|
88
|
+
<el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
|
89
|
+
<i class="iconfont icon-quanping"></i>
|
90
|
+
</el-tooltip>
|
91
|
+
|
92
|
+
</el-button>
|
93
|
+
<el-button class="isFullIcon" v-else @click="handleFullscreen">
|
94
|
+
<el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
|
95
|
+
<i class="iconfont icon-suoxiao"></i>
|
96
|
+
</el-tooltip>
|
97
|
+
</el-button>
|
98
|
+
</el-drawer>
|
99
|
+
<wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog"
|
100
|
+
@confirm="confirmWfObjConfigDialog" :formTemplate="formTemplate"/>
|
101
|
+
<MenuKindDialog v-if="showMenuKindDialog"
|
102
|
+
:visiable.sync="showMenuKindDialog"
|
103
|
+
@confirm="confirmInsertMenuKind"
|
104
|
+
:param="{ taType: 0 }"
|
105
|
+
:multi="false"
|
106
|
+
/>
|
107
|
+
|
108
|
+
<batchWfObjConfigDialog v-if="showBatchWfObjConfigDialog" :visiable.sync="showBatchWfObjConfigDialog"
|
109
|
+
:formTemplates="formTemplates" @confirm="confirmBatchWfObjConfigDialog"></batchWfObjConfigDialog>
|
110
|
+
</div>
|
111
|
+
</template>
|
112
|
+
|
113
|
+
<script>
|
114
|
+
import mixin from "./mixins/wf_list";
|
115
|
+
import wfObjConfigDialog from "./wfObjConfigDialog.vue";
|
116
|
+
import MenuKindDialog from "@base/views/bd/setting/menu_kind/dialog.vue";
|
117
|
+
import batchWfObjConfigDialog from "./batchWfObjConfigDialog.vue";
|
118
|
+
|
119
|
+
export default {
|
120
|
+
name: 'form_template:wf_list',
|
121
|
+
components: {MenuKindDialog, wfObjConfigDialog,batchWfObjConfigDialog},
|
122
|
+
mixins: [mixin]
|
123
|
+
}
|
124
|
+
</script>
|
125
|
+
<style scoped lang="scss">
|
126
|
+
|
127
|
+
</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;
|
@@ -56,17 +56,17 @@ export default {
|
|
56
56
|
delete queryParam.urlmobile;
|
57
57
|
delete queryParam.url;
|
58
58
|
|
59
|
-
if(purl.indexOf('.html')>=0){
|
59
|
+
if (purl.indexOf('.html') >= 0) {
|
60
60
|
let eUrl = purl;
|
61
|
-
let pstr = Object.keys(queryParam).map(key=>{
|
62
|
-
return key+"="+queryParam[key]
|
61
|
+
let pstr = Object.keys(queryParam).map(key => {
|
62
|
+
return key + "=" + queryParam[key]
|
63
63
|
}).join("&")
|
64
64
|
|
65
|
-
if(pstr){
|
66
|
-
if(purl.indexOf('.html?')>=0){
|
67
|
-
eUrl = eUrl+'&'+pstr
|
68
|
-
}else{
|
69
|
-
eUrl = eUrl+'?'+pstr
|
65
|
+
if (pstr) {
|
66
|
+
if (purl.indexOf('.html?') >= 0) {
|
67
|
+
eUrl = eUrl + '&' + pstr
|
68
|
+
} else {
|
69
|
+
eUrl = eUrl + '?' + pstr
|
70
70
|
}
|
71
71
|
}
|
72
72
|
|
@@ -81,8 +81,6 @@ export default {
|
|
81
81
|
delete queryParam.thirdparty_info;
|
82
82
|
delete queryParam.i18nLang;
|
83
83
|
|
84
|
-
|
85
|
-
|
86
84
|
let url = purl + '.vue';
|
87
85
|
this.queryParam = queryParam;
|
88
86
|
this.showWfContent = true;
|
@@ -93,27 +91,34 @@ export default {
|
|
93
91
|
'/user/form/view/list.vue',
|
94
92
|
'/user/form/view/edit.vue'
|
95
93
|
]
|
96
|
-
|
97
|
-
this.
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
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
|
+
});
|
107
112
|
},
|
108
113
|
getI18nLang() {
|
109
114
|
let i18nLang = this.$route.query.i18nLang || "zh";
|
110
115
|
return i18nLang;
|
111
116
|
},
|
112
|
-
initI18n() {
|
117
|
+
async initI18n() {
|
113
118
|
let lang = this.getI18nLang();
|
114
119
|
this.$i18n.locale = lang // 设置给本地的i18n插件
|
115
120
|
localStorage.setItem("i18n-lang", lang);
|
116
|
-
indexUtil.initI18nMessage("business", lang, true);
|
121
|
+
await indexUtil.initI18nMessage("business", lang, true);
|
117
122
|
},
|
118
123
|
login() {
|
119
124
|
let token = this.$route.query.access_token;
|