From 2e52dcb4fb8766d7d9c0034b7bba3e1d02e24906 Mon Sep 17 00:00:00 2001 From: zhaojiale <631455805@qq.com> Date: 星期四, 04 八月 2022 10:43:29 +0800 Subject: [PATCH] 事故报告除图片外完成 --- src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue | 442 +++++++++++++++++++++++++++--------------------------- 1 files changed, 219 insertions(+), 223 deletions(-) diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue index b96844b..d349645 100644 --- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue +++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue @@ -1,244 +1,240 @@ <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-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon> - <el-form-item> - <el-input size="default" v-model="ruleForm.pass" placeholder="id" style="min-width: 215px;"/> - </el-form-item> - <el-form-item> - <el-input size="default" v-model="ruleForm.pass" placeholder="事故名称" style="min-width: 215px;"/> - </el-form-item> - <el-form-item> - <el-input size="default" v-model="ruleForm.pass" placeholder="事故部门" style="min-width: 215px;"/> - </el-form-item> - <el-form-item> - <el-input size="default" v-model="ruleForm.pass" placeholder="发生地点" style="min-width: 215px;"/> - </el-form-item> - <el-form-item> - <el-input size="default" v-model="ruleForm.pass" placeholder="发生时间" style="min-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" :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-column align="center" prop="date" label="id" />--> - <!--<el-table-column align="center" prop="name" label="事故名称"/>--> - <!--<el-table-column align="center" prop="date" label="事故部门" />--> - <!--<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="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-table - :data="tableData" - style="width: 100%" - ref="multipleTableRef" - > - <el-table-column align="center"> - <template #default="scope"> - <el-radio-group v-model="radio1"> - <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> - </el-radio-group> - </template> - </el-table-column> - <el-table-column prop="accidentExpressId" label="事故名称" show-overflow-tooltip></el-table-column> - <el-table-column prop="accidentDepartmentId" label="事故部门" show-overflow-tooltip></el-table-column> - <el-table-column prop="accidentType" label="事故类别" show-overflow-tooltip></el-table-column> - <el-table-column prop="accidentGrade" label="事故等级" show-overflow-tooltip></el-table-column> - <el-table-column prop="occurrencePlace" label="发生地点" show-overflow-tooltip></el-table-column> - <el-table-column prop="occurrenceTime" label="发生时间" show-overflow-tooltip></el-table-column> - </el-table> - <div class="pages"> - <el-pagination - v-model:currentPage="pageIndex" - v-model:page-size="pageSize" - :page-sizes="[10, 20, 30]" - :pager-count="5" - layout="total, sizes, prev, pager, next, jumper" - :total="40" - @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)"> - {{ tag }} - </el-tag> - </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> - </span> - </template> - </el-dialog> + <div> + <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-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon> + <!--<el-form-item>--> + <!--<el-input size="default" v-model="listQuery.searchParams.id" placeholder="id" style="min-width: 215px;"/>--> + <!--</el-form-item>--> + <el-form-item> + <el-input size="default" v-model="listQuery.searchParams.accidentName" placeholder="事故名称" style="min-width: 215px" /> + </el-form-item> + <!--<el-form-item>--> + <!--<el-input size="default" v-model="listQuery.searchParams.deptName" placeholder="事故部门" style="min-width: 215px;"/>--> + <!--</el-form-item>--> + <!--<el-form-item>--> + <!--<el-input size="default" v-model="listQuery.searchParams.occurrencePlace" placeholder="发生地点" style="min-width: 215px;"/>--> + <!--</el-form-item>--> + <!--<el-form-item>--> + <!--<el-input size="default" v-model="listQuery.searchParams.occurrenceTime" placeholder="发生时间" style="min-width: 215px;"/>--> + <!--</el-form-item>--> + <el-form-item> + <el-button size="default" type="primary" @click="listApi">查询</el-button> + <el-button size="default" @click="submitReset">重置</el-button> + <el-button size="default" :icon="Delete" @click="handleClose">清除选择</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-column align="center" prop="date" label="id" />--> + <!--<el-table-column align="center" prop="name" label="事故名称"/>--> + <!--<el-table-column align="center" prop="date" label="事故部门" />--> + <!--<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="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-table :data="tableData" style="width: 100%" ref="multipleTableRef"> + <el-table-column align="center"> + <template #default="scope"> + <el-radio-group v-model="radio1"> + <el-radio :label="scope.row.id" size="large" @click="checkedItem(scope.row)">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> + <!--<el-table-column prop="id" label="id" show-overflow-tooltip></el-table-column>--> + <el-table-column prop="accidentName" label="事故名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="deptName" label="事故部门" show-overflow-tooltip></el-table-column> + <el-table-column prop="occurrencePlace" label="发生地点" show-overflow-tooltip></el-table-column> + <el-table-column prop="occurrenceTime" label="发生时间" show-overflow-tooltip></el-table-column> + </el-table> + <div class="pages"> + <el-pagination + v-model:currentPage="pageIndex" + v-model:page-size="pageSize" + :page-sizes="[10, 20, 30]" + :pager-count="5" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + @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.accidentName }} + </el-tag> + </el-col> + </el-row> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> + <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> + </div> </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 { - Delete, - FullScreen -} from '@element-plus/icons-vue'; -import { - // ElTable, - ElMessage, + // ElTable, + ElMessage, } from 'element-plus'; -import {accidentManagementSystemApi} from "/@/api/workInjuryDeclaration"; +import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; export default defineComponent({ - setup() { - const dialogVisible = ref<boolean>(false); - const openDailog = () => { - dialogVisible.value = true; - }; - // 搜索条件 - const ruleForm = reactive({ - pass: '', - }); - // 定义表格数据 - const tableData = ref([]); - // 列表参数 - const listQuery = reactive({ - pageIndex: 1, - pageSize: 10, - searchParams: { - name: '', - }, - }); - //单选按钮 - const radio1 = ref(''); - // 分页 - const pageIndex = ref(); - const pageSize = ref(); - const total = ref(); - // 分页改变 - const handleSizeChange = (val: number) => { - listQuery.pageSize = val; - }; - // 分页未改变 - const handleCurrentChange = (val: number) => { - listQuery.pageIndex = val; - }; - //查询list数据 - const listApi = async () => { - let res = await accidentManagementSystemApi().getAccidentReportList(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.error(res.data.msg); - } - }; - // 页面加载时 - onMounted(() => { - listApi(); - }); - // 右方点击添加后显示标签 - const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']); - const handleClose = (tag: string) => { - dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1); - }; - //全屏 - const full = ref(false); - const toggleFullscreen = () => { - if (full.value == false) { - full.value = true; - } else { - full.value = false; - } - }; - return { - dialogVisible, - openDailog, - ruleForm, - tableData, - handleSizeChange, - handleCurrentChange, - dynamicTags, - handleClose, - Delete, - toggleFullscreen, - FullScreen, - full, - pageIndex, - pageSize, - total, - listApi, - listQuery, - radio1 - }; - }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; + listApi(); + }; + // 搜索条件 + const ruleForm = reactive({ + pass: '', + }); + // 定义表格数据 + const tableData = ref([]); + // 列表参数 + const listQuery = reactive({ + pageIndex: 1, + pageSize: 10, + searchParams: { + accidentName: '', + }, + }); + //单选按钮 + const radio1 = ref(''); + // 分页 + const pageIndex = ref(); + const pageSize = ref(); + const total = ref(); + // 分页改变 + const handleSizeChange = (val: number) => { + listQuery.pageSize = val; + }; + // 分页未改变 + const handleCurrentChange = (val: number) => { + listQuery.pageIndex = val; + }; + const checkedItem = (row: object) => { + dynamicTags.value = [row]; + }; + // 重置 + const submitReset = () => { + listQuery.searchParams = {}; + listApi(); + }; + const submitForm = () => { + emit('selectItem', dynamicTags.value); + dialogVisible.value = false; + }; + //查询list数据 + const listApi = async () => { + let res = await accidentManagementSystemApi().accidentList(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.error(res.data.msg); + } + }; + // 右方点击添加后显示标签 + const dynamicTags = ref([]); + const handleClose = () => { + dynamicTags.value = []; + radio1.value = ''; + }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { + if (full.value == false) { + full.value = true; + } else { + full.value = false; + } + }; + return { + dialogVisible, + openDailog, + ruleForm, + tableData, + handleSizeChange, + handleCurrentChange, + dynamicTags, + handleClose, + Delete, + toggleFullscreen, + FullScreen, + full, + pageIndex, + pageSize, + total, + listApi, + listQuery, + radio1, + checkedItem, + submitReset, + submitForm, + }; + }, }); </script> <style scoped> -.el-form--inline .el-form-item{ - margin-bottom: 18px!important; - margin-right: 12px; +.el-form--inline .el-form-item { + margin-bottom: 18px !important; + margin-right: 12px; } /*分页*/ -.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> -- Gitblit v1.9.2