From f91c24d2b2b513716ffe9f4259a8a343c841bb00 Mon Sep 17 00:00:00 2001 From: 13937891274 <kxc0822> Date: 星期六, 30 七月 2022 18:10:28 +0800 Subject: [PATCH] 数据对接 --- src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue | 10 src/views/facilityManagement/keyEquipment/index.vue | 264 +++- src/views/contingencyManagement/panManagement/component/openAdd.vue | 52 src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue | 6 src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue | 328 ++-- src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue | 21 src/api/emergencyDrillPlan/index.ts | 46 src/views/contingencyManagement/contingency/component/openAdd.vue | 31 src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue | 266 ++- src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue | 68 src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue | 791 ++++++++---- src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue | 6 src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue | 66 src/views/contingencyManagement/emergencyPlanStartRecord/index.vue | 17 src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue | 25 src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue | 23 src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue | 189 +- src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue | 126 + src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue | 7 src/components/emergencySupplies/index.vue | 135 + src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue | 406 +++-- /dev/null | 43 src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue | 261 +++ src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue | 2 src/components/equipmentDailog/DailogS.vue | 194 ++ src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue | 219 +- src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue | 8 27 files changed, 2,277 insertions(+), 1,333 deletions(-) diff --git a/src/api/emergencyDrillPlan/index.ts b/src/api/emergencyDrillPlan/index.ts index 2831142..7ec825e 100644 --- a/src/api/emergencyDrillPlan/index.ts +++ b/src/api/emergencyDrillPlan/index.ts @@ -1,50 +1,44 @@ 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', + }); + }, } } \ No newline at end of file diff --git a/src/api/releaseDrillPlan/index.ts b/src/api/releaseDrillPlan/index.ts deleted file mode 100644 index ab0e944..0000000 --- a/src/api/releaseDrillPlan/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -import request from '/@/utils/request'; - -export function releaseDrillPlanApi(){ - return{ - getReleaseDrillPlanList: (params: object) => { - return request({ - url: '/emergencyDrillPlan/page/list', - method: 'post', - data:params - }) - }, - // 应急队伍新增 - addReleaseDrillPlan: (params:object) => { - return request({ - url: `/emergencyDrillPlan/add`, - method: 'post', - data: params - }); - }, - // 应急队伍详情 - seeReleaseDrillPlan: (params:number) => { - return request({ - url: `/emergencyDrillPlan/info/${params}`, - method: 'get' - }); - }, - // 应急队伍编辑 - editReleaseDrillPlan: (params: object) => { - return request({ - url: `/emergencyDrillPlan/update`, - method: 'post', - data: params - }); - }, - // 应急队伍删除 - deleteReleaseDrillPlan: (params:object) => { - return request({ - url: `/emergencyDrillPlan/batchDelete/${params}`, - method: 'get', - }); - }, - } -} \ No newline at end of file diff --git a/src/components/emergencySupplies/index.vue b/src/components/emergencySupplies/index.vue index ff5839a..dec3310 100644 --- a/src/components/emergencySupplies/index.vue +++ b/src/components/emergencySupplies/index.vue @@ -12,45 +12,58 @@ <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> @@ -65,46 +78,64 @@ 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); @@ -115,12 +146,18 @@ 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, @@ -129,6 +166,12 @@ toggleFullscreen, FullScreen, full, + pageIndex, + pageSize, + radio1, + radio, + submitForm, + total, }; }, }); diff --git a/src/components/equipmentDailog/DailogS.vue b/src/components/equipmentDailog/DailogS.vue index d001e82..6da1e53 100644 --- a/src/components/equipmentDailog/DailogS.vue +++ b/src/components/equipmentDailog/DailogS.vue @@ -1,11 +1,11 @@ <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> @@ -21,7 +21,7 @@ <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> @@ -29,7 +29,7 @@ </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> @@ -37,12 +37,12 @@ <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> @@ -53,7 +53,7 @@ <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> @@ -62,7 +62,7 @@ </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> @@ -73,7 +73,7 @@ <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> @@ -81,14 +81,14 @@ </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> @@ -97,7 +97,7 @@ </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> @@ -105,13 +105,13 @@ <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> @@ -120,6 +120,7 @@ <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" @@ -142,11 +143,11 @@ <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> @@ -156,13 +157,13 @@ <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> @@ -172,30 +173,30 @@ <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> @@ -234,8 +235,8 @@ </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> @@ -249,7 +250,7 @@ </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'; @@ -259,26 +260,103 @@ 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', @@ -386,7 +464,7 @@ } }; return { - dialogVisible, + isShowDialog, Dailogtype, form, openDailog, @@ -419,6 +497,8 @@ full, toggleFullscreen, FullScreen, + ruleFormRef, + openDialog, }; }, }); diff --git a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue index 379fc95..29a7ea8 100644 --- a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue +++ b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue @@ -22,9 +22,10 @@ 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> @@ -61,7 +62,7 @@ </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> @@ -101,7 +102,7 @@ const ruleFormRef = ref<FormInstance>() const ruleForm = ref ({ teamId: '', - userUid: '', + userUid: 1, gender: '', jobNumber: '', // 人员工号 name: '', // 人员名称 @@ -147,32 +148,105 @@ }) 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); } @@ -210,7 +284,7 @@ formEl.resetFields(); ruleForm.value = { teamId: '', - userUid: '', + userUid: 1, gender: '', jobNumber: '', // 人员工号 name: '', // 人员名称 @@ -261,7 +335,7 @@ // closeDialog, isShowDialog, ruleFormRef, - submitForm, + // submitForm, // onCancel, ruleForm, rules, @@ -276,6 +350,8 @@ openUser, userRef, onUser, + // addForm, + submitForm, }; }, }); diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue index e068c76..44361d3 100644 --- a/src/views/contingencyManagement/contingency/component/openAdd.vue +++ b/src/views/contingencyManagement/contingency/component/openAdd.vue @@ -1,7 +1,7 @@ <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"> @@ -20,9 +20,9 @@ </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> @@ -67,13 +67,14 @@ <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> @@ -99,7 +100,7 @@ </template> </el-dialog> <AddEmergencyPersonnel ref="addRef" @myAdd="onMyAdd"/> - <DailogSearchUser ref="userRef" @SearchUser="onUser" /> + <DailogSearchUser ref="userRef" @SearchUsers="onUser" /> </div> </template> @@ -144,7 +145,7 @@ const ruleForm =ref({ teamName: '', // 队伍名称 teamLevel: '', // 队伍级别 - principalUid: '', // 队伍负责人 + principalUid: 1, // 队伍负责人 principalDepartmentId: '', //负责人部门 principalPhone: '', // 负责人手机 telephoneNumber: '', // 固定电话 @@ -238,9 +239,15 @@ 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) => { @@ -364,7 +371,7 @@ ruleForm.value = { teamName: '', // 队伍名称 teamLevel: '', // 队伍级别 - principalUid: '', // 队伍负责人 + principalUid: 1, // 队伍负责人 principalDepartmentId: '', //负责人部门 principalPhone: '', // 负责人手机 telephoneNumber: '', // 固定电话 @@ -436,8 +443,8 @@ 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) => { @@ -508,7 +515,7 @@ FullScreen, full, onUser, - // listQuery, + nameC, onMyAdd, // listApi, onEdit, diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue index 8bc2c51..4a5f1c7 100644 --- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue @@ -1,7 +1,7 @@ <template> <div class="system-edit-user-container"> <el-dialog - title="查看演练实施评价" + :title="titles" v-model="isShowDialog" width="900px" draggable @@ -13,107 +13,84 @@ :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"> @@ -122,17 +99,22 @@ 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"> @@ -141,39 +123,43 @@ 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"> @@ -189,17 +175,16 @@ 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"> @@ -208,10 +193,9 @@ 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> @@ -223,7 +207,6 @@ class="w100" type="datetime" placeholder="选择日期时间" - disabled /> </el-form-item> </el-col> @@ -240,17 +223,16 @@ 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> @@ -259,8 +241,8 @@ </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> @@ -269,8 +251,8 @@ </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> @@ -279,8 +261,8 @@ </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> @@ -289,8 +271,8 @@ </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> @@ -299,8 +281,8 @@ </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> @@ -309,8 +291,8 @@ </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> @@ -319,8 +301,8 @@ </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> @@ -329,8 +311,8 @@ </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> @@ -339,8 +321,8 @@ </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> @@ -349,8 +331,8 @@ </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> @@ -359,8 +341,8 @@ </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> @@ -369,33 +351,32 @@ </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"> @@ -409,13 +390,13 @@ </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> @@ -436,32 +417,73 @@ 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 = () => { @@ -483,11 +505,11 @@ 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', }, ], @@ -499,21 +521,21 @@ 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', }, ], @@ -525,21 +547,21 @@ 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', }, ], @@ -555,7 +577,7 @@ label: '广汇能源综合物流发展有限责任公司', children: [ { - value: '1-1', + value: '11', label: '经营班子', children: [], }, @@ -566,12 +588,12 @@ label: '生产运行部', children: [ { - value: '2-1', + value: '21', label: '灌装一班', children: [] }, { - value: '2-2', + value: '22', label: '工艺四班', children: [], }, @@ -582,12 +604,12 @@ label: '设备部', children: [ { - value: '3-1', + value: '31', label: '仪表班', children: [], }, { - value: '3-2', + value: '32', label: '机修班', children: [], }, @@ -644,6 +666,9 @@ const daiInpt=()=>{ Shows.value.openDailog() } + const onUser = (e:any) => { + ruleForm.value.drillPlanId=e.id + }; // 选择区域弹窗 const openRef=ref() const regionsDialog=()=>{ @@ -678,6 +703,7 @@ tree, daiInpt, Shows, + onUser, ruleFormRef, // rules, openUser, @@ -687,6 +713,10 @@ toggleFullscreen, FullScreen, full, + resetForm, + titles, + disabled, + emit, }; }, }); diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue index f8d0901..9ce663a 100644 --- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue +++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue @@ -1,7 +1,7 @@ <template> <div class="system-edit-user-container"> <el-dialog - title="新建待整改" + :title="titles" v-model="isShowDialog" width="769px" draggable @@ -13,21 +13,22 @@ :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> @@ -53,21 +54,21 @@ <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> @@ -90,7 +91,6 @@ v-model="ruleForm.teamLeader" placeholder="请选择" class="input-with-select" - disabled > <template #append> <el-button :icon="Search" @click="regionsDialog"/> @@ -98,20 +98,20 @@ </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 @@ -188,7 +188,7 @@ <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;"> @@ -198,7 +198,6 @@ class="w100" type="datetime" placeholder="选择日期时间" - disabled /> </el-form-item> </el-col> @@ -208,10 +207,9 @@ 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> @@ -223,7 +221,6 @@ class="w100" type="datetime" placeholder="选择日期时间" - disabled /> </el-form-item> </el-col> @@ -235,7 +232,8 @@ </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> @@ -268,6 +266,8 @@ 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', @@ -276,22 +276,60 @@ 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 = () => { @@ -311,11 +349,11 @@ 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', }, ], @@ -327,21 +365,21 @@ 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', }, ], @@ -353,21 +391,21 @@ 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', }, ], @@ -383,7 +421,7 @@ label: '广汇能源综合物流发展有限责任公司', children: [ { - value: '1-1', + value: '11', label: '经营班子', children: [], }, @@ -394,12 +432,12 @@ label: '生产运行部', children: [ { - value: '2-1', + value: '21', label: '灌装一班', children: [] }, { - value: '2-2', + value: '22', label: '工艺四班', children: [], }, @@ -410,12 +448,12 @@ label: '设备部', children: [ { - value: '3-1', + value: '31', label: '仪表班', children: [], }, { - value: '3-2', + value: '32', label: '机修班', children: [], }, @@ -468,6 +506,108 @@ // ], // }) // 应急队伍弹窗 + // 表单提交验证必填项 + 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() @@ -544,6 +684,11 @@ toggleFullscreen, FullScreen, full, + submitForm, + emit, + titles, + disabled, + resetForm, }; }, }); diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue index 6aabd99..30497fb 100644 --- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue +++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue @@ -3,7 +3,7 @@ <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> @@ -11,23 +11,23 @@ </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" @@ -39,13 +39,13 @@ 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> @@ -53,10 +53,10 @@ <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>查看评价 @@ -89,11 +89,10 @@ <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> @@ -106,58 +105,44 @@ 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) } @@ -189,35 +174,47 @@ }; // 上传 - 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 = () => { @@ -253,7 +250,6 @@ }) .catch(() => {}); }; - // 分页 const pageIndex = ref(); const pageSize = ref(); @@ -292,22 +288,26 @@ 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, }; }, }); @@ -326,6 +326,15 @@ 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; diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue index 3abc200..442aaff 100644 --- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue +++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue @@ -87,7 +87,7 @@ </el-dialog> <UserSelect ref="Shows"/> <UserCheckbox ref="userRef"/> - <RegionsDialog ref="openRef"/> + <RegionsDialog ref="openRef" @SearchUser="onUser"/> </div> </template> @@ -247,9 +247,12 @@ } // 演练名称弹窗 const openRef=ref() - const regionsDialog=()=>{ + const regionsDialog = () => { openRef.value.openDailog() } + const onUser = (e:any) => { + ruleForm.value.drillPlanId=e.id + }; // 实际到场人员弹窗 const userRef = ref(); const openUser = () => { @@ -278,6 +281,7 @@ openUser, userRef, regionsDialog, + onUser, openRef, toggleFullscreen, FullScreen, diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue index c30db4a..813c6d2 100644 --- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue +++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue @@ -1,109 +1,142 @@ <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 = () => { @@ -113,38 +146,50 @@ 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; @@ -163,15 +208,14 @@ 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> diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue index 482392a..d128453 100644 --- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue +++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue @@ -1,7 +1,7 @@ <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> @@ -15,21 +15,21 @@ </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 @@ -42,7 +42,7 @@ 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> @@ -85,7 +85,7 @@ </div> </el-card> <OpenAdd ref="addRef" @myAdd="onMyAdd"/> - <upData ref="upShow"></upData> +<!-- <upData ref="upShow"></upData>--> </div> </template> @@ -105,8 +105,8 @@ import { Plus, // Edit, Delete, - Upload, - Download, + // Upload, + // Download, View, Refresh, VideoPause, @@ -125,8 +125,8 @@ // Edit, Delete, View, - Upload, - Download, + // Upload, + // Download, Refresh, VideoPause, UpData @@ -159,10 +159,10 @@ }; // 上传 - const upShow=ref() - const upButton=()=>{ - upShow.value.openDialog() - } + // const upShow=ref() + // const upButton=()=>{ + // upShow.value.openDialog() + // } // 打开新增用户弹窗 const addRef = ref(); const onOpenAdd = () => { @@ -279,8 +279,8 @@ listApi(); }); return { - upButton, - upShow, + // upButton, + // upShow, tableData, onOpenAdd, //新增 addRef, @@ -295,6 +295,7 @@ handleSelectionChange, danger, deletAll, + onEdit, }; }, }); @@ -313,6 +314,15 @@ 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; diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue index e30a816..4a838b0 100644 --- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue @@ -178,7 +178,7 @@ </span> </template> </el-dialog> - <RegionsDialog ref="Shows"/> + <RegionsDialog ref="Shows" @SearchUser="onUser"/> <UserCheckbox ref="userRef"/> </div> </template> @@ -201,7 +201,7 @@ } 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', @@ -490,9 +490,12 @@ }; // 应急队伍弹窗 const Shows=ref() - const daiInpt=()=>{ + const daiInpt = () => { Shows.value.openDailog() } + const onUser = (e:any) => { + ruleForm.value.planId=e.id + }; // 打开用户选择弹窗 const userRef = ref(); const openUser = () => { @@ -534,6 +537,7 @@ disabled, resetForm, emit, + onUser, }; }, }); diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue index 2466cb9..b6acc3f 100644 --- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue +++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue @@ -1,127 +1,141 @@ <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 = () => { @@ -131,40 +145,49 @@ 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; @@ -183,10 +206,10 @@ 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; diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue index cf5809b..d11aa95 100644 --- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue +++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue @@ -2,7 +2,7 @@ <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 /> @@ -15,21 +15,21 @@ </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 @@ -109,9 +109,9 @@ import { Plus, Delete, - Upload, - Download, - Refresh, + // Upload, + // Download, + // Refresh, View, VideoPlay, EditPen, @@ -120,7 +120,7 @@ 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', @@ -130,9 +130,9 @@ Plus, View, Delete, - Upload, - Download, - Refresh, + // Upload, + // Download, + // Refresh, VideoPlay, UpData, // FlowChart, @@ -143,6 +143,7 @@ pageIndex: 1, pageSize: 10, searchParams: { + drillName: '' }, }); // 定义表格数据 @@ -167,10 +168,10 @@ listApi(); }); // 上传 - const upShow=ref() - const upButton=()=>{ - upShow.value.openDialog() - } + // const upShow=ref() + // const upButton=()=>{ + // upShow.value.openDialog() + // } // 打开新增弹窗 const addRef = ref(); @@ -301,8 +302,8 @@ }) } return { - upButton, - upShow, + // upButton, + // upShow, tableData, // onflowChart, // flowRef, @@ -343,6 +344,15 @@ 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; diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue index 8cbed2a..8dfbac3 100644 --- a/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue +++ b/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue @@ -17,14 +17,15 @@ > <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> @@ -49,7 +50,7 @@ </span> </template> </el-dialog> - <userSelections ref="userRef"/> + <DailogSearchUser ref="userRef" @SearchUser="onUser"/> <AddEmergencyPersonnel ref="addRef" /> <EditEmergencyPersonnel ref="editRef" /> </div> @@ -68,7 +69,7 @@ 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"; @@ -76,7 +77,7 @@ export default defineComponent({ name: 'openEdit', components: { - UserSelections, + DailogSearchUser, AddEmergencyPersonnel, EditEmergencyPersonnel }, @@ -85,7 +86,7 @@ const ruleFormRef = ref<FormInstance>(); const ruleForm= ref({ - planId: '应急预案', //应急预案人员 + planId: '', //应急预案人员 remark: '', // 备注 }) const titles = ref(); @@ -94,7 +95,10 @@ // 打开用户选择弹窗 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) => { @@ -144,7 +148,7 @@ }); formEl.resetFields(); ruleForm.value = { - planId: '应急预案', //应急预案人员 + planId: '', //应急预案人员 remark: '', // 备注 }; } @@ -179,6 +183,7 @@ submitForm, resetForm, isShowDialog, + onUser, }; }, }); diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue index 2d72476..4bd255b 100644 --- a/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue +++ b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue @@ -1,202 +1,254 @@ <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> diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue index 0d3ca4f..fee0f3a 100644 --- a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue +++ b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue @@ -72,11 +72,11 @@ <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 /> @@ -99,7 +99,7 @@ /> </div> </el-card> - <SelectEmergencyPlan ref="showRef"/> + <SelectEmergencyPlan ref="showRef" @SearchUser="onUser"/> <OpenSee ref="editRef" @myAdd="onMyAdd" /> </div> </template> @@ -216,6 +216,9 @@ const daiInpt=()=>{ showRef.value.openDailog() } + const onUser = (e:any) => { + listQuery.searchParams.planId=e.id + }; // 删除用户 const onRowDel = (data: any) => { ElMessageBox.confirm('确定删除所选项吗?', '提示',{ @@ -321,6 +324,8 @@ deleteAll, warning, danger, + total, + onUser, handleSelectionChange, }; }, diff --git a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue index fa3ff8b..df6f69e 100644 --- a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue +++ b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue @@ -104,7 +104,7 @@ /> </div> </el-card> - <EmergencySupplies ref="showRef"/> + <EmergencySupplies ref="showRef" @SearchUser="onUser"/> <upData ref="upShow"></upData> <OpenAdd ref="addRef" @myAdd="onMyAdd" /> </div> @@ -297,7 +297,9 @@ const daiInpt=()=>{ showRef.value.openDailog() } - + const onUser = (e:any) => { + listQuery.searchParams.suppliesId=e.id + }; // 分页 const pageIndex = ref(); const pageSize = ref(); @@ -342,6 +344,7 @@ warning, danger, total, + onUser, }; }, }); diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue index 3a97494..60006cf 100644 --- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue +++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue @@ -120,7 +120,7 @@ </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"> @@ -580,6 +580,28 @@ 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 = () => { @@ -615,6 +637,7 @@ titles, disabled, emit, + dataList, }; }, }); diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue index 06d5311..9d994f4 100644 --- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue +++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue @@ -1,267 +1,350 @@ <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: [], }, @@ -272,12 +355,12 @@ label: '生产运行部', children: [ { - value: '2-1', + value: '21', label: '灌装一班', - children: [] + children: [], }, { - value: '2-2', + value: '22', label: '工艺四班', children: [], }, @@ -288,109 +371,313 @@ 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> \ No newline at end of file diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue index a6b2943..5625061 100644 --- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue +++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue @@ -79,6 +79,7 @@ <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> @@ -107,6 +108,7 @@ 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'; @@ -115,8 +117,8 @@ components: { OpenAdd, Maintain, - // OpenEdit, View, + OpenEdit, EditPen, Plus, Edit, @@ -128,8 +130,6 @@ UpData, }, setup() { - // const multipleTableRef = ref<InstanceType<typeof ElTable>>(); - // const multipleSelection = ref<User[]>([]); // 列表参数 const listQuery = reactive({ pageIndex: 1, @@ -230,11 +230,20 @@ } }; // 打开修改用户弹窗 + 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(); } }; // 删除用户 @@ -312,8 +321,6 @@ listQuery.pageIndex = val; }; return { - // multipleSelection, - // multipleTableRef, // upButton, // upShow, tableData, @@ -333,6 +340,7 @@ submitReset, onMyAdd, onEdit, + editRef, onDeleteAll, handleSelectionChange, warning, @@ -341,6 +349,7 @@ onInspect, onMaintainAdd, onInspectAdd, + onMyAdds, }; }, }); diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue index 7493625..95a6ae0 100644 --- a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue +++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue @@ -84,7 +84,7 @@ /> </div> </el-card> - <EmergencySupplies ref="showRef" /> + <EmergencySupplies ref="showRef" @SearchUser="onUser"/> <OpenSee ref="editRef"/> <upData ref="upShow"></upData> <OpenAdd ref="addRef" @myAdd="onMyAdd" /> @@ -278,6 +278,9 @@ const daiInpt = () => { showRef.value.openDailog(); }; + const onUser = (e:any) => { + listQuery.searchParams.suppliesId=e.id + }; // 分页 const pageIndex = ref(); const pageSize = ref(); @@ -321,6 +324,7 @@ handleSelectionChange, onDeleteAll, onEdit, + onUser, }; }, }); diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue index 7a6d302..92db42c 100644 --- a/src/views/contingencyManagement/panManagement/component/openAdd.vue +++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue @@ -36,27 +36,27 @@ <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> @@ -94,14 +94,14 @@ </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> @@ -235,11 +235,11 @@ 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', }, ], @@ -251,21 +251,21 @@ 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', }, ], @@ -277,21 +277,21 @@ 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', }, ], @@ -307,7 +307,7 @@ label: '广汇能源综合物流发展有限责任公司', children: [ { - value: '1-1', + value: '11', label: '经营班子', children: [], }, @@ -318,12 +318,12 @@ label: '生产运行部', children: [ { - value: '2-1', + value: '21', label: '灌装一班', children: [] }, { - value: '2-2', + value: '22', label: '工艺四班', children: [], }, @@ -334,12 +334,12 @@ label: '设备部', children: [ { - value: '3-1', + value: '31', label: '仪表班', children: [], }, { - value: '3-2', + value: '32', label: '机修班', children: [], }, diff --git a/src/views/facilityManagement/keyEquipment/index.vue b/src/views/facilityManagement/keyEquipment/index.vue index 13b8503..f1d3218 100644 --- a/src/views/facilityManagement/keyEquipment/index.vue +++ b/src/views/facilityManagement/keyEquipment/index.vue @@ -4,13 +4,13 @@ <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> @@ -18,16 +18,16 @@ <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> @@ -42,7 +42,7 @@ <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 /> @@ -50,7 +50,7 @@ </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 /> @@ -58,7 +58,7 @@ <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 /> @@ -68,9 +68,9 @@ </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 /> @@ -84,17 +84,17 @@ <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> @@ -102,12 +102,9 @@ <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" /> @@ -116,15 +113,16 @@ </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; @@ -134,15 +132,63 @@ 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) => { @@ -151,9 +197,88 @@ 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, @@ -204,43 +329,6 @@ ], }, ]; - 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) => { @@ -250,10 +338,27 @@ 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, @@ -268,12 +373,27 @@ openUp, ShowD, openD, + openEdit, Plus, EditPen, Delete, + View, Download, Refresh, Upload, + resetForm, + listApi, + onMyAdd, + handleCurrentChange, + handleSizeChange, + onAddorUpdata, + total, + currentPage4, + pageSize4, + onDelete, + warning, + handleSelectionChange, + onDeleteAll, }; }, }); diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue index 78310a2..3cdcb66 100644 --- a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue +++ b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue @@ -35,9 +35,9 @@ <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="奖惩内容" /> diff --git a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue index 0d19e41..d5c2080 100644 --- a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue +++ b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue @@ -173,7 +173,7 @@ const nameC=ref() const onUser = (e: any) => { form.value.commitPersonId = e.uid; - nameC.value=e.realName + nameC.value = e.realName }; return { disabled, -- Gitblit v1.9.2