From ae0e1c96b6da4f4515bf449db45a4ee839d2c61f Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期四, 14 七月 2022 09:08:37 +0800 Subject: [PATCH] 添加修改页面 --- src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue | 2 src/views/specialWorkSystem/workProcessManagement/workCheckinRecord/index.vue | 2 src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue | 2 src/views/specialWorkSystem/workPlan/workReservation/index.vue | 2 src/views/specialWorkSystem/approveProcessManagement/approveProcessSetting/index.vue | 2 src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue | 333 ++++++++++++ src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue | 129 +++- src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue | 2 src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue | 313 +++++++++++ src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue | 6 src/views/specialWorkSystem/approveProcessManagement/addApproveProcess/index.vue | 2 src/views/specialWorkSystem/approveProcessManagement/reportTypeSetting/index.vue | 7 src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue | 356 +++++++++++++ src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue | 406 +++++++++++++++ 14 files changed, 1,511 insertions(+), 53 deletions(-) diff --git a/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue b/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue index cba6e83..d63fbd1 100644 --- a/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue +++ b/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue @@ -31,14 +31,15 @@ <el-table-column type="selection" width="55" /> <el-table-column property="id" label="作业证编号" width="200" sortable/> <el-table-column property="cardName" label="作业证名称" width="180" /> - <el-table-column property="checkinTime" label="抽检日期" sortable/> - <el-table-column property="name" label="抽检人"/> + <el-table-column property="worker" label="抽检人"/> + <el-table-column property="checkTime" label="抽检时间" sortable/> <el-table-column property="result" label="抽检结果"/> <el-table-column property="remark" label="抽检意见"/> - <el-table-column fixed="right" label="操作" width="180"> + <el-table-column fixed="right" label="操作" align="center" width="250"> <template #default="scope"> - <el-button link type="primary" size="small" @click="viewRecord(scope.row)">查看</el-button> - <el-button link type="danger" size="small" @click="deleteRecord(scope.row)">删除</el-button> + <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="editRecord(scope.$index ,scope.row)">修改</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> </template> </el-table-column> </el-table> @@ -58,7 +59,7 @@ </div> </div> </el-scrollbar> - <el-dialog v-model="dialogDetails" title="作业票抽检" @close="dialogColse"> + <el-dialog v-model="dialogDetails" title="作业票抽检"> <el-form :model="details" label-width="120px"> <el-form-item label="作业证编号"> <el-input @@ -69,7 +70,7 @@ </el-form-item> <el-form-item label="抽检人"> <el-input - v-model="details.name" + v-model="details.worker" class="input-with-select" readonly /> @@ -83,7 +84,7 @@ </el-form-item> <el-form-item label="抽检时间"> <el-input - v-model="details.checkinTime" + v-model="details.checkTime" class="input-with-select" readonly /> @@ -96,11 +97,11 @@ </el-form-item> </el-form> </el-dialog> - <el-dialog v-model="dialogAddRecord" title="新建作业票抽检" @close="dialogColse"> - <el-form :model="AddRecord" label-width="120px"> - <el-form-item label="作业证编号"> + <el-dialog v-model="dialogAddRecord" title="作业票抽检编辑" @close="closeAdd"> + <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> + <el-form-item label="作业证编号" prop="id"> <el-input - v-model="AddRecord.id" + v-model="addRecord.id" class="input-with-select" > <template #append> @@ -108,9 +109,9 @@ </template> </el-input> </el-form-item> - <el-form-item label="作业证名称"> + <el-form-item label="作业证名称" prop="cardName"> <el-input - v-model="AddRecord.cardName" + v-model="addRecord.cardName" class="input-with-select" > <template #append> @@ -118,9 +119,9 @@ </template> </el-input> </el-form-item> - <el-form-item label="抽检人"> + <el-form-item label="抽检人" prop="worker"> <el-input - v-model="AddRecord.name" + v-model="addRecord.worker" class="input-with-select" > <template #append> @@ -128,34 +129,30 @@ </template> </el-input> </el-form-item> - <el-form-item label="抽检结果"> - <el-select v-model="AddRecord.result"> + <el-form-item label="抽检时间" prop="checkTime"> + <el-date-picker v-model="addRecord.checkTime" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" placeholder="Select date and time"/> + </el-form-item> + <el-form-item label="抽检结果" prop="result"> + <el-select v-model="addRecord.result"> <el-option label="合格" value="合格" /> <el-option label="不合格" value="不合格" /> </el-select> </el-form-item> - <el-form-item label="抽检时间"> - <el-date-picker - v-model="AddRecord.checkinTime" - type="datetime" - placeholder="请选择" - /> - </el-form-item> <el-form-item label="抽检意见"> - <el-input v-model="AddRecord.remark" type="textarea"/> + <el-input v-model="addRecord.remark" type="textarea"/> </el-form-item> <el-form-item> - <el-button type="warning" @click="dialogDetails = false" size="default" plain>取消</el-button> - <el-button type="primary" @click="addRecord" size="default">确认</el-button> + <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> </el-form> </el-dialog> - <el-dialog v-model="deleteDialog" title="提示" width="30%" center> + <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> - <el-button @click="deleteDialog = false" size="default">取消</el-button> </span> </template> </el-dialog> @@ -168,8 +165,9 @@ import { initBackEndControlRoutes } from '/@/router/backEnd'; import {useUserInfo} from "/@/stores/userInfo"; import { Session } from '/@/utils/storage'; - import { Edit, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue' + import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue' import { ElTable } from 'element-plus' + import { FormInstance, FormRules } from 'element-plus' let global: any = { homeChartOne: null, homeChartTwo: null, @@ -191,49 +189,85 @@ const state = reactive<stateType>({}); const currentPage = ref(1) const pageSize = ref(10) + const chosenIndex = ref(-1) const handleSizeChange = (val: number) => { console.log(`${val} items per page`) } const handleCurrentChange = (val: number) => { console.log(`current page: ${val}`) } - const tableData = ref( + const tableData = reactive( [ { id: '11011', cardName: '动火作业证', - checkinTime: '2021-04-22 15:21:31', - name: '吴海涛', + checkTime: '2021-04-22 15:21:31', + worker: '吴海涛', result: '合格', remark: '没意见' }, { id: '11012', cardName: '动火作业证', - checkinTime: '2021-04-22 15:21:31', - name: '吴沈峰', + checkTime: '2021-04-22 15:21:31', + worker: '吴沈峰', result: '合格', remark: '有点意见' }, ] ) + const addRef = ref<FormInstance>() + const addRules = reactive<FormRules>({ + id:[{required: true, message: '该内容不能为空',trigger:'blur'}], + cardName:[{required: true, message: '该内容不能为空',trigger:'blur'}], + worker:[{required: true, message: '该内容不能为空',trigger:'blur'}], + result:[{required: true, message: '该内容不能为空',trigger:'blur'}], + checkTime:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) const dialogDetails = ref(false) const dialogAddRecord = ref(false) const deleteDialog = ref(false) - const AddRecord = ref({}) + const addRecord = ref({}) const details = ref({}) const viewRecord = (row) =>{ details.value = JSON.parse(JSON.stringify(row)) dialogDetails.value = true } - const deleteRecord = (row) =>{ + const deleteRecord = (index) =>{ + chosenIndex.value = index deleteDialog.value = true } - const conFirmDelete = (row)=> { - console.log(row,'row') - details.value = JSON.parse(JSON.stringify(row)) - console.log(details,'details') - dialogDetails.value = true + const conFirmDelete = ()=> { + tableData.splice(chosenIndex.value,1) + deleteDialog.value = false + } + const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(chosenIndex.value == -1){ + tableData.push(addRecord.value) + }else{ + tableData[chosenIndex.value] = addRecord.value + } + dialogAddRecord.value =false + } else { + console.log('error submit!', fields) + } + }) + + } + const closeAdd =()=>{ + addRecord.value={} + chosenIndex.value = -1 + } + const indexClear = ()=>{ + chosenIndex.value = -1 + } + const editRecord =(index, row)=>{ + dialogAddRecord.value = true + chosenIndex.value = index + addRecord.value = JSON.parse(JSON.stringify(row)) } // 折线图 const renderMenu = async (value: string) => { @@ -336,4 +370,13 @@ } } } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } </style> diff --git a/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue b/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue index 85657ec..6cbd1af 100644 --- a/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue +++ b/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue @@ -33,6 +33,12 @@ <el-table-column property="name" label="申请人" width="300" /> <el-table-column property="department" label="申请部门" /> <el-table-column property="date" label="归档日期" sortable /> + <el-table-column fixed="right" label="操作" align="center" width="180"> + <template #default="scope"> + <el-button link type="primary" size="small" @click="">查看</el-button> + <el-button link type="danger" size="small" @click="">删除</el-button> + </template> + </el-table-column> </el-table> </div> <div class="pageBtn"> diff --git a/src/views/specialWorkSystem/approveProcessManagement/addApproveProcess/index.vue b/src/views/specialWorkSystem/approveProcessManagement/addApproveProcess/index.vue index e01d0e3..92a7ccc 100644 --- a/src/views/specialWorkSystem/approveProcessManagement/addApproveProcess/index.vue +++ b/src/views/specialWorkSystem/approveProcessManagement/addApproveProcess/index.vue @@ -13,7 +13,7 @@ <el-table-column prop="createTime" label="创建时间" width="180" /> <el-table-column prop="editor" label="最新编辑人" width="180" /> <el-table-column prop="editeTime" label="最新编辑时间" width="180" /> - <el-table-column fixed="right" label="操作" width="180"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default="scope"> <el-button link type="primary" size="small" @click="editeRow(scope.$index,scope.row)">编辑</el-button> <el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button> diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue index 69764ef..bccd311 100644 --- a/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue +++ b/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue @@ -43,7 +43,7 @@ </template> </el-table-column> <el-table-column property="updateTime" label="更新时间"/> - <el-table-column fixed="right" label="操作" width="180"> + <el-table-column fixed="right" label="操作" align="center" width="250"> <template #default> <el-button link type="primary" size="small">修改</el-button> <el-button link type="success" size="small">发布</el-button> diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveProcessSetting/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveProcessSetting/index.vue index 33de449..3425cab 100644 --- a/src/views/specialWorkSystem/approveProcessManagement/approveProcessSetting/index.vue +++ b/src/views/specialWorkSystem/approveProcessManagement/approveProcessSetting/index.vue @@ -62,8 +62,8 @@ <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> - <el-button @click="deleteDialog = false" size="default">取消</el-button> </span> </template> </el-dialog> diff --git a/src/views/specialWorkSystem/approveProcessManagement/reportTypeSetting/index.vue b/src/views/specialWorkSystem/approveProcessManagement/reportTypeSetting/index.vue index 49fbc6d..c7b94d6 100644 --- a/src/views/specialWorkSystem/approveProcessManagement/reportTypeSetting/index.vue +++ b/src/views/specialWorkSystem/approveProcessManagement/reportTypeSetting/index.vue @@ -13,10 +13,10 @@ <el-table-column prop="createTime" label="创建时间" width="180" /> <el-table-column prop="editor" label="最新编辑人" width="180" /> <el-table-column prop="editeTime" label="最新编辑时间" /> - <el-table-column fixed="right" label="操作" width="180"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default="scope"> - <el-button link type="primary" size="small" @click="editeRow(scope.$index,scope.row)">编辑</el-button> - <el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button> + <el-button link type="primary" size="small" :icon="Edit" @click="editeRow(scope.$index,scope.row)">编辑</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRow(scope.$index)">删除</el-button> </template> </el-table-column> </el-table> @@ -56,6 +56,7 @@ import { initBackEndControlRoutes } from '/@/router/backEnd'; import {useUserInfo} from "/@/stores/userInfo"; import { Session } from '/@/utils/storage'; + import { Edit, Delete } from '@element-plus/icons-vue' import { FormInstance, FormRules } from 'element-plus' let global: any = { homeChartOne: null, diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue index 7b0a1e0..7d2d26b 100644 --- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue +++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue @@ -22,7 +22,7 @@ <el-table-column prop="unit" label="所属单位" width="180" /> <el-table-column prop="certificate" label="证书名称" width="180" /> <el-table-column prop="certificateId" label="证书号" /> - <el-table-column fixed="right" label="操作"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default="scope"> <el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button> </template> diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue new file mode 100644 index 0000000..ae0fccf --- /dev/null +++ b/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue @@ -0,0 +1,333 @@ +<template> + <div class="home-container"> + <el-scrollbar height="100%"> + <el-row class="homeCard"> + <el-col :span="8"> + <div class="grid-content topInfo"> + <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%"> + <el-option label="临时用电" value="临时用电" /> + <el-option label="设备检修" value="设备检修" /> + </el-select> + <el-button type="primary">查询</el-button> + <el-button plain>重置</el-button> + </div> + </el-col> + </el-row> + <div class="homeCard"> + <div class="main-card"> + <el-row class="cardTop"> + <el-col :span="12" class="mainCardBtn"> + <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button> +<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>--> + <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button> + </el-col> + <el-button type="primary" :icon="Refresh" size="default"/> + </el-row> + <el-table + ref="multipleTableRef" + :data="tableData" + style="width: 100%" + :header-cell-style="{background: '#fafafa'}" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" /> + <el-table-column property="certificate" label="证书名称" /> + <el-table-column property="jobType" label="作业类型" sortable/> + <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="editRecord(scope.$index ,scope.row)">修改</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> + </template> + </el-table-column> + </el-table> + </div> + <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="100" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> + </div> + </div> + </el-scrollbar> + <el-dialog v-model="dialogDetails" title="证书过滤"> + <el-form :model="details" label-width="120px"> + <el-form-item label="证书名称"> + <el-input + v-model="details.certificate" + readonly + /> + </el-form-item> + <el-form-item label="作业类型"> + <el-input + v-model="details.jobType" + readonly + /> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog v-model="dialogAddRecord" title="证书过滤编辑" @close="closeAdd"> + <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> + <el-form-item label="证书名称" prop="certificate"> + <el-input + v-model="addRecord.certificate" + placeholder="请选择工种" + > + <template #append> + <el-button :icon="Search"/> + </template> + </el-input> + </el-form-item> + <el-form-item label="作业类型" prop="jobType"> + <el-select v-model="addRecord.jobType" placeholder="请选择"> + <el-option label="临时用电" value="临时用电" /> + <el-option label="设备检修" value="设备检修" /> + </el-select> + </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> + </el-form> + </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> +</template> + +<script lang="ts" setup> + import { toRefs, reactive, ref } 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 { FormInstance, FormRules } from 'element-plus' + let global: any = { + homeChartOne: null, + homeChartTwo: null, + homeCharThree: null, + dispose: [null, '', undefined], + }; + + interface stateType { + homeOne: Array <type> + } + interface type { + + } + // export default defineComponent({ + // name: 'workCheckinRecord', + // setup() { + const userInfo = useUserInfo() + const { userInfos } = storeToRefs(userInfo); + const state = reactive<stateType>({}); + const currentPage = ref(1) + const pageSize = ref(10) + const searchType=ref('') + const chosenIndex = ref(-1) + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`) + } + const handleCurrentChange = (val: number) => { + console.log(`current page: ${val}`) + } + const tableData = reactive( + [ + { + certificate: '登高作业证', + jobType: '高处作业' + }, + { + certificate: '焊接与热切割作业', + jobType: '动火作业' + }, + { + certificate: '低压电工证', + jobType: '临时用电' + }, + { + certificate: '化工自动化控制仪表作业', + jobType: '设备检修' + } + ] + ) + const addRef = ref<FormInstance>() + const addRules = reactive<FormRules>({ + certificate:[{required: true, message: '该内容不能为空',trigger:'blur'}], + jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) + const dialogDetails = ref(false) + const dialogAddRecord = ref(false) + const deleteDialog = ref(false) + const addRecord = ref({}) + const details = ref({}) + const viewRecord = (row) =>{ + details.value = JSON.parse(JSON.stringify(row)) + dialogDetails.value = true + } + const deleteRecord = (index) =>{ + chosenIndex.value = index + deleteDialog.value = true + } + const conFirmDelete = ()=> { + tableData.splice(chosenIndex.value,1) + deleteDialog.value = false + } + const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(chosenIndex.value == -1){ + tableData.push(addRecord.value) + }else{ + tableData[chosenIndex.value] = addRecord.value + } + dialogAddRecord.value =false + } else { + console.log('error submit!', fields) + } + }) + + } + const closeAdd =()=>{ + addRecord.value={} + chosenIndex.value = -1 + } + const indexClear = ()=>{ + chosenIndex.value = -1 + } + const editRecord =(index, row)=>{ + dialogAddRecord.value = true + chosenIndex.value = index + addRecord.value = JSON.parse(JSON.stringify(row)) + } + // 折线图 + const renderMenu = async (value: string) => { + Session.set('projectId',value) + userInfos.value.projectId = value + await initBackEndControlRoutes(); + }; + // return { + // renderMenu, + // multipleTableRef, + // tableData, + // currentPage, + // pageSize, + // dialogDetails, + // details, + // deleteDialog, + // dialogAddRecord, + // viewRecord, + // deleteRecord, + // handleSizeChange, + // handleCurrentChange, + // Plus, + // Edit, + // Delete, + // Search, + // Download, + // handleSelectionChange, + // Refresh, + // ...toRefs(state), + // }; + // }, + // }); +</script> + +<style scoped lang="scss"> + $homeNavLengh: 8; + .home-container { + height: 100%; + overflow: hidden; + padding: 20px; + .homeCard{ + width: 100%; + padding: 20px; + background: #fff; + border-radius: 4px; + } + .el-row{ + display: flex; + align-items: center; + margin-bottom: 20px; + &:last-child { + margin-bottom: 0; + } + .grid-content{ + align-items: center; + min-height: 36px; + } + + .topInfo { + display: flex; + align-items: center; + font-size: 16px; + font-weight: bold; + + &>div{ + white-space: nowrap; + margin-right: 20px; + } + } + } + .mainPages{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .main-card{ + width: 100%; + .cardTop{ + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + .mainCardBtn{ + margin: 0; + } + } + } + .pageBtn{ + display: flex; + align-items: center; + justify-content: right; + margin-top: 20px; + + .demo-pagination-block + .demo-pagination-block { + margin-top: 10px; + } + .demo-pagination-block .demonstration { + margin-bottom: 16px; + } + } + } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } +</style> diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue new file mode 100644 index 0000000..ee5228a --- /dev/null +++ b/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue @@ -0,0 +1,313 @@ +<template> + <div class="home-container"> + <el-scrollbar height="100%"> + <el-row class="homeCard"> + <el-col :span="8"> + <div class="grid-content topInfo"> + <el-input v-model="deviceName" placeholder="防护用品名称"></el-input> + <el-button type="primary">查询</el-button> + <el-button plain>重置</el-button> + </div> + </el-col> + </el-row> + <div class="homeCard"> + <div class="main-card"> + <el-row class="cardTop"> + <el-col :span="12" class="mainCardBtn"> + <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button> +<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>--> + <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button> + </el-col> + <el-button type="primary" :icon="Refresh" size="default"/> + </el-row> + <el-table + ref="multipleTableRef" + :data="tableData" + style="width: 100%" + :header-cell-style="{background: '#fafafa'}" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" /> + <el-table-column property="device" 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="editRecord(scope.$index ,scope.row)">修改</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> + </template> + </el-table-column> + </el-table> + </div> + <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="100" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> + </div> + </div> + </el-scrollbar> + <el-dialog v-model="dialogDetails" title="防护用品"> + <el-form :model="details" label-width="120px"> + <el-form-item label="防护用品名称"> + <el-input + v-model="details.device" + readonly + /> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog v-model="dialogAddRecord" title="防护用品编辑" @close="closeAdd"> + <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> + <el-form-item label="防护用品名称" prop="device"> + <el-input + v-model="addRecord.device" + placeholder="请填写防护用品名称" + > + <template #append> + <el-button :icon="Search"/> + </template> + </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> + </el-form> + </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> +</template> + +<script lang="ts" setup> + import { toRefs, reactive, ref } 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 { FormInstance, FormRules } from 'element-plus' + let global: any = { + homeChartOne: null, + homeChartTwo: null, + homeCharThree: null, + dispose: [null, '', undefined], + }; + + interface stateType { + homeOne: Array <type> + } + interface type { + + } + // export default defineComponent({ + // name: 'workCheckinRecord', + // setup() { + const userInfo = useUserInfo() + const { userInfos } = storeToRefs(userInfo); + const state = reactive<stateType>({}); + const currentPage = ref(1) + const pageSize = ref(10) + const searchType=ref('') + const chosenIndex = ref(-1) + const deviceName = ref('') + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`) + } + const handleCurrentChange = (val: number) => { + console.log(`current page: ${val}`) + } + const tableData = reactive( + [ + { + device: '送风式长管式呼吸器' + }, + { + device: '防静电工作鞋' + }, + { + device: '隔绝式呼吸器' + }, + { + device: '防爆工具' + } + ] + ) + const addRef = ref<FormInstance>() + const addRules = reactive<FormRules>({ + device:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) + const dialogDetails = ref(false) + const dialogAddRecord = ref(false) + const deleteDialog = ref(false) + const addRecord = ref({}) + const details = ref({}) + const viewRecord = (row) =>{ + details.value = JSON.parse(JSON.stringify(row)) + dialogDetails.value = true + } + const deleteRecord = (index) =>{ + chosenIndex.value = index + deleteDialog.value = true + } + const conFirmDelete = ()=> { + tableData.splice(chosenIndex.value,1) + deleteDialog.value = false + } + const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(chosenIndex.value == -1){ + tableData.push(addRecord.value) + }else{ + tableData[chosenIndex.value] = addRecord.value + } + dialogAddRecord.value =false + } else { + console.log('error submit!', fields) + } + }) + + } + const closeAdd =()=>{ + addRecord.value={} + chosenIndex.value = -1 + } + const indexClear = ()=>{ + chosenIndex.value = -1 + } + const editRecord =(index, row)=>{ + dialogAddRecord.value = true + chosenIndex.value = index + addRecord.value = JSON.parse(JSON.stringify(row)) + } + // 折线图 + const renderMenu = async (value: string) => { + Session.set('projectId',value) + userInfos.value.projectId = value + await initBackEndControlRoutes(); + }; + // return { + // renderMenu, + // multipleTableRef, + // tableData, + // currentPage, + // pageSize, + // dialogDetails, + // details, + // deleteDialog, + // dialogAddRecord, + // viewRecord, + // deleteRecord, + // handleSizeChange, + // handleCurrentChange, + // Plus, + // Edit, + // Delete, + // Search, + // Download, + // handleSelectionChange, + // Refresh, + // ...toRefs(state), + // }; + // }, + // }); +</script> + +<style scoped lang="scss"> + $homeNavLengh: 8; + .home-container { + height: 100%; + overflow: hidden; + padding: 20px; + .homeCard{ + width: 100%; + padding: 20px; + background: #fff; + border-radius: 4px; + } + .el-row{ + display: flex; + align-items: center; + margin-bottom: 20px; + &:last-child { + margin-bottom: 0; + } + .grid-content{ + align-items: center; + min-height: 36px; + } + + .topInfo { + display: flex; + align-items: center; + font-size: 16px; + font-weight: bold; + + &>div{ + white-space: nowrap; + margin-right: 20px; + } + } + } + .mainPages{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .main-card{ + width: 100%; + .cardTop{ + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + .mainCardBtn{ + margin: 0; + } + } + } + .pageBtn{ + display: flex; + align-items: center; + justify-content: right; + margin-top: 20px; + + .demo-pagination-block + .demo-pagination-block { + margin-top: 10px; + } + .demo-pagination-block .demonstration { + margin-bottom: 16px; + } + } + } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } +</style> diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue new file mode 100644 index 0000000..7e48122 --- /dev/null +++ b/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue @@ -0,0 +1,406 @@ +<template> + <div class="home-container"> + <el-scrollbar height="100%"> + <el-row class="homeCard"> + <el-col :span="16"> + <div class="grid-content topInfo"> + <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%"> + <el-option label="临时用电" value="临时用电"/> + <el-option label="设备检修" value="设备检修"/> + </el-select> + <el-select v-model="checkType" placeholder="请选择检查类型" style="width: 100%"> + <el-option label="临时用电" value="临时用电"/> + <el-option label="设备检修" value="设备检修"/> + </el-select> + <el-input v-model="searchWord" placeholder="输入检查内容"></el-input> + <el-button type="primary">查询</el-button> + <el-button plain>重置</el-button> + <el-button plain :icon="Upload"></el-button> + </div> + </el-col> + </el-row> + <div class="homeCard"> + <div class="main-card"> + <el-row class="cardTop"> + <el-col :span="12" class="mainCardBtn"> + <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button> +<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>--> + <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button> + </el-col> + <el-button type="primary" :icon="Refresh" size="default"/> + </el-row> + <el-table + ref="multipleTableRef" + :data="tableData" + style="width: 100%" + :header-cell-style="{background: '#fafafa'}" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" /> + <el-table-column property="jobType" label="作业类型" width="200" sortable/> + <el-table-column property="type" label="类型" width="180" /> + <el-table-column property="checkType" label="检查类型"/> + <el-table-column property="checkContent" label="检查内容" sortable/> + <el-table-column property="judgement" label="参考判断"/> + <el-table-column property="sort" label="排序" sortable/> + <el-table-column property="remark" label="备注"/> + <el-table-column property="updater" label="更新人"/> + <el-table-column property="updateTime" label="更新时间" sortable/> + <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="editRecord(scope.$index ,scope.row)">修改</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> + </template> + </el-table-column> + </el-table> + </div> + <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="100" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> + </div> + </div> + </el-scrollbar> + <el-dialog v-model="dialogDetails" title="安全措施"> + <el-form :model="details" label-width="120px"> + <el-form-item label="作业类型"> + <el-input + v-model="details.jobType" + readonly + /> + </el-form-item> + <el-form-item label="类型"> + <el-input + v-model="details.type" + readonly + /> + </el-form-item> + <el-form-item label="检查类型"> + <el-input + v-model="details.checkType" + readonly + /> + </el-form-item> + <el-form-item label="检查内容"> + <el-input + v-model="details.checkContent" + type="textarea" + readonly + /> + </el-form-item> + <el-form-item label="参考判断"> + <el-input v-model="details.judgement" readonly/> + </el-form-item> + <el-form-item label="排序"> + <el-input v-model="details.sort" readonly/> + </el-form-item> + <el-form-item label="备注"> + <el-input v-model="details.remark" type="textarea" readonly/> + </el-form-item> + <el-form-item label="更新人"> + <el-input v-model="details.updater" 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-form-item> + </el-form> + </el-dialog> + <el-dialog v-model="dialogAddRecord" title="安全措施编辑" @close="closeAdd"> + <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> + <el-form-item label="作业类型" prop="jobType"> + <el-select v-model="addRecord.jobType"> + <el-option label="动火作业" value="动火作业" /> + <el-option label="动土作业" value="动土作业" /> + </el-select> + </el-form-item> + <el-form-item label="类型" prop="type"> + <el-select v-model="addRecord.type"> + <el-option label="施工单位负责检查项" value="施工单位负责检查项" /> + <el-option label="施工单位不负责检查项" value="施工单位不负责检查项" /> + </el-select> + </el-form-item> + <el-form-item label="检查类型" prop="checkType"> + <el-select v-model="addRecord.checkType"> + <el-option label="判断" value="判断" /> + <el-option label="填空" value="填空" /> + </el-select> + </el-form-item> + <el-form-item label="检查内容" prop="checkContent"> + <el-input + v-model="addRecord.checkContent" + type="textarea" + > + </el-input> + </el-form-item> + <el-form-item label="参考判断" prop="judgement"> + <el-radio-group v-model="addRecord.judgement"> + <el-radio label="Y" size="large">Y</el-radio> + <el-radio label="N" size="large">N</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="排序值" prop="sort"> + <el-input-number v-model="addRecord.sort" :min="1" :max="100" @change="handleChange" /> + </el-form-item> + <el-form-item label="备注"> + <el-input v-model="addRecord.remark" type="textarea"/> + </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> + </el-form> + </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> +</template> + +<script lang="ts" setup> + import { toRefs, reactive, ref } 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, Upload } from '@element-plus/icons-vue' + import { ElTable } from 'element-plus' + import { FormInstance, FormRules } from 'element-plus' + let global: any = { + homeChartOne: null, + homeChartTwo: null, + homeCharThree: null, + dispose: [null, '', undefined], + }; + + interface stateType { + homeOne: Array <type> + } + interface type { + + } + // export default defineComponent({ + // name: 'workCheckinRecord', + // setup() { + const userInfo = useUserInfo() + const { userInfos } = storeToRefs(userInfo); + const state = reactive<stateType>({}); + const currentPage = ref(1) + const pageSize = ref(10) + const chosenIndex = ref(-1) + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`) + } + const handleCurrentChange = (val: number) => { + console.log(`current page: ${val}`) + } + const tableData = reactive( + [ + { + jobType: '动火作业', + type: '施工单位负责检查项', + checkType: '判断', + checkContent: '断开与动火设备相连接的所有管线', + judgement: 'Y', + sort: '2', + remark: '666', + updater: 'admin', + updateTime: '2021-04-22 15:21:31' + }, + { + jobType: '动火作业', + type: '施工单位负责检查项', + checkType: '填空', + checkContent: '动火点周围易燃物已清除', + judgement: 'N', + sort: '4', + remark: '666', + updater: 'admin', + updateTime: '2021-04-22 15:21:31' + } + ] + ) + const addRef = ref<FormInstance>() + const addRules = reactive<FormRules>({ + jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}], + type:[{required: true, message: '该内容不能为空',trigger:'blur'}], + checkType:[{required: true, message: '该内容不能为空',trigger:'blur'}], + checkContent:[{required: true, message: '该内容不能为空',trigger:'blur'}], + judgement:[{required: true, message: '该内容不能为空',trigger:'blur'}], + sort:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) + const dialogDetails = ref(false) + const dialogAddRecord = ref(false) + const deleteDialog = ref(false) + const addRecord = ref({}) + const details = ref({}) + const viewRecord = (row) =>{ + details.value = JSON.parse(JSON.stringify(row)) + dialogDetails.value = true + } + const deleteRecord = (index) =>{ + chosenIndex.value = index + deleteDialog.value = true + } + const conFirmDelete = ()=> { + tableData.splice(chosenIndex.value,1) + deleteDialog.value = false + } + const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(chosenIndex.value == -1){ + addRecord.value.updateTime = new Date().toLocaleString() + tableData.push(addRecord.value) + }else{ + addRecord.value.updateTime = new Date().toLocaleString() + tableData[chosenIndex.value] = addRecord.value + } + dialogAddRecord.value =false + } else { + console.log('error submit!', fields) + } + }) + + } + const closeAdd =()=>{ + addRecord.value={} + chosenIndex.value = -1 + } + const indexClear = ()=>{ + chosenIndex.value = -1 + } + const editRecord =(index, row)=>{ + dialogAddRecord.value = true + chosenIndex.value = index + addRecord.value = JSON.parse(JSON.stringify(row)) + } + // 折线图 + const renderMenu = async (value: string) => { + Session.set('projectId',value) + userInfos.value.projectId = value + await initBackEndControlRoutes(); + }; + // return { + // renderMenu, + // multipleTableRef, + // tableData, + // currentPage, + // pageSize, + // dialogDetails, + // details, + // deleteDialog, + // dialogAddRecord, + // viewRecord, + // deleteRecord, + // handleSizeChange, + // handleCurrentChange, + // Plus, + // Edit, + // Delete, + // Search, + // Download, + // handleSelectionChange, + // Refresh, + // ...toRefs(state), + // }; + // }, + // }); +</script> + +<style scoped lang="scss"> + $homeNavLengh: 8; + .home-container { + height: 100%; + overflow: hidden; + padding: 20px; + .homeCard{ + width: 100%; + padding: 20px; + background: #fff; + border-radius: 4px; + } + .el-row{ + display: flex; + align-items: center; + margin-bottom: 20px; + &:last-child { + margin-bottom: 0; + } + .grid-content{ + align-items: center; + min-height: 36px; + } + + .topInfo { + display: flex; + align-items: center; + font-size: 16px; + font-weight: bold; + + &>div{ + white-space: nowrap; + margin-right: 20px; + } + } + } + .mainPages{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .main-card{ + width: 100%; + .cardTop{ + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + .mainCardBtn{ + margin: 0; + } + } + } + .pageBtn{ + display: flex; + align-items: center; + justify-content: right; + margin-top: 20px; + + .demo-pagination-block + .demo-pagination-block { + margin-top: 10px; + } + .demo-pagination-block .demonstration { + margin-bottom: 16px; + } + } + } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } +</style> diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue new file mode 100644 index 0000000..27e072f --- /dev/null +++ b/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue @@ -0,0 +1,356 @@ +<template> + <div class="home-container"> + <el-scrollbar height="100%"> + <el-row class="homeCard"> + <el-col :span="16"> + <div class="grid-content topInfo"> + <el-select v-model="searchType" placeholder="请选择作业类型" style="width: 100%"> + <el-option label="临时用电" value="临时用电" /> + <el-option label="设备检修" value="设备检修" /> + </el-select> + <el-input v-model="workTypeId" placeholder="工种编号"></el-input> + <el-input v-model="workType" placeholder="工种"></el-input> + <el-button type="primary">查询</el-button> + <el-button plain>重置</el-button> + </div> + </el-col> + </el-row> + <div class="homeCard"> + <div class="main-card"> + <el-row class="cardTop"> + <el-col :span="12" class="mainCardBtn"> + <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button> +<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>--> + <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button> + </el-col> + <el-button type="primary" :icon="Refresh" size="default"/> + </el-row> + <el-table + ref="multipleTableRef" + :data="tableData" + style="width: 100%" + :header-cell-style="{background: '#fafafa'}" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" /> + <el-table-column property="jobType" label="作业类型" sortable/> + <el-table-column property="workId" label="工种编号" /> + <el-table-column property="workType" 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="editRecord(scope.$index ,scope.row)">修改</el-button> + <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> + </template> + </el-table-column> + </el-table> + </div> + <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="100" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> + </div> + </div> + </el-scrollbar> + <el-dialog v-model="dialogDetails" title="作业工种"> + <el-form :model="details" label-width="120px"> + <el-form-item label="作业类型"> + <el-input + v-model="details.jobType" + class="input-with-select" + readonly + /> + </el-form-item> + <el-form-item label="工种编号"> + <el-input + v-model="details.workId" + class="input-with-select" + readonly + /> + </el-form-item> + <el-form-item label="工种"> + <el-input + v-model="details.workType" + class="input-with-select" + readonly + /> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog v-model="dialogAddRecord" title="作业工种编辑" @close="closeAdd"> + <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules"> + <el-form-item label="作业类型" prop="jobType"> + <el-select v-model="addRecord.jobType" placeholder="请选择"> + <el-option label="临时用电" value="临时用电" /> + <el-option label="设备检修" value="设备检修" /> + </el-select> + </el-form-item> + <el-form-item label="工种编号" prop="workId"> + <el-input + v-model="addRecord.workId" + placeholder="请填写工种编号" + > + </el-input> + </el-form-item> + <el-form-item label="工种" prop="workType"> + <el-input + v-model="addRecord.workType" + placeholder="请选择工种" + > + <template #append> + <el-button :icon="Search"/> + </template> + </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> + </el-form> + </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> +</template> + +<script lang="ts" setup> + import { toRefs, reactive, ref } 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 { FormInstance, FormRules } from 'element-plus' + let global: any = { + homeChartOne: null, + homeChartTwo: null, + homeCharThree: null, + dispose: [null, '', undefined], + }; + + interface stateType { + homeOne: Array <type> + } + interface type { + + } + // export default defineComponent({ + // name: 'workCheckinRecord', + // setup() { + const userInfo = useUserInfo() + const { userInfos } = storeToRefs(userInfo); + const state = reactive<stateType>({}); + const currentPage = ref(1) + const pageSize = ref(10) + const chosenIndex = ref(-1) + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`) + } + const handleCurrentChange = (val: number) => { + console.log(`current page: ${val}`) + } + const tableData = reactive( + [ + { + jobType: '临时用电', + workId: 'LD', + workType: '临时用电作业' + }, + { + jobType: '设备检修', + workId: 'WX', + workType: '检维修作业' + }, + { + jobType: '受限空间', + workId: 'SX', + workType: '受限空间作业' + }, + { + jobType: '动火作业', + workId: 'DH', + workType: '焊接与热切割作业' + } + ] + ) + const addRef = ref<FormInstance>() + const addRules = reactive<FormRules>({ + jobType:[{required: true, message: '该内容不能为空',trigger:'blur'}], + workId:[{required: true, message: '该内容不能为空',trigger:'blur'}], + workType:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) + const dialogDetails = ref(false) + const dialogAddRecord = ref(false) + const deleteDialog = ref(false) + const addRecord = ref({}) + const details = ref({}) + const viewRecord = (row) =>{ + details.value = JSON.parse(JSON.stringify(row)) + dialogDetails.value = true + } + const deleteRecord = (index) =>{ + chosenIndex.value = index + deleteDialog.value = true + } + const conFirmDelete = ()=> { + tableData.splice(chosenIndex.value,1) + deleteDialog.value = false + } + const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(chosenIndex.value == -1){ + tableData.push(addRecord.value) + }else{ + tableData[chosenIndex.value] = addRecord.value + } + dialogAddRecord.value =false + } else { + console.log('error submit!', fields) + } + }) + + } + const closeAdd =()=>{ + addRecord.value={} + chosenIndex.value = -1 + } + const indexClear = ()=>{ + chosenIndex.value = -1 + } + const editRecord =(index, row)=>{ + dialogAddRecord.value = true + chosenIndex.value = index + addRecord.value = JSON.parse(JSON.stringify(row)) + } + // 折线图 + const renderMenu = async (value: string) => { + Session.set('projectId',value) + userInfos.value.projectId = value + await initBackEndControlRoutes(); + }; + // return { + // renderMenu, + // multipleTableRef, + // tableData, + // currentPage, + // pageSize, + // dialogDetails, + // details, + // deleteDialog, + // dialogAddRecord, + // viewRecord, + // deleteRecord, + // handleSizeChange, + // handleCurrentChange, + // Plus, + // Edit, + // Delete, + // Search, + // Download, + // handleSelectionChange, + // Refresh, + // ...toRefs(state), + // }; + // }, + // }); +</script> + +<style scoped lang="scss"> + $homeNavLengh: 8; + .home-container { + height: 100%; + overflow: hidden; + padding: 20px; + .homeCard{ + width: 100%; + padding: 20px; + background: #fff; + border-radius: 4px; + } + .el-row{ + display: flex; + align-items: center; + margin-bottom: 20px; + &:last-child { + margin-bottom: 0; + } + .grid-content{ + align-items: center; + min-height: 36px; + } + + .topInfo { + display: flex; + align-items: center; + font-size: 16px; + font-weight: bold; + + &>div{ + white-space: nowrap; + margin-right: 20px; + } + } + } + .mainPages{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .main-card{ + width: 100%; + .cardTop{ + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + .mainCardBtn{ + margin: 0; + } + } + } + .pageBtn{ + display: flex; + align-items: center; + justify-content: right; + margin-top: 20px; + + .demo-pagination-block + .demo-pagination-block { + margin-top: 10px; + } + .demo-pagination-block .demonstration { + margin-bottom: 16px; + } + } + } + .el-input{ + width: 100% !important; + } + .el-date-editor::v-deep{ + width: 100%; + } + .el-select{ + width: 100%; + } +</style> diff --git a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue index 94f0618..566ee7f 100644 --- a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue +++ b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue @@ -53,7 +53,7 @@ <el-table-column prop="high" label="高处" /> <el-table-column prop="block" label="盲板抽堵" width="180" /> <el-table-column prop="tempUse" label="临时用电" width="180" /> - <el-table-column fixed="right" label="操作"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default> <el-button link type="primary" size="small">操作</el-button> </template> diff --git a/src/views/specialWorkSystem/workPlan/workReservation/index.vue b/src/views/specialWorkSystem/workPlan/workReservation/index.vue index 0b25a62..8546f9f 100644 --- a/src/views/specialWorkSystem/workPlan/workReservation/index.vue +++ b/src/views/specialWorkSystem/workPlan/workReservation/index.vue @@ -59,7 +59,7 @@ <el-table-column prop="high" label="高处" /> <el-table-column prop="block" label="盲板抽堵"/> <el-table-column prop="tempUse" label="临时用电"/> - <el-table-column fixed="right" label="操作"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default> <el-button link type="primary" size="small">操作</el-button> </template> diff --git a/src/views/specialWorkSystem/workProcessManagement/workCheckinRecord/index.vue b/src/views/specialWorkSystem/workProcessManagement/workCheckinRecord/index.vue index 4173575..e3d3d50 100644 --- a/src/views/specialWorkSystem/workProcessManagement/workCheckinRecord/index.vue +++ b/src/views/specialWorkSystem/workProcessManagement/workCheckinRecord/index.vue @@ -31,7 +31,7 @@ <el-table-column property="worker" label="签到人" width="180" /> <el-table-column property="checkinTime" label="签到时间" sortable/> <el-table-column property="remark" label="备注"/> - <el-table-column fixed="right" label="操作" width="180"> + <el-table-column fixed="right" label="操作" align="center" width="180"> <template #default="scope"> <el-button link type="primary" size="small" @click="viewDetails(scope.row)">查看</el-button> </template> -- Gitblit v1.9.2