From 3c40f5e98cbeaf554cf0245d4f528063f0b9db69 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期二, 05 七月 2022 15:24:47 +0800 Subject: [PATCH] 添加修改页面 --- src/views/specialWorkSystem/workPlan/workReservation/index.vue | 1 src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue | 1 src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue | 3 src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue | 105 ++++++++++++++++++++------ src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue | 41 +++++++--- src/views/specialWorkSystem/workApplyManagement/workApply/index.vue | 54 +++++++++---- src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue | 1 7 files changed, 151 insertions(+), 55 deletions(-) diff --git a/src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue b/src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue index 0e834a1..b0cda9b 100644 --- a/src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue +++ b/src/views/specialWorkSystem/approvalProcess/addApproveProcess/index.vue @@ -6,30 +6,30 @@ </el-row> <el-row> <el-table :data="tableData" border style="width: 100%"> - <el-table-column prop="id" label="编号" width="180" /> + <el-table-column type="index" label="编号" width="100"/> <el-table-column prop="step" label="环节名称" width="180" /> <el-table-column prop="type" label="审核类型"/> <el-table-column prop="createTime" label="创建时间" width="180" /> <el-table-column prop="editor" label="最新编辑人" width="180" /> - <el-table-column prop="editorTime" label="最新编辑时间" /> + <el-table-column prop="editeTime" label="最新编辑时间" /> <el-table-column fixed="right" label="操作" width="180"> - <template #default> - <el-button link type="primary" size="small">编辑</el-button> - <el-button link type="danger" size="small">删除</el-button> + <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> </template> </el-table-column> </el-table> </el-row> - <el-dialog v-model="dialogAddForm" title="新建审批环节"> - <el-form :model="reportForm" label-width="120px"> - <el-form-item label="环节名称"> + <el-dialog v-model="dialogAddForm" title="新建审批环节" @close="dialogColse"> + <el-form :model="reportForm" label-width="120px" ref="ruleFormRef" :rules="rules"> + <el-form-item label="环节名称" prop="step"> <el-select v-model="reportForm.step" placeholder="选择环节名称"> <el-option label="作业负责人审批" value="作业负责人审批" /> <el-option label="作业负责人审批2" value="作业负责人审批2" /> <el-option label="作业负责人审批3" value="作业负责人审批3" /> </el-select> </el-form-item> - <el-form-item label="审核类型"> + <el-form-item label="审核类型" prop="type"> <el-select v-model="reportForm.type" placeholder="选择审核类型"> <el-option label="上报审批意见" value="上报审批意见" /> <el-option label="上报气体检测数据" value="上报气体检测数据" /> @@ -40,8 +40,8 @@ <el-input v-model="reportForm.editor" /> </el-form-item> <el-form-item> - <el-button type="primary" @click="onSubmitAddForm" size="default">确认</el-button> - <el-button size="default">取消</el-button> + <el-button type="primary" @click="onSubmitAddForm(ruleFormRef)" size="default">确认</el-button> + <el-button size="default" @click="dialogAddForm = false">取消</el-button> </el-form-item> </el-form> </el-dialog> @@ -56,6 +56,8 @@ import {useUserInfo} from "/@/stores/userInfo"; import { Session } from '/@/utils/storage'; import { ElMessage } from 'element-plus' + import type { FormInstance, FormRules } from 'element-plus' + let global: any = { homeChartOne: null, homeChartTwo: null, @@ -69,52 +71,100 @@ interface type { } + interface User { + step: string, + type: string, + createTime: string + } export default defineComponent({ name: 'reportTypeSetting', setup() { const userInfo = useUserInfo() const { userInfos } = storeToRefs(userInfo); const state = reactive<stateType>({}); - const tableData = [ + const tableData = reactive([ { - id: '0', step: '作业负责人审批', type: '', createTime: '', editor: '', - editorTime: '' + editeTime: '' }, { - id: '1', step: '作业负责人审批', type: '', createTime: '', editor: '', - editorTime: '' + editeTime: '' }, { - id: '2', step: '作业负责人审批', type: '', createTime: '', editor: '', - editorTime: '' + editeTime: '' } - ]; + ]); const dialogAddForm = ref(false); - const reportForm = reactive({ - id: '', + const rowIndex = ref(-1) + const reportForm = ref({ step: '', type: '', createTime: '', editor: '', - editorTime: '' + editeTime: '' }) const addApprove = ()=>{ dialogAddForm.value = true }; - const onSubmitAddForm = () => { - console.log('submit!') + const ruleFormRef = ref<FormInstance>() + const rules = reactive<FormRules>({ + step:[{required: true, message: '该内容不能为空',trigger:'blur'}], + type:[{required: true, message: '该内容不能为空',trigger:'blur'}] + }) + const onSubmitAddForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + if(rowIndex.value == -1){ + reportForm.value.createTime = new Date().toLocaleString() + reportForm.value.editeTime = new Date().toLocaleString() + tableData.push(reportForm.value) + }else{ + tableData[rowIndex.value] = reportForm.value + } + + // reportForm.value = { + // step: '', + // type: '', + // createTime: '', + // editor: '', + // editeTime: '' + // } + dialogAddForm.value = false + } else { + console.log('error submit!', fields) + } + }) + } + const editeRow = (index: number, row: User) =>{ + dialogAddForm.value = true + rowIndex.value = index + reportForm.value = JSON.parse(JSON.stringify(row)) + reportForm.value.editeTime = new Date().toLocaleString() + } + const deleteRow = (index)=>{ + tableData.splice( index,1) + } + const dialogColse = () =>{ + reportForm.value = { + step: '', + type: '', + createTime: '', + editor: '', + editeTime: '' + } + rowIndex.value = -1 } // 折线图 const renderMenu = async (value: string) => { @@ -127,6 +177,12 @@ tableData, dialogAddForm, reportForm, + ruleFormRef, + rules, + rowIndex, + dialogColse, + editeRow, + deleteRow, addApprove, onSubmitAddForm, ...toRefs(state), @@ -139,6 +195,7 @@ $homeNavLengh: 8; .home-container { overflow: hidden; + background: #fff; padding: 40px; height: 100%; .el-row{ diff --git a/src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue b/src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue index e306cd3..1cbcc9b 100644 --- a/src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue +++ b/src/views/specialWorkSystem/approvalProcess/approveProcessManagement/index.vue @@ -226,6 +226,7 @@ .home-container { height: 100%; overflow: hidden; + background: #fff; padding: 40px; .el-row{ display: flex; diff --git a/src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue b/src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue index 266d0c9..46fa8cd 100644 --- a/src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue +++ b/src/views/specialWorkSystem/approvalProcess/approveProcessSetting/index.vue @@ -31,20 +31,20 @@ <h4>新增审批流</h4> </template> <template #default> - <el-form :model="addProgress" label-width="120px"> - <el-form-item label="审批部门"> + <el-form :model="addProgress" label-width="120px" ref="ruleFormRef" :rules="ProgressRules"> + <el-form-item label="审批部门" prop="department"> <el-select v-model="addProgress.department" placeholder="请选择审批部门"> <el-option label="动土" value="动土" /> <el-option label="动火" value="动火" /> </el-select> </el-form-item> - <el-form-item label="审批人员"> + <el-form-item label="审批人员" prop="manager"> <el-select v-model="addProgress.manager" placeholder="请选择审批人员"> <el-option label="人员1" value="人员1" /> <el-option label="人员2" value="人员2" /> </el-select> </el-form-item> - <el-form-item label="其他参数"> + <el-form-item label="其他参数" prop="others"> <el-input v-model="addProgress.others" /> </el-form-item> </el-form> @@ -76,6 +76,7 @@ import {useUserInfo} from "/@/stores/userInfo"; import { Session } from '/@/utils/storage'; import { ElMessage } from 'element-plus' + import type { FormInstance, FormRules } from 'element-plus' let global: any = { homeChartOne: null, homeChartTwo: null, @@ -119,14 +120,27 @@ manager: '', others: '' }) - const confirmClick = () => { - approveSteps.splice(chosenIndex.value+1,0,addProgress.value) - addProgress.value = { - department: '', - manager: '', - others: '' - } - showAdd.value = false + const ruleFormRef = ref<FormInstance>() + const ProgressRules = reactive<FormRules>({ + department: [{required:true,message: '该选项不能为空'}], + manager: [{required:true,message: '该选项不能为空'}] + }) + const confirmClick = async (formEl: FormInstance | undefined) => { + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + approveSteps.splice(chosenIndex.value+1,0,addProgress.value) + addProgress.value = { + department: '', + manager: '', + others: '' + } + showAdd.value = false + } else { + console.log('error submit!', fields) + } + }) + } const addFlow = (index) => { showAdd.value = true @@ -166,6 +180,8 @@ showAdd, approveSteps, addProgress, + ruleFormRef, + ProgressRules, chosenIndex, deleteDialog, conFirmDelete, @@ -184,6 +200,7 @@ $homeNavLengh: 8; .home-container { height: 100%; + background: #fff; overflow: hidden; padding: 40px; .stepItem{ diff --git a/src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue b/src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue index 5aa063f..9ce2841 100644 --- a/src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue +++ b/src/views/specialWorkSystem/approvalProcess/reportTypeSetting/index.vue @@ -138,8 +138,9 @@ $homeNavLengh: 8; .home-container { height: 100%; + background: #fff; overflow: hidden; - padding: 80px; + padding: 40px; .el-row{ margin-bottom: 20px; } diff --git a/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue index 834c558..d25b731 100644 --- a/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue +++ b/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue @@ -326,49 +326,54 @@ </el-form> </el-dialog> <el-dialog v-model="dialogAddFile" title="安全交底和风险告知"> - <el-form :model="form.saftyFile" label-width="120px"> - <el-form-item label="作业许可范围及作业环境:"> + <el-form :model="saftyFileForm" label-width="0" ref="ruleFormRef" :rules="saftyFileRules"> + <el-form-item label="" prop="surrounding"> + <div>1.作业许可范围及作业环境:</div> <el-input - v-model="form.saftyFile.surrounding" + v-model="saftyFileForm.surrounding" :rows="2" type="textarea" placeholder="请输入" /> </el-form-item> - <el-form-item label="作业风险:"> + <el-form-item label="" prop="risk"> + <div>2.作业风险:</div> <el-input - v-model="form.saftyFile.risk" + v-model="saftyFileForm.risk" :rows="2" type="textarea" placeholder="请输入" /> </el-form-item> - <el-form-item label="防范措施(工艺、设备、个体防护等)"> + <el-form-item label="" prop="protection"> + <div>3.防范措施(工艺、设备、个体防护等):</div> <el-input - v-model="form.saftyFile.protection" + v-model="saftyFileForm.protection" :rows="2" type="textarea" placeholder="请输入" /> </el-form-item> - <el-form-item label="应急措施"> + <el-form-item label="" prop="emergency"> + <div>4.应急措施:</div> <el-input - v-model="form.saftyFile.emergency" + v-model="saftyFileForm.emergency" :rows="2" type="textarea" placeholder="请输入" /> </el-form-item> - <el-form-item label="其他注意事项"> + <el-form-item label="" prop="otherStuff"> + <div>5.其他注意事项:</div> <el-input - v-model="form.saftyFile.otherStuff" + v-model="saftyFileForm.otherStuff" :rows="2" type="textarea" placeholder="请输入" /> </el-form-item> <el-form-item> - <el-button type="primary" @click="onSubmitAddFile" size="default">确认</el-button> + <el-button type="primary" @click="onSubmitAddFile(ruleFormRef)" size="default">确认</el-button> <el-button size="default" @click="cancleAddFile">取消</el-button> </el-form-item> </el-form> @@ -384,6 +389,7 @@ import {useUserInfo} from "/@/stores/userInfo"; import { Session } from '/@/utils/storage'; import { Search } from '@element-plus/icons-vue' + import type { FormInstance, FormRules } from 'element-plus' let global: any = { homeChartOne: null, homeChartTwo: null, @@ -436,6 +442,13 @@ unit: '', certificate: '', certificateId: '' + }) + const saftyFileForm = reactive({ + surrounding: '', + risk: '', + protection: '', + emergency: '', + otherStuff: '' }) const shortcuts = [ { @@ -498,6 +511,13 @@ ], } ] + const ruleFormRef = ref<FormInstance>() + const saftyFileRules = reactive<FormRules>({ + surrounding: [{required: true,message: '该选项不能为空'}], + risk: [{required: true,message: '该选项不能为空'}], + protection: [{required: true,message: '该选项不能为空'} ], + emergency: [{required: true,message: '该选项不能为空'} ] + }) const protectionsChange = (value) => { console.log(value) } @@ -530,12 +550,7 @@ } const deleteRow = (index) =>{ - console.log(index) form.workerList.splice( index,1) - dialogAddWorker.value = false - } - const addSaftyFile = () =>{ - } // 折线图 const renderMenu = async (value: string) => { @@ -552,10 +567,12 @@ dialogAddWorker, dialogAddFile, addWorkerForm, + saftyFileForm, + ruleFormRef, + saftyFileRules, cancleAddFile, deleteRow, cancleAdd, - addSaftyFile, onSubmitAddForm, onSubmitAddFile, protectionsChange, @@ -568,6 +585,7 @@ <style scoped lang="scss"> .home-container { height: 100%; + background: #fff; overflow: hidden; padding: 40px; .el-row{ diff --git a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue index 7c33e64..8e50da4 100644 --- a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue +++ b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue @@ -430,6 +430,7 @@ $homeNavLengh: 8; .home-container { height: 100%; + background: #fff; overflow: hidden; padding: 40px; .el-row{ diff --git a/src/views/specialWorkSystem/workPlan/workReservation/index.vue b/src/views/specialWorkSystem/workPlan/workReservation/index.vue index ed35d83..b747f16 100644 --- a/src/views/specialWorkSystem/workPlan/workReservation/index.vue +++ b/src/views/specialWorkSystem/workPlan/workReservation/index.vue @@ -222,6 +222,7 @@ $homeNavLengh: 8; .home-container { height: 100%; + background: #fff; overflow: hidden; padding: 40px; .el-row{ -- Gitblit v1.9.2