owl-cli 6.214.0 → 7.0.0
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/examples/models/owlsys/backendSession.json +52 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
- package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
- package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
- package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
- package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
- package/examples/models/owlsys/organization/business_circle.json +144 -0
- package/examples/models/owlsys/organization/business_circle_application.json +50 -0
- package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
- package/examples/models/owlsys/organization/entity.json +64 -0
- package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
- package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
- package/examples/models/owlsys/organization/merchant_apply.json +561 -0
- package/examples/models/owlsys/organization/merchant_user.json +55 -0
- package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
- package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
- package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
- package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
- package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
- package/examples/models/owlsys/organization/org_certify_log.json +78 -0
- package/examples/models/owlsys/organization/org_entity.json +60 -0
- package/examples/models/owlsys/organization/org_modules.json +117 -0
- package/examples/models/owlsys/organization/org_source.json +30 -0
- package/examples/models/owlsys/organization/org_user.json +81 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
- package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
- package/examples/models/owlsys/organization/orgs.json +671 -0
- package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
- package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
- package/examples/models/owlsys/organization/website.json +104 -0
- package/examples/models/owlsys/permissions/permission.json +165 -0
- package/examples/models/owlsys/permissions/roles.json +48 -0
- package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
- package/examples/models/owlsys/server_token.json +38 -0
- package/examples/models/owlsys/session.json +57 -0
- package/examples/models/owlsys/tasks/process_job.json +94 -0
- package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
- package/examples/models/owlsys/tasks/process_job_log.json +34 -0
- package/examples/models/owlsys/user/address.json +52 -0
- package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
- package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
- package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
- package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
- package/examples/models/owlsys/user/org_user_address.json +46 -0
- package/examples/models/owlsys/user/org_user_address_default.json +48 -0
- package/examples/models/owlsys/user/org_user_invoice.json +56 -0
- package/examples/models/owlsys/user/user.json +458 -0
- package/examples/models/owlsys/user/user_address.json +46 -0
- package/examples/models/owlsys/user/user_address_default.json +48 -0
- package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
- package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
- package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
- package/examples/models/owlsys/user/user_batch_import.json +76 -0
- package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
- package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
- package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
- package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
- package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
- package/examples/models/owlsys/user/user_category.json +96 -0
- package/examples/models/owlsys/user/user_education.json +56 -0
- package/examples/models/owlsys/user/user_income.json +56 -0
- package/examples/models/owlsys/user/user_industry.json +56 -0
- package/examples/models/owlsys/user/user_invoice.json +88 -0
- package/examples/models/owlsys/user/user_logout.json +65 -0
- package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
- package/examples/models/owlsys/user/user_source.json +57 -0
- package/examples/models/owlsys/user/user_third_openid.json +64 -0
- package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
- package/examples/models/owlsys/user/user_update_log.json +69 -0
- package/examples/models/owlsys/user_logs/app_logs.json +48 -0
- package/examples/models/owlsys/user_logs/history_p.json +77 -0
- package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
- package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
- package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
- package/examples/owlsysApps/commonService/build.xml +29 -0
- package/examples/owlsysApps/commonService/src/meta.json +10 -0
- package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
- package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
- package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
- package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
- package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
- package/examples/owlsysApps/owlPermission/build.xml +29 -0
- package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
- package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
- package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
- package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
- package/examples/owlsysApps/owlShell/build.xml +28 -0
- package/examples/owlsysApps/owlShell/package-lock.json +3 -0
- package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
- package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
- package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
- package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
- package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
- package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
- package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
- package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
- package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
- package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
- package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
- package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
- package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
- package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
- package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
- package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
- package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
- package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
- package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
- package/examples/owlsysApps/owlShell/src/icon.png +0 -0
- package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
- package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
- package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
- package/examples/owlsysApps/owlShell/src/meta.json +16 -0
- package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
- package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
- package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
- package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
- package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
- package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
- package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
- package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
- package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
- package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
- package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
- package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
- package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
- package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
- package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
- package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
- package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
- package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
- package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
- package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
- package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
- package/package.json +1 -1
package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import DateUtil.js
|
|
3
|
+
//#import excel.js
|
|
4
|
+
//#import $owl_mall_u:services/modelService.jsx
|
|
5
|
+
//#import $owl_user_batch_update_password:services/modelService.jsx
|
|
6
|
+
//#import $owlService:services/user/UserLogUtil.jsx
|
|
7
|
+
|
|
8
|
+
;(function () {
|
|
9
|
+
|
|
10
|
+
var jBatchImport = owl_user_batch_update_passwordService.get(batchId);
|
|
11
|
+
|
|
12
|
+
var logMsg = "";
|
|
13
|
+
var total = 0;
|
|
14
|
+
var totalSuccess = 0;
|
|
15
|
+
var totalFailed = 0;
|
|
16
|
+
var beginTime = (new Date()).getTime();
|
|
17
|
+
try {
|
|
18
|
+
|
|
19
|
+
var jFile = jBatchImport.file;
|
|
20
|
+
if (!jFile || jFile.length == 0 || !jFile[0].url) {
|
|
21
|
+
logMsg = appendLog(logMsg, "缺少Excel文件");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var filePath = jFile[0].url;
|
|
25
|
+
|
|
26
|
+
var jData = Excel.parse(filePath);
|
|
27
|
+
if (!jData) {
|
|
28
|
+
logMsg = appendLog(logMsg, "读取Excel文件失败");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!jData.sheets || jData.sheets.length == 0) {
|
|
32
|
+
logMsg = appendLog(logMsg, "Excel中的sheet为空");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var sheet = jData.sheets[0];
|
|
37
|
+
var rows = sheet.rows;
|
|
38
|
+
|
|
39
|
+
for (var j = 1; j < rows.length; j++) {
|
|
40
|
+
try {
|
|
41
|
+
total++;
|
|
42
|
+
|
|
43
|
+
var row = rows[j];
|
|
44
|
+
var cells = row.cells;
|
|
45
|
+
var uid = getCellValue(cells, 0);
|
|
46
|
+
var mobile = getCellValue(cells, 1);
|
|
47
|
+
var loginId = getCellValue(cells, 2);
|
|
48
|
+
var password = getCellValue(cells, 3);
|
|
49
|
+
|
|
50
|
+
if (uid == "" && mobile == "" && loginId == "") {
|
|
51
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【会员内部ID】,【会员手机号】,【会员登录ID】不能同时为空");
|
|
52
|
+
totalFailed++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (!password) {
|
|
56
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【新密码】不能为空");
|
|
57
|
+
totalFailed++;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var jUser;
|
|
62
|
+
if (uid) {
|
|
63
|
+
jUser = owl_mall_uService.get(uid);
|
|
64
|
+
if (!jUser) {
|
|
65
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:ID为【" + uid + "】的用户不存在");
|
|
66
|
+
totalFailed++;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
} else if (mobile) {
|
|
70
|
+
jUser = owl_mall_uService.getUniqueObj("mobile", mobile);
|
|
71
|
+
if (!jUser) {
|
|
72
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号为【" + mobile + "】的用户不存在");
|
|
73
|
+
totalFailed++;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
jUser = owl_mall_uService.getUniqueObj("loginId", loginId);
|
|
78
|
+
if (!jUser) {
|
|
79
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登录ID为【" + loginId + "】的用户不存在");
|
|
80
|
+
totalFailed++;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
var userId = jUser.id;
|
|
85
|
+
|
|
86
|
+
var random = Math.random();
|
|
87
|
+
jUser.passwordhash = DigestUtil.sha1(password + random);
|
|
88
|
+
jUser.random = random;
|
|
89
|
+
delete jUser.pwdV;
|
|
90
|
+
|
|
91
|
+
owl_mall_uService.update(jUser);
|
|
92
|
+
|
|
93
|
+
UserLogUtil.addUserLog("1", userId, "", "", jBatchImport.owl_createUserId, "", "批量修改会员登录密码", "", "");
|
|
94
|
+
totalSuccess++;
|
|
95
|
+
|
|
96
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "操作成功");
|
|
97
|
+
} catch (e) {
|
|
98
|
+
totalFailed++;
|
|
99
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 操作失败,失败原因:" + e);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
} catch (e) {
|
|
104
|
+
$.log("user_batch_update_password....doUpdateUserTask.jsx....error=" + e);
|
|
105
|
+
logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
|
|
106
|
+
} finally {
|
|
107
|
+
var endTime = (new Date()).getTime();
|
|
108
|
+
var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
|
|
109
|
+
logInfo += "。总处理数量=" + total;
|
|
110
|
+
logInfo += "。成功处理数量=" + totalSuccess;
|
|
111
|
+
logInfo += "; 未处理总数量=" + totalFailed;
|
|
112
|
+
|
|
113
|
+
logMsg = appendLog(logMsg, "");
|
|
114
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
115
|
+
|
|
116
|
+
jBatchImport.updated_num = totalSuccess;
|
|
117
|
+
jBatchImport.msg = logMsg;
|
|
118
|
+
owl_user_batch_update_passwordService.update(jBatchImport);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
})();
|
|
122
|
+
|
|
123
|
+
function appendLog(logInfo, s) {
|
|
124
|
+
if (logInfo) {
|
|
125
|
+
return logInfo + "\n" + s;
|
|
126
|
+
}
|
|
127
|
+
return s;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function getCellValue(cells, index) {
|
|
131
|
+
for (var i = 0; i < cells.length; i++) {
|
|
132
|
+
var jCell = cells[i];
|
|
133
|
+
if (jCell.columnIndex == index) {
|
|
134
|
+
if (jCell.value) {
|
|
135
|
+
return jCell.value;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return "";
|
|
140
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"base_info": {
|
|
3
|
+
"#meta": {
|
|
4
|
+
"fieldLabel": "基本信息",
|
|
5
|
+
"showTitle": "no",
|
|
6
|
+
"includeKey": "no",
|
|
7
|
+
"position": "card",
|
|
8
|
+
"span": 3
|
|
9
|
+
},
|
|
10
|
+
"id": "string(128),formSize:2,listSize:8,searchable:true,disabled:true;内部ID",
|
|
11
|
+
"blank1": "space,formSize:6;空白",
|
|
12
|
+
"file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8,require:true;Excel文件",
|
|
13
|
+
"updated_num": "number(6),formSize:8,disabled:true;发生修改数量",
|
|
14
|
+
"msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
|
|
15
|
+
},
|
|
16
|
+
"other_info": {
|
|
17
|
+
"#meta": {
|
|
18
|
+
"fieldLabel": "其他信息",
|
|
19
|
+
"showTitle": "no",
|
|
20
|
+
"includeKey": "no",
|
|
21
|
+
"position": "card",
|
|
22
|
+
"span": 1
|
|
23
|
+
},
|
|
24
|
+
"owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
|
|
25
|
+
"owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
"_t": "user_batch_update_password",
|
|
29
|
+
"#meta": {
|
|
30
|
+
"rem": "批量修改登录密码",
|
|
31
|
+
"projectName": "批量修改会员",
|
|
32
|
+
"parent": [
|
|
33
|
+
"platform"
|
|
34
|
+
],
|
|
35
|
+
"visitType": [
|
|
36
|
+
"platform"
|
|
37
|
+
],
|
|
38
|
+
"exLists": [
|
|
39
|
+
{
|
|
40
|
+
"name": "默认列表",
|
|
41
|
+
"code": "defaultList",
|
|
42
|
+
"buttons":{
|
|
43
|
+
"showAdd": true,
|
|
44
|
+
"showDel": false,
|
|
45
|
+
"showRecycle": false
|
|
46
|
+
},
|
|
47
|
+
"expandIconColumnIndex":1,
|
|
48
|
+
"list": ["id","updated_num","owl_createTime","owl_createUserId"]
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"pos": 5,
|
|
52
|
+
"group": {
|
|
53
|
+
"id": "mall_user",
|
|
54
|
+
"name": "会员管理",
|
|
55
|
+
"icon": "user",
|
|
56
|
+
"pos": 6,
|
|
57
|
+
"level2": {
|
|
58
|
+
"id": "user_batch_update",
|
|
59
|
+
"name": "会员批量管理",
|
|
60
|
+
"icon": "outline",
|
|
61
|
+
"pos": 16
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"eventHandlers": [
|
|
65
|
+
{
|
|
66
|
+
"handlerId":"user_batch_update_password_eventHandlers_batchUpdate",
|
|
67
|
+
"pageId":"eventhandlers/batchUpdate.jsx",
|
|
68
|
+
"throwException":true,
|
|
69
|
+
"eventName": "user_batch_update_password_add_after",
|
|
70
|
+
"description":"新增后,自动导入"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"formPlugins": [
|
|
74
|
+
{
|
|
75
|
+
"label": "下载模板",
|
|
76
|
+
"id": "user_batch_update_password_downTemplate",
|
|
77
|
+
"action": "/owl_user_batch_update_password/plugins/downTemplate.jsx",
|
|
78
|
+
"responseAction": "showMessage"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
}
|
package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import jobs.js
|
|
3
|
+
;
|
|
4
|
+
(function () {
|
|
5
|
+
var data = ctx.get("data");
|
|
6
|
+
|
|
7
|
+
var when = new Date().getTime();
|
|
8
|
+
var postData = {batchId: data.id};
|
|
9
|
+
JobsService.submitTask("owl_user_batch_update_state", "tasks/doUpdateUserTask.jsx", postData, when);
|
|
10
|
+
})();
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import DateUtil.js
|
|
3
|
+
//#import excel.js
|
|
4
|
+
//#import $owl_mall_u:services/modelService.jsx
|
|
5
|
+
//#import $owl_user_batch_update_state:services/modelService.jsx
|
|
6
|
+
|
|
7
|
+
;(function () {
|
|
8
|
+
|
|
9
|
+
var jBatchImport = owl_user_batch_update_stateService.get(batchId);
|
|
10
|
+
|
|
11
|
+
var logMsg = "";
|
|
12
|
+
var total = 0;
|
|
13
|
+
var totalSuccess = 0;
|
|
14
|
+
var totalFailed = 0;
|
|
15
|
+
var beginTime = (new Date()).getTime();
|
|
16
|
+
try {
|
|
17
|
+
|
|
18
|
+
var jFile = jBatchImport.file;
|
|
19
|
+
if (!jFile || jFile.length == 0 || !jFile[0].url) {
|
|
20
|
+
logMsg = appendLog(logMsg, "缺少Excel文件");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
var filePath = jFile[0].url;
|
|
24
|
+
|
|
25
|
+
var jData = Excel.parse(filePath);
|
|
26
|
+
if (!jData) {
|
|
27
|
+
logMsg = appendLog(logMsg, "读取Excel文件失败");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!jData.sheets || jData.sheets.length == 0) {
|
|
31
|
+
logMsg = appendLog(logMsg, "Excel中的sheet为空");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var actionType = jBatchImport.actionType;
|
|
36
|
+
|
|
37
|
+
var sheet = jData.sheets[0];
|
|
38
|
+
var rows = sheet.rows;
|
|
39
|
+
|
|
40
|
+
for (var j = 1; j < rows.length; j++) {
|
|
41
|
+
try {
|
|
42
|
+
total++;
|
|
43
|
+
|
|
44
|
+
var row = rows[j];
|
|
45
|
+
var cells = row.cells;
|
|
46
|
+
var uid = getCellValue(cells, 0);
|
|
47
|
+
var mobile = getCellValue(cells, 1);
|
|
48
|
+
var loginId = getCellValue(cells, 2);
|
|
49
|
+
|
|
50
|
+
if (uid == "" && mobile == "" && loginId == "") {
|
|
51
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【会员内部ID】,【会员手机号】,【会员登录ID】不能同时为空");
|
|
52
|
+
totalFailed++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var jUser;
|
|
57
|
+
if (uid) {
|
|
58
|
+
jUser = owl_mall_uService.get(uid);
|
|
59
|
+
if (!jUser) {
|
|
60
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:ID为【" + uid + "】的用户不存在");
|
|
61
|
+
totalFailed++;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
} else if (mobile) {
|
|
65
|
+
jUser = owl_mall_uService.getUniqueObj("mobile", mobile);
|
|
66
|
+
if (!jUser) {
|
|
67
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号为【" + mobile + "】的用户不存在");
|
|
68
|
+
totalFailed++;
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
jUser = owl_mall_uService.getUniqueObj("loginId", loginId);
|
|
73
|
+
if (!jUser) {
|
|
74
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登录ID为【" + loginId + "】的用户不存在");
|
|
75
|
+
totalFailed++;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (jUser.isEnable == actionType) {
|
|
81
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:用户已经是【" + getStateName(jUser.isEnable) + "】状态");
|
|
82
|
+
totalFailed++;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
jUser.isEnable = actionType;
|
|
87
|
+
owl_mall_uService.update(jUser);
|
|
88
|
+
totalSuccess++;
|
|
89
|
+
|
|
90
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "操作成功");
|
|
91
|
+
} catch (e) {
|
|
92
|
+
totalFailed++;
|
|
93
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 操作失败,失败原因:" + e);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
} catch (e) {
|
|
98
|
+
$.log("\nuser_batch_update_state....doUpdateUserTask.jsx....error=" + e);
|
|
99
|
+
logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
|
|
100
|
+
} finally {
|
|
101
|
+
var endTime = (new Date()).getTime();
|
|
102
|
+
var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
|
|
103
|
+
logInfo += "。总处理数量=" + total;
|
|
104
|
+
logInfo += "。成功处理数量=" + totalSuccess;
|
|
105
|
+
logInfo += "; 未处理总数量=" + totalFailed;
|
|
106
|
+
|
|
107
|
+
logMsg = appendLog(logMsg, "");
|
|
108
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
109
|
+
|
|
110
|
+
jBatchImport.msg = logMsg;
|
|
111
|
+
owl_user_batch_update_stateService.update(jBatchImport);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
})();
|
|
115
|
+
|
|
116
|
+
function appendLog(logInfo, s) {
|
|
117
|
+
if (logInfo) {
|
|
118
|
+
return logInfo += "\n" + s;
|
|
119
|
+
}
|
|
120
|
+
return s;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function getCellValue(cells, index) {
|
|
124
|
+
for (var i = 0; i < cells.length; i++) {
|
|
125
|
+
var jCell = cells[i];
|
|
126
|
+
if (jCell.columnIndex == index) {
|
|
127
|
+
if (jCell.value) {
|
|
128
|
+
return jCell.value;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return "";
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function getStateName(state) {
|
|
136
|
+
if (state == "1") {
|
|
137
|
+
return "正常";
|
|
138
|
+
}
|
|
139
|
+
return "冻结";
|
|
140
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"base_info": {
|
|
3
|
+
"#meta": {
|
|
4
|
+
"fieldLabel": "基本信息",
|
|
5
|
+
"showTitle": "no",
|
|
6
|
+
"includeKey": "no",
|
|
7
|
+
"position": "card",
|
|
8
|
+
"span": 3
|
|
9
|
+
},
|
|
10
|
+
"id": "string(128),formSize:2,listSize:8,searchable:true,disabled:true;内部ID",
|
|
11
|
+
"blank1": "space,formSize:6;空白",
|
|
12
|
+
"actionType":"choice,formSize:2,values:0_批量冻结/1_批量解冻,searchable:true,require:true;操作类型",
|
|
13
|
+
"blank3": "space,formSize:6;空白",
|
|
14
|
+
"file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8,require:true;Excel文件",
|
|
15
|
+
"msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
|
|
16
|
+
},
|
|
17
|
+
"other_info": {
|
|
18
|
+
"#meta": {
|
|
19
|
+
"fieldLabel": "其他信息",
|
|
20
|
+
"showTitle": "no",
|
|
21
|
+
"includeKey": "no",
|
|
22
|
+
"position": "card",
|
|
23
|
+
"span": 1
|
|
24
|
+
},
|
|
25
|
+
"owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
|
|
26
|
+
"owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
"_t": "user_batch_update_state",
|
|
30
|
+
"#meta": {
|
|
31
|
+
"rem": "批量冻结/解冻会员",
|
|
32
|
+
"projectName": "批量冻结/解冻会员",
|
|
33
|
+
"parent": [
|
|
34
|
+
"platform"
|
|
35
|
+
],
|
|
36
|
+
"visitType": [
|
|
37
|
+
"platform"
|
|
38
|
+
],
|
|
39
|
+
"exLists": [
|
|
40
|
+
{
|
|
41
|
+
"name": "默认列表",
|
|
42
|
+
"code": "defaultList",
|
|
43
|
+
"buttons":{
|
|
44
|
+
"showAdd": true,
|
|
45
|
+
"showDel": false,
|
|
46
|
+
"showRecycle": false
|
|
47
|
+
},
|
|
48
|
+
"expandIconColumnIndex":1,
|
|
49
|
+
"list": ["id","actionType","owl_createTime","owl_createUserId"]
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"pos": 1,
|
|
53
|
+
"group": {
|
|
54
|
+
"id": "mall_user",
|
|
55
|
+
"name": "会员管理",
|
|
56
|
+
"icon": "user",
|
|
57
|
+
"pos": 6,
|
|
58
|
+
"level2": {
|
|
59
|
+
"id": "user_batch_update",
|
|
60
|
+
"name": "会员批量管理",
|
|
61
|
+
"icon": "outline",
|
|
62
|
+
"pos": 16
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"eventHandlers": [
|
|
66
|
+
{
|
|
67
|
+
"handlerId":"user_batch_update_state_eventHandlers_batchUpdate",
|
|
68
|
+
"pageId":"eventhandlers/batchUpdate.jsx",
|
|
69
|
+
"throwException":true,
|
|
70
|
+
"eventName": "user_batch_update_state_add_after",
|
|
71
|
+
"description":"新增后,自动导入"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"base_info": {
|
|
3
|
+
"#meta": {
|
|
4
|
+
"fieldLabel": "其他信息",
|
|
5
|
+
"showTitle": "no",
|
|
6
|
+
"position": "card",
|
|
7
|
+
"includeKey": "no",
|
|
8
|
+
"span": 2
|
|
9
|
+
},
|
|
10
|
+
"id":"string(16),listSize:16,searchable:true,unique:true,disabled:true,formSize:4;分类Id",
|
|
11
|
+
"pos":"string(16),listSize:6,defaultValue:100,searchable:false,required:true,formSize:2;排序",
|
|
12
|
+
"status":"choice,values:waiting_等待生效/active_生效/inactive_失效,formSize:2,listSize:4;状态",
|
|
13
|
+
"name":"string(16),listSize:12,searchable:true,required:true,formSize:4;分类名称",
|
|
14
|
+
"blank1": "space,formSize:4;空白",
|
|
15
|
+
"parent_id": "string(16),searchable:true,disabled:false,formSize:4;上级分类Id",
|
|
16
|
+
"parent_name": "string(16),searchable:true,disabled:true,formSize:4;上级分类名称",
|
|
17
|
+
"category_path": "string(16),searchable:false,disabled:true,formSize:8;分类全称"
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
"icon_info": {
|
|
21
|
+
"#meta": {
|
|
22
|
+
"fieldLabel": "图片信息",
|
|
23
|
+
"showTitle": "no",
|
|
24
|
+
"position": "card",
|
|
25
|
+
"includeKey": "no",
|
|
26
|
+
"span": 1
|
|
27
|
+
},
|
|
28
|
+
"icon": "image,spec:300x300,size:5M,exts:png#jpg#gif#jpeg,listTab:04,maxFileCount:1,listSize:4,formSize:1,labelCol:1;图片"
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
"ext_info": {
|
|
32
|
+
"#meta": {
|
|
33
|
+
"fieldLabel": "其他信息",
|
|
34
|
+
"showTitle": "no",
|
|
35
|
+
"position": "card",
|
|
36
|
+
"includeKey": "no",
|
|
37
|
+
"span": 1
|
|
38
|
+
},
|
|
39
|
+
"_orgId": "string(12),formSize:8,listSize:10,searchable:true,disabled:true;所属商家ID",
|
|
40
|
+
"owl_createTime":"date,formSize:8,listSize:9,searchable:true,disabled:true;创建时间",
|
|
41
|
+
"owl_createUserId":"string(10),formSize:8,listSize:10,searchable:true,disabled:true;创建人"
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
"_t":"mall_u_category",
|
|
45
|
+
"#meta":{
|
|
46
|
+
"rem":"会员分类",
|
|
47
|
+
"projectName":"会员分类",
|
|
48
|
+
"parent":["platform"],
|
|
49
|
+
"isTree":true,
|
|
50
|
+
"isPublic": true,
|
|
51
|
+
"parentField": "parent_id",
|
|
52
|
+
"visitType": [
|
|
53
|
+
"platform"
|
|
54
|
+
],
|
|
55
|
+
"pos": 1,
|
|
56
|
+
"group": {
|
|
57
|
+
"id": "mall_user",
|
|
58
|
+
"name": "会员管理",
|
|
59
|
+
"icon": "user",
|
|
60
|
+
"pos": 6,
|
|
61
|
+
"level2": {
|
|
62
|
+
"id": "user_setting",
|
|
63
|
+
"name": "会员综合设置",
|
|
64
|
+
"icon": "outline",
|
|
65
|
+
"pos": 20
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"eventHandlers": [
|
|
69
|
+
{
|
|
70
|
+
"handlerId": "mall_u_category_eventHandlers_autoSetFullPath_addAfter",
|
|
71
|
+
"pageId": "eventHandlers/autoSetFullPath_addAfter.jsx",
|
|
72
|
+
"throwException": true,
|
|
73
|
+
"eventName": "mall_u_category_add_after",
|
|
74
|
+
"description": "添加后自动生成完整的分类全称"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"handlerId": "mall_u_category_eventHandlers_autoSetFullPath_updateAfter",
|
|
78
|
+
"pageId": "eventHandlers/autoSetFullPath_updateBefore.jsx",
|
|
79
|
+
"throwException": true,
|
|
80
|
+
"eventName": "mall_u_category_update_before",
|
|
81
|
+
"description": "修改前后自动生成完整的分类全称"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"export":[
|
|
85
|
+
{
|
|
86
|
+
"label":"导出完整",
|
|
87
|
+
"mainTitleFormat":{"background":"#474747","color":"#cccccc"},
|
|
88
|
+
"subTitleFormat":{"background":"#777777","color":"#ffffff"},
|
|
89
|
+
"subRecordFormat":{"background":"#ffffff","color":"#000000"},
|
|
90
|
+
"mainRecordFormat":{"background":"#555555","color":"#FFFFFF"},
|
|
91
|
+
"key":"completeDoc",
|
|
92
|
+
"fields":["*"]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "string(64),listSize:18,tab:01,disabled:true,formSize:2;内部ID",
|
|
3
|
+
"education_key": "string(128),listSize:16,tab:04,searchable:true,required:true,formSize:2;教育程度ID",
|
|
4
|
+
"education_name": "string(64),listSize:16,tab:05,searchable:true,required:true,formSize:2;教育程度名称",
|
|
5
|
+
"_t": "mall_user_education",
|
|
6
|
+
"#meta": {
|
|
7
|
+
"id": "<%=#education_key%>",
|
|
8
|
+
"push": true,
|
|
9
|
+
"rem": "教育程度",
|
|
10
|
+
"projectName": "教育程度",
|
|
11
|
+
"parent": [
|
|
12
|
+
"platform"
|
|
13
|
+
],
|
|
14
|
+
"visitType": [
|
|
15
|
+
"platform"
|
|
16
|
+
],
|
|
17
|
+
"pos": 4,
|
|
18
|
+
"group": {
|
|
19
|
+
"id": "mall_user",
|
|
20
|
+
"name": "会员管理",
|
|
21
|
+
"icon": "user",
|
|
22
|
+
"pos": 6,
|
|
23
|
+
"level2": {
|
|
24
|
+
"id": "user_setting",
|
|
25
|
+
"name": "会员综合设置",
|
|
26
|
+
"icon": "outline",
|
|
27
|
+
"pos": 20
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"export": [
|
|
31
|
+
{
|
|
32
|
+
"label": "导出完整",
|
|
33
|
+
"mainTitleFormat": {
|
|
34
|
+
"background": "#474747",
|
|
35
|
+
"color": "#cccccc"
|
|
36
|
+
},
|
|
37
|
+
"subTitleFormat": {
|
|
38
|
+
"background": "#777777",
|
|
39
|
+
"color": "#ffffff"
|
|
40
|
+
},
|
|
41
|
+
"subRecordFormat": {
|
|
42
|
+
"background": "#ffffff",
|
|
43
|
+
"color": "#000000"
|
|
44
|
+
},
|
|
45
|
+
"mainRecordFormat": {
|
|
46
|
+
"background": "#555555",
|
|
47
|
+
"color": "#FFFFFF"
|
|
48
|
+
},
|
|
49
|
+
"key": "completeDoc",
|
|
50
|
+
"fields": [
|
|
51
|
+
"*"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "string(64),listSize:18,tab:01,disabled:true,formSize:2;内部ID",
|
|
3
|
+
"income_key": "string(128),listSize:16,tab:04,searchable:true,required:true,formSize:2;收入ID",
|
|
4
|
+
"income_name": "string(64),listSize:16,tab:05,searchable:true,required:true,formSize:2;收入名称",
|
|
5
|
+
"_t": "mall_user_income",
|
|
6
|
+
"#meta": {
|
|
7
|
+
"id": "<%=#income_key%>",
|
|
8
|
+
"push": true,
|
|
9
|
+
"rem": "月收入",
|
|
10
|
+
"projectName": "月收入",
|
|
11
|
+
"parent": [
|
|
12
|
+
"platform"
|
|
13
|
+
],
|
|
14
|
+
"visitType": [
|
|
15
|
+
"platform"
|
|
16
|
+
],
|
|
17
|
+
"pos": 3,
|
|
18
|
+
"group": {
|
|
19
|
+
"id": "mall_user",
|
|
20
|
+
"name": "会员管理",
|
|
21
|
+
"icon": "user",
|
|
22
|
+
"pos": 6,
|
|
23
|
+
"level2": {
|
|
24
|
+
"id": "user_setting",
|
|
25
|
+
"name": "会员综合设置",
|
|
26
|
+
"icon": "outline",
|
|
27
|
+
"pos": 20
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"export": [
|
|
31
|
+
{
|
|
32
|
+
"label": "导出完整",
|
|
33
|
+
"mainTitleFormat": {
|
|
34
|
+
"background": "#474747",
|
|
35
|
+
"color": "#cccccc"
|
|
36
|
+
},
|
|
37
|
+
"subTitleFormat": {
|
|
38
|
+
"background": "#777777",
|
|
39
|
+
"color": "#ffffff"
|
|
40
|
+
},
|
|
41
|
+
"subRecordFormat": {
|
|
42
|
+
"background": "#ffffff",
|
|
43
|
+
"color": "#000000"
|
|
44
|
+
},
|
|
45
|
+
"mainRecordFormat": {
|
|
46
|
+
"background": "#555555",
|
|
47
|
+
"color": "#FFFFFF"
|
|
48
|
+
},
|
|
49
|
+
"key": "completeDoc",
|
|
50
|
+
"fields": [
|
|
51
|
+
"*"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|