From 356f54467f525f437f41271fb62f6be66f2ab1e5 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 18 十二月 2023 17:36:11 +0800 Subject: [PATCH] 1. 调整飞羽环境用户信息的编辑 --- src/api/fytz/userApi.js | 25 +- src/api/fysp/problemApi.js | 2 src/views/fytz/user/components/CompUserInfo.vue | 124 ++++++++------ src/api/fytz/noticeApi.js | 32 +-- src/composables/formConfirm.js | 36 ++- src/views/fytz/user/UserInfo.vue | 46 ++--- src/api/fysp/userApi.js | 12 src/components/form/FYForm.vue | 16 + src/api/fysp/evaluateApi.js | 2 src/components/search-option/FYOptionLocation.vue | 33 ++-- src/components/search-option/FYOptionUserType.vue | 3 src/api/index.js | 21 +- src/api/fysp/sceneApi.js | 34 +-- src/composables/messageBox.js | 2 src/api/fysp/taskApi.js | 30 +-- src/views/fytz/user/components/CompUserInfoAddDrawer.vue | 7 src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue | 3 src/components/search-option/FYOptionScene.vue | 3 18 files changed, 223 insertions(+), 208 deletions(-) diff --git a/src/api/fysp/evaluateApi.js b/src/api/fysp/evaluateApi.js index 5a54955..7e61e1f 100644 --- a/src/api/fysp/evaluateApi.js +++ b/src/api/fysp/evaluateApi.js @@ -6,6 +6,6 @@ * 鑾峰彇鑷姩璇勪及鍘嗗彶璁板綍 */ fetchAutoEvaluation(param){ - return $fysp.post(`evaluation/auto/record`, param).then((res) => res.data); + return $fysp.post(`evaluation/auto/record`, param); } }; diff --git a/src/api/fysp/problemApi.js b/src/api/fysp/problemApi.js index 5bb2b72..ce2ba9b 100644 --- a/src/api/fysp/problemApi.js +++ b/src/api/fysp/problemApi.js @@ -10,6 +10,6 @@ */ checkProblem({ pId, action, remark = '', userId = id, userName = name }) { const params = `?pId=${pId}&action=${action}&remark=${remark}&userId=${userId}&userName=${userName}`; - return $fysp.post(`problemlist/check${params}`).then((res) => res.data); + return $fysp.post(`problemlist/check${params}`); }, }; diff --git a/src/api/fysp/sceneApi.js b/src/api/fysp/sceneApi.js index d17004d..be95402 100644 --- a/src/api/fysp/sceneApi.js +++ b/src/api/fysp/sceneApi.js @@ -7,7 +7,7 @@ */ searchScene(area, page = 1, perPage = 20) { const params = `page=${page}&per_page=${perPage}`; - return $fysp.post(`scense/find?${params}`, area).then((res) => res.data); + return $fysp.post(`scense/find?${params}`, area); }, /** @@ -16,13 +16,11 @@ * @returns 鍦烘櫙璇︽儏 */ getSceneDetail(sId) { - return $fysp - .get(`scense/detail`, { - params: { - sceneId: sId, - }, - }) - .then((res) => res.data); + return $fysp.get(`scense/detail`, { + params: { + sceneId: sId + } + }); }, /** @@ -33,29 +31,23 @@ const rb = { scense: scene ? scene : null, subScene: subScene ? JSON.stringify(subScene) : null, - sceneDevice: sceneDevice ? sceneDevice : null, + sceneDevice: sceneDevice ? sceneDevice : null }; - return $fysp - .post(`scense/detail/update?${params}`, rb) - .then((res) => res.data); + return $fysp.post(`scense/detail/update?${params}`, rb); }, /** * 鏇存柊鍦烘櫙棰濆淇℃伅 */ updateSubScene(typeId, subScene) { - return this.updateSceneDetail(typeId, { subScene: subScene }).then( - (res) => res.data - ); + return this.updateSceneDetail(typeId, { subScene: subScene }); }, /** * 鏇存柊鍦烘櫙璁惧淇℃伅 */ updateSceneDevice(typeId, sceneDevice) { - return this.updateSceneDetail(typeId, { sceneDevice: sceneDevice }).then( - (res) => res.data - ); + return this.updateSceneDetail(typeId, { sceneDevice: sceneDevice }); }, /** @@ -63,7 +55,7 @@ * @param {Object} scene */ createScene(scene) { - return $fysp.put('scense', scene).then((res) => res.data); + return $fysp.put('scense', scene); }, /** @@ -71,6 +63,6 @@ * @param {Object} scene */ updateScene(scene) { - return $fysp.post('scense', scene).then((res) => res.data); - }, + return $fysp.post('scense', scene); + } }; diff --git a/src/api/fysp/taskApi.js b/src/api/fysp/taskApi.js index 787e520..1d6a3d8 100644 --- a/src/api/fysp/taskApi.js +++ b/src/api/fysp/taskApi.js @@ -5,33 +5,29 @@ * 鑾峰彇椤跺眰浠诲姟 */ getTopTask() { - return $fysp.get('task/alltask/0').then((res) => res.data); + return $fysp.get('task/alltask/0'); }, /** * 鑾峰彇瀛愪换鍔$粺璁′俊鎭� */ getSubtaskSummary({ topTaskId = undefined, sceneTypeId = undefined }) { - return $fysp - .get('subtask/summary', { - params: { - topTaskId: topTaskId, - sceneTypeId: sceneTypeId, - }, - }) - .then((res) => res.data); + return $fysp.get('subtask/summary', { + params: { + topTaskId: topTaskId, + sceneTypeId: sceneTypeId + } + }); }, /** * 鑾峰彇瀛愪换鍔¢棶棰樿鎯� */ getProBySubtask(id) { - return $fysp - .get('problemlist/subtask', { - params: { - stGuid: id, - }, - }) - .then((res) => res.data); - }, + return $fysp.get('problemlist/subtask', { + params: { + stGuid: id + } + }); + } }; diff --git a/src/api/fysp/userApi.js b/src/api/fysp/userApi.js index 838d799..758b4c2 100644 --- a/src/api/fysp/userApi.js +++ b/src/api/fysp/userApi.js @@ -5,29 +5,27 @@ * 鑾峰彇鐢ㄦ埛璇︽儏 */ getUserById(id) { - return $fysp.get(`userinfo/${id}`).then((res) => res.data); + return $fysp.get(`userinfo/${id}`); }, /** * 鏇存柊鐢ㄦ埛璇︽儏 */ updateUser(user) { - return $fysp.post(`userinfo`, user).then((res) => res.data); + return $fysp.post(`userinfo`, user); }, /** * 鑾峰彇鍦烘櫙鐨勭敤鎴疯鎯� */ getUserByScene(sId) { - return $fysp - .get(`userinfo/scene/get?sceneId=${sId}`) - .then((res) => res.data); + return $fysp.get(`userinfo/scene/get?sceneId=${sId}`); }, /** * 鑷姩鍒涘缓璐︽埛 */ autoCreateAccount(sId) { - return $fysp.post(`userinfo/create?sceneId=${sId}`).then((res) => res.data); - }, + return $fysp.post(`userinfo/create?sceneId=${sId}`); + } }; diff --git a/src/api/fytz/noticeApi.js b/src/api/fytz/noticeApi.js index 175bd98..1a341d7 100644 --- a/src/api/fytz/noticeApi.js +++ b/src/api/fytz/noticeApi.js @@ -9,27 +9,23 @@ */ getNoticeHistory({ type, subtype = null, page = 1, perPage = 20 }) { const params = `userId=${id}&page=${page}&per_page=${perPage}`; - return $fytz - .post(`notifications/history?${params}`, { - ecNoticetype: type, - ecNoticesubtype: subtype, - }) - .then((res) => res.data); + return $fytz.post(`notifications/history?${params}`, { + ecNoticetype: type, + ecNoticesubtype: subtype + }); }, /** * 鑾峰彇鐢ㄦ埛鏈閫氱煡 */ getNotification() { - return $fytz - .get('notifications', { - params: { - userId: id, - page: 1, - per_page: 30, - }, - }) - .then((res) => res.data); + return $fytz.get('notifications', { + params: { + userId: id, + page: 1, + per_page: 30 + } + }); }, /** @@ -66,8 +62,6 @@ releaseNotice(notice) { notice.authorId = id; notice.authorName = name; - return $fytz - .post(`notifications/${id}/release2`, notice) - .then((res) => res.data); - }, + return $fytz.post(`notifications/${id}/release2`, notice); + } }; diff --git a/src/api/fytz/userApi.js b/src/api/fytz/userApi.js index bc326d3..8a252c0 100644 --- a/src/api/fytz/userApi.js +++ b/src/api/fytz/userApi.js @@ -11,7 +11,7 @@ */ fetchUser(page = 1, per_page = 20, data) { const params = `page=${page}&per_page=${per_page}`; - return $fytz.post(`baseInfo/search/?${params}`, data).then((res) => res.data); + return $fytz.post(`baseInfo/search/?${params}`, data); }, /** @@ -20,26 +20,31 @@ * @returns */ fetchUserBaseInfo(userId) { - return $fytz - .get(`userInfo/baseInfo?userId=${userId}`) - .then((res) => res.data); + return $fytz.get(`userInfo/baseInfo?userId=${userId}`); }, /** * 鏇存柊鐢ㄦ埛璐︽埛淇℃伅 - * @param {*} data - * @returns + * @param {*} data + * @returns */ updateUserInfo(data) { - return $fytz.post('userInfo', data).then((res) => res.data); + return $fytz.post('userInfo', data); }, /** * 鏂板鐢ㄦ埛 - * @param {*} data - * @returns + * @param {*} data + * @returns */ createUser(data) { - return $fytz.put('userInfo', data).then((res) => res.data); + return $fytz.put('userInfo/create', data); + }, + + /** + * 閲嶇疆鐢ㄦ埛瀵嗙爜 + */ + resetPassword(id) { + return $fytz.post(`userInfo/resetPw?userId=${id}`); } }; diff --git a/src/api/index.js b/src/api/index.js index 1d6e329..cbff2ca 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -20,7 +20,7 @@ //椋炵窘鐩戠 const $fysp = axios.create({ baseURL: ip1, - timeout: 10000, + timeout: 10000 }); $fysp.imgUrl = `${ip1_file}images/`; $fysp.downloadUrl = `${ip1_file}files/`; @@ -28,7 +28,7 @@ //椋炵窘鐜 const $fytz = axios.create({ baseURL: ip2, - timeout: 10000, + timeout: 10000 }); $fytz.imgUrl = `${ip2_file}images/`; @@ -51,7 +51,7 @@ console.log(error); ElMessage({ message: error, - type: 'error', + type: 'error' }); return Promise.reject(error); } @@ -65,17 +65,18 @@ console.log(response); console.log('==>璇锋眰缁撴潫'); if (response.status == 200) { - if ( - response.data.success != undefined && - response.data.success != null - ) { + if (response.data.success != undefined && response.data.success != null) { if (response.data.success == true) { - return response; + return response.data; } else { + ElMessage({ + message: response.data.message, + type: 'error' + }); return Promise.reject(response.data.message); } } else { - return response; + return response.data; } } else { return Promise.reject(response); @@ -88,7 +89,7 @@ console.log('==>璇锋眰缁撴潫'); ElMessage({ message: error, - type: 'error', + type: 'error' }); return Promise.reject(error); } diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue index c4919dd..42cf198 100644 --- a/src/components/form/FYForm.vue +++ b/src/components/form/FYForm.vue @@ -12,8 +12,8 @@ <el-button :disabled="!edit" type="primary" @click="onSubmit" :loading="loading" >鎻愪氦</el-button > - <el-button :disabled="!edit" @click="onReset">閲嶇疆</el-button> - <el-button v-if="enableCancelBtn" @click="onCancel">鍙栨秷</el-button> + <el-button v-if="useReset" :disabled="!edit" @click="onReset">閲嶇疆</el-button> + <el-button v-if="useCancel" @click="onCancel">鍙栨秷</el-button> </el-form-item> </el-form> </template> @@ -39,7 +39,9 @@ default: true }, //鍙栨秷鎸夐挳鏄惁鍙敤 - enableCancelBtn: Boolean, + useCancel: Boolean, + //閲嶇疆鎸夐挳鏄惁鍙敤 + useReset: Boolean, //瑙﹀彂閲嶇疆 reset: Boolean, //閫氱煡缂栬緫鐘舵�� @@ -50,7 +52,7 @@ const emit = defineEmits(['submit', 'cancel', 'update:isEdit']); //琛ㄥ崟鎿嶄綔鍑芥暟 -const { formObj, formRef, edit, onSubmit, onCancel, onReset } = useFormConfirm({ +const { formObj, formRef, edit, onSubmit, onCancel, onReset, formProps } = useFormConfirm({ submit: { do: submit }, @@ -69,6 +71,9 @@ emit('submit', formObj, () => { loading.value = false; resolve(); + },(err)=>{ + loading.value = false; + reject(err); }); }); } @@ -83,7 +88,8 @@ () => props.formInfo, (nValue) => { formObj.value = nValue; - } + }, + { deep: false, immediate: false } ); //鐩戝惉琛ㄥ崟閲嶇疆鍔熻兘瑙﹀彂 diff --git a/src/components/search-option/FYOptionLocation.vue b/src/components/search-option/FYOptionLocation.vue index 34c47c0..ea6c3d4 100644 --- a/src/components/search-option/FYOptionLocation.vue +++ b/src/components/search-option/FYOptionLocation.vue @@ -1,5 +1,5 @@ <template> - <el-form-item :label="placeholder"> + <el-form-item :label="placeholder" :prop="prop"> <el-cascader v-model="selectedOptions" :options="locations" @@ -39,7 +39,8 @@ checkStrictly: { type: Boolean, default: true - } + }, + prop: String }, emits: ['update:value'], data() { @@ -81,9 +82,7 @@ return } if (nVal != oVal) { - if (nVal || nVal.length > 0) { - this.selectedOptions = this.optionFormatReverse(nVal) - } + this.selectedOptions = this.optionFormatReverse(nVal) } }, deep: true, @@ -125,17 +124,19 @@ }, optionFormatReverse(val) { const res = [] - if (val.pCode) { - res.push([val.pCode, val.pName]) - } - if (val.cCode) { - res.push([val.cCode, val.cName]) - } - if (val.dCode) { - res.push([val.dCode, val.dName]) - } - if (val.tCode) { - res.push([val.tCode, val.tName]) + if (val) { + if (val.pCode) { + res.push([val.pCode, val.pName]) + } + if (val.cCode) { + res.push([val.cCode, val.cName]) + } + if (val.dCode) { + res.push([val.dCode, val.dName]) + } + if (val.tCode) { + res.push([val.tCode, val.tName]) + } } return res } diff --git a/src/components/search-option/FYOptionScene.vue b/src/components/search-option/FYOptionScene.vue index 437b2b3..b02aff2 100644 --- a/src/components/search-option/FYOptionScene.vue +++ b/src/components/search-option/FYOptionScene.vue @@ -1,5 +1,5 @@ <template> - <el-form-item label="鍦烘櫙绫诲瀷"> + <el-form-item label="鍦烘櫙绫诲瀷" :prop="prop"> <el-select v-model="selectedOptions" placeholder="鍦烘櫙绫诲瀷" @@ -37,6 +37,7 @@ type: Boolean, default: true, }, + prop: String }, emits: ['update:value'], data() { diff --git a/src/components/search-option/FYOptionUserType.vue b/src/components/search-option/FYOptionUserType.vue index bda5045..f127187 100644 --- a/src/components/search-option/FYOptionUserType.vue +++ b/src/components/search-option/FYOptionUserType.vue @@ -1,5 +1,5 @@ <template> - <el-form-item label="鐢ㄦ埛绫诲瀷"> + <el-form-item label="鐢ㄦ埛绫诲瀷" :prop="prop"> <el-select v-model="selectedOptions" placeholder="鐢ㄦ埛绫诲瀷" @@ -32,6 +32,7 @@ type: Boolean, default: true, }, + prop: String }, emits: ['update:value'], data() { diff --git a/src/composables/formConfirm.js b/src/composables/formConfirm.js index 3b4d80c..d568fe0 100644 --- a/src/composables/formConfirm.js +++ b/src/composables/formConfirm.js @@ -1,4 +1,4 @@ -import { onActivated, onDeactivated, ref, watch } from 'vue'; +import { defineProps, onActivated, onDeactivated, ref, watch } from 'vue'; import { useCloned } from '@vueuse/core'; import { useMessageBoxTip, useMessageBox } from './messageBox'; @@ -6,19 +6,24 @@ export function useFormConfirm({ defaultForm = undefined, submit = { - do: () => {}, + do: () => {} }, cancel = { - do: () => {}, + do: () => {} }, reset = { - do: () => {}, - }, + do: () => {} + } }) { if (!submit.title) submit.title = '鎻愪氦'; if (!submit.msg) submit.msg = '纭鏄惁鎻愪氦锛�'; if (!cancel.title) cancel.title = '鍙栨秷'; if (!cancel.msg) cancel.msg = '鏄惁鏀惧純宸茬紪杈戠殑鍐呭锛�'; + + const formProps = defineProps({ + // 鏄惁鍦ㄦ彁浜ゆ垚鍔熷悗娓呯┖琛ㄥ崟 + clearAftSubmit: Boolean + }); //琛ㄥ崟鍐呭 const formObj = ref(defaultForm ? defaultForm : {}); @@ -67,20 +72,21 @@ edit.value = false; isReset = true; formObj.value = useCloned(formObjClone.cloned, { - manual: true, + manual: true }).cloned.value; formRef.value.clearValidate(); }; // 娓呯┖琛ㄥ崟 const clear = function () { - edit.value = false; isReset = true; - formRef.value.resetFields(); + // formRef.value.resetFields(); + edit.value = false; }; // 鎻愪氦鎴愬姛鍚� const submited = function () { + if (formProps.clearAftSubmit) clear(); edit.value = false; formObjClone = useCloned(formObj, { manual: true }); }; @@ -93,10 +99,10 @@ confirmMsg: submit.msg, confirmTitle: submit.title, onConfirm: async () => { - await submit.do(); + const res = await submit.do(); submited(); - return; - }, + return res; + } }); } }); @@ -110,9 +116,9 @@ confirmMsg: cancel.msg, confirmTitle: cancel.title, onConfirm: () => { - clear(); + // clear(); return cancel.do(); - }, + } }); } else { cancel.do(); @@ -130,7 +136,7 @@ onConfirm: () => { _reset(); return reset.do(); - }, + } }); } else { _reset(); @@ -141,5 +147,5 @@ } }; - return { formObj, formRef, edit, onSubmit, onCancel, onReset }; + return { formProps, formObj, formRef, edit, onSubmit, onCancel, onReset }; } diff --git a/src/composables/messageBox.js b/src/composables/messageBox.js index d896244..8606bd6 100644 --- a/src/composables/messageBox.js +++ b/src/composables/messageBox.js @@ -15,7 +15,7 @@ let msg = `宸�${doneMsg}` if (typeof onConfirm === 'function') { const str = await onConfirm(); - if (str && str != '') { + if (typeof str === 'string' && str != '') { msg = `宸�${doneMsg}, ${str}` } } diff --git a/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue b/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue index 5c848a2..4695690 100644 --- a/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue +++ b/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue @@ -3,6 +3,7 @@ <FYForm :form-info="_formInfo" :rules="rules" + :useReset="true" @submit="submit" @cancel="cancel" > @@ -105,7 +106,7 @@ const emit = defineEmits(['onSubmit', 'onCancel']); -const _formInfo = ref(); +const _formInfo = ref({}); const sceneTypes = reactive(enumScene(2, false)); const locations = reactive(enumLocation(false)); const cascaderProps = reactive({ diff --git a/src/views/fytz/user/UserInfo.vue b/src/views/fytz/user/UserInfo.vue index 2d9bcd2..ac17524 100644 --- a/src/views/fytz/user/UserInfo.vue +++ b/src/views/fytz/user/UserInfo.vue @@ -6,7 +6,11 @@ :level="4" v-model:value="formSearch._locations" ></FYOptionLocation> - <FYOptionText label="鍏抽敭瀛�" placeholder="杈撳叆鍚嶇О鍏抽敭瀛�" v-model:value="formSearch.searchText"></FYOptionText> + <FYOptionText + label="鍏抽敭瀛�" + placeholder="杈撳叆鍚嶇О鍏抽敭瀛�" + v-model:value="formSearch.searchText" + ></FYOptionText> <FYOptionScene :allOption="true" :type="1" @@ -19,13 +23,7 @@ </template> <template #table-column> - <el-table-column - type="index" - fixed="left" - prop="userInfo.realname" - label="鍚嶇О" - width="400" - > + <el-table-column type="index" fixed="left" prop="userInfo.realname" label="鍚嶇О" width="400"> <template #default="scope"> <el-tooltip effect="dark" @@ -45,7 +43,7 @@ <el-table-column prop="userInfo.extension1" label="鍖哄幙" width="90" /> <el-table-column prop="biTownName" label="琛楅亾" width="110" /> <el-table-column prop="biArea" label="闆嗕腑鍖�" width="110" /> - <el-table-column prop="biManagementCompany" label="鐗╀笟" min-width="110"/> + <el-table-column prop="biManagementCompany" label="鐗╀笟" min-width="110" /> <el-table-column prop="userInfo.isenable" label="鐘舵��" width="90"> <template #default="scope"> {{ scope.row.userInfo.isenable ? '涓婄嚎涓�' : '宸蹭笅绾�' }} @@ -54,11 +52,7 @@ <el-table-column prop="userInfo.usertype" label="鐢ㄦ埛绫诲瀷" width="90" /> <el-table-column fixed="right" align="right" label="鎿嶄綔" width="160"> <template #header> - <el-button - icon="DocumentAdd" - size="default" - type="success" - @click="drawer = true" + <el-button icon="DocumentAdd" size="default" type="success" @click="drawer = true" >鏂板鐢ㄦ埛</el-button > </template> @@ -93,7 +87,7 @@ export default { components: { - CompUserInfoAddDrawer, + CompUserInfoAddDrawer }, data() { return { @@ -101,26 +95,26 @@ _locations: {}, searchText: '', scensetype: {}, - online: {}, + online: {} }, - drawer: false, + drawer: false }; }, computed: { - ...mapStores(useLoadingStore), + ...mapStores(useLoadingStore) }, methods: { onSearch(page, func) { const f = this.formSearch; const area = {}; // 琛屾斂鍖哄垝 - area.provinceCode = f._locations.pCode ? f._locations.pCode + '0000' : undefined + area.provinceCode = f._locations.pCode; area.provinceName = f._locations.pName; if (area.provinceCode == null) { area.provinceCode = null; area.provinceName = null; } - area.cityCode = f._locations.cCode ? f._locations.cCode.substring(0, 3) + '100' : undefined + area.cityCode = f._locations.cCode; area.cityName = f._locations.cName; area.districtCode = f._locations.dCode; area.districtName = f._locations.dName; @@ -140,7 +134,7 @@ if (res) { func({ data: res.data, - total: res.head.totalCount, + total: res.head.totalCount }); } }); @@ -154,12 +148,12 @@ const param = { guid: scope.row.userInfo.guid, isenable: !scope.row.userInfo.isenable - } + }; const msg = scope.row.userInfo.isenable ? '涓嬬嚎' : '涓婄嚎'; useMessageBoxTip({ confirmMsg: `纭${msg}璇ュ満鏅紵`, confirmTitle: msg, - onConfirm: () => { + onConfirm: async () => { scope.row.loading2 = true; return userApi .updateUserInfo(param) @@ -171,13 +165,13 @@ .finally(() => { scope.row.loading2 = false; }); - }, + } }); }, tableRowClassName({ row }) { return row.userInfo.isenable ? 'online-row' : 'offline-row'; - }, - }, + } + } }; </script> <style></style> diff --git a/src/views/fytz/user/components/CompUserInfo.vue b/src/views/fytz/user/components/CompUserInfo.vue index 1270998..e477f47 100644 --- a/src/views/fytz/user/components/CompUserInfo.vue +++ b/src/views/fytz/user/components/CompUserInfo.vue @@ -3,6 +3,9 @@ :form-info="_formInfo" :rules="rules" :reset="active" + :useCancel="create" + :useReset="!create" + :clearAftSubmit="create" v-model:is-edit="_edit" @submit="submit" @cancel="cancel" @@ -38,6 +41,7 @@ </el-col> </el-form-item> <FYOptionUserType + prop="_usertype" :allOption="false" :initValue="false" v-model:value="formObj._usertype" @@ -60,17 +64,17 @@ <el-form-item label="鎵嬫満" prop="telephone"> <el-input clearable type="tel" v-model="formObj.telephone" placeholder="鎵嬫満" /> </el-form-item> - <!-- <el-form-item label="鐪�/甯�/鍖�/闀�" prop="_locations"> - <el-cascader - v-model="formObj._locations" - :options="locations" - placeholder="鐪�/甯�/鍖�/闀�" - :props="locationsProps" - style="width: 280px" - :disabled="!create" - /> - </el-form-item> --> + <FYOptionLocation + v-if="create" + prop="_locations" + :allOption="false" + :level="4" + :checkStrictly="false" + :initValue="false" + v-model:value="formObj._locations" + ></FYOptionLocation> <FYOptionScene + prop="_scenetype" :allOption="false" :type="1" :initValue="false" @@ -103,13 +107,8 @@ const emit = defineEmits(['onSubmit', 'onCancel', 'update:isEdit']); -const _formInfo = ref(); -const _formObject = { value: {} }; +const _formInfo = ref({ isenable: true }); const _edit = ref(false); -const locations = enumLocation(false); -const locationsProps = reactive({ - checkStrictly: true -}); const rules = reactive({ acountname: [ { @@ -170,6 +169,16 @@ } function parseUserInfoReverse(formObj) { + // 琛屾斂鍖哄垝淇℃伅濉厖 + const a = formObj.value._locations; + formObj.value.provincecode = a.pCode; + formObj.value.provincename = a.pName; + formObj.value.citycode = a.cCode; + formObj.value.cityname = a.cName; + formObj.value.districtcode = a.dCode; + formObj.value.extension1 = a.dName; + formObj.value.towncode = a.tCode; + formObj.value.townname = a.tName; // 鐢ㄦ埛绫诲瀷淇℃伅濉厖 const b = formObj.value._usertype; formObj.value.usertypeid = b.value; @@ -182,53 +191,54 @@ return formObj; } -function createUser(formObj, func) { +function createUser(formObj, success, fail) { + const params = { + userInfo: formObj.value, + baseInfo: { + biProvinceCode: formObj.value.provincecode, + biProvinceName: formObj.value.provincename, + biCityCode: formObj.value.citycode, + biCityName: formObj.value.cityname, + biDistrictCode: formObj.value.districtcode, + biDistrictName: formObj.value.extension1, + biTownCode: formObj.value.towncode, + biTownName: formObj.value.townname + // biAreaCode + // biArea + // biManagementCompanyId + // biManagementCompany + // biContact + // biTelephone + // biAddress + } + }; return userApi - .createUser(formObj.value) + .createUser(params) .then(() => { - emit('onSubmit', formObj); + emit('onSubmit', params); + success(); }) - .finally(() => { - _formObject.value = formObj.value; - func(); + .catch((err) => { + fail(err); }); } -function updateUser(formObj, func) { +function updateUser(formObj, success, fail) { return userApi .updateUserInfo(formObj.value) .then(() => { emit('onSubmit', formObj); + if (success) success(); }) - .finally(() => { - _formObject.value = formObj.value; - if (func) func(); + .catch((err) => { + if (fail) fail(err); }); } -function submit(formObj, func) { - // 琛屾斂鍖哄垝淇℃伅濉厖 - // const a = formObj.value._locations; - // if (a[0]) { - // formObj.value.provincecode = a[0][0]; - // formObj.value.provincename = a[0][1]; - // } - // if (a[1]) { - // formObj.value.citycode = a[1][0]; - // formObj.value.cityname = a[1][1]; - // } - // if (a[2]) { - // formObj.value.districtcode = a[2][0]; - // formObj.value.extension1 = a[2][1]; - // } - // if (a[3]) { - // formObj.value.towncode = a[3][0]; - // formObj.value.townname = a[3][1]; - // } - +function submit(formObj, success, fail) { parseUserInfoReverse(formObj); - return props.create ? createUser(formObj, func) : updateUser(formObj, func); + return props.create ? createUser(formObj, success, fail) : updateUser(formObj, success, fail); } function cancel() { @@ -239,14 +249,22 @@ () => props.formInfo, (nValue) => { _formInfo.value = parseUserInfo(nValue); - _formObject.value = _formInfo.value; } ); + +// watch( +// () => props.create, +// (nValue) => { +// if (nValue) { + +// } +// }, +// {immediate:true} +// ); watch(_edit, (nValue) => { emit('update:isEdit', nValue); }); - // 閲嶇疆瀵嗙爜 @@ -257,10 +275,10 @@ confirmMsg: '鏄惁閲嶇疆璇ュ満鏅瘑鐮侊紵', confirmTitle: '閲嶇疆瀵嗙爜', onConfirm: async () => { - pwLoading.value = true - _formObject.value.password = '123456'; - await updateUser(_formObject); - pwLoading.value = false + pwLoading.value = true; + return userApi.resetPassword(props.formInfo.guid).finally(() => { + pwLoading.value = false; + }); } }); } diff --git a/src/views/fytz/user/components/CompUserInfoAddDrawer.vue b/src/views/fytz/user/components/CompUserInfoAddDrawer.vue index cbd243a..fc0f3d1 100644 --- a/src/views/fytz/user/components/CompUserInfoAddDrawer.vue +++ b/src/views/fytz/user/components/CompUserInfoAddDrawer.vue @@ -58,9 +58,10 @@ } }, onDrawerCancel() { - this.onDrawerClose(() => { - this.drawer_ = false; - }); + // this.onDrawerClose(() => { + // this.drawer_ = false; + // }); + this.drawer_ = false; }, }, }; -- Gitblit v1.9.3