cloud-web-corejs 1.0.54-dev.183 → 1.0.54-dev.185
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/xform/form-designer/form-widget/field-widget/fieldMixin.js +1338 -1
- package/src/views/bd/setting/table_model/edit.vue +0 -2
- package/src/views/bd/setting/table_model/mixins/edit.js +1087 -1
- package/src/views/user/wf/wf_manage/list.vue +2 -149
- package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
- package/src/views/user/wf/wf_obj_config/list.vue +102 -4
@@ -93,56 +93,6 @@
|
|
93
93
|
</el-select>
|
94
94
|
</template>
|
95
95
|
</vxe-form-item>
|
96
|
-
|
97
|
-
<vxe-form-item :title="$t1('机构')+':'" field="param4">
|
98
|
-
<template v-slot>
|
99
|
-
<el-input
|
100
|
-
class="search-input"
|
101
|
-
max="200"
|
102
|
-
v-model="formData.param4"
|
103
|
-
@clear="
|
104
|
-
formData.param3 = null;
|
105
|
-
$forceUpdate();
|
106
|
-
"
|
107
|
-
v-el-readonly
|
108
|
-
clearable
|
109
|
-
>
|
110
|
-
<i slot="suffix" class="el-input__icon el-icon-search"
|
111
|
-
@click="showSaleOrgDialog = true"></i>
|
112
|
-
</el-input>
|
113
|
-
</template>
|
114
|
-
</vxe-form-item>
|
115
|
-
<vxe-form-item :title="$t1('大区')+':'" field="param6">
|
116
|
-
<template v-slot>
|
117
|
-
<el-input
|
118
|
-
class="search-input"
|
119
|
-
max="200"
|
120
|
-
v-model="formData.param6"
|
121
|
-
@clear="
|
122
|
-
formData.param5 = null;
|
123
|
-
$forceUpdate();
|
124
|
-
"
|
125
|
-
v-el-readonly
|
126
|
-
clearable
|
127
|
-
>
|
128
|
-
<i slot="suffix" class="el-input__icon el-icon-search"
|
129
|
-
@click="showAreaDialog = true"></i>
|
130
|
-
</el-input>
|
131
|
-
</template>
|
132
|
-
</vxe-form-item>
|
133
|
-
|
134
|
-
<vxe-form-item :title="$t1('产品线')+':'" field="param7">
|
135
|
-
<template v-slot>
|
136
|
-
<el-input v-model="formData.param7" size="small" clearable/>
|
137
|
-
</template>
|
138
|
-
</vxe-form-item>
|
139
|
-
|
140
|
-
<vxe-form-item :title="$t1('授权医院')+':'" field="param8">
|
141
|
-
<template v-slot>
|
142
|
-
<el-input v-model="formData.param8" size="small" clearable/>
|
143
|
-
</template>
|
144
|
-
</vxe-form-item>
|
145
|
-
|
146
96
|
</vxe-form>
|
147
97
|
</template>
|
148
98
|
</vxe-grid>
|
@@ -202,54 +152,6 @@
|
|
202
152
|
</el-select>
|
203
153
|
</template>
|
204
154
|
</vxe-form-item>
|
205
|
-
<vxe-form-item :title="$t1('机构')+':'" field="param4">
|
206
|
-
<template v-slot>
|
207
|
-
<el-input
|
208
|
-
class="search-input"
|
209
|
-
max="200"
|
210
|
-
v-model="formData2.param4"
|
211
|
-
@clear="
|
212
|
-
formData2.param3 = null;
|
213
|
-
$forceUpdate();
|
214
|
-
"
|
215
|
-
v-el-readonly
|
216
|
-
clearable
|
217
|
-
>
|
218
|
-
<i slot="suffix" class="el-input__icon el-icon-search"
|
219
|
-
@click="showSaleOrgDialog = true"></i>
|
220
|
-
</el-input>
|
221
|
-
</template>
|
222
|
-
</vxe-form-item>
|
223
|
-
<vxe-form-item :title="$t1('大区')+':'" field="param6">
|
224
|
-
<template v-slot>
|
225
|
-
<el-input
|
226
|
-
class="search-input"
|
227
|
-
max="200"
|
228
|
-
v-model="formData2.param6"
|
229
|
-
@clear="
|
230
|
-
formData2.param5 = null;
|
231
|
-
$forceUpdate();
|
232
|
-
"
|
233
|
-
v-el-readonly
|
234
|
-
clearable
|
235
|
-
>
|
236
|
-
<i slot="suffix" class="el-input__icon el-icon-search"
|
237
|
-
@click="showAreaDialog2 = true"></i>
|
238
|
-
</el-input>
|
239
|
-
</template>
|
240
|
-
</vxe-form-item>
|
241
|
-
|
242
|
-
<vxe-form-item :title="$t1('产品线')+':'" field="param7">
|
243
|
-
<template v-slot>
|
244
|
-
<el-input v-model="formData2.param7" size="small" clearable/>
|
245
|
-
</template>
|
246
|
-
</vxe-form-item>
|
247
|
-
|
248
|
-
<vxe-form-item :title="$t1('授权医院')+':'" field="param8">
|
249
|
-
<template v-slot>
|
250
|
-
<el-input v-model="formData2.param8" size="small" clearable/>
|
251
|
-
</template>
|
252
|
-
</vxe-form-item>
|
253
155
|
</vxe-form>
|
254
156
|
</template>
|
255
157
|
</vxe-grid>
|
@@ -260,28 +162,15 @@
|
|
260
162
|
@confirm="confirmInsertWfObjConfig" :multi="false"></wfObjConfigDialog>
|
261
163
|
<wfObjConfigDialog v-if="showWfObjConfigDialog2" :visiable.sync="showWfObjConfigDialog2" :type="99"
|
262
164
|
@confirm="confirmInsertWfObjConfig2" :multi="false"></wfObjConfigDialog>
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
<saleOrgDialog v-if="showSaleOrgDialog" :visiable.sync="showSaleOrgDialog" @confirm="confirmInsertSaleOrg" :multi="false"></saleOrgDialog>
|
267
|
-
|
268
|
-
<saleOrgDialog v-if="showSaleOrgDialog2" :visiable.sync="showSaleOrgDialog2" @confirm="confirmInsertSaleOrg2" :multi="false"></saleOrgDialog>
|
269
|
-
|
270
|
-
<areaDialog v-if="showAreaDialog" :visiable.sync="showAreaDialog"
|
271
|
-
@confirm="confirmInsertArea" :multi="false"></areaDialog>
|
272
|
-
<areaDialog v-if="showAreaDialog2" :visiable.sync="showAreaDialog2"
|
273
|
-
@confirm="confirmInsertArea2" :multi="false"></areaDialog>
|
274
165
|
</div>
|
275
166
|
</template>
|
276
167
|
<script>
|
277
168
|
import {treeScollx} from '@base/utils/global.js';
|
278
|
-
import wfObjConfigDialog from '
|
279
|
-
import saleOrgDialog from '@base/views/user/sale_org/dialog.vue';
|
280
|
-
import areaDialog from '@base/views/user/area/dialog.vue';
|
169
|
+
import wfObjConfigDialog from '../../../../views/user/wf/wf_obj_config/dialog.vue';
|
281
170
|
|
282
171
|
export default {
|
283
172
|
name: 'wf_manage:list',
|
284
|
-
components: {wfObjConfigDialog
|
173
|
+
components: {wfObjConfigDialog},
|
285
174
|
created() {
|
286
175
|
},
|
287
176
|
async mounted() {
|
@@ -292,12 +181,6 @@ export default {
|
|
292
181
|
},
|
293
182
|
data() {
|
294
183
|
return {
|
295
|
-
showSaleOrgDialog:false,
|
296
|
-
showSaleOrgDialog2:false,
|
297
|
-
showAreaDialog:false,
|
298
|
-
showAreaDialog2:false,
|
299
|
-
|
300
|
-
|
301
184
|
activeName: 'second',
|
302
185
|
// dataId: 0,
|
303
186
|
// showEdit: false,
|
@@ -785,36 +668,6 @@ export default {
|
|
785
668
|
this.$set(this.formData2, 'objTypeCode', row.objTypeCode);
|
786
669
|
}
|
787
670
|
},
|
788
|
-
|
789
|
-
confirmInsertArea(rows) {
|
790
|
-
if (rows.length) {
|
791
|
-
let row = rows[0];
|
792
|
-
this.$set(this.formData, 'param5', row.id+"");
|
793
|
-
this.$set(this.formData, 'param6', row.name);
|
794
|
-
}
|
795
|
-
},
|
796
|
-
confirmInsertSaleOrg(rows) {
|
797
|
-
if (rows.length) {
|
798
|
-
let row = rows[0];
|
799
|
-
this.$set(this.formData, 'param3', row.id+"");
|
800
|
-
this.$set(this.formData, 'param4', row.name);
|
801
|
-
}
|
802
|
-
},
|
803
|
-
confirmInsertArea2(rows) {
|
804
|
-
if (rows.length) {
|
805
|
-
let row = rows[0];
|
806
|
-
this.$set(this.formData2, 'param3', row.id+"");
|
807
|
-
this.$set(this.formData2, 'param4', row.name);
|
808
|
-
}
|
809
|
-
},
|
810
|
-
confirmInsertSaleOrg2(rows) {
|
811
|
-
if (rows.length) {
|
812
|
-
let row = rows[0];
|
813
|
-
this.$set(this.formData2, 'param5', row.id+"");
|
814
|
-
this.$set(this.formData2, 'param6', row.name);
|
815
|
-
}
|
816
|
-
},
|
817
|
-
|
818
671
|
}
|
819
672
|
};
|
820
673
|
</script>
|
@@ -0,0 +1,109 @@
|
|
1
|
+
<template>
|
2
|
+
<el-dialog
|
3
|
+
:title="$t1('导入流程模板XML')"
|
4
|
+
:append-to-body="falseValue"
|
5
|
+
:modal-append-to-body="falseValue"
|
6
|
+
:close-on-click-modal="falseValue"
|
7
|
+
:visible.sync="showImportDialog"
|
8
|
+
:modal="falseValue"
|
9
|
+
custom-class="dialog-style"
|
10
|
+
width="501px"
|
11
|
+
v-el-drag-dialog
|
12
|
+
>
|
13
|
+
<div class="import-box">
|
14
|
+
<!-- <div class="tips">{{ $t2('请下载文件模板,填写信息后再上传文件', 'components.excelImport.tip') }}</div>-->
|
15
|
+
<el-upload v-if="!fileRaw" ref="uploadBtn" action="" class="upload-file" :auto-upload="false"
|
16
|
+
:on-change="fileChange" accept=".xml">
|
17
|
+
<div class="el-upload-dragger">
|
18
|
+
<i class="el-icon-upload"></i>
|
19
|
+
<div class="el-upload__text"><em>{{ $t2('点击上传', 'components.excelImport.uploadBUtton') }}</em></div>
|
20
|
+
</div>
|
21
|
+
</el-upload>
|
22
|
+
<div class="upload-finish" v-if="fileRaw">
|
23
|
+
<img :src="require('@/resources' + '/images/ico-txt.svg')" class="ico"/>
|
24
|
+
<p class="name">{{ fileRaw.name }}</p>
|
25
|
+
<!-- <p>2022-1-17</p> -->
|
26
|
+
<el-tooltip :enterable="false" class="item" effect="dark"
|
27
|
+
:content="$t2('关闭', 'components.excelImport.closeBUtton')" placement="bottom">
|
28
|
+
<i
|
29
|
+
class="el-icon-error js-close"
|
30
|
+
@click="
|
31
|
+
fileRaw = false;
|
32
|
+
$refs.uploadBtn.clearFiles();
|
33
|
+
"
|
34
|
+
></i>
|
35
|
+
</el-tooltip>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
<span slot="footer" class="dialog-footer">
|
39
|
+
<el-button type="primary" plain class="button-sty" @click="dialogClose1">
|
40
|
+
<i class="el-icon-close el-icon"></i>
|
41
|
+
{{ $t2('取 消', 'system.button.cancel2') }}
|
42
|
+
</el-button>
|
43
|
+
<el-button type="primary" @click="dialogPrimary1" class="button-sty">
|
44
|
+
<i class="el-icon-check el-icon"></i>
|
45
|
+
{{ $t2('确 定', 'system.button.confirm2') }}
|
46
|
+
</el-button>
|
47
|
+
</span>
|
48
|
+
</el-dialog>
|
49
|
+
</template>
|
50
|
+
|
51
|
+
<script>
|
52
|
+
|
53
|
+
export default {
|
54
|
+
name: 'excelImport',
|
55
|
+
data() {
|
56
|
+
return {
|
57
|
+
excTime: 0,
|
58
|
+
showImportDialog: true,
|
59
|
+
showImportDialog2: false,
|
60
|
+
falseValue: false,
|
61
|
+
fileRaw: false,
|
62
|
+
isEnd: false,
|
63
|
+
currentIndex: 0,
|
64
|
+
excelTemplate: "",
|
65
|
+
prefix: '/user',
|
66
|
+
dataSize: 0,
|
67
|
+
totalSuccessNum: 0,
|
68
|
+
totalErrorNum: 0,
|
69
|
+
percentageNum: 0,
|
70
|
+
successRows: [],
|
71
|
+
failRows: [],
|
72
|
+
oriCols: [],
|
73
|
+
showImportResult: false,
|
74
|
+
resultType: '',
|
75
|
+
option: {},
|
76
|
+
showContent: false,
|
77
|
+
resOption: {},
|
78
|
+
abc: "A"
|
79
|
+
}
|
80
|
+
},
|
81
|
+
|
82
|
+
methods: {
|
83
|
+
fileChange(file) {
|
84
|
+
if (file) {
|
85
|
+
this.fileRaw = file.raw;
|
86
|
+
} else {
|
87
|
+
this.fileRaw = false;
|
88
|
+
}
|
89
|
+
},
|
90
|
+
dialogClose1() {
|
91
|
+
this.$emit("update:visiable", false);
|
92
|
+
this.showContent = false;
|
93
|
+
},
|
94
|
+
async dialogPrimary1() {
|
95
|
+
let that = this;
|
96
|
+
if (!(this.fileRaw)) {
|
97
|
+
this.$baseAlert(this.$t2('请上传附件', 'components.excelImport.warmMsg1'));
|
98
|
+
return false;
|
99
|
+
}
|
100
|
+
this.showImportDialog = false;
|
101
|
+
|
102
|
+
this.dialogClose1();
|
103
|
+
this.$emit("confirm",that.fileRaw)
|
104
|
+
|
105
|
+
},
|
106
|
+
|
107
|
+
}
|
108
|
+
};
|
109
|
+
</script>
|
@@ -113,6 +113,8 @@
|
|
113
113
|
<wfBizDataSettingDialog v-if="showWfBizDataSettingDialog" :visiable.sync="showWfBizDataSettingDialog"
|
114
114
|
@confirm="confirmWfBizDataSettingDialog"
|
115
115
|
:objConfigItem="objConfigItem" :serviceId="currentRow.serviceId"></wfBizDataSettingDialog>
|
116
|
+
|
117
|
+
<importItemDialog v-if="showImportItemDialog" :visiable.sync="showImportItemDialog" @confirm="confirmImportItemDialog"/>
|
116
118
|
</div>
|
117
119
|
</template>
|
118
120
|
<script>
|
@@ -128,6 +130,9 @@ import scriptDescriptionDialog from '@base/components/scriptDescription/dialog'
|
|
128
130
|
import wfDiyAttributeEdit from '../../../../views/user/wf/wf_diy_attribute/edit'
|
129
131
|
import wfBizDataSettingDialog from "./wfBizDataSettingDialog";
|
130
132
|
|
133
|
+
import importItemDialog from "./importItemDialog.vue";
|
134
|
+
|
135
|
+
|
131
136
|
|
132
137
|
export default {
|
133
138
|
name: 'wf_obj_config:list',
|
@@ -139,7 +144,8 @@ export default {
|
|
139
144
|
positionDialog,
|
140
145
|
scriptDescriptionDialog,
|
141
146
|
wfDiyAttributeEdit,
|
142
|
-
wfBizDataSettingDialog
|
147
|
+
wfBizDataSettingDialog,
|
148
|
+
importItemDialog
|
143
149
|
},
|
144
150
|
created() {
|
145
151
|
},
|
@@ -189,7 +195,8 @@ export default {
|
|
189
195
|
showWfDiyAttributeEdit: false,
|
190
196
|
|
191
197
|
objConfigItem: null,
|
192
|
-
showWfBizDataSettingDialog: false
|
198
|
+
showWfBizDataSettingDialog: false,
|
199
|
+
showImportItemDialog:false
|
193
200
|
};
|
194
201
|
},
|
195
202
|
watch: {
|
@@ -467,7 +474,7 @@ export default {
|
|
467
474
|
width: 200
|
468
475
|
},
|
469
476
|
{
|
470
|
-
width:
|
477
|
+
width: 200,
|
471
478
|
fixed: 'right',
|
472
479
|
sortable: false,
|
473
480
|
title: '',
|
@@ -497,7 +504,31 @@ export default {
|
|
497
504
|
popper-class="tooltip-skin">
|
498
505
|
<i class="iconfont icon-liuchengguanli-shejiqi_liucheng"/>
|
499
506
|
</el-tooltip>
|
500
|
-
</a
|
507
|
+
</a>,
|
508
|
+
<a
|
509
|
+
href="javascript:void(0);"
|
510
|
+
class="a-link"
|
511
|
+
onclick={() => {
|
512
|
+
this.exportWfXml(row);
|
513
|
+
}}
|
514
|
+
>
|
515
|
+
<el-tooltip enterable={false} effect="dark" content={this.$t1('导出')} placement="top"
|
516
|
+
popper-class="tooltip-skin">
|
517
|
+
<i class="el-icon-upload2"/>
|
518
|
+
</el-tooltip>
|
519
|
+
</a>,
|
520
|
+
<a
|
521
|
+
href="javascript:void(0);"
|
522
|
+
class="a-link"
|
523
|
+
onclick={() => {
|
524
|
+
this.importWfXml(row);
|
525
|
+
}}
|
526
|
+
>
|
527
|
+
<el-tooltip enterable={false} effect="dark" content={this.$t1('导入')} placement="top"
|
528
|
+
popper-class="tooltip-skin">
|
529
|
+
<i class="el-icon-download"/>
|
530
|
+
</el-tooltip>
|
531
|
+
</a>,
|
501
532
|
];
|
502
533
|
}
|
503
534
|
}
|
@@ -623,6 +654,73 @@ export default {
|
|
623
654
|
},
|
624
655
|
confirmWfBizDataSettingDialog(rows) {
|
625
656
|
|
657
|
+
},
|
658
|
+
saveAs(blob, filename) {
|
659
|
+
if (window.navigator.msSaveOrOpenBlob) {
|
660
|
+
navigator.msSaveBlob(blob, filename);
|
661
|
+
} else {
|
662
|
+
var link = document.createElement("a");
|
663
|
+
var body = document.querySelector("body");
|
664
|
+
|
665
|
+
link.href = window.URL.createObjectURL(blob);
|
666
|
+
link.download = filename;
|
667
|
+
|
668
|
+
// fix Firefox
|
669
|
+
link.style.display = "none";
|
670
|
+
body.appendChild(link);
|
671
|
+
|
672
|
+
link.click();
|
673
|
+
body.removeChild(link);
|
674
|
+
|
675
|
+
window.URL.revokeObjectURL(link.href);
|
676
|
+
}
|
677
|
+
},
|
678
|
+
exportWfXml(row){
|
679
|
+
this.$baseConfirm(this.$t1('您确定要导出吗?')).then(() => {
|
680
|
+
this.$http({
|
681
|
+
url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/exportModelXml',
|
682
|
+
method: `post`,
|
683
|
+
data: {
|
684
|
+
stringOne:row.modelId
|
685
|
+
},
|
686
|
+
isLoading: true,
|
687
|
+
responseType: "blob",
|
688
|
+
resultType: "other",
|
689
|
+
callback: res => {
|
690
|
+
let fileName = row.modelName + ".bpmn20.xml"
|
691
|
+
this.saveAs(res,fileName)
|
692
|
+
}
|
693
|
+
});
|
694
|
+
});
|
695
|
+
},
|
696
|
+
importWfXml(row){
|
697
|
+
this.importXmlRow = row;
|
698
|
+
this.showImportItemDialog = true;
|
699
|
+
},
|
700
|
+
confirmImportItemDialog(file){
|
701
|
+
var form = new FormData();
|
702
|
+
// 文件对象
|
703
|
+
form.append("file", file);
|
704
|
+
form.append("modelId", this.importXmlRow.modelId);
|
705
|
+
this.$http({
|
706
|
+
url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/importProcess',
|
707
|
+
method: `post`,
|
708
|
+
headers: {
|
709
|
+
'Content-Type': 'multipart/form-data'
|
710
|
+
},
|
711
|
+
data: form,
|
712
|
+
isLoading: true,
|
713
|
+
success: res => {
|
714
|
+
this.$message({
|
715
|
+
message: res.content,
|
716
|
+
type: 'success',
|
717
|
+
duration: 2000,
|
718
|
+
onClose: t => {
|
719
|
+
|
720
|
+
}
|
721
|
+
});
|
722
|
+
}
|
723
|
+
});
|
626
724
|
}
|
627
725
|
}
|
628
726
|
};
|