Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcjg-web
Showing
13 changed files
with
378 additions
and
938 deletions
| ... | @@ -78,12 +78,12 @@ export const api = { | ... | @@ -78,12 +78,12 @@ export const api = { |
| 78 | crudPut: crud + '/rest/put', // crudPut | 78 | crudPut: crud + '/rest/put', // crudPut |
| 79 | crudDel: crud + '/rest/delete', // crudDel | 79 | crudDel: crud + '/rest/delete', // crudDel |
| 80 | crudMetadata: crud + '/rest/metadata', //crudMetadata | 80 | crudMetadata: crud + '/rest/metadata', //crudMetadata |
| 81 | crudBusiness : crud + '/rest/business', // crudBusiness | 81 | crudBusiness: crud + '/rest/business', // crudBusiness |
| 82 | crudDatasources : crud + '/rest/datasources', // crudDatasources | 82 | crudDatasources: crud + '/rest/datasources', // crudDatasources |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | // 根据code获取字典 params={isTree:true}) | 85 | // 根据code获取字典 params={isTree:true}) |
| 86 | export function getDictItems(code, params = {}) { | 86 | export function getDictItems (code, params = {}) { |
| 87 | return request({ | 87 | return request({ |
| 88 | url: `${api.baseDataCategory}/${code}/base-datas`, | 88 | url: `${api.baseDataCategory}/${code}/base-datas`, |
| 89 | method: 'get', | 89 | method: 'get', |
| ... | @@ -91,21 +91,21 @@ export function getDictItems(code, params = {}) { | ... | @@ -91,21 +91,21 @@ export function getDictItems(code, params = {}) { |
| 91 | }) | 91 | }) |
| 92 | } | 92 | } |
| 93 | // 获取一级字典值下级接口 | 93 | // 获取一级字典值下级接口 |
| 94 | export function getDictItemsChild(id) { | 94 | export function getDictItemsChild (id) { |
| 95 | return request({ | 95 | return request({ |
| 96 | url: `${api.baseData}/dict/${id}`, | 96 | url: `${api.baseData}/dict/${id}`, |
| 97 | method: 'get' | 97 | method: 'get' |
| 98 | }) | 98 | }) |
| 99 | } | 99 | } |
| 100 | // 获取传入字段的所有级别字典值 | 100 | // 获取传入字段的所有级别字典值 |
| 101 | export function getAllDictItems(name) { | 101 | export function getAllDictItems (name) { |
| 102 | return request({ | 102 | return request({ |
| 103 | url: `${api.baseDataCategory}/${name}/base-datas`, | 103 | url: `${api.baseDataCategory}/${name}/base-datas`, |
| 104 | method: 'get' | 104 | method: 'get' |
| 105 | }) | 105 | }) |
| 106 | } | 106 | } |
| 107 | // get公共方法 | 107 | // get公共方法 |
| 108 | export function getAction(url, params = {}) { | 108 | export function getAction (url, params = {}) { |
| 109 | return request({ | 109 | return request({ |
| 110 | url, | 110 | url, |
| 111 | method: 'get', | 111 | method: 'get', |
| ... | @@ -113,7 +113,7 @@ export function getAction(url, params = {}) { | ... | @@ -113,7 +113,7 @@ export function getAction(url, params = {}) { |
| 113 | }) | 113 | }) |
| 114 | } | 114 | } |
| 115 | // post公共方法 | 115 | // post公共方法 |
| 116 | export function postAction(url, data = null) { | 116 | export function postAction (url, data = null) { |
| 117 | return request({ | 117 | return request({ |
| 118 | url, | 118 | url, |
| 119 | method: 'post', | 119 | method: 'post', |
| ... | @@ -121,7 +121,7 @@ export function postAction(url, data = null) { | ... | @@ -121,7 +121,7 @@ export function postAction(url, data = null) { |
| 121 | }) | 121 | }) |
| 122 | } | 122 | } |
| 123 | // method= {post | put} | 123 | // method= {post | put} |
| 124 | export function httpAction(url, data, method) { | 124 | export function httpAction (url, data, method) { |
| 125 | return request({ | 125 | return request({ |
| 126 | url, | 126 | url, |
| 127 | method, | 127 | method, |
| ... | @@ -129,7 +129,7 @@ export function httpAction(url, data, method) { | ... | @@ -129,7 +129,7 @@ export function httpAction(url, data, method) { |
| 129 | }) | 129 | }) |
| 130 | } | 130 | } |
| 131 | // put公共方法 | 131 | // put公共方法 |
| 132 | export function putAction(url, data = null) { | 132 | export function putAction (url, data = null) { |
| 133 | return request({ | 133 | return request({ |
| 134 | url, | 134 | url, |
| 135 | method: 'put', | 135 | method: 'put', |
| ... | @@ -137,7 +137,7 @@ export function putAction(url, data = null) { | ... | @@ -137,7 +137,7 @@ export function putAction(url, data = null) { |
| 137 | }) | 137 | }) |
| 138 | } | 138 | } |
| 139 | // delete | 139 | // delete |
| 140 | export function deleteAction(url, data = null) { | 140 | export function deleteAction (url, data = null) { |
| 141 | return request({ | 141 | return request({ |
| 142 | url, | 142 | url, |
| 143 | method: 'delete', | 143 | method: 'delete', |
| ... | @@ -146,7 +146,7 @@ export function deleteAction(url, data = null) { | ... | @@ -146,7 +146,7 @@ export function deleteAction(url, data = null) { |
| 146 | } | 146 | } |
| 147 | 147 | ||
| 148 | // 批量删除 | 148 | // 批量删除 |
| 149 | export function deleteBranch(url, data) { | 149 | export function deleteBranch (url, data) { |
| 150 | return request({ | 150 | return request({ |
| 151 | url, | 151 | url, |
| 152 | method: 'delete', | 152 | method: 'delete', | ... | ... |
| ... | @@ -121,3 +121,6 @@ export const getRoleAuthorityList = ( | ... | @@ -121,3 +121,6 @@ export const getRoleAuthorityList = ( |
| 121 | export const roleAuthority = (id, permissionDtos) => { | 121 | export const roleAuthority = (id, permissionDtos) => { |
| 122 | return putAction(`${api.rolePermissions}/${id}`, permissionDtos) | 122 | return putAction(`${api.rolePermissions}/${id}`, permissionDtos) |
| 123 | } | 123 | } |
| 124 | export const updateUserPassword = (data) => { | ||
| 125 | return putAction(`${api.users}/update-password`, data) | ||
| 126 | } | ... | ... |
| ... | @@ -29,14 +29,14 @@ export default { | ... | @@ -29,14 +29,14 @@ export default { |
| 29 | sidebarRight, | 29 | sidebarRight, |
| 30 | }, | 30 | }, |
| 31 | computed: { | 31 | computed: { |
| 32 | ...mapGetters(["sidebar", "dicData"]), | 32 | ...mapGetters(["sidebar", "dicData","userInfo"]), |
| 33 | logoName() { | 33 | logoName() { |
| 34 | return this.dicData['sysCode'] && this.dicData['sysCode'].filter(item => | 34 | return this.dicData['sysCode'] && this.dicData['sysCode'].filter(item => |
| 35 | item.DCODE == "systemTitle" | 35 | item.DCODE == "systemTitle" |
| 36 | ) | 36 | ) |
| 37 | }, | 37 | }, |
| 38 | userName(){ | 38 | userName(){ |
| 39 | return this.$store.state.userInfo ? this.$store.state.userInfo.name : "" | 39 | return this.userInfo ? this.userInfo.name : "" |
| 40 | } | 40 | } |
| 41 | }, | 41 | }, |
| 42 | methods: { | 42 | methods: { | ... | ... |
| ... | @@ -6,8 +6,7 @@ | ... | @@ -6,8 +6,7 @@ |
| 6 | label-width="100px" | 6 | label-width="100px" |
| 7 | :model="form" | 7 | :model="form" |
| 8 | class="form-wrapper" | 8 | class="form-wrapper" |
| 9 | :rules="rules" | 9 | :rules="rules"> |
| 10 | > | ||
| 11 | <el-form-item label="用户名:" required> | 10 | <el-form-item label="用户名:" required> |
| 12 | <el-input v-model="form.loginName" clearable disabled /> | 11 | <el-input v-model="form.loginName" clearable disabled /> |
| 13 | </el-form-item> | 12 | </el-form-item> |
| ... | @@ -19,9 +18,7 @@ | ... | @@ -19,9 +18,7 @@ |
| 19 | <el-radio | 18 | <el-radio |
| 20 | v-for="(item, index) in sexList" | 19 | v-for="(item, index) in sexList" |
| 21 | :key="index" | 20 | :key="index" |
| 22 | :label="item.value" | 21 | :label="item.value">{{ item.name }}</el-radio> |
| 23 | >{{ item.name }}</el-radio | ||
| 24 | > | ||
| 25 | </el-radio-group> | 22 | </el-radio-group> |
| 26 | </el-form-item> | 23 | </el-form-item> |
| 27 | <el-form-item label="身份证号:" prop="idCard"> | 24 | <el-form-item label="身份证号:" prop="idCard"> |
| ... | @@ -30,7 +27,7 @@ | ... | @@ -30,7 +27,7 @@ |
| 30 | <el-form-item label="手机号码:" prop="mobilePhone"> | 27 | <el-form-item label="手机号码:" prop="mobilePhone"> |
| 31 | <el-input v-model="form.mobilePhone" clearable /> | 28 | <el-input v-model="form.mobilePhone" clearable /> |
| 32 | </el-form-item> | 29 | </el-form-item> |
| 33 | <el-form-item label="办公电话:" prop="telephone"> | 30 | <el-form-item label="办公电话:"> |
| 34 | <el-input v-model="form.telephone" clearable /> | 31 | <el-input v-model="form.telephone" clearable /> |
| 35 | </el-form-item> | 32 | </el-form-item> |
| 36 | <el-form-item label="办公地址:"> | 33 | <el-form-item label="办公地址:"> |
| ... | @@ -45,200 +42,117 @@ | ... | @@ -45,200 +42,117 @@ |
| 45 | </template> | 42 | </template> |
| 46 | 43 | ||
| 47 | <script> | 44 | <script> |
| 48 | // import { api, getAction, putAction, getDictItems } from '@api/manageApi' | 45 | import { api, getAction, putAction, getDictItems } from '@/api/manageApi' |
| 49 | export default { | 46 | export default { |
| 50 | props: { | 47 | props: { |
| 51 | // userInfo: { | 48 | userInfo: { |
| 52 | // type: Object, | 49 | type: Object, |
| 53 | // default: null | 50 | default: null |
| 54 | // } | 51 | } |
| 55 | }, | 52 | }, |
| 56 | data() { | 53 | data () { |
| 57 | return { | 54 | return { |
| 58 | form: { | 55 | form: {}, |
| 59 | id: "3127e455-43ba-45ff-9326-0e02ef89485e", | 56 | sexList: [], |
| 60 | name: "超级管理员", | 57 | rules: { |
| 61 | sort: 1, | 58 | mobilePhone: [ |
| 62 | loginName: "admin", | 59 | { |
| 63 | email: null, | 60 | pattern: |
| 64 | lastLoginTime: null, | 61 | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| 65 | mobilePhone: "18291003568", | 62 | message: '手机号码格式有误', |
| 66 | isLocked: false, | 63 | trigger: 'blur' |
| 67 | status: "ACTIVE", | 64 | } |
| 68 | passwordChangeTime: "2021-12-10T08:01:01.569+0000", | 65 | ], |
| 69 | idCard: "612725202111021521", | 66 | idCard: [ |
| 70 | departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b", | 67 | { |
| 71 | departmentName: null, | 68 | pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, |
| 72 | organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa", | 69 | message: '身份证号格式有误', |
| 73 | sex: "0", | 70 | trigger: 'blur' |
| 74 | isDuty: true, | 71 | } |
| 75 | code: "123324", | 72 | ] |
| 76 | jobLevel: null, | 73 | } |
| 77 | telephone: "028-87720898", | 74 | } |
| 78 | address: "办公地点修改测试", | 75 | }, |
| 79 | }, | 76 | watch: { |
| 80 | sexList: [], | 77 | userInfo: { |
| 81 | rules: { | 78 | handler: function (val) { |
| 82 | mobilePhone: [ | 79 | if (val) { |
| 83 | { | 80 | this.getUserInfo(val.id) |
| 84 | pattern: | 81 | } |
| 85 | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, | 82 | } |
| 86 | message: "手机号码格式有误", | 83 | } |
| 87 | trigger: "blur", | 84 | }, |
| 88 | }, | 85 | mounted () { |
| 89 | ], | 86 | this.sexList = [ |
| 90 | idCard: [ | 87 | { |
| 91 | { | 88 | "name": "男", |
| 92 | pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, | 89 | "value": "0", |
| 93 | message: "身份证号格式有误", | 90 | }, |
| 94 | trigger: "blur", | 91 | { |
| 95 | }, | 92 | |
| 96 | ], | 93 | "name": "女", |
| 97 | telephone: [ | 94 | "value": "1", |
| 98 | { | 95 | }, |
| 99 | pattern: /\d{3}-\d{8}|\d{4}-\d{7}/, | 96 | |
| 100 | message: "办公电话格式有误", | 97 | { |
| 101 | trigger: "blur", | 98 | "name": "保密", |
| 102 | }, | 99 | "value": "2", |
| 103 | ], | ||
| 104 | }, | ||
| 105 | }; | ||
| 106 | }, | ||
| 107 | watch: { | ||
| 108 | // userInfo: { | ||
| 109 | // handler: function(val) { | ||
| 110 | // if (val) { | ||
| 111 | // this.getUserInfo(val.id) | ||
| 112 | // } | ||
| 113 | // } | ||
| 114 | // } | ||
| 115 | }, | ||
| 116 | mounted() { | ||
| 117 | // getDictItems('XB').then((res) => { | ||
| 118 | // if (res.status === 1) { | ||
| 119 | this.sexList = [ | ||
| 120 | { | ||
| 121 | id: "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f", | ||
| 122 | createdAt: "2021-06-11T02:42:02.000+0000", | ||
| 123 | updatedAt: "2021-09-03T09:21:46.000+0000", | ||
| 124 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 125 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 126 | sort: 2, | ||
| 127 | name: "男", | ||
| 128 | description: "", | ||
| 129 | code: "N362", | ||
| 130 | value: "0", | ||
| 131 | parentId: null, | ||
| 132 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 133 | version: 1, | ||
| 134 | valid: true, | ||
| 135 | standard: false, | ||
| 136 | standardName: null, | ||
| 137 | standardValue: null, | ||
| 138 | children: [], | ||
| 139 | commonName: "男(N362)", | ||
| 140 | }, | ||
| 141 | { | ||
| 142 | id: "4d6f845d-6f6a-4848-8fc2-a3760764c196", | ||
| 143 | createdAt: "2021-06-11T02:42:12.000+0000", | ||
| 144 | updatedAt: "2021-09-03T09:21:46.000+0000", | ||
| 145 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 146 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 147 | sort: 1, | ||
| 148 | name: "女", | ||
| 149 | description: "", | ||
| 150 | code: "N922", | ||
| 151 | value: "1", | ||
| 152 | parentId: null, | ||
| 153 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 154 | version: 1, | ||
| 155 | valid: true, | ||
| 156 | standard: false, | ||
| 157 | standardName: null, | ||
| 158 | standardValue: null, | ||
| 159 | children: [], | ||
| 160 | commonName: "女(N922)", | ||
| 161 | }, | ||
| 162 | { | ||
| 163 | id: "637c360b-d4e2-4afb-aa18-33624cf3abcb", | ||
| 164 | createdAt: "2021-06-11T02:42:29.000+0000", | ||
| 165 | updatedAt: "2021-09-03T09:21:43.000+0000", | ||
| 166 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 167 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 168 | sort: 0, | ||
| 169 | name: "保密", | ||
| 170 | description: "", | ||
| 171 | code: "BM816", | ||
| 172 | value: "2", | ||
| 173 | parentId: null, | ||
| 174 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 175 | version: 1, | ||
| 176 | valid: true, | ||
| 177 | standard: false, | ||
| 178 | standardName: null, | ||
| 179 | standardValue: null, | ||
| 180 | children: [], | ||
| 181 | commonName: "保密(BM816)", | ||
| 182 | }, | ||
| 183 | ]; | ||
| 184 | // } else { | ||
| 185 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 186 | // } | ||
| 187 | // }) | ||
| 188 | }, | ||
| 189 | methods: { | ||
| 190 | // getUserInfo(id) { | ||
| 191 | // getAction(`${api.users}/${id}`).then((res) => { | ||
| 192 | // if (res.status === 1) { | ||
| 193 | 100 | ||
| 194 | // } else { | 101 | } |
| 195 | // this.$message.error({ message: res.message, showClose: true }) | 102 | ] |
| 196 | // } | ||
| 197 | // }) | ||
| 198 | // }, | ||
| 199 | // 更新信息 | ||
| 200 | updateInfo() { | ||
| 201 | // this.$refs.form.validate((valid) => { | ||
| 202 | // if (valid) { | ||
| 203 | // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => { | ||
| 204 | // if (res.status === 1) { | ||
| 205 | // this.$message.success({ message: res.message, showClose: true }) | ||
| 206 | // this.getUserInfo(this.form.id) | ||
| 207 | // } else { | ||
| 208 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 209 | // } | ||
| 210 | // }) | ||
| 211 | // } | ||
| 212 | // }) | ||
| 213 | }, | 103 | }, |
| 214 | }, | 104 | methods: { |
| 215 | }; | 105 | getUserInfo (id) { |
| 106 | getAction(`${api.users}/${id}`).then((res) => { | ||
| 107 | if (res.status === 1) { | ||
| 108 | this.form = res.content | ||
| 109 | } else { | ||
| 110 | this.$message.error({ message: res.message, showClose: true }) | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | }, | ||
| 114 | updateInfo () { | ||
| 115 | this.$refs.form.validate((valid) => { | ||
| 116 | if (valid) { | ||
| 117 | putAction(`${api.users}/${this.form.id}`, this.form).then((res) => { | ||
| 118 | if (res.status === 1) { | ||
| 119 | this.$message.success({ message: res.message, showClose: true }) | ||
| 120 | this.getUserInfo(this.form.id) | ||
| 121 | } else { | ||
| 122 | this.$message.error({ message: res.message, showClose: true }) | ||
| 123 | } | ||
| 124 | }) | ||
| 125 | } | ||
| 126 | }) | ||
| 127 | } | ||
| 128 | } | ||
| 129 | } | ||
| 216 | </script> | 130 | </script> |
| 217 | 131 | ||
| 218 | <style scoped lang="scss"> | 132 | <style scoped lang="scss"> |
| 219 | .user-info { | 133 | .user-info { |
| 220 | margin: 0.1875rem 1.0417rem; | 134 | margin: 0.1875rem 1.0417rem; |
| 221 | background: #ffffff; | 135 | background: #ffffff; |
| 222 | max-height: 90%; | 136 | max-height: 90%; |
| 223 | overflow-y: auto; | 137 | overflow-y: auto; |
| 224 | .form-wrapper { | 138 | .form-wrapper { |
| 225 | padding: 24px 120px 0px; | 139 | padding: 24px 120px 0px; |
| 226 | .el-form-item { | 140 | .el-form-item { |
| 227 | margin-bottom: 24px; | 141 | margin-bottom: 24px; |
| 228 | .el-form-item__label { | 142 | .el-form-item__label { |
| 229 | color: #747e8c; | 143 | color: #747e8c; |
| 230 | } | 144 | } |
| 231 | ::v-deep .el-input .el-input__inner { | 145 | ::v-deep .el-input .el-input__inner { |
| 232 | padding: 0 8px; | 146 | padding: 0 8px; |
| 233 | height: 40px; | 147 | height: 40px; |
| 234 | line-height: 40px; | 148 | line-height: 40px; |
| 235 | border: 1px solid #6BC1FC; | 149 | border: 1px solid #6bc1fc; |
| 150 | } | ||
| 236 | } | 151 | } |
| 237 | } | 152 | } |
| 153 | .bottom-wrapper { | ||
| 154 | padding: 32px 120px 24px; | ||
| 155 | text-align: right; | ||
| 156 | } | ||
| 238 | } | 157 | } |
| 239 | .bottom-wrapper { | ||
| 240 | padding: 32px 120px 24px; | ||
| 241 | text-align: right; | ||
| 242 | } | ||
| 243 | } | ||
| 244 | </style> | 158 | </style> | ... | ... |
| ... | @@ -15,69 +15,74 @@ | ... | @@ -15,69 +15,74 @@ |
| 15 | </div> | 15 | </div> |
| 16 | <div class="from-clues-content"> | 16 | <div class="from-clues-content"> |
| 17 | <div class="contentbox"> | 17 | <div class="contentbox"> |
| 18 | <base-set v-show="isshow" /> | 18 | <base-set v-show="isshow" :user-info="userData" /> |
| 19 | <password-edit v-show="!isshow" /> | 19 | <password-edit v-show="!isshow" :user-info="userData" /> |
| 20 | </div> | 20 | </div> |
| 21 | </div> | 21 | </div> |
| 22 | </div> | 22 | </div> |
| 23 | </template> | 23 | </template> |
| 24 | <script> | 24 | <script> |
| 25 | import "@/utils/flexible.js"; | 25 | import "@/utils/flexible.js"; |
| 26 | import BaseSet from "./base-set.vue"; | 26 | import BaseSet from "./base-set.vue"; |
| 27 | import PasswordEdit from "./password-edit.vue"; | 27 | import PasswordEdit from "./password-edit.vue"; |
| 28 | export default { | 28 | export default { |
| 29 | components: { | 29 | components: { |
| 30 | BaseSet, | 30 | BaseSet, |
| 31 | PasswordEdit, | 31 | PasswordEdit, |
| 32 | }, | ||
| 33 | data() { | ||
| 34 | return { | ||
| 35 | active: "baseSet", | ||
| 36 | isshow: true, | ||
| 37 | }; | ||
| 38 | }, | ||
| 39 | computed: {}, | ||
| 40 | watch: {}, | ||
| 41 | created() {}, | ||
| 42 | mounted() {}, | ||
| 43 | methods: { | ||
| 44 | information() { | ||
| 45 | this.isshow = true; | ||
| 46 | }, | 32 | }, |
| 47 | password() { | 33 | data () { |
| 48 | this.isshow = false; | 34 | return { |
| 35 | isshow: true, | ||
| 36 | userData: null | ||
| 37 | }; | ||
| 49 | }, | 38 | }, |
| 50 | }, | 39 | computed: { |
| 51 | }; | 40 | departmentid () { |
| 41 | return this.$store.state.user.userInfo; | ||
| 42 | }, | ||
| 43 | }, | ||
| 44 | watch: {}, | ||
| 45 | created () { }, | ||
| 46 | mounted () { | ||
| 47 | if (this.departmentid) { | ||
| 48 | this.userData = this.departmentid | ||
| 49 | } | ||
| 50 | |||
| 51 | }, | ||
| 52 | methods: { | ||
| 53 | information () { | ||
| 54 | this.isshow = true; | ||
| 55 | }, | ||
| 56 | password () { | ||
| 57 | this.isshow = false; | ||
| 58 | }, | ||
| 59 | }, | ||
| 60 | }; | ||
| 52 | </script> | 61 | </script> |
| 53 | 62 | ||
| 54 | <style scoped lang="scss"> | 63 | <style scoped lang="scss"> |
| 55 | @import "~@/styles/mixin.scss"; | 64 | @import "~@/styles/mixin.scss"; |
| 56 | @import "~@/styles/public.scss"; | 65 | @import "~@/styles/public.scss"; |
| 57 | .information{ | 66 | .information { |
| 58 | .btnColRight{ | 67 | .btnColRight { |
| 59 | margin-top: 20px; | 68 | margin-top: 20px; |
| 60 | } | 69 | } |
| 61 | /deep/.content { | 70 | /deep/.content { |
| 62 | .el-input__inner{ | 71 | .el-input__inner { |
| 63 | background: none; | 72 | background: none; |
| 64 | } | 73 | } |
| 65 | .user-info { | 74 | .user-info { |
| 66 | background: none; | 75 | background: none; |
| 67 | } | 76 | } |
| 77 | } | ||
| 78 | /deep/.el-tabs { | ||
| 79 | .el-tabs__content { | ||
| 80 | height: 100%; | ||
| 81 | width: 100%; | ||
| 82 | } | ||
| 83 | } | ||
| 84 | .contentbox { | ||
| 85 | height: 3.0854rem; | ||
| 68 | } | 86 | } |
| 69 | /deep/.el-tabs { | ||
| 70 | |||
| 71 | .el-tabs__content { | ||
| 72 | height: 100%; | ||
| 73 | width: 100%; | ||
| 74 | |||
| 75 | |||
| 76 | } | 87 | } |
| 77 | } | ||
| 78 | .contentbox{ | ||
| 79 | height: 3.0854rem; | ||
| 80 | } | ||
| 81 | } | ||
| 82 | |||
| 83 | </style> | 88 | </style> | ... | ... |
| ... | @@ -6,31 +6,27 @@ | ... | @@ -6,31 +6,27 @@ |
| 6 | label-width="100px" | 6 | label-width="100px" |
| 7 | :model="form" | 7 | :model="form" |
| 8 | class="form-wrapper" | 8 | class="form-wrapper" |
| 9 | :rules="rules" | 9 | :rules="rules"> |
| 10 | > | 10 | <el-form-item label="旧密码:" prop="oldPassword"> |
| 11 | <el-form-item label="旧密码:" required prop="oldPassword"> | ||
| 12 | <el-input | 11 | <el-input |
| 13 | v-model="form.oldPassword" | 12 | v-model="form.oldPassword" |
| 14 | clearable | 13 | clearable |
| 15 | type="password" | 14 | type="password" |
| 16 | show-password | 15 | show-password /> |
| 17 | /> | ||
| 18 | </el-form-item> | 16 | </el-form-item> |
| 19 | <el-form-item label="新密码:" required prop="newPassword"> | 17 | <el-form-item label="新密码:" prop="newPassword"> |
| 20 | <el-input | 18 | <el-input |
| 21 | v-model="form.newPassword" | 19 | v-model="form.newPassword" |
| 22 | clearable | 20 | clearable |
| 23 | type="password" | 21 | type="password" |
| 24 | show-password | 22 | show-password /> |
| 25 | /> | ||
| 26 | </el-form-item> | 23 | </el-form-item> |
| 27 | <el-form-item label="确认密码:" required prop="confirmPassword"> | 24 | <el-form-item label="确认密码:" prop="confirmPassword"> |
| 28 | <el-input | 25 | <el-input |
| 29 | v-model="form.confirmPassword" | 26 | v-model="form.confirmPassword" |
| 30 | clearable | 27 | clearable |
| 31 | type="password" | 28 | type="password" |
| 32 | show-password | 29 | show-password /> |
| 33 | /> | ||
| 34 | </el-form-item> | 30 | </el-form-item> |
| 35 | </el-form> | 31 | </el-form> |
| 36 | <div class="bottom-wrapper"> | 32 | <div class="bottom-wrapper"> |
| ... | @@ -41,96 +37,95 @@ | ... | @@ -41,96 +37,95 @@ |
| 41 | </template> | 37 | </template> |
| 42 | 38 | ||
| 43 | <script> | 39 | <script> |
| 44 | // import { updateUserPassword } from '@api/organizationManage' | 40 | import { updateUserPassword } from "@/api/quanxianmanagement"; |
| 45 | export default { | 41 | export default { |
| 46 | props: { | 42 | props: { |
| 47 | // userInfo: { | 43 | userInfo: { |
| 48 | // type: Object, | 44 | type: Object, |
| 49 | // default: null | 45 | default: null |
| 50 | // } | ||
| 51 | }, | ||
| 52 | data() { | ||
| 53 | return { | ||
| 54 | form: {}, | ||
| 55 | sexList: [], | ||
| 56 | userId: '', | ||
| 57 | rules: { | ||
| 58 | oldPassword: [ | ||
| 59 | { required: true, message: '旧密码不能为空', trigger: 'blur' } | ||
| 60 | ], | ||
| 61 | newPassword: [ | ||
| 62 | { required: true, message: '新密码不能为空', trigger: 'blur' } | ||
| 63 | ], | ||
| 64 | confirmPassword: [ | ||
| 65 | { required: true, message: '确认密码不能为空', trigger: 'blur' }, | ||
| 66 | { validator: this.validatorConfirmPassword, trigger: 'blur' } | ||
| 67 | ] | ||
| 68 | } | 46 | } |
| 69 | } | 47 | }, |
| 70 | }, | 48 | data () { |
| 71 | computed: {}, | 49 | return { |
| 72 | watch: { | 50 | form: {}, |
| 73 | // userInfo: { | 51 | sexList: [], |
| 74 | // handler: function(val) { | 52 | userId: '', |
| 75 | // if (val) { | 53 | rules: { |
| 76 | // this.userId = val.id | 54 | oldPassword: [ |
| 77 | // } | 55 | { required: true, message: '旧密码不能为空', trigger: 'blur' } |
| 78 | // } | 56 | ], |
| 79 | // } | 57 | newPassword: [ |
| 80 | }, | 58 | { required: true, message: '新密码不能为空', trigger: 'blur' } |
| 81 | mounted() {}, | 59 | ], |
| 82 | methods: { | 60 | confirmPassword: [ |
| 83 | validatorConfirmPassword(rule, value, callback) { | 61 | { required: true, message: '确认密码不能为空', trigger: 'blur' }, |
| 84 | const { newPassword } = this.form | 62 | { validator: this.validatorConfirmPassword, trigger: 'blur' } |
| 85 | if (value !== newPassword) { | 63 | ] |
| 86 | callback('两次输入密码不一致') | 64 | } |
| 87 | } else { | 65 | } |
| 88 | callback() | 66 | }, |
| 67 | computed: {}, | ||
| 68 | watch: { | ||
| 69 | userInfo: { | ||
| 70 | handler: function (val) { | ||
| 71 | if (val) { | ||
| 72 | this.userId = val.id | ||
| 73 | } | ||
| 74 | } | ||
| 89 | } | 75 | } |
| 90 | }, | 76 | }, |
| 91 | // 确认修改 | 77 | mounted () { }, |
| 92 | updatePassword() { | 78 | methods: { |
| 93 | // this.$refs.form.validate((valid) => { | 79 | validatorConfirmPassword (rule, value, callback) { |
| 94 | // if (valid) { | 80 | const { newPassword } = this.form |
| 95 | // const params = Object.assign({}, this.form, { id: this.userId }) | 81 | if (value !== newPassword) { |
| 96 | // updateUserPassword(params).then((res) => { | 82 | callback('两次输入密码不一致') |
| 97 | // if (res.status === 1) { | 83 | } else { |
| 98 | // this.$message.success({ message: res.message, showClose: true }) | 84 | callback() |
| 99 | // } else { | 85 | } |
| 100 | // this.$message.error({ message: res.message, showClose: true }) | 86 | }, |
| 101 | // } | 87 | updatePassword () { |
| 102 | // }) | 88 | this.$refs.form.validate((valid) => { |
| 103 | // } | 89 | if (valid) { |
| 104 | // }) | 90 | const params = Object.assign({}, this.form, { id: this.userId }) |
| 91 | updateUserPassword(params).then((res) => { | ||
| 92 | if (res.status === 1) { | ||
| 93 | this.$message.success({ message: res.message, showClose: true }) | ||
| 94 | } else { | ||
| 95 | this.$message.error({ message: res.message, showClose: true }) | ||
| 96 | } | ||
| 97 | }) | ||
| 98 | } | ||
| 99 | }) | ||
| 100 | } | ||
| 105 | } | 101 | } |
| 106 | } | 102 | } |
| 107 | } | ||
| 108 | </script> | 103 | </script> |
| 109 | 104 | ||
| 110 | <style scoped lang="scss"> | 105 | <style scoped lang="scss"> |
| 111 | .user-info { | 106 | .user-info { |
| 112 | margin: 36px 200px; | 107 | margin: 36px 200px; |
| 113 | background: #ffffff; | 108 | background: #ffffff; |
| 114 | max-height: 90%; | 109 | max-height: 90%; |
| 115 | overflow-y: auto; | 110 | overflow-y: auto; |
| 116 | .form-wrapper { | 111 | .form-wrapper { |
| 117 | padding: 24px 120px 0px; | 112 | padding: 24px 120px 0px; |
| 118 | .el-form-item { | 113 | .el-form-item { |
| 119 | margin-bottom: 24px; | 114 | margin-bottom: 24px; |
| 120 | .el-form-item__label { | 115 | .el-form-item__label { |
| 121 | color: #747e8c; | 116 | color: #747e8c; |
| 122 | } | 117 | } |
| 123 | ::v-deep .el-input .el-input__inner { | 118 | ::v-deep .el-input .el-input__inner { |
| 124 | padding: 0 8px; | 119 | padding: 0 8px; |
| 125 | height: 40px; | 120 | height: 40px; |
| 126 | line-height: 40px; | 121 | line-height: 40px; |
| 127 | border: 1px solid #6BC1FC; | 122 | border: 1px solid #6bc1fc; |
| 123 | } | ||
| 128 | } | 124 | } |
| 129 | } | 125 | } |
| 126 | .bottom-wrapper { | ||
| 127 | padding: 32px 120px 24px; | ||
| 128 | text-align: right; | ||
| 129 | } | ||
| 130 | } | 130 | } |
| 131 | .bottom-wrapper { | ||
| 132 | padding: 32px 120px 24px; | ||
| 133 | text-align: right; | ||
| 134 | } | ||
| 135 | } | ||
| 136 | </style> | 131 | </style> | ... | ... |
| 1 | <template> | ||
| 2 | <div class="content"> | ||
| 3 | <div class="user-info"> | ||
| 4 | <el-form | ||
| 5 | ref="form" | ||
| 6 | label-width="100px" | ||
| 7 | :model="form" | ||
| 8 | class="form-wrapper" | ||
| 9 | :rules="rules" | ||
| 10 | > | ||
| 11 | <el-form-item label="用户名:" required> | ||
| 12 | <el-input v-model="form.loginName" clearable disabled /> | ||
| 13 | </el-form-item> | ||
| 14 | <el-form-item label="姓名:"> | ||
| 15 | <el-input v-model="form.name" clearable /> | ||
| 16 | </el-form-item> | ||
| 17 | <el-form-item label="性别:"> | ||
| 18 | <el-radio-group v-model="form.sex"> | ||
| 19 | <el-radio | ||
| 20 | v-for="(item, index) in sexList" | ||
| 21 | :key="index" | ||
| 22 | :label="item.value" | ||
| 23 | >{{ item.name }}</el-radio | ||
| 24 | > | ||
| 25 | </el-radio-group> | ||
| 26 | </el-form-item> | ||
| 27 | <el-form-item label="身份证号:" prop="idCard"> | ||
| 28 | <el-input v-model="form.idCard" clearable /> | ||
| 29 | </el-form-item> | ||
| 30 | <el-form-item label="手机号码:" prop="mobilePhone"> | ||
| 31 | <el-input v-model="form.mobilePhone" clearable /> | ||
| 32 | </el-form-item> | ||
| 33 | <el-form-item label="办公电话:" prop="telephone"> | ||
| 34 | <el-input v-model="form.telephone" clearable /> | ||
| 35 | </el-form-item> | ||
| 36 | <el-form-item label="办公地址:"> | ||
| 37 | <el-input v-model="form.address" clearable /> | ||
| 38 | </el-form-item> | ||
| 39 | </el-form> | ||
| 40 | <div class="bottom-wrapper"> | ||
| 41 | <el-button type="primary" @click="updateInfo">更新信息</el-button> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | </div> | ||
| 45 | </template> | ||
| 46 | |||
| 47 | <script> | ||
| 48 | // import { api, getAction, putAction, getDictItems } from '@api/manageApi' | ||
| 49 | export default { | ||
| 50 | props: { | ||
| 51 | // userInfo: { | ||
| 52 | // type: Object, | ||
| 53 | // default: null | ||
| 54 | // } | ||
| 55 | }, | ||
| 56 | data() { | ||
| 57 | return { | ||
| 58 | form: { | ||
| 59 | id: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 60 | name: "超级管理员", | ||
| 61 | sort: 1, | ||
| 62 | loginName: "admin", | ||
| 63 | email: null, | ||
| 64 | lastLoginTime: null, | ||
| 65 | mobilePhone: "18291003568", | ||
| 66 | isLocked: false, | ||
| 67 | status: "ACTIVE", | ||
| 68 | passwordChangeTime: "2021-12-10T08:01:01.569+0000", | ||
| 69 | idCard: "612725202111021521", | ||
| 70 | departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b", | ||
| 71 | departmentName: null, | ||
| 72 | organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa", | ||
| 73 | sex: "0", | ||
| 74 | isDuty: true, | ||
| 75 | code: "123324", | ||
| 76 | jobLevel: null, | ||
| 77 | telephone: "028-87720898", | ||
| 78 | address: "办公地点修改测试", | ||
| 79 | }, | ||
| 80 | sexList: [], | ||
| 81 | rules: { | ||
| 82 | mobilePhone: [ | ||
| 83 | { | ||
| 84 | pattern: | ||
| 85 | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, | ||
| 86 | message: "手机号码格式有误", | ||
| 87 | trigger: "blur", | ||
| 88 | }, | ||
| 89 | ], | ||
| 90 | idCard: [ | ||
| 91 | { | ||
| 92 | pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, | ||
| 93 | message: "身份证号格式有误", | ||
| 94 | trigger: "blur", | ||
| 95 | }, | ||
| 96 | ], | ||
| 97 | telephone: [ | ||
| 98 | { | ||
| 99 | pattern: /\d{3}-\d{8}|\d{4}-\d{7}/, | ||
| 100 | message: "办公电话格式有误", | ||
| 101 | trigger: "blur", | ||
| 102 | }, | ||
| 103 | ], | ||
| 104 | }, | ||
| 105 | }; | ||
| 106 | }, | ||
| 107 | watch: { | ||
| 108 | // userInfo: { | ||
| 109 | // handler: function(val) { | ||
| 110 | // if (val) { | ||
| 111 | // this.getUserInfo(val.id) | ||
| 112 | // } | ||
| 113 | // } | ||
| 114 | // } | ||
| 115 | }, | ||
| 116 | mounted() { | ||
| 117 | // getDictItems('XB').then((res) => { | ||
| 118 | // if (res.status === 1) { | ||
| 119 | this.sexList = [ | ||
| 120 | { | ||
| 121 | id: "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f", | ||
| 122 | createdAt: "2021-06-11T02:42:02.000+0000", | ||
| 123 | updatedAt: "2021-09-03T09:21:46.000+0000", | ||
| 124 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 125 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 126 | sort: 2, | ||
| 127 | name: "男", | ||
| 128 | description: "", | ||
| 129 | code: "N362", | ||
| 130 | value: "0", | ||
| 131 | parentId: null, | ||
| 132 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 133 | version: 1, | ||
| 134 | valid: true, | ||
| 135 | standard: false, | ||
| 136 | standardName: null, | ||
| 137 | standardValue: null, | ||
| 138 | children: [], | ||
| 139 | commonName: "男(N362)", | ||
| 140 | }, | ||
| 141 | { | ||
| 142 | id: "4d6f845d-6f6a-4848-8fc2-a3760764c196", | ||
| 143 | createdAt: "2021-06-11T02:42:12.000+0000", | ||
| 144 | updatedAt: "2021-09-03T09:21:46.000+0000", | ||
| 145 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 146 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 147 | sort: 1, | ||
| 148 | name: "女", | ||
| 149 | description: "", | ||
| 150 | code: "N922", | ||
| 151 | value: "1", | ||
| 152 | parentId: null, | ||
| 153 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 154 | version: 1, | ||
| 155 | valid: true, | ||
| 156 | standard: false, | ||
| 157 | standardName: null, | ||
| 158 | standardValue: null, | ||
| 159 | children: [], | ||
| 160 | commonName: "女(N922)", | ||
| 161 | }, | ||
| 162 | { | ||
| 163 | id: "637c360b-d4e2-4afb-aa18-33624cf3abcb", | ||
| 164 | createdAt: "2021-06-11T02:42:29.000+0000", | ||
| 165 | updatedAt: "2021-09-03T09:21:43.000+0000", | ||
| 166 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 167 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 168 | sort: 0, | ||
| 169 | name: "保密", | ||
| 170 | description: "", | ||
| 171 | code: "BM816", | ||
| 172 | value: "2", | ||
| 173 | parentId: null, | ||
| 174 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", | ||
| 175 | version: 1, | ||
| 176 | valid: true, | ||
| 177 | standard: false, | ||
| 178 | standardName: null, | ||
| 179 | standardValue: null, | ||
| 180 | children: [], | ||
| 181 | commonName: "保密(BM816)", | ||
| 182 | }, | ||
| 183 | ]; | ||
| 184 | // } else { | ||
| 185 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 186 | // } | ||
| 187 | // }) | ||
| 188 | }, | ||
| 189 | methods: { | ||
| 190 | // getUserInfo(id) { | ||
| 191 | // getAction(`${api.users}/${id}`).then((res) => { | ||
| 192 | // if (res.status === 1) { | ||
| 193 | |||
| 194 | // } else { | ||
| 195 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 196 | // } | ||
| 197 | // }) | ||
| 198 | // }, | ||
| 199 | // 更新信息 | ||
| 200 | updateInfo() { | ||
| 201 | // this.$refs.form.validate((valid) => { | ||
| 202 | // if (valid) { | ||
| 203 | // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => { | ||
| 204 | // if (res.status === 1) { | ||
| 205 | // this.$message.success({ message: res.message, showClose: true }) | ||
| 206 | // this.getUserInfo(this.form.id) | ||
| 207 | // } else { | ||
| 208 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 209 | // } | ||
| 210 | // }) | ||
| 211 | // } | ||
| 212 | // }) | ||
| 213 | }, | ||
| 214 | }, | ||
| 215 | }; | ||
| 216 | </script> | ||
| 217 | |||
| 218 | <style scoped lang="scss"> | ||
| 219 | .user-info { | ||
| 220 | margin: 0.1875rem 1.0417rem; | ||
| 221 | background: #ffffff; | ||
| 222 | max-height: 90%; | ||
| 223 | overflow-y: auto; | ||
| 224 | .form-wrapper { | ||
| 225 | padding: 24px 120px 0px; | ||
| 226 | .el-form-item { | ||
| 227 | margin-bottom: 24px; | ||
| 228 | .el-form-item__label { | ||
| 229 | color: #747e8c; | ||
| 230 | } | ||
| 231 | ::v-deep .el-input .el-input__inner { | ||
| 232 | padding: 0 8px; | ||
| 233 | height: 40px; | ||
| 234 | line-height: 40px; | ||
| 235 | border: 1px solid #6BC1FC; | ||
| 236 | } | ||
| 237 | } | ||
| 238 | } | ||
| 239 | .bottom-wrapper { | ||
| 240 | padding: 32px 120px 24px; | ||
| 241 | text-align: right; | ||
| 242 | } | ||
| 243 | } | ||
| 244 | </style> |
| 1 | <template> | ||
| 2 | <div class="information from-clues"> | ||
| 3 | <div class="from-clues-header"> | ||
| 4 | <el-form ref="ruleForm" label-width="100px"> | ||
| 5 | <el-form-item> | ||
| 6 | <Breadcrumb /> | ||
| 7 | </el-form-item> | ||
| 8 | <el-row class="mb-5"> | ||
| 9 | <el-col :span="3" class="btnColRight"> | ||
| 10 | <btn nativeType="cx" @click="information">基本信息</btn> | ||
| 11 | <btn nativeType="cx" @click="password">修改密码</btn> | ||
| 12 | </el-col> | ||
| 13 | </el-row> | ||
| 14 | </el-form> | ||
| 15 | </div> | ||
| 16 | <div class="from-clues-content"> | ||
| 17 | <div class="contentbox"> | ||
| 18 | <base-set v-show="isshow" /> | ||
| 19 | <password-edit v-show="!isshow" /> | ||
| 20 | </div> | ||
| 21 | </div> | ||
| 22 | </div> | ||
| 23 | </template> | ||
| 24 | <script> | ||
| 25 | import "@/utils/flexible.js"; | ||
| 26 | import BaseSet from "./base-set.vue"; | ||
| 27 | import PasswordEdit from "./password-edit.vue"; | ||
| 28 | export default { | ||
| 29 | components: { | ||
| 30 | BaseSet, | ||
| 31 | PasswordEdit, | ||
| 32 | }, | ||
| 33 | data() { | ||
| 34 | return { | ||
| 35 | active: "baseSet", | ||
| 36 | isshow: true, | ||
| 37 | }; | ||
| 38 | }, | ||
| 39 | computed: {}, | ||
| 40 | watch: {}, | ||
| 41 | created() {}, | ||
| 42 | mounted() {}, | ||
| 43 | methods: { | ||
| 44 | information() { | ||
| 45 | this.isshow = true; | ||
| 46 | }, | ||
| 47 | password() { | ||
| 48 | this.isshow = false; | ||
| 49 | }, | ||
| 50 | }, | ||
| 51 | }; | ||
| 52 | </script> | ||
| 53 | |||
| 54 | <style scoped lang="scss"> | ||
| 55 | @import "~@/styles/mixin.scss"; | ||
| 56 | @import "~@/styles/public.scss"; | ||
| 57 | .information{ | ||
| 58 | .btnColRight{ | ||
| 59 | margin-top: 20px; | ||
| 60 | } | ||
| 61 | /deep/.content { | ||
| 62 | .el-input__inner{ | ||
| 63 | background: none; | ||
| 64 | } | ||
| 65 | .user-info { | ||
| 66 | background: none; | ||
| 67 | } | ||
| 68 | } | ||
| 69 | /deep/.el-tabs { | ||
| 70 | |||
| 71 | .el-tabs__content { | ||
| 72 | height: 100%; | ||
| 73 | width: 100%; | ||
| 74 | |||
| 75 | |||
| 76 | } | ||
| 77 | } | ||
| 78 | .contentbox{ | ||
| 79 | height: 3.0854rem; | ||
| 80 | } | ||
| 81 | } | ||
| 82 | |||
| 83 | </style> |
| 1 | <template> | ||
| 2 | <div class="content"> | ||
| 3 | <div class="user-info"> | ||
| 4 | <el-form | ||
| 5 | ref="form" | ||
| 6 | label-width="100px" | ||
| 7 | :model="form" | ||
| 8 | class="form-wrapper" | ||
| 9 | :rules="rules" | ||
| 10 | > | ||
| 11 | <el-form-item label="旧密码:" required prop="oldPassword"> | ||
| 12 | <el-input | ||
| 13 | v-model="form.oldPassword" | ||
| 14 | clearable | ||
| 15 | type="password" | ||
| 16 | show-password | ||
| 17 | /> | ||
| 18 | </el-form-item> | ||
| 19 | <el-form-item label="新密码:" required prop="newPassword"> | ||
| 20 | <el-input | ||
| 21 | v-model="form.newPassword" | ||
| 22 | clearable | ||
| 23 | type="password" | ||
| 24 | show-password | ||
| 25 | /> | ||
| 26 | </el-form-item> | ||
| 27 | <el-form-item label="确认密码:" required prop="confirmPassword"> | ||
| 28 | <el-input | ||
| 29 | v-model="form.confirmPassword" | ||
| 30 | clearable | ||
| 31 | type="password" | ||
| 32 | show-password | ||
| 33 | /> | ||
| 34 | </el-form-item> | ||
| 35 | </el-form> | ||
| 36 | <div class="bottom-wrapper"> | ||
| 37 | <el-button type="primary" @click="updatePassword">确认修改</el-button> | ||
| 38 | </div> | ||
| 39 | </div> | ||
| 40 | </div> | ||
| 41 | </template> | ||
| 42 | |||
| 43 | <script> | ||
| 44 | // import { updateUserPassword } from '@api/organizationManage' | ||
| 45 | export default { | ||
| 46 | props: { | ||
| 47 | // userInfo: { | ||
| 48 | // type: Object, | ||
| 49 | // default: null | ||
| 50 | // } | ||
| 51 | }, | ||
| 52 | data() { | ||
| 53 | return { | ||
| 54 | form: {}, | ||
| 55 | sexList: [], | ||
| 56 | userId: '', | ||
| 57 | rules: { | ||
| 58 | oldPassword: [ | ||
| 59 | { required: true, message: '旧密码不能为空', trigger: 'blur' } | ||
| 60 | ], | ||
| 61 | newPassword: [ | ||
| 62 | { required: true, message: '新密码不能为空', trigger: 'blur' } | ||
| 63 | ], | ||
| 64 | confirmPassword: [ | ||
| 65 | { required: true, message: '确认密码不能为空', trigger: 'blur' }, | ||
| 66 | { validator: this.validatorConfirmPassword, trigger: 'blur' } | ||
| 67 | ] | ||
| 68 | } | ||
| 69 | } | ||
| 70 | }, | ||
| 71 | computed: {}, | ||
| 72 | watch: { | ||
| 73 | // userInfo: { | ||
| 74 | // handler: function(val) { | ||
| 75 | // if (val) { | ||
| 76 | // this.userId = val.id | ||
| 77 | // } | ||
| 78 | // } | ||
| 79 | // } | ||
| 80 | }, | ||
| 81 | mounted() {}, | ||
| 82 | methods: { | ||
| 83 | validatorConfirmPassword(rule, value, callback) { | ||
| 84 | const { newPassword } = this.form | ||
| 85 | if (value !== newPassword) { | ||
| 86 | callback('两次输入密码不一致') | ||
| 87 | } else { | ||
| 88 | callback() | ||
| 89 | } | ||
| 90 | }, | ||
| 91 | // 确认修改 | ||
| 92 | updatePassword() { | ||
| 93 | // this.$refs.form.validate((valid) => { | ||
| 94 | // if (valid) { | ||
| 95 | // const params = Object.assign({}, this.form, { id: this.userId }) | ||
| 96 | // updateUserPassword(params).then((res) => { | ||
| 97 | // if (res.status === 1) { | ||
| 98 | // this.$message.success({ message: res.message, showClose: true }) | ||
| 99 | // } else { | ||
| 100 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 101 | // } | ||
| 102 | // }) | ||
| 103 | // } | ||
| 104 | // }) | ||
| 105 | } | ||
| 106 | } | ||
| 107 | } | ||
| 108 | </script> | ||
| 109 | |||
| 110 | <style scoped lang="scss"> | ||
| 111 | .user-info { | ||
| 112 | margin: 36px 200px; | ||
| 113 | background: #ffffff; | ||
| 114 | max-height: 90%; | ||
| 115 | overflow-y: auto; | ||
| 116 | .form-wrapper { | ||
| 117 | padding: 24px 120px 0px; | ||
| 118 | .el-form-item { | ||
| 119 | margin-bottom: 24px; | ||
| 120 | .el-form-item__label { | ||
| 121 | color: #747e8c; | ||
| 122 | } | ||
| 123 | ::v-deep .el-input .el-input__inner { | ||
| 124 | padding: 0 8px; | ||
| 125 | height: 40px; | ||
| 126 | line-height: 40px; | ||
| 127 | border: 1px solid #6BC1FC; | ||
| 128 | } | ||
| 129 | } | ||
| 130 | } | ||
| 131 | .bottom-wrapper { | ||
| 132 | padding: 32px 120px 24px; | ||
| 133 | text-align: right; | ||
| 134 | } | ||
| 135 | } | ||
| 136 | </style> |
This diff is collapsed.
Click to expand it.
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | <el-tab-pane label="菜单配置" name="second"></el-tab-pane> | 15 | <el-tab-pane label="菜单配置" name="second"></el-tab-pane> |
| 16 | </el-tabs> | 16 | </el-tabs> |
| 17 | <lb-table | 17 | <lb-table |
| 18 | v-show="activeName == 'first'" | 18 | v-if="activeName == 'first'" |
| 19 | ref="multipleTable" | 19 | ref="multipleTable" |
| 20 | :pagination="false" | 20 | :pagination="false" |
| 21 | :column="usertableData.column" | 21 | :column="usertableData.column" |
| ... | @@ -26,7 +26,7 @@ | ... | @@ -26,7 +26,7 @@ |
| 26 | </lb-table> | 26 | </lb-table> |
| 27 | <lb-table | 27 | <lb-table |
| 28 | :key="menukey" | 28 | :key="menukey" |
| 29 | v-show="activeName == 'second'" | 29 | v-if="activeName == 'second'" |
| 30 | ref="multipleTable1" | 30 | ref="multipleTable1" |
| 31 | :pagination="false" | 31 | :pagination="false" |
| 32 | :column="menutableData.column" | 32 | :column="menutableData.column" |
| ... | @@ -55,14 +55,8 @@ | ... | @@ -55,14 +55,8 @@ |
| 55 | menutableData: { | 55 | menutableData: { |
| 56 | column: [ | 56 | column: [ |
| 57 | { | 57 | { |
| 58 | label: "序号", | ||
| 59 | type: "index", | ||
| 60 | width: "50", | ||
| 61 | // index: this.indexMethod, | ||
| 62 | }, | ||
| 63 | { | ||
| 64 | prop: "name", | 58 | prop: "name", |
| 65 | width: 330, | 59 | width: 830, |
| 66 | label: "菜单名称", | 60 | label: "菜单名称", |
| 67 | } | 61 | } |
| 68 | ].concat([ | 62 | ].concat([ | ... | ... |
| ... | @@ -15,9 +15,7 @@ | ... | @@ -15,9 +15,7 @@ |
| 15 | v-for="(item, index) in sexList" | 15 | v-for="(item, index) in sexList" |
| 16 | :key="index" | 16 | :key="index" |
| 17 | v-model="form.sex" | 17 | v-model="form.sex" |
| 18 | :label="item.value" | 18 | :label="item.value">{{ item.name }}</el-radio> |
| 19 | >{{ item.name }}</el-radio | ||
| 20 | > | ||
| 21 | </el-form-item> | 19 | </el-form-item> |
| 22 | </el-col> | 20 | </el-col> |
| 23 | <el-col :span="6"> | 21 | <el-col :span="6"> |
| ... | @@ -36,8 +34,7 @@ | ... | @@ -36,8 +34,7 @@ |
| 36 | <el-input | 34 | <el-input |
| 37 | v-model="form.loginName" | 35 | v-model="form.loginName" |
| 38 | :disabled="showLoginName" | 36 | :disabled="showLoginName" |
| 39 | placeholder="用户名" | 37 | placeholder="用户名" /> |
| 40 | /> | ||
| 41 | </el-form-item> | 38 | </el-form-item> |
| 42 | </el-col> | 39 | </el-col> |
| 43 | </el-row> | 40 | </el-row> |
| ... | @@ -51,12 +48,10 @@ | ... | @@ -51,12 +48,10 @@ |
| 51 | <el-form-item | 48 | <el-form-item |
| 52 | label="手机号码:" | 49 | label="手机号码:" |
| 53 | prop="mobilePhone" | 50 | prop="mobilePhone" |
| 54 | label-width="72px" | 51 | label-width="72px"> |
| 55 | > | ||
| 56 | <el-input | 52 | <el-input |
| 57 | v-model="form.mobilePhone" | 53 | v-model="form.mobilePhone" |
| 58 | placeholder="手机号码" | 54 | placeholder="手机号码" /> |
| 59 | /> | ||
| 60 | </el-form-item> | 55 | </el-form-item> |
| 61 | </el-col> | 56 | </el-col> |
| 62 | </el-row> | 57 | </el-row> |
| ... | @@ -65,14 +60,12 @@ | ... | @@ -65,14 +60,12 @@ |
| 65 | <el-form-item label="最高职务级别:" label-width="100px"> | 60 | <el-form-item label="最高职务级别:" label-width="100px"> |
| 66 | <el-select | 61 | <el-select |
| 67 | v-model="form.jobLevel" | 62 | v-model="form.jobLevel" |
| 68 | placeholder="最高职务级别" | 63 | placeholder="最高职务级别"> |
| 69 | > | ||
| 70 | <el-option | 64 | <el-option |
| 71 | v-for="item in levelList" | 65 | v-for="item in levelList" |
| 72 | :key="item.value" | 66 | :key="item.value" |
| 73 | :label="item.name" | 67 | :label="item.name" |
| 74 | :value="item.value" | 68 | :value="item.value" /> |
| 75 | /> | ||
| 76 | </el-select> | 69 | </el-select> |
| 77 | </el-form-item> | 70 | </el-form-item> |
| 78 | </el-col> | 71 | </el-col> |
| ... | @@ -87,8 +80,7 @@ | ... | @@ -87,8 +80,7 @@ |
| 87 | <el-form-item | 80 | <el-form-item |
| 88 | label="办公地点:" | 81 | label="办公地点:" |
| 89 | label-width="100px" | 82 | label-width="100px" |
| 90 | class="form-item-mb0" | 83 | class="form-item-mb0"> |
| 91 | > | ||
| 92 | <el-input v-model="form.address" placeholder="办公地点" /> | 84 | <el-input v-model="form.address" placeholder="办公地点" /> |
| 93 | </el-form-item> | 85 | </el-form-item> |
| 94 | </el-col> | 86 | </el-col> |
| ... | @@ -103,87 +95,87 @@ | ... | @@ -103,87 +95,87 @@ |
| 103 | </template> | 95 | </template> |
| 104 | 96 | ||
| 105 | <script> | 97 | <script> |
| 106 | import { api, httpAction } from '@/api/manageApi' | 98 | import { api, httpAction } from '@/api/manageApi' |
| 107 | import Dialog from "@/components/Dialog/"; | 99 | import Dialog from "@/components/Dialog/"; |
| 108 | export default { | 100 | export default { |
| 109 | name: "", | 101 | name: "", |
| 110 | components: { Dialog }, | 102 | components: { Dialog }, |
| 111 | props: {}, | 103 | props: {}, |
| 112 | data() { | 104 | data () { |
| 113 | return { | 105 | return { |
| 114 | form: { | 106 | form: { |
| 115 | sex: "0", | 107 | sex: "0", |
| 116 | }, | 108 | }, |
| 117 | rules: { | 109 | rules: { |
| 118 | name: [{ required: true, message: "请输入姓名", trigger: "blur" }], | 110 | name: [{ required: true, message: "请输入姓名", trigger: "blur" }], |
| 119 | code: [{ required: true, message: "请输入工号", trigger: "blur" }], | 111 | code: [{ required: true, message: "请输入工号", trigger: "blur" }], |
| 120 | mobilePhone: [{ validator: "sddd", trigger: "blur" }], | 112 | mobilePhone: [{ validator: "sddd", trigger: "blur" }], |
| 121 | loginName: [ | 113 | loginName: [ |
| 122 | { required: true, message: "请输入用户名", trigger: "blur" }, | 114 | { required: true, message: "请输入用户名", trigger: "blur" }, |
| 123 | ], | 115 | ], |
| 124 | }, | 116 | }, |
| 125 | title: "", | 117 | title: "", |
| 126 | visible: false, | 118 | visible: false, |
| 127 | showLoginName: false, | 119 | showLoginName: false, |
| 128 | sexList: [{lable:"0",value:"0",name:"男"},{lable:"1",value:"1",name:"女"}], | 120 | sexList: [{ lable: "0", value: "0", name: "男" }, { lable: "1", value: "1", name: "女" }], |
| 129 | levelList: [{lable:"0",value:"0",name:"干事"},{lable:"1",value:"1",name:"经理"}], | 121 | levelList: [{ lable: "0", value: "0", name: "干事" }, { lable: "1", value: "1", name: "经理" }], |
| 130 | dataUrl: api.users | 122 | dataUrl: api.users |
| 131 | }; | 123 | }; |
| 132 | }, | ||
| 133 | computed: { | ||
| 134 | departmentid() { | ||
| 135 | return this.$store.state.user.userInfo; | ||
| 136 | }, | ||
| 137 | }, | ||
| 138 | watch: {}, | ||
| 139 | created() {}, | ||
| 140 | mounted() {}, | ||
| 141 | methods: { | ||
| 142 | // initDictConfig() { | ||
| 143 | // getDictItems('XB').then((res) => { | ||
| 144 | // if (res.status === 1) { | ||
| 145 | // this.sexList = res.content | ||
| 146 | // } else { | ||
| 147 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 148 | // } | ||
| 149 | // }) | ||
| 150 | // getDictItems('ZWJB').then((res) => { | ||
| 151 | // if (res.status === 1) { | ||
| 152 | // this.levelList = res.content | ||
| 153 | // } else { | ||
| 154 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 155 | // } | ||
| 156 | // }) | ||
| 157 | // }, | ||
| 158 | // 添加人员 | ||
| 159 | add() { | ||
| 160 | this.visible = true; | ||
| 161 | // this.type = 0 | ||
| 162 | this.showLoginName = false | ||
| 163 | }, | 124 | }, |
| 164 | // 编辑 | 125 | computed: { |
| 165 | edit(record) { | 126 | departmentid () { |
| 166 | // this.initDictConfig() | 127 | return this.$store.state.user.userInfo; |
| 167 | this.showLoginName = true | 128 | }, |
| 168 | // 若有id为编辑 | ||
| 169 | if (record) { | ||
| 170 | this.$nextTick(() => { | ||
| 171 | this.form = Object.assign({}, record) | ||
| 172 | }) | ||
| 173 | } | ||
| 174 | this.visible = true | ||
| 175 | }, | ||
| 176 | handleChange(value) { | ||
| 177 | this.form.departmentId = value; | ||
| 178 | }, | 129 | }, |
| 179 | // 保存 | 130 | watch: {}, |
| 180 | submitForm(submitType) { | 131 | created () { }, |
| 132 | mounted () { }, | ||
| 133 | methods: { | ||
| 134 | // initDictConfig() { | ||
| 135 | // getDictItems('XB').then((res) => { | ||
| 136 | // if (res.status === 1) { | ||
| 137 | // this.sexList = res.content | ||
| 138 | // } else { | ||
| 139 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 140 | // } | ||
| 141 | // }) | ||
| 142 | // getDictItems('ZWJB').then((res) => { | ||
| 143 | // if (res.status === 1) { | ||
| 144 | // this.levelList = res.content | ||
| 145 | // } else { | ||
| 146 | // this.$message.error({ message: res.message, showClose: true }) | ||
| 147 | // } | ||
| 148 | // }) | ||
| 149 | // }, | ||
| 150 | // 添加人员 | ||
| 151 | adds () { | ||
| 152 | this.visible = true; | ||
| 153 | // this.type = 0 | ||
| 154 | this.showLoginName = false | ||
| 155 | }, | ||
| 156 | // 编辑 | ||
| 157 | edit (record) { | ||
| 158 | // this.initDictConfig() | ||
| 159 | this.showLoginName = true | ||
| 160 | // 若有id为编辑 | ||
| 161 | if (record) { | ||
| 162 | this.$nextTick(() => { | ||
| 163 | this.form = Object.assign({}, record) | ||
| 164 | }) | ||
| 165 | } | ||
| 166 | this.visible = true | ||
| 167 | }, | ||
| 168 | handleChange (value) { | ||
| 169 | this.form.departmentId = value; | ||
| 170 | }, | ||
| 171 | // 保存 | ||
| 172 | submitForm (submitType) { | ||
| 181 | this.$refs.form.validate((valid) => { | 173 | this.$refs.form.validate((valid) => { |
| 182 | if (valid) { | 174 | if (valid) { |
| 183 | let method = '' | 175 | let method = '' |
| 184 | let url = '' | 176 | let url = '' |
| 185 | this.form.organizationId=this.departmentid.organizationId; | 177 | this.form.organizationId = this.departmentid.organizationId; |
| 186 | this.form.departmentId=this.departmentid.departmentId; | 178 | this.form.departmentId = this.departmentid.departmentId; |
| 187 | const formData = this.form | 179 | const formData = this.form |
| 188 | if (!formData.id) { | 180 | if (!formData.id) { |
| 189 | method = 'post' | 181 | method = 'post' |
| ... | @@ -197,11 +189,11 @@ export default { | ... | @@ -197,11 +189,11 @@ export default { |
| 197 | if (res.status === 1) { | 189 | if (res.status === 1) { |
| 198 | this.$message.success({ message: res.message, showClose: true }) | 190 | this.$message.success({ message: res.message, showClose: true }) |
| 199 | 191 | ||
| 200 | this.resetForm() | 192 | this.resetForm() |
| 201 | 193 | ||
| 202 | this.close() | 194 | this.close() |
| 203 | 195 | ||
| 204 | this.$emit('ok') | 196 | this.$emit('ok') |
| 205 | } else { | 197 | } else { |
| 206 | this.$message.error({ message: res.message, showClose: true }) | 198 | this.$message.error({ message: res.message, showClose: true }) |
| 207 | } | 199 | } |
| ... | @@ -212,30 +204,30 @@ export default { | ... | @@ -212,30 +204,30 @@ export default { |
| 212 | } | 204 | } |
| 213 | }) | 205 | }) |
| 214 | }, | 206 | }, |
| 215 | resetForm() { | 207 | resetForm () { |
| 216 | this.form = { | 208 | this.form = { |
| 217 | sex: '0' | 209 | sex: '0' |
| 210 | } | ||
| 211 | this.$refs.form.resetFields() | ||
| 212 | }, | ||
| 213 | close () { | ||
| 214 | this.resetForm() | ||
| 215 | this.visible = false | ||
| 218 | } | 216 | } |
| 219 | this.$refs.form.resetFields() | ||
| 220 | }, | 217 | }, |
| 221 | close() { | 218 | }; |
| 222 | this.resetForm() | ||
| 223 | this.visible = false | ||
| 224 | } | ||
| 225 | }, | ||
| 226 | }; | ||
| 227 | </script> | 219 | </script> |
| 228 | <style scoped lang="scss"> | 220 | <style scoped lang="scss"> |
| 229 | /deep/.el-input__inner { | 221 | /deep/.el-input__inner { |
| 230 | background: #07388B; | 222 | background: #07388b; |
| 231 | border-radius: 2px; | 223 | border-radius: 2px; |
| 232 | border: 1px solid #6BC1FC; | 224 | border: 1px solid #6bc1fc; |
| 233 | } | 225 | } |
| 234 | /deep/.el-textarea__inner{ | 226 | /deep/.el-textarea__inner { |
| 235 | background: #07388B; | 227 | background: #07388b; |
| 236 | color: #fff; | 228 | color: #fff; |
| 237 | } | 229 | } |
| 238 | /deep/.el-form-item__label{ | 230 | /deep/.el-form-item__label { |
| 239 | color:#fff; | 231 | color: #fff; |
| 240 | } | 232 | } |
| 241 | </style> | 233 | </style> | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment