vue2-client 1.20.35 → 1.20.36
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/.eslintrc.js +0 -6
- package/package.json +1 -1
- package/src/base-client/components/common/XFormTable/demo.vue +79 -37
- package/src/base-client/components/common/XInspectionDetailDrawer/index.vue +28 -8
- package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js +7 -2
- package/src/base-client/components/common/XMarkdownSectionExtractor/README.md +201 -201
- package/src/base-client/components/common/XMarkdownSectionExtractor/bingli.md +63 -53
- package/src/base-client/components/common/XMarkdownSectionExtractor/index.js +6 -6
- package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +127 -0
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
- package/src/router/async/router.map.js +136 -136
- package/vue.config.js +2 -15
- package/assets/c__Users_QXLL_AppData_Roaming_Cursor_User_workspaceStorage_4fb3d7e3441d32bc6f2c7358b4188b48_images_e8c132e6dde513250d7f9721712df1f8-f1522a08-1aa0-4866-b4e5-b34cf2e21109.png +0 -0
- package/docs/HChart/351/205/215/347/275/256/346/226/207/346/241/243.md +0 -960
- package/src/base-client/components/common/XMarkdownViewer/bingli.md +0 -60
- package/test/XList.markdownConfig.spec.js +0 -36
package/.eslintrc.js
CHANGED
package/package.json
CHANGED
|
@@ -2,32 +2,51 @@
|
|
|
2
2
|
<a-card :bordered="false">
|
|
3
3
|
<x-form-table
|
|
4
4
|
title="示例表单"
|
|
5
|
-
|
|
5
|
+
queryParamsName="scanCodeAndNFCRUD"
|
|
6
6
|
:fixedAddForm="fixedAddForm"
|
|
7
7
|
:externalSelectedRowKeys="selectedKeys"
|
|
8
|
+
:defaultPageSize="100"
|
|
9
|
+
:pageSizeArray="['100','200']"
|
|
8
10
|
@action="action"
|
|
9
11
|
@selectRow="selectRow"
|
|
10
12
|
@columnClick="columnClick"
|
|
11
13
|
@ceshi="ceshi"
|
|
12
|
-
@
|
|
13
|
-
|
|
14
|
-
serviceName="af-revenue"
|
|
14
|
+
@startService="startService"
|
|
15
|
+
serviceName="af-safecheck"
|
|
15
16
|
ref="xFormTable"
|
|
16
17
|
:reserveSpaceForButtons="true"
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
>
|
|
19
|
+
</x-form-table>
|
|
20
|
+
<a-modal
|
|
21
|
+
v-model="formModalVisible"
|
|
22
|
+
title="工单回访"
|
|
23
|
+
:zIndex="1002"
|
|
24
|
+
width="50vw"
|
|
25
|
+
:destroy-on-close="true"
|
|
26
|
+
@cancel="formModalVisible = false"
|
|
27
|
+
@ok="ok"
|
|
28
|
+
>
|
|
29
|
+
<x-add-native-form
|
|
30
|
+
ref="xForm"
|
|
31
|
+
/>
|
|
32
|
+
</a-modal>
|
|
33
|
+
<button @click="backDealData">提交</button>
|
|
19
34
|
</a-card>
|
|
20
35
|
</template>
|
|
21
36
|
|
|
22
37
|
<script>
|
|
23
38
|
import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
|
|
39
|
+
import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
|
|
24
40
|
import { microDispatch } from '@vue2-client/utils/microAppUtils'
|
|
41
|
+
import {getConfigByNameAsync, runLogic} from '@vue2-client/services/api/common'
|
|
42
|
+
|
|
25
43
|
export default {
|
|
26
44
|
name: 'Demo',
|
|
27
45
|
components: {
|
|
28
|
-
XFormTable
|
|
46
|
+
XFormTable,
|
|
47
|
+
XAddNativeForm,
|
|
29
48
|
},
|
|
30
|
-
data() {
|
|
49
|
+
data () {
|
|
31
50
|
return {
|
|
32
51
|
// 查询配置文件名
|
|
33
52
|
queryParamsName: 'ceshiCRUD',
|
|
@@ -43,26 +62,32 @@ export default {
|
|
|
43
62
|
selectedKeys: [],
|
|
44
63
|
selected: {
|
|
45
64
|
keys: [],
|
|
46
|
-
rows: []
|
|
47
|
-
}
|
|
65
|
+
rows: [],
|
|
66
|
+
},
|
|
67
|
+
formModalVisible: false,
|
|
48
68
|
}
|
|
49
69
|
},
|
|
50
|
-
|
|
51
70
|
methods: {
|
|
52
|
-
|
|
53
|
-
this.$refs.xFormTable.
|
|
54
|
-
|
|
55
|
-
|
|
71
|
+
backDealData () {
|
|
72
|
+
this.$refs.xFormTable.$refs.xForm.backDealData().then(data => {
|
|
73
|
+
console.log('backDealData', data)
|
|
74
|
+
console.log('selected', this.$refs.xFormTable.$refs.xForm?.form)
|
|
56
75
|
})
|
|
57
76
|
},
|
|
58
|
-
rowDblClick(record) {
|
|
59
|
-
console.log('rowDblClick', record)
|
|
60
|
-
},
|
|
61
77
|
// input框 行編輯參數傳遞
|
|
62
|
-
ceshi(...args) {
|
|
78
|
+
ceshi (...args) {
|
|
63
79
|
// attr, value, currentRecord, currentIndex, nextRecord, nextIndex
|
|
64
|
-
const [attr, value, currentRecord, currentIndex, nextRecord, nextIndex] =
|
|
65
|
-
|
|
80
|
+
const [attr, value, currentRecord, currentIndex, nextRecord, nextIndex] =
|
|
81
|
+
args
|
|
82
|
+
console.log(
|
|
83
|
+
'ceshi',
|
|
84
|
+
attr,
|
|
85
|
+
value,
|
|
86
|
+
currentRecord,
|
|
87
|
+
currentIndex,
|
|
88
|
+
nextRecord,
|
|
89
|
+
nextIndex
|
|
90
|
+
)
|
|
66
91
|
// 示例:当按下 Enter 键且有下一行时,跳转到下一行的同一列
|
|
67
92
|
// 可以在这里执行业务逻辑(例如:保存数据)
|
|
68
93
|
console.log('当前行:', currentIndex, '下一行:', nextIndex)
|
|
@@ -73,44 +98,61 @@ export default {
|
|
|
73
98
|
// 跳转到下一行的同一列
|
|
74
99
|
this.$refs.xFormTable.$refs.xTable.focusInput(nextIndex, attr.model)
|
|
75
100
|
},
|
|
76
|
-
test() {
|
|
101
|
+
test () {
|
|
77
102
|
this.$refs.xFormTable.setTableData([])
|
|
78
103
|
},
|
|
79
|
-
defaultF() {
|
|
104
|
+
defaultF () {
|
|
80
105
|
this.$refs.xFormTable.setTableSize('default')
|
|
81
106
|
},
|
|
82
|
-
middleF() {
|
|
107
|
+
middleF () {
|
|
83
108
|
this.$refs.xFormTable.setTableSize('middle')
|
|
84
109
|
},
|
|
85
|
-
smallF() {
|
|
110
|
+
smallF () {
|
|
86
111
|
this.$refs.xFormTable.setTableSize('small')
|
|
87
112
|
},
|
|
88
|
-
columnClick(key, value, record) {
|
|
113
|
+
columnClick (key, value, record) {
|
|
89
114
|
microDispatch({
|
|
90
115
|
type: 'v3route',
|
|
91
116
|
path: '/bingliguanli/dianzibingliluru',
|
|
92
|
-
props: { selected: arguments[0].his_f_admission_id }
|
|
117
|
+
props: { selected: arguments[0].his_f_admission_id },
|
|
93
118
|
})
|
|
94
119
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
120
|
+
startService (record, id, actionType) {
|
|
121
|
+
getConfigByNameAsync('测试Form', 'af-safecheck').then(config => {
|
|
122
|
+
this.formModalVisible = true
|
|
123
|
+
this.$nextTick(
|
|
124
|
+
() => {
|
|
125
|
+
this.formModalVisible = true
|
|
126
|
+
this.$refs.xForm.init({
|
|
127
|
+
formItems: config.formJson,
|
|
128
|
+
title: '工单回访',
|
|
129
|
+
businessType: '新增',
|
|
130
|
+
...config,
|
|
131
|
+
modifyModelData: { data: { id: 1 } },
|
|
132
|
+
})
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
// this.detailVisible = true
|
|
136
|
+
// console.log('触发了详情操作', record, id, actionType)
|
|
137
|
+
},
|
|
138
|
+
async ok () {
|
|
139
|
+
const res = await this.$refs.xForm.asyncSubmit()
|
|
140
|
+
await runLogic('ceshwewei', res.realForm)
|
|
98
141
|
},
|
|
99
|
-
onClose() {
|
|
142
|
+
onClose () {
|
|
100
143
|
this.detailVisible = false
|
|
101
144
|
// 关闭详情之后重新查询表单
|
|
102
145
|
this.$refs.xFormTable.refreshTable(true)
|
|
103
146
|
},
|
|
104
|
-
selectRow(selectedRowKeys, selectedRows) {
|
|
147
|
+
selectRow (selectedRowKeys, selectedRows) {
|
|
105
148
|
this.selected = {
|
|
106
149
|
keys: selectedRowKeys,
|
|
107
|
-
rows: selectedRows
|
|
150
|
+
rows: selectedRows,
|
|
108
151
|
}
|
|
152
|
+
console.log('selectedDemo', this.selected)
|
|
109
153
|
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
}
|
|
154
|
+
},
|
|
155
|
+
computed: {},
|
|
114
156
|
}
|
|
115
157
|
</script>
|
|
116
158
|
|
|
@@ -92,23 +92,36 @@
|
|
|
92
92
|
<div class="photos-header">
|
|
93
93
|
<div class="photos-title">
|
|
94
94
|
<a-icon type="picture" style="color: #1890FF;" />
|
|
95
|
-
<span
|
|
95
|
+
<span>安检照片</span>
|
|
96
96
|
</div>
|
|
97
|
-
<div class="photos-count" v-if="inspectionData.attachments.
|
|
98
|
-
共 {{
|
|
97
|
+
<div class="photos-count" v-if="inspectionData.attachments.filePhotos && inspectionData.attachments.filePhotos.length > 0">
|
|
98
|
+
共 {{ totalPhotos }} 张
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<div class="photos-content">
|
|
102
|
+
<div class="subsection-label"><a-icon type="home" />整体安检照片</div>
|
|
102
103
|
<file-image-group
|
|
103
|
-
:file-ids="inspectionData.attachments.
|
|
104
|
+
:file-ids="inspectionData.attachments.filePhotos || []"
|
|
104
105
|
:service-name="effectiveServiceName"
|
|
105
|
-
:columns="
|
|
106
|
+
:columns="5"
|
|
106
107
|
:image-size="60"
|
|
107
108
|
:gap="10"
|
|
108
109
|
alt-prefix="整体安检照片"
|
|
109
110
|
empty-text="暂无整体安检照片"
|
|
110
111
|
/>
|
|
111
112
|
</div>
|
|
113
|
+
<div class="photos-content">
|
|
114
|
+
<div class="subsection-label"><a-icon type="file-protect" />通知书照片</div>
|
|
115
|
+
<file-image-group
|
|
116
|
+
:file-ids="inspectionData.attachments.imagePhotos || []"
|
|
117
|
+
:service-name="effectiveServiceName"
|
|
118
|
+
:columns="5"
|
|
119
|
+
:image-size="60"
|
|
120
|
+
:gap="10"
|
|
121
|
+
alt-prefix="通知书照片"
|
|
122
|
+
empty-text="暂无通知书照片"
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
112
125
|
</div>
|
|
113
126
|
</div>
|
|
114
127
|
</a-card>
|
|
@@ -220,7 +233,8 @@ export default {
|
|
|
220
233
|
attachments: {
|
|
221
234
|
signature: null,
|
|
222
235
|
recordings: [],
|
|
223
|
-
|
|
236
|
+
filePhotos: [],
|
|
237
|
+
imagePhotos: []
|
|
224
238
|
}
|
|
225
239
|
},
|
|
226
240
|
previewModal: { visible: false, images: [], current: 0 },
|
|
@@ -235,6 +249,11 @@ export default {
|
|
|
235
249
|
},
|
|
236
250
|
computed: {
|
|
237
251
|
...mapState('account', { currUser: 'user' }),
|
|
252
|
+
totalPhotos () {
|
|
253
|
+
const fileLen = this.inspectionData.attachments?.filePhotos?.length || 0;
|
|
254
|
+
const imageLen = this.inspectionData.attachments?.imagePhotos?.length || 0;
|
|
255
|
+
return fileLen + imageLen;
|
|
256
|
+
},
|
|
238
257
|
/** 有效服务名:优先使用 serviceName prop */
|
|
239
258
|
effectiveServiceName () {
|
|
240
259
|
return this.serviceName || ''
|
|
@@ -277,7 +296,7 @@ export default {
|
|
|
277
296
|
deviceList: [],
|
|
278
297
|
checkItems: [],
|
|
279
298
|
hazardList: [],
|
|
280
|
-
attachments: { signature: null, recordings: [],
|
|
299
|
+
attachments: { signature: null, recordings: [], filePhotos: [], imagePhotos: [] }
|
|
281
300
|
}
|
|
282
301
|
|
|
283
302
|
this.showHistoryPanel = !params?.id && !!params?.f_userinfo_id
|
|
@@ -481,7 +500,7 @@ export default {
|
|
|
481
500
|
deviceList: [],
|
|
482
501
|
checkItems: [],
|
|
483
502
|
hazardList: [],
|
|
484
|
-
attachments: { signature: null, recordings: [],
|
|
503
|
+
attachments: { signature: null, recordings: [], filePhotos: [], imagePhotos: [] }
|
|
485
504
|
}
|
|
486
505
|
}
|
|
487
506
|
}
|
|
@@ -601,4 +620,5 @@ export default {
|
|
|
601
620
|
.history-panel { max-height: 200px; }
|
|
602
621
|
.section-grid { grid-template-columns: 1fr; }
|
|
603
622
|
}
|
|
623
|
+
.subsection-label { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #6b7280; font-weight: 500; margin-bottom: 12px; }
|
|
604
624
|
</style>
|
package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js
CHANGED
|
@@ -464,7 +464,7 @@ class InspectionService {
|
|
|
464
464
|
}
|
|
465
465
|
|
|
466
466
|
extractAttachments (signatureForm) {
|
|
467
|
-
const attachments = { signature: {}, recordings: [],
|
|
467
|
+
const attachments = { signature: {}, recordings: [], filePhotos: [], imagePhotos: [], refusephotos: [] }
|
|
468
468
|
if (signatureForm?.signaturePhoto?.[0]?.url) {
|
|
469
469
|
attachments.signature.imageUrl = signatureForm.signaturePhoto[0].url
|
|
470
470
|
}
|
|
@@ -479,7 +479,12 @@ class InspectionService {
|
|
|
479
479
|
.map((r, i) => ({ id: i + 1, name: r.photo_name || `录音 ${i + 1}`, url: r.url || '#' }))
|
|
480
480
|
}
|
|
481
481
|
if (signatureForm?.FilesId) {
|
|
482
|
-
attachments.
|
|
482
|
+
attachments.filePhotos = signatureForm.FilesId
|
|
483
|
+
.filter(p => p?.url)
|
|
484
|
+
.map((p, i) => ({ id: i + 1, url: p.url }))
|
|
485
|
+
}
|
|
486
|
+
if (signatureForm?.Images) {
|
|
487
|
+
attachments.imagePhotos = signatureForm.Images
|
|
483
488
|
.filter(p => p?.url)
|
|
484
489
|
.map((p, i) => ({ id: i + 1, url: p.url }))
|
|
485
490
|
}
|