From ea2b0825e761a55b17e7bfa044e8267de09c27a9 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期二, 13 九月 2022 14:44:13 +0800
Subject: [PATCH] Default Changelist
---
src/views/specialWorkSystem/workPlan/workReservation/index.vue | 237 +++++++++++++++++++++------------------
src/views/specialWorkSystem/workPlan/workAppoint/index.vue | 29 ++--
src/views/system/personShiftManage/personTimeManage/holidayTimeGroup/index.vue | 3
src/api/specialWorkSystem/workPlan/workReservation/index.ts | 41 ++++++
4 files changed, 183 insertions(+), 127 deletions(-)
diff --git a/src/api/specialWorkSystem/workPlan/workReservation/index.ts b/src/api/specialWorkSystem/workPlan/workReservation/index.ts
new file mode 100644
index 0000000..1a227e0
--- /dev/null
+++ b/src/api/specialWorkSystem/workPlan/workReservation/index.ts
@@ -0,0 +1,41 @@
+import request from '/@/utils/request';
+
+export function workReserveApi() {
+ return {
+ // 分页获取列表
+ getReserveListPage: (data: object) => {
+ return request({
+ url: import.meta.env.VITE_API_URL + `/specialWork/appointment/listAll`,
+ method: 'post',
+ data: data
+ });
+ },
+
+ // 新增列表
+ addRecord: (data: object) => {
+ return request({
+ url: import.meta.env.VITE_API_URL + `/specialWork/appointment/save`,
+ method: 'post',
+ data: data
+ });
+ },
+
+ //修改列表
+ editRecord: (data: object) => {
+ return request({
+ url: import.meta.env.VITE_API_URL + `/specialWork/appointment/update`,
+ method: 'post',
+ data: data
+ });
+ },
+
+ //删除列表
+ deleteRecord: (data: object) => {
+ return request({
+ url: import.meta.env.VITE_API_URL + `/specialWork/appointment/delete`,
+ method: 'post',
+ data: data
+ });
+ }
+ };
+}
diff --git a/src/views/specialWorkSystem/workPlan/workAppoint/index.vue b/src/views/specialWorkSystem/workPlan/workAppoint/index.vue
index a627b01..ffeac33 100644
--- a/src/views/specialWorkSystem/workPlan/workAppoint/index.vue
+++ b/src/views/specialWorkSystem/workPlan/workAppoint/index.vue
@@ -11,27 +11,24 @@
<el-col :span="6" style="display:flex;align-items: center">
<span style="white-space: nowrap">预约日期:</span>
<div class="grid-content topInfo">
- <el-select v-model="workType" placeholder="请选择作业类型">
- <el-option
- v-for="item in workTypeList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
+ <el-date-picker
+ v-model="searchDate"
+ type="datetime"
+ format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
+ />
</div>
</el-col>
- <el-button type="primary" @click="searchRecord">查询</el-button>
+ <el-button style="margin-left: 20px" type="primary" @click="searchRecord">查询</el-button>
<el-button plain @click="clearSearch">重置</el-button>
</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%"
@@ -234,7 +231,7 @@
chosenIndex: null | number;
deleteId: null | number;
workPermitNo: string;
- workType: number | null;
+ searchDate: string;
totalSize: number;
addRecord: {
@@ -257,7 +254,7 @@
totalSize: 0,
chosenIndex: null,
workPermitNo: '',
- workType: null,
+ searchDate: '',
tableData: [],
departmentList: [],
department: '',
diff --git a/src/views/specialWorkSystem/workPlan/workReservation/index.vue b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
index b6ffe8a..16c44a1 100644
--- a/src/views/specialWorkSystem/workPlan/workReservation/index.vue
+++ b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
@@ -5,23 +5,20 @@
<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-select v-model="workType" placeholder="请选择作业类型">
- <el-option
- v-for="item in workTypeList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
+ <el-date-picker
+ v-model="searchDate"
+ type="date"
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD"
+ />
</div>
</el-col>
- <el-button type="primary" @click="searchRecord">查询</el-button>
+ <el-button style="margin-left: 20px" type="primary" @click="searchRecord">查询</el-button>
<el-button plain @click="clearSearch">重置</el-button>
</el-row>
<div class="homeCard">
@@ -40,16 +37,16 @@
>
<!-- <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 prop="applyDepName" label="申请部门"/>
+ <el-table-column prop="appointmentTime" label="预约时间"/>
+ <el-table-column prop="hotWork" label="动火作业"/>
+ <el-table-column prop="confinedSpaceOper" label="受限空间作业"/>
+ <el-table-column prop="liftingOper" label="吊装作业"/>
+ <el-table-column prop="groundBreakingOper" label="动土作业"/>
+ <el-table-column prop="openCircuitOper" label="断路作业"/>
+ <el-table-column prop="workAtHeight" label="高处作业" />
+ <el-table-column prop="temporaryPowerOper" label="临时用电作业"/>
+ <el-table-column prop="blindPlatePluggingOper" 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>
@@ -78,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>
@@ -143,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>
@@ -201,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>
@@ -215,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 { workReserveApi } from '/@/api/specialWorkSystem/workPlan/workReservation';
import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
-
+ import {holidayGroupApi} from "/@/api/systemManage/basicDateManage/personShiftManage/holidayTimeGroup";
// 定义接口来定义对象的类型
interface stateType {
tableData: Array<any>;
departmentList: Array<any>;
- department:string;
casProps: {};
multipleSelection: Array<any>;
deleteArr: Array<any>;
@@ -233,8 +240,9 @@
pageSize: number;
chosenIndex: null | number;
deleteId: null | number;
- workPermitNo: string;
- workType: number | null;
+ searchDep: number | null;
+ searchDate: string;
+ isDisabled:boolean;
totalSize: number;
addRecord: {
@@ -256,11 +264,11 @@
pageSize: 10,
totalSize: 0,
chosenIndex: null,
- workPermitNo: '',
- workType: null,
+ searchDep: null,
+ searchDate: '',
+ isDisabled: false,
tableData: [],
departmentList: [],
- department: '',
casProps: {
expandTrigger: 'hover',
emitPath: false,
@@ -291,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()
});
@@ -321,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 workReserveApi().getReserveListPage(data);
if (res.data.code === '200') {
state.tableData = JSON.parse(JSON.stringify(res.data.data))
state.totalSize = res.data.total;
@@ -335,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: '请输入查询关键词'
@@ -361,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 workReserveApi().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 workReserveApi().editRecord(data);
if (res.data.code === '200') {
ElMessage({
type: 'success',
@@ -388,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
};
// 新增修改记录
@@ -397,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 {
@@ -435,9 +457,9 @@
};
- // 删除班组策略方法
+ // 删除方法
const deleteRecord = async (data: any) => {
- let res = await teamStrategyApi().deleteRecord(data);
+ let res = await workReserveApi().deleteRecord(data);
if (res.data.code === '200') {
ElMessage({
type: 'success',
@@ -453,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;
};
@@ -466,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;
};
@@ -504,7 +522,6 @@
handleCurrentChange,
confirmAddRecord,
closeAdd,
- openAdd,
indexClear,
...toRefs(state)
};
diff --git a/src/views/system/personShiftManage/personTimeManage/holidayTimeGroup/index.vue b/src/views/system/personShiftManage/personTimeManage/holidayTimeGroup/index.vue
index e9e4e07..e834d40 100644
--- a/src/views/system/personShiftManage/personTimeManage/holidayTimeGroup/index.vue
+++ b/src/views/system/personShiftManage/personTimeManage/holidayTimeGroup/index.vue
@@ -323,7 +323,8 @@
if (state.chosenIndex == null) {
await addRecord(data);
} else {
- (data.id = JSON.stringify(state.addRecord.id)), await editRecord(data);
+ data.id = JSON.stringify(state.addRecord.id)
+ await editRecord(data);
}
state.dialogAddRecord = false;
} else {
--
Gitblit v1.9.2