From f93a3a605d6d949515bedbcdc633c5f454014f02 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期二, 26 七月 2022 17:07:06 +0800
Subject: [PATCH] 添加修改页面
---
src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue | 2
src/views/riskWarningSys/accidentLevel/index.vue | 407 +++++++++++++++
src/views/IntelligentXjSys/basicDataManagement/facilityArea/index.vue | 2
src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveLinkSetting/index.vue | 2
src/views/basicRightsManagement/personnelShiftManagement/teamManagement/index.vue | 2
src/views/basicRightsManagement/personnelShiftManagement/shiftManagement/index.vue | 2
src/router/route.ts | 32 +
src/views/IntelligentXjSys/inspectionTaskManagement/index.vue | 30
src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue | 2
src/views/riskWarningSys/educationAndTraining/index.vue | 343 +++++++++++++
src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue | 2
src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue | 2
src/views/basicRightsManagement/personnelShiftManagement/holidayManagement/index.vue | 2
src/views/riskWarningSys/emergencyDrills/index.vue | 342 +++++++++++++
src/views/IntelligentXjSys/basicDataManagement/indicator/index.vue | 2
src/views/basicRightsManagement/personnelShiftManagement/personnelManagement/index.vue | 2
src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue | 2
src/views/specialWorkSystem/workPlan/workReservation/index.vue | 2
src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue | 2
src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/reportTypeSetting/index.vue | 2
src/views/IntelligentXjSys/basicDataManagement/inspection/index.vue | 2
src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue | 2
src/views/basicRightsManagement/personnelShiftManagement/workingHours/index.vue | 2
src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue | 2
src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveTypeSetting/index.vue | 2
src/views/riskWarningSys/riskLevel/index.vue | 322 ++++++++++++
src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue | 2
27 files changed, 1,490 insertions(+), 28 deletions(-)
diff --git a/src/router/route.ts b/src/router/route.ts
index b3846c9..aaa0429 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -329,5 +329,37 @@
meta: {
title: '巡检记录管理'
},
+ },
+ {
+ path: '/educationAndTraining',
+ name: 'educationAndTraining',
+ component: () => import('/@/views/riskWarningSys/educationAndTraining/index.vue'),
+ meta: {
+ title: '教育培训'
+ },
+ },
+ {
+ path: '/emergencyDrills',
+ name: 'emergencyDrills',
+ component: () => import('/@/views/riskWarningSys/emergencyDrills/index.vue'),
+ meta: {
+ title: '应急演练'
+ },
+ },
+ {
+ path: '/accidentLevel',
+ name: 'accidentLevel',
+ component: () => import('/@/views/riskWarningSys/accidentLevel/index.vue'),
+ meta: {
+ title: '事故等级'
+ },
+ },
+ {
+ path: '/riskLevel',
+ name: 'riskLevel',
+ component: () => import('/@/views/riskWarningSys/riskLevel/index.vue'),
+ meta: {
+ title: '风险等级'
+ },
}
];
diff --git a/src/views/IntelligentXjSys/basicDataManagement/facilityArea/index.vue b/src/views/IntelligentXjSys/basicDataManagement/facilityArea/index.vue
index a40b89f..5c490e7 100644
--- a/src/views/IntelligentXjSys/basicDataManagement/facilityArea/index.vue
+++ b/src/views/IntelligentXjSys/basicDataManagement/facilityArea/index.vue
@@ -238,7 +238,7 @@
if(chosenIndex.value == -1){
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/IntelligentXjSys/basicDataManagement/indicator/index.vue b/src/views/IntelligentXjSys/basicDataManagement/indicator/index.vue
index 63819f9..7af3854 100644
--- a/src/views/IntelligentXjSys/basicDataManagement/indicator/index.vue
+++ b/src/views/IntelligentXjSys/basicDataManagement/indicator/index.vue
@@ -245,7 +245,7 @@
if(chosenIndex.value == -1){
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/IntelligentXjSys/basicDataManagement/inspection/index.vue b/src/views/IntelligentXjSys/basicDataManagement/inspection/index.vue
index d558469..ef85413 100644
--- a/src/views/IntelligentXjSys/basicDataManagement/inspection/index.vue
+++ b/src/views/IntelligentXjSys/basicDataManagement/inspection/index.vue
@@ -238,7 +238,7 @@
if(chosenIndex.value == -1){
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/IntelligentXjSys/inspectionTaskManagement/index.vue b/src/views/IntelligentXjSys/inspectionTaskManagement/index.vue
index e2cd7d9..5f1e4a9 100644
--- a/src/views/IntelligentXjSys/inspectionTaskManagement/index.vue
+++ b/src/views/IntelligentXjSys/inspectionTaskManagement/index.vue
@@ -583,6 +583,8 @@
const addRef = ref<FormInstance>()
const addShiftRef = ref<FormInstance>()
const addInspectionRef = ref<FormInstance>()
+
+ // 表单校验
const addRules = reactive<FormRules>({
name:[{required: true, message: '该内容不能为空',trigger:'blur'}],
type:[{required: true, message: '该内容不能为空',trigger:'blur'}],
@@ -611,10 +613,14 @@
const addShift = ref({})
const addInspection = ref({})
const details = ref({})
+
+ // 查看记录
const viewRecord = (row) =>{
details.value = JSON.parse(JSON.stringify(row))
dialogDetails.value = true
}
+
+ // 删除记录
const deleteRecord = (index) =>{
chosenIndex.value = index
deleteDialog.value = true
@@ -622,6 +628,13 @@
const conFirmDelete = ()=> {
tableData.splice(chosenIndex.value,1)
deleteDialog.value = false
+ }
+
+ // 修改添加记录
+ const editRecord =(index, row)=>{
+ chosenIndex.value = index
+ dialogAddRecord.value = true
+ addRecord.value = JSON.parse(JSON.stringify(row))
}
const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
if (!formEl) return
@@ -649,7 +662,7 @@
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.chainLength = addRecord.value.shiftSteps.length
addRecord.value.status = '开启'
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}
}else{
if(addRecord.value.shiftSteps.length == 0){
@@ -680,9 +693,13 @@
})
}
+
+ // 添加弹窗打开前预操作
const openAdd =()=>{
addRecord.value.unit = '小时'
}
+
+ // 弹窗关闭后判断数据初始化
const closeAdd =()=>{
addRecord.value={}
chosenIndex.value = -1
@@ -699,11 +716,6 @@
chosenInspectionIndex.value = -1
chosenShiftIndex.value = -1
}
- const editRecord =(index, row)=>{
- chosenIndex.value = index
- dialogAddRecord.value = true
- addRecord.value = JSON.parse(JSON.stringify(row))
- }
// 排序
function compare(key){
@@ -719,6 +731,8 @@
dialogAddShift.value = true
chosenShiftIndex.value = index
}
+
+ // 删除巡检区域
const deleteFlow = (index) => {
deleteShiftDialog.value = true
chosenShiftIndex.value = index
@@ -727,6 +741,7 @@
addRecord.value.shiftSteps.splice( chosenShiftIndex.value,1)
deleteShiftDialog.value = false
}
+
const confirmAddShift = async (formEl: FormInstance | undefined) => {
if (!formEl) return
await formEl.validate((valid, fields) => {
@@ -742,8 +757,9 @@
console.log('error submit!', fields)
}
})
-
}
+
+
const addSysInspection =(index)=>{
dialogAddInspection.value = true
chosenShiftIndex.value = index
diff --git a/src/views/basicRightsManagement/personnelShiftManagement/holidayManagement/index.vue b/src/views/basicRightsManagement/personnelShiftManagement/holidayManagement/index.vue
index 1c82f55..5ffe431 100644
--- a/src/views/basicRightsManagement/personnelShiftManagement/holidayManagement/index.vue
+++ b/src/views/basicRightsManagement/personnelShiftManagement/holidayManagement/index.vue
@@ -244,7 +244,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/basicRightsManagement/personnelShiftManagement/personnelManagement/index.vue b/src/views/basicRightsManagement/personnelShiftManagement/personnelManagement/index.vue
index 4679574..6274717 100644
--- a/src/views/basicRightsManagement/personnelShiftManagement/personnelManagement/index.vue
+++ b/src/views/basicRightsManagement/personnelShiftManagement/personnelManagement/index.vue
@@ -237,7 +237,7 @@
if(chosenIndex.value == -1){
addRecord.value.startTime = JSON.parse(JSON.stringify(addRecord.value.timeRange))[0]
addRecord.value.endTime = JSON.parse(JSON.stringify(addRecord.value.timeRange))[1]
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.startTime = JSON.parse(JSON.stringify(addRecord.value.timeRange))[0]
addRecord.value.endTimeTime = JSON.parse(JSON.stringify(addRecord.value.timeRange))[1]
diff --git a/src/views/basicRightsManagement/personnelShiftManagement/shiftManagement/index.vue b/src/views/basicRightsManagement/personnelShiftManagement/shiftManagement/index.vue
index c9dc0de..97994c2 100644
--- a/src/views/basicRightsManagement/personnelShiftManagement/shiftManagement/index.vue
+++ b/src/views/basicRightsManagement/personnelShiftManagement/shiftManagement/index.vue
@@ -330,7 +330,7 @@
})
return
}else{
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}
}else{
if(addRecord.value.type == '循环班' && addRecord.value.shiftSteps.length == 0){
diff --git a/src/views/basicRightsManagement/personnelShiftManagement/teamManagement/index.vue b/src/views/basicRightsManagement/personnelShiftManagement/teamManagement/index.vue
index d4f963a..04f674a 100644
--- a/src/views/basicRightsManagement/personnelShiftManagement/teamManagement/index.vue
+++ b/src/views/basicRightsManagement/personnelShiftManagement/teamManagement/index.vue
@@ -249,7 +249,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/basicRightsManagement/personnelShiftManagement/workingHours/index.vue b/src/views/basicRightsManagement/personnelShiftManagement/workingHours/index.vue
index 1c4f628..bb15eed 100644
--- a/src/views/basicRightsManagement/personnelShiftManagement/workingHours/index.vue
+++ b/src/views/basicRightsManagement/personnelShiftManagement/workingHours/index.vue
@@ -208,7 +208,7 @@
addRecord.value.endTime = '次日' + addRecord.value.endTime
}
addRecord.value.range = addRecord.value.startTime + '\xa0-\xa0' + addRecord.value.endTime
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
if(addRecord.value.startTime >= addRecord.value.endTime){
addRecord.value.endTime = '次日' + addRecord.value.endTime
diff --git a/src/views/riskWarningSys/accidentLevel/index.vue b/src/views/riskWarningSys/accidentLevel/index.vue
new file mode 100644
index 0000000..a876414
--- /dev/null
+++ b/src/views/riskWarningSys/accidentLevel/index.vue
@@ -0,0 +1,407 @@
+<template>
+ <div class="home-container">
+ <el-scrollbar height="100%">
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button>
+<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
+ <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default"/>
+ </el-row>
+ <el-table
+ ref="multipleTableRef"
+ :data="tableData"
+ style="width: 100%"
+ :header-cell-style="{background: '#fafafa'}"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column type="index" label="编号" width="80"/>
+ <el-table-column property="month" label="所属月份"/>
+ <el-table-column property="level" label="事故类型"/>
+ <el-table-column property="amount" label="事故起数(起)"/>
+ <el-table-column property="death" label="死亡人数(人)"/>
+ <el-table-column property="injury" label="重伤人数(人)"/>
+ <el-table-column property="wound" label="轻伤人数(人)"/>
+ <el-table-column property="cost" label="直接经济损失(万)"/>
+ <el-table-column property="updateTime" label="提交时间"/>
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+ <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </el-scrollbar>
+ <el-dialog v-model="dialogDetails" title="查看详情">
+ <el-form :model="details" label-width="120px">
+ <el-form-item label="所属月份">
+ <el-input
+ v-model="details.month"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="事故类型">
+ <el-input
+ v-model="details.level"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="事故起数(起)">
+ <el-input
+ v-model="details.amount"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="死亡人数(人)">
+ <el-input
+ v-model="details.death"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="重伤人数(人)">
+ <el-input
+ v-model="details.injury"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="轻伤人数(人)">
+ <el-input
+ v-model="details.wound"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="直接经济损失(万)">
+ <el-input
+ v-model="details.cost"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="提交时间">
+ <el-input
+ v-model="details.updateTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="dialogAddRecord" title="事故等级编辑" @close="closeAdd">
+ <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
+ <el-form-item label="所属时间" prop="month">
+ <el-date-picker
+ v-model="addRecord.month"
+ type="month"
+ placeholder="请选择日期"
+ format="YYYY-MM" value-format="YYYY-MM"
+ />
+ </el-form-item>
+ <el-form-item label="事故类型" prop="level">
+ <el-select v-model="addRecord.level" placeholder="请选择">
+ <el-option label="特别重大事故" value="特别重大事故" />
+ <el-option label="重大事故" value="重大事故" />
+ <el-option label="较大事故" value="较大事故" />
+ <el-option label="一般事故" value="一般事故" />
+ <el-option label="未遂事故" value="未遂事故" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="事故起数" prop="amount">
+ <el-input
+ v-model="addRecord.amount"
+ placeholder="请填写事故次数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="死亡人数" prop="death">
+ <el-input
+ v-model="addRecord.death"
+ placeholder="请填写死亡人数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="重伤人数" prop="injury">
+ <el-input
+ v-model="addRecord.injury"
+ placeholder="请填写重伤人数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="轻伤人数" prop="wound">
+ <el-input
+ v-model="addRecord.wound"
+ placeholder="请填写轻伤人数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="直接经济损失" prop="cost">
+ <el-input
+ v-model="addRecord.cost"
+ placeholder="请填写直接经济损失"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+ <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts" setup>
+ import { toRefs, reactive, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
+ import { ElTable } from 'element-plus'
+ import { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const currentPage = ref(1)
+ const pageSize = ref(10)
+ const chosenIndex = ref(-1)
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`)
+ }
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`)
+ }
+ // 时间格式化
+ const timeForm = {
+ hour12: false,
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit'
+ }
+ const tableData = reactive(
+ [
+ {
+ month: '2022-07',
+ level: '未遂事故',
+ amount: 1,
+ death: 0,
+ injury: 0,
+ wound: 0,
+ cost: 1,
+ updateTime: '2022-07-26 15:55:00'
+ },
+ {
+ month: '2022-06',
+ level: '未遂事故',
+ amount: 2,
+ death: 0,
+ injury: 0,
+ wound: 0,
+ cost: 15,
+ updateTime: '2022-07-26 15:55:00'
+ },
+ {
+ month: '2022-05',
+ level: '一般事故',
+ amount: 1,
+ death: 0,
+ injury: 0,
+ wound: 1,
+ cost: 100,
+ updateTime: '2022-07-26 15:55:00'
+ }
+ ]
+ )
+ const addRef = ref<FormInstance>()
+ const addRules = reactive<FormRules>({
+ month:[{required: true, message: '该内容不能为空'}],
+ level:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ amount:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ death:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ injury:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ wound:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ cost:[{required: true, message: '该内容不能为空',trigger:'blur'}]
+ })
+ const dialogDetails = ref(false)
+ const dialogAddRecord = ref(false)
+ const deleteDialog = ref(false)
+ const addRecord = ref({})
+ const details = ref({})
+ const viewRecord = (row) =>{
+ details.value = JSON.parse(JSON.stringify(row))
+ dialogDetails.value = true
+ }
+ const deleteRecord = (index) =>{
+ chosenIndex.value = index
+ deleteDialog.value = true
+ }
+ const conFirmDelete = ()=> {
+ tableData.splice(chosenIndex.value,1)
+ deleteDialog.value = false
+ }
+ const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if(chosenIndex.value == -1){
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData.unshift(addRecord.value)
+ }else{
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData[chosenIndex.value] = addRecord.value
+ }
+ dialogAddRecord.value =false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+
+ }
+ const closeAdd =()=>{
+ addRecord.value={}
+ chosenIndex.value = -1
+ }
+ const indexClear = ()=>{
+ chosenIndex.value = -1
+ }
+ const editRecord =(index, row)=>{
+ dialogAddRecord.value = true
+ chosenIndex.value = index
+ addRecord.value = JSON.parse(JSON.stringify(row))
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+</script>
+
+<style scoped lang="scss">
+ $homeNavLengh: 8;
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ padding: 20px;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ }
+ .el-row{
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0;
+ }
+ .grid-content{
+ align-items: center;
+ min-height: 36px;
+ }
+
+ .topInfo {
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ font-weight: bold;
+
+ &>div{
+ white-space: nowrap;
+ margin-right: 20px;
+ }
+ }
+ }
+ .mainPages{
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ }
+ .main-card{
+ width: 100%;
+ .cardTop{
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ .mainCardBtn{
+ margin: 0;
+ }
+ }
+ }
+ .pageBtn{
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ margin-top: 20px;
+
+ .demo-pagination-block + .demo-pagination-block {
+ margin-top: 10px;
+ }
+ .demo-pagination-block .demonstration {
+ margin-bottom: 16px;
+ }
+ }
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+</style>
diff --git a/src/views/riskWarningSys/educationAndTraining/index.vue b/src/views/riskWarningSys/educationAndTraining/index.vue
new file mode 100644
index 0000000..39b1979
--- /dev/null
+++ b/src/views/riskWarningSys/educationAndTraining/index.vue
@@ -0,0 +1,343 @@
+<template>
+ <div class="home-container">
+ <el-scrollbar height="100%">
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button>
+<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
+ <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default"/>
+ </el-row>
+ <el-table
+ ref="multipleTableRef"
+ :data="tableData"
+ style="width: 100%"
+ :header-cell-style="{background: '#fafafa'}"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column type="index" label="编号" width="80"/>
+ <el-table-column property="month" label="所属月份"/>
+ <el-table-column property="level" label="级别"/>
+ <el-table-column property="amount" label="培训次数(次)"/>
+ <el-table-column property="eduTime" label="教育时间比" />
+ <el-table-column property="updateTime" label="提交时间"/>
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+ <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </el-scrollbar>
+ <el-dialog v-model="dialogDetails" title="查看详情">
+ <el-form :model="details" label-width="120px">
+ <el-form-item label="所属月份">
+ <el-input
+ v-model="details.month"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="级别">
+ <el-input
+ v-model="details.level"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="培训次数(次)">
+ <el-input
+ v-model="details.amount"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="教育时间比">
+ <el-input
+ v-model="details.eduTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="提交时间">
+ <el-input
+ v-model="details.updateTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="dialogAddRecord" title="教育培训记录编辑" @close="closeAdd">
+ <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
+ <el-form-item label="所属时间" prop="month">
+ <el-date-picker
+ v-model="addRecord.month"
+ type="month"
+ placeholder="请选择日期"
+ format="YYYY-MM" value-format="YYYY-MM"
+ />
+ </el-form-item>
+ <el-form-item label="选择级别" prop="level">
+ <el-select v-model="addRecord.level" placeholder="请选择">
+ <el-option label="公司级" value="公司级" />
+ <el-option label="事业部级" value="事业部级" />
+ <el-option label="车间级" value="车间级" />
+ <el-option label="班组级" value="班组级" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="培训次数" prop="amount">
+ <el-input
+ v-model="addRecord.amount"
+ placeholder="请填写培训次数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="教育时间比" prop="eduTime">
+ <el-select v-model="addRecord.eduTime" placeholder="请选择">
+ <el-option label="大于或等于100%" value="大于或等于100%" />
+ <el-option label="大于或等于80%,小于100%" value="大于或等于80%,小于100%" />
+ <el-option label="大于或等于50%,小于80%" value="大于或等于50%,小于80%" />
+ <el-option label="大于或等于30%,小于50%" value="大于或等于30%,小于50%" />
+ <el-option label="小于30%" value="小于30%" />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+ <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts" setup>
+ import { toRefs, reactive, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
+ import { ElTable } from 'element-plus'
+ import { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const currentPage = ref(1)
+ const pageSize = ref(10)
+ const chosenIndex = ref(-1)
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`)
+ }
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`)
+ }
+ // 时间格式化
+ const timeForm = {
+ hour12: false,
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit'
+ }
+ const tableData = reactive(
+ [
+ {
+ month: '2022-07',
+ level: '公司级',
+ amount: 10,
+ eduTime: '大于或等于100%',
+ updateTime: '2022-07-26 15:55:00'
+ },
+ {
+ month: '2022-06',
+ level: '班组级',
+ amount: 10,
+ eduTime: '大于或等于100%',
+ updateTime: '2022-06-26 15:55:00'
+ }
+ ]
+ )
+ const addRef = ref<FormInstance>()
+ const addRules = reactive<FormRules>({
+ month:[{required: true, message: '该内容不能为空'}],
+ level:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ amount:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ eduTime:[{required: true, message: '该内容不能为空',trigger:'blur'}]
+ })
+ const dialogDetails = ref(false)
+ const dialogAddRecord = ref(false)
+ const deleteDialog = ref(false)
+ const addRecord = ref({})
+ const details = ref({})
+ const viewRecord = (row) =>{
+ details.value = JSON.parse(JSON.stringify(row))
+ dialogDetails.value = true
+ }
+ const deleteRecord = (index) =>{
+ chosenIndex.value = index
+ deleteDialog.value = true
+ }
+ const conFirmDelete = ()=> {
+ tableData.splice(chosenIndex.value,1)
+ deleteDialog.value = false
+ }
+ const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if(chosenIndex.value == -1){
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData.unshift(addRecord.value)
+ }else{
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData[chosenIndex.value] = addRecord.value
+ }
+ dialogAddRecord.value =false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+
+ }
+ const closeAdd =()=>{
+ addRecord.value={}
+ chosenIndex.value = -1
+ }
+ const indexClear = ()=>{
+ chosenIndex.value = -1
+ }
+ const editRecord =(index, row)=>{
+ dialogAddRecord.value = true
+ chosenIndex.value = index
+ addRecord.value = JSON.parse(JSON.stringify(row))
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+</script>
+
+<style scoped lang="scss">
+ $homeNavLengh: 8;
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ padding: 20px;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ }
+ .el-row{
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0;
+ }
+ .grid-content{
+ align-items: center;
+ min-height: 36px;
+ }
+
+ .topInfo {
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ font-weight: bold;
+
+ &>div{
+ white-space: nowrap;
+ margin-right: 20px;
+ }
+ }
+ }
+ .mainPages{
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ }
+ .main-card{
+ width: 100%;
+ .cardTop{
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ .mainCardBtn{
+ margin: 0;
+ }
+ }
+ }
+ .pageBtn{
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ margin-top: 20px;
+
+ .demo-pagination-block + .demo-pagination-block {
+ margin-top: 10px;
+ }
+ .demo-pagination-block .demonstration {
+ margin-bottom: 16px;
+ }
+ }
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+</style>
diff --git a/src/views/riskWarningSys/emergencyDrills/index.vue b/src/views/riskWarningSys/emergencyDrills/index.vue
new file mode 100644
index 0000000..76722d5
--- /dev/null
+++ b/src/views/riskWarningSys/emergencyDrills/index.vue
@@ -0,0 +1,342 @@
+<template>
+ <div class="home-container">
+ <el-scrollbar height="100%">
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button>
+<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
+ <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default"/>
+ </el-row>
+ <el-table
+ ref="multipleTableRef"
+ :data="tableData"
+ style="width: 100%"
+ :header-cell-style="{background: '#fafafa'}"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column type="index" label="编号" width="80"/>
+ <el-table-column property="month" label="所属月份"/>
+ <el-table-column property="level" label="级别"/>
+ <el-table-column property="amount" label="演练次数(次)"/>
+ <el-table-column property="aftTime" label="应急演练后时间" />
+ <el-table-column property="updateTime" label="提交时间"/>
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+ <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </el-scrollbar>
+ <el-dialog v-model="dialogDetails" title="查看详情">
+ <el-form :model="details" label-width="120px">
+ <el-form-item label="所属月份">
+ <el-input
+ v-model="details.month"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="级别">
+ <el-input
+ v-model="details.level"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="演练次数(次)">
+ <el-input
+ v-model="details.amount"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="应急演练后时间">
+ <el-input
+ v-model="details.aftTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="提交时间">
+ <el-input
+ v-model="details.updateTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="dialogAddRecord" title="应急演练编辑" @close="closeAdd">
+ <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
+ <el-form-item label="所属时间" prop="month">
+ <el-date-picker
+ v-model="addRecord.month"
+ type="month"
+ placeholder="请选择日期"
+ format="YYYY-MM" value-format="YYYY-MM"
+ />
+ </el-form-item>
+ <el-form-item label="选择级别" prop="level">
+ <el-select v-model="addRecord.level" placeholder="请选择">
+ <el-option label="公司级" value="公司级" />
+ <el-option label="事业部级" value="事业部级" />
+ <el-option label="车间级" value="车间级" />
+ <el-option label="班组级" value="班组级" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="培训次数" prop="amount">
+ <el-input
+ v-model="addRecord.amount"
+ placeholder="请填写培训次数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="应急演练后时间" prop="aftTime">
+ <el-select v-model="addRecord.aftTime" placeholder="请选择">
+ <el-option label="小于或等于一周" value="小于或等于一周" />
+ <el-option label="大于一周,小于或等于二周" value="大于一周,小于或等于二周" />
+ <el-option label="大于二周,小于或等于三周" value="大于二周,小于或等于三周" />
+ <el-option label="大于三周" value="大于三周" />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+ <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts" setup>
+ import { toRefs, reactive, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
+ import { ElTable } from 'element-plus'
+ import { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const currentPage = ref(1)
+ const pageSize = ref(10)
+ const chosenIndex = ref(-1)
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`)
+ }
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`)
+ }
+ // 时间格式化
+ const timeForm = {
+ hour12: false,
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit'
+ }
+ const tableData = reactive(
+ [
+ {
+ month: '2022-07',
+ level: '公司级',
+ amount: 10,
+ aftTime: '小于或等于一周',
+ updateTime: '2022-07-26 15:55:00'
+ },
+ {
+ month: '2022-06',
+ level: '班组级',
+ amount: 10,
+ aftTime: '大于一周,小于或等于二周',
+ updateTime: '2022-06-26 15:55:00'
+ }
+ ]
+ )
+ const addRef = ref<FormInstance>()
+ const addRules = reactive<FormRules>({
+ month:[{required: true, message: '该内容不能为空'}],
+ level:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ amount:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ aftTime:[{required: true, message: '该内容不能为空',trigger:'blur'}]
+ })
+ const dialogDetails = ref(false)
+ const dialogAddRecord = ref(false)
+ const deleteDialog = ref(false)
+ const addRecord = ref({})
+ const details = ref({})
+ const viewRecord = (row) =>{
+ details.value = JSON.parse(JSON.stringify(row))
+ dialogDetails.value = true
+ }
+ const deleteRecord = (index) =>{
+ chosenIndex.value = index
+ deleteDialog.value = true
+ }
+ const conFirmDelete = ()=> {
+ tableData.splice(chosenIndex.value,1)
+ deleteDialog.value = false
+ }
+ const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if(chosenIndex.value == -1){
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData.unshift(addRecord.value)
+ }else{
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData[chosenIndex.value] = addRecord.value
+ }
+ dialogAddRecord.value =false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+
+ }
+ const closeAdd =()=>{
+ addRecord.value={}
+ chosenIndex.value = -1
+ }
+ const indexClear = ()=>{
+ chosenIndex.value = -1
+ }
+ const editRecord =(index, row)=>{
+ dialogAddRecord.value = true
+ chosenIndex.value = index
+ addRecord.value = JSON.parse(JSON.stringify(row))
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+</script>
+
+<style scoped lang="scss">
+ $homeNavLengh: 8;
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ padding: 20px;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ }
+ .el-row{
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0;
+ }
+ .grid-content{
+ align-items: center;
+ min-height: 36px;
+ }
+
+ .topInfo {
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ font-weight: bold;
+
+ &>div{
+ white-space: nowrap;
+ margin-right: 20px;
+ }
+ }
+ }
+ .mainPages{
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ }
+ .main-card{
+ width: 100%;
+ .cardTop{
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ .mainCardBtn{
+ margin: 0;
+ }
+ }
+ }
+ .pageBtn{
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ margin-top: 20px;
+
+ .demo-pagination-block + .demo-pagination-block {
+ margin-top: 10px;
+ }
+ .demo-pagination-block .demonstration {
+ margin-bottom: 16px;
+ }
+ }
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+</style>
diff --git a/src/views/riskWarningSys/riskLevel/index.vue b/src/views/riskWarningSys/riskLevel/index.vue
new file mode 100644
index 0000000..c4cfb64
--- /dev/null
+++ b/src/views/riskWarningSys/riskLevel/index.vue
@@ -0,0 +1,322 @@
+<template>
+ <div class="home-container">
+ <el-scrollbar height="100%">
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button>
+<!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
+ <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default"/>
+ </el-row>
+ <el-table
+ ref="multipleTableRef"
+ :data="tableData"
+ style="width: 100%"
+ :header-cell-style="{background: '#fafafa'}"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column type="index" label="编号" width="80"/>
+ <el-table-column property="month" label="所属月份"/>
+ <el-table-column property="level" label="风险类型"/>
+ <el-table-column property="amount" label="风险个数(个)"/>
+ <el-table-column property="updateTime" label="提交时间"/>
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+ <el-button link type="primary" size="small" :icon="Edit" @click="editRecord(scope.$index ,scope.row)">修改</el-button>
+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </el-scrollbar>
+ <el-dialog v-model="dialogDetails" title="查看详情">
+ <el-form :model="details" label-width="120px">
+ <el-form-item label="所属月份">
+ <el-input
+ v-model="details.month"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="风险类型">
+ <el-input
+ v-model="details.level"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="风险个数(个)">
+ <el-input
+ v-model="details.amount"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="提交时间">
+ <el-input
+ v-model="details.updateTime"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="dialogAddRecord" title="风险等级编辑" @close="closeAdd">
+ <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
+ <el-form-item label="所属时间" prop="month">
+ <el-date-picker
+ v-model="addRecord.month"
+ type="month"
+ placeholder="请选择日期"
+ format="YYYY-MM" value-format="YYYY-MM"
+ />
+ </el-form-item>
+ <el-form-item label="风险类型" prop="level">
+ <el-select v-model="addRecord.level" placeholder="请选择">
+ <el-option label="高风险" value="高风险" />
+ <el-option label="低风险" value="低风险" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="风险个数" prop="amount">
+ <el-input
+ v-model="addRecord.amount"
+ placeholder="请填写风险个数"
+ type="number"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+ <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts" setup>
+ import { toRefs, reactive, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'
+ import { ElTable } from 'element-plus'
+ import { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const currentPage = ref(1)
+ const pageSize = ref(10)
+ const chosenIndex = ref(-1)
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`)
+ }
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`)
+ }
+ // 时间格式化
+ const timeForm = {
+ hour12: false,
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit'
+ }
+ const tableData = reactive(
+ [
+ {
+ month: '2022-07',
+ level: '低风险',
+ amount: 1,
+ updateTime: '2022-07-26 15:55:00'
+ },
+ {
+ month: '2022-06',
+ level: '高风险',
+ amount: 2,
+ updateTime: '2022-07-26 15:55:00'
+ }
+ ]
+ )
+ const addRef = ref<FormInstance>()
+ const addRules = reactive<FormRules>({
+ month:[{required: true, message: '该内容不能为空'}],
+ level:[{required: true, message: '该内容不能为空',trigger:'blur'}],
+ amount:[{required: true, message: '该内容不能为空',trigger:'blur'}]
+ })
+ const dialogDetails = ref(false)
+ const dialogAddRecord = ref(false)
+ const deleteDialog = ref(false)
+ const addRecord = ref({})
+ const details = ref({})
+ const viewRecord = (row) =>{
+ details.value = JSON.parse(JSON.stringify(row))
+ dialogDetails.value = true
+ }
+ const deleteRecord = (index) =>{
+ chosenIndex.value = index
+ deleteDialog.value = true
+ }
+ const conFirmDelete = ()=> {
+ tableData.splice(chosenIndex.value,1)
+ deleteDialog.value = false
+ }
+ const confirmAddRecord = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if(chosenIndex.value == -1){
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData.unshift(addRecord.value)
+ }else{
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
+ tableData[chosenIndex.value] = addRecord.value
+ }
+ dialogAddRecord.value =false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+
+ }
+ const closeAdd =()=>{
+ addRecord.value={}
+ chosenIndex.value = -1
+ }
+ const indexClear = ()=>{
+ chosenIndex.value = -1
+ }
+ const editRecord =(index, row)=>{
+ dialogAddRecord.value = true
+ chosenIndex.value = index
+ addRecord.value = JSON.parse(JSON.stringify(row))
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+</script>
+
+<style scoped lang="scss">
+ $homeNavLengh: 8;
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ padding: 20px;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ }
+ .el-row{
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0;
+ }
+ .grid-content{
+ align-items: center;
+ min-height: 36px;
+ }
+
+ .topInfo {
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ font-weight: bold;
+
+ &>div{
+ white-space: nowrap;
+ margin-right: 20px;
+ }
+ }
+ }
+ .mainPages{
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ }
+ .main-card{
+ width: 100%;
+ .cardTop{
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ .mainCardBtn{
+ margin: 0;
+ }
+ }
+ }
+ .pageBtn{
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ margin-top: 20px;
+
+ .demo-pagination-block + .demo-pagination-block {
+ margin-top: 10px;
+ }
+ .demo-pagination-block .demonstration {
+ margin-bottom: 16px;
+ }
+ }
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+</style>
diff --git a/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue b/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue
index dc12704..35df32c 100644
--- a/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue
+++ b/src/views/specialWorkSystem/afterWorkManagement/workTicketCheck/index.vue
@@ -256,7 +256,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue b/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue
index a84f6be..13b184e 100644
--- a/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue
+++ b/src/views/specialWorkSystem/afterWorkManagement/workTicketRecord/index.vue
@@ -210,7 +210,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveLinkSetting/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveLinkSetting/index.vue
index e0c5c65..5eb9a0b 100644
--- a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveLinkSetting/index.vue
+++ b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveLinkSetting/index.vue
@@ -225,7 +225,7 @@
if(chosenIndex.value == -1){
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveTypeSetting/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveTypeSetting/index.vue
index 57f1527..3e6b942 100644
--- a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveTypeSetting/index.vue
+++ b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/approveTypeSetting/index.vue
@@ -227,7 +227,7 @@
if(chosenIndex.value == -1){
addRecord.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/reportTypeSetting/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/reportTypeSetting/index.vue
index 30844ac..440ed57 100644
--- a/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/reportTypeSetting/index.vue
+++ b/src/views/specialWorkSystem/approveProcessManagement/approveLinkSettings/reportTypeSetting/index.vue
@@ -149,7 +149,7 @@
if(rowIndex.value == -1){
reportForm.value.createTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
reportForm.value.editeTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(reportForm.value)
+ tableData.unshift(reportForm.value)
}else{
reportForm.value.editeTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[rowIndex.value] = reportForm.value
diff --git a/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue b/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue
index 2bf2079..6b0615c 100644
--- a/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue
+++ b/src/views/specialWorkSystem/approveProcessManagement/approveProcessList/index.vue
@@ -301,7 +301,7 @@
if (valid) {
if(chosenIndex.value == -1){
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
index 7d2d26b..272e899 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
@@ -522,7 +522,7 @@
if (!formEl) return
await formEl.validate((valid, fields) => {
if (valid) {
- form.workerList.push(addWorkerForm.value)
+ form.workerList.unshift(addWorkerForm.value)
addWorkerForm.value = {
worker: '',
role: '',
diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue
index ae0fccf..4d8d77a 100644
--- a/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue
+++ b/src/views/specialWorkSystem/workBasicManagementSetting/certificateFilterSetting/index.vue
@@ -197,7 +197,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue
index 9421d04..8a5eb25 100644
--- a/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue
+++ b/src/views/specialWorkSystem/workBasicManagementSetting/personalProtectDevices/index.vue
@@ -174,7 +174,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue
index 5c3c5a4..ae00ade 100644
--- a/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue
+++ b/src/views/specialWorkSystem/workBasicManagementSetting/securityMeasuresManagement/index.vue
@@ -278,7 +278,7 @@
if (valid) {
if(chosenIndex.value == -1){
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g,'-')
tableData[chosenIndex.value] = addRecord.value
diff --git a/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue b/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue
index 27e072f..7e9af1a 100644
--- a/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue
+++ b/src/views/specialWorkSystem/workBasicManagementSetting/workTypeSetting/index.vue
@@ -220,7 +220,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue
index 2aebc33..d787438 100644
--- a/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue
+++ b/src/views/specialWorkSystem/workPlan/workAppointSummary/index.vue
@@ -427,7 +427,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
diff --git a/src/views/specialWorkSystem/workPlan/workReservation/index.vue b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
index 2c14f8a..7a1cc8d 100644
--- a/src/views/specialWorkSystem/workPlan/workReservation/index.vue
+++ b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
@@ -318,7 +318,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
if(chosenIndex.value == -1){
- tableData.push(addRecord.value)
+ tableData.unshift(addRecord.value)
}else{
tableData[chosenIndex.value] = addRecord.value
}
--
Gitblit v1.9.2