mooho-base-admin-plus 0.1.70 → 0.4.0
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/dist/mooho-base-admin-plus.min.esm.js +15776 -15609
- package/dist/mooho-base-admin-plus.min.js +40 -41
- package/dist/setting.js +4 -2
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/public/setting.js +4 -2
- package/src/api/customModel.js +1 -1
- package/src/api/dataSource.js +1 -1
- package/src/api/dataView.js +1 -1
- package/src/api/i18nText +33 -0
- package/src/api/model.js +1 -1
- package/src/components/home/notice-list.vue +2 -2
- package/src/components/home/shortcut.vue +9 -9
- package/src/components/input/dialog-select.vue +3 -3
- package/src/components/input/item-select.vue +5 -5
- package/src/components/upload/upload-attachment.vue +13 -3
- package/src/components/upload/upload-image.vue +2 -2
- package/src/components/view/column-check.vue +3 -3
- package/src/components/view/column-edit.vue +18 -18
- package/src/components/view/column-select.vue +4 -4
- package/src/components/view/condition-edit.vue +10 -10
- package/src/components/view/filter-edit.vue +30 -13
- package/src/components/view/filter-setting.vue +8 -8
- package/src/components/view/form-setting-layout.vue +24 -24
- package/src/components/view/form-setting.vue +18 -18
- package/src/components/view/group-column.vue +5 -5
- package/src/components/view/group-method.vue +5 -5
- package/src/components/view/modal-form-filter.vue +28 -25
- package/src/components/view/modal-form-sort.vue +32 -27
- package/src/components/view/modal-form.vue +30 -8
- package/src/components/view/modal-table.vue +22 -2
- package/src/components/view/table-filter.vue +18 -11
- package/src/components/view/table-setting.vue +30 -42
- package/src/components/view/view-chart.vue +6 -6
- package/src/components/view/view-form-draggable.vue +3 -3
- package/src/components/view/view-form.vue +23 -13
- package/src/components/view/view-table.vue +83 -39
- package/src/components/workflow/flow-chart.vue +22 -23
- package/src/i18n/index.js +7 -7
- package/src/index.js +13 -8
- package/src/layouts/basic-layout/header-breadcrumb/index.vue +18 -3
- package/src/layouts/basic-layout/header-i18n/index.vue +5 -6
- package/src/layouts/basic-layout/header-notice/index.vue +2 -2
- package/src/layouts/basic-layout/header-search/index.vue +3 -3
- package/src/layouts/basic-layout/header-user/index.vue +18 -18
- package/src/layouts/basic-layout/menu-side/index.vue +9 -3
- package/src/layouts/basic-layout/menu-side/menu-title.vue +5 -4
- package/src/layouts/basic-layout/tabs/index.vue +4 -4
- package/src/libs/request/index.js +18 -4
- package/src/mixins/page.js +72 -18
- package/src/pages/account/login.vue +6 -6
- package/src/pages/common/task-form.vue +33 -33
- package/src/pages/common/todo.vue +1 -1
- package/src/pages/system/apiLog.vue +7 -7
- package/src/pages/system/applicationType.vue +6 -6
- package/src/pages/system/customTable.vue +7 -7
- package/src/pages/system/dict.vue +1 -1
- package/src/pages/system/dictType.vue +4 -4
- package/src/pages/system/entityView.vue +3 -3
- package/src/pages/system/error/404.vue +1 -1
- package/src/pages/system/extendColumn.vue +7 -7
- package/src/pages/system/formView.vue +10 -10
- package/src/pages/system/i18nText.vue +98 -0
- package/src/pages/system/log.vue +4 -4
- package/src/pages/system/openUser.vue +5 -5
- package/src/pages/system/organization.vue +1 -1
- package/src/pages/system/permission.vue +5 -5
- package/src/pages/system/planJob.vue +3 -3
- package/src/pages/system/process.vue +10 -10
- package/src/pages/system/role.vue +18 -18
- package/src/pages/system/rolePropertyEdit.vue +83 -100
- package/src/pages/system/systemData.vue +4 -4
- package/src/pages/system/tableView.vue +17 -17
- package/src/pages/system/taskQueue.vue +13 -6
- package/src/pages/system/user.vue +17 -17
- package/src/pages/template/processPage.vue +22 -22
- package/src/plugins/sweetalert2/index.js +1 -5
- package/src/router/dynamic.js +7 -6
- package/src/store/modules/admin/modules/i18n.js +72 -32
- package/src/store/modules/admin/modules/menu.js +1 -0
- package/src/styles/css/default.css +4 -0
- package/test/api/barcode.js +1 -1
- package/test/api/inbound.js +1 -1
- package/test/api/movePlan.js +1 -1
- package/test/api/outbound.js +1 -1
- package/test/main.js +4 -4
- package/test/router/routes.js +2 -2
- package/src/i18n/locale.js +0 -102
|
@@ -7,7 +7,15 @@
|
|
|
7
7
|
@slot 顶部
|
|
8
8
|
-->
|
|
9
9
|
<slot name="top"></slot>
|
|
10
|
-
<Form
|
|
10
|
+
<Form
|
|
11
|
+
v-if="tableView.filterEnable && filterEnable"
|
|
12
|
+
:model="filter"
|
|
13
|
+
:label-width="tableView.filterTitleWidth ? tableView.filterTitleWidth : layout.filterWidth"
|
|
14
|
+
label-colon=":"
|
|
15
|
+
label-position="right"
|
|
16
|
+
class="filter"
|
|
17
|
+
@submit.prevent
|
|
18
|
+
>
|
|
11
19
|
<div ref="filterCommand">
|
|
12
20
|
<Row :gutter="24" type="flex" justify="end">
|
|
13
21
|
<!--
|
|
@@ -20,14 +28,7 @@
|
|
|
20
28
|
@slot 自定义筛选栏
|
|
21
29
|
-->
|
|
22
30
|
<slot name="customFilter"></slot>
|
|
23
|
-
<table-filter
|
|
24
|
-
ref="tableFilter"
|
|
25
|
-
:data="filter"
|
|
26
|
-
:columns="filterColumns"
|
|
27
|
-
:isDataSource="tableView.isDataSource"
|
|
28
|
-
:keywordEnable="tableView.keywordEnable"
|
|
29
|
-
@on-keyup="onKeyup"
|
|
30
|
-
>
|
|
31
|
+
<table-filter ref="tableFilter" :data="filter" :columns="filterColumns" :table-view="tableView" @on-keyup="onKeyup">
|
|
31
32
|
<template #column="{ filter, column }">
|
|
32
33
|
<!--
|
|
33
34
|
@slot 筛选栏自定义列
|
|
@@ -40,8 +41,10 @@
|
|
|
40
41
|
</table-filter>
|
|
41
42
|
<Col v-bind="getGrid(tableView.filterWidth)" :style="{ 'text-align': tableView.filterAlign == null ? 'left' : tableView.filterAlign.toLowerCase() }">
|
|
42
43
|
<FormItem :label-width="0">
|
|
43
|
-
<Button type="info" v-if="tableView.keywordEnable || filterColumns.length > 0" custom-icon="fa fa-search" @click="search()" size="small"
|
|
44
|
-
|
|
44
|
+
<Button type="info" v-if="tableView.keywordEnable || filterColumns.length > 0" custom-icon="fa fa-search" @click="search()" size="small">
|
|
45
|
+
{{ $t('Front_Btn_Search') }}
|
|
46
|
+
</Button>
|
|
47
|
+
<Button type="primary" v-if="tableView.createEnable && createEnable" custom-icon="fa fa-plus" @click="create()" size="small">{{ $t('Front_Btn_New') }}</Button>
|
|
45
48
|
<!--
|
|
46
49
|
@slot 筛选栏按钮
|
|
47
50
|
-->
|
|
@@ -52,19 +55,26 @@
|
|
|
52
55
|
@on-click="moreClick"
|
|
53
56
|
>
|
|
54
57
|
<Button type="info" size="small">
|
|
55
|
-
|
|
58
|
+
{{ $t('Front_Btn_More') }}
|
|
56
59
|
<Icon type="ios-arrow-down" />
|
|
57
60
|
</Button>
|
|
58
61
|
<template #list>
|
|
59
62
|
<DropdownMenu>
|
|
60
|
-
<DropdownItem v-if="tableView.exportEnable" name="exportExcel"
|
|
61
|
-
<DropdownItem v-if="tableView.exportPdfEnable" name="exportPdf"
|
|
62
|
-
<DropdownItem v-if="tableView.printEnable" name="print"
|
|
63
|
-
<DropdownItem v-if="tableView.batchEditEnable" name="batchEdit"
|
|
63
|
+
<DropdownItem v-if="tableView.exportEnable" name="exportExcel">{{ $t('Front_Btn_Export_Excel') }}</DropdownItem>
|
|
64
|
+
<DropdownItem v-if="tableView.exportPdfEnable" name="exportPdf">{{ $t('Front_Btn_Export_PDF') }}</DropdownItem>
|
|
65
|
+
<DropdownItem v-if="tableView.printEnable" name="print">{{ $t('Front_Btn_Print') }}</DropdownItem>
|
|
66
|
+
<DropdownItem v-if="tableView.batchEditEnable" name="batchEdit">{{ $t('Front_Btn_Batch_Edit') }}</DropdownItem>
|
|
64
67
|
</DropdownMenu>
|
|
65
68
|
</template>
|
|
66
69
|
</Dropdown>
|
|
67
|
-
<Button
|
|
70
|
+
<Button
|
|
71
|
+
type="error"
|
|
72
|
+
:title="$t('Front_Btn_Filter_Setting')"
|
|
73
|
+
custom-icon="fa fa-filter"
|
|
74
|
+
size="small"
|
|
75
|
+
v-if="settingEnable && allow('permission/tableView')"
|
|
76
|
+
@click="filterSettingOpen"
|
|
77
|
+
/>
|
|
68
78
|
<Button v-if="tableView.fullEnable" type="info" title="全屏" custom-icon="fa fa-expand-arrows-alt" size="small" @click="isFullScreen = !isFullScreen" />
|
|
69
79
|
</FormItem>
|
|
70
80
|
</Col>
|
|
@@ -359,7 +369,7 @@
|
|
|
359
369
|
/>
|
|
360
370
|
</template>
|
|
361
371
|
<template v-else-if="column.controlType === 'Placeholder'"></template>
|
|
362
|
-
<template v-else
|
|
372
|
+
<template v-else>{{ $t('Front_Label_Control_Type_Not_Supported') }} {{ column.controlType }}</template>
|
|
363
373
|
</template>
|
|
364
374
|
</template>
|
|
365
375
|
<template #command="{ row, index }">
|
|
@@ -373,7 +383,7 @@
|
|
|
373
383
|
<Button
|
|
374
384
|
v-if="judge(tableView.editEnable, tableView.editEnableJson, rowData(row, index)) && editEnable && !readonly"
|
|
375
385
|
size="small"
|
|
376
|
-
title="
|
|
386
|
+
:title="$t('Front_Btn_Edit')"
|
|
377
387
|
type="primary"
|
|
378
388
|
custom-icon="fa fa-edit"
|
|
379
389
|
@click="edit(rowData(row, index), index)"
|
|
@@ -381,7 +391,7 @@
|
|
|
381
391
|
<Button
|
|
382
392
|
v-if="judge(tableView.removeEnable, tableView.removeEnableJson, rowData(row, index)) && removeEnable && !readonly"
|
|
383
393
|
size="small"
|
|
384
|
-
title="
|
|
394
|
+
:title="$t('Front_Btn_Remove')"
|
|
385
395
|
type="warning"
|
|
386
396
|
custom-icon="fa fa-trash-alt"
|
|
387
397
|
@click="remove(rowData(row, index), index)"
|
|
@@ -410,7 +420,14 @@
|
|
|
410
420
|
</template>
|
|
411
421
|
</Table>
|
|
412
422
|
<div class="ivu-mt ivu-text-right">
|
|
413
|
-
<Button
|
|
423
|
+
<Button
|
|
424
|
+
class="ivu-fr"
|
|
425
|
+
type="error"
|
|
426
|
+
:title="$t('Front_Btn_Setting')"
|
|
427
|
+
custom-icon="fa fa-cog"
|
|
428
|
+
v-if="settingEnable && allow('permission/tableView')"
|
|
429
|
+
@click="tableSettingOpen"
|
|
430
|
+
></Button>
|
|
414
431
|
<Page
|
|
415
432
|
show-sizer
|
|
416
433
|
show-total
|
|
@@ -425,7 +442,7 @@
|
|
|
425
442
|
</div>
|
|
426
443
|
<modal-table ref="dialogTable" v-if="dialogActive">
|
|
427
444
|
<template #command="{ row }">
|
|
428
|
-
<Button size="small" title="
|
|
445
|
+
<Button size="small" :title="$t('Front_Btn_Select')" type="primary" custom-icon="fa fa-check-square-o" @click="dialogCheck(row)"></Button>
|
|
429
446
|
</template>
|
|
430
447
|
</modal-table>
|
|
431
448
|
<table-setting ref="tableSetting" v-if="tableSettingActive" :is-setting="true" @on-change="viewCode => init(viewCode)" />
|
|
@@ -435,18 +452,27 @@
|
|
|
435
452
|
<modal-form ref="modalForm" :saveEnable="false" v-if="inited"></modal-form>
|
|
436
453
|
<modal-table ref="batchEditTable" :embedded="true" :static="true" :footerEnable="true" v-if="inited">
|
|
437
454
|
<template #footer>
|
|
438
|
-
<Button type="primary" custom-icon="fa fa-save" @click="batchSave()"
|
|
439
|
-
<Button type="default" custom-icon="fa fa-times" @click="$refs.batchEditTable.close()"
|
|
455
|
+
<Button type="primary" custom-icon="fa fa-save" @click="batchSave()">{{ $t('Front_Btn_Save') }}</Button>
|
|
456
|
+
<Button type="default" custom-icon="fa fa-times" @click="$refs.batchEditTable.close()">{{ $t('Front_Btn_Close') }}</Button>
|
|
440
457
|
</template>
|
|
441
458
|
</modal-table>
|
|
442
|
-
<Modal
|
|
459
|
+
<Modal
|
|
460
|
+
:title="$t('Front_Label_Preview')"
|
|
461
|
+
v-model="preview"
|
|
462
|
+
scrollable
|
|
463
|
+
:mask-closable="layout.maskClosable"
|
|
464
|
+
:draggable="layout.draggable"
|
|
465
|
+
:sticky="true"
|
|
466
|
+
:reset-drag-position="true"
|
|
467
|
+
width="70%"
|
|
468
|
+
>
|
|
443
469
|
<div style="text-align: center">
|
|
444
470
|
<a href="#" :download="imageUrl" onClick="return false;">
|
|
445
471
|
<img :src="getImgUrl(imageUrl)" v-if="preview" style="max-width: 100%" />
|
|
446
472
|
</a>
|
|
447
473
|
</div>
|
|
448
474
|
<template #footer>
|
|
449
|
-
<Button type="default" custom-icon="fa fa-times" @click="preview = false"
|
|
475
|
+
<Button type="default" custom-icon="fa fa-times" @click="preview = false">{{ $t('Front_Btn_Close') }}</Button>
|
|
450
476
|
</template>
|
|
451
477
|
</Modal>
|
|
452
478
|
</div>
|
|
@@ -549,12 +575,14 @@
|
|
|
549
575
|
// 默认视图代码
|
|
550
576
|
if (this.viewCode) {
|
|
551
577
|
// 初始化
|
|
552
|
-
|
|
578
|
+
setTimeout(async () => {
|
|
579
|
+
await this.init(this.viewCode);
|
|
553
580
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
581
|
+
/**
|
|
582
|
+
* 初始化完成事件
|
|
583
|
+
*/
|
|
584
|
+
this.$emit('after-init');
|
|
585
|
+
});
|
|
558
586
|
}
|
|
559
587
|
|
|
560
588
|
if (this.viewCode && this.autoLoad) {
|
|
@@ -798,7 +826,7 @@
|
|
|
798
826
|
if (typeof onFail === 'function') {
|
|
799
827
|
onFail();
|
|
800
828
|
} else {
|
|
801
|
-
this.error('
|
|
829
|
+
this.error('Front_Msg_View_Code_Not_Exist' + viewCode);
|
|
802
830
|
}
|
|
803
831
|
return;
|
|
804
832
|
}
|
|
@@ -829,9 +857,13 @@
|
|
|
829
857
|
return getColumns(view, item);
|
|
830
858
|
});
|
|
831
859
|
|
|
860
|
+
this.columns.forEach(column => {
|
|
861
|
+
column.name = this.getNameI18n(column);
|
|
862
|
+
});
|
|
863
|
+
|
|
832
864
|
if (this.tableView.snEnable) {
|
|
833
865
|
this.columns.unshift({
|
|
834
|
-
title: '
|
|
866
|
+
title: this.$t('Front_Label_Sn'),
|
|
835
867
|
slot: 'sn',
|
|
836
868
|
align: 'center',
|
|
837
869
|
width: 60
|
|
@@ -1126,7 +1158,7 @@
|
|
|
1126
1158
|
* @public
|
|
1127
1159
|
*/
|
|
1128
1160
|
remove(row, index) {
|
|
1129
|
-
this.confirm('
|
|
1161
|
+
this.confirm('Front_Msg_Sure_To_Delete_Item', async () => {
|
|
1130
1162
|
if (this.embedded) {
|
|
1131
1163
|
this.staticData.splice((this.current - 1) * this.size + index, 1);
|
|
1132
1164
|
this.loadData();
|
|
@@ -1143,7 +1175,7 @@
|
|
|
1143
1175
|
await modelApi.remove(this.tableView.model, row.id);
|
|
1144
1176
|
}
|
|
1145
1177
|
|
|
1146
|
-
this.success('
|
|
1178
|
+
this.success('Front_Msg_Success', () => {
|
|
1147
1179
|
this.loadData();
|
|
1148
1180
|
});
|
|
1149
1181
|
}
|
|
@@ -1280,7 +1312,7 @@
|
|
|
1280
1312
|
let value = this.parseData(row, column.code);
|
|
1281
1313
|
|
|
1282
1314
|
if (value == null || !(String(value) || '').trim()) {
|
|
1283
|
-
this.error('
|
|
1315
|
+
this.error('Front_Msg_Row_Column_Required|' + (i + 1) + '|' + column.name);
|
|
1284
1316
|
return false;
|
|
1285
1317
|
}
|
|
1286
1318
|
}
|
|
@@ -1368,7 +1400,7 @@
|
|
|
1368
1400
|
})
|
|
1369
1401
|
);
|
|
1370
1402
|
} else if (name === 'batchEdit') {
|
|
1371
|
-
this.error('
|
|
1403
|
+
this.error('Front_Msg_Not_Supported');
|
|
1372
1404
|
}
|
|
1373
1405
|
} else {
|
|
1374
1406
|
if (name === 'exportExcel') {
|
|
@@ -2214,7 +2246,7 @@
|
|
|
2214
2246
|
return;
|
|
2215
2247
|
}
|
|
2216
2248
|
|
|
2217
|
-
this.confirm('
|
|
2249
|
+
this.confirm('Front_Msg_Sure_To_Save', async () => {
|
|
2218
2250
|
let data = this.$refs.batchEditTable.data;
|
|
2219
2251
|
|
|
2220
2252
|
if (this.tableView.isCustom) {
|
|
@@ -2223,7 +2255,7 @@
|
|
|
2223
2255
|
await modelApi.batchSave(this.tableView.model, data);
|
|
2224
2256
|
}
|
|
2225
2257
|
|
|
2226
|
-
this.success('
|
|
2258
|
+
this.success('Front_Msg_Success', () => {
|
|
2227
2259
|
this.$refs.batchEditTable.close();
|
|
2228
2260
|
this.loadData();
|
|
2229
2261
|
});
|
|
@@ -2248,6 +2280,18 @@
|
|
|
2248
2280
|
});
|
|
2249
2281
|
|
|
2250
2282
|
return result;
|
|
2283
|
+
},
|
|
2284
|
+
// 获取多语言名称
|
|
2285
|
+
getNameI18n(column) {
|
|
2286
|
+
if (column) {
|
|
2287
|
+
if (this.layout.showI18n) {
|
|
2288
|
+
if (column.code) {
|
|
2289
|
+
return this.$t('DataView_' + this.tableView.code + '_' + column.code);
|
|
2290
|
+
}
|
|
2291
|
+
} else {
|
|
2292
|
+
return column.name;
|
|
2293
|
+
}
|
|
2294
|
+
}
|
|
2251
2295
|
}
|
|
2252
2296
|
}
|
|
2253
2297
|
};
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<template #header>
|
|
6
6
|
<div>
|
|
7
7
|
<slot name="header">
|
|
8
|
-
<span class="title">{{ data.process ? data.process.name : '
|
|
9
|
-
<span class="description"
|
|
8
|
+
<span class="title">{{ data.process ? data.process.name : $t('Front_Label_Process_Definition') }}</span>
|
|
9
|
+
<span class="description"></span>
|
|
10
10
|
</slot>
|
|
11
11
|
</div>
|
|
12
12
|
</template>
|
|
@@ -312,17 +312,17 @@
|
|
|
312
312
|
<template #footer>
|
|
313
313
|
<div>
|
|
314
314
|
<slot name="footer">
|
|
315
|
-
<Button type="primary" custom-icon="fa fa-save" @click="save"
|
|
316
|
-
<Button type="primary" custom-icon="fa fa-upload" @click="publish"
|
|
315
|
+
<Button type="primary" custom-icon="fa fa-save" @click="save">{{ $t('Front_Btn_Save') }}</Button>
|
|
316
|
+
<Button type="primary" custom-icon="fa fa-upload" @click="publish">{{ $t('Front_Btn_Publish') }}</Button>
|
|
317
317
|
</slot>
|
|
318
|
-
<Button type="default" custom-icon="fa fa-times" @click="close"
|
|
318
|
+
<Button type="default" custom-icon="fa fa-times" @click="close">{{ $t('Front_Btn_Close') }}</Button>
|
|
319
319
|
</div>
|
|
320
320
|
</template>
|
|
321
321
|
</Modal>
|
|
322
322
|
<modal-form ref="interactiveForm" view-code="InteractiveActivityEdit" @on-change="interactiveFormChange">
|
|
323
323
|
<template #footer>
|
|
324
|
-
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity"
|
|
325
|
-
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity"
|
|
324
|
+
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity">{{ $t('Front_Btn_OK') }}</Button>
|
|
325
|
+
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity">{{ $t('Front_Btn_Remove') }}</Button>
|
|
326
326
|
</template>
|
|
327
327
|
<template #bottom>
|
|
328
328
|
<view-table
|
|
@@ -355,26 +355,26 @@
|
|
|
355
355
|
</modal-form>
|
|
356
356
|
<modal-form ref="serviceForm" view-code="ServiceActivityEdit">
|
|
357
357
|
<template #footer>
|
|
358
|
-
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity"
|
|
359
|
-
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity"
|
|
358
|
+
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity">{{ $t('Front_Btn_OK') }}</Button>
|
|
359
|
+
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity">{{ $t('Front_Btn_Remove') }}</Button>
|
|
360
360
|
</template>
|
|
361
361
|
</modal-form>
|
|
362
362
|
<modal-form ref="activityForm" view-code="ActivityEdit">
|
|
363
363
|
<template #footer>
|
|
364
|
-
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity"
|
|
365
|
-
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity"
|
|
364
|
+
<Button type="primary" custom-icon="fa fa-save" @click="saveActivity">{{ $t('Front_Btn_OK') }}</Button>
|
|
365
|
+
<Button type="warning" custom-icon="fa fa-times" @click="removeActivity">{{ $t('Front_Btn_Remove') }}</Button>
|
|
366
366
|
</template>
|
|
367
367
|
</modal-form>
|
|
368
368
|
<modal-form ref="judgementOutcomeForm" view-code="JudgementOutcomeEdit">
|
|
369
369
|
<template #footer>
|
|
370
|
-
<Button type="primary" custom-icon="fa fa-save" @click="saveOutcome"
|
|
371
|
-
<Button type="warning" custom-icon="fa fa-times" @click="removeOutcome"
|
|
370
|
+
<Button type="primary" custom-icon="fa fa-save" @click="saveOutcome">{{ $t('Front_Btn_OK') }}</Button>
|
|
371
|
+
<Button type="warning" custom-icon="fa fa-times" @click="removeOutcome">{{ $t('Front_Btn_Remove') }}</Button>
|
|
372
372
|
</template>
|
|
373
373
|
</modal-form>
|
|
374
374
|
<modal-form ref="outcomeForm" view-code="OutcomeEdit">
|
|
375
375
|
<template #footer>
|
|
376
|
-
<Button type="primary" custom-icon="fa fa-save" @click="saveOutcome"
|
|
377
|
-
<Button type="warning" custom-icon="fa fa-times" @click="removeOutcome"
|
|
376
|
+
<Button type="primary" custom-icon="fa fa-save" @click="saveOutcome">{{ $t('Front_Btn_OK') }}</Button>
|
|
377
|
+
<Button type="warning" custom-icon="fa fa-times" @click="removeOutcome">{{ $t('Front_Btn_Remove') }}</Button>
|
|
378
378
|
</template>
|
|
379
379
|
</modal-form>
|
|
380
380
|
</div>
|
|
@@ -460,16 +460,16 @@
|
|
|
460
460
|
},
|
|
461
461
|
// 保存
|
|
462
462
|
save() {
|
|
463
|
-
this.confirm('
|
|
463
|
+
this.confirm('Front_Msg_Sure_To_Save_Process', async () => {
|
|
464
464
|
await processDefApi.save(this.data);
|
|
465
|
-
this.success('
|
|
465
|
+
this.success('Front_Msg_Success');
|
|
466
466
|
});
|
|
467
467
|
},
|
|
468
468
|
// 发布
|
|
469
469
|
publish() {
|
|
470
|
-
this.confirm('
|
|
470
|
+
this.confirm('Front_Msg_Sure_To_Publish_Process', async () => {
|
|
471
471
|
await processDefApi.publish(this.data);
|
|
472
|
-
this.success('
|
|
472
|
+
this.success('Front_Msg_Success');
|
|
473
473
|
this.opened = false;
|
|
474
474
|
});
|
|
475
475
|
},
|
|
@@ -616,7 +616,6 @@
|
|
|
616
616
|
return outcome.activityFromPid == this.activityFrom.pid && outcome.activityToPid == activity.pid;
|
|
617
617
|
})
|
|
618
618
|
) {
|
|
619
|
-
this.error('结果已存在,不能重复创建!');
|
|
620
619
|
return;
|
|
621
620
|
}
|
|
622
621
|
|
|
@@ -746,7 +745,7 @@
|
|
|
746
745
|
|
|
747
746
|
if (this.editActivity.activityType == 'Interactive') {
|
|
748
747
|
let data = this.$refs.interactiveForm.getFullData();
|
|
749
|
-
data.destinationRoleParam = JSON.stringify(this.$refs.destinationRoleParamTable.
|
|
748
|
+
data.destinationRoleParam = JSON.stringify(this.$refs.destinationRoleParamTable.getData());
|
|
750
749
|
this.data.activities.splice(index, 1, data);
|
|
751
750
|
this.$refs.interactiveForm.close();
|
|
752
751
|
} else if (this.editActivity.activityType == 'Service') {
|
|
@@ -759,7 +758,7 @@
|
|
|
759
758
|
},
|
|
760
759
|
// 删除活动
|
|
761
760
|
removeActivity() {
|
|
762
|
-
this.confirm('
|
|
761
|
+
this.confirm('Front_Msg_Sure_To_Remove_Activity', () => {
|
|
763
762
|
let index = this.data.activities.findIndex(item => {
|
|
764
763
|
return item.pid == this.editActivity.pid;
|
|
765
764
|
});
|
|
@@ -799,7 +798,7 @@
|
|
|
799
798
|
},
|
|
800
799
|
// 删除结果
|
|
801
800
|
removeOutcome() {
|
|
802
|
-
this.confirm('
|
|
801
|
+
this.confirm('Front_Msg_Sure_To_Remove_Outcome', () => {
|
|
803
802
|
let index = this.data.outcomes.findIndex(item => {
|
|
804
803
|
return item.pid == this.editOutcome.pid;
|
|
805
804
|
});
|
package/src/i18n/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createI18n } from 'vue-i18n/index';
|
|
2
|
-
import store from '../store/index';
|
|
3
|
-
import messages from './locale';
|
|
2
|
+
//import store from '../store/index';
|
|
3
|
+
//import messages from './locale';
|
|
4
4
|
|
|
5
|
-
store.dispatch('admin/i18n/getLocale');
|
|
5
|
+
//store.dispatch('admin/i18n/getLocale');
|
|
6
6
|
|
|
7
|
-
const locale = store.state.admin.i18n.locale;
|
|
7
|
+
//const locale = store.state.admin.i18n.locale;
|
|
8
8
|
|
|
9
9
|
export default createI18n({
|
|
10
10
|
allowComposition: true,
|
|
11
11
|
globalInjection: true,
|
|
12
|
-
legacy: false
|
|
13
|
-
locale,
|
|
14
|
-
messages
|
|
12
|
+
legacy: false
|
|
13
|
+
// locale,
|
|
14
|
+
// messages
|
|
15
15
|
});
|
package/src/index.js
CHANGED
|
@@ -58,6 +58,7 @@ import NoticeList from './components/home/notice-list.vue';
|
|
|
58
58
|
import modelApi from './api/model';
|
|
59
59
|
import dataSourceApi from './api/dataSource';
|
|
60
60
|
import taskApi from './api/task';
|
|
61
|
+
import applicationApi from './api/application';
|
|
61
62
|
|
|
62
63
|
// 使用样式,修改主题可以在 styles 目录下创建新的主题包并修改 iView 默认的 less 变量
|
|
63
64
|
// 参考 https://www.iviewui.com/docs/guide/theme
|
|
@@ -108,15 +109,18 @@ const components = {
|
|
|
108
109
|
|
|
109
110
|
const install = function (app) {
|
|
110
111
|
if (install.installed) return;
|
|
111
|
-
//locale.use(opts.locale);
|
|
112
|
-
//locale.i18n(opts.i18n);
|
|
113
112
|
|
|
114
|
-
|
|
113
|
+
if (window) {
|
|
114
|
+
//window.$app = getCurrentInstance();
|
|
115
|
+
window.$t = i18n.global.t;
|
|
116
|
+
}
|
|
115
117
|
|
|
116
|
-
app.use(
|
|
118
|
+
app.use(store);
|
|
119
|
+
app.use(i18n);
|
|
117
120
|
app.use(ViewUIPlus, {
|
|
118
121
|
i18n
|
|
119
122
|
});
|
|
123
|
+
app.use(plugins);
|
|
120
124
|
|
|
121
125
|
app.mixin(mixinApp);
|
|
122
126
|
//Vue.use(ckEditor);
|
|
@@ -159,9 +163,9 @@ Object.keys(files).forEach(key => {
|
|
|
159
163
|
// 第一次进入时,取菜单数据用于更新
|
|
160
164
|
let isFirstRouteChange = true;
|
|
161
165
|
|
|
162
|
-
const created = async
|
|
163
|
-
//
|
|
164
|
-
|
|
166
|
+
const created = async vue => {
|
|
167
|
+
// 加载多语言
|
|
168
|
+
await store.dispatch('admin/i18n/load', vue);
|
|
165
169
|
// 初始化动态路由
|
|
166
170
|
//let dynamicRoutes = await dynamicRouter.init(router, pages, layout);
|
|
167
171
|
// 处理路由 得到每一级的路由设置
|
|
@@ -189,9 +193,10 @@ const routeChanged = to => {
|
|
|
189
193
|
//store.dispatch('admin/menu/getMenuList', to);
|
|
190
194
|
}
|
|
191
195
|
|
|
196
|
+
// TODO 权限判断
|
|
192
197
|
//this.appRouteChange(to, from);
|
|
193
198
|
};
|
|
194
199
|
|
|
195
200
|
export default API;
|
|
196
201
|
|
|
197
|
-
export { pages, App, store, i18n, setting, basicLayout, lodop, request, mixinPage, modelApi, dataSourceApi, taskApi, util, createRouter, created, routeChanged };
|
|
202
|
+
export { pages, App, store, i18n, setting, basicLayout, lodop, request, mixinPage, modelApi, dataSourceApi, taskApi, applicationApi, util, createRouter, created, routeChanged };
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<i-menu-head-title :item="item" :hide-icon="!showBreadcrumbIcon" />
|
|
9
9
|
</BreadcrumbItem>
|
|
10
10
|
<BreadcrumbItem>
|
|
11
|
-
<i-menu-head-title :item="
|
|
11
|
+
<i-menu-head-title :item="currentTitle()" :hide-icon="!showBreadcrumbIcon" />
|
|
12
12
|
</BreadcrumbItem>
|
|
13
13
|
</Breadcrumb>
|
|
14
14
|
</template>
|
|
@@ -43,7 +43,14 @@
|
|
|
43
43
|
items.forEach(i => {
|
|
44
44
|
newItems.push(this.siderMenuObject[i]);
|
|
45
45
|
});
|
|
46
|
-
|
|
46
|
+
|
|
47
|
+
if (Setting.layout.showI18n) {
|
|
48
|
+
newItems.forEach(item => {
|
|
49
|
+
item.title = this.$t('Permission_' + item.code);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//items = items.filter(item => item);
|
|
47
54
|
return newItems;
|
|
48
55
|
},
|
|
49
56
|
// 第一级,默认是 menu/header.js 中的第一项
|
|
@@ -51,7 +58,7 @@
|
|
|
51
58
|
return Setting.info.title;
|
|
52
59
|
},
|
|
53
60
|
topItem() {
|
|
54
|
-
return
|
|
61
|
+
return Setting.layout.showI18n ? this.$t('Front_Label_Setting_Info_Title') : Setting.info.title;
|
|
55
62
|
},
|
|
56
63
|
// 得到所有侧边菜单,并转为平级,查询图标及显示对应内容
|
|
57
64
|
allSiderMenu() {
|
|
@@ -84,6 +91,14 @@
|
|
|
84
91
|
this.breadcrumbWidth = parseInt(getStyle($breadcrumb.$el, 'width'));
|
|
85
92
|
}
|
|
86
93
|
});
|
|
94
|
+
},
|
|
95
|
+
currentTitle() {
|
|
96
|
+
let item = this.siderMenuObject[this.activePath];
|
|
97
|
+
if (Setting.layout.showI18n && item) {
|
|
98
|
+
item.title = this.$t('Permission_' + item.code);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return item;
|
|
87
102
|
}
|
|
88
103
|
},
|
|
89
104
|
watch: {
|
|
@@ -5,16 +5,15 @@
|
|
|
5
5
|
</span>
|
|
6
6
|
<template #list>
|
|
7
7
|
<DropdownMenu>
|
|
8
|
-
<DropdownItem v-for="item in languages" :key="
|
|
9
|
-
<
|
|
10
|
-
<span>{{ item.language }}</span>
|
|
8
|
+
<DropdownItem v-for="(item, key) in languages" :key="key" :name="key" :selected="locale === key">
|
|
9
|
+
<span>{{ item }}</span>
|
|
11
10
|
</DropdownItem>
|
|
12
11
|
</DropdownMenu>
|
|
13
12
|
</template>
|
|
14
13
|
</Dropdown>
|
|
15
14
|
</template>
|
|
16
15
|
<script>
|
|
17
|
-
import Setting from '../../../setting';
|
|
16
|
+
//import Setting from '../../../setting';
|
|
18
17
|
import { mapState, mapActions } from 'vuex';
|
|
19
18
|
|
|
20
19
|
export default {
|
|
@@ -27,11 +26,11 @@
|
|
|
27
26
|
},
|
|
28
27
|
data() {
|
|
29
28
|
return {
|
|
30
|
-
languages: Setting.i18n.list
|
|
29
|
+
//languages: Setting.i18n.list
|
|
31
30
|
};
|
|
32
31
|
},
|
|
33
32
|
computed: {
|
|
34
|
-
...mapState('admin/i18n', ['locale']),
|
|
33
|
+
...mapState('admin/i18n', ['locale', 'languages']),
|
|
35
34
|
...mapState('admin/layout', ['isMobile'])
|
|
36
35
|
},
|
|
37
36
|
methods: {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<NotificationTab
|
|
18
|
-
title="
|
|
18
|
+
:title="$t('Front_Label_Todo')"
|
|
19
19
|
name="task"
|
|
20
20
|
:count="taskCount"
|
|
21
21
|
:loaded-all="taskFilter.page * taskFilter.per >= taskCount"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
/>
|
|
36
36
|
</NotificationTab>
|
|
37
37
|
<NotificationTab
|
|
38
|
-
title="
|
|
38
|
+
:title="$t('Front_Label_Notification')"
|
|
39
39
|
name="notification"
|
|
40
40
|
:count="unreadCount"
|
|
41
41
|
:loaded-all="notificationFilter.page * notificationFilter.per >= notificationCount"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<span v-if="isDesktop" class="i-layout-header-trigger i-layout-header-trigger-min i-layout-header-trigger-in i-layout-header-trigger-nohover">
|
|
3
|
-
<input class="i-layout-header-search" type="text" :placeholder="$t('
|
|
3
|
+
<input class="i-layout-header-search" type="text" :placeholder="$t('Front_Label_Search')" />
|
|
4
4
|
</span>
|
|
5
5
|
<Dropdown v-else trigger="click" class="i-layout-header-search-drop" ref="dropdown">
|
|
6
6
|
<span class="i-layout-header-trigger i-layout-header-trigger-min">
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
<DropdownMenu>
|
|
11
11
|
<Row align="middle">
|
|
12
12
|
<Col flex="auto" class="ivu-pl-4">
|
|
13
|
-
<Input size="large" prefix="ios-search" :placeholder="$t('
|
|
13
|
+
<Input size="large" prefix="ios-search" :placeholder="$t('Front_Label_Search')" />
|
|
14
14
|
</Col>
|
|
15
15
|
<Col flex="80px" class="ivu-text-center">
|
|
16
|
-
<span @click="handleCloseSearch">{{ $t('
|
|
16
|
+
<span @click="handleCloseSearch">{{ $t('Front_Btn_Cancel') }}</span>
|
|
17
17
|
</Col>
|
|
18
18
|
</Row>
|
|
19
19
|
</DropdownMenu>
|