From e4dc5994adb768d2c3f8309efc23e5e957ec6116 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期二, 13 九月 2022 15:16:31 +0800 Subject: [PATCH] Default Changelist --- src/views/specialWorkSystem/workPlan/workAppoint/index.vue | 246 ++++++++++++++++++++++++++---------------------- 1 files changed, 133 insertions(+), 113 deletions(-) diff --git a/src/views/specialWorkSystem/workPlan/workAppoint/index.vue b/src/views/specialWorkSystem/workPlan/workAppoint/index.vue index ffeac33..6430e3a 100644 --- a/src/views/specialWorkSystem/workPlan/workAppoint/index.vue +++ b/src/views/specialWorkSystem/workPlan/workAppoint/index.vue @@ -5,16 +5,16 @@ <el-col :span="6" style="display:flex;align-items: center"> <span style="white-space: nowrap">申请部门:</span> <div class="grid-content topInfo"> - <el-input v-model="workPermitNo" placeholder="请输入部门名称"></el-input> + <el-cascader v-model="searchDep" :options="departmentList" :props="casProps" :show-all-levels="false"/> </div> </el-col> - <el-col :span="6" style="display:flex;align-items: center"> - <span style="white-space: nowrap">预约日期:</span> + <el-col :span="6" style="display:flex;align-items: center;"> + <span style="white-space: nowrap;margin-left: 20px">预约日期:</span> <div class="grid-content topInfo"> <el-date-picker v-model="searchDate" - type="datetime" - format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" + type="date" + format="YYYY-MM-DD" value-format="YYYY-MM-DD" /> </div> </el-col> @@ -23,37 +23,37 @@ </el-row> <div class="homeCard"> <div class="main-card"> - <el-row class="cardTop"> - <el-col :span="12" class="mainCardBtn"> +<!-- <el-row class="cardTop">--> +<!-- <el-col :span="12" class="mainCardBtn">--> <!-- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>--> - </el-col> - <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/> - </el-row> +<!-- </el-col>--> +<!-- <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/>--> +<!-- </el-row>--> <el-table :data="tableData" style="width: 100%" - height="calc(100% - 100px)" + height="calc(100% - 48px)" :header-cell-style="{background: '#fafafa'}" > <!-- <el-table-column type="selection" width="55" />--> <el-table-column type="index" label="序号" width="80" /> - <el-table-column prop="department" label="申请部门"/> - <el-table-column prop="time" label="预约时间"/> - <el-table-column prop="fireWork" label="动火作业"/> - <el-table-column prop="spaceWork" label="受限空间作业"/> - <el-table-column prop="hangWork" label="吊装作业"/> - <el-table-column prop="dirtyWork" label="动土作业"/> - <el-table-column prop="cut" label="断路作业"/> - <el-table-column prop="high" label="高处作业" /> - <el-table-column prop="tempUse" label="临时用电作业"/> - <el-table-column prop="block" label="盲板抽堵作业"/> - <el-table-column fixed="right" label="操作" align="center" width="250"> - <template #default="scope"> - <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button> - <el-button link type="primary" size="small" :icon="Edit" @click="editRecordBtn(scope.$index, scope.row)">修改</el-button> - <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">删除</el-button> - </template> - </el-table-column> + <el-table-column prop="applyDepName" align="center" label="申请部门"/> + <el-table-column prop="appointmentTime" align="center" label="预约时间"/> + <el-table-column prop="hotWork" align="center" label="动火作业"/> + <el-table-column prop="confinedSpaceOper" align="center" label="受限空间作业"/> + <el-table-column prop="liftingOper" align="center" label="吊装作业"/> + <el-table-column prop="groundBreakingOper" align="center" label="动土作业"/> + <el-table-column prop="openCircuitOper" align="center" label="断路作业"/> + <el-table-column prop="workAtHeight" align="center" label="高处作业" /> + <el-table-column prop="temporaryPowerOper" align="center" label="临时用电作业"/> + <el-table-column prop="blindPlatePluggingOper" align="center" label="盲板抽堵作业"/> +<!-- <el-table-column fixed="right" label="操作" align="center" width="250">--> +<!-- <template #default="scope">--> +<!-- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>--> +<!-- <el-button link type="primary" size="small" :icon="Edit" @click="editRecordBtn(scope.$index, scope.row)">修改</el-button>--> +<!-- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">删除</el-button>--> +<!-- </template>--> +<!-- </el-table-column>--> </el-table> <div class="pageBtn"> <el-pagination @@ -75,61 +75,61 @@ <el-form :model="details" label-width="120px"> <el-form-item label="申请部门"> <el-input - v-model="details.department" + v-model="details.applyDepName" readonly /> </el-form-item> <el-form-item label="预约时间"> <el-input - v-model="details.time" + v-model="details.appointmentTime" readonly /> </el-form-item> <el-form-item label="动火作业"> <el-input - v-model="details.fireWork" + v-model="details.hotWork" readonly /> </el-form-item> <el-form-item label="受限空间作业"> <el-input - v-model="details.spaceWork" + v-model="details.confinedSpaceOper" readonly /> </el-form-item> <el-form-item label="吊装作业"> <el-input - v-model="details.hangWork" + v-model="details.liftingOper" readonly /> </el-form-item> <el-form-item label="动土作业"> <el-input - v-model="details.dirtyWork" + v-model="details.groundBreakingOper" readonly /> </el-form-item> <el-form-item label="断路作业"> <el-input - v-model="details.cut" + v-model="details.openCircuitOper" readonly /> </el-form-item> <el-form-item label="高处作业"> <el-input - v-model="details.high" + v-model="details.workAtHeight" readonly /> </el-form-item> <el-form-item label="临时用电作业"> <el-input - v-model="details.tempUse" + v-model="details.temporaryPowerOper" readonly /> </el-form-item> <el-form-item label="盲板抽堵作业"> <el-input - v-model="details.block" + v-model="details.blindPlatePluggingOper" readonly /> </el-form-item> @@ -140,56 +140,57 @@ </span> </template> </el-dialog> - <el-dialog v-model="dialogAddRecord" title="作业预约编辑" @close="closeAdd" @open="openAdd"> + <el-dialog v-model="dialogAddRecord" title="作业预约编辑" @close="closeAdd"> <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> - <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="applyDepId"> + <el-cascader :disabled = isDisabled v-model="addRecord.applyDepId" :options="departmentList" :props="casProps" :show-all-levels="false" @change="handleChange" /> </el-form-item> - <el-form-item label="预约时间" prop="time"> + <el-form-item label="预约时间" prop="appointmentTime"> <el-date-picker - v-model="addRecord.time" - type="datetime" - format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" + v-model="addRecord.appointmentTime" + type="date" + format="YYYY-MM-DD" value-format="YYYY-MM-DD" + :disabled = isDisabled /> </el-form-item> - <el-form-item label="动火作业"> + <el-form-item label="动火作业" prop="hotWork"> <el-input - v-model="addRecord.fireWork" + v-model="addRecord.hotWork" /> </el-form-item> - <el-form-item label="受限空间作业"> + <el-form-item label="受限空间作业" prop="confinedSpaceOper"> <el-input - v-model="addRecord.spaceWork" + v-model="addRecord.confinedSpaceOper" /> </el-form-item> - <el-form-item label="吊装作业"> + <el-form-item label="吊装作业" prop="liftingOper"> <el-input - v-model="addRecord.hangWork" + v-model="addRecord.liftingOper" /> </el-form-item> - <el-form-item label="动土作业"> + <el-form-item label="动土作业" prop="groundBreakingOper"> <el-input - v-model="addRecord.dirtyWork" + v-model="addRecord.groundBreakingOper" /> </el-form-item> - <el-form-item label="断路作业"> + <el-form-item label="断路作业" prop="openCircuitOper"> <el-input - v-model="addRecord.cut" + v-model="addRecord.openCircuitOper" /> </el-form-item> - <el-form-item label="高处作业"> + <el-form-item label="高处作业" prop="workAtHeight"> <el-input - v-model="addRecord.high" + v-model="addRecord.workAtHeight" /> </el-form-item> - <el-form-item label="临时用电作业"> + <el-form-item label="临时用电作业" prop="temporaryPowerOper"> <el-input - v-model="addRecord.tempUse" + v-model="addRecord.temporaryPowerOper" /> </el-form-item> - <el-form-item label="盲板抽堵作业"> + <el-form-item label="盲板抽堵作业" prop="blindPlatePluggingOper"> <el-input - v-model="addRecord.block" + v-model="addRecord.blindPlatePluggingOper" /> </el-form-item> </el-form> @@ -198,6 +199,15 @@ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button> <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button> </span> + </template> + </el-dialog> + <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear"> + <span>您确定要删除该条记录吗?</span> + <template #footer> + <span class="dialog-footer"> + <el-button @click="deleteDialog = false" size="default">取消</el-button> + <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button> + </span> </template> </el-dialog> </div> @@ -212,13 +222,13 @@ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'; import { ElTable, ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus' + import { workAppointApi } from '/@/api/specialWorkSystem/workPlan/workAppoint'; import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage'; // 定义接口来定义对象的类型 interface stateType { tableData: Array<any>; departmentList: Array<any>; - department:string; casProps: {}; multipleSelection: Array<any>; deleteArr: Array<any>; @@ -230,8 +240,9 @@ pageSize: number; chosenIndex: null | number; deleteId: null | number; - workPermitNo: string; + searchDep: number | null; searchDate: string; + isDisabled:boolean; totalSize: number; addRecord: { @@ -253,11 +264,11 @@ pageSize: 10, totalSize: 0, chosenIndex: null, - workPermitNo: '', + searchDep: null, searchDate: '', + isDisabled: false, tableData: [], departmentList: [], - department: '', casProps: { expandTrigger: 'hover', emitPath: false, @@ -288,18 +299,21 @@ const addRef = ref<FormInstance>(); const addRules = reactive<FormRules>({ - workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - combustible: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - oxygen: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - carbonMonoxide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - hydrogenSulfide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] + applyDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + appointmentTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + hotWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + groundBreakingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + blindPlatePluggingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + temporaryPowerOper : [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + workAtHeight: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + openCircuitOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + liftingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + confinedSpaceOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] }); // 页面载入时执行方法 onMounted(() => { - // getListByPage() + getListByPage() getAllDepartment() }); @@ -318,9 +332,8 @@ // 分页获取气体检测列表 const getListByPage = async () => { - getAll() - const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } }; - let res = await workProcessApi().getDetectionListPage(data); + const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { applyDepId: state.searchDep, appointmentTime: state.searchDate } }; + let res = await workAppointApi().getAppointListPage(data); if (res.data.code === '200') { state.tableData = JSON.parse(JSON.stringify(res.data.data)) state.totalSize = res.data.total; @@ -332,22 +345,9 @@ } }; - // 获取用户列表 - const getAll = async ()=>{ - const res = await workApplyApi().getAllUsers() - if (res.data.code === '200') { - state.workerList = JSON.parse(JSON.stringify(res.data.data)) - } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); - } - }; - // 关键词查询记录 const searchRecord = async () => { - if (state.workPermitNo == ''&& state.workType == null) { + if (state.searchDep == null && state.searchDate == '') { ElMessage({ type: 'warning', message: '请输入查询关键词' @@ -358,14 +358,31 @@ }; const clearSearch = async () => { - state.workPermitNo = ''; - state.workType = null; + state.searchDep = null; + state.searchDate = ''; getListByPage(); }; - // 添加气体检测方法 + // 添加记录方法 const addRecord = async (data: any) => { - let res = await workProcessApi().postDetectionReport(data); + let res = await workAppointApi().addRecord(data); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + message: res.data.msg + }); + getListByPage(); + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; + + // 修改记录方法 + const editRecord = async (data: any) => { + let res = await workAppointApi().editRecord(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -385,7 +402,7 @@ state.dialogAddRecord = true; state.chosenIndex = index; state.addRecord = JSON.parse(JSON.stringify(row)); - console.log(state.addRecord, 'state.addRecord'); + state.isDisabled = true }; // 新增修改记录 @@ -394,15 +411,23 @@ await formEl.validate(async (valid, fields) => { if (valid) { const data = { - workPermitNo: state.addRecord.workPermitNo, - info: state.addRecord.info, - combustible: Number(state.addRecord.combustible), - oxygen: Number(state.addRecord.oxygen), - carbonMonoxide: Number(state.addRecord.carbonMonoxide), - hydrogenSulfide: Number(state.addRecord.hydrogenSulfide), - source: 2, + applyDepId: state.addRecord.applyDepId, + appointmentTime: state.addRecord.appointmentTime, + hotWork: Number(state.addRecord.hotWork), + groundBreakingOper: Number(state.addRecord.groundBreakingOper), + blindPlatePluggingOper: Number(state.addRecord.blindPlatePluggingOper), + temporaryPowerOper: Number(state.addRecord.temporaryPowerOper), + workAtHeight: Number(state.addRecord.workAtHeight), + openCircuitOper: Number(state.addRecord.openCircuitOper), + liftingOper: Number(state.addRecord.liftingOper), + confinedSpaceOper: Number(state.addRecord.confinedSpaceOper), }; - await addRecord(data); + if (state.chosenIndex == null) { + await addRecord(data); + } else { + data.id = state.addRecord.id + await editRecord(data); + } state.dialogAddRecord = false; getListByPage(); } else { @@ -432,9 +457,9 @@ }; - // 删除班组策略方法 + // 删除方法 const deleteRecord = async (data: any) => { - let res = await teamStrategyApi().deleteRecord(data); + let res = await workAppointApi().deleteRecord(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -450,12 +475,12 @@ }; const deleteRecordBtn = (row) => { - state.deleteId = row.groupStrategyId; + state.deleteId = row.id; state.deleteDialog = true; }; const conFirmDelete = () => { - deleteRecord({ groupStrategyId: state.deleteId }); + deleteRecord({ id: state.deleteId }); state.deleteDialog = false; }; @@ -463,13 +488,9 @@ const closeAdd = () => { state.addRecord = {}; state.chosenIndex = null; + state.isDisabled = false }; - const openAdd = () => { - if (state.chosenIndex == null) { - state.addRecord.info = ''; - } - }; const indexClear = () => { state.deleteId = null; }; @@ -501,7 +522,6 @@ handleCurrentChange, confirmAddRecord, closeAdd, - openAdd, indexClear, ...toRefs(state) }; -- Gitblit v1.9.2