vue2-client 1.20.13 → 1.20.15

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.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +10 -5
  3. package/src/base-client/components/common/XFormTable/demo.vue +80 -38
  4. package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js +9 -6
  5. package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +127 -0
  6. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
  7. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310142713.vue +0 -512
  8. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310145118.vue +0 -511
  9. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260311094834.vue +0 -696
  10. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260320143028.vue +0 -693
  11. package/.history/src/base-client/components/common/XForm/XFormItem_20260320142959.vue +0 -1586
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20260320143028.vue +0 -1584
  13. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171231.vue +0 -1241
  14. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171441.vue +0 -1223
  15. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203170042.vue +0 -1473
  16. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203170134.vue +0 -1473
  17. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203170203.vue +0 -1473
  18. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171235.vue +0 -1473
  19. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171318.vue +0 -1471
  20. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171328.vue +0 -1471
  21. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171333.vue +0 -1470
  22. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171338.vue +0 -1470
  23. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171352.vue +0 -1470
  24. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171655.vue +0 -1471
  25. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171715.vue +0 -1472
  26. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171735.vue +0 -1472
  27. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171738.vue +0 -1472
  28. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203171955.vue +0 -1472
  29. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172007.vue +0 -1473
  30. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172037.vue +0 -1473
  31. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172045.vue +0 -1473
  32. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172244.vue +0 -1473
  33. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172258.vue +0 -1469
  34. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172323.vue +0 -1469
  35. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172337.vue +0 -1469
  36. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172359.vue +0 -1469
  37. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260203172404.vue +0 -1469
  38. package/.history/src/expression/core/Expression_20260305164427.js +0 -1371
  39. package/.history/src/expression/core/Expression_20260305170258.js +0 -1358
  40. package/.history/src/expression/core/Program_20260305111830.js +0 -944
  41. package/.history/src/expression/core/Program_20260305112041.js +0 -931
  42. package/.history/src/logic/LogicRunner_20260304154306.js +0 -170
  43. package/.history/src/logic/LogicRunner_20260304155553.js +0 -112
  44. package/.history/src/logic/LogicRunner_20260305105834.js +0 -112
  45. package/.history/src/logic/LogicRunner_20260305112718.js +0 -129
  46. package/.history/src/logic/LogicRunner_20260305182436.js +0 -133
  47. package/.history/src/logic/LogicRunner_20260306151301.js +0 -213
  48. package/.history/src/logic/LogicRunner_20260306152419.js +0 -213
  49. package/.history/src/logic/plugins/common/DateTools_20260305154159.js +0 -61
  50. package/.history/src/logic/plugins/common/DateTools_20260305154217.js +0 -44
  51. package/.history/src/logic/plugins/common/DateTools_20260305161014.js +0 -44
  52. package/.history/src/logic/plugins/common/HttpTools_20260305164352.js +0 -80
  53. package/.history/src/logic/plugins/common/HttpTools_20260305170258.js +0 -75
  54. package/.history/src/logic/plugins/common/HttpTools_20260305171634.js +0 -75
  55. package/.history/src/logic/plugins/common/HttpTools_20260306152419.js +0 -72
  56. package/.history/src/utils/indexedDB_20260306150918.js +0 -593
  57. package/.history/src/utils/indexedDB_20260306151301.js +0 -586
  58. package/docs/HFormTable/350/241/214/351/253/230/351/227/256/351/242/230/346/216/222/346/237/245.md +0 -66
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.20.13",
3
+ "version": "1.20.15",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -675,21 +675,26 @@ defineExpose({
675
675
  }
676
676
  }
677
677
  </style>
678
- <!-- 非scoped样式:覆盖表格内表单项宽度 -->
678
+ <!-- 非scoped样式:全局覆盖表格内下拉框宽度 -->
679
679
  <style lang="less">
680
680
  .h-form-table-wrapper {
681
- .ant-table-tbody > tr > td {
681
+ .ant-table-tbody td {
682
682
  --form-label-width: 0 !important;
683
683
 
684
+ .ant-select,
685
+ .ant-select-selection {
686
+ width: 100% !important;
687
+ }
684
688
  .ant-form-item {
685
689
  width: 100% !important;
686
- max-width: 100% !important;
687
690
  }
688
691
  .ant-form-item-control-wrapper {
689
692
  width: 100% !important;
690
- max-width: 100% !important;
691
693
  flex: none !important;
692
694
  }
695
+ .ant-select-selection__rendered {
696
+ width: 100% !important;
697
+ }
693
698
  }
694
699
  }
695
- </style>
700
+ </style>
@@ -2,35 +2,54 @@
2
2
  <a-card :bordered="false">
3
3
  <x-form-table
4
4
  title="示例表单"
5
- :queryParamsName="queryParamsName"
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
- @rowDblClick="rowDblClick"
13
- :defaultPageSize="5"
14
- serviceName="af-revenue"
14
+ @startService="startService"
15
+ serviceName="af-safecheck"
15
16
  ref="xFormTable"
16
17
  :reserveSpaceForButtons="true"
17
- @addFormSubmit="addFormSubmit"
18
- ></x-form-table>
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
- queryParamsName: 'ChargeCenterQueryUserCRUD',
52
+ queryParamsName: 'ceshiCRUD',
34
53
  // 查询配置左侧tree
35
54
  xTreeConfigName: 'addressType',
36
55
  // 新增表单固定值
@@ -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
- handleCustomQuery() {
53
- this.$refs.xFormTable.queryTable({
54
- uf_f_alias: 'XianFeng',
55
- uf_f_card_id: '10500030'
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] = args
65
- console.log('ceshi', attr, value, currentRecord, currentIndex, nextRecord, nextIndex)
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
- action(record, id, actionType) {
96
- this.detailVisible = true
97
- console.log('触发了详情操作', record, id, actionType)
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
- addFormSubmit(params, callback){
111
- callback()
112
- }
113
- }
154
+ },
155
+ computed: {},
114
156
  }
115
157
  </script>
116
158
 
@@ -63,9 +63,10 @@ class InspectionService {
63
63
 
64
64
  async processDetailData (rawData) {
65
65
  const transformedData = await this.transformApiData(rawData)
66
+ const config = await getConfigByNameAsync('webConfig', 'af-system')
66
67
  return {
67
68
  ...transformedData,
68
- basicInfo: this.formatBasicInfo(transformedData.basicInfo),
69
+ basicInfo: this.formatBasicInfo(transformedData.basicInfo, config?.setting?.safeCheckDesensitizedField || null),
69
70
  historyList: this.formatHistoryList(transformedData.historyList),
70
71
  deviceList: this.formatDeviceList(transformedData.deviceList),
71
72
  checkItems: this.formatCheckItems(transformedData.checkItems),
@@ -74,12 +75,12 @@ class InspectionService {
74
75
  }
75
76
  }
76
77
 
77
- formatBasicInfo (basicInfo) {
78
+ formatBasicInfo (basicInfo,desensitizedField) {
78
79
  if (!basicInfo) return {}
79
80
  return {
80
81
  ...basicInfo,
81
- f_user_phone_display: this.maskPhoneNumber(basicInfo.f_user_phone),
82
- f_idnumber_display: this.maskIdNumber(basicInfo.f_idnumber),
82
+ f_user_phone_display: this.maskPhoneNumber(basicInfo.f_user_phone, desensitizedField),
83
+ f_idnumber_display: this.maskIdNumber(basicInfo.f_idnumber, desensitizedField),
83
84
  auditStatus: this.getAuditStatus(basicInfo),
84
85
  statusClass: this.getStatusClass(basicInfo.f_user_status)
85
86
  }
@@ -143,13 +144,15 @@ class InspectionService {
143
144
  }
144
145
  }
145
146
 
146
- maskPhoneNumber (phone) {
147
+ maskPhoneNumber (phone, desensitizedField) {
147
148
  if (!phone) return ''
149
+ if (desensitizedField && !desensitizedField.includes('f_user_phone')) return phone
148
150
  return String(phone).replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
149
151
  }
150
152
 
151
- maskIdNumber (idNumber) {
153
+ maskIdNumber (idNumber, desensitizedField) {
152
154
  if (!idNumber) return ''
155
+ if (desensitizedField && !desensitizedField.includes('f_idnumber')) return idNumber
153
156
  return String(idNumber).replace(/(\d{6})\d{8}(\d{4})/, '$1********$2')
154
157
  }
155
158
 
@@ -0,0 +1,127 @@
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <a-tabs default-active-key="1" @change="changeTab">
4
+ <a-tab-pane key="1" tab="待办">
5
+ <x-form-table
6
+ title="站点工单(待办)"
7
+ ref="xFormTable"
8
+ queryParamsName="teleProcessCRUD"
9
+ :fixed-query-form="{
10
+ wo_f_department_id: currUser.depids,
11
+ }"
12
+ serviceName="af-telephone"
13
+ @toDeal="toDetail"
14
+ @updateInfo="updateInfo"
15
+ @transfer="transfer"
16
+ @toFinish="toFinish"
17
+ >
18
+ </x-form-table>
19
+ </a-tab-pane>
20
+ <a-tab-pane key="2" tab="已办">
21
+ <x-form-table
22
+ title="站点工单(已办)"
23
+ ref="xFormTableDone"
24
+ queryParamsName="teleProcessDoneCRUD"
25
+ :fixed-query-form="{
26
+ wo_f_department_id: currUser.depids,
27
+ }"
28
+ serviceName="af-telephone"
29
+ @action="toView"
30
+ @reminder="toReminder"
31
+ >
32
+ </x-form-table>
33
+ </a-tab-pane>
34
+ </a-tabs>
35
+ <WorkflowDetail
36
+ ref="workFlow"
37
+ @preClick="preClick"
38
+ @success="success"
39
+ @nextClick="nextClick"
40
+ @x-form-item-emit-func="handleFormItemEvent"
41
+ >
42
+ </WorkflowDetail>
43
+ </a-card>
44
+ </template>
45
+
46
+ <script>
47
+ import WorkflowDetail from '@vue2-client/pages/WorkflowDetail/WorkflowDetail.vue'
48
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
49
+ import { mapState } from 'vuex'
50
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
51
+
52
+ export default {
53
+ name: 'Telephone',
54
+ components: {
55
+ XFormTable,
56
+ WorkflowDetail,
57
+ XAddNativeForm
58
+ },
59
+ // 透传给子组件的方法(目前XFormTable接了)
60
+ provide () {
61
+ return {
62
+ generalFunction: {}
63
+ }
64
+ },
65
+ data () {
66
+ return {
67
+ // 当前工单id
68
+ currentWorkOrderId: '',
69
+ // 提交加载动画
70
+ confirmLoading: false,
71
+ chargeVisible: false,
72
+ // 环节人员信息
73
+ chargePerson: {},
74
+ chargePersonOptions: [],
75
+ transferData: {
76
+ optionsValue: '',
77
+ remark: ''
78
+ },
79
+ record: {},
80
+ define: {},
81
+ // 是否展示催单结案弹窗
82
+ showReminder: false,
83
+ // 弹窗类型 催单/ 结案
84
+ modelType: ''
85
+ }
86
+ },
87
+ computed: {
88
+ ...mapState('account', { currUser: 'user' }),
89
+ },
90
+ methods: {
91
+ changeTab (key) {
92
+ console.log('切换tab', key)
93
+ if (key === '1') {
94
+ this.$refs.xFormTable.refreshTable(true)
95
+ } else if (key === '2') {
96
+ this.$refs.xFormTableDone.refreshTable(true)
97
+ }
98
+ },
99
+ success () {
100
+ console.log('完工')
101
+ },
102
+ toDetail (record) {
103
+ // 修改第一步的工单
104
+ if (record.ws_f_step_id === 1 && record.w_f_state === 0) {
105
+ console.log('进入工单详情')
106
+ if (record.w_f_workflow_define_name === '报修单处理流程') {
107
+ this.$refs.dealOrUpdate.dealOrUpdate(record, '处理工单')
108
+ } else if (record.w_f_workflow_define_name === '投诉单处理流程') {
109
+ this.$refs.dealComplaint.dealComplaintOrder(record)
110
+ } else if (record.w_f_workflow_define_name === '咨询单处理流程') {
111
+ this.$refs.dealConsultation.dealConsultationOrder(record)
112
+ } else {
113
+ this.$message.warn('未知流程类型')
114
+ }
115
+ } else {
116
+ // 记录流程节点名称
117
+ this.currentWorkOrderId = record.wo_id
118
+ // 进入流程详情
119
+ this.$refs.workFlow.init({
120
+ workflowId: record.wo_f_workflow_id,
121
+ stepId: record.ws_f_step_id
122
+ })
123
+ }
124
+ },
125
+ }
126
+ }
127
+ </script>