| | |
| | | </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="上报气体检测数据" /> |
| | |
| | | <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> |
| | |
| | | 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, |
| | |
| | | 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) => { |
| | |
| | | tableData, |
| | | dialogAddForm, |
| | | reportForm, |
| | | ruleFormRef, |
| | | rules, |
| | | rowIndex, |
| | | dialogColse, |
| | | editeRow, |
| | | deleteRow, |
| | | addApprove, |
| | | onSubmitAddForm, |
| | | ...toRefs(state), |
| | |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | overflow: hidden; |
| | | background: #fff; |
| | | padding: 40px; |
| | | height: 100%; |
| | | .el-row{ |
| | |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | background: #fff; |
| | | padding: 40px; |
| | | .el-row{ |
| | | display: flex; |
| | |
| | | <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> |
| | |
| | | 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, |
| | |
| | | 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 |
| | |
| | | showAdd, |
| | | approveSteps, |
| | | addProgress, |
| | | ruleFormRef, |
| | | ProgressRules, |
| | | chosenIndex, |
| | | deleteDialog, |
| | | conFirmDelete, |
| | |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: 100%; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | padding: 40px; |
| | | .stepItem{ |
| | |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: 100%; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | padding: 80px; |
| | | padding: 40px; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | |
| | | </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> |
| | |
| | | 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, |
| | |
| | | unit: '', |
| | | certificate: '', |
| | | certificateId: '' |
| | | }) |
| | | const saftyFileForm = reactive({ |
| | | surrounding: '', |
| | | risk: '', |
| | | protection: '', |
| | | emergency: '', |
| | | otherStuff: '' |
| | | }) |
| | | const shortcuts = [ |
| | | { |
| | |
| | | ], |
| | | } |
| | | ] |
| | | 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) |
| | | } |
| | |
| | | |
| | | } |
| | | const deleteRow = (index) =>{ |
| | | console.log(index) |
| | | form.workerList.splice( index,1) |
| | | dialogAddWorker.value = false |
| | | } |
| | | const addSaftyFile = () =>{ |
| | | |
| | | } |
| | | // 折线图 |
| | | const renderMenu = async (value: string) => { |
| | |
| | | dialogAddWorker, |
| | | dialogAddFile, |
| | | addWorkerForm, |
| | | saftyFileForm, |
| | | ruleFormRef, |
| | | saftyFileRules, |
| | | cancleAddFile, |
| | | deleteRow, |
| | | cancleAdd, |
| | | addSaftyFile, |
| | | onSubmitAddForm, |
| | | onSubmitAddFile, |
| | | protectionsChange, |
| | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | padding: 40px; |
| | | .el-row{ |
| | |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: 100%; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | padding: 40px; |
| | | .el-row{ |
| | |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: 100%; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | padding: 40px; |
| | | .el-row{ |