@qqt-product/system 0.0.1

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 (198) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.cjs +22 -0
  3. package/.prettierignore +4 -0
  4. package/.prettierrc.cjs +41 -0
  5. package/.vscode/extensions.json +3 -0
  6. package/README.md +16 -0
  7. package/dist/index.es.d.ts +1 -0
  8. package/dist/index.es.js +14234 -0
  9. package/dist/index.umd.js +311 -0
  10. package/dist/lib/components/QAccountList/src/QAccountList.vue.d.ts +143 -0
  11. package/dist/lib/components/QAccountList/src/useConfigData.d.ts +37 -0
  12. package/dist/lib/components/QBackgroundFileTaskList/src/QBackgroundFileTaskList.vue.d.ts +66 -0
  13. package/dist/lib/components/QBackgroundFileTaskList/src/useConfigData.d.ts +14 -0
  14. package/dist/lib/components/QCompanyermissionList/src/form.vue.d.ts +80 -0
  15. package/dist/lib/components/QCompanyermissionList/src/types.d.ts +44 -0
  16. package/dist/lib/components/QElsEmailSendLogList/src/QElsEmailSendLogList.vue.d.ts +68 -0
  17. package/dist/lib/components/QElsEmailSendLogList/src/useConfigData.d.ts +13 -0
  18. package/dist/lib/components/QElsMsgRecordList/src/QElsMsgRecordList.vue.d.ts +72 -0
  19. package/dist/lib/components/QElsMsgRecordList/src/useConfigData.d.ts +16 -0
  20. package/dist/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsList.vue.d.ts +75 -0
  21. package/dist/lib/components/QI18nList/src/QI18nForm.vue.d.ts +47 -0
  22. package/dist/lib/components/QI18nList/src/QI18nList.vue.d.ts +136 -0
  23. package/dist/lib/components/QI18nList/src/useConfigData.d.ts +31 -0
  24. package/dist/lib/components/QImChatGroupList/src/QImChatGroupList.vue.d.ts +61 -0
  25. package/dist/lib/components/QImChatGroupList/src/useConfigData.d.ts +11 -0
  26. package/dist/lib/components/QMqRecordList/src/QMqRecordList.vue.d.ts +60 -0
  27. package/dist/lib/components/QMqRecordList/src/useConfigData.d.ts +12 -0
  28. package/dist/lib/components/QPasswordSecurityPolicy/src/QPasswordSecurityPolicy.vue.d.ts +49 -0
  29. package/dist/lib/components/QPermissionDataList/src/QPermissionDataAuth.vue.d.ts +3 -0
  30. package/dist/lib/components/QPermissionDataList/src/form.vue.d.ts +50 -0
  31. package/dist/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeList.vue.d.ts +86 -0
  32. package/dist/lib/components/QPurchaseNoticeList/src/useConfigData.d.ts +15 -0
  33. package/dist/lib/components/QPurchaseNoticeTemplateList/src/QPurchaseNoticeTemplateList.vue.d.ts +47 -0
  34. package/dist/lib/components/QPurchaseNoticeTemplateList/src/useConfigData.d.ts +12 -0
  35. package/dist/lib/components/QQuartzJobList/src/QQuartzJobList.vue.d.ts +129 -0
  36. package/dist/lib/components/QQuartzJobList/src/components/JCron.vue.d.ts +23 -0
  37. package/dist/lib/components/QQuartzJobList/src/components/JCronModal.vue.d.ts +100 -0
  38. package/dist/lib/components/QQuartzJobList/src/components/QuartzJobModal.vue.d.ts +55 -0
  39. package/dist/lib/components/QQuartzJobList/src/useConfigData.d.ts +20 -0
  40. package/dist/lib/components/QRoleList/src/QRoleList.vue.d.ts +100 -0
  41. package/dist/lib/components/QRoleList/src/components/content-header/index.d.ts +23 -0
  42. package/dist/lib/components/QRoleList/src/components/userAuthorization/index.d.ts +79 -0
  43. package/dist/lib/components/QRoleList/src/useConfigData.d.ts +30 -0
  44. package/dist/lib/components/QSupplierAccountList/src/QSupplierAccountForm.vue.d.ts +55 -0
  45. package/dist/lib/components/QSupplierAccountList/src/QSupplierAccountList.vue.d.ts +104 -0
  46. package/dist/lib/components/QSupplierAccountList/src/useConfigData.d.ts +29 -0
  47. package/dist/lib/components/QUsageList/src/QUsageList.vue.d.ts +49 -0
  48. package/dist/lib/components/QUsageList/src/useConfigData.d.ts +14 -0
  49. package/dist/lib/components/QcustomConfigEdit/component/TempalePreviewModal.vue.d.ts +31 -0
  50. package/dist/lib/components/QcustomConfigEdit/component/dataFormatComponent.d.ts +46 -0
  51. package/dist/lib/components/QcustomConfigEdit/component/regexComponent.d.ts +41 -0
  52. package/dist/lib/components/QcustomConfigEdit/src/QcustomConfigRender.d.ts +12 -0
  53. package/dist/lib/components/QcustomConfigEdit/src/types.d.ts +61 -0
  54. package/dist/lib/components/QcustomConfigEdit/src/useConfigComputed.d.ts +7 -0
  55. package/dist/lib/components/QcustomConfigEdit/src/useConfigData.d.ts +85 -0
  56. package/dist/lib/components/QcustomConfigEdit/src/useConfigMethods.d.ts +16 -0
  57. package/dist/lib/components/QcustomConfigEdit/src/useConstant.d.ts +18 -0
  58. package/dist/lib/components/QcustomConfigList/component/ImportJsonCustomConfig.vue.d.ts +50 -0
  59. package/dist/lib/components/QcustomConfigList/src/QcustomConfigList.vue.d.ts +112 -0
  60. package/dist/lib/components/QcustomConfigList/src/useConfigData.d.ts +17 -0
  61. package/dist/lib/components/QcustomConfigList/src/useMethods.d.ts +15 -0
  62. package/dist/lib/components/QsysConfigList/src/QsysConfigList.vue.d.ts +66 -0
  63. package/dist/lib/components/QsysConfigList/src/useConfigData.d.ts +11 -0
  64. package/dist/lib/components/QsysConfigList/src/useMethods.d.ts +6 -0
  65. package/dist/lib/components/index.d.ts +39 -0
  66. package/dist/lib/components/integratedNodesList/src/index.vue.d.ts +107 -0
  67. package/dist/lib/components/integratedReportList/src/index.vue.d.ts +70 -0
  68. package/dist/lib/components/integratedReportSearchList/src/index.vue.d.ts +61 -0
  69. package/dist/lib/components/loginAbnormalLogList/src/index.vue.d.ts +46 -0
  70. package/dist/lib/components/loginLogList/src/index.vue.d.ts +45 -0
  71. package/dist/lib/components/loginSupplierLogList/src/index.vue.d.ts +45 -0
  72. package/dist/lib/components/operateLogList/src/index.vue.d.ts +53 -0
  73. package/dist/lib/index.d.ts +6 -0
  74. package/dist/lib/utils/global.hook.d.ts +31 -0
  75. package/dist/lib/utils/global.types.d.ts +41 -0
  76. package/dist/lib/utils/regexp.d.ts +27 -0
  77. package/dist/style.css +1 -0
  78. package/dist/vite-env.d.ts +13 -0
  79. package/dist/vite.svg +1 -0
  80. package/index.html +13 -0
  81. package/package.json +65 -0
  82. package/public/vite.svg +1 -0
  83. package/src/App.vue +8 -0
  84. package/src/lib/components/QAccountList/index.ts +6 -0
  85. package/src/lib/components/QAccountList/src/QAccountDetail.vue +191 -0
  86. package/src/lib/components/QAccountList/src/QAccountEdit.vue +241 -0
  87. package/src/lib/components/QAccountList/src/QAccountList.vue +530 -0
  88. package/src/lib/components/QAccountList/src/useConfigData.ts +53 -0
  89. package/src/lib/components/QBackgroundFileTaskList/index.ts +6 -0
  90. package/src/lib/components/QBackgroundFileTaskList/src/QBackgroundFileTaskList.vue +137 -0
  91. package/src/lib/components/QBackgroundFileTaskList/src/useConfigData.ts +20 -0
  92. package/src/lib/components/QCompanyermissionList/src/editTree.vue +291 -0
  93. package/src/lib/components/QCompanyermissionList/src/form.vue +238 -0
  94. package/src/lib/components/QCompanyermissionList/src/index.vue +309 -0
  95. package/src/lib/components/QCompanyermissionList/src/types.ts +44 -0
  96. package/src/lib/components/QElsEmailSendLogList/index.ts +6 -0
  97. package/src/lib/components/QElsEmailSendLogList/src/QElsEmailSendLogList.vue +166 -0
  98. package/src/lib/components/QElsEmailSendLogList/src/useConfigData.ts +19 -0
  99. package/src/lib/components/QElsMsgRecordList/index.ts +6 -0
  100. package/src/lib/components/QElsMsgRecordList/src/QElsMsgRecordDetail.vue +148 -0
  101. package/src/lib/components/QElsMsgRecordList/src/QElsMsgRecordList.vue +124 -0
  102. package/src/lib/components/QElsMsgRecordList/src/useConfigData.ts +22 -0
  103. package/src/lib/components/QElsTenantPortalNewsList/index.ts +6 -0
  104. package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsDetail.vue +139 -0
  105. package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsEdit.vue +196 -0
  106. package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsList.vue +122 -0
  107. package/src/lib/components/QElsTenantPortalNewsList/src/useConfigData.ts +20 -0
  108. package/src/lib/components/QI18nList/index.ts +6 -0
  109. package/src/lib/components/QI18nList/src/QI18nForm.vue +141 -0
  110. package/src/lib/components/QI18nList/src/QI18nList.vue +361 -0
  111. package/src/lib/components/QI18nList/src/useConfigData.ts +37 -0
  112. package/src/lib/components/QImChatGroupList/index.ts +6 -0
  113. package/src/lib/components/QImChatGroupList/src/QImChatGroupList.vue +94 -0
  114. package/src/lib/components/QImChatGroupList/src/useConfigData.ts +17 -0
  115. package/src/lib/components/QMqRecordList/index.ts +6 -0
  116. package/src/lib/components/QMqRecordList/src/QMqRecordList.vue +105 -0
  117. package/src/lib/components/QMqRecordList/src/useConfigData.ts +18 -0
  118. package/src/lib/components/QPasswordSecurityPolicy/index.ts +6 -0
  119. package/src/lib/components/QPasswordSecurityPolicy/src/QPasswordSecurityPolicy.vue +266 -0
  120. package/src/lib/components/QPermissionDataList/index.ts +6 -0
  121. package/src/lib/components/QPermissionDataList/src/QPermissionDataAuth.vue +3 -0
  122. package/src/lib/components/QPermissionDataList/src/QPermissionDataEdit.vue +221 -0
  123. package/src/lib/components/QPermissionDataList/src/QPermissionDataList.vue +117 -0
  124. package/src/lib/components/QPermissionDataList/src/form.vue +109 -0
  125. package/src/lib/components/QPurchaseNoticeList/index.ts +6 -0
  126. package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeDetail.vue +147 -0
  127. package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeEdit.vue +244 -0
  128. package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeList.vue +163 -0
  129. package/src/lib/components/QPurchaseNoticeList/src/useConfigData.ts +22 -0
  130. package/src/lib/components/QPurchaseNoticeTemplateList/index.ts +6 -0
  131. package/src/lib/components/QPurchaseNoticeTemplateList/src/QPurchaseNoticeTemplateList.vue +85 -0
  132. package/src/lib/components/QPurchaseNoticeTemplateList/src/useConfigData.ts +18 -0
  133. package/src/lib/components/QQuartzJobList/index.ts +6 -0
  134. package/src/lib/components/QQuartzJobList/src/QQuartzJobList.vue +263 -0
  135. package/src/lib/components/QQuartzJobList/src/components/JCron.vue +82 -0
  136. package/src/lib/components/QQuartzJobList/src/components/JCronModal.vue +985 -0
  137. package/src/lib/components/QQuartzJobList/src/components/QuartzJobModal.vue +176 -0
  138. package/src/lib/components/QQuartzJobList/src/useConfigData.ts +26 -0
  139. package/src/lib/components/QRoleList/index.ts +6 -0
  140. package/src/lib/components/QRoleList/src/QRoleList.vue +288 -0
  141. package/src/lib/components/QRoleList/src/components/content-header/contentHeader.less +31 -0
  142. package/src/lib/components/QRoleList/src/components/content-header/index.tsx +42 -0
  143. package/src/lib/components/QRoleList/src/components/userAuthorization/index.tsx +690 -0
  144. package/src/lib/components/QRoleList/src/components/userAuthorization/userAuthorization.less +97 -0
  145. package/src/lib/components/QRoleList/src/useConfigData.ts +33 -0
  146. package/src/lib/components/QSupplierAccountList/index.ts +6 -0
  147. package/src/lib/components/QSupplierAccountList/src/QSupplierAccountForm.vue +187 -0
  148. package/src/lib/components/QSupplierAccountList/src/QSupplierAccountList.vue +302 -0
  149. package/src/lib/components/QSupplierAccountList/src/useConfigData.ts +29 -0
  150. package/src/lib/components/QUsageList/index.ts +6 -0
  151. package/src/lib/components/QUsageList/src/QUsageList.vue +82 -0
  152. package/src/lib/components/QUsageList/src/useConfigData.ts +20 -0
  153. package/src/lib/components/QcustomConfigEdit/component/AddDictCodeModal.vue +140 -0
  154. package/src/lib/components/QcustomConfigEdit/component/TempalePreviewModal.vue +100 -0
  155. package/src/lib/components/QcustomConfigEdit/component/dataFormatComponent.tsx +100 -0
  156. package/src/lib/components/QcustomConfigEdit/component/regexComponent.tsx +71 -0
  157. package/src/lib/components/QcustomConfigEdit/index.ts +6 -0
  158. package/src/lib/components/QcustomConfigEdit/src/QcustomConfigEdit.vue +1807 -0
  159. package/src/lib/components/QcustomConfigEdit/src/QcustomConfigRender.tsx +242 -0
  160. package/src/lib/components/QcustomConfigEdit/src/types.ts +71 -0
  161. package/src/lib/components/QcustomConfigEdit/src/useConfigComputed.ts +75 -0
  162. package/src/lib/components/QcustomConfigEdit/src/useConfigData.ts +123 -0
  163. package/src/lib/components/QcustomConfigEdit/src/useConfigMethods.ts +117 -0
  164. package/src/lib/components/QcustomConfigEdit/src/useConstant.ts +301 -0
  165. package/src/lib/components/QcustomConfigEdit/style/index.less +41 -0
  166. package/src/lib/components/QcustomConfigList/component/ImportJsonCustomConfig.vue +135 -0
  167. package/src/lib/components/QcustomConfigList/index.ts +6 -0
  168. package/src/lib/components/QcustomConfigList/src/QcustomConfigList.vue +268 -0
  169. package/src/lib/components/QcustomConfigList/src/types.ts +1 -0
  170. package/src/lib/components/QcustomConfigList/src/useConfigData.ts +23 -0
  171. package/src/lib/components/QcustomConfigList/src/useMethods.ts +36 -0
  172. package/src/lib/components/QcustomConfigList/style/index.less +3 -0
  173. package/src/lib/components/QsysConfigList/index.ts +6 -0
  174. package/src/lib/components/QsysConfigList/src/QsysConfigList.vue +125 -0
  175. package/src/lib/components/QsysConfigList/src/types.ts +1 -0
  176. package/src/lib/components/QsysConfigList/src/useConfigData.ts +17 -0
  177. package/src/lib/components/QsysConfigList/src/useMethods.ts +11 -0
  178. package/src/lib/components/QsysConfigList/style/index.less +3 -0
  179. package/src/lib/components/index.ts +78 -0
  180. package/src/lib/components/integratedNodesList/src/QIntegratedNodesDetail.vue +49 -0
  181. package/src/lib/components/integratedNodesList/src/QIntegratedNodesEdit.vue +143 -0
  182. package/src/lib/components/integratedNodesList/src/index.vue +136 -0
  183. package/src/lib/components/integratedReportList/src/index.vue +86 -0
  184. package/src/lib/components/integratedReportSearchList/src/index.vue +66 -0
  185. package/src/lib/components/loginAbnormalLogList/src/index.vue +50 -0
  186. package/src/lib/components/loginLogList/src/index.vue +57 -0
  187. package/src/lib/components/loginSupplierLogList/src/index.vue +63 -0
  188. package/src/lib/components/operateLogList/src/index.vue +57 -0
  189. package/src/lib/index.ts +15 -0
  190. package/src/lib/utils/constant.ts +1 -0
  191. package/src/lib/utils/global.hook.ts +337 -0
  192. package/src/lib/utils/global.types.ts +49 -0
  193. package/src/lib/utils/regexp.ts +143 -0
  194. package/src/main.ts +11 -0
  195. package/src/vite-env.d.ts +13 -0
  196. package/tsconfig.json +24 -0
  197. package/tsconfig.node.json +9 -0
  198. package/vite.config.ts +61 -0
@@ -0,0 +1,244 @@
1
+ <template>
2
+ <div class="edit-page">
3
+ <a-spin :spinning="customLoading">
4
+ <q-edit-page-layout ref="layoutRef" v-bind="options" @customSave="handleCustomSave" @customPublish="handleCustomPublish" @validate-success="handleValidateSuccess" @refresh="handleRefresh">
5
+ </q-edit-page-layout>
6
+ </a-spin>
7
+ </div>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { ref, reactive, inject } from 'vue'
12
+ import type { ComponentPublicInstance } from 'vue'
13
+ import { BUTTON_ADD_ONE_ROW, BUTTON_DELETE_ROW, BUTTON_SAVE, BUTTON_PUBLISH, BUTTON_UPLOAD } from '@qqt-product/ui'
14
+
15
+ // ui组件库 types
16
+ import type { GlobalPageLayoutTypes } from '@qqt-product/ui'
17
+ import { usePromiseStepHook, useRefInstanceHook } from '@qqt-product/ui'
18
+
19
+ const srmI18n = inject('Q_SRM_I18N', (i18nKey: string, defaultValue: string, account?: string | number): string => {
20
+ if (i18nKey) {
21
+ if (account) {
22
+ return account + defaultValue
23
+ }
24
+ return defaultValue
25
+ }
26
+ return defaultValue
27
+ })
28
+
29
+ // 传参 props
30
+ const props = defineProps<{
31
+ currentRow: GlobalPageLayoutTypes.CurrentRow | null
32
+ userInfo: GlobalPageLayoutTypes.UserInfo
33
+ }>()
34
+
35
+ const currentRow = props.currentRow
36
+ ? props.currentRow
37
+ : ref({
38
+ templateNumber: '',
39
+ templateVersion: 0,
40
+ templateAccount: '',
41
+ busAccount: '',
42
+ elsAccount: '',
43
+ })
44
+
45
+ // 编辑组件 ref
46
+ const layoutRef = ref<ComponentPublicInstance | null>(null)
47
+
48
+ // 配置
49
+ const options = reactive<Partial<GlobalPageLayoutTypes.EditPageLayoutProps>>({
50
+ /**
51
+ * 模块业务类型 string
52
+ * 取值根据各模块配置
53
+ * 当定义为"custom"时,使用本地配置
54
+ */
55
+ businessType: 'custom',
56
+ // 布局模式
57
+ pattern: 'vertical',
58
+ // 当前已选行数据a
59
+ currentRow: currentRow as GlobalPageLayoutTypes.CurrentRow,
60
+ refreshMethods(row?: GlobalPageLayoutTypes.CurrentRow) {
61
+ if (options.currentRow) {
62
+ options.currentRow =
63
+ row ||
64
+ Object.assign({}, options.currentRow, {
65
+ _t: +new Date(),
66
+ })
67
+ }
68
+ },
69
+ // 当前登录租户信息
70
+ userInfo: props.userInfo,
71
+ // 明细接口 -- 接口字符串
72
+ detailApi: '/notice/purchaseNotice/noToken/queryById',
73
+ // 本地页面数据配置
74
+ localConfig: {
75
+ groups: [
76
+ {
77
+ groupName: srmI18n('i18n_field_100100', '基本信息'),
78
+ groupCode: 'baseForm',
79
+ groupType: 'head',
80
+ },
81
+ {
82
+ groupName: srmI18n('i18n_title_supplierList', '供应商列表'),
83
+ groupCode: 'purchaseNoticeSupplierList',
84
+ groupType: 'item',
85
+ buttons: [
86
+ {
87
+ ...BUTTON_ADD_ONE_ROW,
88
+ title: srmI18n('i18n_title_add', '新增'),
89
+ },
90
+ BUTTON_DELETE_ROW,
91
+ ],
92
+ },
93
+ {
94
+ groupName: srmI18n('i18n_title_attachmentList', '附件列表'),
95
+ groupCode: 'purchaseAttachmentList',
96
+ groupType: 'item',
97
+ buttons: [
98
+ {
99
+ ...BUTTON_UPLOAD,
100
+ args: {
101
+ url: '/attachment/purchaseAttachment/upload', // 上传的路径
102
+ // groupCode: 'purchaseBiddingHeadList', // 可不填 默认是 itemInfo
103
+ property: 'biddingDesc', // 行项目显示的名称字段编码
104
+ dictCode: 'srmFileType', // 文件类型数据字典编码
105
+ actionRoutePath: '/srm/notice/purchase/PurchaseNoticeList',
106
+ sourceNumber: 'noticeNumber', // 原v5 的获值写法 this.currentEditRow.projectNumber,
107
+ },
108
+ // callback 函数若上传附件后无他业务操作可不加
109
+ // callback: (tableData, pageData, fileData) => {
110
+ // fileData?.forEach((n) => {
111
+ // tableData.push({ _id: uniqueId('_id_'), ...n })
112
+ // })
113
+ // },
114
+ },
115
+ BUTTON_DELETE_ROW,
116
+ ],
117
+ },
118
+ ],
119
+ formFields: [
120
+ {
121
+ groupCode: 'baseForm',
122
+ fieldType: 'input',
123
+ fieldLabel: srmI18n('i18n_field_noticeNumber', '通知单号'),
124
+ fieldName: 'noticeNumber',
125
+ disabled: true,
126
+ },
127
+ {
128
+ groupCode: 'baseForm',
129
+ fieldType: 'input',
130
+ fieldLabel: srmI18n('i18n_field_subject', '标题'),
131
+ placeholder: srmI18n('i18n_title_pleaseEnterTitle', '请输入标题'),
132
+ fieldName: 'noticeTitle',
133
+ required: '1',
134
+ },
135
+ {
136
+ groupCode: 'baseForm',
137
+ fieldType: 'select',
138
+ fieldLabel: srmI18n('i18n_field_msgCategory', '类型'),
139
+ fieldName: 'noticeType',
140
+ placeholder: srmI18n('i18n_title_selectType', '请选择类型'),
141
+ dictCode: 'srmNoticeType',
142
+ required: '1',
143
+ },
144
+ {
145
+ groupCode: 'baseForm',
146
+ fieldType: 'select',
147
+ fieldLabel: srmI18n('i18n_field_publicScope', '公开范围'),
148
+ fieldName: 'noticeScope',
149
+ placeholder: srmI18n('i18n_title_pleaseSelectThePublicScope', '请选择公开范围'),
150
+ dictCode: 'srmNoticeScope',
151
+ required: '1',
152
+ },
153
+ {
154
+ groupCode: 'baseForm',
155
+ fieldType: 'date',
156
+ fieldLabel: srmI18n('i18n_field_effectiveTime', '生效时间'),
157
+ fieldName: 'effectiveTime',
158
+ dataFormat: 'YYYY-MM-DD HH:mm:ss',
159
+ required: '1',
160
+ },
161
+ {
162
+ groupCode: 'baseForm',
163
+ fieldType: 'date',
164
+ fieldLabel: srmI18n('i18n_field_expiryTime', '失效时间'),
165
+ fieldName: 'expiryTime',
166
+ dataFormat: 'YYYY-MM-DD HH:mm:ss',
167
+ required: '1',
168
+ },
169
+ {
170
+ groupCode: 'baseForm',
171
+ fieldType: 'switch',
172
+ fieldLabel: srmI18n('i18n_title_isPlacedTop', '是否置顶'),
173
+ fieldName: 'top',
174
+ },
175
+ {
176
+ groupCode: 'baseForm',
177
+ fieldType: 'textArea',
178
+ fieldLabel: '',
179
+ fieldName: 'noticeContent',
180
+ },
181
+ ],
182
+ itemColumns: [
183
+ { field: 'toElsAccount', groupCode: 'purchaseNoticeSupplierList', fieldType: 'input', title: srmI18n('i18n_title_supplierELSAccount', '供应商ELS账号'), width: 200 },
184
+ { field: 'supplierCode', groupCode: 'purchaseNoticeSupplierList', fieldType: 'input', title: srmI18n('i18n_massProdHead88b_supplierErpCode', '供应商ERP编码'), width: 200 },
185
+ { field: 'supplierName', groupCode: 'purchaseNoticeSupplierList', fieldType: 'input', title: srmI18n('i18n_massProdHeade95_supplierName', '供应商名称'), width: 200 },
186
+ { field: 'fileName', groupCode: 'purchaseAttachmentList', fieldType: 'input', title: srmI18n('i18n_title_fileName', '文件名称'), width: 150 },
187
+ { field: 'createBy', groupCode: 'purchaseAttachmentList', fieldType: 'input', title: srmI18n('i18n_title_uploader', '上传方'), width: 150 },
188
+ { field: 'updateTime', groupCode: 'purchaseAttachmentList', fieldType: 'input', title: srmI18n('i18n_title_uploadTime', '上传时间'), width: 300 },
189
+ ],
190
+ },
191
+ // 页面按钮
192
+ pageButtons: [
193
+ {
194
+ ...BUTTON_SAVE,
195
+ title: srmI18n('i18n_title_save', '保存'),
196
+ emit: true,
197
+ emitKey: 'customSave',
198
+ args: {
199
+ url: '/notice/purchaseNotice/edit',
200
+ },
201
+ },
202
+ {
203
+ ...BUTTON_PUBLISH,
204
+ emit: true,
205
+ emitKey: 'customPublish',
206
+ args: {
207
+ url: '/notice/purchaseNotice/publish',
208
+ },
209
+ },
210
+ ],
211
+ })
212
+ const pageButtons = options.pageButtons as GlobalPageLayoutTypes.PageButton[]
213
+ const refreshMethods = options.refreshMethods
214
+
215
+ const { pageData, layoutConfig, defaultValues } = useRefInstanceHook(layoutRef)
216
+ const { stepTriggerValidate, composeSave, composePublish, customLoading } = usePromiseStepHook({ pageData, layoutConfig, defaultValues, pageButtons: ref(pageButtons), refreshMethods })
217
+
218
+ // 自定义保存
219
+ const handleCustomSave = () => {
220
+ stepTriggerValidate()
221
+ }
222
+ // 自定义发布
223
+ const handleCustomPublish = () => {
224
+ composePublish()
225
+ }
226
+
227
+ // 页面校验成功后执行下一步回调步骤
228
+ const handleValidateSuccess = (button: GlobalPageLayoutTypes.PageButton) => {
229
+ console.log(button.key === BUTTON_PUBLISH.key)
230
+ if (button.key === BUTTON_SAVE.key) {
231
+ composeSave()
232
+ } else if (button.key === BUTTON_PUBLISH.key) {
233
+ composePublish()
234
+ }
235
+ }
236
+
237
+ // 页面刷新
238
+ const handleRefresh = () => {
239
+ console.log('refresh :>> ')
240
+ if (options.currentRow) {
241
+ options.currentRow._t = +new Date()
242
+ }
243
+ }
244
+ </script>
@@ -0,0 +1,163 @@
1
+ <template>
2
+ <q-list-layout ref="listLayoutRef" :pageData="pageData" :apiUrls="apiUrls" />
3
+ </template>
4
+
5
+ <script lang="ts">
6
+ //JS
7
+ import { defineComponent, reactive, toRefs, inject } from 'vue'
8
+ //hook
9
+ import { useConfigData } from './useConfigData'
10
+
11
+ export default defineComponent({
12
+ name: 'QPurchaseNoticeList',
13
+ props: {
14
+ userInfo: {
15
+ type: Object,
16
+ defalut: () => {
17
+ return {}
18
+ },
19
+ },
20
+ },
21
+ setup(props, { emit }) {
22
+ const srmI18n = inject('Q_SRM_I18N', (i18nKey: string, defaultValue: string, account?: string | number): string => {
23
+ if (i18nKey) {
24
+ if (account) {
25
+ return account + defaultValue
26
+ }
27
+ return defaultValue
28
+ }
29
+ return defaultValue
30
+ })
31
+ const pageData = reactive({
32
+ statusConfig: {
33
+ show: false,
34
+ },
35
+ optColumn: {
36
+ attrs: {},
37
+ extend: {},
38
+ optColumnList: [
39
+ {
40
+ authorityCode: 'purchaseNotice#PurchaseNotice:view',
41
+ type: 'view',
42
+ title: srmI18n('i18n_title_see', '查看'),
43
+ click: ({ row }) => {
44
+ emit('detail', row)
45
+ },
46
+ },
47
+ {
48
+ authorityCode: 'purchaseNotice#PurchaseNotice:edit',
49
+ type: 'edit',
50
+ title: srmI18n('i18n_title_edit', '编辑'),
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ click: ({ row }: any) => {
53
+ emit('edit', row)
54
+ },
55
+ disabled: ({ row }) => row.noticeStatus == '1',
56
+ },
57
+ {
58
+ authorityCode: 'purchaseNotice#PurchaseNotice:topOpt',
59
+ type: 'topOpt',
60
+ title: srmI18n('i18n_title_TopCancel', '置顶/取消'),
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ click: ({ row }: any) => {
63
+ emit('topSet', row)
64
+ },
65
+ disabled: ({ row }) => row.noticeStatus == '2',
66
+ },
67
+ {
68
+ authorityCode: 'purchaseNotice#PurchaseNotice:cancel',
69
+ type: 'cancel',
70
+ title: srmI18n('i18n_title_void', '作废'),
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ click: ({ row }: any) => {
73
+ emit('cancel', row)
74
+ },
75
+ disabled: ({ row }) => row.noticeStatus == '2',
76
+ },
77
+ {
78
+ authorityCode: 'purchaseNotice#PurchaseNotice:delete',
79
+ type: 'delete',
80
+ title: srmI18n('i18n_title_delete', '删除'),
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ click: ({ row }: any) => {
83
+ emit('delete', row)
84
+ },
85
+ disabled: ({ row }) => row.noticeStatus == '1',
86
+ },
87
+ ],
88
+ },
89
+ buttonConfig: {
90
+ attrs: {},
91
+ extend: {},
92
+ buttons: [
93
+ {
94
+ authorityCode: 'purchaseNotice#PurchaseNotice:add',
95
+ label: srmI18n('i18n_title_add', '新增'),
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
97
+ click: ({ row }: any) => {
98
+ emit('create', row)
99
+ },
100
+ },
101
+ {
102
+ label: srmI18n('i18n_title_listCustom', '列自定义'),
103
+ icon: {
104
+ type: 'icon-Q-setting',
105
+ },
106
+ type: 'setting',
107
+ },
108
+ {
109
+ label: srmI18n('i18n_title_helpText', '帮助说明'),
110
+ icon: {
111
+ type: 'icon-Q-help-text',
112
+ },
113
+ type: 'help-text',
114
+ },
115
+ {
116
+ label: srmI18n('i18n_title_attachment', '说明附件'),
117
+ icon: {
118
+ type: 'icon-Q-attachment-text',
119
+ },
120
+ type: 'attachment-text',
121
+ },
122
+ ],
123
+ },
124
+ queryConfig: {
125
+ attrs: {},
126
+ extend: {},
127
+ form: [
128
+ {
129
+ type: 'input',
130
+ label: '标题',
131
+ fieldName: 'noticeTitle',
132
+ placeholder: '请输入标题',
133
+ },
134
+ {
135
+ type: 'select',
136
+ label: '状态',
137
+ fieldName: 'noticeStatus',
138
+ dictCode: 'srmNoticeStatus',
139
+ placeholder: '请选择状态',
140
+ },
141
+ ],
142
+ formState: {},
143
+ },
144
+ pagerConfig: {},
145
+ })
146
+ //data-hook
147
+ const { apiUrls } = useConfigData()
148
+ const { userInfo } = toRefs(props)
149
+ console.log('userInfos', userInfo)
150
+ //methods
151
+ // function allowDelete() {
152
+ // console.log('userInfo.value?.userInfo?.elsAccount', userInfo.value?.userInfo?.elsAccount)
153
+ // if (userInfo.value?.userInfo?.elsAccount != '100000') {
154
+ // return true
155
+ // } else {
156
+ // return false
157
+ // }
158
+ // }
159
+ return { apiUrls, pageData }
160
+ },
161
+ })
162
+ </script>
163
+ <style scoped></style>
@@ -0,0 +1,22 @@
1
+ import { shallowRef, ref } from 'vue'
2
+ // import type { MapObjectNoneType } from './types'
3
+ // import { VxeTableInstance } from 'vxe-table'
4
+ // import type {}
5
+ export function useConfigData() {
6
+ //响应
7
+
8
+ const apiUrls = shallowRef({
9
+ list: '/notice/purchaseNotice/list',
10
+ columnsCode: 'PurchaseNotice',
11
+ add: '/notice/purchaseNotice/add',
12
+
13
+ delete: '/notice/purchaseNotice/delete',
14
+ cancel: '/notice/purchaseNotice/cancel',
15
+ topSet: '/notice/purchaseNotice/topOpt',
16
+ })
17
+ const uploadShow = shallowRef<boolean>(false)
18
+ const showEditPage = shallowRef<boolean>(false)
19
+ const currentEditRow = ref({})
20
+ const listLayoutRef = ref()
21
+ return { apiUrls, showEditPage, currentEditRow, listLayoutRef, uploadShow }
22
+ }
@@ -0,0 +1,6 @@
1
+ import QPurchaseNoticeTemplateList from './src/QPurchaseNoticeTemplateList.vue'
2
+ import qqtUtils from '@qqt-product/utils'
3
+
4
+ export default qqtUtils.withInstall(QPurchaseNoticeTemplateList)
5
+
6
+ export { QPurchaseNoticeTemplateList }
@@ -0,0 +1,85 @@
1
+ <template>
2
+ <div style="height: 100%">
3
+ <q-list-layout ref="listLayoutRef" v-if="!showEditPage" :pageData="pageData" :apiUrls="apiUrls" />
4
+ </div>
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ //JS
9
+ import { defineComponent, reactive, toRefs } from 'vue'
10
+ //hook
11
+ import { useConfigData } from './useConfigData'
12
+
13
+ export default defineComponent({
14
+ name: 'QPurchaseNoticeTemplateList',
15
+ props: {
16
+ userInfo: {
17
+ type: Object,
18
+ defalut: () => {
19
+ return {}
20
+ },
21
+ },
22
+ },
23
+ setup(props) {
24
+ //data
25
+ const pageData = reactive({
26
+ statusConfig: {
27
+ show: false,
28
+ },
29
+ optColumn: {
30
+ attrs: {},
31
+ extend: {},
32
+ optColumnList: [
33
+ // { authorityCode: 'purchaseNoticeTemplate#PurchaseNoticeTemplate:edit', type: 'edit', title: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_edit`, '编辑'), clickFn: this.handleEdit },
34
+ // { authorityCode: 'purchaseNoticeTemplate#PurchaseNoticeTemplate:view', type: 'view', title: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_see`, '查看'), clickFn: this.handleShow },
35
+ // {
36
+ // authorityCode: 'purchaseNoticeTemplate#PurchaseNoticeTemplate:delete',
37
+ // type: 'delete',
38
+ // title: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_delete`, '删除'),
39
+ // clickFn: this.handleDelete,
40
+ // },
41
+ ],
42
+ },
43
+ buttonConfig: {
44
+ attrs: {},
45
+ extend: {},
46
+ buttons: [
47
+ // {authorityCode: 'purchaseNoticeTemplate#PurchaseNoticeTemplate:add', label: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_add`, '新增'), clickFn: this.handleAdd, type: 'primary'},
48
+ // {label: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_listCustom`, '列自定义'), icon: 'setting', clickFn: this.settingColumns},
49
+ // {label: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_helpText`, '帮助说明'), icon: 'file-text', folded: true, isDocument: true, clickFn: this.showHelpText},
50
+ // {label: this.$srmI18n(`${this.$getLangAccount()}#i18n_title_attachment`, '说明附件'), icon: 'file-pdf', folded: true, isDocument: true, clickFn: this.showHelpPDF}
51
+ ],
52
+ },
53
+ queryConfig: {
54
+ attrs: {},
55
+ extend: {},
56
+ form: [
57
+ {
58
+ type: 'input',
59
+ label: '模板名称',
60
+ fieldName: 'templateName',
61
+ placeholder: '请输入模板名称',
62
+ },
63
+ ],
64
+ formState: {},
65
+ },
66
+ pagerConfig: {},
67
+ })
68
+ //data-hook
69
+ const { showEditPage, apiUrls } = useConfigData()
70
+ const { userInfo } = toRefs(props)
71
+ console.log('userInfos', userInfo)
72
+ //methods
73
+ // function allowDelete() {
74
+ // console.log('userInfo.value?.userInfo?.elsAccount', userInfo.value?.userInfo?.elsAccount)
75
+ // if (userInfo.value?.userInfo?.elsAccount != '100000') {
76
+ // return true
77
+ // } else {
78
+ // return false
79
+ // }
80
+ // }
81
+ return { showEditPage, apiUrls, pageData }
82
+ },
83
+ })
84
+ </script>
85
+ <style scoped></style>
@@ -0,0 +1,18 @@
1
+ import { shallowRef, ref } from 'vue'
2
+ // import type { MapObjectNoneType } from './types'
3
+ // import { VxeTableInstance } from 'vxe-table'
4
+ // import type {}
5
+ export function useConfigData() {
6
+ //响应
7
+
8
+ const apiUrls = shallowRef({
9
+ list: '/notice/purchaseNoticeTemplate/list',
10
+ columnsCode: 'PurchaseNoticeTemplate',
11
+ delete: '/notice/purchaseNoticeTemplate/delete',
12
+ })
13
+ const uploadShow = shallowRef<boolean>(false)
14
+ const showEditPage = shallowRef<boolean>(false)
15
+ const currentEditRow = ref({})
16
+ const listLayoutRef = ref()
17
+ return { apiUrls, showEditPage, currentEditRow, listLayoutRef, uploadShow }
18
+ }
@@ -0,0 +1,6 @@
1
+ import QQuartzJobList from './src/QQuartzJobList.vue'
2
+ import qqtUtils from '@qqt-product/utils'
3
+
4
+ export default qqtUtils.withInstall(QQuartzJobList)
5
+
6
+ export { QQuartzJobList }