From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 04 三月 2025 08:39:55 +0800 Subject: [PATCH] 修改作业等级名称 --- src/views/system/personShiftManage/scheduleManage/schedule/index.vue | 71 ++++++++++++++++++++--------------- 1 files changed, 40 insertions(+), 31 deletions(-) diff --git a/src/views/system/personShiftManage/scheduleManage/schedule/index.vue b/src/views/system/personShiftManage/scheduleManage/schedule/index.vue index 008fb17..5a1dec0 100644 --- a/src/views/system/personShiftManage/scheduleManage/schedule/index.vue +++ b/src/views/system/personShiftManage/scheduleManage/schedule/index.vue @@ -22,6 +22,7 @@ </el-row> <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange"> <el-table-column property="groupName" label="班组名称" /> + <el-table-column property="department" label="所属部门" /> <el-table-column property="groupMembers" label="班组人员" :show-overflow-tooltip="true" /> <el-table-column property="groupInfo" label="描述" /> <el-table-column fixed="right" label="操作" align="center" width="250"> @@ -38,7 +39,7 @@ </div> </div> </div> - <el-dialog v-model="dialogDetails" title="时间策略"> + <el-dialog v-model="dialogDetails" title="班组管理"> <el-form :model="details" label-width="120px"> <el-form-item label="班组名称"> <el-input v-model="details.groupName" readonly /> @@ -54,16 +55,16 @@ </el-form-item> </el-form> </el-dialog> - <el-dialog v-model="dialogAddRecord" title="时间策略编辑" @close="closeAdd" @open="openAdd"> + <el-dialog v-model="dialogAddRecord" title="班组管理编辑" @close="closeAdd" @open="openAdd"> <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> <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> @@ -128,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: { @@ -138,6 +139,7 @@ department: number | null; groupMembers: Array<any>; groupInfo: string; + depId: number | null; }; } @@ -156,10 +158,8 @@ searchWord: '', tableData: [], departmentList: [], - department: '', workerList: [], casProps: { - expandTrigger: 'hover', emitPath: false, value: 'depId', label: 'depName' @@ -170,11 +170,11 @@ deleteDialog: false, deleteSetDialog: false, addRecord: { - groupName: '', - department: null, - groupMembers: [], depId: null, - groupInfo: '' + groupId: null, + groupInfo: '', + groupName: '', + groupMemberIds: [], }, details: { groupName: '', @@ -266,7 +266,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; @@ -314,13 +313,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') { @@ -342,17 +351,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 { @@ -444,7 +447,13 @@ }; const closeAdd = () => { - state.addRecord = {}; + state.addRecord = { + depId: null, + groupId: null, + groupInfo: '', + groupName: '', + groupMemberIds: [], + }; state.chosenIndex = null; }; const openAdd = () => { -- Gitblit v1.9.2