@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.
- package/.eslintignore +4 -0
- package/.eslintrc.cjs +22 -0
- package/.prettierignore +4 -0
- package/.prettierrc.cjs +41 -0
- package/.vscode/extensions.json +3 -0
- package/README.md +16 -0
- package/dist/index.es.d.ts +1 -0
- package/dist/index.es.js +14234 -0
- package/dist/index.umd.js +311 -0
- package/dist/lib/components/QAccountList/src/QAccountList.vue.d.ts +143 -0
- package/dist/lib/components/QAccountList/src/useConfigData.d.ts +37 -0
- package/dist/lib/components/QBackgroundFileTaskList/src/QBackgroundFileTaskList.vue.d.ts +66 -0
- package/dist/lib/components/QBackgroundFileTaskList/src/useConfigData.d.ts +14 -0
- package/dist/lib/components/QCompanyermissionList/src/form.vue.d.ts +80 -0
- package/dist/lib/components/QCompanyermissionList/src/types.d.ts +44 -0
- package/dist/lib/components/QElsEmailSendLogList/src/QElsEmailSendLogList.vue.d.ts +68 -0
- package/dist/lib/components/QElsEmailSendLogList/src/useConfigData.d.ts +13 -0
- package/dist/lib/components/QElsMsgRecordList/src/QElsMsgRecordList.vue.d.ts +72 -0
- package/dist/lib/components/QElsMsgRecordList/src/useConfigData.d.ts +16 -0
- package/dist/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsList.vue.d.ts +75 -0
- package/dist/lib/components/QI18nList/src/QI18nForm.vue.d.ts +47 -0
- package/dist/lib/components/QI18nList/src/QI18nList.vue.d.ts +136 -0
- package/dist/lib/components/QI18nList/src/useConfigData.d.ts +31 -0
- package/dist/lib/components/QImChatGroupList/src/QImChatGroupList.vue.d.ts +61 -0
- package/dist/lib/components/QImChatGroupList/src/useConfigData.d.ts +11 -0
- package/dist/lib/components/QMqRecordList/src/QMqRecordList.vue.d.ts +60 -0
- package/dist/lib/components/QMqRecordList/src/useConfigData.d.ts +12 -0
- package/dist/lib/components/QPasswordSecurityPolicy/src/QPasswordSecurityPolicy.vue.d.ts +49 -0
- package/dist/lib/components/QPermissionDataList/src/QPermissionDataAuth.vue.d.ts +3 -0
- package/dist/lib/components/QPermissionDataList/src/form.vue.d.ts +50 -0
- package/dist/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeList.vue.d.ts +86 -0
- package/dist/lib/components/QPurchaseNoticeList/src/useConfigData.d.ts +15 -0
- package/dist/lib/components/QPurchaseNoticeTemplateList/src/QPurchaseNoticeTemplateList.vue.d.ts +47 -0
- package/dist/lib/components/QPurchaseNoticeTemplateList/src/useConfigData.d.ts +12 -0
- package/dist/lib/components/QQuartzJobList/src/QQuartzJobList.vue.d.ts +129 -0
- package/dist/lib/components/QQuartzJobList/src/components/JCron.vue.d.ts +23 -0
- package/dist/lib/components/QQuartzJobList/src/components/JCronModal.vue.d.ts +100 -0
- package/dist/lib/components/QQuartzJobList/src/components/QuartzJobModal.vue.d.ts +55 -0
- package/dist/lib/components/QQuartzJobList/src/useConfigData.d.ts +20 -0
- package/dist/lib/components/QRoleList/src/QRoleList.vue.d.ts +100 -0
- package/dist/lib/components/QRoleList/src/components/content-header/index.d.ts +23 -0
- package/dist/lib/components/QRoleList/src/components/userAuthorization/index.d.ts +79 -0
- package/dist/lib/components/QRoleList/src/useConfigData.d.ts +30 -0
- package/dist/lib/components/QSupplierAccountList/src/QSupplierAccountForm.vue.d.ts +55 -0
- package/dist/lib/components/QSupplierAccountList/src/QSupplierAccountList.vue.d.ts +104 -0
- package/dist/lib/components/QSupplierAccountList/src/useConfigData.d.ts +29 -0
- package/dist/lib/components/QUsageList/src/QUsageList.vue.d.ts +49 -0
- package/dist/lib/components/QUsageList/src/useConfigData.d.ts +14 -0
- package/dist/lib/components/QcustomConfigEdit/component/TempalePreviewModal.vue.d.ts +31 -0
- package/dist/lib/components/QcustomConfigEdit/component/dataFormatComponent.d.ts +46 -0
- package/dist/lib/components/QcustomConfigEdit/component/regexComponent.d.ts +41 -0
- package/dist/lib/components/QcustomConfigEdit/src/QcustomConfigRender.d.ts +12 -0
- package/dist/lib/components/QcustomConfigEdit/src/types.d.ts +61 -0
- package/dist/lib/components/QcustomConfigEdit/src/useConfigComputed.d.ts +7 -0
- package/dist/lib/components/QcustomConfigEdit/src/useConfigData.d.ts +85 -0
- package/dist/lib/components/QcustomConfigEdit/src/useConfigMethods.d.ts +16 -0
- package/dist/lib/components/QcustomConfigEdit/src/useConstant.d.ts +18 -0
- package/dist/lib/components/QcustomConfigList/component/ImportJsonCustomConfig.vue.d.ts +50 -0
- package/dist/lib/components/QcustomConfigList/src/QcustomConfigList.vue.d.ts +112 -0
- package/dist/lib/components/QcustomConfigList/src/useConfigData.d.ts +17 -0
- package/dist/lib/components/QcustomConfigList/src/useMethods.d.ts +15 -0
- package/dist/lib/components/QsysConfigList/src/QsysConfigList.vue.d.ts +66 -0
- package/dist/lib/components/QsysConfigList/src/useConfigData.d.ts +11 -0
- package/dist/lib/components/QsysConfigList/src/useMethods.d.ts +6 -0
- package/dist/lib/components/index.d.ts +39 -0
- package/dist/lib/components/integratedNodesList/src/index.vue.d.ts +107 -0
- package/dist/lib/components/integratedReportList/src/index.vue.d.ts +70 -0
- package/dist/lib/components/integratedReportSearchList/src/index.vue.d.ts +61 -0
- package/dist/lib/components/loginAbnormalLogList/src/index.vue.d.ts +46 -0
- package/dist/lib/components/loginLogList/src/index.vue.d.ts +45 -0
- package/dist/lib/components/loginSupplierLogList/src/index.vue.d.ts +45 -0
- package/dist/lib/components/operateLogList/src/index.vue.d.ts +53 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/utils/global.hook.d.ts +31 -0
- package/dist/lib/utils/global.types.d.ts +41 -0
- package/dist/lib/utils/regexp.d.ts +27 -0
- package/dist/style.css +1 -0
- package/dist/vite-env.d.ts +13 -0
- package/dist/vite.svg +1 -0
- package/index.html +13 -0
- package/package.json +65 -0
- package/public/vite.svg +1 -0
- package/src/App.vue +8 -0
- package/src/lib/components/QAccountList/index.ts +6 -0
- package/src/lib/components/QAccountList/src/QAccountDetail.vue +191 -0
- package/src/lib/components/QAccountList/src/QAccountEdit.vue +241 -0
- package/src/lib/components/QAccountList/src/QAccountList.vue +530 -0
- package/src/lib/components/QAccountList/src/useConfigData.ts +53 -0
- package/src/lib/components/QBackgroundFileTaskList/index.ts +6 -0
- package/src/lib/components/QBackgroundFileTaskList/src/QBackgroundFileTaskList.vue +137 -0
- package/src/lib/components/QBackgroundFileTaskList/src/useConfigData.ts +20 -0
- package/src/lib/components/QCompanyermissionList/src/editTree.vue +291 -0
- package/src/lib/components/QCompanyermissionList/src/form.vue +238 -0
- package/src/lib/components/QCompanyermissionList/src/index.vue +309 -0
- package/src/lib/components/QCompanyermissionList/src/types.ts +44 -0
- package/src/lib/components/QElsEmailSendLogList/index.ts +6 -0
- package/src/lib/components/QElsEmailSendLogList/src/QElsEmailSendLogList.vue +166 -0
- package/src/lib/components/QElsEmailSendLogList/src/useConfigData.ts +19 -0
- package/src/lib/components/QElsMsgRecordList/index.ts +6 -0
- package/src/lib/components/QElsMsgRecordList/src/QElsMsgRecordDetail.vue +148 -0
- package/src/lib/components/QElsMsgRecordList/src/QElsMsgRecordList.vue +124 -0
- package/src/lib/components/QElsMsgRecordList/src/useConfigData.ts +22 -0
- package/src/lib/components/QElsTenantPortalNewsList/index.ts +6 -0
- package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsDetail.vue +139 -0
- package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsEdit.vue +196 -0
- package/src/lib/components/QElsTenantPortalNewsList/src/QElsTenantPortalNewsList.vue +122 -0
- package/src/lib/components/QElsTenantPortalNewsList/src/useConfigData.ts +20 -0
- package/src/lib/components/QI18nList/index.ts +6 -0
- package/src/lib/components/QI18nList/src/QI18nForm.vue +141 -0
- package/src/lib/components/QI18nList/src/QI18nList.vue +361 -0
- package/src/lib/components/QI18nList/src/useConfigData.ts +37 -0
- package/src/lib/components/QImChatGroupList/index.ts +6 -0
- package/src/lib/components/QImChatGroupList/src/QImChatGroupList.vue +94 -0
- package/src/lib/components/QImChatGroupList/src/useConfigData.ts +17 -0
- package/src/lib/components/QMqRecordList/index.ts +6 -0
- package/src/lib/components/QMqRecordList/src/QMqRecordList.vue +105 -0
- package/src/lib/components/QMqRecordList/src/useConfigData.ts +18 -0
- package/src/lib/components/QPasswordSecurityPolicy/index.ts +6 -0
- package/src/lib/components/QPasswordSecurityPolicy/src/QPasswordSecurityPolicy.vue +266 -0
- package/src/lib/components/QPermissionDataList/index.ts +6 -0
- package/src/lib/components/QPermissionDataList/src/QPermissionDataAuth.vue +3 -0
- package/src/lib/components/QPermissionDataList/src/QPermissionDataEdit.vue +221 -0
- package/src/lib/components/QPermissionDataList/src/QPermissionDataList.vue +117 -0
- package/src/lib/components/QPermissionDataList/src/form.vue +109 -0
- package/src/lib/components/QPurchaseNoticeList/index.ts +6 -0
- package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeDetail.vue +147 -0
- package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeEdit.vue +244 -0
- package/src/lib/components/QPurchaseNoticeList/src/QPurchaseNoticeList.vue +163 -0
- package/src/lib/components/QPurchaseNoticeList/src/useConfigData.ts +22 -0
- package/src/lib/components/QPurchaseNoticeTemplateList/index.ts +6 -0
- package/src/lib/components/QPurchaseNoticeTemplateList/src/QPurchaseNoticeTemplateList.vue +85 -0
- package/src/lib/components/QPurchaseNoticeTemplateList/src/useConfigData.ts +18 -0
- package/src/lib/components/QQuartzJobList/index.ts +6 -0
- package/src/lib/components/QQuartzJobList/src/QQuartzJobList.vue +263 -0
- package/src/lib/components/QQuartzJobList/src/components/JCron.vue +82 -0
- package/src/lib/components/QQuartzJobList/src/components/JCronModal.vue +985 -0
- package/src/lib/components/QQuartzJobList/src/components/QuartzJobModal.vue +176 -0
- package/src/lib/components/QQuartzJobList/src/useConfigData.ts +26 -0
- package/src/lib/components/QRoleList/index.ts +6 -0
- package/src/lib/components/QRoleList/src/QRoleList.vue +288 -0
- package/src/lib/components/QRoleList/src/components/content-header/contentHeader.less +31 -0
- package/src/lib/components/QRoleList/src/components/content-header/index.tsx +42 -0
- package/src/lib/components/QRoleList/src/components/userAuthorization/index.tsx +690 -0
- package/src/lib/components/QRoleList/src/components/userAuthorization/userAuthorization.less +97 -0
- package/src/lib/components/QRoleList/src/useConfigData.ts +33 -0
- package/src/lib/components/QSupplierAccountList/index.ts +6 -0
- package/src/lib/components/QSupplierAccountList/src/QSupplierAccountForm.vue +187 -0
- package/src/lib/components/QSupplierAccountList/src/QSupplierAccountList.vue +302 -0
- package/src/lib/components/QSupplierAccountList/src/useConfigData.ts +29 -0
- package/src/lib/components/QUsageList/index.ts +6 -0
- package/src/lib/components/QUsageList/src/QUsageList.vue +82 -0
- package/src/lib/components/QUsageList/src/useConfigData.ts +20 -0
- package/src/lib/components/QcustomConfigEdit/component/AddDictCodeModal.vue +140 -0
- package/src/lib/components/QcustomConfigEdit/component/TempalePreviewModal.vue +100 -0
- package/src/lib/components/QcustomConfigEdit/component/dataFormatComponent.tsx +100 -0
- package/src/lib/components/QcustomConfigEdit/component/regexComponent.tsx +71 -0
- package/src/lib/components/QcustomConfigEdit/index.ts +6 -0
- package/src/lib/components/QcustomConfigEdit/src/QcustomConfigEdit.vue +1807 -0
- package/src/lib/components/QcustomConfigEdit/src/QcustomConfigRender.tsx +242 -0
- package/src/lib/components/QcustomConfigEdit/src/types.ts +71 -0
- package/src/lib/components/QcustomConfigEdit/src/useConfigComputed.ts +75 -0
- package/src/lib/components/QcustomConfigEdit/src/useConfigData.ts +123 -0
- package/src/lib/components/QcustomConfigEdit/src/useConfigMethods.ts +117 -0
- package/src/lib/components/QcustomConfigEdit/src/useConstant.ts +301 -0
- package/src/lib/components/QcustomConfigEdit/style/index.less +41 -0
- package/src/lib/components/QcustomConfigList/component/ImportJsonCustomConfig.vue +135 -0
- package/src/lib/components/QcustomConfigList/index.ts +6 -0
- package/src/lib/components/QcustomConfigList/src/QcustomConfigList.vue +268 -0
- package/src/lib/components/QcustomConfigList/src/types.ts +1 -0
- package/src/lib/components/QcustomConfigList/src/useConfigData.ts +23 -0
- package/src/lib/components/QcustomConfigList/src/useMethods.ts +36 -0
- package/src/lib/components/QcustomConfigList/style/index.less +3 -0
- package/src/lib/components/QsysConfigList/index.ts +6 -0
- package/src/lib/components/QsysConfigList/src/QsysConfigList.vue +125 -0
- package/src/lib/components/QsysConfigList/src/types.ts +1 -0
- package/src/lib/components/QsysConfigList/src/useConfigData.ts +17 -0
- package/src/lib/components/QsysConfigList/src/useMethods.ts +11 -0
- package/src/lib/components/QsysConfigList/style/index.less +3 -0
- package/src/lib/components/index.ts +78 -0
- package/src/lib/components/integratedNodesList/src/QIntegratedNodesDetail.vue +49 -0
- package/src/lib/components/integratedNodesList/src/QIntegratedNodesEdit.vue +143 -0
- package/src/lib/components/integratedNodesList/src/index.vue +136 -0
- package/src/lib/components/integratedReportList/src/index.vue +86 -0
- package/src/lib/components/integratedReportSearchList/src/index.vue +66 -0
- package/src/lib/components/loginAbnormalLogList/src/index.vue +50 -0
- package/src/lib/components/loginLogList/src/index.vue +57 -0
- package/src/lib/components/loginSupplierLogList/src/index.vue +63 -0
- package/src/lib/components/operateLogList/src/index.vue +57 -0
- package/src/lib/index.ts +15 -0
- package/src/lib/utils/constant.ts +1 -0
- package/src/lib/utils/global.hook.ts +337 -0
- package/src/lib/utils/global.types.ts +49 -0
- package/src/lib/utils/regexp.ts +143 -0
- package/src/main.ts +11 -0
- package/src/vite-env.d.ts +13 -0
- package/tsconfig.json +24 -0
- package/tsconfig.node.json +9 -0
- 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
|
+
}
|
package/public/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/src/App.vue
ADDED
|
@@ -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>
|