浏览代码

隐患;危险源;事故

77681 5 天之前
父节点
当前提交
837873fc26

+ 1 - 1
gw-ui/index.html

@@ -8,7 +8,7 @@
       name="viewport"
       content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
     />
-    <link rel="icon" href="/favicon.ico" />
+    <!-- <link rel="icon" href="/favicon.ico" /> -->
     <title>%VITE_APP_TITLE%</title>
     <!--[if lt IE 11
       ]><script>

二进制
gw-ui/src/assets/logo/logo.png


+ 27 - 2
gw-ui/src/layout/components/Navbar.vue

@@ -1,10 +1,13 @@
 <template>
   <div class="navbar" :class="'nav' + settingsStore.navType">
     <hamburger id="hamburger-container" :is-active="appStore.sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
+    <div class="logo-container">
+      <img :src="logoImg" class="logo-img" />
+      <span class="logo-title">{{ systemTitle }}</span>
+    </div>
     <breadcrumb v-if="settingsStore.navType == 1" id="breadcrumb-container" class="breadcrumb-container" />
     <top-nav v-if="settingsStore.navType == 2" id="topmenu-container" class="topmenu-container" />
     <template v-if="settingsStore.navType == 3">
-      <logo v-show="settingsStore.sidebarLogo" :collapse="false"></logo>
       <top-bar id="topbar-container" class="topbar-container" />
     </template>
 
@@ -57,7 +60,6 @@ import { ElMessageBox } from 'element-plus'
 import Breadcrumb from '@/components/Breadcrumb'
 import TopNav from './TopNav'
 import TopBar from './TopBar'
-import Logo from './Sidebar/Logo'
 import Hamburger from '@/components/Hamburger'
 import Screenfull from '@/components/Screenfull'
 import SizeSelect from '@/components/SizeSelect'
@@ -67,6 +69,7 @@ import useUserStore from '@/store/modules/user'
 import useLockStore from '@/store/modules/lock'
 import useSettingsStore from '@/store/modules/settings'
 import HeaderNotice from './HeaderNotice'
+import logoImg from '@/assets/logo/logo.png'
 
 const route = useRoute()
 const router = useRouter()
@@ -74,6 +77,7 @@ const appStore = useAppStore()
 const userStore = useUserStore()
 const lockStore = useLockStore()
 const settingsStore = useSettingsStore()
+const systemTitle = import.meta.env.VITE_APP_TITLE
 
 function toggleSideBar() {
   appStore.toggleSideBar()
@@ -197,6 +201,27 @@ async function toggleTheme(event) {
     flex-shrink: 0;
   }
 
+  .logo-container {
+    display: flex;
+    align-items: center;
+    margin-right: 12px;
+    flex-shrink: 0;
+
+    .logo-img {
+      width: 28px;
+      height: 28px;
+      vertical-align: middle;
+      margin-right: 8px;
+    }
+
+    .logo-title {
+      font-size: 15px;
+      font-weight: 600;
+      color: #303133;
+      white-space: nowrap;
+    }
+  }
+
   .topmenu-container {
     position: absolute;
     left: 50px;

+ 34 - 22
gw-ui/src/layout/components/Sidebar/index.vue

@@ -4,9 +4,9 @@
     <el-menu
       :default-active="activeMenu"
       :collapse="isCollapse"
-      background-color="#ffffff"
-      text-color="#606266"
-      active-text-color="#409eff"
+      background-color="#3c68cb"
+      text-color="#ffffff"
+      active-text-color="#ffffff"
       :collapse-transition="false"
       unique-opened
       class="sidebar-menu"
@@ -102,7 +102,11 @@ export default {
       for (const item of routes) {
         if (item.hidden) continue;
         if (item.meta?.title) {
-          result.push(item);
+          const filtered = { ...item };
+          if (filtered.children) {
+            filtered.children = filtered.children.filter(c => !c.hidden);
+          }
+          result.push(filtered);
         } else if (item.children) {
           const visible = item.children.filter(c => !c.hidden && c.meta?.title);
           for (const child of visible) {
@@ -158,8 +162,8 @@ export default {
   height: 100%;
   display: flex;
   flex-direction: column;
-  background-color: #ffffff;
-  border-right: 1px solid #e4e7ed;
+  background-color: #3c68cb;
+  border-right: 1px solid #3459b8;
 }
 
 .sidebar-menu {
@@ -171,32 +175,40 @@ export default {
 
 :deep(.el-menu) {
   border-right: none;
-  background-color: #ffffff;
+  background-color: #3c68cb;
 }
 
 :deep(.el-sub-menu__title) {
-  color: #606266;
-  background-color: #ffffff;
+  color: #ffffff;
+  background-color: #3c68cb;
+}
+
+:deep(.el-sub-menu__title .svg-icon) {
+  margin-right: 10px;
 }
 
 :deep(.el-sub-menu__title:hover) {
-  background-color: #f5f7fa !important;
-  color: #303133 !important;
+  background-color: #3459b8 !important;
+  color: #ffffff !important;
 }
 
 :deep(.el-menu-item) {
-  color: #606266;
-  background-color: #ffffff;
+  color: #ffffff;
+  background-color: #3c68cb;
+}
+
+:deep(.el-menu-item .svg-icon) {
+  margin-right: 10px;
 }
 
 :deep(.el-menu-item:hover) {
-  background-color: #f5f7fa !important;
-  color: #303133 !important;
+  background-color: #3459b8 !important;
+  color: #ffffff !important;
 }
 
 :deep(.el-menu-item.is-active) {
-  background-color: #ecf5ff !important;
-  color: #409eff !important;
+  background-color: #2d4fa3 !important;
+  color: #ffffff !important;
 }
 
 .sidebar-container.collapsed :deep(.el-sub-menu__title span) {
@@ -211,15 +223,15 @@ export default {
   height: 44px;
   line-height: 44px;
   text-align: center;
-  color: #606266;
+  color: #ffffff;
   cursor: pointer;
-  border-top: 1px solid #e4e7ed;
-  background-color: #ffffff;
+  border-top: 1px solid #3459b8;
+  background-color: #3c68cb;
 }
 
 .collapse-btn:hover {
-  background-color: #f5f7fa;
-  color: #303133;
+  background-color: #3459b8;
+  color: #ffffff;
 }
 
 .btn-text {

+ 14 - 1
gw-ui/src/layout/index.vue

@@ -11,6 +11,7 @@
     <!-- 顶部栏(系统名 + 用户信息) -->
     <div class="top-bar">
       <div class="logo-area">
+        <img :src="logoImg" class="logo-img" />
         <span class="logo-text" style="cursor:pointer" @click="router.push('/index')">水利安全生产监管信息系统</span>
       </div>
       <div class="top-right-menu">
@@ -58,6 +59,7 @@ import { AppMain, Settings } from "./components";
 import useAppStore from "@/store/modules/app";
 import useSettingsStore from "@/store/modules/settings";
 import useUserStore from "@/store/modules/user";
+import logoImg from "@/assets/logo/logo.png";
 
 const settingsStore = useSettingsStore();
 const appStore = useAppStore();
@@ -96,7 +98,7 @@ function handleCommand(command) {
 
 .top-bar {
   height: 60px;
-  background: #217ff4;
+  background: #3c68cb;
   display: flex;
   align-items: center;
   justify-content: space-between;
@@ -105,6 +107,17 @@ function handleCommand(command) {
   flex-shrink: 0;
 }
 
+.logo-area {
+  display: flex;
+  align-items: center;
+}
+
+.logo-img {
+  width: 32px;
+  height: 32px;
+  margin-right: 10px;
+}
+
 .logo-text {
   color: #fff;
   font-size: 20px;

+ 1 - 1
gw-ui/src/views/slaj/acci/detail.vue

@@ -127,7 +127,7 @@ function getRepList() {
 
 /** 返回列表 */
 function goBack() {
-  proxy.$router.push({ path: '/slaj/acci' })
+  proxy.$router.push({ path: '/slaj/acci/index' })
 }
 
 onMounted(() => {

+ 5 - 2
gw-ui/src/views/slaj/hidd/cancel.vue

@@ -215,7 +215,8 @@ function submitCancel() {
     if (valid) {
       const data = {
         guid: cancelForm.value.guid,
-        hiddStat: '2'
+        hiddStat: '2',
+        note: cancelForm.value.cancelReason
       }
       updateObjHidd(data).then(response => {
         proxy.$modal.msgSuccess("销号成功")
@@ -240,10 +241,12 @@ function handleBatchCancel() {
 function submitBatchCancel() {
   proxy.$refs["batchCancelRef"].validate(valid => {
     if (valid) {
+      const reason = batchCancelForm.value.cancelReason
       const promises = batchCancelForm.value.guids.map(guid => {
         const data = {
           guid: guid,
-          hiddStat: '2'
+          hiddStat: '2',
+          note: reason
         }
         return updateObjHidd(data)
       })

+ 1 - 1
gw-ui/src/views/slaj/hidd/detail.vue

@@ -465,7 +465,7 @@ function handleAddRectProg() {
 
 /** 返回列表 */
 function goBack() {
-  proxy.$router.push({ path: '/slaj/hidd' })
+  proxy.$router.push({ path: '/slaj/hidd/index' })
 }
 
 onMounted(() => {

+ 21 - 21
gw-ui/src/views/slaj/hidd/hiddImple.vue

@@ -28,9 +28,9 @@
 
     <el-table v-loading="loading" :data="implList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="实施时间" align="center" prop="implTime" v-if="columns.implTime.visible" width="180" />
-      <el-table-column label="实施内容" align="center" prop="implContent" v-if="columns.implContent.visible" :show-overflow-tooltip="true" />
-      <el-table-column label="实施人" align="center" prop="implPers" v-if="columns.implPers.visible" />
+      <el-table-column label="实施时间" align="center" prop="collTime" v-if="columns.collTime.visible" width="180" />
+      <el-table-column label="实施内容" align="center" prop="corrMeas" v-if="columns.corrMeas.visible" :show-overflow-tooltip="true" />
+      <el-table-column label="记录人" align="center" prop="recPers" v-if="columns.recPers.visible" />
       <el-table-column label="隐患状态" align="center" prop="hiddStat" v-if="columns.hiddStat.visible">
         <template #default="scope">
           <dict-tag :options="hidd_stat" :value="scope.row.hiddStat" />
@@ -64,27 +64,27 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="实施时间" prop="implTime">
-              <el-date-picker v-model="form.implTime" type="datetime" placeholder="请选择实施时间" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
+            <el-form-item label="实施时间" prop="collTime">
+              <el-date-picker v-model="form.collTime" type="datetime" placeholder="请选择实施时间" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="实施人" prop="implPers">
-              <el-input v-model="form.implPers" placeholder="请输入实施人" />
+            <el-form-item label="记录人" prop="recPers">
+              <el-input v-model="form.recPers" placeholder="请输入记录人" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="实施内容" prop="implContent">
-              <el-input v-model="form.implContent" type="textarea" placeholder="请输入实施内容" />
+            <el-form-item label="整改措施" prop="corrMeas">
+              <el-input v-model="form.corrMeas" type="textarea" placeholder="请输入整改措施" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="处理结果" prop="handleResult">
-              <el-input v-model="form.handleResult" type="textarea" placeholder="请输入处理结果" />
+            <el-form-item label="备注" prop="note">
+              <el-input v-model="form.note" type="textarea" placeholder="请输入备注" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -119,9 +119,9 @@ const title = ref("")
 const dateRange = ref([])
 
 const columns = ref({
-  implTime: { label: '实施时间', visible: true },
-  implContent: { label: '实施内容', visible: true },
-  implPers: { label: '实施人', visible: true },
+  collTime: { label: '实施时间', visible: true },
+  corrMeas: { label: '整改措施', visible: true },
+  recPers: { label: '记录人', visible: true },
   hiddStat: { label: '隐患状态', visible: true }
 })
 
@@ -136,9 +136,9 @@ const data = reactive({
   },
   rules: {
     hiddGuid: [{ required: true, message: "隐患关联不能为空", trigger: "change" }],
-    implTime: [{ required: true, message: "实施时间不能为空", trigger: "blur" }],
-    implContent: [{ required: true, message: "实施内容不能为空", trigger: "blur" }],
-    implPers: [{ required: true, message: "实施人不能为空", trigger: "blur" }]
+    collTime: [{ required: true, message: "实施时间不能为空", trigger: "blur" }],
+    corrMeas: [{ required: true, message: "整改措施不能为空", trigger: "blur" }],
+    recPers: [{ required: true, message: "记录人不能为空", trigger: "blur" }]
   }
 })
 
@@ -241,10 +241,10 @@ function reset() {
   form.value = {
     guid: undefined,
     hiddGuid: undefined,
-    implTime: undefined,
-    implContent: undefined,
-    implPers: undefined,
-    handleResult: undefined,
+    collTime: undefined,
+    corrMeas: undefined,
+    recPers: undefined,
+    note: undefined,
     hiddStat: undefined
   }
   proxy.resetForm("implRef")

+ 25 - 25
gw-ui/src/views/slaj/hidd/month.vue

@@ -4,11 +4,11 @@
       <el-form-item label="上报单位" prop="repOrgGuid">
         <el-input v-model="queryParams.repOrgGuid" placeholder="请输入上报单位" clearable style="width: 240px" @keyup.enter="handleQuery" />
       </el-form-item>
-      <el-form-item label="上报期间" prop="repPeri">
-        <el-input v-model="queryParams.repPeri" placeholder="请输入上报期间" clearable style="width: 240px" @keyup.enter="handleQuery" />
+      <el-form-item label="上报期间" prop="repName">
+        <el-input v-model="queryParams.repName" placeholder="请输入上报期间" clearable style="width: 240px" @keyup.enter="handleQuery" />
       </el-form-item>
-      <el-form-item label="上报状态" prop="repStat">
-        <el-select v-model="queryParams.repStat" placeholder="请选择上报状态" clearable style="width: 240px">
+      <el-form-item label="上报状态" prop="repAct">
+        <el-select v-model="queryParams.repAct" placeholder="请选择上报状态" clearable style="width: 240px">
           <el-option v-for="dict in rep_stat" :key="dict.value" :label="dict.label" :value="dict.value" />
         </el-select>
       </el-form-item>
@@ -37,10 +37,10 @@
     <el-table v-loading="loading" :data="monRepPeriList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="上报单位" align="center" prop="repOrgGuid" v-if="columns.repOrgGuid.visible" :show-overflow-tooltip="true" />
-      <el-table-column label="上报期间" align="center" prop="repPeri" v-if="columns.repPeri.visible" />
-      <el-table-column label="上报状态" align="center" prop="repStat" v-if="columns.repStat.visible">
+      <el-table-column label="上报期间" align="center" prop="repName" v-if="columns.repName.visible" />
+      <el-table-column label="上报状态" align="center" prop="repAct" v-if="columns.repAct.visible">
         <template #default="scope">
-          <dict-tag :options="rep_stat" :value="scope.row.repStat" />
+          <dict-tag :options="rep_stat" :value="scope.row.repAct" />
         </template>
       </el-table-column>
       <el-table-column label="上报时间" align="center" prop="repTime" v-if="columns.repTime.visible" width="180" />
@@ -56,7 +56,7 @@
           <el-tooltip content="下级月报" placement="top">
             <el-button link type="primary" icon="Document" @click="handleSubMonth(scope.row)"></el-button>
           </el-tooltip>
-          <el-tooltip content="撤回审批" placement="top" v-if="scope.row.repStat === '2'">
+          <el-tooltip content="撤回审批" placement="top" v-if="scope.row.repAct === '2'">
             <el-button link type="warning" icon="Stamp" @click="handleVerify(scope.row)" v-hasPermi="['hidd:monrepperi:edit']"></el-button>
           </el-tooltip>
           <el-tooltip content="删除" placement="top">
@@ -80,13 +80,13 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="上报期间" prop="repPeri">
-              <el-input v-model="form.repPeri" placeholder="请输入上报期间" />
+            <el-form-item label="上报期间" prop="repName">
+              <el-input v-model="form.repName" placeholder="请输入上报期间" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="上报状态" prop="repStat">
-              <el-select v-model="form.repStat" placeholder="请选择上报状态">
+            <el-form-item label="上报状态" prop="repAct">
+              <el-select v-model="form.repAct" placeholder="请选择上报状态">
                 <el-option v-for="dict in rep_stat" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
               </el-select>
             </el-form-item>
@@ -121,7 +121,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="上报期间">
-              <el-input v-model="verifyForm.repPeri" disabled />
+              <el-input v-model="verifyForm.repName" disabled />
             </el-form-item>
           </el-col>
         </el-row>
@@ -155,10 +155,10 @@
     <el-dialog title="下级月报详情" v-model="subMonthOpen" width="800px" append-to-body>
       <el-table v-loading="subMonthLoading" :data="subMonthList">
         <el-table-column label="上报单位" align="center" prop="repOrgGuid" :show-overflow-tooltip="true" />
-        <el-table-column label="上报期间" align="center" prop="repPeri" />
-        <el-table-column label="上报状态" align="center" prop="repStat">
+        <el-table-column label="上报期间" align="center" prop="repName" />
+        <el-table-column label="上报状态" align="center" prop="repAct">
           <template #default="scope">
-            <dict-tag :options="rep_stat" :value="scope.row.repStat" />
+            <dict-tag :options="rep_stat" :value="scope.row.repAct" />
           </template>
         </el-table-column>
         <el-table-column label="上报时间" align="center" prop="repTime" width="180" />
@@ -204,8 +204,8 @@ const subMonthList = ref([])
 
 const columns = ref({
   repOrgGuid: { label: '上报单位', visible: true },
-  repPeri: { label: '上报期间', visible: true },
-  repStat: { label: '上报状态', visible: true },
+  repName: { label: '上报期间', visible: true },
+  repAct: { label: '上报状态', visible: true },
   repTime: { label: '上报时间', visible: true },
   returnDesc: { label: '退回说明', visible: true }
 })
@@ -216,12 +216,12 @@ const data = reactive({
     pageNum: 1,
     pageSize: 10,
     repOrgGuid: undefined,
-    repPeri: undefined,
-    repStat: undefined
+    repName: undefined,
+    repAct: undefined
   },
   rules: {
     repOrgGuid: [{ required: true, message: "上报单位不能为空", trigger: "blur" }],
-    repPeri: [{ required: true, message: "上报期间不能为空", trigger: "blur" }]
+    repName: [{ required: true, message: "上报期间不能为空", trigger: "blur" }]
   }
 })
 
@@ -301,7 +301,7 @@ function handleVerify(row) {
   verifyForm.value = {
     guid: row.guid,
     repOrgGuid: row.repOrgGuid,
-    repPeri: row.repPeri,
+    repName: row.repName,
     verifyResult: undefined,
     verifyOpinion: undefined
   }
@@ -314,7 +314,7 @@ function submitVerify() {
     if (valid) {
       const data = {
         guid: verifyForm.value.guid,
-        repStat: verifyForm.value.verifyResult === '1' ? '1' : '3',
+        repAct: verifyForm.value.verifyResult === '1' ? '1' : '3',
         returnDesc: verifyForm.value.verifyOpinion
       }
       updateBisOrgMonRepPeri(data).then(response => {
@@ -370,8 +370,8 @@ function reset() {
   form.value = {
     guid: undefined,
     repOrgGuid: undefined,
-    repPeri: undefined,
-    repStat: undefined,
+    repName: undefined,
+    repAct: undefined,
     repTime: undefined,
     returnDesc: undefined
   }

+ 2 - 2
gw-ui/src/views/slaj/hidd/monthDetail.vue

@@ -14,12 +14,12 @@
       </template>
       <el-descriptions :column="2" border>
         <el-descriptions-item label="上报单位">{{ form.repOrgGuid }}</el-descriptions-item>
-        <el-descriptions-item label="上报期间">{{ form.repPeri }}</el-descriptions-item>
+        <el-descriptions-item label="上报期间">{{ form.repName }}</el-descriptions-item>
         <el-descriptions-item label="上报状态">
           <dict-tag :options="rep_stat" :value="form.repAct" />
         </el-descriptions-item>
         <el-descriptions-item label="上报时间">{{ form.repTime }}</el-descriptions-item>
-        <el-descriptions-item label="退回说明" :span="2">{{ form.returnDesc }}</el-descriptions-item>
+        <el-descriptions-item label="退回说明" :span="2">{{ form.note }}</el-descriptions-item>
       </el-descriptions>
     </el-card>
 

+ 4 - 4
gw-ui/src/views/slaj/hidd/supList.vue

@@ -39,8 +39,8 @@
         </template>
       </el-table-column>
       <el-table-column label="督办日期" align="center" prop="supDate" v-if="columns.supDate.visible" width="180" />
-      <el-table-column label="督办单位" align="center" prop="supOrg" v-if="columns.supOrg.visible" :show-overflow-tooltip="true" />
-      <el-table-column label="督办负责人" align="center" prop="supPers" v-if="columns.supPers.visible" />
+      <el-table-column label="督办单位" align="center" prop="supWiunCode" v-if="columns.supWiunCode.visible" :show-overflow-tooltip="true" />
+      <el-table-column label="督办负责人" align="center" prop="supLegPers" v-if="columns.supLegPers.visible" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
         <template #default="scope">
           <el-tooltip content="督办" placement="top" v-if="scope.row.supStat === '0'">
@@ -128,8 +128,8 @@ const columns = ref({
   hiddGrad: { label: '隐患等级', visible: true },
   hiddStat: { label: '隐患状态', visible: true },
   supDate: { label: '督办日期', visible: true },
-  supOrg: { label: '督办单位', visible: true },
-  supPers: { label: '督办负责人', visible: true }
+  supWiunCode: { label: '督办单位', visible: true },
+  supLegPers: { label: '督办负责人', visible: true }
 })
 
 const data = reactive({