@maketribe/ms-app 3.2.52 → 3.2.53

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 (29) hide show
  1. package/dist/cjs/components/business/verify-dialog/verify-panel.js +13 -18
  2. package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -1
  3. package/dist/cjs/core/MSAppClient.js.map +1 -1
  4. package/dist/cjs/layouts/components/header/passwordDialog.js +251 -0
  5. package/dist/cjs/layouts/components/header/passwordDialog.js.map +1 -0
  6. package/dist/cjs/layouts/components/header/tools.js +7 -157
  7. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  8. package/dist/cjs/message-impl/DialogerImpl.js +157 -0
  9. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  10. package/dist/cjs/page/login/index.vue2.js +11 -1
  11. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  12. package/dist/esm/components/business/verify-dialog/verify-panel.js +13 -18
  13. package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -1
  14. package/dist/esm/core/MSAppClient.js.map +1 -1
  15. package/dist/esm/layouts/components/header/passwordDialog.js +251 -0
  16. package/dist/esm/layouts/components/header/passwordDialog.js.map +1 -0
  17. package/dist/esm/layouts/components/header/tools.js +9 -159
  18. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  19. package/dist/esm/message-impl/DialogerImpl.js +159 -2
  20. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  21. package/dist/esm/page/login/index.vue2.js +11 -1
  22. package/dist/esm/page/login/index.vue2.js.map +1 -1
  23. package/dist/types/components/business/resource-manager/index.d.ts +4 -4
  24. package/dist/types/core/MSAppClient.d.ts +1 -0
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/types/layouts/components/header/passwordDialog.d.ts +9 -0
  27. package/dist/types/message-impl/DialogerImpl.d.ts +3 -0
  28. package/dist/types/modules/cms/components/part-tree/index.d.ts +1 -1
  29. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon,MKOpenVerifyCode } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient?.instance!;\r\n const userSession = msAppClient?.userSession!;\r\n\r\n const userInfo = computed(() => userSession?.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo)?.avatar);\r\n const showDialog = ref(false);\r\n const form = reactive({\r\n password: \"\",\r\n newPassword: \"\",\r\n repeatPassword: \"\",\r\n });\r\n const formRef = ref();\r\n const btnLoading = ref(false)\r\n\r\n watch(showDialog, async () => {\r\n if (unref(showDialog)) {\r\n form.password = \"\";\r\n form.newPassword = \"\";\r\n form.repeatPassword = \"\";\r\n }\r\n })\r\n\r\n const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/\r\n\r\n const validateCode1 = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码\"));\r\n }\r\n if (value != form.newPassword) {\r\n callback(new Error(\"两次输入不一致\"));\r\n }\r\n callback()\r\n }\r\n\r\n const validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\r\n }\r\n\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value == form.password) {\r\n callback(new Error(\"新密码不能与旧密码相同\"));\r\n }\r\n\r\n if (!reg.test(value)) {\r\n callback(new Error(\"密码必须包含数字,字母和特殊符号\"))\r\n } else {\r\n callback()\r\n }\r\n }\r\n\r\n const submitChangePassword = async () => {\r\n\r\n if(!await formRef.value.validate()){\r\n return;\r\n }\r\n\r\n try {\r\n\r\n btnLoading.value = true\r\n\r\n const vCode = (await MKOpenVerifyCode({ sence:\"ModifyPassword\" } as any)) + \"\";\r\n\r\n const result = await msAppClient.changePassword(form.password, form.newPassword, vCode);\r\n\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"修改密码失败\" });\r\n return;\r\n }\r\n\r\n btnLoading.value = false\r\n msAppClient.logout()\r\n \r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n }\r\n\r\n return () => {\r\n\r\n\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo)?.nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <ElDialog model-value={showDialog.value} onUpdate:modelValue={(v) => { showDialog.value = v }} title={'修改密码'} width={'30%'} v-slots={{\r\n footer: () => (\r\n <div>\r\n <ElButton onClick={() => { showDialog.value = false }}>取消</ElButton>\r\n <ElButton type={\"primary\"} loading={btnLoading.value} onClick={() => { submitChangePassword() }}>确定</ElButton>\r\n </div>\r\n )\r\n }}>\r\n <ElForm ref={formRef} model={form} label-width={'80px'}>\r\n <ElFormItem label={'旧密码'} required={true} prop={'password'} rules={[{ required: true, message: '请输入旧密码', trigger: 'change' }]}>\r\n <ElInput model-value={form.password} placeholder={\"请输入旧密码\"} onUpdate:modelValue={(v) => { form.password = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'新密码'} required={true} prop={'newPassword'} rules={[{ required: true, message: '请输入新密码', trigger: 'change' }, { validator: validateCode, trigger: 'change' }]} >\r\n <ElInput model-value={form.newPassword} placeholder={\"请输入新密码\"} onUpdate:modelValue={(v) => { form.newPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'重复密码'} required={true} prop={'repeatPassword'} rules={[{ required: true, message: '请再次输入密码', trigger: 'change' }, { validator: validateCode1, trigger: 'change' }]} >\r\n <ElInput model-value={form.repeatPassword} placeholder={\"请再次输入密码\"} onUpdate:modelValue={(v) => { form.repeatPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n </ElForm>\r\n </ElDialog>\r\n </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","form","reactive","password","newPassword","repeatPassword","formRef","btnLoading","watch","reg","validateCode1","rule","value","callback","Error","validateCode","length","test","submitChangePassword","validate","vCode","MKOpenVerifyCode","sence","result","changePassword","data","code","Messager","error","message","msg","logout","e","console","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","trigger","ElInput","validator","footer","ElButton"],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon, MKOpenVerifyCode } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\nimport { MKPasswordDialog } from \"./passwordDialog.tsx\"\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient?.instance!;\r\n const userSession = msAppClient?.userSession!;\r\n\r\n const userInfo = computed(() => userSession?.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo)?.avatar);\r\n const showDialog = ref(false);\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo)?.nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <MKPasswordDialog showDialog={showDialog.value} onUpdate:showDialog={(v) => showDialog.value = v}></MKPasswordDialog>\r\n </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","_createVNode","ElDropdown","default","ElImage","error","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","value","_createTextVNode","logout","MKPasswordDialog","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBaA,MAAAA,gBAAgBC,gCAAgB;AAAA,EAC3CC,MAAM;AAAA,EACNC,MAAMC,OAAO;;AACX,UAAMC,eAAcC,wCAAaC;AACjC,UAAMC,cAAcH,2CAAaG;AAEjC,UAAMC,WAAWC,SAAS,MAAMF,2CAAaC,QAAS;AAEtD,UAAME,SAASD,SAAS,MAAA;;AAAME,cAAAA,MAAAA,MAAMH,QAAQ,MAAdG,gBAAAA,IAAiBD;AAAAA,KAAM;AACrD,UAAME,aAAaC,IAAI,KAAK;AAE5B,WAAO,MAAM;AACX,aAAAC,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAC,YAAA;AAAA,QAAA,SAAA;AAAA,QAAA,WAAA;AAAA,SAMiB;AAAA,QACPC,SAASA,MAAAA;;AAAAF,6BAAA,OAAA;AAAA,YAAA,SAAA;AAAA,aAAAA,CAAAA,YAAAG,SAAA;AAAA,YAAA,SAAA;AAAA,YAAA,OAIEN,MAAMD,MAAM;AAAA,aACR;AAAA,YACPQ,OAAOA,MAAAJ,YAAAK,WAAA;AAAA,cAAA,aAAA;AAAA,cAAA,SAAA;AAAA,YAAA,GAAA,IAAA;AAAA,UAGT,CAAC,GAAAL,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,UAAA,GAAA,EAGAH,MAAAA,MAAMH,QAAQ,MAAdG,gBAAAA,IAAiBS,QAAQ,CAG/B,CAAA,CAAA;AAAA;AAAA,QACDC,UAAUA,MAAAP,YAAAQ,gBAAA,MAAA;AAAA,UAAAN,SAAAA,MAAAF,CAAAA,YAAAS,gBAAA;AAAA,YAAA,WAEmBC,MAAM;AAAEZ,yBAAWa,QAAQ;AAAA,YAAK;AAAA,UAAC,GAAA;AAAA,YAAAT,SAAAA,MAAAF,CAAAA,YAAAK,WAAA;AAAA,cAAA,aAAA;AAAA,YAAA,GAAA,IAAA,GAAAO,gBAAA,MAAA,CAAA;AAAA,WAAAZ,GAAAA,YAAAS,gBAAA;AAAA,YAAA,WAIjCC,MAAMpB,YAAYuB,OAAO;AAAA,UAAC,GAAA;AAAA,YAAAX,SAAAA,MAAAF,CAAAA,YAAAK,WAAA;AAAA,cAAA,aAAA;AAAA,YAAA,GAAA,IAAA,GAAAO,gBAAA,MAAA,CAAA;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,GAAAZ,YAAAc,kBAAA;AAAA,QAAA,cAGyBhB,WAAWa;AAAAA,QAAK,uBAAwBI,OAAMjB,WAAWa,QAAQI;AAAAA,MAAC,GAAA,IAAA,CAAA,CAAA;AAAA;EAIxG;AACF,CAAC;"}
@@ -2,9 +2,9 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { reactive, createVNode, Fragment, createTextVNode, isVNode } from "vue";
5
- import { SkeletonDialoger, TableActionColumn } from "@maketribe/dm";
5
+ import { SkeletonDialoger, TableActionColumn, FormColumn, Messager } from "@maketribe/dm";
6
6
  import { Event } from "@maketribe/utils";
7
- import { ElMessageBox, ElButton, ElScrollbar } from "element-plus";
7
+ import { ElMessageBox, ElButton, ElScrollbar, ElUpload, ElTableColumn, ElTable } from "element-plus";
8
8
  import { isFunction } from "lodash-es";
9
9
  import "../components/abstract/abstract-select/abstract-select.js";
10
10
  import "../components/abstract/abstract-select/abstract-select-options.js";
@@ -191,6 +191,7 @@ class DialogerImpl extends SkeletonDialoger {
191
191
  });
192
192
  });
193
193
  }
194
+ //3.x版本暂时不支持
194
195
  async dataFormDialog(dataFormOptions) {
195
196
  return new Promise((resolve) => {
196
197
  const dataForm = reactive(dataFormOptions.dataForm);
@@ -251,6 +252,162 @@ class DialogerImpl extends SkeletonDialoger {
251
252
  resolve(dialogInstance);
252
253
  });
253
254
  }
255
+ async importDataFormDialog(dataFormOptions, template) {
256
+ return new Promise((resolve) => {
257
+ const dataForm = reactive(dataFormOptions.dataForm);
258
+ let title = "";
259
+ dataForm.afterInitdEvent.once(() => {
260
+ dataForm.addColumn(new FormColumn({
261
+ name: "postFiles",
262
+ label: "文件",
263
+ required: true,
264
+ componentInfo: {
265
+ name: "postFiles",
266
+ component: () => {
267
+ const fileSelectHandle = async (file, fileList) => {
268
+ dataForm.data.postFiles = file.raw;
269
+ Messager.success({
270
+ message: "上传成功"
271
+ });
272
+ };
273
+ return createVNode("div", {
274
+ "style": {
275
+ display: "flex"
276
+ }
277
+ }, [createVNode(ElUpload, {
278
+ "accept": ".xls,.xlsx",
279
+ "autoUpload": false,
280
+ "limit": 1,
281
+ "onChange": fileSelectHandle
282
+ }, {
283
+ default: () => [createVNode(ElButton, {
284
+ "type": "primary"
285
+ }, {
286
+ default: () => [createTextVNode("上传文件")]
287
+ })]
288
+ })]);
289
+ }
290
+ }
291
+ }));
292
+ if (template) {
293
+ dataForm.addColumn(new FormColumn({
294
+ name: "template",
295
+ label: "模板下载",
296
+ componentInfo: {
297
+ name: "template",
298
+ component: () => {
299
+ const downloadHandle = () => {
300
+ const a = document.createElement("a");
301
+ a.style.display = "none";
302
+ document.body.appendChild(a);
303
+ a.href = template;
304
+ a.click();
305
+ document.body.removeChild(a);
306
+ };
307
+ return createVNode(ElButton, {
308
+ "onClick": downloadHandle,
309
+ "type": "primary"
310
+ }, {
311
+ default: () => [createTextVNode("点击下载")]
312
+ });
313
+ }
314
+ }
315
+ }));
316
+ }
317
+ });
318
+ if (dataFormOptions.customDataFormStatus !== true) {
319
+ if (dataFormOptions.recId) {
320
+ dataForm.editRecord(dataFormOptions.recId);
321
+ } else {
322
+ dataForm.addRecord();
323
+ }
324
+ title = dataFormOptions.recId ? "编辑" : "新增";
325
+ }
326
+ const dialogInstance = this.customRender({
327
+ title: dataFormOptions.title ?? title,
328
+ onClose: () => {
329
+ dataForm.cancel();
330
+ dialogInstance.destroy();
331
+ },
332
+ body: () => {
333
+ return createVNode(ElScrollbar, {
334
+ "max-height": "550px"
335
+ }, {
336
+ default: () => [createVNode(MKDataForm, {
337
+ "dataForm": dataForm
338
+ }, {
339
+ default: () => [createVNode(MKForm, {
340
+ "dataForm": dataForm
341
+ }, null)]
342
+ })]
343
+ });
344
+ },
345
+ footer: () => {
346
+ let _slot3, _slot4;
347
+ return createVNode(Fragment, null, [createVNode(ElButton, {
348
+ "type": "primary",
349
+ "disabled": !dataForm.isChanged,
350
+ "loading": !dataForm.allowSubmit,
351
+ "onClick": async () => {
352
+ if (!await dataForm.validate()) {
353
+ return;
354
+ }
355
+ if (await dataForm.simpleSubmit()) {
356
+ dialogInstance.destroy();
357
+ }
358
+ }
359
+ }, _isSlot(_slot3 = I18n.instance.translate("mk.dataForm.saveButton")) ? _slot3 : {
360
+ default: () => [_slot3]
361
+ }), createVNode(ElButton, {
362
+ "onClick": () => {
363
+ dataForm.cancel();
364
+ dialogInstance.destroy();
365
+ }
366
+ }, _isSlot(_slot4 = I18n.instance.translate("mk.dataForm.cancelButton")) ? _slot4 : {
367
+ default: () => [_slot4]
368
+ })]);
369
+ }
370
+ });
371
+ resolve(dialogInstance);
372
+ });
373
+ }
374
+ importResultTableDialog(data, filed) {
375
+ return this.customRender({
376
+ title: "导入结果",
377
+ body: () => {
378
+ const cols = filed.map((item) => {
379
+ return createVNode(ElTableColumn, {
380
+ "prop": item.name,
381
+ "label": item.label
382
+ }, null);
383
+ });
384
+ var successSlot = {
385
+ default: (data2) => {
386
+ return data2.row.isSuccess ? createVNode("span", {
387
+ "style": "color: green"
388
+ }, [createTextVNode("成功")]) : createVNode("span", {
389
+ "style": "color: red"
390
+ }, [createTextVNode("失败")]);
391
+ }
392
+ };
393
+ return createVNode(ElTable, {
394
+ "data": data,
395
+ "style": {
396
+ height: "550px"
397
+ }
398
+ }, {
399
+ default: () => [cols, createVNode(ElTableColumn, {
400
+ "label": "结果",
401
+ "prop": "isSuccess",
402
+ "width": "80px"
403
+ }, successSlot), createVNode(ElTableColumn, {
404
+ "label": "失败原因",
405
+ "prop": "reason"
406
+ }, null)]
407
+ });
408
+ }
409
+ });
410
+ }
254
411
  }
255
412
  export {
256
413
  DialogerImpl
@@ -1 +1 @@
1
- {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n FormColumn,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar, ElTable, ElTableColumn, ElUpload } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\nimport { ImportResultColField } from \"@maketribe/dm\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n //3.x版本暂时不支持\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n async importDataFormDialog(\r\n dataFormOptions: DataFormDialogOptions, template: string\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n dataForm.afterInitdEvent.once(() => {\r\n dataForm.addColumn(\r\n new FormColumn({\r\n name: \"postFiles\",\r\n label: \"文件\",\r\n required: true,\r\n componentInfo: {\r\n name: \"postFiles\",\r\n component: () => {\r\n const fileSelectHandle = async (file: any, fileList: any) => {\r\n dataForm.data.postFiles = file.raw;\r\n Messager.success({ message: \"上传成功\" })\r\n }\r\n\r\n return (<div style={{ display: \"flex\" }}>\r\n <ElUpload accept=\".xls,.xlsx\" autoUpload={false} limit={1} onChange={fileSelectHandle}>\r\n <ElButton type=\"primary\" >上传文件</ElButton>\r\n </ElUpload>\r\n </div>)\r\n }\r\n }\r\n }),\r\n )\r\n if (template) {\r\n dataForm.addColumn(new FormColumn({\r\n name: \"template\",\r\n label: \"模板下载\",\r\n componentInfo: {\r\n name: \"template\",\r\n component: () => {\r\n const downloadHandle = () => {\r\n const a = document.createElement(\"a\");\r\n a.style.display = \"none\";\r\n document.body.appendChild(a);\r\n a.href = template;\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n return <ElButton onClick={downloadHandle} type=\"primary\">点击下载</ElButton>\r\n }\r\n }\r\n }))\r\n }\r\n })\r\n\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n\r\n importResultTableDialog(data: any, filed: ImportResultColField[]) {\r\n return this.customRender({\r\n title: \"导入结果\",\r\n body: () => {\r\n const cols = filed.map((item) => {\r\n return (<ElTableColumn prop={item.name} label={item.label}></ElTableColumn>)\r\n })\r\n\r\n var successSlot = {\r\n default: (data: any) => {\r\n return data.row.isSuccess ? <span style=\"color: green\">成功</span> : <span style=\"color: red\">失败</span>\r\n }\r\n }\r\n\r\n return (\r\n <ElTable data={data} style={{ height: \"550px\" }}>\r\n {cols}\r\n <ElTableColumn label=\"结果\" prop=\"isSuccess\" width=\"80px\" v-slots={successSlot}>\r\n </ElTableColumn>\r\n <ElTableColumn label=\"失败原因\" prop=\"reason\" ></ElTableColumn>\r\n </ElTable>\r\n )\r\n }\r\n })\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick","importDataFormDialog","template","addColumn","FormColumn","label","required","componentInfo","component","fileSelectHandle","file","fileList","data","postFiles","raw","Messager","success","display","ElUpload","downloadHandle","a","document","createElement","style","appendChild","href","click","removeChild","_slot3","_slot4","importResultTableDialog","filed","cols","map","item","ElTableColumn","successSlot","row","isSuccess","ElTable","height"],"mappings":"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"}
@@ -70,6 +70,7 @@ import { MKOpenVerifyCode } from "../../components/business/verify-dialog/index.
70
70
  import "../../components/business/resource-list/index.js";
71
71
  import "../../components/business/resource-manager/index.js";
72
72
  import _sfc_main$1 from "../../layouts/components/simple-page-layout/index.vue.js";
73
+ import { MKPasswordDialog } from "../../layouts/components/header/passwordDialog.js";
73
74
  const _hoisted_1 = { class: "login-form-wrap" };
74
75
  const _hoisted_2 = /* @__PURE__ */ createElementVNode("div", { class: "login-form-title" }, " 账号登录 ", -1);
75
76
  const _hoisted_3 = { class: "login-form-item" };
@@ -91,6 +92,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
92
  },
92
93
  __name: "index",
93
94
  setup(__props) {
95
+ const showDialog = ref(false);
94
96
  ref(null);
95
97
  ref(false);
96
98
  const formEl = ref(null);
@@ -121,6 +123,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
123
  }
122
124
  var vResult = await MKOpenVerifyCode({ sence: scene.value });
123
125
  loginFormData.vCode = vResult + "";
126
+ console.log(vResult);
124
127
  try {
125
128
  loading.value = true;
126
129
  if (forgotPassword.value) {
@@ -142,6 +145,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
142
145
  );
143
146
  if (data.code !== 200) {
144
147
  ElMessage.error(data.msg || "登录失败!");
148
+ if (data.data.isMidifyPassword) {
149
+ showDialog.value = true;
150
+ }
145
151
  return;
146
152
  }
147
153
  router.push({ path: "/" });
@@ -271,7 +277,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
271
277
  ]),
272
278
  _: 1
273
279
  }, 8, ["model"])
274
- ])
280
+ ]),
281
+ createVNode(unref(MKPasswordDialog), {
282
+ showDialog: showDialog.value,
283
+ "onUpdate:showDialog": _cache[5] || (_cache[5] = ($event) => showDialog.value = $event)
284
+ }, null, 8, ["showDialog"])
275
285
  ]),
276
286
  _: 1
277
287
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{loginFormData.account}} 绑定的邮箱!请查收!\r\n </div>\r\n </template> \r\n \r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput\r\n v-model=\"loginFormData.account\"\r\n placeholder=\"帐号\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput\r\n v-model=\"loginFormData.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n\r\n // 验证不通过\r\n if(!await formEl.value?.validate()){\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence:scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult+\"\";\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EuD,QAAI,IAAI;AAGpC,QAAI,KAAK;AAE9B,UAAA,SAAmB,IAAI,IAAI;AAEjC,UAAM,SAAS;AAEf,UAAM,SAAS;AAET,UAAA,UAAU,IAAI,KAAK;AAEH;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsB,aAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiB,IAAI,KAAK;AAChC,UAAM,QAAQ;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgB,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAGtC,UAAG,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAW;AACjC;AAAA,MACF;AAEA,UAAI,UAAU,MAAM,iBAAiB,EAAE,OAAM,MAAM,OAAc;AAGjE,oBAAc,QAAQ,UAAQ;AAE1B,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEA,oBAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,OAAO;AACnC;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACV,kBAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAa,IAAI,KAAK;AAE2B,QAAI,IAAI;AAGpC,QAAI,KAAK;AAE9B,UAAA,SAAmB,IAAI,IAAI;AAEjC,UAAM,SAAS;AAEf,UAAM,SAAS;AAET,UAAA,UAAU,IAAI,KAAK;AAEH;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsB,aAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiB,IAAI,KAAK;AAChC,UAAM,QAAQ;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgB,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAM,iBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEA,oBAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACV,kBAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ export declare const MKResourceManager: import("@maketribe/utils").SFCWithInstal
5
5
  default: string;
6
6
  };
7
7
  resourceManager: {
8
- type: typeof import("../index.js").ResourceManager;
8
+ type: typeof import("../index.ts").ResourceManager;
9
9
  required: true;
10
10
  };
11
11
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<globalThis.ExtractPropTypes<{
@@ -14,7 +14,7 @@ export declare const MKResourceManager: import("@maketribe/utils").SFCWithInstal
14
14
  default: string;
15
15
  };
16
16
  resourceManager: {
17
- type: typeof import("../index.js").ResourceManager;
17
+ type: typeof import("../index.ts").ResourceManager;
18
18
  required: true;
19
19
  };
20
20
  }>>, {
@@ -32,7 +32,7 @@ export declare const MKResourceManager: import("@maketribe/utils").SFCWithInstal
32
32
  default: string;
33
33
  };
34
34
  resourceManager: {
35
- type: typeof import("../index.js").ResourceManager;
35
+ type: typeof import("../index.ts").ResourceManager;
36
36
  required: true;
37
37
  };
38
38
  }>>, {}, {}, {}, {}, {
@@ -47,7 +47,7 @@ export declare const MKResourceManager: import("@maketribe/utils").SFCWithInstal
47
47
  default: string;
48
48
  };
49
49
  resourceManager: {
50
- type: typeof import("../index.js").ResourceManager;
50
+ type: typeof import("../index.ts").ResourceManager;
51
51
  required: true;
52
52
  };
53
53
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
@@ -12,6 +12,7 @@ export type LoginResult = {
12
12
  email: string;
13
13
  nickName: string;
14
14
  avatarPath: string;
15
+ isMidifyPassword?: Boolean;
15
16
  };
16
17
  export interface MSAppClientOptions {
17
18
  app: App;
@@ -7,7 +7,7 @@ export * from "./layouts";
7
7
  export * from "./composables";
8
8
  export * from "./components";
9
9
  export * from "./tokens";
10
- export declare const install: (app: import("vue").App, options?: Partial<import("./components/basic/config-provider/config-provider-options").ConfigProviderProps> | undefined) => void;
10
+ export declare const install: (app: import("vue").App, options?: Partial<import("./components/basic/config-provider/config-provider-options.js").ConfigProviderProps> | undefined) => void;
11
11
  export declare const version: string;
12
12
  export * from "./init-application";
13
13
  export * from "./define-data-table";
@@ -0,0 +1,9 @@
1
+ export declare const MKPasswordDialog: import("vue").DefineComponent<{
2
+ showDialog: BooleanConstructor;
3
+ }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:showDialog"[], "update:showDialog", import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
4
+ showDialog: BooleanConstructor;
5
+ }>> & {
6
+ "onUpdate:showDialog"?: ((...args: any[]) => any) | undefined;
7
+ }, {
8
+ showDialog: boolean;
9
+ }, {}>;
@@ -1,5 +1,6 @@
1
1
  import { DataFormDialogOptions, DataTable, DataTableSelectDialogResult, DialogInstance, IDialogMessage, IDialogRenderOptions, SkeletonDialoger } from "@maketribe/dm";
2
2
  import { Event } from "@maketribe/utils";
3
+ import { ImportResultColField } from "@maketribe/dm";
3
4
  export declare class DialogerImpl extends SkeletonDialoger {
4
5
  dialogInstanceCreateEvent: Event<DialogInstance>;
5
6
  prompt(options: IDialogMessage): Promise<string>;
@@ -9,4 +10,6 @@ export declare class DialogerImpl extends SkeletonDialoger {
9
10
  custom(options: IDialogRenderOptions): Promise<boolean>;
10
11
  dataTableSelectDialog(dataTable: DataTable): Promise<DataTableSelectDialogResult>;
11
12
  dataFormDialog(dataFormOptions: DataFormDialogOptions): Promise<DialogInstance>;
13
+ importDataFormDialog(dataFormOptions: DataFormDialogOptions, template: string): Promise<DialogInstance>;
14
+ importResultTableDialog(data: any, filed: ImportResultColField[]): DialogInstance;
12
15
  }
@@ -3,7 +3,7 @@ export declare const MKPartTree: import("@maketribe/utils").SFCWithInstall<impor
3
3
  type: globalThis.PropType<string>;
4
4
  };
5
5
  }, {
6
- dataTree: import("../../index.js").CmsPartTree;
6
+ dataTree: import("../../index.ts").CmsPartTree;
7
7
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
8
  select: (...args: any[]) => void;
9
9
  add: (...args: any[]) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.2.52",
3
+ "version": "3.2.53",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -52,10 +52,10 @@
52
52
  "vue-codemirror": "^6.1.1",
53
53
  "vue-cropper": "^1.1.4",
54
54
  "vue-router": "^4.2.4",
55
+ "@maketribe/locale": "^3.2.0",
55
56
  "@maketribe/dm": "^3.2.12",
56
- "@maketribe/request": "^3.2.5",
57
57
  "@maketribe/utils": "^3.2.1",
58
- "@maketribe/locale": "^3.2.0"
58
+ "@maketribe/request": "^3.2.5"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/sortablejs": "^1.15.8"