vue2-client 1.6.49 → 1.7.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.
Files changed (119) hide show
  1. package/.env +15 -15
  2. package/CHANGELOG.md +628 -625
  3. package/index.js +30 -30
  4. package/package.json +81 -81
  5. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +316 -316
  6. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  7. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +667 -667
  8. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +733 -733
  9. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +468 -462
  10. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +508 -508
  11. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -140
  12. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  13. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  14. package/src/base-client/components/common/Upload/Upload.vue +168 -168
  15. package/src/base-client/components/common/XAddForm/XAddForm.vue +325 -325
  16. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +279 -279
  17. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  18. package/src/base-client/components/common/XForm/XForm.vue +180 -180
  19. package/src/base-client/components/common/XForm/XFormItem.vue +513 -513
  20. package/src/base-client/components/common/XForm/XTreeSelect.vue +184 -184
  21. package/src/base-client/components/common/XFormCol/XFormCol.vue +38 -38
  22. package/src/base-client/components/common/XFormTable/XFormTable.vue +344 -336
  23. package/src/base-client/components/common/XFormTable/index.md +97 -97
  24. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +132 -132
  25. package/src/base-client/components/common/XTable/XTable.vue +506 -506
  26. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +111 -111
  27. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  28. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  29. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  30. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  31. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  32. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  33. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  34. package/src/base-client/plugins/AppData.js +76 -76
  35. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  36. package/src/base-client/plugins/PagedList.js +177 -177
  37. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  38. package/src/base-client/plugins/i18n-extend.js +32 -32
  39. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  40. package/src/components/Ellipsis/index.md +38 -38
  41. package/src/components/NumberInfo/index.md +43 -43
  42. package/src/components/STable/README.md +341 -341
  43. package/src/components/STable/index.js +318 -318
  44. package/src/components/Trend/index.md +45 -45
  45. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  46. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  47. package/src/components/exception/ExceptionPage.vue +70 -70
  48. package/src/components/form/FormRow.vue +52 -52
  49. package/src/components/index.js +36 -36
  50. package/src/components/menu/SideMenu.vue +62 -62
  51. package/src/components/menu/menu.js +273 -273
  52. package/src/components/page/header/index.less +40 -40
  53. package/src/components/setting/Setting.vue +235 -235
  54. package/src/components/table/StandardTable.vue +141 -141
  55. package/src/components/table/advance/ActionColumns.vue +158 -158
  56. package/src/components/table/advance/SearchArea.vue +355 -355
  57. package/src/components/tool/AStepItem.vue +60 -60
  58. package/src/components/tool/AvatarList.vue +68 -68
  59. package/src/components/tool/Drawer.vue +142 -142
  60. package/src/components/tool/TagSelect.vue +83 -83
  61. package/src/components/transition/PageToggleTransition.vue +97 -97
  62. package/src/config/CreateQueryConfig.js +307 -307
  63. package/src/config/default/admin.config.js +18 -18
  64. package/src/config/replacer/resolve.config.js +67 -67
  65. package/src/layouts/CommonLayout.vue +42 -42
  66. package/src/layouts/ComponentLayoutOne.vue +47 -47
  67. package/src/layouts/PageLayout.vue +151 -151
  68. package/src/layouts/SinglePageView.vue +116 -116
  69. package/src/layouts/footer/PageFooter.vue +49 -49
  70. package/src/layouts/header/AdminHeader.vue +134 -134
  71. package/src/layouts/header/HeaderAvatar.vue +64 -64
  72. package/src/layouts/header/HeaderNotice.vue +176 -176
  73. package/src/layouts/header/HeaderSearch.vue +67 -67
  74. package/src/layouts/header/InstitutionDetail.vue +181 -181
  75. package/src/layouts/header/index.less +92 -92
  76. package/src/layouts/tabs/TabsHead.vue +190 -190
  77. package/src/layouts/tabs/TabsView.vue +379 -379
  78. package/src/mock/goods/index.js +108 -108
  79. package/src/pages/CreateQueryPage.vue +84 -84
  80. package/src/pages/login/Login.vue +369 -369
  81. package/src/pages/report/ReportTable.js +124 -124
  82. package/src/pages/report/ReportTableHome.vue +28 -28
  83. package/src/pages/resourceManage/orgListManage.vue +98 -98
  84. package/src/pages/system/dictionary/index.vue +43 -43
  85. package/src/pages/system/file/index.vue +317 -317
  86. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  87. package/src/pages/system/monitor/operLog/index.vue +36 -36
  88. package/src/pages/system/settings/index.vue +126 -126
  89. package/src/pages/system/settings/modifyPassword.vue +109 -109
  90. package/src/router/async/config.async.js +28 -28
  91. package/src/router/async/router.map.js +66 -68
  92. package/src/router/index.js +27 -27
  93. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  94. package/src/services/api/LogDetailsViewApi.js +10 -10
  95. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  96. package/src/services/api/TicketDetailsViewApi.js +34 -34
  97. package/src/services/api/cas.js +79 -79
  98. package/src/services/api/common.js +137 -132
  99. package/src/services/api/commonTempTable.js +10 -10
  100. package/src/services/api/index.js +17 -17
  101. package/src/services/api/logininfor/index.js +6 -6
  102. package/src/services/api/manage.js +8 -8
  103. package/src/services/apiService.js +14 -14
  104. package/src/services/user.js +67 -67
  105. package/src/store/modules/index.js +4 -4
  106. package/src/theme/default/nprogress.less +76 -76
  107. package/src/theme/default/style.less +58 -58
  108. package/src/utils/EncryptUtil.js +53 -53
  109. package/src/utils/colors.js +107 -107
  110. package/src/utils/excel/Blob.js +180 -180
  111. package/src/utils/excel/Export2Excel.js +141 -141
  112. package/src/utils/formatter.js +68 -68
  113. package/src/utils/i18n.js +80 -80
  114. package/src/utils/map-utils.js +37 -37
  115. package/src/utils/theme-color-replacer-extend.js +91 -91
  116. package/src/utils/themeUtil.js +100 -100
  117. package/src/utils/util.js +230 -230
  118. package/vue.config.js +106 -106
  119. package/src/pages/system/queryParams/index.vue +0 -43
@@ -1,36 +1,36 @@
1
- <template>
2
- <a-card :bordered="false">
3
- <x-form-table
4
- title="登录日志"
5
- :queryParamsName="queryParamsName"
6
- @action="toDetail">
7
- </x-form-table>
8
- </a-card>
9
- </template>
10
-
11
- <script>
12
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
13
-
14
- export default {
15
- name: 'loginInfor',
16
- components: {
17
- XFormTable
18
- },
19
- data () {
20
- return {
21
- // 选中的编号
22
- selectNo: undefined,
23
- // 查询配置文件名
24
- queryParamsName: 'loginInforQueryParams',
25
- // 是否显示详情抽屉
26
- detailVisible: false
27
- }
28
- },
29
- methods: {
30
- toDetail (record, id) {
31
- this.selectNo = id + ''
32
- this.detailVisible = true
33
- }
34
- }
35
- }
36
- </script>
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <x-form-table
4
+ title="登录日志"
5
+ :queryParamsName="queryParamsName"
6
+ @action="toDetail">
7
+ </x-form-table>
8
+ </a-card>
9
+ </template>
10
+
11
+ <script>
12
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
13
+
14
+ export default {
15
+ name: 'loginInfor',
16
+ components: {
17
+ XFormTable
18
+ },
19
+ data () {
20
+ return {
21
+ // 选中的编号
22
+ selectNo: undefined,
23
+ // 查询配置文件名
24
+ queryParamsName: 'crud_login_infor_manage',
25
+ // 是否显示详情抽屉
26
+ detailVisible: false
27
+ }
28
+ },
29
+ methods: {
30
+ toDetail (record, id) {
31
+ this.selectNo = id + ''
32
+ this.detailVisible = true
33
+ }
34
+ }
35
+ }
36
+ </script>
@@ -1,36 +1,36 @@
1
- <template>
2
- <a-card :bordered="false">
3
- <x-form-table
4
- title="操作日志"
5
- :queryParamsName="queryParamsName"
6
- @action="toDetail">
7
- </x-form-table>
8
- </a-card>
9
- </template>
10
-
11
- <script>
12
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
13
-
14
- export default {
15
- name: 'operLog',
16
- components: {
17
- XFormTable
18
- },
19
- data () {
20
- return {
21
- // 选中的编号
22
- selectNo: undefined,
23
- // 查询配置文件名
24
- queryParamsName: 'operLogQueryParams',
25
- // 是否显示详情抽屉
26
- detailVisible: false
27
- }
28
- },
29
- methods: {
30
- toDetail (record, id) {
31
- this.selectNo = id + ''
32
- this.detailVisible = true
33
- }
34
- }
35
- }
36
- </script>
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <x-form-table
4
+ title="操作日志"
5
+ :queryParamsName="queryParamsName"
6
+ @action="toDetail">
7
+ </x-form-table>
8
+ </a-card>
9
+ </template>
10
+
11
+ <script>
12
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
13
+
14
+ export default {
15
+ name: 'operLog',
16
+ components: {
17
+ XFormTable
18
+ },
19
+ data () {
20
+ return {
21
+ // 选中的编号
22
+ selectNo: undefined,
23
+ // 查询配置文件名
24
+ queryParamsName: 'crud_oper_log_manage',
25
+ // 是否显示详情抽屉
26
+ detailVisible: false
27
+ }
28
+ },
29
+ methods: {
30
+ toDetail (record, id) {
31
+ this.selectNo = id + ''
32
+ this.detailVisible = true
33
+ }
34
+ }
35
+ }
36
+ </script>
@@ -1,126 +1,126 @@
1
- <template>
2
- <div class="page-header-index-wide">
3
- <a-card :bordered="false" :bodyStyle="{ padding: '16px 0', height: '100%' }" :style="{ height: '100%' }">
4
- <div class="account-settings-info-main" :class="{ 'mobile': isMobile }">
5
- <div class="account-settings-info-left">
6
- <a-menu
7
- :mode="isMobile ? 'horizontal' : 'inline'"
8
- :style="{ border: '0', width: isMobile ? '560px' : 'auto'}"
9
- :selectedKeys="selectedKeys"
10
- type="inner"
11
- @click="onClick"
12
- >
13
- <a-menu-item key="modifyPassword">
14
- 修改密码
15
- </a-menu-item>
16
- </a-menu>
17
- </div>
18
- <div class="account-settings-info-right">
19
- <div class="account-settings-info-title">
20
- <span>{{ $route.meta.title }}</span>
21
- </div>
22
- <a-page-header
23
- v-if="openKey === 'modifyPassword'"
24
- title="修改密码">
25
- <modify-password/>
26
- </a-page-header>
27
- </div>
28
- </div>
29
- </a-card>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- import { mapState } from 'vuex'
35
- import modifyPassword from '@vue2-client/pages/system/settings/modifyPassword'
36
-
37
- export default {
38
- components: { modifyPassword },
39
- computed: {
40
- ...mapState('setting', ['isMobile']),
41
- },
42
- data () {
43
- return {
44
- // horizontal inline
45
- mode: 'inline',
46
-
47
- openKey: 'modifyPassword',
48
- selectedKeys: [],
49
-
50
- // cropper
51
- preview: {},
52
- option: {
53
- img: '/avatar2.jpg',
54
- info: true,
55
- size: 1,
56
- outputType: 'jpeg',
57
- canScale: false,
58
- autoCrop: true,
59
- // 只有自动截图开启 宽度高度才生效
60
- autoCropWidth: 180,
61
- autoCropHeight: 180,
62
- fixedBox: true,
63
- // 开启宽度和高度比例
64
- fixed: true,
65
- fixedNumber: [1, 1]
66
- },
67
-
68
- pageTitle: ''
69
- }
70
- },
71
- mounted () {
72
- },
73
- methods: {
74
- onClick (openKeys) {
75
- this.openKey = openKeys.key
76
- }
77
- }
78
- }
79
- </script>
80
-
81
- <style lang="less" scoped>
82
- .account-settings-info-main {
83
- width: 100%;
84
- display: flex;
85
- height: 100%;
86
- overflow: auto;
87
-
88
- &.mobile {
89
- display: block;
90
-
91
- .account-settings-info-left {
92
- border-right: unset;
93
- border-bottom: 1px solid #e8e8e8;
94
- width: 100%;
95
- height: 50px;
96
- overflow-x: auto;
97
- overflow-y: scroll;
98
- }
99
- .account-settings-info-right {
100
- padding: 20px 40px;
101
- }
102
- }
103
-
104
- .account-settings-info-left {
105
- border-right: 1px solid #e8e8e8;
106
- width: 224px;
107
- }
108
-
109
- .account-settings-info-right {
110
- flex: 1 1;
111
- padding: 8px 40px;
112
-
113
- .account-settings-info-title {
114
- color: rgba(0,0,0,.85);
115
- font-size: 20px;
116
- font-weight: 500;
117
- line-height: 28px;
118
- margin-bottom: 12px;
119
- }
120
- .account-settings-info-view {
121
- padding-top: 12px;
122
- }
123
- }
124
- }
125
-
126
- </style>
1
+ <template>
2
+ <div class="page-header-index-wide">
3
+ <a-card :bordered="false" :bodyStyle="{ padding: '16px 0', height: '100%' }" :style="{ height: '100%' }">
4
+ <div class="account-settings-info-main" :class="{ 'mobile': isMobile }">
5
+ <div class="account-settings-info-left">
6
+ <a-menu
7
+ :mode="isMobile ? 'horizontal' : 'inline'"
8
+ :style="{ border: '0', width: isMobile ? '560px' : 'auto'}"
9
+ :selectedKeys="selectedKeys"
10
+ type="inner"
11
+ @click="onClick"
12
+ >
13
+ <a-menu-item key="modifyPassword">
14
+ 修改密码
15
+ </a-menu-item>
16
+ </a-menu>
17
+ </div>
18
+ <div class="account-settings-info-right">
19
+ <div class="account-settings-info-title">
20
+ <span>{{ $route.meta.title }}</span>
21
+ </div>
22
+ <a-page-header
23
+ v-if="openKey === 'modifyPassword'"
24
+ title="修改密码">
25
+ <modify-password/>
26
+ </a-page-header>
27
+ </div>
28
+ </div>
29
+ </a-card>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ import { mapState } from 'vuex'
35
+ import modifyPassword from '@vue2-client/pages/system/settings/modifyPassword'
36
+
37
+ export default {
38
+ components: { modifyPassword },
39
+ computed: {
40
+ ...mapState('setting', ['isMobile']),
41
+ },
42
+ data () {
43
+ return {
44
+ // horizontal inline
45
+ mode: 'inline',
46
+
47
+ openKey: 'modifyPassword',
48
+ selectedKeys: [],
49
+
50
+ // cropper
51
+ preview: {},
52
+ option: {
53
+ img: '/avatar2.jpg',
54
+ info: true,
55
+ size: 1,
56
+ outputType: 'jpeg',
57
+ canScale: false,
58
+ autoCrop: true,
59
+ // 只有自动截图开启 宽度高度才生效
60
+ autoCropWidth: 180,
61
+ autoCropHeight: 180,
62
+ fixedBox: true,
63
+ // 开启宽度和高度比例
64
+ fixed: true,
65
+ fixedNumber: [1, 1]
66
+ },
67
+
68
+ pageTitle: ''
69
+ }
70
+ },
71
+ mounted () {
72
+ },
73
+ methods: {
74
+ onClick (openKeys) {
75
+ this.openKey = openKeys.key
76
+ }
77
+ }
78
+ }
79
+ </script>
80
+
81
+ <style lang="less" scoped>
82
+ .account-settings-info-main {
83
+ width: 100%;
84
+ display: flex;
85
+ height: 100%;
86
+ overflow: auto;
87
+
88
+ &.mobile {
89
+ display: block;
90
+
91
+ .account-settings-info-left {
92
+ border-right: unset;
93
+ border-bottom: 1px solid #e8e8e8;
94
+ width: 100%;
95
+ height: 50px;
96
+ overflow-x: auto;
97
+ overflow-y: scroll;
98
+ }
99
+ .account-settings-info-right {
100
+ padding: 20px 40px;
101
+ }
102
+ }
103
+
104
+ .account-settings-info-left {
105
+ border-right: 1px solid #e8e8e8;
106
+ width: 224px;
107
+ }
108
+
109
+ .account-settings-info-right {
110
+ flex: 1 1;
111
+ padding: 8px 40px;
112
+
113
+ .account-settings-info-title {
114
+ color: rgba(0,0,0,.85);
115
+ font-size: 20px;
116
+ font-weight: 500;
117
+ line-height: 28px;
118
+ margin-bottom: 12px;
119
+ }
120
+ .account-settings-info-view {
121
+ padding-top: 12px;
122
+ }
123
+ }
124
+ }
125
+
126
+ </style>
@@ -1,109 +1,109 @@
1
- <template>
2
- <div class="account-settings-info-view">
3
- <a-row :gutter="16">
4
- <a-col :md="24" :lg="16">
5
- <a-form-model
6
- ref="form"
7
- :rules="rules"
8
- :model="form"
9
- >
10
- <a-form-model-item
11
- label="原密码"
12
- prop="oldPassword">
13
- <a-input-password v-model="form.oldPassword" placeholder="原密码"/>
14
- </a-form-model-item>
15
- <a-form-model-item
16
- label="新密码"
17
- prop="newPassword">
18
- <a-input-password v-model="form.newPassword" placeholder="新密码"/>
19
- </a-form-model-item>
20
- <a-form-model-item
21
- label="重复一遍新密码"
22
- prop="confirmNewPassword">
23
- <a-input-password v-model="form.confirmNewPassword" placeholder="重复一遍新密码"/>
24
- </a-form-model-item>
25
- <a-button type="primary" @click="onSubmit()" :loading="loading">提交</a-button>
26
- </a-form-model>
27
- </a-col>
28
- </a-row>
29
- </div>
30
- </template>
31
-
32
- <script>
33
- import { logout, modifyPassword } from '@vue2-client/services/user'
34
- import { mapState } from 'vuex'
35
-
36
- export default {
37
- name: 'modifyPassword',
38
- computed: {
39
- ...mapState('account', { currUser: 'user' })
40
- },
41
- data () {
42
- return {
43
- loading: false,
44
- // 表单Model
45
- form: {},
46
- // 校验
47
- rules: {
48
- oldPassword: [
49
- {
50
- required: true,
51
- message: '请输入原密码',
52
- trigger: 'blur'
53
- }
54
- ],
55
- newPassword: [
56
- {
57
- required: true,
58
- message: '请输入新密码',
59
- trigger: 'blur'
60
- }
61
- ],
62
- confirmNewPassword: [
63
- {
64
- required: true,
65
- message: '请重复输入一遍新密码',
66
- trigger: 'blur'
67
- }
68
- ],
69
- }
70
- }
71
- },
72
- methods: {
73
- onSubmit () {
74
- this.$refs.form.validate(valid => {
75
- // 验证未通过直接返回
76
- if (!valid) {
77
- return false
78
- }
79
- if (this.form.oldPassword === this.form.newPassword) {
80
- this.$message.warn('新密码不可与原密码相同!')
81
- return false
82
- }
83
- if (this.form.newPassword !== this.form.confirmNewPassword) {
84
- this.$message.warn('两次新密码不一致!')
85
- return false
86
- }
87
- this.loading = true
88
- modifyPassword(this.currUser.ename, this.form.oldPassword, this.form.newPassword).then(data => {
89
- if (data) {
90
- this.$message.success('修改密码成功,请重新登录!')
91
- logout().finally(res => {
92
- location.href = '/login'
93
- })
94
- } else {
95
- this.$message.error('修改密码失败,原密码错误,请重试')
96
- }
97
- }).catch(e => {
98
- this.$message.error('修改密码失败:' + e)
99
- }).finally(() => {
100
- this.loading = false
101
- })
102
- })
103
- },
104
- }
105
- }
106
- </script>
107
-
108
- <style lang="less" scoped>
109
- </style>
1
+ <template>
2
+ <div class="account-settings-info-view">
3
+ <a-row :gutter="16">
4
+ <a-col :md="24" :lg="16">
5
+ <a-form-model
6
+ ref="form"
7
+ :rules="rules"
8
+ :model="form"
9
+ >
10
+ <a-form-model-item
11
+ label="原密码"
12
+ prop="oldPassword">
13
+ <a-input-password v-model="form.oldPassword" placeholder="原密码"/>
14
+ </a-form-model-item>
15
+ <a-form-model-item
16
+ label="新密码"
17
+ prop="newPassword">
18
+ <a-input-password v-model="form.newPassword" placeholder="新密码"/>
19
+ </a-form-model-item>
20
+ <a-form-model-item
21
+ label="重复一遍新密码"
22
+ prop="confirmNewPassword">
23
+ <a-input-password v-model="form.confirmNewPassword" placeholder="重复一遍新密码"/>
24
+ </a-form-model-item>
25
+ <a-button type="primary" @click="onSubmit()" :loading="loading">提交</a-button>
26
+ </a-form-model>
27
+ </a-col>
28
+ </a-row>
29
+ </div>
30
+ </template>
31
+
32
+ <script>
33
+ import { logout, modifyPassword } from '@vue2-client/services/user'
34
+ import { mapState } from 'vuex'
35
+
36
+ export default {
37
+ name: 'modifyPassword',
38
+ computed: {
39
+ ...mapState('account', { currUser: 'user' })
40
+ },
41
+ data () {
42
+ return {
43
+ loading: false,
44
+ // 表单Model
45
+ form: {},
46
+ // 校验
47
+ rules: {
48
+ oldPassword: [
49
+ {
50
+ required: true,
51
+ message: '请输入原密码',
52
+ trigger: 'blur'
53
+ }
54
+ ],
55
+ newPassword: [
56
+ {
57
+ required: true,
58
+ message: '请输入新密码',
59
+ trigger: 'blur'
60
+ }
61
+ ],
62
+ confirmNewPassword: [
63
+ {
64
+ required: true,
65
+ message: '请重复输入一遍新密码',
66
+ trigger: 'blur'
67
+ }
68
+ ],
69
+ }
70
+ }
71
+ },
72
+ methods: {
73
+ onSubmit () {
74
+ this.$refs.form.validate(valid => {
75
+ // 验证未通过直接返回
76
+ if (!valid) {
77
+ return false
78
+ }
79
+ if (this.form.oldPassword === this.form.newPassword) {
80
+ this.$message.warn('新密码不可与原密码相同!')
81
+ return false
82
+ }
83
+ if (this.form.newPassword !== this.form.confirmNewPassword) {
84
+ this.$message.warn('两次新密码不一致!')
85
+ return false
86
+ }
87
+ this.loading = true
88
+ modifyPassword(this.currUser.ename, this.form.oldPassword, this.form.newPassword).then(data => {
89
+ if (data) {
90
+ this.$message.success('修改密码成功,请重新登录!')
91
+ logout().finally(res => {
92
+ location.href = '/login'
93
+ })
94
+ } else {
95
+ this.$message.error('修改密码失败,原密码错误,请重试')
96
+ }
97
+ }).catch(e => {
98
+ this.$message.error('修改密码失败:' + e)
99
+ }).finally(() => {
100
+ this.loading = false
101
+ })
102
+ })
103
+ },
104
+ }
105
+ }
106
+ </script>
107
+
108
+ <style lang="less" scoped>
109
+ </style>
@@ -1,28 +1,28 @@
1
- import routerMap from './router.map'
2
- import { parseRoutes } from '@vue2-client/utils/routerUtil'
3
-
4
- // 异步路由配置
5
- const routesConfig = [
6
- 'login',
7
- 'submitTicket',
8
- 'settings',
9
- 'root',
10
- {
11
- router: 'exp404',
12
- path: '*',
13
- name: '404'
14
- },
15
- {
16
- router: 'exp403',
17
- path: '/403',
18
- name: '403'
19
- }
20
- ]
21
-
22
- const options = {
23
- mode: 'history',
24
- routes: parseRoutes(routesConfig, routerMap),
25
- config: routesConfig
26
- }
27
-
28
- export default options
1
+ import routerMap from './router.map'
2
+ import { parseRoutes } from '@vue2-client/utils/routerUtil'
3
+
4
+ // 异步路由配置
5
+ const routesConfig = [
6
+ 'login',
7
+ 'submitTicket',
8
+ 'settings',
9
+ 'root',
10
+ {
11
+ router: 'exp404',
12
+ path: '*',
13
+ name: '404'
14
+ },
15
+ {
16
+ router: 'exp403',
17
+ path: '/403',
18
+ name: '403'
19
+ }
20
+ ]
21
+
22
+ const options = {
23
+ mode: 'history',
24
+ routes: parseRoutes(routesConfig, routerMap),
25
+ config: routesConfig
26
+ }
27
+
28
+ export default options