From 5661eb36d321991a5b17c55178b7044c9c899731 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期五, 09 九月 2022 15:39:20 +0800 Subject: [PATCH] Default Changelist --- src/layout/navBars/breadcrumb/user.vue | 1 src/utils/request.ts | 1 src/views/specialWorkSystem/workAlert/alertRecord/index.vue | 180 +++------- src/api/specialWorkSystem/workProcess/index.ts | 59 +++ src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue | 225 ++++++++++++++ src/views/specialWorkSystem/workProcess/workCheck/index.vue | 240 +++++++------- src/views/specialWorkSystem/workProcess/gasCheck/index.vue | 252 +++++++-------- 7 files changed, 569 insertions(+), 389 deletions(-) diff --git a/src/api/specialWorkSystem/workProcess/index.ts b/src/api/specialWorkSystem/workProcess/index.ts new file mode 100644 index 0000000..0cd1ff0 --- /dev/null +++ b/src/api/specialWorkSystem/workProcess/index.ts @@ -0,0 +1,59 @@ +import request from '/@/utils/request'; + +export function workProcessApi() { + return { + // 分页获取检测列表 + getDetectionListPage: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/detection/page/list`, + method: 'post', + data: data + }); + }, + + // 分页获取检查列表 + getCheckListPage: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/check/page/list`, + method: 'post', + data: data + }); + }, + + // 检测上报 + postDetectionReport: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/detection/report`, + method: 'post', + data: data + }); + }, + + // 检查上报 + postCheckReport: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/check/report`, + method: 'post', + data: data + }); + }, + + // 获取可上报作业列表 + postReportList: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/workApply/list`, + method: 'post', + data: data + }); + }, + + // 获取预警记录 + postAlertList: (data: object) => { + return request({ + url: import.meta.env.VITE_API_URL + `/work/process/warning/page/list`, + method: 'post', + data: data + }); + }, + }; +} diff --git a/src/layout/navBars/breadcrumb/user.vue b/src/layout/navBars/breadcrumb/user.vue index 36efe42..993fbd9 100644 --- a/src/layout/navBars/breadcrumb/user.vue +++ b/src/layout/navBars/breadcrumb/user.vue @@ -264,7 +264,6 @@ }; const backToMenu = () => { router.push({ path: 'newMenu' }).then(()=>{ - debugger routeList.routesList.value = [] console.log(routeList); }); diff --git a/src/utils/request.ts b/src/utils/request.ts index 712c188..05e9b36 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -46,7 +46,6 @@ // }; return JSONbig.parse(data); } catch (err) { - console.log(err); // 转换失败返回一个空对象 return data } diff --git a/src/views/specialWorkSystem/workAlert/alertRecord/index.vue b/src/views/specialWorkSystem/workAlert/alertRecord/index.vue index 7ce10ae..d941512 100644 --- a/src/views/specialWorkSystem/workAlert/alertRecord/index.vue +++ b/src/views/specialWorkSystem/workAlert/alertRecord/index.vue @@ -24,7 +24,7 @@ <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="searchAlert" placeholder="请选择预警类型"> + <el-select v-model="warningType" placeholder="请选择预警类型"> <el-option v-for="item in alertTypeList" :key="item.id" @@ -39,12 +39,12 @@ </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"/>--> -<!-- </el-row>--> + </el-col> + <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/> + </el-row> <el-table ref="multipleTableRef" :data="tableData" @@ -52,14 +52,14 @@ height="calc(100% - 48px)" :header-cell-style="{background: '#fafafa'}" > - <el-table-column type="index" label="序号" width="200"/> - <el-table-column property="id" label="作业证编号" width="200"/> - <el-table-column property="workType" label="作业类型" width="200"/> - <el-table-column property="alertInfo" label="预警信息"/> - <el-table-column property="alertType" label="预警类型"/> - <el-table-column property="desc" label="描述" width="200"/> - <el-table-column property="name" label="上报人"/> - <el-table-column property="updateTime" label="上报时间"/> + <el-table-column type="index" label="序号" width="80"/> + <el-table-column property="workPermitNo" label="作业证编号"/> + <el-table-column property="workTypeDesc" label="作业类型"/> + <el-table-column property="warningContent" show-overflow-tooltip label="预警信息"/> + <el-table-column property="warningTypeDesc" label="预警类型"/> + <el-table-column property="warningInfo" show-overflow-tooltip label="描述" width="200"/> + <el-table-column property="operatorUname" label="上报人"/> + <el-table-column property="operationTime" label="上报时间" width="180"/> <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> @@ -74,7 +74,7 @@ small=false background layout="total, sizes, prev, pager, next, jumper" - :total="100" + :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -85,25 +85,28 @@ <el-dialog v-model="dialogDetails" title="作业预警记录"> <el-form :model="details" label-width="120px"> <el-form-item label="作业证编号"> - <el-input v-model="details.id" readonly/> + <el-input v-model="details.workPermitNo" readonly/> </el-form-item> <el-form-item label="作业类型"> - <el-input v-model="details.workType" readonly/> + <el-input v-model="details.workTypeDesc" readonly/> </el-form-item> <el-form-item label="预警信息"> - <el-input v-model="details.alertInfo" readonly/> + <el-input v-model="details.warningContent" readonly/> </el-form-item> <el-form-item label="预警类型"> - <el-input v-model="details.alertType" readonly/> + <el-input v-model="details.warningTypeDesc" readonly/> + </el-form-item> + <el-form-item label="图片" v-if="details.imagePaths && details.imagePaths.length>0"> + <el-image v-for="item in details.imagePaths" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" /> </el-form-item> <el-form-item label="描述"> - <el-input v-model="details.desc" type="textarea" readonly/> + <el-input v-model="details.warningInfo" type="textarea" readonly/> </el-form-item> <el-form-item label="上报人"> - <el-input v-model="details.name" readonly/> + <el-input v-model="details.operatorUname" readonly/> </el-form-item> <el-form-item label="上报时间"> - <el-input v-model="details.updateTime" readonly/> + <el-input v-model="details.operationTime" readonly/> </el-form-item> <el-form-item> <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> @@ -122,7 +125,7 @@ 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 { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage'; + import { workProcessApi } from '/@/api/specialWorkSystem/workProcess'; // 定义接口来定义对象的类型 interface stateType { @@ -130,7 +133,6 @@ departmentList: Array<any>; department:string; workerList: Array<string>; - casProps: {}; multipleSelection: Array<any>; deleteArr: Array<any>; dialogDetails: boolean; @@ -142,12 +144,9 @@ chosenIndex: null | number; deleteId: null | number; searchWord: string; - searchType: number | null; - searchAlert: number | null; + searchType: string; + warningType: string; totalSize: number; - addRecord: { - - }; details: { }; @@ -168,94 +167,47 @@ totalSize: 0, chosenIndex: null, searchWord: '', - searchType: null, - searchAlert: null, - tableData: [ - { - id: 'GTXH-0000001', - workType: '动火作业', - alertInfo: '可燃气检查超标', - alertType: '气体分析', - desc: 'A车间动火作业过程检查', - name: '李羽飞', - updateTime: '2022-08-31 12:00:00' - }, - { - id: 'GTXH-0000002', - workType: '动火作业', - alertInfo: '作业现场检查异常', - alertType: '作业检查', - desc: 'B车间动火作业过程气体检查', - name: '李羽飞', - updateTime: '2022-08-31 16:31:44' - }, - { - id: 'GTXH-0000003', - workType: '动火作业', - alertInfo: '可燃气检查超标', - alertType: '气体分析', - desc: '', - name: '李羽飞', - updateTime: '2022-08-31 17:05:20' - } - ], + searchType: '', + warningType: '', + tableData: [], departmentList: [], department: '', workerList: [], - casProps: { - expandTrigger: 'hover', - emitPath: false, - value: 'depId', - label: 'depName' - }, multipleSelection: [], dialogDetails: false, dialogAddRecord: false, deleteDialog: false, deleteSetDialog: false, - addRecord: { - - }, - details: { - - }, + details: {}, deleteId: null, deleteArr: [], workTypeList: [ - { id: 1, name: '动火作业' }, - { id: 2, name: '受限空间作业' }, - { id: 3, name: '吊装作业' }, - { id: 4, name: '动土作业' }, - { id: 5, name: '断路作业' }, - { id: 6, name: '高处作业' }, - { id: 7, name: '临时用电作业' }, - { id: 8, name: '盲板抽堵作业' } + { id: '1', name: '动火作业' }, + { id: '2', name: '受限空间作业' }, + { id: '3', name: '吊装作业' }, + { id: '4', name: '动土作业' }, + { id: '5', name: '断路作业' }, + { id: '6', name: '高处作业' }, + { id: '7', name: '临时用电作业' }, + { id: '8', name: '盲板抽堵作业' } ], alertTypeList: [ - { id: 1, name: '气体分析' }, - { id: 2, name: '作业检查' } + { id: '1', name: '检查' }, + { id: '2', name: '检测' } ] }); // 页面载入时执行方法 onMounted(() => { - // getListByPage(); - // getAllDepartment(); + getListByPage(); }); // 分页获取班组管理列表 const getListByPage = async () => { - const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } }; - let res = await teamManageApi().getRecordPage(data); + const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.searchType, workPermitNo: state.searchWord,warningType: state.warningType } }; + let res = await workProcessApi().postAlertList(data); if (res.data.code === '200') { - state.tableData = res.data.data.map((item) => { - if (!item.groupMembers || item.groupMembers == null) { - item.groupMembers = []; - } else { - item.groupMembers = Array.from(item.groupMembers, ({ username }) => username); - } - return item; - }); + state.tableData = JSON.parse(JSON.stringify(res.data.data)) state.totalSize = res.data.total; } else { ElMessage({ @@ -265,36 +217,9 @@ } }; - // 获取部门列表 - const getAllDepartment = async () => { - let res = await teamManageApi().getAllDepartment(); - if (res.data.code === '200') { - state.departmentList = res.data.data; - } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); - } - }; - - 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; - } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); - } - }; - // 关键词查询记录 - const searchRecord = async () => { - if (state.searchWord == '') { + const searchRecord = () => { + if (state.searchWord == ''&& state.searchType == ''&& state.warningType == '') { ElMessage({ type: 'warning', message: '请输入查询关键词' @@ -304,9 +229,11 @@ } }; - const clearSearch = async () => { - state.searchWord = ''; - getListByPage(); + const clearSearch = () => { + state.searchWord = '' + state.searchType = '' + state.warningType = '' + getListByPage() }; const handleSizeChange = (val: number) => { @@ -343,7 +270,6 @@ Delete, Refresh, Plus, - handleChange, searchRecord, clearSearch, viewRecord, diff --git a/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue b/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue new file mode 100644 index 0000000..9738408 --- /dev/null +++ b/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue @@ -0,0 +1,225 @@ +<template> + <div class="home-container"> + <div style="height: 100%"> + <el-row class="homeCard"> + <el-col :span="8" style="display:flex;align-items: center"> + <div class="grid-content topInfo"> + <el-input v-model="searchNo" placeholder="请输入作业证编号"></el-input> + </div> + </el-col> + <el-col :span="8" style="display:flex;align-items: center"> + <div class="grid-content topInfo"> + <el-select v-model="workType" placeholder="请选择作业类型"> + <el-option + v-for="item in workTypeList" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + </div> + </el-col> + <el-button type="primary" @click="searchRecord">查询</el-button> + <el-button plain @click="clearSearch">重置</el-button> + </el-row> + <div class="homeCard"> + <div class="main-card"> + <el-table + :data="tableData" + ref="singleTableRef" + highlight-current-row + style="width: 100%" + @current-change="handleCurrentChange" + :header-cell-style="{background: '#fafafa'}" + > + <el-table-column type="index" label="序号" width="80"/> + <el-table-column property="workPermitNo" label="作业证编号"/> + <el-table-column property="workTypeDesc" label="作业类型"/> + </el-table> +<!-- <div class="pageBtn">--> +<!-- <el-pagination--> +<!-- v-model:currentPage="currentPage"--> +<!-- v-model:page-size="pageSize"--> +<!-- :page-sizes="[10, 15]"--> +<!-- small=false--> +<!-- background--> +<!-- layout="total, sizes, prev, pager, next, jumper"--> +<!-- :total="totalSize"--> +<!-- @size-change="handleSizeChange"--> +<!-- @current-change="handleCurrentChange"--> +<!-- />--> +<!-- </div>--> + </div> + </div> + </div> + </div> +</template> + +<script lang="ts"> + import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue'; + import { storeToRefs } from 'pinia'; + import { initBackEndControlRoutes } from '/@/router/backEnd'; + import {useUserInfo} from "/@/stores/userInfo"; + import { Session } from '/@/utils/storage'; + import { Search } from '@element-plus/icons-vue' + import { ElMessage,ElTable } from 'element-plus' + import type { FormInstance, FormRules } from 'element-plus' + import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; + import {workProcessApi} from "/@/api/specialWorkSystem/workProcess"; + + + interface stateType { + workPermitNo: string + searchNo: string + workType: number + } + export default defineComponent({ + name: 'permitNo', + components: {}, + props:[], + setup() { + const userInfo = useUserInfo() + const { userInfos } = storeToRefs(userInfo); + const currentRow = ref() + const singleTableRef = ref<InstanceType<typeof ElTable>>() + const state = reactive<stateType>({ + workPermitNo: '', + searchNo: '', + workType: null, + tableData: [], + workTypeList: [ + { + label: "动火作业", + value: 1 + }, + { + label: "受限空间作业", + value: 2 + }, + { + label: "吊装作业", + value: 3 + }, + { + label: "动土作业", + value: 4 + }, + { + label: "断路作业", + value: 5 + }, + { + label: "高处作业", + value: 6 + }, + { + label: "临时用电作业", + value: 7 + }, + { + label: "盲板抽堵作业", + value: 8 + } + ] + }); + const handleCurrentChange = (val: User | undefined) => { + currentRow.value = val + state.workPermitNo = currentRow.value.workPermitNo + } + // 获取作业编号列表 + const getAllReport = async (data)=>{ + const res = await workProcessApi().postReportList({workPermitNo: state.searchNo,workType: state.workType}) + if (res.data.code === '200') { + state.tableData = JSON.parse(JSON.stringify(res.data.data)) + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; + // 关键词查询记录 + const searchRecord = async () => { + if (state.searchNo == ''&& state.workType == null) { + ElMessage({ + type: 'warning', + message: '请输入查询关键词' + }); + } else { + getAllReport(); + } + }; + + const clearSearch = async () => { + state.searchNo = ''; + state.workType = null; + getAllReport(); + }; + // 页面载入时执行方法 + onMounted(() => { + getAllReport() + }); + + // 折线图 + const renderMenu = async (value: string) => { + Session.set('projectId',value) + userInfos.value.projectId = value + await initBackEndControlRoutes(); + }; + return { + renderMenu, + currentRow, + singleTableRef, + searchRecord, + clearSearch, + handleCurrentChange, + Search, + ...toRefs(state), + }; + }, + }); +</script> + +<style scoped lang="scss"> + .home-container { + height: 100%; + overflow: hidden; + position: relative; + .homeCard{ + width: 100%; + padding: 20px; + box-sizing: border-box; + background: #fff; + border-radius: 4px; + margin-bottom: 20px; + } + .applyBtn{ + width: 100%; + background: #fff; + padding-top: 15px; + z-index: 5; + box-shadow: 0 -3px 8px rgba(150,150,150,.1); + display: flex; + align-items: center; + justify-content: center; + } + .el-row{ + margin-bottom: 20px; + } + .el-row:last-child { + margin-bottom: 0; + } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } + .el-cascader{ + width: 100% !important; + } + } +</style> diff --git a/src/views/specialWorkSystem/workProcess/gasCheck/index.vue b/src/views/specialWorkSystem/workProcess/gasCheck/index.vue index f8a0c36..0c7e59e 100644 --- a/src/views/specialWorkSystem/workProcess/gasCheck/index.vue +++ b/src/views/specialWorkSystem/workProcess/gasCheck/index.vue @@ -5,15 +5,15 @@ <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="searchWord"></el-input> + <el-input v-model="workPermitNo" placeholder="请输入作业证编号"></el-input> </div> </el-col> <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="searchType" placeholder="请选择作业类型"> + <el-select v-model="workType" placeholder="请选择作业类型"> <el-option - v-for="item in workType" + v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id" @@ -30,30 +30,29 @@ <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"/> + <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/> </el-row> <el-table - ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{background: '#fafafa'}" > - <el-table-column type="index" label="序号" width="200"/> - <el-table-column property="id" label="作业证编号" width="200"/> - <el-table-column property="workType" label="作业类型" width="200"/> -<!-- <el-table-column property="combustible" label="可燃气%"/>--> - <el-table-column property="combustible" label="可燃气%"> - <template #default="scope"> - <span :class="scope.row.combustible > 0 ? 'red': ''">{{ scope.row.combustible }}</span> - </template> - </el-table-column> + <el-table-column type="index" label="序号" width="80"/> + <el-table-column property="workPermitNo" label="作业证编号"/> + <el-table-column property="workTypeDesc" label="作业类型"/> + <el-table-column property="combustible" label="可燃气%"/> +<!-- <el-table-column property="combustible" label="可燃气%">--> +<!-- <template #default="scope">--> +<!-- <span :class="scope.row.combustible > 0 ? 'red': ''">{{ scope.row.combustible }}</span>--> +<!-- </template>--> +<!-- </el-table-column>--> <el-table-column property="oxygen" label="氧气%"/> - <el-table-column property="co" label="一氧化碳ppm"/> - <el-table-column property="hs" label="硫化氢ppm"/> - <el-table-column property="desc" label="描述" width="200"/> - <el-table-column property="name" label="分析人"/> - <el-table-column property="updateTime" label="分析时间"/> + <el-table-column property="carbonMonoxide" label="一氧化碳ppm"/> + <el-table-column property="hydrogenSulfide" label="硫化氢ppm"/> + <el-table-column property="info" label="描述" show-overflow-tooltip width="200"/> + <el-table-column property="operatorUname" label="分析人"/> + <el-table-column property="operationTime" label="分析时间" align="center" width="180"/> <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> @@ -68,7 +67,7 @@ small=false background layout="total, sizes, prev, pager, next, jumper" - :total="100" + :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -79,10 +78,10 @@ <el-dialog v-model="dialogDetails" title="检测记录"> <el-form :model="details" label-width="120px"> <el-form-item label="作业证编号"> - <el-input v-model="details.id" readonly/> + <el-input v-model="details.workPermitNo" readonly/> </el-form-item> <el-form-item label="作业类型"> - <el-input v-model="details.workType" readonly/> + <el-input v-model="details.workTypeDesc" readonly/> </el-form-item> <el-form-item label="可燃气%"> <el-input v-model="details.combustible" readonly/> @@ -91,38 +90,40 @@ <el-input v-model="details.oxygen" readonly/> </el-form-item> <el-form-item label="一氧化碳ppm"> - <el-input v-model="details.co" readonly/> + <el-input v-model="details.carbonMonoxide" readonly/> </el-form-item> <el-form-item label="硫化氢ppm"> - <el-input v-model="details.hs" readonly/> + <el-input v-model="details.hydrogenSulfide" readonly/> </el-form-item> <el-form-item label="描述"> - <el-input v-model="details.desc" type="textarea" readonly/> + <el-input v-model="details.info" type="textarea" readonly/> </el-form-item> <el-form-item label="分析人"> - <el-input v-model="details.name" readonly/> + <el-input v-model="details.operatorUname" readonly/> </el-form-item> <el-form-item label="分析时间"> - <el-input v-model="details.updateTime" readonly/> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> + <el-input v-model="details.operationTime" readonly/> </el-form-item> </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button type="primary" @click="dialogDetails = false">确认</el-button> + </span> + </template> </el-dialog> <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="id"> - <el-input v-model="addRecord.id"> + <el-form-item label="作业证编号" prop="workPermitNo"> + <el-input v-model="addRecord.workPermitNo" placeholder="作业编号须为已审批作业的编号,可点击右方按钮查询"> <template #append> - <el-button :icon="Search" /> + <el-button :icon="Search" @click="dialogPermitNo = true"/> </template> </el-input> </el-form-item> - <el-form-item label="作业类型" prop="groupMembers"> - <el-select v-model="addRecord.groupMembers"> + <el-form-item label="作业类型" prop="workType"> + <el-select v-model="addRecord.workType"> <el-option - v-for="item in workType" + v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id" @@ -135,34 +136,47 @@ <el-form-item label="氧气%" prop="oxygen"> <el-input v-model="addRecord.oxygen"/> </el-form-item> - <el-form-item label="一氧化碳ppm" prop="combustible"> - <el-input v-model="addRecord.co"/> + <el-form-item label="一氧化碳ppm" prop="carbonMonoxide"> + <el-input v-model="addRecord.carbonMonoxide"/> </el-form-item> - <el-form-item label="硫化氢ppm" prop="oxygen"> - <el-input v-model="addRecord.hs"/> + <el-form-item label="硫化氢ppm" prop="hydrogenSulfide"> + <el-input v-model="addRecord.hydrogenSulfide"/> </el-form-item> - <el-form-item label="描述" prop="desc"> - <el-input v-model="addRecord.desc" type="textarea"> </el-input> - </el-form-item> - <el-form-item> - <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button> - <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button> + <el-form-item label="描述" prop="info"> + <el-input v-model="addRecord.info" type="textarea"> </el-input> </el-form-item> </el-form> + <template #footer> + <span class="dialog-footer"> + <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="dialogPermitNo" title="选择相应的作业编号"> + <permit-no ref="permitNoInfo"></permit-no> + <template #footer> + <span class="dialog-footer"> + <el-button type="warning" @click="dialogPermitNo = false" size="default" plain>取消</el-button> + <el-button type="primary" @click="confirmPermitNo" size="default">确认</el-button> + </span> + </template> </el-dialog> </div> </template> <script lang="ts"> - import { toRefs, reactive, ref, onMounted } from 'vue'; + import {toRefs, reactive, ref, onMounted, defineAsyncComponent} from 'vue'; import { storeToRefs } from 'pinia'; import { initBackEndControlRoutes } from '/@/router/backEnd'; import { useUserInfo } from '/@/stores/userInfo'; import { Session } from '/@/utils/storage'; import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'; - import { ElTable } from 'element-plus'; - import type { FormInstance, FormRules } from 'element-plus' + import { ElTable, ElMessage, ElMessageBox } from 'element-plus' + import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus' import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage'; + import { workProcessApi } from '/@/api/specialWorkSystem/workProcess'; + import {workApplyApi} from "/@/api/specialWorkSystem/workApply"; // 定义接口来定义对象的类型 interface stateType { @@ -175,14 +189,15 @@ deleteArr: Array<any>; dialogDetails: boolean; dialogAddRecord: boolean; + dialogPermitNo: boolean; deleteDialog: boolean; deleteSetDialog: boolean; pageIndex: number; pageSize: number; chosenIndex: null | number; deleteId: null | number; - searchWord: string; - searchType: number | null; + workPermitNo: string; + workType: number | null; totalSize: number; addRecord: { @@ -190,58 +205,26 @@ details: { }; - workType: Array<any> + workTypeList: Array<any> } export default { name: 'gasCheck', - components: {}, + components: { + permitNo: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue')) + }, setup() { const userInfo = useUserInfo(); const { userInfos } = storeToRefs(userInfo); - + const permitNoInfo = ref() const state = reactive<stateType>({ pageIndex: 1, pageSize: 10, totalSize: 0, chosenIndex: null, - searchWord: '', - searchType: null, - tableData: [ - { - id: 'GTXH-0000001', - workType: '动火作业', - combustible: 5, - oxygen: 20, - co: 0, - hs: 0, - desc: 'A车间动火作业过程气体检测异常', - name: '李羽飞', - updateTime: '2022-08-32 12:00:00' - }, - { - id: 'GTXH-0000002', - workType: '动火作业', - combustible: 0, - oxygen: 20.8, - co: 0, - hs: 0, - desc: 'B车间动火作业过程气体检查', - name: '李羽飞', - updateTime: '2022-08-32 16:31:44' - }, - { - id: 'GTXH-0000003', - workType: '动火作业', - combustible: 0, - oxygen: 21, - co: 0, - hs: 0, - desc: 'C车间动火作业过程气体检测异常', - name: '李羽飞', - updateTime: '2022-08-32 17:05:20' - } - ], + workPermitNo: '', + workType: null, + tableData: [], departmentList: [], department: '', workerList: [], @@ -254,6 +237,7 @@ multipleSelection: [], dialogDetails: false, dialogAddRecord: false, + dialogPermitNo: false, deleteDialog: false, deleteSetDialog: false, addRecord: { @@ -264,7 +248,7 @@ }, deleteId: null, deleteArr: [], - workType: [ + workTypeList: [ { id: 1, name: '动火作业' }, { id: 2, name: '受限空间作业' }, { id: 3, name: '吊装作业' }, @@ -278,36 +262,27 @@ const addRef = ref<FormInstance>(); const addRules = reactive<FormRules>({ - id: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], combustible: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], oxygen: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - co: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - hs: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - desc: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] + carbonMonoxide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + hydrogenSulfide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] }); // 页面载入时执行方法 onMounted(() => { - // getListByPage(); - // getAllDepartment(); + getListByPage() }); - // 分页获取班组管理列表 + // 分页获取气体检测列表 const getListByPage = async () => { - const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } }; - let res = await teamManageApi().getRecordPage(data); + getAll() + const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } }; + let res = await workProcessApi().getDetectionListPage(data); if (res.data.code === '200') { - state.tableData = res.data.data.map((item) => { - if (!item.groupMembers || item.groupMembers == null) { - item.groupMembers = []; - } else { - item.groupMembers = Array.from(item.groupMembers, ({ username }) => username); - } - return item; - }); + state.tableData = JSON.parse(JSON.stringify(res.data.data)) state.totalSize = res.data.total; } else { ElMessage({ @@ -317,25 +292,23 @@ } }; - // 获取部门列表 - const getAllDepartment = async () => { - let res = await teamManageApi().getAllDepartment(); - if (res.data.code === '200') { - state.departmentList = res.data.data; - } else { + const confirmPermitNo = ()=>{ + if(permitNoInfo.value.workPermitNo == ''){ ElMessage({ type: 'warning', - message: res.data.msg + message: '请选择相应的作业编码' }); + }else{ + state.addRecord.workPermitNo = permitNoInfo.value.workPermitNo + state.dialogPermitNo = false } - }; + } - const handleChange = async (value) => { - state.addRecord.depId = value; - console.log(state.addRecord.department, 'de'); - let res = await teamManageApi().getAllMember(value); + // 获取用户列表 + const getAll = async ()=>{ + const res = await workApplyApi().getAllUsers() if (res.data.code === '200') { - state.workerList = res.data.data; + state.workerList = JSON.parse(JSON.stringify(res.data.data)) } else { ElMessage({ type: 'warning', @@ -346,7 +319,7 @@ // 关键词查询记录 const searchRecord = async () => { - if (state.searchWord == '') { + if (state.workPermitNo == ''&& state.workType == null) { ElMessage({ type: 'warning', message: '请输入查询关键词' @@ -357,13 +330,14 @@ }; const clearSearch = async () => { - state.searchWord = ''; + state.workPermitNo = ''; + state.workType = null; getListByPage(); }; - // 添加班组管理方法 + // 添加气体检测方法 const addRecord = async (data: any) => { - let res = await teamManageApi().addRecord(data); + let res = await workProcessApi().postDetectionReport(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -384,18 +358,17 @@ 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 + 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, }; - if (state.chosenIndex == null) { - await addRecord(data); - } else { - data.groupId = JSON.stringify(state.addRecord.groupId); - await editRecord(data); - } + await addRecord(data); state.dialogAddRecord = false; + getListByPage(); } else { console.log('error submit!', fields); } @@ -451,7 +424,8 @@ Refresh, Plus, Search, - handleChange, + permitNoInfo, + confirmPermitNo, searchRecord, clearSearch, viewRecord, diff --git a/src/views/specialWorkSystem/workProcess/workCheck/index.vue b/src/views/specialWorkSystem/workProcess/workCheck/index.vue index 282ed9d..6bc2411 100644 --- a/src/views/specialWorkSystem/workProcess/workCheck/index.vue +++ b/src/views/specialWorkSystem/workProcess/workCheck/index.vue @@ -5,13 +5,13 @@ <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="searchWord"></el-input> + <el-input v-model="workPermitNo" placeholder="请输入作业证编号"></el-input> </div> </el-col> <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="searchType" placeholder="请选择作业类型"> + <el-select v-model="workType" placeholder="请选择作业类型"> <el-option v-for="item in workTypeList" :key="item.id" @@ -30,27 +30,26 @@ <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"/> + <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/> </el-row> <el-table - ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{background: '#fafafa'}" > - <el-table-column type="index" label="序号" width="200"/> - <el-table-column property="id" label="作业证编号" width="200"/> - <el-table-column property="workType" label="作业类型" width="200"/> - <el-table-column property="checkInfo" label="检查内容"/> - <el-table-column property="result" label="检查结果"> + <el-table-column type="index" label="序号" width="80"/> + <el-table-column property="workPermitNo" label="作业证编号"/> + <el-table-column property="workTypeDesc" label="作业类型"/> + <el-table-column property="checkContent" label="检查内容"/> + <el-table-column property="checkResultDesc" label="检查结果"> <template #default="scope"> - <span :class="scope.row.result == '异常' ? 'red': ''">{{ scope.row.result }}</span> + <span :class="scope.row.checkResultDesc == '异常' ? 'red': ''">{{ scope.row.checkResultDesc}}</span> </template> </el-table-column> - <el-table-column property="desc" label="描述" width="200"/> - <el-table-column property="name" label="分析人"/> - <el-table-column property="updateTime" label="分析时间"/> + <el-table-column property="info" label="描述" show-overflow-tooltip width="200"/> + <el-table-column property="operatorUname" label="分析人"/> + <el-table-column property="operationTime" label="分析时间" width="180"/> <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> @@ -65,7 +64,7 @@ small=false background layout="total, sizes, prev, pager, next, jumper" - :total="100" + :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -76,37 +75,42 @@ <el-dialog v-model="dialogDetails" title="检查记录"> <el-form :model="details" label-width="120px"> <el-form-item label="作业证编号"> - <el-input v-model="details.id" readonly/> + <el-input v-model="details.workPermitNo" readonly/> </el-form-item> <el-form-item label="作业类型"> - <el-input v-model="details.workType" readonly/> + <el-input v-model="details.workTypeDesc" readonly/> </el-form-item> <el-form-item label="检查内容"> - <el-input v-model="details.checkInfo" readonly/> + <el-input v-model="details.checkContent" readonly/> </el-form-item> <el-form-item label="检查结果"> - <el-input v-model="details.result" readonly/> + <el-input :class="details.checkResultDesc == '异常' ? 'red': ''" v-model="details.checkResultDesc" readonly/> + </el-form-item> + <el-form-item label="现场图片" v-if="details.imagePaths && details.imagePaths.length>0"> + <el-image v-for="item in details.imagePaths" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" /> </el-form-item> <el-form-item label="描述"> - <el-input v-model="details.desc" type="textarea" readonly/> + <el-input v-model="details.info" type="textarea" readonly/> </el-form-item> <el-form-item label="分析人"> - <el-input v-model="details.name" readonly/> + <el-input v-model="details.operatorUname" readonly/> </el-form-item> <el-form-item label="分析时间"> - <el-input v-model="details.updateTime" readonly/> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> + <el-input v-model="details.operationTime" readonly/> </el-form-item> </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button type="primary" @click="dialogDetails = false">确认</el-button> + </span> + </template> </el-dialog> <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="id"> - <el-input v-model="addRecord.id"> + <el-form-item label="作业证编号" prop="workPermitNo"> + <el-input v-model="addRecord.workPermitNo" placeholder="作业编号须为已审批作业的编号,可点击右方按钮查询"> <template #append> - <el-button :icon="Search" /> + <el-button :icon="Search" @click="dialogPermitNo = true"/> </template> </el-input> </el-form-item> @@ -120,16 +124,16 @@ /> </el-select> </el-form-item> - <el-form-item label="检查内容" prop="checkInfo"> - <el-input v-model="addRecord.checkInfo"> </el-input> + <el-form-item label="检查内容" prop="checkContent"> + <el-input v-model="addRecord.checkContent"> </el-input> </el-form-item> - <el-form-item label="检查结果" prop="result"> - <el-select v-model="addRecord.result"> - <el-option label="正常" value="0"/> - <el-option label="异常" value="1"/> + <el-form-item label="检查结果" prop="checkResult"> + <el-select v-model="addRecord.checkResult"> + <el-option label="正常" value="1"/> + <el-option label="异常" value="2"/> </el-select> </el-form-item> - <el-form-item label="现场照片" prop="photos"> + <el-form-item label="现场照片" prop="imagePaths"> <el-upload accept="image/*" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='imgLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl"> <el-icon><Plus /></el-icon> <template #tip> @@ -137,23 +141,34 @@ </template> </el-upload> </el-form-item> - <el-form-item label="描述" prop="desc"> - <el-input v-model="addRecord.desc" type="textarea"> </el-input> - </el-form-item> - <el-form-item> - <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button> - <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button> + <el-form-item label="描述" prop="info"> + <el-input v-model="addRecord.info" type="textarea"> </el-input> </el-form-item> </el-form> + <template #footer> + <span class="dialog-footer"> + <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="dialogVisible"> <img w-full :src="dialogImageUrl" alt="Preview Image" /> + </el-dialog> + <el-dialog v-model="dialogPermitNo" title="选择相应的作业编号"> + <permit-no ref="permitNoInfo"></permit-no> + <template #footer> + <span class="dialog-footer"> + <el-button type="warning" @click="dialogPermitNo = false" size="default" plain>取消</el-button> + <el-button type="primary" @click="confirmPermitNo" size="default">确认</el-button> + </span> + </template> </el-dialog> </div> </template> <script lang="ts"> - import { toRefs, reactive, ref, onMounted } from 'vue'; + import {toRefs, reactive, ref, onMounted, defineAsyncComponent} from 'vue'; import { storeToRefs } from 'pinia'; import { initBackEndControlRoutes } from '/@/router/backEnd'; import { useUserInfo } from '/@/stores/userInfo'; @@ -162,8 +177,9 @@ import { ElTable, ElMessage, ElMessageBox } from 'element-plus' import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus' import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage'; - import {workApplyApi} from "/@/api/specialWorkSystem/workApply"; - import axios from "axios"; + import { workProcessApi } from '/@/api/specialWorkSystem/workProcess'; + import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; + import axios from 'axios'; // 定义接口来定义对象的类型 interface stateType { @@ -178,14 +194,15 @@ deleteArr: Array<any>; dialogDetails: boolean; dialogAddRecord: boolean; + dialogPermitNo: boolean; deleteDialog: boolean; deleteSetDialog: boolean; pageIndex: number; pageSize: number; chosenIndex: null | number; deleteId: null | number; - searchWord: string; - searchType: number | null + workPermitNo: string; + workType: number | null; totalSize: number; addRecord: {}; details: {}; @@ -196,64 +213,42 @@ } export default { name: 'workCheck', - components: {}, + components: { + permitNo: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue')) + }, setup() { const userInfo = useUserInfo(); const { userInfos } = storeToRefs(userInfo); - + const permitNoInfo = ref() const state = reactive<stateType>({ pageIndex: 1, pageSize: 10, totalSize: 0, chosenIndex: null, - searchWord: '', - searchType: null, + workPermitNo: '', + workType: null, isOverSize: false, fileList: [], imgLimit: 3, uploadUrl: '', dialogVisible: false, dialogImageUrl: null, - tableData: [ - { - id: 'GTXH-0000001', - workType: '动火作业', - checkInfo: '动火作业检查', - result: '正常', - desc: 'A车间动火作业过程检查', - name: '李羽飞', - updateTime: '2022-08-31 12:00:00' - }, - { - id: 'GTXH-0000002', - workType: '动火作业', - checkInfo: '动火作业检查', - result: '正常', - desc: 'B车间动火作业过程气体检查', - name: '李羽飞', - updateTime: '2022-08-31 16:31:44' - }, - { - id: 'GTXH-0000003', - workType: '动火作业', - checkInfo: '动火作业检查', - result: '异常', - desc: '', - name: '李羽飞', - updateTime: '2022-08-31 17:05:20' - } - ], + tableData: [], multipleSelection: [], dialogDetails: false, dialogAddRecord: false, + dialogPermitNo: false, deleteDialog: false, deleteSetDialog: false, addRecord: { - + workPermitNo: '', + checkContent: '', + checkResult: '', + info: '', + source: 2, + imagePaths: [] }, - details: { - - }, + details: {}, deleteId: null, deleteArr: [], workTypeList: [ @@ -270,34 +265,25 @@ const addRef = ref<FormInstance>(); const addRules = reactive<FormRules>({ - id: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - checkInfo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - result: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - photos: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - desc: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], - updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] + checkContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + checkResult: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + imagePaths: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], + info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], }); // 页面载入时执行方法 onMounted(() => { - // getListByPage(); + getListByPage(); }); - // 分页获取班组管理列表 + // 分页获取作业检查列表 const getListByPage = async () => { - const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } }; - let res = await teamManageApi().getRecordPage(data); + const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } }; + let res = await workProcessApi().getCheckListPage(data); if (res.data.code === '200') { - state.tableData = res.data.data.map((item) => { - if (!item.groupMembers || item.groupMembers == null) { - item.groupMembers = []; - } else { - item.groupMembers = Array.from(item.groupMembers, ({ username }) => username); - } - return item; - }); + state.tableData = res.data.data state.totalSize = res.data.total; } else { ElMessage({ @@ -314,7 +300,17 @@ message: '超出文件上传数量' }); } - + const confirmPermitNo = ()=>{ + if(permitNoInfo.value.workPermitNo == ''){ + ElMessage({ + type: 'warning', + message: '请选择相应的作业编码' + }); + }else{ + state.addRecord.workPermitNo = permitNoInfo.value.workPermitNo + state.dialogPermitNo = false + } + } const handlePreview: UploadProps['onPreview'] = (uploadFile) => { console.log(uploadFile); }; @@ -335,12 +331,15 @@ return false }else{ const res = await workApplyApi().getUploadUrl(rawFile.name); - state.addRecord.photos.push(res.data.data.fileName) + state.addRecord.imagePaths.push(res.data.data.fileName) state.uploadUrl = res.data.data.uploadUrl; + console.log(state.addRecord.imagePaths,state.uploadUrl,6666666666666) } }; const upload = async (params: any) => { + // const formData = new FormData(); + // formData.append('file', state.fileList[0].raw); let reader = new FileReader(); reader.readAsArrayBuffer(params.file); reader.onload = async () => { @@ -367,7 +366,7 @@ }) .then(() => { // console.log(state.workDetail.photos,'path') - const list = JSON.parse(JSON.stringify(state.addRecord.photos)) + const list = JSON.parse(JSON.stringify(state.addRecord.imagePaths)) fileList.map((item,index)=>{ if(item.uid === file.uid){ fileList.splice(index,1) @@ -381,7 +380,7 @@ reject(false); }); }else{ - const list = JSON.parse(JSON.stringify(state.addRecord.photos)) + const list = JSON.parse(JSON.stringify(state.addRecord.imagePaths)) fileList.map((item,index)=>{ if(item.uid === file.uid){ fileList.splice(index,1) @@ -414,7 +413,7 @@ // 关键词查询记录 const searchRecord = async () => { - if (state.searchWord == '') { + if (state.workPermitNo == ''&& state.workType == null) { ElMessage({ type: 'warning', message: '请输入查询关键词' @@ -425,13 +424,15 @@ }; const clearSearch = async () => { - state.searchWord = ''; + state.workPermitNo = ''; + state.workType = null; getListByPage(); }; - // 添加班组管理方法 + + // 添加气体检测方法 const addRecord = async (data: any) => { - let res = await teamManageApi().addRecord(data); + let res = await workProcessApi().postCheckReport(data); if (res.data.code === '200') { ElMessage({ type: 'success', @@ -446,24 +447,15 @@ } }; + // 新增修改记录 const confirmAddRecord = async (formEl: FormInstance | undefined) => { 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) { - await addRecord(data); - } else { - data.groupId = JSON.stringify(state.addRecord.groupId); - await editRecord(data); - } + await addRecord(state.addRecord); state.dialogAddRecord = false; + getListByPage(); } else { console.log('error submit!', fields); } @@ -519,7 +511,9 @@ Refresh, Plus, Search, + permitNoInfo, showTip, + confirmPermitNo, handlePreview, handlePictureCardPreview, getUploadUrl, @@ -546,6 +540,10 @@ $homeNavLengh: 8; .red{ color: red; + + ::v-deep(input){ + color: red; + } } .home-container { height: calc(100vh - 144px); -- Gitblit v1.9.2