@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,27 @@
1
+ declare const _default: {
2
+ email: RegExp;
3
+ mobile: RegExp;
4
+ url: RegExp;
5
+ dateISO: RegExp;
6
+ interger: RegExp;
7
+ positiveInterger: RegExp;
8
+ number: RegExp;
9
+ digits: RegExp;
10
+ idCard: RegExp;
11
+ carNo: RegExp;
12
+ carNo2: RegExp;
13
+ amount: RegExp;
14
+ money: RegExp;
15
+ chinese: RegExp;
16
+ letter: RegExp;
17
+ enOrNum: RegExp;
18
+ landline: RegExp;
19
+ unionPayCard: RegExp;
20
+ ip: RegExp;
21
+ };
22
+ export default _default;
23
+ export declare const regExpOptions: {
24
+ label: string;
25
+ value: string;
26
+ msg: string;
27
+ }[];
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .tempale-preview-modal[data-v-0b6ebd5b] .page-container .edit-page .ant-spin-nested-loading{height:600px}.tempale-preview-modal[data-v-0b6ebd5b] .ant-form-item-control-wrapper{width:150px}.page-container .ant-btn+.ant-btn[data-v-bb7b4635]{margin-left:8px}.page-container[data-v-bb7b4635] .ant-select-selection{position:relative;z-index:1}.page-container .business-tips[data-v-bb7b4635]{width:64.6%;margin:0 auto 10px}.page-container[data-v-bb7b4635] .ant-input-affix-wrapper .ant-input-suffix{z-index:1}.page-container .skeleton-wrap[data-v-bb7b4635]{margin-top:100px;text-align:center;line-height:100px}.switch-config .switch-config-item[data-v-bb7b4635]{display:flex;justify-content:space-between;border-bottom:1px dashed #eee;padding:10px 0}.switch-config>div[data-v-bb7b4635]:first-child{padding-top:0}.verify-config[data-v-bb7b4635]{margin-bottom:20px}.verify-config .tab-clo-left[data-v-bb7b4635]{padding-right:10px;text-align:right;line-height:32px}.content-step-one[data-v-bb7b4635]{justify-content:center}.code-editror-flex-row[data-v-bb7b4635]{display:block}.progress[data-v-6a21d026]{text-align:center}.password-security-policy[data-v-bc4a98ce]{height:100%}.password-security-policy-breadcrumb[data-v-bc4a98ce]{height:44px;display:flex;justify-content:flex-end;align-items:center;padding-left:16px;padding-right:25px;background:white}.password-security-policy-content[data-v-bc4a98ce]{padding:8px}.password-security-policy-form[data-v-bc4a98ce]{background:white;padding:0 16px}.password-security-policy-form .item[data-v-bc4a98ce]{display:flex;justify-content:space-between;align-items:center;padding:0 18px;border-bottom:1px dashed #dadada}.password-security-policy-form .item .desc[data-v-bc4a98ce]{padding:16px 0}.password-security-policy-form .item .desc .tit[data-v-bc4a98ce]{color:#454f59;font-weight:500;font-size:14px;line-height:14px}.password-security-policy-form .item .desc .tip[data-v-bc4a98ce]{font-weight:400;font-size:12px;line-height:12px;color:#454f5999;margin-top:8px}.password-security-policy-form .item .type[data-v-bc4a98ce]{font-weight:400;font-size:12px;line-height:12px;color:#454f5999;display:flex;align-items:center}.password-security-policy .red[data-v-bc4a98ce]{color:red}.password-security-policy .ant-input-number[data-v-bc4a98ce]{margin-left:16px;width:60px}.password-security-policy .ant-btn+.ant-btn[data-v-bc4a98ce]{margin-left:8px}[data-v-b66225c6] .vxe-form--gather,[data-v-b3e4afb1] .vxe-form--gather,[data-v-8ef72fda] .vxe-form--gather{padding:20px 0}[data-v-8ef72fda] .vxe-form--gather:first-child{border-right:solid 1px #ddd}.sortable-tree-demo .drag-btn[data-v-98466442]{cursor:move;font-size:12px}.sortable-tree-demo .vxe-body--row.sortable-ghost[data-v-98466442],.sortable-tree-demo .vxe-body--row.sortable-chosen[data-v-98466442]{background-color:#dfecfb}.toolbar-button-wrap[data-v-98466442]{padding:0 10px}.content-Header{width:100%;position:sticky;top:0;z-index:99;box-shadow:0 3px 12px #626bb540}.content-Header.posA{position:absolute;left:0;top:0}.content-Header .topWrap{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 24px 10px 10px}.content-Header .topWrap .box{display:flex;align-items:center}.content-Header .topWrap .extra+.menu{margin-left:24px}.content-Header .topWrap .menu{text-align:right}.UserAuthorization{position:relative}.UserAuthorization .ant-checkbox-wrapper{color:#000000a6}.UserAuthorization .title{padding-left:16px;margin-bottom:16px}.UserAuthorization .title>strong{font-size:18px;color:#4d72ff}.UserAuthorization .title>span{font-size:12px;color:#b9bcc1;margin-left:22px}.UserAuthorization .container{padding:8px}.UserAuthorization .pageBox{background:#fff;padding:16px 16px 32px;min-height:calc(100vh - 158px)}.UserAuthorization .level[class*=level_] .triangle{margin-right:8px;cursor:pointer}.UserAuthorization .level[class*=level_] .rotate90 .anticon{transform:rotate(90deg);transition:transform .3 ease-in-out}.UserAuthorization .level.level_1{display:flex;align-items:center;padding:16px 20px}.UserAuthorization .level.level_1:hover{background:rgba(254,206,0,.1)}.UserAuthorization .level.level_1 .info{display:flex;flex-direction:column;flex:1}.UserAuthorization .level.level_1 .info strong{font-size:14px;color:#454f59}.UserAuthorization .level.level_1 .info span.tip{font-size:12px;color:#454f5999;margin-top:8px}.UserAuthorization .level.level_1+.collapse.noneGrandchildren{padding:24px}.UserAuthorization .level.border{border-bottom:1px dashed #dadada}.UserAuthorization .level.level_2{display:flex}.UserAuthorization .level.level_2:not(:last-child){border-bottom:1px dashed #dadada}.UserAuthorization .level.level_2 .info{flex:0 0 150px;padding:22px 0 22px 20px;background-color:#f9f9f9}.UserAuthorization .level.level_2 .children{flex:1;margin-left:24px;padding:22px 20px 22px 0}.UserAuthorization .level_3+.level_3{margin-top:12px}.UserAuthorization .checkboxGroup{padding:12px 0 12px 36px}.UserAuthorization .collapse{min-height:70px;border:1px solid #dadcde}[data-v-8a917849] .vxe-form--gather{padding:20px 0}.card-container{background:#fff;overflow:hidden;padding:12px;position:relative;width:100%}.card-container .tab-layout-tabs.ant-tabs{border:1px solid #e6ebf5;padding:0}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-bar{margin:0;outline:none;border-bottom:none}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-bar .ant-tabs-nav-container{margin:0}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-bar .ant-tabs-nav-container .ant-tabs-tab{padding:0 24px!important;background-color:#f5f7fa!important;margin-right:0!important;border-radius:0;line-height:38px;border:1px solid transparent!important;border-bottom:1px solid #e6ebf5!important}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-bar .ant-tabs-nav-container .ant-tabs-tab-active.ant-tabs-tab{color:#409eff;background-color:#fff!important;border-right:1px solid #e6ebf5!important;border-left:1px solid #e6ebf5!important;border-bottom:1px solid #fff!important;font-weight:400;transition:none!important}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-tabpane{padding:15px}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-tabpane .ant-row{margin:10px 0}.card-container .tab-layout-tabs.ant-tabs .ant-tabs-tabpane .ant-select,.card-container .tab-layout-tabs.ant-tabs .ant-tabs-tabpane .ant-input-number{width:100px}.container-widthEn[data-v-13d22fe3]{width:755px}.container-widthCn[data-v-13d22fe3]{width:608px}.language[data-v-13d22fe3]{text-align:center;position:absolute;right:13px;top:13px;border:1px solid transparent;height:40px;line-height:38px;font-size:16px;color:#409eff;z-index:1;background:#f5f7fa;outline:none;width:47px;border-bottom:1px solid #e6ebf5;border-radius:0}.card-container .bottom[data-v-13d22fe3]{display:flex;justify-content:center;padding:10px 0 0}.card-container .bottom .cronButton[data-v-13d22fe3]{margin:0 10px;line-height:40px}.tabBody .a-row[data-v-13d22fe3]{margin:10px 0}.tabBody .a-row .long .a-select[data-v-13d22fe3]{width:354px}.tabBody .a-row .a-input-number[data-v-13d22fe3]{width:110px}.components-input-demo-presuffix .anticon-close-circle[data-v-b3cf1b8e]{cursor:pointer;color:#ccc;transition:color .3s;font-size:12px}.components-input-demo-presuffix .anticon-close-circle[data-v-b3cf1b8e]:hover{color:#f5222d}.components-input-demo-presuffix .anticon-close-circle[data-v-b3cf1b8e]:active{color:#666}
@@ -0,0 +1,13 @@
1
+ /// <reference types="vite/client" />
2
+ import type { GlobalPageLayoutTypes } from '@qqt-product/ui'
3
+ declare module '*.vue' {
4
+ import type { DefineComponent } from 'vue'
5
+ // eslint-disable-next-line @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any
6
+ const component: DefineComponent<{}, {}, any>
7
+ export default component
8
+ }
9
+ declare module 'vue' {
10
+ interface ComponentCustomProperties {
11
+ instance: GlobalPageLayoutTypes.Expose
12
+ }
13
+ }
package/dist/vite.svg ADDED
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/index.html ADDED
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>企企通产品UI库</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.ts"></script>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@qqt-product/system",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "main": "dist/index.umd.js",
6
+ "module": "dist/index.es.js",
7
+ "type": "module",
8
+ "devDependencies": {
9
+ "@ant-design/icons-vue": "^6.1.0",
10
+ "@qqt-product/api": "^0.0.3",
11
+ "@qqt-product/icons": "^0.0.2",
12
+ "@qqt-product/ui": "^0.0.13",
13
+ "@qqt-product/utils": "^0.0.9",
14
+ "@types/node": "^18.11.4",
15
+ "@types/sortablejs": "^1.15.1",
16
+ "@typescript-eslint/eslint-plugin": "^5.40.0",
17
+ "@typescript-eslint/parser": "^5.40.0",
18
+ "@vitejs/plugin-vue": "^3.1.0",
19
+ "@vitejs/plugin-vue-jsx": "^3.0.1",
20
+ "ant-design-vue": "3.2.20",
21
+ "eslint": "^8.25.0",
22
+ "eslint-config-prettier": "^8.5.0",
23
+ "eslint-plugin-prettier": "^4.2.1",
24
+ "eslint-plugin-vue": "^9.6.0",
25
+ "prettier": "^2.7.1",
26
+ "sortablejs": "^1.15.0",
27
+ "typescript": "^4.6.4",
28
+ "vite": "^3.1.0",
29
+ "vite-plugin-dts": "^1.6.6",
30
+ "vite-plugin-eslint": "^1.8.1",
31
+ "vue": "3.3.4",
32
+ "vue-eslint-parser": "^9.1.0",
33
+ "vue-tsc": "^0.40.4",
34
+ "vxe-table": "4.4.2",
35
+ "vxe-table-plugin-antd": "^3.0.6",
36
+ "vxe-table-plugin-charts": "^3.0.3",
37
+ "vxe-table-plugin-menus": "^3.0.7",
38
+ "xe-clipboard": "^1.10.2",
39
+ "xe-utils": "^3.5.0"
40
+ },
41
+ "peerDependencies": {
42
+ "@qqt-product/api": "^0.0.3",
43
+ "@qqt-product/icons": "^0.0.2",
44
+ "@qqt-product/ui": "^0.0.13",
45
+ "@qqt-product/utils": "^0.0.9",
46
+ "@types/sortablejs": "^1.15.1",
47
+ "ant-design-vue": "3.2.20",
48
+ "sortablejs": "^1.15.0",
49
+ "vue": "3.3.4",
50
+ "vxe-table": "4.4.2",
51
+ "vxe-table-plugin-antd": "^3.0.6",
52
+ "vxe-table-plugin-charts": "^3.0.3",
53
+ "vxe-table-plugin-menus": "^3.0.7",
54
+ "xe-clipboard": "^1.10.2",
55
+ "xe-utils": "^3.5.0"
56
+ },
57
+ "scripts": {
58
+ "dev": "vite",
59
+ "build": "vue-tsc --noEmit && vite build",
60
+ "build:lib": "vue-tsc --noEmit && vite build",
61
+ "preview": "vite preview",
62
+ "eslint": "eslint \"src/**/*.{js,vue,ts}\" --fix",
63
+ "prettier": ""
64
+ }
65
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/src/App.vue ADDED
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <div>
3
+ <QcustomConfigEdit />
4
+ </div>
5
+ </template>
6
+ <script setup lang="ts">
7
+ import QcustomConfigEdit from './lib/components/QcustomConfigEdit'
8
+ </script>
@@ -0,0 +1,6 @@
1
+ import QAccountList from './src/QAccountList.vue'
2
+ import qqtUtils from '@qqt-product/utils'
3
+
4
+ export default qqtUtils.withInstall(QAccountList)
5
+
6
+ export { QAccountList }
@@ -0,0 +1,191 @@
1
+ <template>
2
+ <div class="detail-page">
3
+ <q-detail-page-layout ref="layoutRef" v-bind="options"></q-detail-page-layout>
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref, reactive } from 'vue'
9
+ import type { ComponentPublicInstance } from 'vue'
10
+ import type { GlobalPageLayoutTypes } from '@qqt-product/ui'
11
+ // 传参 props
12
+ const props = defineProps<{
13
+ currentRow: GlobalPageLayoutTypes.CurrentRow | null
14
+ userInfo: GlobalPageLayoutTypes.UserInfo
15
+ }>()
16
+ const currentRow = props.currentRow
17
+ ? props.currentRow
18
+ : ref({
19
+ id: '',
20
+ templateNumber: '',
21
+ templateVersion: 0,
22
+ templateAccount: '',
23
+ busAccount: '',
24
+ elsAccount: '',
25
+ })
26
+ // 编辑组件 ref
27
+ const layoutRef = ref<ComponentPublicInstance | null>(null)
28
+
29
+ // 配置
30
+ const options = reactive<Partial<GlobalPageLayoutTypes.EditPageLayoutProps>>({
31
+ /**
32
+ * 模块业务类型 string
33
+ * 取值根据各模块配置
34
+ * 当定义为"custom"时,使用本地配置
35
+ */
36
+ businessType: 'custom',
37
+ // 布局模式
38
+ pattern: 'vertical',
39
+ // 当前已选行数据a
40
+ currentRow: currentRow as GlobalPageLayoutTypes.CurrentRow,
41
+ // 当前登录租户信息
42
+ userInfo: props.userInfo,
43
+ // 明细接口 -- 接口字符串
44
+ detailApi: '/account/elsSubAccount/queryById',
45
+ // 本地页面数据配置
46
+ localConfig: {
47
+ groups: [
48
+ {
49
+ groupName: '基本信息',
50
+ groupCode: 'baseForm',
51
+ groupType: 'head',
52
+ },
53
+ {
54
+ groupName: '关联组织',
55
+ groupCode: 'subaccountOrgList',
56
+ groupType: 'item',
57
+ },
58
+ ],
59
+ formFields: [
60
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: 'ELS账号', fieldLabelI18nKey: 'i18n_title_ELSAccount', fieldName: 'elsAccount', placeholder: 'ELS账号', disabled: true },
61
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '子账号', fieldLabelI18nKey: 'i18n_field_subAccount', fieldName: 'subAccount', required: '1' },
62
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '姓名', fieldLabelI18nKey: 'i18n_title_name', fieldName: 'realname', required: '1' },
63
+ {
64
+ groupCode: 'baseForm',
65
+ fieldType: 'input',
66
+ fieldLabel: '密码',
67
+ fieldLabelI18nKey: 'i18n_title_password',
68
+ fieldName: 'password',
69
+ required: '1',
70
+ },
71
+ {
72
+ groupCode: 'baseForm',
73
+ fieldType: 'remoteSelect',
74
+ fieldLabel: '角色',
75
+ fieldLabelI18nKey: 'i18n_title_role',
76
+ fieldName: 'selectedroles',
77
+ extend: {
78
+ modalColumns: [{ field: 'roleName', title: '角色', with: 150 }],
79
+ modalUrl: '/account/role/queryall',
80
+ selectModel: 'single',
81
+ },
82
+ required: '1',
83
+ },
84
+ {
85
+ groupCode: 'baseForm',
86
+ fieldType: 'remoteSelect',
87
+ fieldLabel: '数据权限组',
88
+ fieldLabelI18nKey: 'i18n_menu_WFbWV_c4394039',
89
+ fieldName: 'selectedGroups',
90
+ extend: {
91
+ modalColumns: [{ field: 'groupName', title: '数据权限组', with: 150 }],
92
+ modalUrl: '/account/permissionGroup/queryAll',
93
+ selectModel: 'single',
94
+ },
95
+ },
96
+ {
97
+ groupCode: 'baseForm',
98
+ fieldType: 'input',
99
+ fieldLabel: '电子邮件',
100
+ fieldLabelI18nKey: 'i18n_title_email',
101
+ fieldName: 'email',
102
+ regex: /[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+/,
103
+ alertMsg: '邮箱格式不正确',
104
+ },
105
+ {
106
+ groupCode: 'baseForm',
107
+ fieldType: 'input',
108
+ fieldLabel: '手机号',
109
+ fieldLabelI18nKey: 'i18n_title_phone',
110
+ fieldName: 'phone',
111
+ regex: /^1[3|4|5|7|8|9]\d{9}$/,
112
+ alertMsg: '您的手机号码格式不正确',
113
+ },
114
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '工号', fieldLabelI18nKey: 'i18n_field_workNo', fieldName: 'workNo' },
115
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '座机号', fieldLabelI18nKey: 'i18n_title_landlineNumber', fieldName: 'telephone' },
116
+ {
117
+ groupCode: 'baseForm',
118
+ fieldType: 'select',
119
+ fieldLabel: '部门',
120
+ fieldLabelI18nKey: 'i18n_title_department',
121
+ dictCode: '/org/purchaseOrganizationInfo/getOrgTree',
122
+ fieldName: 'orgCode',
123
+ },
124
+ { groupCode: 'baseForm', fieldType: 'date', fieldLabel: '账号过期时间', fieldLabelI18nKey: 'i18n_title_accountExpirationTime', fieldName: 'accountValidityDate' },
125
+ {
126
+ groupCode: 'baseForm',
127
+ fieldType: 'remoteSelect',
128
+ fieldLabel: '直属领导',
129
+ fieldLabelI18nKey: 'i18n_field_RWQu_378045a0',
130
+ fieldName: 'superiorLeader',
131
+ extend: {
132
+ modalColumns: [
133
+ {
134
+ field: 'subAccount',
135
+ fieldLabelI18nKey: 'i18n_field_subAccount',
136
+ title: '子账号',
137
+ with: 150,
138
+ },
139
+ {
140
+ field: 'realname',
141
+ fieldLabelI18nKey: 'i18n_title_name',
142
+ title: '姓名',
143
+ with: 150,
144
+ },
145
+ ],
146
+ modalUrl: '/account/elsSubAccount/list',
147
+ },
148
+ },
149
+ ],
150
+ itemColumns: [
151
+ {
152
+ groupCode: 'subaccountOrgList',
153
+ fieldType: 'select',
154
+ dictCode: 'orgCategoryType',
155
+ title: '组织类型',
156
+ fieldLabelI18nKey: 'i18n_field_organizationType',
157
+ field: 'orgCategoryCode',
158
+ align: 'center',
159
+ headerAlign: 'center',
160
+ defaultValue: '',
161
+ width: '250',
162
+ visible: true,
163
+ },
164
+ {
165
+ groupCode: 'subaccountOrgList',
166
+ fieldType: 'input',
167
+ title: '组织编码',
168
+ fieldLabelI18nKey: '',
169
+ field: 'orgCode',
170
+ align: 'center',
171
+ headerAlign: 'center',
172
+ defaultValue: '',
173
+ width: '250',
174
+ visible: true,
175
+ },
176
+ {
177
+ groupCode: 'subaccountOrgList',
178
+ fieldType: 'input',
179
+ title: '备注',
180
+ fieldLabelI18nKey: '',
181
+ field: 'remark',
182
+ align: 'center',
183
+ headerAlign: 'center',
184
+ defaultValue: '',
185
+ width: '250',
186
+ visible: true,
187
+ },
188
+ ],
189
+ },
190
+ })
191
+ </script>
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <div class="edit-page">
3
+ <a-spin :spinning="customLoading">
4
+ <q-edit-page-layout ref="layoutRef" v-bind="options" @customSave="handleCustomSave" @validate-success="handleValidateSuccess" @refresh="handleRefresh"></q-edit-page-layout>
5
+ </a-spin>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import { ref, reactive } from 'vue'
11
+ import type { ComponentPublicInstance } from 'vue'
12
+ import { BUTTON_ADD_ONE_ROW, BUTTON_DELETE_ROW, BUTTON_SAVE } from '@qqt-product/ui'
13
+ // ui组件库 types
14
+ import type { GlobalPageLayoutTypes } from '@qqt-product/ui'
15
+ import { usePromiseStepHook, useRefInstanceHook } from '@qqt-product/ui'
16
+
17
+ // 传参 props
18
+ const props = defineProps<{
19
+ currentRow: GlobalPageLayoutTypes.CurrentRow | null
20
+ userInfo: GlobalPageLayoutTypes.UserInfo
21
+ }>()
22
+ const currentRow = props.currentRow
23
+ ? props.currentRow
24
+ : ref({
25
+ id: '',
26
+ templateNumber: '',
27
+ templateVersion: 0,
28
+ templateAccount: '',
29
+ busAccount: '',
30
+ elsAccount: '',
31
+ })
32
+ // 编辑组件 ref
33
+ const layoutRef = ref<ComponentPublicInstance | null>(null)
34
+
35
+ // 配置
36
+ const options = reactive<Partial<GlobalPageLayoutTypes.EditPageLayoutProps>>({
37
+ /**
38
+ * 模块业务类型 string
39
+ * 取值根据各模块配置
40
+ * 当定义为"custom"时,使用本地配置
41
+ */
42
+ businessType: 'custom',
43
+ // 布局模式
44
+ pattern: 'vertical',
45
+ // 当前已选行数据a
46
+ currentRow: currentRow as GlobalPageLayoutTypes.CurrentRow,
47
+ refreshMethods(row?: GlobalPageLayoutTypes.CurrentRow) {
48
+ if (options.currentRow) {
49
+ options.currentRow =
50
+ row ||
51
+ Object.assign({}, options.currentRow, {
52
+ _t: +new Date(),
53
+ })
54
+ }
55
+ },
56
+ // 当前登录租户信息
57
+ userInfo: props.userInfo,
58
+ // 明细接口 -- 接口字符串
59
+ detailApi: '/account/elsSubAccount/queryById',
60
+ // 本地页面数据配置
61
+ localConfig: {
62
+ groups: [
63
+ {
64
+ groupName: '基本信息',
65
+ groupCode: 'baseForm',
66
+ groupType: 'head',
67
+ },
68
+ {
69
+ groupName: '关联组织',
70
+ groupCode: 'subaccountOrgList',
71
+ groupType: 'item',
72
+ buttons: [BUTTON_ADD_ONE_ROW, BUTTON_DELETE_ROW],
73
+ },
74
+ ],
75
+ formFields: [
76
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: 'ELS账号', fieldLabelI18nKey: 'i18n_title_ELSAccount', fieldName: 'elsAccount', placeholder: 'ELS账号', disabled: true },
77
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '子账号', fieldLabelI18nKey: 'i18n_field_subAccount', fieldName: 'subAccount', required: '1' },
78
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '姓名', fieldLabelI18nKey: 'i18n_title_name', fieldName: 'realname', required: '1' },
79
+ {
80
+ groupCode: 'baseForm',
81
+ fieldType: 'input',
82
+ fieldLabel: '密码',
83
+ fieldLabelI18nKey: 'i18n_title_password',
84
+ fieldName: 'password',
85
+ required: '1',
86
+ },
87
+ {
88
+ groupCode: 'baseForm',
89
+ fieldType: 'remoteSelect',
90
+ fieldLabel: '角色',
91
+ fieldLabelI18nKey: 'i18n_title_role',
92
+ fieldName: 'selectedroles',
93
+ extend: {
94
+ modalColumns: [{ field: 'roleName', title: '角色', with: 150 }],
95
+ modalUrl: '/account/role/queryall',
96
+ selectModel: 'single',
97
+ },
98
+ required: '1',
99
+ },
100
+ {
101
+ groupCode: 'baseForm',
102
+ fieldType: 'remoteSelect',
103
+ fieldLabel: '数据权限组',
104
+ fieldLabelI18nKey: 'i18n_menu_WFbWV_c4394039',
105
+ fieldName: 'selectedGroups',
106
+ extend: {
107
+ modalColumns: [{ field: 'groupName', title: '数据权限组', with: 150 }],
108
+ modalUrl: '/account/permissionGroup/queryAll',
109
+ selectModel: 'single',
110
+ },
111
+ },
112
+ {
113
+ groupCode: 'baseForm',
114
+ fieldType: 'input',
115
+ fieldLabel: '电子邮件',
116
+ fieldLabelI18nKey: 'i18n_title_email',
117
+ fieldName: 'email',
118
+ regex: /[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+/,
119
+ alertMsg: '邮箱格式不正确',
120
+ },
121
+ {
122
+ groupCode: 'baseForm',
123
+ fieldType: 'input',
124
+ fieldLabel: '手机号',
125
+ fieldLabelI18nKey: 'i18n_title_phone',
126
+ fieldName: 'phone',
127
+ regex: /^1[3|4|5|7|8|9]\d{9}$/,
128
+ alertMsg: '您的手机号码格式不正确',
129
+ },
130
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '工号', fieldLabelI18nKey: 'i18n_field_workNo', fieldName: 'workNo' },
131
+ { groupCode: 'baseForm', fieldType: 'input', fieldLabel: '座机号', fieldLabelI18nKey: 'i18n_title_landlineNumber', fieldName: 'telephone' },
132
+ {
133
+ groupCode: 'baseForm',
134
+ fieldType: 'select',
135
+ fieldLabel: '部门',
136
+ fieldLabelI18nKey: 'i18n_title_department',
137
+ dictCode: '/org/purchaseOrganizationInfo/getOrgTree',
138
+ fieldName: 'orgCode',
139
+ },
140
+ { groupCode: 'baseForm', fieldType: 'date', fieldLabel: '账号过期时间', fieldLabelI18nKey: 'i18n_title_accountExpirationTime', fieldName: 'accountValidityDate' },
141
+ {
142
+ groupCode: 'baseForm',
143
+ fieldType: 'remoteSelect',
144
+ fieldLabel: '直属领导',
145
+ fieldLabelI18nKey: 'i18n_field_RWQu_378045a0',
146
+ fieldName: 'superiorLeader',
147
+ extend: {
148
+ modalColumns: [
149
+ {
150
+ field: 'subAccount',
151
+ fieldLabelI18nKey: 'i18n_field_subAccount',
152
+ title: '子账号',
153
+ with: 150,
154
+ },
155
+ {
156
+ field: 'realname',
157
+ fieldLabelI18nKey: 'i18n_title_name',
158
+ title: '姓名',
159
+ with: 150,
160
+ },
161
+ ],
162
+ modalUrl: '/account/elsSubAccount/list',
163
+ },
164
+ },
165
+ ],
166
+ itemColumns: [
167
+ {
168
+ groupCode: 'subaccountOrgList',
169
+ fieldType: 'select',
170
+ dictCode: 'orgCategoryType',
171
+ title: '组织类型',
172
+ fieldLabelI18nKey: 'i18n_field_organizationType',
173
+ field: 'orgCategoryCode',
174
+ align: 'center',
175
+ headerAlign: 'center',
176
+ defaultValue: '',
177
+ width: '250',
178
+ visible: true,
179
+ },
180
+ {
181
+ groupCode: 'subaccountOrgList',
182
+ fieldType: 'input',
183
+ title: '组织编码',
184
+ fieldLabelI18nKey: '',
185
+ field: 'orgCode',
186
+ align: 'center',
187
+ headerAlign: 'center',
188
+ defaultValue: '',
189
+ width: '250',
190
+ visible: true,
191
+ },
192
+ {
193
+ groupCode: 'subaccountOrgList',
194
+ fieldType: 'input',
195
+ title: '备注',
196
+ fieldLabelI18nKey: '',
197
+ field: 'remark',
198
+ align: 'center',
199
+ headerAlign: 'center',
200
+ defaultValue: '',
201
+ width: '250',
202
+ visible: true,
203
+ },
204
+ ],
205
+ },
206
+ // 页面按钮
207
+ pageButtons: [
208
+ {
209
+ ...BUTTON_SAVE,
210
+ title: '保存',
211
+ emit: true,
212
+ emitKey: 'customSave',
213
+ args: {
214
+ url: '/account/elsSubAccount/edit',
215
+ },
216
+ },
217
+ ],
218
+ })
219
+ const pageButtons = options.pageButtons as GlobalPageLayoutTypes.PageButton[]
220
+ const refreshMethods = options.refreshMethods
221
+
222
+ const { pageData, layoutConfig, defaultValues } = useRefInstanceHook(layoutRef)
223
+ const { stepTriggerValidate, composeSave, customLoading } = usePromiseStepHook({ pageData, layoutConfig, defaultValues, pageButtons: ref(pageButtons), refreshMethods })
224
+ // 自定义保存
225
+ const handleCustomSave = () => {
226
+ stepTriggerValidate()
227
+ }
228
+ //
229
+ const handleValidateSuccess = (button: GlobalPageLayoutTypes.PageButton) => {
230
+ if (button.key === BUTTON_SAVE.key) {
231
+ composeSave()
232
+ }
233
+ }
234
+ // 页面刷新
235
+ const handleRefresh = () => {
236
+ console.log('refresh :>> ')
237
+ if (options.currentRow) {
238
+ options.currentRow._t = +new Date()
239
+ }
240
+ }
241
+ </script>