| | |
| | | import request from '/@/utils/request'; |
| | | |
| | | export function emergencyDrillPlanApi(){ |
| | | export function releaseDrillPlanApi(){ |
| | | return{ |
| | | getEmergencyDrillPlanList: (params: object) => { |
| | | //演练计划发布一览 |
| | | getReleaseDrillPlanList: (params: object) => { |
| | | return request({ |
| | | url: '/emergencyDrillPlan/page/list', |
| | | method: 'post', |
| | | data:params |
| | | }) |
| | | }, |
| | | // v1 |
| | | addEmergencyDrillPlan: (data: object) => { |
| | | // 演练计划发布新增 |
| | | addReleaseDrillPlan: (params:object) => { |
| | | return request({ |
| | | url: `/emergencyDrillPlan/add`, |
| | | method: 'post', |
| | | data: data |
| | | data: params |
| | | }); |
| | | }, |
| | | seeEmergencyDrillPlan: (data: object) => { |
| | | // 演练计划发布详情 |
| | | seeReleaseDrillPlan: (params:number) => { |
| | | return request({ |
| | | url: `/emergencyDrillPlan/info/{id}`, |
| | | method: 'post', |
| | | data: data |
| | | url: `/emergencyDrillPlan/info/${params}`, |
| | | method: 'get' |
| | | }); |
| | | }, |
| | | // v1 |
| | | editEmergencyDrillPlan: (data: object) => { |
| | | // 演练计划发布编辑 |
| | | editReleaseDrillPlan: (params: object) => { |
| | | return request({ |
| | | url: `/emergencyDrillPlan/update`, |
| | | method: 'post', |
| | | data: data |
| | | data: params |
| | | }); |
| | | }, |
| | | // v2 |
| | | // deleteEmergencyDrillPlan: (value?: object) => { |
| | | // return request({ |
| | | // url: `/emergencyTeam/batchDelete/{ids}`, |
| | | // method: 'get', |
| | | // data: value |
| | | // }); |
| | | // }, |
| | | // deleteEmergencyDrillPlan: (ids: number | null) => { |
| | | // return request({ |
| | | // url: `/emergencyDrillPlan/batchDelete/{ids}}`, |
| | | // method: 'get', |
| | | // }); |
| | | // }, |
| | | // 演练计划发布删除 |
| | | deleteReleaseDrillPlan: (params:object) => { |
| | | return request({ |
| | | url: `/emergencyDrillPlan/batchDelete/${params}`, |
| | | method: 'get', |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | |
| | | <el-row> |
| | | <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="ruleForm.pass" placeholder="物资名称" style="max-width: 215px;"/> |
| | | <el-input size="default" v-model="listQuery.searchParams.name" placeholder="物资名称" style="max-width: 215px;"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> |
| | | <el-button size="default" type="primary" @click="onSubmit">查询</el-button> |
| | | <el-button size="default" @click="submitReset">重置</el-button> |
| | | <el-button size="default" :icon="Delete">清除选择</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-row> |
| | | <el-table :data="tableData" style="width: 100%;margin-top:20px"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table :data="tableData" style="width: 100%;margin-top:20px" @cell-click="radio"> |
| | | <el-table-column width="55"> |
| | | <template #default="scope"> |
| | | <el-radio-group v-model="radio1"> |
| | | <el-radio :label="scope.row" size="large">{{ null }}</el-radio> |
| | | </el-radio-group> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="date" label="id" /> |
| | | <el-table-column align="center" prop="name" label="物资名称"/> |
| | | </el-table> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | v-model:currentPage="currentPage4" |
| | | v-model:page-size="pageSize4" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | v-model:currentPage="pageIndex" |
| | | v-model:page-size="pageSize" |
| | | :page-sizes="[10, 20, 30]" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :total="total" |
| | | @size-change="onHandleSizeChange" |
| | | @current-change="onHandleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)"> |
| | | {{ tag }} |
| | | </el-tag> |
| | | <div v-if="dynamicTags[0] == '' ? false : true"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | > |
| | | {{ tag.name }} |
| | | </el-tag> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false" size="default">关闭</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> |
| | | <el-button type="primary" @click="submitForm" size="default">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | Delete, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import {emergencySuppliesApi} from "/@/api/emergencyResources"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | onSubmit() |
| | | }; |
| | | // 搜索条件 |
| | | const ruleForm = reactive({ |
| | | pass: '', |
| | | const listQuery = reactive({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams:{ |
| | | name: '', |
| | | } |
| | | }); |
| | | // 表格 |
| | | const tableData = [ |
| | | { |
| | | date: '6421cbc6cbb5493eabf9b27e83372d78', |
| | | name: '应急救援组', |
| | | }, |
| | | { |
| | | date: '6421cbc6cbb5493eabf9b27e83372d78', |
| | | name: '工艺抢险组', |
| | | }, |
| | | { |
| | | date: '6421cbc6cbb5493eabf9b27e83372d78', |
| | | name: '后勤保障组', |
| | | }, |
| | | { |
| | | date: '6421cbc6cbb5493eabf9b27e83372d78', |
| | | name: '应急救援组', |
| | | }, |
| | | ]; |
| | | const pageSize4 = ref(100); |
| | | // 定义表格数据 |
| | | const tableData = ref([]); |
| | | // 列表请求数据 |
| | | const onSubmit = async () => { |
| | | let res = await emergencySuppliesApi().getEmergencySuppliesList(listQuery); |
| | | if (res.data.code === '200') { |
| | | tableData.value = res.data.data; |
| | | pageIndex.value = res.data.pageIndex; |
| | | pageSize.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | type: 'error', |
| | | message: res.data.msg, |
| | | }); |
| | | } |
| | | }; |
| | | // 重置 |
| | | const submitReset = () => { |
| | | listQuery.searchParams.name = ''; |
| | | onSubmit(); |
| | | }; |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | | const total = ref(); |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`); |
| | | listQuery.pageSize = val; |
| | | }; |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`); |
| | | listQuery.pageIndex = val; |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']); |
| | | const dynamicTags = ref(['']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | radio1.value = ''; |
| | | }; |
| | | const radio1 = ref(''); |
| | | const radio = (event: any) => { |
| | | dynamicTags.value[0] = event; |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | |
| | | full.value = false; |
| | | } |
| | | }; |
| | | const submitForm = () => { |
| | | let obj = JSON.parse(JSON.stringify(dynamicTags.value)); |
| | | emit('SearchUser', obj[0]); |
| | | dialogVisible.value = false; |
| | | }; |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | ruleForm, |
| | | listQuery, |
| | | onSubmit, |
| | | tableData, |
| | | pageSize4, |
| | | submitReset, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | dynamicTags, |
| | |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | pageIndex, |
| | | pageSize, |
| | | radio1, |
| | | radio, |
| | | submitForm, |
| | | total, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <el-dialog :fullscreen="full" v-model="dialogVisible" title="新建仪器仪表" width="60%"> |
| | | <el-dialog :fullscreen="full" v-model="isShowDialog" :title="titles" width="60%"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-form :model="form" label-width="130px"> |
| | | <el-form :model="form" label-width="130px" :disabled="disabled"> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="类型/类别外键" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <el-input v-model="form.equipmentTypeId" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="opencategory"></el-button> |
| | | </template> |
| | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="所属部门" size="default"> |
| | | <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> |
| | | <el-select v-model="form.departmentId" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="Zone one" value="shanghai" /> |
| | | <el-option label="Zone two" value="beijing" /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="具体位置" size="default"> |
| | | <el-input v-model="form.name" placeholder="请填写具体位置" /> |
| | | <el-input v-model="form.position" placeholder="请填写具体位置" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="负责人姓名" size="default"> |
| | | <el-input v-model="form.name" placeholder="请填写负责人姓名" /> |
| | | <el-input v-model="form.leadingPersonName" placeholder="请填写负责人姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="联系人" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <el-input v-model="form.connectPersonId" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"></el-button> |
| | | </template> |
| | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="录入人" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <el-input v-model="form.inputPersonId" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"></el-button> |
| | | </template> |
| | |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="责任人" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <el-input v-model="form.responsibilityPersonId" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"></el-button> |
| | | </template> |
| | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="装置部位分类" size="default"> |
| | | <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> |
| | | <el-select v-model="form.partType" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="Zone one" value="shanghai" /> |
| | | <el-option label="Zone two" value="beijing" /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="检查周期" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择检查周期" /> |
| | | <el-input v-model="form.checkCycle" placeholder="请选择检查周期" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="相关应急预案" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <el-input v-model="form.emergencePlanId" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openPlan"></el-button> |
| | | </template> |
| | |
| | | </el-col> |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="主要危险有害因素" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择" /> |
| | | <el-input v-model="form.dangerousElement" placeholder="请选择" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="11"> |
| | | <el-form-item label="易导致风险" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择易导致风险" /> |
| | | <el-input v-model="form.toDangerous" placeholder="请选择易导致风险" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="11" :offset="2"> |
| | | <el-form-item label="应急处置措施" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择应急处置措施" /> |
| | | <el-input v-model="form.treatment" placeholder="请选择应急处置措施" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="现场图片"> |
| | | <el-upload |
| | | v-model="form.scenePic" |
| | | class="avatar-uploader" |
| | | action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" |
| | | :show-file-list="false" |
| | |
| | | <el-tab-pane label="设备保养" name="first"> |
| | | <el-button type="primary" size="default" @click="openMaintenance">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column align="center" prop="date" label="保养情况" /> |
| | | <el-table-column align="center" prop="name" label="保养负责人" /> |
| | | <el-table-column align="center" prop="address" label="保养日期" /> |
| | | <el-table-column align="center" prop="address" label="保养负责人单位" /> |
| | | <el-table-column align="center" prop="address" label="操作"> |
| | | <el-table-column align="center" prop="takecareMemo" label="保养情况" /> |
| | | <el-table-column align="center" prop="leadingPersonId" label="保养负责人" /> |
| | | <el-table-column align="center" prop="takecareDate" label="保养日期" /> |
| | | <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default> |
| | | <el-button link type="primary" size="small">查看</el-button> |
| | | </template> |
| | |
| | | <el-tab-pane label="设备检测" name="second"> |
| | | <el-button type="primary" size="default" @click="openDetect">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column align="center" prop="date" label="检测人" /> |
| | | <el-table-column align="center" prop="name" label="检测日期" /> |
| | | <el-table-column align="center" prop="address" label="检测人单位" /> |
| | | <el-table-column align="center" prop="address" label="检测内容" /> |
| | | <el-table-column align="center" prop="address" label="检测结果" /> |
| | | <el-table-column align="center" prop="address" label="检测状态" /> |
| | | <el-table-column align="center" prop="address" label="操作"> |
| | | <el-table-column align="center" prop="testPersonId" label="检测人" /> |
| | | <el-table-column align="center" prop="testDate" label="检测日期" /> |
| | | <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" /> |
| | | <el-table-column align="center" prop="testMemo" label="检测内容" /> |
| | | <el-table-column align="center" prop="testResult" label="检测结果" /> |
| | | <el-table-column align="center" prop="testStatus" label="检测状态" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default> |
| | | <el-button link type="primary" size="small">查看</el-button> |
| | | </template> |
| | |
| | | <el-tab-pane label="设备维修" name="third"> |
| | | <el-button type="primary" size="default" @click="openRepair">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column align="center" prop="date" label="设施异常项" /> |
| | | <el-table-column align="center" prop="name" label="维修状态" /> |
| | | <el-table-column align="center" prop="address" label="维修情况" /> |
| | | <el-table-column align="center" prop="address" label="维修负责人" /> |
| | | <el-table-column align="center" prop="address" label="维修负责人单位" /> |
| | | <el-table-column align="center" prop="address" label="维修开始日期" /> |
| | | <el-table-column align="center" prop="address" label="维修结束日期" /> |
| | | <el-table-column align="center" prop="address" label="操作"> |
| | | <el-table-column align="center" prop="exceptionInfo" label="设施异常项" /> |
| | | <el-table-column align="center" prop="repairStatus" label="维修状态" /> |
| | | <el-table-column align="center" prop="repairMemo" label="维修情况" /> |
| | | <el-table-column align="center" prop="repairPersonId" label="维修负责人" /> |
| | | <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" /> |
| | | <el-table-column align="center" prop="repairStartDate" label="维修开始日期" /> |
| | | <el-table-column align="center" prop="repairEndDate" label="维修结束日期" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default> |
| | | <el-button link type="primary" size="small">查看</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="检查标准设置" name="fourth"> |
| | | <el-tab-pane label="检查标准设置" name="fourth">checkContent |
| | | <el-button type="primary" size="default" @click="openStandard">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column align="center" type="index" label="序号" width="75" /> |
| | | <el-table-column align="center" prop="name" label="检查内容" /> |
| | | <el-table-column align="center" prop="address" label="检查指标" /> |
| | | <el-table-column align="center" prop="address" label="单位" /> |
| | | <el-table-column align="center" prop="address" label="巡检部位" /> |
| | | <el-table-column align="center" prop="address" label="频次" /> |
| | | <el-table-column align="center" prop="address" label="操作"> |
| | | <el-table-column align="center" type="indexNum" label="序号" width="75" /> |
| | | <el-table-column align="center" prop="checkContent" label="检查内容" /> |
| | | <el-table-column align="center" prop="checkTarget" label="检查指标" /> |
| | | <el-table-column align="center" prop="unit" label="单位" /> |
| | | <el-table-column align="center" prop="checkPart" label="巡检部位" /> |
| | | <el-table-column align="center" prop="rate" label="频次" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default> |
| | | <el-button link type="primary" size="small">查看</el-button> |
| | | </template> |
| | |
| | | </el-tabs> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">关闭</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false">确定</el-button> |
| | | <el-button @click="resetForm(ruleFormRef)">关闭</el-button> |
| | | <el-button type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | <script lang="ts"> |
| | | import { defineComponent, ref, reactive } from 'vue'; |
| | | import { Search,Plus,FullScreen } from '@element-plus/icons-vue'; |
| | | import { Search,Plus,FullScreen, FormInstance, } from '@element-plus/icons-vue'; |
| | | import categoryDailog from './categoryDailog.vue'; |
| | | import planDailog from './planDailog.vue'; |
| | | import maintenanceDailog from './maintenanceDailog.vue'; |
| | |
| | | import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import type { UploadProps, UploadUserFile } from 'element-plus'; |
| | | import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan"; |
| | | import {facilityManagementApi} from "/@/api/facilityManagement"; |
| | | export default defineComponent({ |
| | | components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, |
| | | setup() { |
| | | const dialogVisible = ref(false); |
| | | const isShowDialog = ref(false); |
| | | const form = reactive({ |
| | | name: '', |
| | | region: '', |
| | | date1: '', |
| | | date2: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | equipmentTypeId: '', |
| | | treatment: '', |
| | | inputPersonId: '', |
| | | departmentId: '', |
| | | delRepaireDetailList: [], |
| | | delTestDetailList: [], |
| | | takecareDetailList: [{ |
| | | leadingPersonId:'', |
| | | takecareDate:'', |
| | | leadingPersonDepartmentId:'', |
| | | equipmentId: '', |
| | | takecareMemo: '', |
| | | }], |
| | | checkDetailList:[], |
| | | responsibilityPersonId: '', |
| | | delTakecareStardardeDetailList: [], |
| | | connectPersonId:'', |
| | | scenePic:'', |
| | | partType:'', |
| | | toDangerous:'', |
| | | dangerousElement:'', |
| | | takecareStardardeDetailList: [ |
| | | { |
| | | filePath: '', |
| | | } |
| | | ], |
| | | testDetailList:[{ |
| | | testMemo:'', |
| | | testPersonDepartmentId:'', |
| | | testPersonId:'', |
| | | testStatus:'', |
| | | testResult:'', |
| | | testDate:'', |
| | | }], |
| | | checkCycle: '', |
| | | repaireDetailList:[{ |
| | | repairStatus:'', |
| | | repairPersonDepartmentId:'', |
| | | repairMemo:'', |
| | | infoTpe:'', |
| | | repairPersonId:'', |
| | | repairEndDate:'', |
| | | repairStartDate:'', |
| | | exceptionInfo:'', |
| | | }], |
| | | delCheckStandardeDetailList:[], |
| | | leadingPersonName: '', |
| | | name: '', |
| | | delTakecareDetailList:[], |
| | | position:'', |
| | | emergencePlanId: '', |
| | | checkStandardeDetailList: [{ |
| | | checkContent:'', |
| | | checkTarget:'', |
| | | unit:'', |
| | | checkPart:'', |
| | | rate:'', |
| | | indexNum:'', |
| | | }], |
| | | delCheckStandardeDetails: '', |
| | | delTakecareStardardeDetails: '', |
| | | delTakecareDetails: '', |
| | | delRepaireDetails: '', |
| | | delTestDetails: '', |
| | | }); |
| | | const Dailogtype = ref(false); |
| | | const openDailog = (type: boolean) => { |
| | | dialogVisible.value = true; |
| | | isShowDialog.value = true; |
| | | Dailogtype.value = type; |
| | | }; |
| | | const ruleFormRef = ref<FormInstance>() |
| | | const activeName = ref('first'); |
| | | const titles = ref(); |
| | | const disabled = ref(); |
| | | // 打开弹窗 |
| | | const openDialog = (title: string, id: number, type: boolean) => { |
| | | isShowDialog.value = true; |
| | | titles.value = title; |
| | | disabled.value = type; |
| | | if (title == '查看仪器仪表' || title == '修改仪器仪表') { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoDetail(id) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | form.value = res.data.data; |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | const tableData = [ |
| | | { |
| | | date: '2016-05-03', |
| | |
| | | } |
| | | }; |
| | | return { |
| | | dialogVisible, |
| | | isShowDialog, |
| | | Dailogtype, |
| | | form, |
| | | openDailog, |
| | |
| | | full, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | ruleFormRef, |
| | | openDialog, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | v-model="ruleForm.userUid" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">继续添加</el-button> |
| | | <el-button size="default" type="primary" @click="addForm(ruleFormRef)">继续添加</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">关闭</el-button> |
| | | <el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)" >确定</el-button> |
| | | </span> |
| | |
| | | const ruleFormRef = ref<FormInstance>() |
| | | const ruleForm = ref ({ |
| | | teamId: '', |
| | | userUid: '', |
| | | userUid: 1, |
| | | gender: '', |
| | | jobNumber: '', // 人员工号 |
| | | name: '', // 人员名称 |
| | |
| | | }) |
| | | const titles = ref(); |
| | | const disabled = ref(); |
| | | // const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | // if (title == '新建应急队伍人员') { |
| | | // if (!formEl) return; |
| | | // await formEl.validate((valid, fields) => { |
| | | // if (valid) { |
| | | // isShowDialog.value = false; |
| | | // contingencyApi() |
| | | // .addEmergencyTeamPersonnel(ruleForm.value) |
| | | // .then((res) => { |
| | | // if (res.data.code == 200) { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: res.data.msg, |
| | | // type: 'success', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } else { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: res.data.msg, |
| | | // type: 'error', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } |
| | | // formEl.resetFields(); |
| | | // }); |
| | | // } else { |
| | | // console.log('error submit!', fields); |
| | | // } |
| | | // }); |
| | | // } |
| | | // else if (title == '修改应急队伍人员') { |
| | | // if (!formEl) return; |
| | | // await formEl.validate((valid, fields) => { |
| | | // if (valid) { |
| | | // isShowDialog.value = false; |
| | | // contingencyApi() |
| | | // .editEmergencyTeam(ruleForm.value) |
| | | // .then((res) => { |
| | | // if (res.data.code == 200) { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: '修改成功', |
| | | // type: 'success', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } else { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: res.data.msg, |
| | | // type: 'error', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } |
| | | // formEl.resetFields(); |
| | | // }); |
| | | // } else { |
| | | // console.log('error submit!', fields); |
| | | // } |
| | | // }); |
| | | // formEl.resetFields(); |
| | | // ruleForm.value = { |
| | | // teamId: '', |
| | | // userUid: 1, |
| | | // gender: '', |
| | | // jobNumber: '', // 人员工号 |
| | | // name: '', // 人员名称 |
| | | // phone: '', // 手机号码 |
| | | // position: '', // 职位 |
| | | // }; |
| | | // } |
| | | // } |
| | | const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | if (title == '新建应急队伍人员') { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | isShowDialog.value = false; |
| | | contingencyApi() |
| | | .addEmergencyTeamPersonnel(ruleForm.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | emit('myAdd', true); |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'error', |
| | | }); |
| | | emit('myAdd', true); |
| | | } |
| | | formEl.resetFields(); |
| | | }); |
| | | emit('onAdd', ruleForm.value); |
| | | // contingencyApi() |
| | | // .addEmergencyTeamPersonnel(ruleForm.value) |
| | | // .then((res) => { |
| | | // if (res.data.code == 200) { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: res.data.msg, |
| | | // type: 'success', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } else { |
| | | // ElMessage({ |
| | | // showClose: true, |
| | | // message: res.data.msg, |
| | | // type: 'error', |
| | | // }); |
| | | // emit('myAdd', true); |
| | | // } |
| | | // formEl.resetFields(); |
| | | // }); |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | |
| | | formEl.resetFields(); |
| | | ruleForm.value = { |
| | | teamId: '', |
| | | userUid: '', |
| | | userUid: 1, |
| | | gender: '', |
| | | jobNumber: '', // 人员工号 |
| | | name: '', // 人员名称 |
| | |
| | | // closeDialog, |
| | | isShowDialog, |
| | | ruleFormRef, |
| | | submitForm, |
| | | // submitForm, |
| | | // onCancel, |
| | | ruleForm, |
| | | rules, |
| | |
| | | openUser, |
| | | userRef, |
| | | onUser, |
| | | // addForm, |
| | | submitForm, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <div class="system-edit-user-container"> |
| | | <el-dialog :title="titles" v-model="isShowDialog" width="769px" draggable :fullscreen="full"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen" ></el-button> |
| | | <el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="120px" :disabled="disabled"> |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="队伍负责人" prop="principalUid"> |
| | | <el-input v-model="ruleForm.principalUid" placeholder="请选择" class="input-with-select"> |
| | | <el-input v-model="ruleForm.principalUid" placeholder="请选择" class="input-with-select" disabled> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" /> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
| | | <el-tab-pane label="应急队伍人员" name="first"> |
| | | <el-button type="primary" size="default" @click="onAddEmergencyPersonnel">新增</el-button> |
| | | <el-tab-pane label="应急队伍人员" name="first" :disabled="disabled"> |
| | | <el-button type="primary" size="default" @click="onAddEmergencyPersonnel" :disabled="disabled">新增</el-button> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%; margin-top: 15px" |
| | | ref="multipleTableRef" |
| | | :header-cell-style="{ background: '#f6f7fa', color: '#909399' }" |
| | | :disabled="disabled" |
| | | > |
| | | <el-table-column prop="jobNumber" label="人员工号" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="name" label="人员名称" show-overflow-tooltip></el-table-column> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <AddEmergencyPersonnel ref="addRef" @myAdd="onMyAdd"/> |
| | | <DailogSearchUser ref="userRef" @SearchUser="onUser" /> |
| | | <DailogSearchUser ref="userRef" @SearchUsers="onUser" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | const ruleForm =ref({ |
| | | teamName: '', // 队伍名称 |
| | | teamLevel: '', // 队伍级别 |
| | | principalUid: '', // 队伍负责人 |
| | | principalUid: 1, // 队伍负责人 |
| | | principalDepartmentId: '', //负责人部门 |
| | | principalPhone: '', // 负责人手机 |
| | | telephoneNumber: '', // 固定电话 |
| | |
| | | const openUser = () => { |
| | | userRef.value.openDailog(); |
| | | }; |
| | | const nameC = ref(); |
| | | const onUser = (e:any) => { |
| | | ruleForm.value.principalUid=e.id |
| | | ruleForm.value.principalUid = e.uid |
| | | nameC.value=e.realName |
| | | }; |
| | | // const onUser = (e:any) => { |
| | | // |
| | | // ruleForm.value.principalUid=e.id |
| | | // }; |
| | | //定义tabs切换 |
| | | const activeName = ref('first') |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { |
| | |
| | | ruleForm.value = { |
| | | teamName: '', // 队伍名称 |
| | | teamLevel: '', // 队伍级别 |
| | | principalUid: '', // 队伍负责人 |
| | | principalUid: 1, // 队伍负责人 |
| | | principalDepartmentId: '', //负责人部门 |
| | | principalPhone: '', // 负责人手机 |
| | | telephoneNumber: '', // 固定电话 |
| | |
| | | const tableData = ref([]); |
| | | //添加队伍负责人弹窗 |
| | | const addRef = ref(); |
| | | const onAddEmergencyPersonnel = () => { |
| | | addRef.value.openDialog('新建应急队伍人员',false); |
| | | const onAddEmergencyPersonnel = (title:string,data: any) => { |
| | | addRef.value.openDialog('新建应急队伍人员',data); |
| | | }; |
| | | // 新增后刷新 |
| | | const onMyAdd = (e: boolean) => { |
| | |
| | | FullScreen, |
| | | full, |
| | | onUser, |
| | | // listQuery, |
| | | nameC, |
| | | onMyAdd, |
| | | // listApi, |
| | | onEdit, |
| | |
| | | <template> |
| | | <div class="system-edit-user-container"> |
| | | <el-dialog |
| | | title="查看演练实施评价" |
| | | :title="titles" |
| | | v-model="isShowDialog" |
| | | width="900px" |
| | | draggable |
| | |
| | | :model="ruleForm" |
| | | size="default" |
| | | label-width="120px" |
| | | :disabled="disabled" |
| | | > |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练名称" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input> |
| | | <el-form-item label="演练名称" prop="emergencyPlanName"> |
| | | <el-input v-model="ruleForm.emergencyPlanName" placeholder="请填写队伍名称"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练地点" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input> |
| | | <el-form-item label="演练地点" prop="drillAddress"> |
| | | <el-input v-model="ruleForm.drillAddress" placeholder="请填写队伍名称"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="主办部门" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | | <el-option label="其他预案" value="common"></el-option> |
| | | <el-form-item label="主办部门" placeholder="请选择" prop="departmentId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.departmentId" |
| | | :data="data" class="w100" |
| | | placeholder="请选择"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练方式" prop="drillWay"> |
| | | <el-select v-model="ruleForm.drillWay" class="w100" placeholder="请选择"> |
| | | <el-option label="综合" value="综合"></el-option> |
| | | <el-option label="桌面" value="桌面"></el-option> |
| | | <el-option label="专项" value="专项"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练方式" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | | <el-option label="其他预案" value="common"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="应急预案" prop="telephone" > |
| | | <el-form-item label="应急预案" prop="drillPlanId" > |
| | | <el-input |
| | | v-model="ruleForm.teamLeader" |
| | | v-model="ruleForm.drillPlanId" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="daiInpt" disabled/> |
| | | <el-button :icon="Search" @click="daiInpt"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练级别" prop="teamPhone"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-option label="公司级" value="admin"></el-option> |
| | | <el-option label="分厂级" value="common"></el-option> |
| | | <el-option label="车间级" value="common"></el-option> |
| | | <el-form-item label="演练级别" prop="drillLevel"> |
| | | <el-select v-model="ruleForm.drillLevel" class="w100" placeholder="请选择"> |
| | | <el-option label="公司级" value="公司级"></el-option> |
| | | <el-option label="分厂级" value="分厂级"></el-option> |
| | | <el-option label="车间级" value="车间级"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="计划定制日期" prop="telephone"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | <el-form-item label="计划定制日期" prop="makingPlanDate"> |
| | | <el-date-picker v-model="ruleForm.makingPlanDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="计划演练日期" prop="telephone"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | <el-form-item label="计划演练日期" prop="drillPlanDate"> |
| | | <el-date-picker v-model="ruleForm.drillPlanDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="修改时间" prop="telephone"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | <el-form-item label="修改时间" prop="updateDate"> |
| | | <el-date-picker v-model="ruleForm.updateDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="计划定制人" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input> |
| | | <el-form-item label="计划定制人" prop="makingUserUid"> |
| | | <el-input v-model="ruleForm.makingUserUid" placeholder="请填写计划定制人"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="制定部门" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | | <el-option label="其他预案" value="common"></el-option> |
| | | </el-select> |
| | | <el-form-item label="制定部门" prop="makingDepartmentId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.makingDepartmentId" |
| | | :data="data" class="w100" |
| | | placeholder="请选择"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="演练目的" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" disabled></el-input> |
| | | <el-form-item label="演练目的" prop="purpose"> |
| | | <el-input |
| | | v-model="ruleForm.purpose" |
| | | placeholder="请填写演练目的" |
| | | class="input-with-select textarea" |
| | | type="textarea" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="保险措施" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input> |
| | | <el-form-item label="保险措施" prop="insuranceMeasures"> |
| | | <el-input v-model="ruleForm.insuranceMeasures" placeholder="请填写保险措施"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="演练经费" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input> |
| | | <el-form-item label="演练经费" prop="drillExpense"> |
| | | <el-input v-model="ruleForm.drillExpense" placeholder="请填写演练经费"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="备注信息" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input> |
| | | <el-form-item label="备注信息" prop="remark"> |
| | | <el-input |
| | | v-model="ruleForm.remark" |
| | | placeholder="请填写备注信息" |
| | | class="input-with-select textarea" |
| | | type="textarea" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> |
| | | <el-form-item label="预案附件"> |
| | | <el-upload |
| | | v-model:file-list="fileList" |
| | | class="upload-demo" |
| | | action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" |
| | | :on-change="handleChange" |
| | | disabled |
| | | > |
| | | <el-button type="primary" disabled |
| | | <el-button type="primary" |
| | | >点击上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="演练过程描述" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser" disabled/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="预案评审-适宜性" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="预案评审-适宜性" prop="suitable"> |
| | | <el-select v-model="ruleForm.suitable" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="预案评审-充分性" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="预案评审-充分性" prop="sufficient"> |
| | | <el-select v-model="ruleForm.sufficient" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="人员到位情况" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="人员到位情况" prop="arrival"> |
| | | <el-select v-model="ruleForm.arrival" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资到位情况-现场物资" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="物资到位情况-现场物资" prop="supplies"> |
| | | <el-select v-model="ruleForm.supplies" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资到位情况-个人防护" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="物资到位情况-个人防护" prop="protection"> |
| | | <el-select v-model="ruleForm.protection" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="协调组织情况-整体组织" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="协调组织情况-整体组织" prop="whole"> |
| | | <el-select v-model="ruleForm.whole" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="协调组织情况-疏散组分工" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="协调组织情况-疏散组分工" prop="division"> |
| | | <el-select v-model="ruleForm.division" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="实战效果评价" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="实战效果评价" prop="effect"> |
| | | <el-select v-model="ruleForm.effect" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="支援部门和协作有效性-报告上级" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="支援部门和协作有效性-报告上级" prop="report"> |
| | | <el-select v-model="ruleForm.report" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="支援部门和协作有效性-安全部门" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="支援部门和协作有效性-安全部门" prop="safety"> |
| | | <el-select v-model="ruleForm.safety" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="支援部门和协作有效性-救援后勤部门" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="支援部门和协作有效性-救援后勤部门" prop="rescue"> |
| | | <el-select v-model="ruleForm.rescue" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="支援部门和协作有效性-警戒撤离配合" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="支援部门和协作有效性-警戒撤离配合" prop="evacuate"> |
| | | <el-select v-model="ruleForm.evacuate" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="是否需要修改应急预案" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled> |
| | | <el-form-item label="是否需要修改应急预案" prop="needModify"> |
| | | <el-select v-model="ruleForm.needModify" class="w100" placeholder="请选择"> |
| | | <el-option label="是" value="admin"></el-option> |
| | | <el-option label="否" value="common"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="存在问题和改进措施" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input> |
| | | <el-form-item label="存在问题和改进措施" prop="questionAndImprove"> |
| | | <el-input v-model="ruleForm.questionAndImprove" class="textarea" type="textarea" placeholder="请填写备注信息"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="修改内容" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写修改内容" disabled></el-input> |
| | | <el-form-item label="修改内容" prop="modifyContent"> |
| | | <el-input v-model="ruleForm.modifyContent" class="textarea" type="textarea" placeholder="请填写修改内容"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="附件列表"> |
| | | <el-upload |
| | | v-model:file-list="fileList" |
| | | v-model:file-list="ruleForm.userList" |
| | | class="upload-demo" |
| | | action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" |
| | | :on-change="handleChange" |
| | | disabled |
| | | > |
| | | <el-button type="primary" disabled |
| | | <el-button type="primary" |
| | | >点击上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="onCancel" size="default">关闭</el-button> |
| | | <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <CheckTemplate ref="Shows"/> |
| | | <RegionsDialog ref="Shows" @SearchUser="onUser"/> |
| | | <userSelections ref="userRef"/> |
| | | <RegionsDialog ref="openRef"/> |
| | | <!-- <RegionsDialog ref="openRef"/>--> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | FullScreen |
| | | } from '@element-plus/icons-vue' |
| | | import UserSelections from "/@/components/userSelections/index.vue" |
| | | import CheckTemplate from '/@/components/checkTemplate/index.vue' |
| | | import RegionsDialog from '/@/components/regionsDialog/index.vue' |
| | | import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue" |
| | | import {emergencyDrillEvaluationApi} from "/@/api/emergencyDrillEvaluation"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'approvalProgress', |
| | | components: { |
| | | CheckTemplate, |
| | | UserSelections, |
| | | RegionsDialog, |
| | | }, |
| | | setup() { |
| | | setup(props, { emit }) { |
| | | const isShowDialog = ref(false) |
| | | |
| | | const ruleFormRef = ref<FormInstance>() |
| | | //定义表单 |
| | | const ruleForm = reactive({ |
| | | teamName: '', // 队伍名称 |
| | | teamLeader: '', //队伍负责人 |
| | | department: [], // 负责人部门 |
| | | phone: '', // 负责人手机 |
| | | telephone: '', // 固定电话 |
| | | const ruleForm = ref ({ |
| | | drillPlanId: '', |
| | | suitable: '', |
| | | sufficient: '', |
| | | arrival: '', |
| | | supplies: '', |
| | | protection: '', |
| | | whole: '', |
| | | division: '', |
| | | effect: '', |
| | | report: '', |
| | | safety: '', |
| | | rescue: '', |
| | | evacuate: '', |
| | | needModify: '', |
| | | questionAndImprove: '', |
| | | modifyContent: '', |
| | | fileList: [ |
| | | { |
| | | fileName: 'name', |
| | | fileUrl: 'url', |
| | | } |
| | | ], |
| | | userList: [ |
| | | { |
| | | userUid: '' |
| | | }, |
| | | { |
| | | userUid: '' |
| | | } |
| | | ] |
| | | }); |
| | | const titles = ref(); |
| | | const disabled = ref(); |
| | | // 打开弹窗 |
| | | const openDialog = () => { |
| | | // state.ruleForm = row; |
| | | const openDialog = (title: string, id: number, type: boolean) => { |
| | | isShowDialog.value = true; |
| | | titles.value = title; |
| | | disabled.value = type; |
| | | if (title == '查看演练实施评价') { |
| | | emergencyDrillEvaluationApi() |
| | | .seeEmergencyDrillEvaluation(id) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ruleForm.value = res.data.data; |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | const resetForm = (formEl: FormInstance | undefined) => { |
| | | isShowDialog.value = false; |
| | | if (!formEl) return; |
| | | formEl.resetFields(); |
| | | }; |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '1-1-1', |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '2-1-1', |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '2-2-1', |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '3-1-1', |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '3-2-1', |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | |
| | | const daiInpt=()=>{ |
| | | Shows.value.openDailog() |
| | | } |
| | | const onUser = (e:any) => { |
| | | ruleForm.value.drillPlanId=e.id |
| | | }; |
| | | // 选择区域弹窗 |
| | | const openRef=ref() |
| | | const regionsDialog=()=>{ |
| | |
| | | tree, |
| | | daiInpt, |
| | | Shows, |
| | | onUser, |
| | | ruleFormRef, |
| | | // rules, |
| | | openUser, |
| | |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | resetForm, |
| | | titles, |
| | | disabled, |
| | | emit, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <div class="system-edit-user-container"> |
| | | <el-dialog |
| | | title="新建待整改" |
| | | :title="titles" |
| | | v-model="isShowDialog" |
| | | width="769px" |
| | | draggable |
| | |
| | | :model="ruleForm" |
| | | size="default" |
| | | label-width="120px" |
| | | :disabled="disabled" |
| | | > |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="整改标题" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称"></el-input> |
| | | <el-form-item label="整改标题" prop="emergencyPlanName"> |
| | | <el-input v-model="ruleForm.emergencyPlanName" placeholder="请填写队伍名称"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="整改单编号" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName" disabled placeholder="请填写队伍名称"></el-input> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="整改来源" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" disabled placeholder="请选择"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> |
| | | <el-option label="演练评价等" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患等级" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> |
| | | <el-option label="一般" value="admin"></el-option> |
| | | <el-option label="重大" value="common"></el-option> |
| | | <el-option label="一般">一般</el-option> |
| | | <el-option label="重大">重大</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患后果" prop="teamLeader"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> |
| | | <el-option label="死亡" value="admin"></el-option> |
| | | <el-option label="重伤" value="common"></el-option> |
| | | <el-option label="轻伤" value="admin"></el-option> |
| | | <el-option label="火灾" value="common"></el-option> |
| | | <el-option label="交通事故" value="admin"></el-option> |
| | | <el-option label="财产损失" value="common"></el-option> |
| | | <el-option label="其它" value="common"></el-option> |
| | | <el-option label="死亡">死亡</el-option> |
| | | <el-option label="重伤">重伤</el-option> |
| | | <el-option label="轻伤">轻伤</el-option> |
| | | <el-option label="火灾">火灾</el-option> |
| | | <el-option label="交通事故">交通事故</el-option> |
| | | <el-option label="财产损失">财产损失</el-option> |
| | | <el-option label="其它">其它</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="regionsDialog"/> |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="隐患照片" prop="telephone"> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" |
| | | :show-file-list="false" |
| | | :on-success="handleAvatarSuccess" |
| | | :before-upload="beforeAvatarUpload" |
| | | > |
| | | <img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
| | | <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> |
| | | <!-- <el-form-item label="隐患照片" prop="telephone">--> |
| | | <!-- <el-upload--> |
| | | <!-- class="avatar-uploader"--> |
| | | <!-- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> |
| | | <!-- :show-file-list="false"--> |
| | | <!-- :on-success="handleAvatarSuccess"--> |
| | | <!-- :before-upload="beforeAvatarUpload"--> |
| | | <!-- >--> |
| | | <!-- <img v-if="imageUrl" :src="imageUrl" class="avatar" />--> |
| | | <!-- <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="发现人" prop="telephone" > |
| | | <el-input |
| | |
| | | <el-row style="margin: 0"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="padding-left: 17.5px;padding-right: 17.5px;"> |
| | | <el-form-item label="整改意见" prop="teamLevel"> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" disabled placeholder="请填写整改意见"></el-input> |
| | | <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写整改意见"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" style="padding-left: 17.5px;padding-right: 17.5px;"> |
| | |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" disabled @click="openUser"/> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | class="w100" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="onCancel" size="default">关闭</el-button> |
| | | <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> |
| | | <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | import UserSelections from "/@/components/userSelections/index.vue" |
| | | import CheckTemplate from '/@/components/checkTemplate/index.vue' |
| | | import RegionsDialog from '/@/components/regionsDialog/index.vue' |
| | | import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan"; |
| | | import {emergencyDrillEvaluationApi} from "/@/api/emergencyDrillEvaluation"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'rectificationDialog', |
| | |
| | | UserSelections, |
| | | RegionsDialog, |
| | | }, |
| | | setup() { |
| | | setup(props, { emit }) { |
| | | const isShowDialog = ref(false) |
| | | |
| | | const ruleFormRef = ref<FormInstance>() |
| | | //定义表单 |
| | | const ruleForm = reactive({ |
| | | teamName: '', // 队伍名称 |
| | | teamLeader: '', //队伍负责人 |
| | | department: [], // 负责人部门 |
| | | phone: '', // 负责人手机 |
| | | telephone: '', // 固定电话 |
| | | id: '', |
| | | drillPlanId: '', |
| | | suitable: '', |
| | | sufficient: '', |
| | | arrival: '', |
| | | supplies: '', |
| | | protection: '', |
| | | whole: '', |
| | | division: '', |
| | | effect: '', |
| | | report: '', |
| | | safety: '', |
| | | rescue: '', |
| | | evacuate: '', |
| | | needModify: '', |
| | | questionAndImprove: '', |
| | | modifyContent: '', |
| | | fileList: [ |
| | | { |
| | | fileName: 'name', |
| | | fileUrl: 'url', |
| | | } |
| | | ], |
| | | userList: [ |
| | | { |
| | | userUid: '' |
| | | }, |
| | | { |
| | | userUid: '' |
| | | } |
| | | ] |
| | | }); |
| | | const titles = ref(); |
| | | const disabled = ref(); |
| | | // 打开弹窗 |
| | | const openDialog = () => { |
| | | // state.ruleForm = row; |
| | | const openDialog = (title: string, id: number, type: boolean) => { |
| | | isShowDialog.value = true; |
| | | titles.value = title; |
| | | disabled.value = type; |
| | | // if (title == '查看演练实施评价' || title == '修改演练实施评价') { |
| | | // releaseDrillPlanApi() |
| | | // .seeReleaseDrillPlan(id) |
| | | // .then((res) => { |
| | | // if (res.data.code == 200) { |
| | | // ruleForm.value = res.data.data; |
| | | // } |
| | | // }); |
| | | // } |
| | | }; |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '1-1-1', |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '2-1-1', |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '2-2-1', |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '3-1-1', |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '3-2-1', |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | |
| | | // ], |
| | | // }) |
| | | // 应急队伍弹窗 |
| | | // 表单提交验证必填项 |
| | | const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | if (title == '查看演练实施评价') { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | isShowDialog.value = false; |
| | | emergencyDrillEvaluationApi() |
| | | .addEmergencyDrillEvaluation(ruleForm.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | emit('myAdd', true); |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'error', |
| | | }); |
| | | emit('myAdd', true); |
| | | } |
| | | formEl.resetFields(); |
| | | }); |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | | }); |
| | | } |
| | | else if (title == '修改演练实施评价') { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | isShowDialog.value = false; |
| | | emergencyDrillEvaluationApi() |
| | | .editEmergencyDrillEvaluation(ruleForm.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: '修改成功', |
| | | type: 'success', |
| | | }); |
| | | emit('myAdd', true); |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'error', |
| | | }); |
| | | emit('myAdd', true); |
| | | } |
| | | formEl.resetFields(); |
| | | }); |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | | }); |
| | | formEl.resetFields(); |
| | | ruleForm.value = { |
| | | id: '', |
| | | drillPlanId: '', |
| | | suitable: '', |
| | | sufficient: '', |
| | | arrival: '', |
| | | supplies: '', |
| | | protection: '', |
| | | whole: '', |
| | | division: '', |
| | | effect: '', |
| | | report: '', |
| | | safety: '', |
| | | rescue: '', |
| | | evacuate: '', |
| | | needModify: '', |
| | | questionAndImprove: '', |
| | | modifyContent: '', |
| | | fileList: [ |
| | | { |
| | | fileName: 'name', |
| | | fileUrl: 'url', |
| | | } |
| | | ], |
| | | userList: [ |
| | | { |
| | | userUid: '' |
| | | }, |
| | | { |
| | | userUid: '' |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | } |
| | | const resetForm = (formEl: FormInstance | undefined) => { |
| | | isShowDialog.value = false; |
| | | if (!formEl) return; |
| | | formEl.resetFields(); |
| | | }; |
| | | const Shows=ref() |
| | | const daiInpt=()=>{ |
| | | Shows.value.openDailog() |
| | |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | submitForm, |
| | | emit, |
| | | titles, |
| | | disabled, |
| | | resetForm, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <el-card shadow="hover"> |
| | | <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
| | | <el-tab-pane label="待评价" name="first"> |
| | | <div class="button_Line"> |
| | | <div class="button_Line mb15"> |
| | | <div class="button_Left"> |
| | | <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> |
| | | <el-icon> |
| | |
| | | </el-icon>删除 |
| | | </el-button> |
| | | </div> |
| | | <div class="button_Right"> |
| | | <el-button @click="upButton"> |
| | | <el-icon> |
| | | <Upload /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Download /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Refresh /> |
| | | </el-icon> |
| | | </el-button> |
| | | </div> |
| | | <!-- <div class="button_Right">--> |
| | | <!-- <el-button @click="upButton">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Upload />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Download />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Refresh />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column prop="teamName" label="演练名称" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="teamLevel" label="演练地点" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="teamDescription" label="演练方式" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="phone" label="演练级别" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="attachments" label="计划演练日期" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="attachments" label="演练记录日期" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="emergencyPlanName" label="演练名称" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillAddress" label="演练地点" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillWay" label="演练方式" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillLevel" label="演练级别" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillPlanDate" label="计划演练日期" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillRecordDate" label="演练记录日期" show-overflow-tooltip sortable></el-table-column> |
| | | <!-- <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column>--> |
| | | <el-table-column label="操作" width="260" align="center" fixed="right"> |
| | | <template #default="scope"> |
| | | <el-button size="small" text disabled> |
| | |
| | | <EditPen /> |
| | | </el-icon>评价 |
| | | </el-button> |
| | | <el-button size="small" text type="primary" @click="onFlowChart(scope.row)"> |
| | | 审批进度 |
| | | </el-button> |
| | | <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> |
| | | <!-- <el-button size="small" text type="primary" @click="onFlowChart(scope.row.id)">--> |
| | | <!-- 审批进度--> |
| | | <!-- </el-button>--> |
| | | <el-button size="small" text type="primary" @click="onApprovalProgress('详情',scope.row.id)"> |
| | | <el-icon style="margin-right: 5px;"> |
| | | <EditPen /> |
| | | </el-icon>查看评价 |
| | |
| | | <el-tab-pane label="已评价" name="second">Config</el-tab-pane> |
| | | </el-tabs> |
| | | </el-card> |
| | | <!-- <ApprovalProgress ref="approvalRef" />--> |
| | | <FlowChart ref="flowRef" /> |
| | | <RectificationDialog ref="rectificationRef" /> |
| | | <OpenEdit ref="editRef" /> |
| | | <upData ref="upShow"></upData> |
| | | <ApprovalProgress ref="approvalRef" @myAdd="onMyAdd" /> |
| | | <!-- <FlowChart ref="flowRef" />--> |
| | | <RectificationDialog ref="rectificationRef" @myAdd="onMyAdds" /> |
| | | <!-- <upData ref="upShow"></upData>--> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | defineComponent |
| | | } from 'vue'; |
| | | import { |
| | | ElTable, |
| | | ElMessage, |
| | | ElMessageBox, |
| | | TabsPaneContext, |
| | | } from 'element-plus'; |
| | | import { |
| | | Plus, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | Delete, |
| | | EditPen, |
| | | } from '@element-plus/icons-vue' |
| | | import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue' |
| | | // import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue'; |
| | | import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue'; |
| | | import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue' |
| | | import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue'; |
| | | import {emergencyDrillEvaluationApi} from '/@/api/emergencyDrillEvaluation' |
| | | |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface TableDataRow { |
| | | // userName: string; |
| | | // userNickname: string; |
| | | // roleSign: string; |
| | | // department: string[]; |
| | | // phone: string; |
| | | // email: string; |
| | | // sex: string; |
| | | // password: string; |
| | | // overdueTime: Date; |
| | | // // describe: string; |
| | | // createTime: string; |
| | | } |
| | | // interface TableDataRow { |
| | | // } |
| | | export default defineComponent({ |
| | | name: 'systemUser', |
| | | components: { |
| | | OpenEdit, |
| | | EditPen, |
| | | Plus, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | UpData, |
| | | // ApprovalProgress, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | // UpData, |
| | | Delete, |
| | | ApprovalProgress, |
| | | RectificationDialog, |
| | | FlowChart |
| | | // FlowChart |
| | | }, |
| | | setup() { |
| | | |
| | | const activeName = ref('first') |
| | | |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { |
| | | console.log(tab, event) |
| | | } |
| | |
| | | }; |
| | | |
| | | // 上传 |
| | | const upShow=ref() |
| | | const upButton=()=>{ |
| | | upShow.value.openDialog() |
| | | } |
| | | // const upShow=ref() |
| | | // const upButton=()=>{ |
| | | // upShow.value.openDialog() |
| | | // } |
| | | |
| | | // 审批进度弹窗 |
| | | const flowRef = ref(); |
| | | const onFlowChart = (row: TableDataRow) => { |
| | | flowRef.value.openDialog(row); |
| | | }; |
| | | // // 查看整改弹窗 |
| | | // const editRef = ref(); |
| | | // const onOpenEdit = () => { |
| | | // editRef.value.openDialog('演练实施评价',false); |
| | | // const flowRef = ref(); |
| | | // const onFlowChart = (row: TableDataRow) => { |
| | | // flowRef.value.openDialog(row); |
| | | // }; |
| | | // 打开修改弹窗 |
| | | const rectificationRef = ref(); |
| | | const onEdit = (val: string, row: object) => { |
| | | if (val == '详情') { |
| | | rectificationRef.value.openDialog('查看演练实施评价',row,true); |
| | | } else { |
| | | if (val == '修改') { |
| | | rectificationRef.value.openDialog('修改演练实施评价',row,false); |
| | | } else { |
| | | // rectificationRef.value.openDialog('修改演练实施评价',row,false); |
| | | } |
| | | }; |
| | | const onMyAdds = (e: boolean) => { |
| | | if (e) { |
| | | listApi(); |
| | | } else { |
| | | listApi(); |
| | | } |
| | | }; |
| | | // 审批进度弹窗 |
| | | // const approvalRef = ref(); |
| | | // const onApprovalProgress = () => { |
| | | // approvalRef.value.openDialog(); |
| | | // }; |
| | | const approvalRef = ref(); |
| | | const onApprovalProgress = (val: string, row: object) => { |
| | | if (val == '详情') { |
| | | approvalRef.value.openDialog('查看演练实施评价', row, true); |
| | | } |
| | | }; |
| | | // 新增后刷新 |
| | | const onMyAdd = (e: boolean) => { |
| | | if (e) { |
| | | listApi(); |
| | | } else { |
| | | listApi(); |
| | | } |
| | | }; |
| | | // 整改弹窗 |
| | | // const rectificationRef = ref(); |
| | | // const onEdit = () => { |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // 分页 |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | |
| | | return { |
| | | activeName, |
| | | handleClick, |
| | | upButton, |
| | | upShow, |
| | | // upButton, |
| | | // upShow, |
| | | tableData, |
| | | // onOpenEdit, //编辑 |
| | | pageIndex, |
| | | pageSize, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | // onApprovalProgress, |
| | | // approvalRef, |
| | | onApprovalProgress, |
| | | approvalRef, |
| | | onEdit, |
| | | rectificationRef, |
| | | onFlowChart, |
| | | flowRef, |
| | | // onFlowChart, |
| | | // flowRef, |
| | | onDeleteAll, |
| | | danger, |
| | | total, |
| | | handleSelectionChange, |
| | | onMyAdd, |
| | | onMyAdds, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | } |
| | | //表头 |
| | | ::v-deep .el-table th.el-table__cell { |
| | | background-color: #f6f7fa; |
| | | font-weight: 400; |
| | | color: #909399; |
| | | } |
| | | .el-table .sort-caret.ascending{ |
| | | border-bottom-color: #c0c4cc; |
| | | } |
| | | //分页 |
| | | .pages{ |
| | | display: flex; |
| | |
| | | </el-dialog> |
| | | <UserSelect ref="Shows"/> |
| | | <UserCheckbox ref="userRef"/> |
| | | <RegionsDialog ref="openRef"/> |
| | | <RegionsDialog ref="openRef" @SearchUser="onUser"/> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } |
| | | // 演练名称弹窗 |
| | | const openRef=ref() |
| | | const regionsDialog=()=>{ |
| | | const regionsDialog = () => { |
| | | openRef.value.openDailog() |
| | | } |
| | | const onUser = (e:any) => { |
| | | ruleForm.value.drillPlanId=e.id |
| | | }; |
| | | // 实际到场人员弹窗 |
| | | const userRef = ref(); |
| | | const openUser = () => { |
| | |
| | | openUser, |
| | | userRef, |
| | | regionsDialog, |
| | | onUser, |
| | | openRef, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | |
| | | <template> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | title="选择演练名称" |
| | | width="900px" |
| | | draggable |
| | | :fullscreen="full" |
| | | > |
| | | <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="ruleForm.checkPass" placeholder="演练名称" style="max-width: 215px;" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="margin-left: 12px;">查询</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> |
| | | </el-form-item> |
| | | <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button> |
| | | </el-form> |
| | | <el-table :data="tableData" style="width: 100%;margin-top:20px;"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column align="center" prop="name" label="演练名称"/> |
| | | </el-table> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="listQuery.searchParams.drillName" placeholder="演练名称" style="max-width: 215px;margin-right: 12px;" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="onSubmit">查询</el-button> |
| | | <el-button size="default" @click="submitReset">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%; |
| | | margin-top: 20px" |
| | | @cell-click="radio" |
| | | > |
| | | <el-table-column width="55"> |
| | | <template #default="scope"> |
| | | <el-radio-group v-model="radio1"> |
| | | <el-radio :label="scope.row" size="large">{{ null }}</el-radio> |
| | | </el-radio-group> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="drillName" label="预案名称" /> |
| | | </el-table> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | v-model:currentPage="pageIndex" |
| | | v-model:page-size="pageSize" |
| | | :page-sizes="[10, 20, 30]" |
| | | :pager-count="5" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="40" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :total="total" |
| | | @size-change="onHandleSizeChange" |
| | | @current-change="onHandleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6" style="padding-left: 15px;"> |
| | | <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)"> |
| | | {{ tag }} |
| | | </el-tag> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div v-if="dynamicTags[0] == '' ? false : true"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | > |
| | | {{ tag.drillName }} |
| | | </el-tag> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false" size="default">关闭</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> |
| | | <el-button type="primary" @click="submitForm" size="default">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { |
| | | defineComponent, |
| | | reactive, |
| | | ref |
| | | } from 'vue'; |
| | | import { |
| | | Delete, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue'; |
| | | import { defineComponent, reactive, ref, onMounted } from 'vue'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { Delete, FullScreen } from '@element-plus/icons-vue'; |
| | | import { emergencyPlanLogApi } from '/@/api/emergencyPlanLog'; |
| | | import { emergencyPlanApi } from '/@/api/emergencyPlan'; |
| | | import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | }; |
| | | // 搜索条件 |
| | | const ruleForm = reactive({ |
| | | checkPass: '', |
| | | }); |
| | | // 表格 |
| | | const tableData = [ |
| | | { |
| | | name: '1#LNG储罐单元', |
| | | }, |
| | | { |
| | | name: 'LNG装车区', |
| | | }, |
| | | { |
| | | name: '丙烷储罐区', |
| | | }, |
| | | { |
| | | name: '4#LNG储罐单元', |
| | | }, |
| | | ]; |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | onSubmit() |
| | | }; |
| | | // 搜索条件 |
| | | const listQuery = reactive({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | drillName: '' |
| | | }, |
| | | }); |
| | | // 列表请求数据 |
| | | const onSubmit = async () => { |
| | | let res = await releaseDrillPlanApi().getReleaseDrillPlanList(listQuery); |
| | | if (res.data.code === '200') { |
| | | tableData.value = res.data.data; |
| | | pageIndex.value = res.data.pageIndex; |
| | | pageSize.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | type: 'error', |
| | | message: res.data.msg, |
| | | }); |
| | | } |
| | | }; |
| | | // 定义表格数据 |
| | | const tableData = ref([]); |
| | | // 重置 |
| | | const submitReset = () => { |
| | | listQuery.searchParams.drillName = ''; |
| | | onSubmit(); |
| | | }; |
| | | // 分页 |
| | | const pageIndex = ref(4); |
| | | const pageSize = ref(10); |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | | const total = ref(); |
| | | // 分页改变 |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`); |
| | | const onHandleSizeChange = (val: number) => { |
| | | listQuery.pageSize = val; |
| | | }; |
| | | // 分页未改变 |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`); |
| | | const onHandleCurrentChange = (val: number) => { |
| | | listQuery.pageIndex = val; |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | radio1.value = ''; |
| | | }; |
| | | const radio1 = ref(''); |
| | | const radio = (event: any) => { |
| | | dynamicTags.value[0] = event; |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | |
| | | full.value = false; |
| | | } |
| | | }; |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | ruleForm, |
| | | tableData, |
| | | pageIndex, |
| | | |
| | | const submitForm = () => { |
| | | let obj = JSON.parse(JSON.stringify(dynamicTags.value)); |
| | | emit('SearchUser', obj[0]); |
| | | dialogVisible.value = false; |
| | | }; |
| | | onMounted(() => { |
| | | onSubmit(); |
| | | }); |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | tableData, |
| | | pageSize, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | dynamicTags, |
| | | handleClose, |
| | | Delete, |
| | | pageIndex, |
| | | onHandleSizeChange, |
| | | onHandleCurrentChange, |
| | | dynamicTags, |
| | | handleClose, |
| | | Delete, |
| | | radio1, |
| | | radio, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | }; |
| | | }, |
| | | submitReset, |
| | | onMounted, |
| | | listQuery, |
| | | submitForm, |
| | | onSubmit, |
| | | total, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped> |
| | | .el-row { |
| | | padding: 0 0 20px 0; |
| | | .el-form--inline .el-form-item { |
| | | margin-bottom: 0; |
| | | margin-right: 0; |
| | | } |
| | | .el-form--inline .el-form-item{ |
| | | margin: 0; |
| | | /*分页*/ |
| | | .pages { |
| | | margin-top: 15px; |
| | | } |
| | | /*分页开始*/ |
| | | .pages{ |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | margin-top: 15px; |
| | | } |
| | | ::v-deep .el-pagination .el-pager li { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | ::v-deep .el-pagination button:disabled{ |
| | | ::v-deep .el-pagination button:disabled { |
| | | color: #c0c4cc; |
| | | } |
| | | ::v-deep .el-pagination .btn-next{ |
| | | ::v-deep .el-pagination .btn-next { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | /*分页结束*/ |
| | | </style> |
| | |
| | | <template> |
| | | <div class="system-user-container"> |
| | | <el-card shadow="hover"> |
| | | <div class="button_Line"> |
| | | <div class="button_Line mb15"> |
| | | <div class="button_Left"> |
| | | <el-button size="default" type="primary" @click="onOpenAdd"> |
| | | <el-icon> |
| | |
| | | </el-button> |
| | | </div> |
| | | <div class="button_Right"> |
| | | <el-button @click="upButton"> |
| | | <el-icon> |
| | | <Upload /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Download /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Refresh /> |
| | | </el-icon> |
| | | </el-button> |
| | | <!-- <el-button @click="upButton">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Upload />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Download />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Refresh />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | </div> |
| | | </div> |
| | | <el-table |
| | |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column prop="drillPlanId" label="演练名称" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="emergencyPlanName" label="演练名称" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillAddress" label="演练地点" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillWay" label="演练方式" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column prop="drillLevel" label="演练级别" show-overflow-tooltip sortable></el-table-column> |
| | |
| | | </div> |
| | | </el-card> |
| | | <OpenAdd ref="addRef" @myAdd="onMyAdd"/> |
| | | <upData ref="upShow"></upData> |
| | | <!-- <upData ref="upShow"></upData>--> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { Plus, |
| | | // Edit, |
| | | Delete, |
| | | Upload, |
| | | Download, |
| | | // Upload, |
| | | // Download, |
| | | View, |
| | | Refresh, |
| | | VideoPause, |
| | |
| | | // Edit, |
| | | Delete, |
| | | View, |
| | | Upload, |
| | | Download, |
| | | // Upload, |
| | | // Download, |
| | | Refresh, |
| | | VideoPause, |
| | | UpData |
| | |
| | | }; |
| | | |
| | | // 上传 |
| | | const upShow=ref() |
| | | const upButton=()=>{ |
| | | upShow.value.openDialog() |
| | | } |
| | | // const upShow=ref() |
| | | // const upButton=()=>{ |
| | | // upShow.value.openDialog() |
| | | // } |
| | | // 打开新增用户弹窗 |
| | | const addRef = ref(); |
| | | const onOpenAdd = () => { |
| | |
| | | listApi(); |
| | | }); |
| | | return { |
| | | upButton, |
| | | upShow, |
| | | // upButton, |
| | | // upShow, |
| | | tableData, |
| | | onOpenAdd, //新增 |
| | | addRef, |
| | |
| | | handleSelectionChange, |
| | | danger, |
| | | deletAll, |
| | | onEdit, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | } |
| | | //表头 |
| | | ::v-deep .el-table th.el-table__cell { |
| | | background-color: #f6f7fa; |
| | | font-weight: 400; |
| | | color: #909399; |
| | | } |
| | | .el-table .sort-caret.ascending{ |
| | | border-bottom-color: #c0c4cc; |
| | | } |
| | | //分页开始 |
| | | .pages{ |
| | | display: flex; |
| | |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <RegionsDialog ref="Shows"/> |
| | | <RegionsDialog ref="Shows" @SearchUser="onUser"/> |
| | | <UserCheckbox ref="userRef"/> |
| | | </div> |
| | | </template> |
| | |
| | | } from '@element-plus/icons-vue' |
| | | import UserCheckbox from "/@/components/userCheckbox/index.vue" |
| | | import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue" |
| | | import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; |
| | | import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openAdd', |
| | |
| | | }; |
| | | // 应急队伍弹窗 |
| | | const Shows=ref() |
| | | const daiInpt=()=>{ |
| | | const daiInpt = () => { |
| | | Shows.value.openDailog() |
| | | } |
| | | const onUser = (e:any) => { |
| | | ruleForm.value.planId=e.id |
| | | }; |
| | | // 打开用户选择弹窗 |
| | | const userRef = ref(); |
| | | const openUser = () => { |
| | |
| | | disabled, |
| | | resetForm, |
| | | emit, |
| | | onUser, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | title="选择应急预案" |
| | | width="900px" |
| | | draggable |
| | | :fullscreen="full"> |
| | | <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案名称" style="max-width: 215px;" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="padding-right: 12px;">查询</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> |
| | | </el-form-item> |
| | | <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button> |
| | | </el-form> |
| | | <el-table :data="tableData" style="width: 100%;margin-top:20px;"> |
| | | <el-table-column align="center" width="55"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="listQuery.searchParams.name" placeholder="预案名称" style="max-width: 215px;margin-right: 12px;" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="onSubmit">查询</el-button> |
| | | <el-button size="default" @click="submitReset">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%; |
| | | margin-top: 20px" |
| | | @cell-click="radio" |
| | | > |
| | | <el-table-column width="55"> |
| | | <template #default="scope"> |
| | | <el-radio-group v-model="radio1" @change="radio"> |
| | | <el-radio :label="scope.row.name" size="large">{{null}}</el-radio> |
| | | <el-radio-group v-model="radio1"> |
| | | <el-radio :label="scope.row" size="large">{{ null }}</el-radio> |
| | | </el-radio-group> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="name" label="预案名称"/> |
| | | <el-table-column align="center" prop="name" label="预案名称" /> |
| | | </el-table> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | v-model:currentPage="pageIndex" |
| | | v-model:page-size="pageSize" |
| | | :page-sizes="[10, 20, 30]" |
| | | :pager-count="5" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="40" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :total="total" |
| | | @size-change="onHandleSizeChange" |
| | | @current-change="onHandleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6" style="padding-left: 15px;"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | > |
| | | {{ tag }} |
| | | </el-tag> |
| | | <el-col :span="6"> |
| | | <div v-if="dynamicTags[0] == '' ? false : true"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | > |
| | | {{ tag.name }} |
| | | </el-tag> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false" size="default">关闭</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> |
| | | <el-button type="primary" @click="submitForm" size="default">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { |
| | | defineComponent, |
| | | reactive, |
| | | ref |
| | | } from 'vue'; |
| | | import { |
| | | Delete, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue'; |
| | | import { defineComponent, reactive, ref, onMounted } from 'vue'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { Delete, FullScreen } from '@element-plus/icons-vue'; |
| | | import { emergencyPlanApi } from '/@/api/emergencyPlan'; |
| | | export default defineComponent({ |
| | | setup() { |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | onSubmit() |
| | | }; |
| | | // 搜索条件 |
| | | const ruleForm = reactive({ |
| | | checkPass: '', |
| | | const listQuery = reactive({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | name: '', |
| | | }, |
| | | }); |
| | | // 表格 |
| | | const tableData = [ |
| | | { |
| | | name: '1#LNG储罐单元', |
| | | }, |
| | | { |
| | | name: 'LNG装车区', |
| | | }, |
| | | { |
| | | name: '丙烷储罐区', |
| | | }, |
| | | { |
| | | name: '4#LNG储罐单元', |
| | | }, |
| | | ]; |
| | | // 定义表格数据 |
| | | const tableData = ref([]); |
| | | // 重置 |
| | | const submitReset = () => { |
| | | listQuery.searchParams.name = ''; |
| | | onSubmit(); |
| | | }; |
| | | |
| | | // 列表请求数据 |
| | | const onSubmit = async () => { |
| | | let res = await emergencyPlanApi().getEmergencyPlanList(listQuery); |
| | | if (res.data.code === '200') { |
| | | tableData.value = res.data.data; |
| | | pageIndex.value = res.data.pageIndex; |
| | | pageSize.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | type: 'error', |
| | | message: res.data.msg, |
| | | }); |
| | | } |
| | | }; |
| | | // 分页 |
| | | const pageIndex = ref(4); |
| | | const pageSize = ref(10); |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | | const total = ref(); |
| | | // 分页改变 |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`); |
| | | const onHandleSizeChange = (val: number) => { |
| | | listQuery.pageSize = val; |
| | | }; |
| | | // 分页未改变 |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`); |
| | | const onHandleCurrentChange = (val: number) => { |
| | | listQuery.pageIndex = val; |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['LNG储罐单元']); |
| | | const dynamicTags = ref(['']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | radio1.value="" |
| | | radio1.value = ''; |
| | | }; |
| | | const radio1=ref('LNG装车区') |
| | | const radio=(event:any)=>{ |
| | | dynamicTags.value[0]=event |
| | | } |
| | | const radio1 = ref(''); |
| | | const radio = (event: any) => { |
| | | dynamicTags.value[0] = event; |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | |
| | | full.value = false; |
| | | } |
| | | }; |
| | | |
| | | const submitForm = () => { |
| | | let obj = JSON.parse(JSON.stringify(dynamicTags.value)); |
| | | emit('SearchUser', obj[0]); |
| | | dialogVisible.value = false; |
| | | }; |
| | | onMounted(() => { |
| | | onSubmit(); |
| | | }); |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | ruleForm, |
| | | tableData, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | pageIndex, |
| | | pageSize, |
| | | Delete, |
| | | pageIndex, |
| | | onHandleSizeChange, |
| | | onHandleCurrentChange, |
| | | dynamicTags, |
| | | handleClose, |
| | | Delete, |
| | | radio1, |
| | | radio, |
| | | dynamicTags, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | submitReset, |
| | | onMounted, |
| | | listQuery, |
| | | onSubmit, |
| | | submitForm, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped> |
| | | .el-row { |
| | | padding: 0 0 20px 0; |
| | | } |
| | | .el-form--inline .el-form-item{ |
| | | margin: 0; |
| | | .el-form--inline .el-form-item { |
| | | margin-bottom: 0; |
| | | margin-right: 0; |
| | | } |
| | | /*分页*/ |
| | | .pages{ |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | margin-top: 15px; |
| | | } |
| | | .pages { |
| | | margin-top: 15px; |
| | | } |
| | | ::v-deep .el-pagination .el-pager li { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | ::v-deep .el-pagination button:disabled{ |
| | | ::v-deep .el-pagination button:disabled { |
| | | color: #c0c4cc; |
| | | } |
| | | ::v-deep .el-pagination .btn-next{ |
| | | ::v-deep .el-pagination .btn-next { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | |
| | | <div class="system-user-container"> |
| | | <el-card shadow="hover"> |
| | | <div class="button_Line"> |
| | | <div class="button_Left"> |
| | | <div class="button_Left mb15"> |
| | | <el-button size="default" type="primary" @click="onOpenAdd"> |
| | | <el-icon> |
| | | <Plus /> |
| | |
| | | </el-button> |
| | | </div> |
| | | <div class="button_Right"> |
| | | <el-button @click="upButton"> |
| | | <el-icon> |
| | | <Upload /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Download /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button> |
| | | <el-icon> |
| | | <Refresh /> |
| | | </el-icon> |
| | | </el-button> |
| | | <!-- <el-button @click="upButton">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Upload />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Download />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button>--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Refresh />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | </div> |
| | | </div> |
| | | <el-table |
| | |
| | | import { |
| | | Plus, |
| | | Delete, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | View, |
| | | VideoPlay, |
| | | EditPen, |
| | |
| | | import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue'; |
| | | import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | import { releaseDrillPlanApi } from '/@/api/releaseDrillPlan'; |
| | | import { releaseDrillPlanApi } from '/@/api/emergencyDrillPlan'; |
| | | |
| | | export default defineComponent({ |
| | | name: 'systemUser', |
| | |
| | | Plus, |
| | | View, |
| | | Delete, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | VideoPlay, |
| | | UpData, |
| | | // FlowChart, |
| | |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | drillName: '' |
| | | }, |
| | | }); |
| | | // 定义表格数据 |
| | |
| | | listApi(); |
| | | }); |
| | | // 上传 |
| | | const upShow=ref() |
| | | const upButton=()=>{ |
| | | upShow.value.openDialog() |
| | | } |
| | | // const upShow=ref() |
| | | // const upButton=()=>{ |
| | | // upShow.value.openDialog() |
| | | // } |
| | | |
| | | // 打开新增弹窗 |
| | | const addRef = ref(); |
| | |
| | | }) |
| | | } |
| | | return { |
| | | upButton, |
| | | upShow, |
| | | // upButton, |
| | | // upShow, |
| | | tableData, |
| | | // onflowChart, |
| | | // flowRef, |
| | |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | } |
| | | //表头 |
| | | ::v-deep .el-table th.el-table__cell { |
| | | background-color: #f6f7fa; |
| | | font-weight: 400; |
| | | color: #909399; |
| | | } |
| | | .el-table .sort-caret.ascending{ |
| | | border-bottom-color: #c0c4cc; |
| | | } |
| | | //分页 |
| | | .pages{ |
| | | display: flex; |
| | |
| | | > |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="应急预案" prop="teamName"> |
| | | <el-form-item label="应急预案" prop="planId" > |
| | | <el-input |
| | | v-model="ruleForm.planId" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | disabled |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | <el-button :icon="Search" disabled @click="openUser"/> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <userSelections ref="userRef"/> |
| | | <DailogSearchUser ref="userRef" @SearchUser="onUser"/> |
| | | <AddEmergencyPersonnel ref="addRef" /> |
| | | <EditEmergencyPersonnel ref="editRef" /> |
| | | </div> |
| | |
| | | Search, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue' |
| | | import UserSelections from "/@/components/userSelections/index.vue" |
| | | import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" |
| | | import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue"; |
| | | import EditEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/editEmergencyPersonnel.vue"; |
| | | import {emergencyPlanLogApi} from "/@/api/emergencyPlanLog"; |
| | |
| | | export default defineComponent({ |
| | | name: 'openEdit', |
| | | components: { |
| | | UserSelections, |
| | | DailogSearchUser, |
| | | AddEmergencyPersonnel, |
| | | EditEmergencyPersonnel |
| | | }, |
| | |
| | | |
| | | const ruleFormRef = ref<FormInstance>(); |
| | | const ruleForm= ref({ |
| | | planId: '应急预案', //应急预案人员 |
| | | planId: '', //应急预案人员 |
| | | remark: '', // 备注 |
| | | }) |
| | | const titles = ref(); |
| | |
| | | // 打开用户选择弹窗 |
| | | const userRef = ref(); |
| | | const openUser = () => { |
| | | userRef.value.openDialog(); |
| | | userRef.value.openDailog(); |
| | | }; |
| | | const onUser = (e:any) => { |
| | | ruleForm.value.planId=e.id |
| | | }; |
| | | // 打开弹窗 |
| | | const openDialog = (title: string, id: number, type: boolean) => { |
| | |
| | | }); |
| | | formEl.resetFields(); |
| | | ruleForm.value = { |
| | | planId: '应急预案', //应急预案人员 |
| | | planId: '', //应急预案人员 |
| | | remark: '', // 备注 |
| | | }; |
| | | } |
| | |
| | | submitForm, |
| | | resetForm, |
| | | isShowDialog, |
| | | onUser, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | title="选择应急预案" |
| | | width="900px" |
| | | draggable |
| | | :fullscreen="full" |
| | | > |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="ruleForm.pass" placeholder="预案名称" style="max-width: 215px;"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案类型" style="max-width: 215px;padding: 0 12px;"/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table :data="tableData" style="width: 100%;margin-top:20px"> |
| | | <el-table-column width="55"> |
| | | <template #default="scope"> |
| | | <el-radio-group v-model="radio1" @change="radio"> |
| | | <el-radio :label="scope.row.pass" size="large">{{null}}</el-radio> |
| | | </el-radio-group> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="pass" label="预案名称" /> |
| | | <el-table-column align="center" prop="checkPass" label="预案类型"/> |
| | | </el-table> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | v-model:currentPage="currentPage4" |
| | | v-model:page-size="pageSize4" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon> |
| | | <el-form-item> |
| | | <el-input size="default" v-model="listQuery.searchParams.name" placeholder="预案名称" style="max-width: 215px" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select size="default" v-model="listQuery.searchParams.type" placeholder="请选择预案类型" class="ml10" style="max-width: 215px;margin-right: 12px;"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | | <el-option label="其他预案" value="common"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="onSubmit">查询</el-button> |
| | | <el-button size="default" @click="submitReset">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%; |
| | | margin-top: 20px" |
| | | @cell-click="radio" |
| | | > |
| | | {{ tag }} |
| | | </el-tag> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <el-table-column width="55"> |
| | | <template #default="scope"> |
| | | <el-radio-group v-model="radio1"> |
| | | <el-radio :label="scope.row" size="large">{{ null }}</el-radio> |
| | | </el-radio-group> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="name" label="预案名称" /> |
| | | <el-table-column align="center" prop="type" label="预案类型" /> |
| | | </el-table> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | v-model:currentPage="pageIndex" |
| | | v-model:page-size="pageSize" |
| | | :page-sizes="[10, 20, 30]" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | | @size-change="onHandleSizeChange" |
| | | @current-change="onHandleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div v-if="dynamicTags[0] == '' ? false : true"> |
| | | <el-tag |
| | | v-for="tag in dynamicTags" |
| | | :key="tag" |
| | | class="mx-1" |
| | | style="margin: 5px" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClose(tag)" |
| | | > |
| | | {{ tag.name }} |
| | | </el-tag> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false" size="default">关闭</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> |
| | | <el-button type="primary" @click="submitForm" size="default">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { |
| | | defineComponent, |
| | | reactive, |
| | | ref |
| | | } from 'vue'; |
| | | import { |
| | | Delete, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue'; |
| | | import { defineComponent, reactive, ref, onMounted } from 'vue'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { Delete, FullScreen } from '@element-plus/icons-vue'; |
| | | import { emergencyPlanLogApi } from '/@/api/emergencyPlanLog'; |
| | | import { emergencyPlanApi } from '/@/api/emergencyPlan'; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | }; |
| | | // 搜索条件 |
| | | const ruleForm = reactive({ |
| | | pass: '', |
| | | checkPass: '', |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref<boolean>(false); |
| | | const openDailog = () => { |
| | | dialogVisible.value = true; |
| | | listApi() |
| | | }; |
| | | // 搜索条件 |
| | | const listQuery = reactive({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | name: '', |
| | | type: '', |
| | | }, |
| | | }); |
| | | // 列表参数 |
| | | const listQuery2 = reactive({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | planId: '', |
| | | }, |
| | | }); |
| | | // 表格 |
| | | const tableData = [ |
| | | { |
| | | pass: '生产安全事故应急预案202102', |
| | | checkPass: '1', |
| | | }, |
| | | { |
| | | pass: '生产安全事故应急预案', |
| | | checkPass: '2', |
| | | }, |
| | | { |
| | | pass: '作业人员触电事故现场处置方案', |
| | | checkPass: '4', |
| | | }, |
| | | { |
| | | pass: '船舶碰撞码头事故专项应急预案', |
| | | checkPass: '2', |
| | | }, |
| | | ]; |
| | | const pageSize4 = ref(100); |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`); |
| | | // 定义表格数据 |
| | | const tableData = ref([]); |
| | | // 请求列表数据 |
| | | const onSubmit = async () => { |
| | | let res = await emergencyPlanLogApi().getEmergencyPlanLogList(listQuery2); |
| | | if (res.data.code == 200) { |
| | | tableData.value = res.data.data; |
| | | pageIndex.value = res.data.pageIndex; |
| | | pageSize.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }; |
| | | // 重置 |
| | | const submitReset = () => { |
| | | listQuery.searchParams.name = ''; |
| | | listQuery.searchParams.type = ''; |
| | | onSubmit(); |
| | | }; |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`); |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['船舶碰撞码头事故专项应急预案']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | radio1.value="" |
| | | }; |
| | | const radio1=ref('生产安全事故应急预案202102') |
| | | const radio=(event:any)=>{ |
| | | dynamicTags.value[0]=event |
| | | } |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | | if (full.value == false) { |
| | | full.value = true; |
| | | } else { |
| | | full.value = false; |
| | | } |
| | | }; |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | ruleForm, |
| | | tableData, |
| | | pageSize4, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | dynamicTags, |
| | | handleClose, |
| | | Delete, |
| | | radio1, |
| | | radio, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | }; |
| | | }, |
| | | |
| | | // 列表请求数据 |
| | | const listApi = async () => { |
| | | let res = await emergencyPlanApi().getEmergencyPlanList(listQuery); |
| | | if (res.data.code === '200') { |
| | | tableData.value = res.data.data; |
| | | pageIndex.value = res.data.pageIndex; |
| | | pageSize.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | type: 'error', |
| | | message: res.data.msg, |
| | | }); |
| | | } |
| | | }; |
| | | // 分页 |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | | const total = ref(); |
| | | // 分页改变 |
| | | const onHandleSizeChange = (val: number) => { |
| | | listQuery.pageSize = val; |
| | | }; |
| | | // 分页未改变 |
| | | const onHandleCurrentChange = (val: number) => { |
| | | listQuery.pageIndex = val; |
| | | }; |
| | | // 右方点击添加后显示标签 |
| | | const dynamicTags = ref(['']); |
| | | const handleClose = (tag: string) => { |
| | | dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); |
| | | radio1.value = ''; |
| | | }; |
| | | const radio1 = ref(''); |
| | | const radio = (event: any) => { |
| | | dynamicTags.value[0] = event; |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | | if (full.value == false) { |
| | | full.value = true; |
| | | } else { |
| | | full.value = false; |
| | | } |
| | | }; |
| | | |
| | | const submitForm = () => { |
| | | let obj = JSON.parse(JSON.stringify(dynamicTags.value)); |
| | | emit('SearchUser', obj[0]); |
| | | dialogVisible.value = false; |
| | | }; |
| | | onMounted(() => { |
| | | onSubmit(); |
| | | }); |
| | | return { |
| | | dialogVisible, |
| | | openDailog, |
| | | tableData, |
| | | pageSize, |
| | | pageIndex, |
| | | onHandleSizeChange, |
| | | onHandleCurrentChange, |
| | | dynamicTags, |
| | | handleClose, |
| | | Delete, |
| | | radio1, |
| | | radio, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | submitReset, |
| | | onMounted, |
| | | listQuery, |
| | | onSubmit, |
| | | submitForm, |
| | | listApi, |
| | | listQuery2, |
| | | total, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped> |
| | | .el-form--inline .el-form-item{ |
| | | margin-bottom: 0; |
| | | margin-right: 0; |
| | | .el-form--inline .el-form-item { |
| | | margin-bottom: 0; |
| | | margin-right: 0; |
| | | } |
| | | /*分页*/ |
| | | .pages{ |
| | | margin-top: 15px; |
| | | .pages { |
| | | margin-top: 15px; |
| | | } |
| | | ::v-deep .el-pagination .el-pager li { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | ::v-deep .el-pagination .el-pager li.is-active { |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-pagination .btn-prev { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | ::v-deep .el-pagination button:disabled{ |
| | | color: #c0c4cc; |
| | | ::v-deep .el-pagination button:disabled { |
| | | color: #c0c4cc; |
| | | } |
| | | ::v-deep .el-pagination .btn-next{ |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | ::v-deep .el-pagination .btn-next { |
| | | margin: 0 5px; |
| | | background-color: #f4f4f5; |
| | | color: #606266; |
| | | min-width: 30px; |
| | | border-radius: 2px; |
| | | } |
| | | </style> |
| | |
| | | <View /> |
| | | </el-icon>查看 |
| | | </el-button> |
| | | <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)"> |
| | | <el-icon style="margin-right: 5px;"> |
| | | <EditPen /> |
| | | </el-icon>修改 |
| | | </el-button> |
| | | <!-- <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)">--> |
| | | <!-- <el-icon style="margin-right: 5px;">--> |
| | | <!-- <EditPen />--> |
| | | <!-- </el-icon>修改--> |
| | | <!-- </el-button>--> |
| | | <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> |
| | | <el-icon> |
| | | <Delete /> |
| | |
| | | /> |
| | | </div> |
| | | </el-card> |
| | | <SelectEmergencyPlan ref="showRef"/> |
| | | <SelectEmergencyPlan ref="showRef" @SearchUser="onUser"/> |
| | | <OpenSee ref="editRef" @myAdd="onMyAdd" /> |
| | | </div> |
| | | </template> |
| | |
| | | const daiInpt=()=>{ |
| | | showRef.value.openDailog() |
| | | } |
| | | const onUser = (e:any) => { |
| | | listQuery.searchParams.planId=e.id |
| | | }; |
| | | // 删除用户 |
| | | const onRowDel = (data: any) => { |
| | | ElMessageBox.confirm('确定删除所选项吗?', '提示',{ |
| | |
| | | deleteAll, |
| | | warning, |
| | | danger, |
| | | total, |
| | | onUser, |
| | | handleSelectionChange, |
| | | }; |
| | | }, |
| | |
| | | /> |
| | | </div> |
| | | </el-card> |
| | | <EmergencySupplies ref="showRef"/> |
| | | <EmergencySupplies ref="showRef" @SearchUser="onUser"/> |
| | | <upData ref="upShow"></upData> |
| | | <OpenAdd ref="addRef" @myAdd="onMyAdd" /> |
| | | </div> |
| | |
| | | const daiInpt=()=>{ |
| | | showRef.value.openDailog() |
| | | } |
| | | |
| | | const onUser = (e:any) => { |
| | | listQuery.searchParams.suppliesId=e.id |
| | | }; |
| | | // 分页 |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | |
| | | warning, |
| | | danger, |
| | | total, |
| | | onUser, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="使用说明"> |
| | | <el-input v-model="ruleForm.useExplain" placeholder="请填写使用说明"></el-input> |
| | | <el-input v-model="ruleForm.useExplain" type="textarea" placeholder="请填写使用说明"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | const openUser = () => { |
| | | userRef.value.openDialog(); |
| | | }; |
| | | const dataList = [ |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | ] |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | |
| | | titles, |
| | | disabled, |
| | | emit, |
| | | dataList, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <template> |
| | | <div class="system-edit-user-container"> |
| | | <el-dialog |
| | | title="查看应急物资代码" |
| | | :title="titles" |
| | | v-model="isShowDialog" |
| | | width="769px" |
| | | width="50%" |
| | | draggable |
| | | :fullscreen="full" |
| | | > |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-form |
| | | ref="ruleFormRef" |
| | | :rules="rules" |
| | | :model="ruleForm" |
| | | size="default" |
| | | label-width="120px" |
| | | :disabled="disabled" |
| | | > |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资名称" prop="name"> |
| | | <el-input v-model="ruleForm.name"></el-input> |
| | | <el-input v-model="ruleForm.name" placeholder="请填写物资名称"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资编号" prop="number"> |
| | | <el-input v-model="ruleForm.number"></el-input> |
| | | <el-input v-model="ruleForm.number" placeholder="请填写物资编号"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资用途" prop="purpose"> |
| | | <el-input v-model="ruleForm.purpose"></el-input> |
| | | <el-form-item label="物资用途" prop="use"> |
| | | <el-input v-model="ruleForm.use" placeholder="请填写物资用途"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="所属区域" prop="area"> |
| | | <el-input v-model="ruleForm.area"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资型号" prop="model"> |
| | | <el-input v-model="ruleForm.model"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="负责部门" prop="department"> |
| | | <el-tree-select v-model="ruleForm.department" :data="data" class="w100"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资分类" prop="classification"> |
| | | <el-select v-model="ruleForm.classification" class="w100"> |
| | | <el-option label="事故气体吸收装置" value="0"></el-option> |
| | | <el-option label="通讯设施" value="1"></el-option> |
| | | <el-option label="交通运输工具" value="2"></el-option> |
| | | <el-option label="照明装置" value="3"></el-option> |
| | | <el-option label="防护器材" value="4"></el-option> |
| | | <el-option label="其它" value="5"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="存放位置" prop="storageLocation"> |
| | | <el-input v-model="ruleForm.storageLocation"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="存储数量" prop="storageQuantity"> |
| | | <el-input v-model="ruleForm.storageQuantity"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="生产日期"> |
| | | <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="使用期限(天)" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资状态" prop="teamLevel"> |
| | | <el-select v-model="ruleForm.teamLevel" class="w100"> |
| | | <el-option label="完好" value="0"></el-option> |
| | | <el-option label="维修" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="检查周期月" prop="teamName"> |
| | | <el-input v-model="ruleForm.teamName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="投用日期"> |
| | | <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="使用说明"> |
| | | <el-input |
| | | class="textarea" |
| | | v-model="ruleForm.describe" |
| | | type="textarea" |
| | | maxlength="150" |
| | | placeholder="请填写使用说明" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="检查日期"> |
| | | <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="下次检查日期"> |
| | | <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="负责人" prop="teamLeader"> |
| | | <el-input |
| | | v-model="ruleForm.teamLeader" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | > |
| | | <el-form-item label="所属区域"> |
| | | <el-input v-model="ruleForm.areaId" placeholder="请选择" class="input-with-select"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser"/> |
| | | <el-button :icon="Search" @click="regionsDialog" /> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资型号" prop="model"> |
| | | <el-input v-model="ruleForm.model" placeholder="请填写物资型号"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="负责部门" prop="departmentId"> |
| | | <el-tree-select v-model="ruleForm.departmentId" :data="data" class="w100" placeholder="请选择" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资分类" prop="classification"> |
| | | <el-select v-model="ruleForm.classification" class="w100" placeholder="请选择"> |
| | | <el-option label="事故气体吸收装置" value="事故气体吸收装置"></el-option> |
| | | <el-option label="通讯设施" value="通讯设施"></el-option> |
| | | <el-option label="交通运输工具" value="交通运输工具"></el-option> |
| | | <el-option label="照明装置" value="照明装置"></el-option> |
| | | <el-option label="防护器材" value="防护器材"></el-option> |
| | | <el-option label="其它" value="其它"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="存放位置" prop="place"> |
| | | <el-input v-model="ruleForm.place" placeholder="请填写存放位置"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="存储数量" prop="count"> |
| | | <el-input v-model.number="ruleForm.count" maxlength="6" placeholder="请填写存储数量"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="生产日期" prop="productionDate"> |
| | | <el-date-picker |
| | | v-model="ruleForm.productionDate" |
| | | type="datetime" |
| | | class="w100" |
| | | placeholder="选择日期时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="使用期限(天)" prop="usePeriod"> |
| | | <el-input v-model.number="ruleForm.usePeriod" maxlength="6" placeholder="请填写使用期限"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="物资状态" prop="status"> |
| | | <el-select v-model="ruleForm.status" class="w100" placeholder="请选择"> |
| | | <el-option label="完好" value="完好"></el-option> |
| | | <el-option label="维修" value="维修"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="检查周期月" prop="inspectPeiod"> |
| | | <el-input |
| | | v-model.number="ruleForm.inspectPeiod" |
| | | type="" |
| | | maxlength="4" |
| | | placeholder="请填写使用期限" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="投用日期" prop="useDate"> |
| | | <el-date-picker |
| | | v-model="ruleForm.useDate" |
| | | type="datetime" |
| | | class="w100" |
| | | placeholder="选择日期时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="使用说明"> |
| | | <el-input v-model="ruleForm.useExplain" type="textarea" placeholder="请填写使用说明"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="检查日期" prop="inspectDate"> |
| | | <el-date-picker |
| | | v-model="ruleForm.inspectDate" |
| | | type="datetime" |
| | | class="w100" |
| | | placeholder="选择日期时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="下次检查日期" prop="nextInspectDate"> |
| | | <el-date-picker |
| | | v-model="ruleForm.nextInspectDate" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | class="w100" |
| | | placeholder="选择日期时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> |
| | | <!-- <el-form-item label="经度(度)">--> |
| | | <!-- <el-input v-model="ruleForm.longitude" placeholder="请填写经度(度)"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> |
| | | <!-- <el-form-item label="纬度(度)">--> |
| | | <!-- <el-input v-model="ruleForm.latitude" placeholder="请填写纬度(度)"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="负责人"> |
| | | <el-input v-model="ruleForm.principalUserUid" placeholder="请选择" class="input-with-select"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="daiInpt" /> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> |
| | | <!-- <el-form-item label="保养记录">--> |
| | | <!-- <el-table--> |
| | | <!-- :data="dataList"--> |
| | | <!-- style="width: 100%"--> |
| | | <!-- highlight-current-row>--> |
| | | <!-- <el-table-column label="保养结果" prop="maintainResult" width="170">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <el-select size="mini">--> |
| | | <!-- <el-option value="is_hot_tag" label="热门标签"></el-option>--> |
| | | <!-- <el-option value="is_latest_track_tag" label="最新赛道"></el-option>--> |
| | | <!-- <el-option value="is_new_subhangye_tag" label="新体系子行业"></el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column label="创建人" prop="suppliesId" width="170"></el-table-column>--> |
| | | <!-- <el-table-column label="创建时间" prop="maintainTime" width="170"></el-table-column>--> |
| | | <!-- </el-table>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="onCancel" size="default">关闭</el-button> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button> |
| | | <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> |
| | | <el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <userSelections ref="userRef"/> |
| | | <AddEmergencyPersonnel ref="addRef" /> |
| | | <PersonInCharge ref="Shows" /> |
| | | <userSelections ref="userRef" /> |
| | | <RegionsCheckbox ref="openRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { |
| | | reactive, |
| | | toRefs, |
| | | ref, |
| | | onMounted, |
| | | defineComponent |
| | | } from 'vue'; |
| | | import type { |
| | | UploadUserFile, |
| | | FormInstance, |
| | | FormRules, |
| | | } from 'element-plus' |
| | | import { |
| | | Search |
| | | } from '@element-plus/icons-vue' |
| | | import userSelections from "/@/components/userSelections/index.vue" |
| | | import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue"; |
| | | // 定义接口来定义对象的类型 |
| | | interface DeptData { |
| | | deptName: string; |
| | | createTime: string; |
| | | status: boolean; |
| | | sort: number | string; |
| | | describe: string; |
| | | id: number; |
| | | children?: DeptData[]; |
| | | } |
| | | // 定义接口来定义对象的类型 |
| | | interface RuleFormRow { |
| | | // teamName: string; |
| | | // teamLevel: string; |
| | | // teamLeader: string; |
| | | // responsibleDepartment: any |
| | | // teamPhone: string; |
| | | // telephone: string; |
| | | // describe: string; |
| | | selectPeople:string |
| | | jobNumber: string; |
| | | personnelName: string; |
| | | personnelGender: string; |
| | | phone: string; |
| | | position: string; |
| | | } |
| | | interface UserState { |
| | | isShowDialog: boolean; |
| | | ruleForm: RuleFormRow; |
| | | deptData: Array<DeptData>; |
| | | } |
| | | import { reactive, ref, defineComponent } from 'vue'; |
| | | |
| | | import type { FormInstance, FormRules } from 'element-plus'; |
| | | import { ElMessage } from 'element-plus'; |
| | | |
| | | import { Search, FullScreen } from '@element-plus/icons-vue'; |
| | | import UserSelections from '/@/components/userSelections/index.vue'; |
| | | import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue'; |
| | | import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue'; |
| | | import {emergencySuppliesApi} from "/@/api/emergencyResources"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openEdit', |
| | | name: 'openAdd', |
| | | components: { |
| | | userSelections, |
| | | AddEmergencyPersonnel, |
| | | PersonInCharge, |
| | | UserSelections, |
| | | RegionsCheckbox, |
| | | }, |
| | | setup() { |
| | | const state = reactive<UserState>({ |
| | | isShowDialog: false, |
| | | ruleForm: { |
| | | selectPeople:'111', //选择人员 |
| | | jobNumber: '', // 人员工号 |
| | | phone: '', // 手机号码 |
| | | personnelGender: '', //人员性别 |
| | | position: '', //职位 |
| | | personnelName: '', // 人员名称 |
| | | }, |
| | | deptData: [], // 部门数据 |
| | | }); |
| | | setup(props, { emit }) { |
| | | const isShowDialog = ref(false); |
| | | |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | | state.isShowDialog = false; |
| | | const ruleFormRef = ref<FormInstance>(); |
| | | //定义表单 |
| | | const ruleForm = ref ({ |
| | | productionDate: '', |
| | | useDate: '', |
| | | inspectDate: '', |
| | | nextInspectDate: '', |
| | | inspectPeiod: '', |
| | | count: '', |
| | | usePeriod: '', |
| | | departmentId: '', |
| | | principalUserUid: '', |
| | | status: '', |
| | | classification: '', |
| | | name: '', |
| | | number: '', |
| | | model: '', |
| | | longitude: '', |
| | | latitude: '', |
| | | use: '', |
| | | areaId: null, |
| | | place: '', |
| | | useExplain: '', |
| | | }); |
| | | const titles = ref(); |
| | | const disabled = ref(); |
| | | // 打开弹窗 |
| | | const openDialog = (title: string, id: number, type: boolean) => { |
| | | isShowDialog.value = true; |
| | | titles.value = title; |
| | | disabled.value = type; |
| | | if (title == '查看应急物资代码' || title == '修改应急物资代码') { |
| | | emergencySuppliesApi() |
| | | .seeEmergencySupplies(id) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ruleForm.value = res.data.data; |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | // 取消 |
| | | const onCancel = () => { |
| | | closeDialog(); |
| | | }; |
| | | // 初始化部门数据 |
| | | const initTableData = () => { |
| | | state.deptData.push({ |
| | | deptName: 'vueNextAdmin', |
| | | createTime: new Date().toLocaleString(), |
| | | status: true, |
| | | sort: Math.random(), |
| | | describe: '顶级部门', |
| | | id: Math.random(), |
| | | //日期选择器 |
| | | const value1 = ref(''); |
| | | // 可选择树 |
| | | const treeSelect = ref(); |
| | | const tree = [ |
| | | { |
| | | value: '1', |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | deptName: 'IT外包服务', |
| | | createTime: new Date().toLocaleString(), |
| | | status: true, |
| | | sort: Math.random(), |
| | | describe: '总部', |
| | | id: Math.random(), |
| | | }, |
| | | { |
| | | deptName: '资本控股', |
| | | createTime: new Date().toLocaleString(), |
| | | status: true, |
| | | sort: Math.random(), |
| | | describe: '分部', |
| | | id: Math.random(), |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }); |
| | | }; |
| | | // 页面加载时 |
| | | onMounted(() => { |
| | | initTableData(); |
| | | }); |
| | | |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | //定义树形下拉框 |
| | | const responsibleDepartment = ref() |
| | | const responsibleDepartment = ref(); |
| | | const data = [ |
| | | { |
| | | value: '1', |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: 11, |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ] |
| | | ]; |
| | | // 必填项提示 |
| | | const rules = reactive<FormRules>({ |
| | | teamName: [ |
| | | name: [ |
| | | { |
| | | required: true, |
| | | message: '队伍名称不能为空', |
| | | message: '物资名称不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | teamLevel: [ |
| | | number: [ |
| | | { |
| | | required: true, |
| | | message: '队伍级别不能为空', |
| | | message: '物资编号不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | teamLeader: [ |
| | | use: [ |
| | | { |
| | | required: true, |
| | | message: '队伍负责人不能为空', |
| | | message: '物资用途不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | responsibleDepartment: [ |
| | | model: [ |
| | | { |
| | | required: true, |
| | | message: '负责人部门不能为空', |
| | | message: '物资型号不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | teamPhone: [ |
| | | departmentId: [ |
| | | { |
| | | required: true, |
| | | message: '负责人手机不能为空', |
| | | message: '负责部门不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | telephone: [ |
| | | classification: [ |
| | | { |
| | | required: true, |
| | | message: '固定电话不能为空', |
| | | message: '物资分类不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | }) |
| | | |
| | | place: [ |
| | | { |
| | | required: true, |
| | | message: '存放位置不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | count: [ |
| | | { |
| | | required: true, |
| | | message: '存储数量不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | { type: 'number', message: '请输入数字类型', trigger: 'change' }, |
| | | ], |
| | | productionDate: [ |
| | | { |
| | | required: true, |
| | | message: '生产日期不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | usePeriod: [ |
| | | { |
| | | required: true, |
| | | message: '使用期限不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | { type: 'number', message: '请输入数字类型', trigger: 'change' }, |
| | | ], |
| | | status: [ |
| | | { |
| | | required: true, |
| | | message: '物资状态不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | inspectPeiod: [ |
| | | { |
| | | required: true, |
| | | message: '检查周期月不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | { type: 'number', message: '请输入数字类型', trigger: 'change' }, |
| | | ], |
| | | useDate: [ |
| | | { |
| | | required: true, |
| | | message: '投用日期不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | inspectDate: [ |
| | | { |
| | | required: true, |
| | | message: '检查日期不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | nextInspectDate: [ |
| | | { |
| | | required: true, |
| | | message: '下次检查日期不能为空', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | }); |
| | | // 表单提交验证必填项 |
| | | const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | if (title == '新建应急物资代码') { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | isShowDialog.value = false; |
| | | emergencySuppliesApi() |
| | | .addEmergencySupplies(ruleForm.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | emit('myAdd', true); |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'error', |
| | | }); |
| | | emit('myAdd', true); |
| | | } |
| | | formEl.resetFields(); |
| | | }); |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | | }); |
| | | } |
| | | else if (title == '修改应急物资代码') { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | isShowDialog.value = false; |
| | | emergencySuppliesApi() |
| | | .editEmergencySupplies(ruleForm.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: '修改成功', |
| | | type: 'success', |
| | | }); |
| | | emit('myAdd', true); |
| | | } else { |
| | | ElMessage({ |
| | | showClose: true, |
| | | message: res.data.msg, |
| | | type: 'error', |
| | | }); |
| | | emit('myAdd', true); |
| | | } |
| | | formEl.resetFields(); |
| | | }); |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | | }); |
| | | formEl.resetFields(); |
| | | ruleForm.value = { |
| | | productionDate: '', |
| | | useDate: '', |
| | | inspectDate: '', |
| | | nextInspectDate: '', |
| | | inspectPeiod: '', |
| | | count: '', |
| | | usePeriod: '', |
| | | departmentId: '', |
| | | principalUserUid: '', |
| | | status: '', |
| | | classification: '', |
| | | name: '', |
| | | number: '', |
| | | model: '', |
| | | longitude: '', |
| | | latitude: '', |
| | | use: '', |
| | | areaId: null, |
| | | place: '', |
| | | useExplain: '', |
| | | } |
| | | } |
| | | } |
| | | const resetForm = (formEl: FormInstance | undefined) => { |
| | | isShowDialog.value = false; |
| | | if (!formEl) return; |
| | | formEl.resetFields(); |
| | | }; |
| | | // 应急队伍弹窗 |
| | | const Shows = ref(); |
| | | const daiInpt = () => { |
| | | Shows.value.openDailog(); |
| | | }; |
| | | // 选择区域弹窗 |
| | | const openRef = ref(); |
| | | const regionsDialog = () => { |
| | | openRef.value.openDailog(); |
| | | }; |
| | | // 打开用户选择弹窗 |
| | | const userRef = ref(); |
| | | const openUser = () => { |
| | | userRef.value.openDialog(); |
| | | }; |
| | | |
| | | const ruleFormRef = ref<FormInstance>() |
| | | // 打开弹窗 |
| | | const openDialog = (row: RuleFormRow) => { |
| | | state.ruleForm = row; |
| | | state.isShowDialog = true; |
| | | const dataList = [ |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | { |
| | | maintainResult: '', |
| | | suppliesId: 'Tom', |
| | | maintainTime: '2016-05-02', |
| | | }, |
| | | ] |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | | if (full.value == false) { |
| | | full.value = true; |
| | | } else { |
| | | full.value = false; |
| | | } |
| | | }; |
| | | // 表单提交验证必填项 |
| | | const submitForm = async (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | console.log('submit!') |
| | | } else { |
| | | console.log('error submit!', fields) |
| | | } |
| | | }) |
| | | } |
| | | return { |
| | | openDialog, |
| | | closeDialog, |
| | | onCancel, |
| | | isShowDialog, |
| | | responsibleDepartment, |
| | | data, |
| | | submitForm, |
| | | Search, |
| | | rules, |
| | | ruleForm, |
| | | value1, |
| | | treeSelect, |
| | | tree, |
| | | daiInpt, |
| | | Shows, |
| | | ruleFormRef, |
| | | submitForm, |
| | | rules, |
| | | openUser, |
| | | userRef, |
| | | ...toRefs(state), |
| | | regionsDialog, |
| | | openRef, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | full, |
| | | resetForm, |
| | | titles, |
| | | disabled, |
| | | emit, |
| | | dataList, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .textarea{ |
| | | height: 50px!important; |
| | | .textarea { |
| | | height: 168px !important; |
| | | } |
| | | .textarea ::v-deep .el-textarea__inner{ |
| | | height: 50px!important; |
| | | .textarea ::v-deep .el-textarea__inner { |
| | | height: 168px !important; |
| | | } |
| | | ::v-deep .el-table__cell { |
| | | font-weight: 400; |
| | | } |
| | | .el-divider--horizontal { |
| | | height: 0; |
| | | margin: 0; |
| | | border-top: transparent; |
| | | } |
| | | .el-select { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | |
| | | <Maintain ref="seeRef" @myadd="onMaintainAdd"/> |
| | | <Inspect ref="spectRef" @myadd="onInspectAdd"/> |
| | | <OpenAdd ref="addRef" @myAdd="onMyAdd" /> |
| | | <OpenEdit ref="editRef" @myAdd="onMyAdds" /> |
| | | <!-- <upData ref="upShow"></upData>--> |
| | | </div> |
| | | </template> |
| | |
| | | import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue'; |
| | | import Maintain from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue'; |
| | | import Inspect from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue'; |
| | | import OpenEdit from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue'; |
| | | import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | import {emergencySuppliesApi} from '/@/api/emergencyResources'; |
| | | |
| | |
| | | components: { |
| | | OpenAdd, |
| | | Maintain, |
| | | // OpenEdit, |
| | | View, |
| | | OpenEdit, |
| | | EditPen, |
| | | Plus, |
| | | Edit, |
| | |
| | | UpData, |
| | | }, |
| | | setup() { |
| | | // const multipleTableRef = ref<InstanceType<typeof ElTable>>(); |
| | | // const multipleSelection = ref<User[]>([]); |
| | | // 列表参数 |
| | | const listQuery = reactive({ |
| | | pageIndex: 1, |
| | |
| | | } |
| | | }; |
| | | // 打开修改用户弹窗 |
| | | const editRef = ref(); |
| | | const onEdit = (val: string, row: object) => { |
| | | if (val == '详情') { |
| | | addRef.value.openDialog('查看应急物资代码',row,true); |
| | | editRef.value.openDialog('查看应急物资代码',row,true); |
| | | } else { |
| | | addRef.value.openDialog('修改应急物资代码',row,false); |
| | | editRef.value.openDialog('修改应急物资代码',row,false); |
| | | } |
| | | }; |
| | | // 新增后刷新 |
| | | const onMyAdds = (e: boolean) => { |
| | | if (e) { |
| | | listApi(); |
| | | } else { |
| | | listApi(); |
| | | } |
| | | }; |
| | | // 删除用户 |
| | |
| | | listQuery.pageIndex = val; |
| | | }; |
| | | return { |
| | | // multipleSelection, |
| | | // multipleTableRef, |
| | | // upButton, |
| | | // upShow, |
| | | tableData, |
| | |
| | | submitReset, |
| | | onMyAdd, |
| | | onEdit, |
| | | editRef, |
| | | onDeleteAll, |
| | | handleSelectionChange, |
| | | warning, |
| | |
| | | onInspect, |
| | | onMaintainAdd, |
| | | onInspectAdd, |
| | | onMyAdds, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | /> |
| | | </div> |
| | | </el-card> |
| | | <EmergencySupplies ref="showRef" /> |
| | | <EmergencySupplies ref="showRef" @SearchUser="onUser"/> |
| | | <OpenSee ref="editRef"/> |
| | | <upData ref="upShow"></upData> |
| | | <OpenAdd ref="addRef" @myAdd="onMyAdd" /> |
| | |
| | | const daiInpt = () => { |
| | | showRef.value.openDailog(); |
| | | }; |
| | | const onUser = (e:any) => { |
| | | listQuery.searchParams.suppliesId=e.id |
| | | }; |
| | | // 分页 |
| | | const pageIndex = ref(); |
| | | const pageSize = ref(); |
| | |
| | | handleSelectionChange, |
| | | onDeleteAll, |
| | | onEdit, |
| | | onUser, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="预案类型" prop="type"> |
| | | <el-select v-model="ruleForm.type" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="admin"></el-option> |
| | | <el-option label="现场处置方案" value="common"></el-option> |
| | | <el-option label="专项应急预案" value="common"></el-option> |
| | | <el-option label="其他预案" value="common"></el-option> |
| | | <el-option label="综合应急预案" value="综合应急预案"></el-option> |
| | | <el-option label="现场处置方案" value="现场处置方案"></el-option> |
| | | <el-option label="专项应急预案" value="专项应急预案"></el-option> |
| | | <el-option label="其他预案" value="其他预案"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="危险源关联" prop="associatedDanger"> |
| | | <el-select v-model="ruleForm.associatedDanger" class="w100" placeholder="请选择"> |
| | | <el-option label="是" value="0"></el-option> |
| | | <el-option label="否" value="1"></el-option> |
| | | <el-option :label="true">是</el-option> |
| | | <el-option :label="false">否</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="预案级别" prop="level"> |
| | | <el-select v-model="ruleForm.level" class="w100" placeholder="请选择"> |
| | | <el-option label="公司级" value="admin"></el-option> |
| | | <el-option label="分厂级" value="common"></el-option> |
| | | <el-option label="车间级" value="common"></el-option> |
| | | <el-option label="公司级" value="公司级"></el-option> |
| | | <el-option label="分厂级" value="分厂级"></el-option> |
| | | <el-option label="车间级" value="车间级"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="应急队伍" prop="emergencyTeam" @click="daiInpt" > |
| | | <el-form-item label="应急队伍" prop="emergencyTeam"> |
| | | <el-input |
| | | v-model="ruleForm.emergencyTeam" |
| | | placeholder="请选择" |
| | | class="input-with-select" |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search"/> |
| | | <el-button :icon="Search" @click="daiInpt" /> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '1-1-1', |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '2-1-1', |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '2-2-1', |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '3-1-1', |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '3-2-1', |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '1-1', |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '2-1', |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '2-2', |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '3-1', |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '3-2', |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | |
| | | <el-row> |
| | | <el-col :span="4"> |
| | | <el-form-item size="default"> |
| | | <el-input v-model="ruleForm.pass" placeholder="装置/部位名称" /> |
| | | <el-input v-model="ruleForm.searchParams.equipmentTypeId" placeholder="装置/部位名称" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button> |
| | | <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> |
| | | <el-button size="default" type="primary" @click="listApi">查询</el-button> |
| | | <el-button size="default" @click="resetForm">重置</el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="4"> |
| | | <div class="tree"> |
| | | <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" /> |
| | | <el-tree ref="treeRef" class="filter-tree" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode" /> |
| | | <!-- <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />--> |
| | | <el-tree ref="treeRef" :data="data" :props="defaultProps" :filter-node-method="filterNode" /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="20"> |
| | | <div class="btns"> |
| | | <div> |
| | | <el-button size="default" type="primary" :icon="Plus" @click="openD">新建</el-button> |
| | | <el-button size="default" type="warning" plain :icon="EditPen">修改</el-button> |
| | | <el-button size="default" type="danger" :icon="Delete" plain>删除</el-button> |
| | | <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> |
| | | <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button> |
| | | </div> |
| | | <div> |
| | | <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button> |
| | |
| | | <template #default> |
| | | <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%"> |
| | | <el-tab-pane label="设备保养" name="first"> |
| | | <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> |
| | | <el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%"> |
| | | <el-table-column property="name" align="center" label="保养情况" sortable /> |
| | | <el-table-column property="name" align="center" label="保养负责人" sortable /> |
| | | <el-table-column property="name" align="center" label="保养日期" sortable /> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备检查" name="second" |
| | | ><el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> |
| | | ><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%"> |
| | | <el-table-column property="name" align="center" label="检查人" sortable /> |
| | | <el-table-column property="name" align="center" label="检查日期" sortable /> |
| | | <el-table-column property="name" align="center" label="检查人部门" sortable /> |
| | |
| | | <el-table-column property="name" align="center" label="检查状态" sortable /> </el-table |
| | | ></el-tab-pane> |
| | | <el-tab-pane label="设备检测" name="third"> |
| | | <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> |
| | | <el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%"> |
| | | <el-table-column property="name" align="center" label="检测人" sortable /> |
| | | <el-table-column property="name" align="center" label="检测日期" sortable /> |
| | | <el-table-column property="name" align="center" label="检测人单位" sortable /> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备维修" name="fourth"> |
| | | <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> |
| | | <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%"> |
| | | <el-table-column property="name" align="center" label="设施异常项" sortable /> |
| | | <el-table-column property="name" align="center" label="维修状态" sortable /> |
| | | <el-table-column property="departmentId" align="center" label="维修状态" sortable /> |
| | | <el-table-column property="name" align="center" label="维修情况" sortable /> |
| | | <el-table-column property="name" align="center" label="维修负责人" sortable /> |
| | | <el-table-column property="name" align="center" label="维修负责人单位" sortable /> |
| | |
| | | <el-table-column label="id" align="center" sortable> |
| | | <template #default="scope">{{ scope.row.date }}</template> |
| | | </el-table-column> |
| | | <el-table-column property="name" align="center" label="类型/类别外键" sortable /> |
| | | <el-table-column property="equipmentTypeId" align="center" label="类型/类别外键" sortable /> |
| | | <el-table-column property="name" align="center" label="装置/部位名称" sortable /> |
| | | <el-table-column property="address" label="所属部门" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="address" label="具体位置" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="address" label="负责人姓名" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="address" label="装置部位分类" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="departmentId" label="所属部门" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="position" label="具体位置" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="leadingPersonName" label="负责人姓名" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column property="connectPersonId" label="装置部位分类" align="center" sortable show-overflow-tooltip /> |
| | | <el-table-column label="操作" align="center" width="250"> |
| | | <template #default> |
| | | <el-button link type="primary" size="default" :icon="View">查看</el-button> |
| | | <el-button link type="primary" size="default" :icon="EditPen">修改</el-button> |
| | | <el-button link type="primary" size="default" :icon="Delete">删除</el-button> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="default" :icon="View" @click="openEdit('查看', scope.row.id)">查看</el-button> |
| | | <el-button link type="primary" size="default" :icon="EditPen" @click="openEdit('修改', scope.row.id)">修改</el-button> |
| | | <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-pagination |
| | | v-model:currentPage="currentPage4" |
| | | v-model:page-size="pageSize4" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | :total="total" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <updata ref="Show"></updata> |
| | | <DailogS ref="ShowD"></DailogS> |
| | | <DailogS ref="ShowD" @myAdd="onMyAdd"></DailogS> |
| | | </div> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { defineComponent, ref, reactive, watch } from 'vue'; |
| | | import { defineComponent, ref, reactive, watch, onMounted } from 'vue'; |
| | | import updata from '/@/components/updata/updata.vue' |
| | | import DailogS from '/@/components/equipmentDailog/DailogS.vue' |
| | | import { ElTree, TabsPaneContext } from 'element-plus'; |
| | | import { EditPen, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue'; |
| | | import { ElTree, TabsPaneContext ,ElMessage, ElMessageBox} from 'element-plus'; |
| | | import { EditPen, Plus, Delete, Download, Refresh, Upload ,View} from '@element-plus/icons-vue'; |
| | | import {facilityManagementApi} from "/@/api/facilityManagement"; |
| | | interface Tree { |
| | | id: number; |
| | | label: string; |
| | |
| | | components:{updata,DailogS}, |
| | | setup() { |
| | | const ruleForm = reactive({ |
| | | pass: '', |
| | | checkPass: '', |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | searchParams: { |
| | | equipmentTypeId: '', ////类型/类别外键 |
| | | name: '', ////装置/部位名称 |
| | | departmentId: '',////所属部门 |
| | | position: '', ////具体位置 |
| | | leadingPersonName: '', ////负责人姓名 |
| | | connectPersonId: '',////装置部位分类 |
| | | }, |
| | | }); |
| | | // 重置 |
| | | const resetForm = () => { |
| | | ruleForm.searchParams.equipmentTypeId = ''; |
| | | listApi(); |
| | | }; |
| | | const listApi = () => { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoAddOrList(ruleForm) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | tableData.value = res.data.data; |
| | | currentPage4.value = res.data.pageIndex; |
| | | pageSize4.value = res.data.pageSize; |
| | | total.value = res.data.total; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | onMounted(() => { |
| | | listApi(); |
| | | }); |
| | | const onAddorUpdata = () => { |
| | | listApi(); |
| | | }; |
| | | const tableData = ref(); |
| | | const currentPage4 = ref(); |
| | | const pageSize4 = ref(); |
| | | const total = ref(); |
| | | const handleSizeChange = (val: number) => { |
| | | // console.log(`${val} items per page`); |
| | | ruleForm.pageSize = val; |
| | | listApi(); |
| | | }; |
| | | const handleCurrentChange = (val: number) => { |
| | | // console.log(`current page: ${val}`); |
| | | ruleForm.pageIndex = val; |
| | | listApi(); |
| | | }; |
| | | const filterText = ref(''); |
| | | const treeRef = ref<InstanceType<typeof ElTree>>(); |
| | | |
| | | const defaultProps = { |
| | | children: 'children', |
| | | label: 'label', |
| | | label: 'typeName', |
| | | value: 'id', |
| | | }; |
| | | |
| | | watch(filterText, (val) => { |
| | |
| | | |
| | | const filterNode = (value: string, data: Tree) => { |
| | | if (!value) return true; |
| | | return data.label.includes(value); |
| | | return data.typeName.includes(value); |
| | | }; |
| | | |
| | | // 删除 |
| | | const onDelete = (id: number) => { |
| | | ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoDetele(id) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | listApi(); |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: 'Delete canceled', |
| | | }); |
| | | }); |
| | | }; |
| | | // 批量删除 |
| | | const warning = ref(true); |
| | | const danger = ref(true); |
| | | const deletAll = ref(); |
| | | const handleSelectionChange = (val: any) => { |
| | | let valId = JSON.parse(JSON.stringify(val)); |
| | | let arr = []; |
| | | for (let i = 0; i < valId.length; i++) { |
| | | arr.push(valId[i].id); |
| | | } |
| | | deletAll.value = arr.toString(); |
| | | if (val.length == 1) { |
| | | // warning.value = false; |
| | | danger.value = false; |
| | | } else if (val.length == 0) { |
| | | // warning.value = true; |
| | | danger.value = true; |
| | | } else { |
| | | // warning.value = true; |
| | | danger.value = false; |
| | | } |
| | | }; |
| | | const onDeleteAll = () => { |
| | | ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoDetele(deletAll.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | listApi(); |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | // ElMessage({ |
| | | // type: 'info', |
| | | // message: 'Delete canceled', |
| | | // }); |
| | | }); |
| | | }; |
| | | const data: Tree[] = [ |
| | | { |
| | | id: 1, |
| | |
| | | ], |
| | | }, |
| | | ]; |
| | | const tableData = [ |
| | | { |
| | | date: '2016-05-03', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-02', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-04', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-01', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-08', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-06', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-07', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | ]; |
| | | const activeName = ref('first'); |
| | | |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { |
| | |
| | | const openUp=()=>{ |
| | | Show.value.openDialog() |
| | | } |
| | | // 新增弹窗 |
| | | const ShowD=ref() |
| | | const openD=()=>{ |
| | | ShowD.value.openDailog(false) |
| | | ShowD.value.openDailog('新建仪器仪表',false) |
| | | } |
| | | // 新增后刷新 |
| | | const onMyAdd = (e: boolean) => { |
| | | if (e) { |
| | | listApi(); |
| | | } else { |
| | | listApi(); |
| | | } |
| | | }; |
| | | // 打开修改用户弹窗 |
| | | const openEdit = (val: string, row: object) => { |
| | | if (val == '查看') { |
| | | ShowD.value.openDailog('查看仪器仪表',row,true); |
| | | } else { |
| | | ShowD.value.openDailog('修改仪器仪表',row,false); |
| | | } |
| | | }; |
| | | return { |
| | | activeName, |
| | | handleClick, |
| | |
| | | openUp, |
| | | ShowD, |
| | | openD, |
| | | openEdit, |
| | | Plus, |
| | | EditPen, |
| | | Delete, |
| | | View, |
| | | Download, |
| | | Refresh, |
| | | Upload, |
| | | resetForm, |
| | | listApi, |
| | | onMyAdd, |
| | | handleCurrentChange, |
| | | handleSizeChange, |
| | | onAddorUpdata, |
| | | total, |
| | | currentPage4, |
| | | pageSize4, |
| | | onDelete, |
| | | warning, |
| | | handleSelectionChange, |
| | | onDeleteAll, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | <el-table-column align="center" prop="qname" label="奖惩名称" width="180" /> |
| | | <el-table-column align="center" label="奖惩类型" width="180"> |
| | | <template #default="scope"> |
| | | <span v-if="scope.row.standardType==1">奖励</span> |
| | | <span v-if="scope.row.standardType==2">惩罚</span> |
| | | <span></span> |
| | | <span v-if="scope.row.standardType==1">奖励</span> |
| | | <span v-if="scope.row.standardType==2">惩罚</span> |
| | | <span></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="content" label="奖惩内容" /> |
| | |
| | | const nameC=ref() |
| | | const onUser = (e: any) => { |
| | | form.value.commitPersonId = e.uid; |
| | | nameC.value=e.realName |
| | | nameC.value = e.realName |
| | | }; |
| | | return { |
| | | disabled, |