vue2-client 1.14.65 → 1.14.67
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/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -1
- package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +1 -2
- package/package.json +1 -1
- package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
- package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
- package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
- package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
- package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
- package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +14 -12
- package/src/components/FileImageItem/FileItem.vue +268 -23
- package/src/components/FileImageItem/FileItemGroup.vue +197 -0
- package/src/components/FileImageItem/ImageItem.vue +32 -3
- package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
- package/src/pages/WorkflowDetail/WorkflowDetail.vue +16 -7
- package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +79 -35
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1 -1
- package/src/router/async/router.map.js +2 -2
- package/src/services/api/workFlow.js +3 -1
- package/.history/public/his/editor/editor_20250606134713.html +0 -51
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
- package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
- package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
- package/src/base-client/components/TreeList/TreeList.vue +0 -91
- package/src/base-client/components/TreeList/TreeNode.vue +0 -81
- package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
|
@@ -37,33 +37,59 @@
|
|
|
37
37
|
<a-tab-pane key="0" tab="步骤详情">
|
|
38
38
|
<a-card :bordered="false" :loading="loadingHistory">
|
|
39
39
|
<!-- 当前步骤历史记录 -->
|
|
40
|
-
<template v-if="formCompletedDataPreview">
|
|
40
|
+
<template v-if="formCompletedDataPreview && formCompletedDataPreview.data.length > 0">
|
|
41
41
|
<a-descriptions
|
|
42
42
|
v-show="formCompletedDataPreview.data"
|
|
43
43
|
:column="{ xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 }"
|
|
44
|
-
title="步骤历史记录"
|
|
45
44
|
bordered
|
|
45
|
+
class="descriptionPreviewItem"
|
|
46
46
|
>
|
|
47
|
+
<p slot="title" class="descriptionTitle">
|
|
48
|
+
填写历史
|
|
49
|
+
</p>
|
|
47
50
|
<a-descriptions-item
|
|
48
|
-
v-for="item in
|
|
49
|
-
:key="item.label"
|
|
51
|
+
v-for="(item, index) in formPreviewNoFileData"
|
|
52
|
+
:key="`${item.label}-${index}`"
|
|
50
53
|
>
|
|
51
54
|
<span slot="label" style="color: #000">{{ item.label }}</span>
|
|
52
55
|
<div style="white-space: pre-wrap">{{ item.value }}</div>
|
|
53
56
|
</a-descriptions-item>
|
|
54
57
|
</a-descriptions>
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
<a-descriptions
|
|
59
|
+
v-show="formCompletedDataPreview.note"
|
|
60
|
+
bordered
|
|
61
|
+
class="descriptionPreviewItem"
|
|
62
|
+
>
|
|
63
|
+
<p slot="title" class="descriptionTitle">
|
|
64
|
+
备注
|
|
65
|
+
</p>
|
|
66
|
+
<a-descriptions-item>
|
|
67
|
+
<span slot="label" style="color: #000">备注信息</span>
|
|
68
|
+
<p style="white-space: pre-wrap">{{ formCompletedDataPreview.note }}</p>
|
|
69
|
+
</a-descriptions-item>
|
|
70
|
+
</a-descriptions>
|
|
71
|
+
<a-descriptions
|
|
72
|
+
v-show="formCompletedDataPreview.images.length"
|
|
73
|
+
class="descriptionPreviewItem allWidth"
|
|
74
|
+
>
|
|
75
|
+
<p slot="title" class="descriptionTitle">
|
|
76
|
+
图片
|
|
77
|
+
</p>
|
|
78
|
+
<a-descriptions-item>
|
|
79
|
+
<image-item :images="formCompletedDataPreview.images" />
|
|
80
|
+
</a-descriptions-item>
|
|
81
|
+
</a-descriptions>
|
|
82
|
+
<a-descriptions
|
|
83
|
+
v-show="formCompletedDataPreview.files.length"
|
|
84
|
+
class="descriptionPreviewItem allWidth"
|
|
85
|
+
>
|
|
86
|
+
<p slot="title" class="descriptionTitle">
|
|
87
|
+
附件
|
|
88
|
+
</p>
|
|
89
|
+
<a-descriptions-item>
|
|
90
|
+
<file-item :files="formCompletedDataPreview.files" />
|
|
91
|
+
</a-descriptions-item>
|
|
92
|
+
</a-descriptions>
|
|
67
93
|
</template>
|
|
68
94
|
<!-- 当前步骤无记录 -->
|
|
69
95
|
<template v-else>
|
|
@@ -75,7 +101,7 @@
|
|
|
75
101
|
</template>
|
|
76
102
|
<template v-else>
|
|
77
103
|
<a-tab-pane key="1" tab="业务操作">
|
|
78
|
-
<a-card :bordered="false" :loading="loadingHistory">
|
|
104
|
+
<a-card :bordered="false" :loading="loadingHistory" :body-style="{ paddingTop: 0 }">
|
|
79
105
|
<template v-if="showTab">
|
|
80
106
|
<x-tab :local-config="tabDesigner" :body-style="{ padding: 0 }" :tabBarGutter="24" default-active-key="workFlowTab">
|
|
81
107
|
<a-tab-pane
|
|
@@ -182,7 +208,7 @@
|
|
|
182
208
|
</a-button>
|
|
183
209
|
</a-popover>
|
|
184
210
|
<a-button
|
|
185
|
-
v-
|
|
211
|
+
v-if="lastStep"
|
|
186
212
|
type="primary"
|
|
187
213
|
@click="lastStepNextClick"
|
|
188
214
|
>
|
|
@@ -198,14 +224,14 @@
|
|
|
198
224
|
<!-- 退回 -->
|
|
199
225
|
<a-tab-pane v-if="canSubmit && !beforeStepActive && showPrevBtn && !workflowState" key="2" tab="退回">
|
|
200
226
|
<a-form layout="vertical">
|
|
201
|
-
<a-form-item label="退回原因" :wrapper-col="{ span:
|
|
227
|
+
<a-form-item label="退回原因" :wrapper-col="{ span: 24 }" required>
|
|
202
228
|
<a-textarea
|
|
203
229
|
v-model="note"
|
|
204
230
|
:auto-size="{ minRows: 4, maxRows: 10 }"
|
|
205
231
|
placeholder="请填写退回原因 / 备注"
|
|
206
232
|
/>
|
|
207
233
|
</a-form-item>
|
|
208
|
-
<a-form-item :wrapper-col="{ offset:
|
|
234
|
+
<a-form-item :wrapper-col="{ offset: 11 }">
|
|
209
235
|
<a-popover :title="preBtnTitle">
|
|
210
236
|
<template slot="content">
|
|
211
237
|
<p v-for="(item,index) in preBtnText" :key="index">{{ item }}</p>
|
|
@@ -226,10 +252,6 @@
|
|
|
226
252
|
<workflow-list-resolution :workflow-project-id="workflowId" :details="details"></workflow-list-resolution>
|
|
227
253
|
</a-tab-pane>
|
|
228
254
|
</a-tabs>
|
|
229
|
-
<!-- 文件预览 -->
|
|
230
|
-
<a-modal v-model="previewFileVisible" :footer="null" :dialog-style="{ top: '20px' }" width="85%" :z-index="1001">
|
|
231
|
-
<file-preview :path="filePath"/>
|
|
232
|
-
</a-modal>
|
|
233
255
|
</template>
|
|
234
256
|
</div>
|
|
235
257
|
</template>
|
|
@@ -271,7 +293,7 @@ export default {
|
|
|
271
293
|
...mapState('account', { currUser: 'user' }),
|
|
272
294
|
canSubmit () {
|
|
273
295
|
// 对于超级管理员直接认为可以提交
|
|
274
|
-
if (this.currUser.
|
|
296
|
+
if (this.currUser.name === '超级管理员') {
|
|
275
297
|
return true
|
|
276
298
|
}
|
|
277
299
|
// currentStepId可能还没初始化,此处拿不到先返回false
|
|
@@ -309,6 +331,9 @@ export default {
|
|
|
309
331
|
}
|
|
310
332
|
|
|
311
333
|
return false
|
|
334
|
+
},
|
|
335
|
+
formPreviewNoFileData () {
|
|
336
|
+
return this.formCompletedDataPreview.data.filter(item => item.label !== '附件上传')
|
|
312
337
|
}
|
|
313
338
|
},
|
|
314
339
|
data () {
|
|
@@ -391,9 +416,6 @@ export default {
|
|
|
391
416
|
deadlineHelp: '',
|
|
392
417
|
// 当前任务是否延期
|
|
393
418
|
// taskIsOverdue: moment().isAfter(this.completeTime, 'day'),
|
|
394
|
-
// 预览图片弹框
|
|
395
|
-
previewFileVisible: false,
|
|
396
|
-
filePath: '',
|
|
397
419
|
// 操作类型,提交到下一步或跳过
|
|
398
420
|
operationType: 'submit',
|
|
399
421
|
// 获取微信推送是否成功信息
|
|
@@ -711,7 +733,8 @@ export default {
|
|
|
711
733
|
businessType: '修改',
|
|
712
734
|
formItems: this.stepDefine,
|
|
713
735
|
layout: properties.form.xAddFormLayout,
|
|
714
|
-
showSubmitBtn: false
|
|
736
|
+
showSubmitBtn: false,
|
|
737
|
+
isKeyHandle: false
|
|
715
738
|
})
|
|
716
739
|
})
|
|
717
740
|
} else {
|
|
@@ -872,7 +895,7 @@ export default {
|
|
|
872
895
|
if (this.checkedChargePerson) {
|
|
873
896
|
// 使用 value 找到对应的 label
|
|
874
897
|
stepHandler = this.chargePersonOptions.find(item => item.value === this.checkedChargePerson).label
|
|
875
|
-
} else if (this.chargePerson.personList.length > 0) {
|
|
898
|
+
} else if (this.chargePerson.personList && this.chargePerson.personList.length > 0) {
|
|
876
899
|
stepHandler = this.chargePerson.personList.map(item => item.name).join(',')
|
|
877
900
|
}
|
|
878
901
|
return stepHandler
|
|
@@ -906,11 +929,6 @@ export default {
|
|
|
906
929
|
...extra
|
|
907
930
|
})
|
|
908
931
|
},
|
|
909
|
-
// 文件预览
|
|
910
|
-
handlePreviewFile (url) {
|
|
911
|
-
this.filePath = url
|
|
912
|
-
this.previewFileVisible = true
|
|
913
|
-
},
|
|
914
932
|
// 获取默认截止时间
|
|
915
933
|
getDefaultDeadline () {
|
|
916
934
|
const date = new Date()
|
|
@@ -1063,4 +1081,30 @@ export default {
|
|
|
1063
1081
|
:deep(.ant-result){
|
|
1064
1082
|
padding: 0;
|
|
1065
1083
|
}
|
|
1084
|
+
.descriptionPreviewItem {
|
|
1085
|
+
margin-bottom: 22px;
|
|
1086
|
+
:deep(.ant-descriptions-view) {
|
|
1087
|
+
overflow: visible;
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
.allWidth {
|
|
1091
|
+
:deep(.ant-descriptions-item-content) {
|
|
1092
|
+
width: 100%;
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
.descriptionTitle {
|
|
1096
|
+
position: relative;
|
|
1097
|
+
padding-left: 12px;
|
|
1098
|
+
&::before {
|
|
1099
|
+
content: '';
|
|
1100
|
+
position: absolute;
|
|
1101
|
+
left: 0;
|
|
1102
|
+
top: 50%;
|
|
1103
|
+
transform: translateY(-50%);
|
|
1104
|
+
width: 4px;
|
|
1105
|
+
height: 16px;
|
|
1106
|
+
background-color: @primary-color;
|
|
1107
|
+
border-radius: 2px;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1066
1110
|
</style>
|
|
@@ -56,7 +56,7 @@ routerResource.example = {
|
|
|
56
56
|
path: 'example',
|
|
57
57
|
name: '示例主页面',
|
|
58
58
|
// component: () => import('@vue2-client/base-client/components/common/XDescriptions/demo.vue'),
|
|
59
|
-
component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
|
|
59
|
+
// component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
|
|
60
60
|
// component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
|
|
61
61
|
// component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
|
|
62
62
|
// component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
|
|
@@ -65,7 +65,7 @@ routerResource.example = {
|
|
|
65
65
|
// component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
|
|
66
66
|
// component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
|
|
67
67
|
// component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue'),
|
|
68
|
-
|
|
68
|
+
component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
|
|
69
69
|
// component: () => import('@vue2-client/base-client/components/common/XConversation/XConversationDemo.vue'),
|
|
70
70
|
// component: () => import('@vue2-client/base-client/components/common/XButtons/XButtonDemo.vue'),
|
|
71
71
|
// component: () => import('@vue2-client/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue'),
|
|
@@ -55,7 +55,9 @@ const workFlowViewApi = {
|
|
|
55
55
|
// 根据人查询对应的t_workflow_step中字段f_workflow_id的数据组
|
|
56
56
|
getWorkFlowStepWorkFlowId: '/logic/getWorkFlowStepWorkFlowId',
|
|
57
57
|
// 表单提交到下一步
|
|
58
|
-
submitToNextStep: '/logic/submitToNextStep'
|
|
58
|
+
submitToNextStep: '/logic/submitToNextStep',
|
|
59
|
+
// 获取指定工作流的附件列表
|
|
60
|
+
getWorkFlowAttachments: '/logic/getWorkFlowAttachments',
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
export { workFlowViewApi }
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8"/>
|
|
5
|
-
<link rel="shortcut icon" href="./favicon.svg" type="image/svg+xml"/>
|
|
6
|
-
<link rel="stylesheet" href="./vender/jquery/zTreeStyle/zTreeStyle.css" type="text/css">
|
|
7
|
-
<script src = "./vender/jquery/jquery.js"></script>
|
|
8
|
-
<script src = "./vender/date97/WdatePicker.js"></script>
|
|
9
|
-
<script src = "./vender/jquery/jquery.ztree.core.min.js"></script>
|
|
10
|
-
<script src = "./vender/jquery/jquery.ztree.exedit.min.js"></script>
|
|
11
|
-
<script src = "./vender/jquery/jquery.ztree.exhide.min.js"></script>
|
|
12
|
-
<script src = "./vender/codemirror.js"></script>
|
|
13
|
-
<script src = "./vender/fabric.js"></script>
|
|
14
|
-
<script src="./vender/editor.js"></script>
|
|
15
|
-
<script>
|
|
16
|
-
$(function() {
|
|
17
|
-
//配置项可以不设置,会使用默认设置
|
|
18
|
-
let option = {
|
|
19
|
-
license:'QO1pepfLYwDNqGvW21ensj0psE9CxBxf5MSRD1q2sCvclYGGtk6clTZEIth12i4SvvvDC04ZNcHe3uQuNtBUFcAk7sHUwAdYvffM2aZis/jpZqrm1rDGk1NHYsheD6DroF+m3jZ5Izh/LxRjzZJfaHHejfrn5InFoSqErfPm4gY=',
|
|
20
|
-
mode:'form', //默认模式 form:表单模式,design:设计模式
|
|
21
|
-
pdfUrl:'https://www.x-emr.cn/pdf/post', //pdf生成服务
|
|
22
|
-
dictionary: [ //知识库
|
|
23
|
-
{name: '体征', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=20', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
24
|
-
{name: '症状', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=20', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
25
|
-
{name: '卫生信息数据元', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=40', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
26
|
-
{name: '电子病历数据集', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=50', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
27
|
-
{name: '国家医保标准', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=80', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
28
|
-
{name: '省数据平台标准', isParent:true, treeUrl:'https://www.x-emr.cn/dict?category=90', itemUrl:'https://www.x-emr.cn/dictitem'},
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//从模块的Editor组件中获取mode,doc,lang属性 (该段代码可删除)
|
|
33
|
-
let mode = window.frameElement.getAttribute('mode')
|
|
34
|
-
let doc = window.frameElement.getAttribute('doc')
|
|
35
|
-
let lang = window.frameElement.getAttribute('lang')
|
|
36
|
-
mode? option.mode = mode: null
|
|
37
|
-
lang? option.lang = lang: null
|
|
38
|
-
|
|
39
|
-
//初始化编辑器(初始化代码可以放入组件的load事件中)
|
|
40
|
-
editor.init(option).then(()=>{
|
|
41
|
-
doc? editor.loadUrl(doc) : null
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
})
|
|
45
|
-
</script>
|
|
46
|
-
</head>
|
|
47
|
-
<body>
|
|
48
|
-
<!-- 默认id 为editor -->
|
|
49
|
-
<div id="editor" style="width:100%; height:100%;"></div>
|
|
50
|
-
</body>
|
|
51
|
-
</html>
|