From 15315b1772036eb5168792aac0121f6e9005b11e Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 08 一月 2024 10:16:26 +0800 Subject: [PATCH] Default Changelist --- src/views/system/personShiftManage/scheduleManage/schedule/index.vue | 65 ++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 28 deletions(-) diff --git a/src/views/system/personShiftManage/scheduleManage/schedule/index.vue b/src/views/system/personShiftManage/scheduleManage/schedule/index.vue index affe01d..1c49a53 100644 --- a/src/views/system/personShiftManage/scheduleManage/schedule/index.vue +++ b/src/views/system/personShiftManage/scheduleManage/schedule/index.vue @@ -60,11 +60,11 @@ <el-form-item label="班组名称" prop="groupName"> <el-input v-model="addRecord.groupName"> </el-input> </el-form-item> - <el-form-item label="选择部门" prop="department"> - <el-cascader v-model="addRecord.department" :options="departmentList" :props="casProps" :show-all-levels="false" @change="handleChange" /> + <el-form-item label="选择部门" prop="depId"> + <el-cascader v-model="addRecord.depId" :options="departmentList" :props="casProps" :show-all-levels="false" @change="handleChange" /> </el-form-item> - <el-form-item label="选择人员" prop="groupMembers" v-if="addRecord.department !== ''"> - <el-select v-model="addRecord.groupMembers" multiple> + <el-form-item label="选择人员" prop="groupMemberIds" v-if="addRecord.depId"> + <el-select v-model="addRecord.groupMemberIds" multiple> <el-option v-for="(item, index) in workerList" :label="item.username" :key="index" :value="item.uid">{{ item.username }}</el-option> </el-select> </el-form-item> @@ -129,9 +129,9 @@ totalSize: number; addRecord: { groupName: string; - department: number | null; depId: number | null; - groupMembers: Array<any>; + groupId: number | null; + groupMemberIds: Array<any>; groupInfo: string; }; details: { @@ -139,6 +139,7 @@ department: number | null; groupMembers: Array<any>; groupInfo: string; + depId: number | null; }; } @@ -157,7 +158,6 @@ searchWord: '', tableData: [], departmentList: [], - department: '', workerList: [], casProps: { expandTrigger: 'hover', @@ -171,11 +171,11 @@ deleteDialog: false, deleteSetDialog: false, addRecord: { - groupName: '', - department: null, - groupMembers: [], depId: null, - groupInfo: '' + groupId: null, + groupInfo: '', + groupName: '', + groupMemberIds: [], }, details: { groupName: '', @@ -267,7 +267,6 @@ const handleChange = async (value) => { state.addRecord.depId = value; - console.log(state.addRecord.department, 'de'); let res = await teamManageApi().getAllMember(value); if (res.data.code === '200') { state.workerList = res.data.data; @@ -315,13 +314,23 @@ // 修改工作时段方法 const editRecordBtn = async (index, row) => { - state.addRecord = JSON.parse(JSON.stringify(row)); - state.addRecord.department = ''; - state.addRecord.groupMembers = []; - state.dialogAddRecord = true; - state.chosenIndex = index; - }; - + const obj = JSON.parse(JSON.stringify(row)); + for(let i in state.addRecord){ + if(isKey(i,obj)){ + state.addRecord[i] = obj[i] + } + } + handleChange(obj.depId).then((res)=>{ + state.addRecord.groupMemberIds = obj.groupMembers.map((item)=> { + return state.workerList.find(i => i.username == item)?.uid + }) + state.dialogAddRecord = true; + state.chosenIndex = index; + }) + } + const isKey = (key,obj)=>{ + return key in obj + } const editRecord = async (data: any) => { let res = await teamManageApi().updateRecord(data); if (res.data.code === '200') { @@ -343,17 +352,11 @@ if (!formEl) return; await formEl.validate(async (valid, fields) => { if (valid) { - const data = { - groupName: state.addRecord.groupName, - groupInfo: state.addRecord.groupInfo, - depId: state.addRecord.depId, - groupMemberIds: state.addRecord.groupMembers - }; if (state.chosenIndex == null) { + const {groupId,...data} = state.addRecord await addRecord(data); } else { - data.groupId = JSON.stringify(state.addRecord.groupId); - await editRecord(data); + await editRecord(state.addRecord); } state.dialogAddRecord = false; } else { @@ -445,7 +448,13 @@ }; const closeAdd = () => { - state.addRecord = {}; + state.addRecord = { + depId: null, + groupId: null, + groupInfo: '', + groupName: '', + groupMemberIds: [], + }; state.chosenIndex = null; }; const openAdd = () => { -- Gitblit v1.9.2