From 4a125073dfb0acfefc473e9439ff6a551735e0e5 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期五, 05 八月 2022 15:07:42 +0800 Subject: [PATCH] 班组接口对接 --- src/views/system/personShiftManage/personTimeManage/timeStrategy/index.vue | 159 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 91 insertions(+), 68 deletions(-) diff --git a/src/views/system/personShiftManage/workingHoursSet/index.vue b/src/views/system/personShiftManage/personTimeManage/timeStrategy/index.vue similarity index 77% copy from src/views/system/personShiftManage/workingHoursSet/index.vue copy to src/views/system/personShiftManage/personTimeManage/timeStrategy/index.vue index 7eeca06..45800d3 100644 --- a/src/views/system/personShiftManage/workingHoursSet/index.vue +++ b/src/views/system/personShiftManage/personTimeManage/timeStrategy/index.vue @@ -4,7 +4,7 @@ <el-row class="homeCard"> <el-col :span="8"> <div class="grid-content topInfo"> - <el-input v-model="searchWord" placeholder="休息时间组名称"></el-input> + <el-input v-model="searchWord" placeholder="时间策略名称"></el-input> <el-button type="primary" @click="searchRecord">查询</el-button> <el-button plain @click="clearSearch">重置</el-button> </div> @@ -29,8 +29,9 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="100" /> - <el-table-column property="name" label="工作时间组名称"/> - <el-table-column property="list" :formatter="toNames" label="关联工作时段"/> + <el-table-column property="name" label="时间策略名称"/> + <el-table-column property="workList" label="关联工作时间组"/> + <el-table-column property="restList" label="关联休息时间组"/> <el-table-column property="info" label="描述信息"/> <el-table-column fixed="right" label="操作" align="center" width="250"> <template #default="scope"> @@ -56,17 +57,23 @@ </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-form-item label="策略名称"> <el-input v-model="details.name" readonly /> </el-form-item> - <el-form-item label="关联工作时段" v-if="details.list.length>0"> + <el-form-item label="关联工作时间组"> <el-input - v-model="details.list" + v-model="details.workList" + readonly + /> + </el-form-item> + <el-form-item label="关联休息时间组"> + <el-input + v-model="details.restList" readonly /> </el-form-item> @@ -82,17 +89,22 @@ </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="name"> + <el-form-item label="策略名称" prop="name"> <el-input v-model="addRecord.name" > </el-input> </el-form-item> - <el-form-item label="关联工作时段" prop="list"> - <el-select v-model="addRecord.list" multiple> + <el-form-item label="关联工作时间组" prop="workList"> + <el-select v-model="addRecord.workList"> <el-option v-for="(item,index) in workTimeList" :key="index" :label="item.name" :value="item.id" /> + </el-select> + </el-form-item> + <el-form-item label="关联休息时间组" prop="restList"> + <el-select v-model="addRecord.restList"> + <el-option v-for="(item,index) in restTimeList" :key="index" :label="item.name" :value="item.id" /> </el-select> </el-form-item> <el-form-item label="描述信息" prop="info"> @@ -138,15 +150,14 @@ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue' import { ElTable } from 'element-plus' import { FormInstance, FormRules, ElMessage } from 'element-plus' - import { workingHoursSetApi } from '/@/api/basicDateManage/personShiftManage/workingHoursSet'; - import { workingHoursApi } from '/@/api/basicDateManage/personShiftManage/workingHours'; + import { timeStrategyApi } from '/@/api/basicDateManage/personShiftManage/timeStrategy'; // 定义接口来定义对象的类型 interface stateType { tableData: Array<string>, - pageRecord: Array<string>, workTimeList: Array<string>, + restTimeList: Array<string>, multipleSelection: Array<any>, deleteArr: Array<any>, dialogDetails: boolean, @@ -161,12 +172,14 @@ totalSize: number, addRecord: { name: string, - list: Array<any>, + workList: string, + restList: string, info: string }, details: { name: string, - list: Array<any>, + workList: string, + restList: string, info: string } } @@ -185,8 +198,8 @@ chosenIndex: null, searchWord: '', tableData: [], - pageRecord: [], workTimeList: [], + restTimeList: [], multipleSelection: [], dialogDetails: false, dialogAddRecord: false, @@ -194,12 +207,14 @@ deleteSetDialog: false, addRecord: { name: '', - list: [], + workList: '', + restList: '', info: '' }, details: { name: '', - list: [], + workList: '', + restList: '', info: '' }, deleteId: null, @@ -207,7 +222,8 @@ }) interface User { name: string, - list: [], + workList: string, + restList: string, info: string } const multipleTableRef = ref<InstanceType<typeof ElTable>>() @@ -236,29 +252,46 @@ const addRef = ref<FormInstance>() const addRules = reactive<FormRules>({ name: [{required: true, message: '该内容不能为空', trigger: 'blur'}], - list: [{required: true, message: '该内容不能为空', trigger: 'blur'}] + workList: [{required: true, message: '该内容不能为空', trigger: 'blur'}], + restList: [{required: true, message: '该内容不能为空', trigger: 'blur'}] }) // 页面载入时执行方法 onMounted(() => { getListByPage() - getWorkTimePeriod() + getWorkTimeList() + getRestTimeList() }) - // 分页获取工作时间组列表 + // 分页获取休息时间组列表 const getListByPage = async ()=>{ const data = {pageSize: state.pageSize,pageIndex: state.pageIndex,searchParams:{name: state.searchWord}} - let res = await workingHoursSetApi().postWorkTimeGroupPage(data); + let res = await timeStrategyApi().getRecordPage(data); if (res.data.code === '200') { - state.pageRecord = res.data.data state.tableData = res.data.data.map((item)=>{ - if(item.list == null){ - item.list = [] + // if(item.workTimeGroupRespDTO == null || item.workTimeGroupRespDTO.list == []){ + // item.workList = [] + // }else{ + // item.workList= Array.from(item.workTimeGroupRespDTO.list,({workTimeGroupId})=>workTimeGroupId) + // } + // if(item.breakTimeGroupRespDTO == null || item.breakTimeGroupRespDTO.list == []){ + // item.restList = [] + // }else{ + // item.restList= Array.from(item.breakTimeGroupRespDTO.list,({breakTimeGroupId})=>breakTimeGroupId) + // } + if(item.workTimeGroupRespDTO == null){ + item.workList = '' }else{ - item.list= Array.from(item.list,({workTimePeriodId})=>workTimePeriodId) + item.workList= item.workTimeGroupRespDTO.name + } + if(item.breakTimeGroupRespDTO == null){ + item.restList = '' + }else{ + item.restList= item.breakTimeGroupRespDTO.name } return item }) + console.log(state.tableData,'state.tableData') state.totalSize = res.data.total } else { ElMessage({ @@ -268,29 +301,24 @@ } } - // 表格数据格式化 - const toNames =(row, column, cellValue, index) => { - if(row.list==[]){ - return [] - }else{ - const nameList = [] - for(let i=0;i<row.list.length;i++){ - for(let t=0;t<state.workTimeList.length;t++){ - if(row.list[i]==state.workTimeList[t].id){ - nameList.push(state.workTimeList[t].name) - } - } - } - return nameList.join() + // 获取工作时间组列表 + const getWorkTimeList = async () => { + let res = await timeStrategyApi().getWorkTimeList(); + if (res.data.code === '200') { + state.workTimeList = res.data.data + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); } } - // 获取工作时段列表 - const getWorkTimePeriod = async () => { - let res = await workingHoursApi().getWorkTimePeriod(); + // 获取休息时间组列表 + const getRestTimeList = async () => { + let res = await timeStrategyApi().getRestTimeList(); if (res.data.code === '200') { - state.workTimeList = res.data.data - console.log(state.workTimeList,'list') + state.restTimeList = res.data.data } else { ElMessage({ type: 'warning', @@ -318,7 +346,7 @@ // 添加工作时段方法 const addRecord = async (data:any) => { - let res = await workingHoursSetApi().addWorkTimeGroup(data); + let res = await timeStrategyApi().addRecord(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -335,7 +363,7 @@ // 修改工作时段方法 const editRecord = async (data:any) => { - let res = await workingHoursSetApi().updateWorkTimeGroup(data); + let res = await timeStrategyApi().updateRecord(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -358,13 +386,19 @@ const data = { name: state.addRecord.name, info: state.addRecord.info, - workTimePeriodIds: state.addRecord.list + workTimeGroupId: state.addRecord.workList, + breakTimeGroupId: state.addRecord.restList } if (state.chosenIndex == null) { await addRecord(data) } else { - data.id = JSON.stringify(state.addRecord.id), - console.log(data,'修改参数') + data.id = JSON.stringify(state.addRecord.id) + if(typeof state.addRecord.workList == 'string'){ + data.workTimeGroupId = state.addRecord.workTimeGroupId + } + if(typeof state.addRecord.restList == 'string'){ + data.breakTimeGroupId = state.addRecord.breakTimeGroupId + } await editRecord(data) } state.dialogAddRecord = false @@ -377,7 +411,7 @@ // 删除工作时间组方法 const deleteRecord = async (data:any) => { - let res = await workingHoursSetApi().deleteWorkTimeGroup(data); + let res = await timeStrategyApi().deleteRecord(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -415,7 +449,7 @@ }; const conFirmDeleteBatch = async () => { - let res = await workingHoursSetApi().deletBatchWorkTimeGroup({ids: state.deleteArr}); + let res = await timeStrategyApi().deletBatchRecord({ids: state.deleteArr}); if (res.data.code === '200') { state.deleteSetDialog = false ElMessage({ @@ -444,18 +478,6 @@ // 查看记录 const viewRecord = (row) => { state.details = JSON.parse(JSON.stringify(row)) - if(row.list==[]){ - state.details.list = [] - }else{ - state.details.list = [] - for(let i=0;i<row.list.length;i++){ - for(let t=0;t<state.workTimeList.length;t++){ - if(row.list[i]==state.workTimeList[t].id){ - state.details.list.push(state.workTimeList[t].name) - } - } - } - } state.dialogDetails = true } @@ -468,6 +490,7 @@ state.dialogAddRecord = true state.chosenIndex = index state.addRecord = JSON.parse(JSON.stringify(row)) + console.log(state.addRecord,'state.addRecord') } const closeAdd = () => { state.addRecord = {} @@ -496,7 +519,6 @@ Delete, Refresh, Plus, - toNames, toggleSelection, handleSelectionChange, searchRecord, @@ -505,7 +527,8 @@ deleteRecordBtn, conFirmDelete, getListByPage, - getWorkTimePeriod, + getWorkTimeList, + getRestTimeList, reLoadData, deleteRecord, deleteBatchBtn, -- Gitblit v1.9.2