From f116ffb8abf668cdd5a8d33bd2f85363fd1ef28d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 26 六月 2025 16:51:58 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/assets/icons/home_func6.png                                                                     |    0 
 admin/src/views/index.vue                                                                                 |    1 
 admin/src/assets/icons/home_func5.png                                                                     |    0 
 admin/src/components/common/CommonHeader.vue                                                              |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |   13 +++
 admin/src/components/operation/HiddenDangerParam.vue                                                      |   18 ++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java               |   23 ++++---
 admin/src/views/operation/danger/checkSet.vue                                                             |   84 ++++++++++++++++++++++++++++
 admin/src/views/operation/danger/record.vue                                                               |   28 +++++----
 9 files changed, 146 insertions(+), 24 deletions(-)

diff --git a/admin/src/assets/icons/home_func5.png b/admin/src/assets/icons/home_func5.png
new file mode 100644
index 0000000..05b6dba
--- /dev/null
+++ b/admin/src/assets/icons/home_func5.png
Binary files differ
diff --git a/admin/src/assets/icons/home_func6.png b/admin/src/assets/icons/home_func6.png
new file mode 100644
index 0000000..f6e3677
--- /dev/null
+++ b/admin/src/assets/icons/home_func6.png
Binary files differ
diff --git a/admin/src/components/common/CommonHeader.vue b/admin/src/components/common/CommonHeader.vue
index 5b49084..2ef2259 100644
--- a/admin/src/components/common/CommonHeader.vue
+++ b/admin/src/components/common/CommonHeader.vue
@@ -11,6 +11,7 @@
           <div class="item" @click="getHeaderNav('0')">瀹夐槻涓績</div>
           <div class="item" @click="getHeaderNav('1')">娑堟帶涓績</div>
           <div class="item" @click="getHeaderNav('2')">鑳界涓績</div>
+          <div class="item" @click="getHeaderNav('7')">鍚庡嫟涓績</div>
           <div class="item" @click="getHeaderNav('3')">椹鹃┒鑸�</div>
           <!-- <div class="item" @click="handleTest">娴嬭瘯</div> -->
         </div>
@@ -119,7 +120,7 @@
       this.visible.changePwd = true
     }
   },
-  filters: {  
+  filters: {
     // 灞曠ず鍚嶇О
     displayName(userInfo) {
       if (userInfo == null) {
diff --git a/admin/src/components/operation/HiddenDangerParam.vue b/admin/src/components/operation/HiddenDangerParam.vue
index bef7aff..f90e997 100644
--- a/admin/src/components/operation/HiddenDangerParam.vue
+++ b/admin/src/components/operation/HiddenDangerParam.vue
@@ -14,6 +14,16 @@
       <el-form-item label="鑱旂郴鐢佃瘽" prop="mobile">
         {{ userInfo.mobile }}
       </el-form-item>
+      <el-form-item label="妫�鏌ョ被鍨�" prop="checkTypeId">
+        <el-select v-model="param.checkTypeId" placeholder="璇烽�夋嫨">
+          <el-option
+              v-for="item in checkTypeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item label="鎻愭姤鏃堕棿" prop="submitTime">
         <el-date-picker
           v-model="param.submitTime"
@@ -126,6 +136,7 @@
       userInfo: this.$store.state.userInfo,
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
       typeList: [],
+      checkTypeList: [],
       addrList: [],
       memberList: [],
       fileList: [],
@@ -139,6 +150,7 @@
         areaId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         cateId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         checkUserId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+        checkTypeId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         companyId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         faceImgUrl: [{ required: true, message: '璇蜂笂浼�', trigger: 'change' }],
 
@@ -156,6 +168,12 @@
       allList({ type: 1 }).then(res => { // 绫诲瀷
         this.typeList = res || []
       })
+      allList({ type: 2}).then(res => { // 妫�鏌ョ被鍨�
+        this.checkTypeList = res || []
+        if(this.checkTypeList.length>0){
+          this.param.checkTypeId = res[0].id
+        }
+      })
       // memberList({}).then(res => {
       //   this.memberList = res || []
       // })
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index a1c4508..b414d59 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -246,6 +246,7 @@
         { name: '璁垮鎶ュ', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' },
         { name: '闅愭偅闅忔墜鎷�', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' },
         { name: '棰勭害浼氳瀹�', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' },
+        { name: '鍏姟杞﹂绾�', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' },
         { name: '鑰冨嫟宸ヤ綔鍙�', path: '', url: require('@/assets/icons/home_func4.png') },
         { name: '椋熷爞娑堣垂', path: '', url: require('@/assets/icons/8.png') }
       ],
diff --git a/admin/src/views/operation/danger/checkSet.vue b/admin/src/views/operation/danger/checkSet.vue
new file mode 100644
index 0000000..92cdcb2
--- /dev/null
+++ b/admin/src/views/operation/danger/checkSet.vue
@@ -0,0 +1,84 @@
+<template>
+  <TableLayout :permissions="['business:member:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline>
+      <el-form-item label="闅愭偅妫�鏌ョ被鍨�" prop="name">
+        <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ラ殣鎮f鏌ョ被鍨�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:hiddendangerparam:create','business:hiddendangerparam:delete']">
+        <li><el-button type="primary" @click="$refs.OperaHiddenDangerParamWindow.open('鏂板缓闅愭偅妫�鏌ョ被鍨�',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:hiddendangerparam:create']">鏂板缓</el-button></li>
+        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:hiddendangerparam:delete']">鎵归噺鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+          :height="tableHeightNew"
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          stripe
+          @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" label="闅愭偅妫�鏌ョ被鍨�" show-overflow-tooltip min-width="200px"></el-table-column>
+        <el-table-column prop="sortnum" label="鎺掑簭鐮�"  width="100px"></el-table-column>
+        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" width="170px"></el-table-column>
+        <el-table-column
+            v-if="containPermissions(['business:hiddendangerparam:update', 'business:hiddendangerparam:delete' ])"
+            label="鎿嶄綔"
+            width="140"
+            fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerParamWindow.open('缂栬緫闅愭偅妫�鏌ョ被鍨�',row,searchForm.type)" v-permissions="['business:hiddendangerparam:update']">缂栬緫</el-button>
+            <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:hiddendangerparam:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+          @size-change="handleSizeChange"
+          @current-change="handlePageChange"
+          :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaHiddenDangerParamWindow ref="OperaHiddenDangerParamWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaHiddenDangerParamWindow from '@/components/business/OperaHiddenDangerParamWindow'
+export default {
+  name: 'areaSet',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaHiddenDangerParamWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        type: 2
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '闅愭偅闅忔墜鎷嶉厤缃被鍨�',
+      api: '/business/hiddenDangerParam',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+  }
+}
+</script>
diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue
index 4c85924..fd838ff 100644
--- a/admin/src/views/operation/danger/record.vue
+++ b/admin/src/views/operation/danger/record.vue
@@ -19,6 +19,12 @@
           </el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="妫�鏌ョ被鍨�" prop="cateId">
+        <el-select v-model="searchForm.checkTypeId" placeholder="璇烽�夋嫨妫�鏌ョ被鍨�" clearable @change="search">
+          <el-option v-for="item in checkTypeList" :key="item.id" :label="item.name" :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="闅愭偅绫诲瀷" prop="cateId">
         <el-select v-model="searchForm.cateId" placeholder="璇烽�夋嫨闅愭偅绫诲瀷" clearable @change="search">
           <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id">
@@ -62,28 +68,21 @@
       </ul>
       <el-table v-loading="isWorking.search" :data="tableData.list" :height="tableHeightNew" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="checkTypeName" show-overflow-tooltip label="妫�鏌ョ被鍨�" min-width="150px"></el-table-column>
+        <el-table-column prop="submitTime" label="鎻愭姤鏃堕棿" min-width="150px"></el-table-column>
         <el-table-column prop="dutyCompanyName" show-overflow-tooltip label="璐d换閮ㄩ棬" min-width="150px"></el-table-column>
         <el-table-column prop="areaName" label="闅愭偅鍖哄煙" show-overflow-tooltip min-width="150px"></el-table-column>
         <el-table-column prop="categoryName" label="闅愭偅绫诲瀷" min-width="150px"></el-table-column>
         <el-table-column prop="content" label="闂鎻忚堪" min-width="150px"></el-table-column>
-        <el-table-column prop="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column>
-        <el-table-column prop="companyName" show-overflow-tooltip label="鎵�灞炵粍缁�" min-width="150px"></el-table-column>
-        <el-table-column prop="submitTime" label="鎻愭姤鏃堕棿" min-width="150px"></el-table-column>
-        <el-table-column label="澶勭悊缁撴灉" min-width="100px">
+        <el-table-column prop="dealTime" label="鏁存敼鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column label="鏁存敼缁撴灉" min-width="100px">
           <template slot-scope="{row}">
             <span class="status-blue" v-if="row.status === 0">寰呭鐞�</span>
             <span class="status-green" v-if="row.status === 1">宸插鐞�</span>
             <span class="status-red" v-if="row.status === 2">宸查��鍥�</span>
           </template>
         </el-table-column>
-<!--
-        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column>
--->
-        <!-- <el-table-column label="鎿嶄綔" min-width="180" fixed="right"> -->
-        <el-table-column prop="dealTime" label="澶勭悊鏃堕棿" min-width="150px"></el-table-column>
-<!--
-        <el-table-column prop="editDate" label="鏈�杩戞搷浣滄椂闂�" min-width="150px"></el-table-column>
--->
+        <el-table-column prop="memberName" label="鎻愭姤浜哄鍚�" min-width="100px"></el-table-column>
         <el-table-column
             label="鎿嶄綔"
             min-width="180"
@@ -128,10 +127,12 @@
         queryStartTime: '',
         queryEndTime: '',
         areaId: null,
+        checkTypeId: null,
         cateId: null,
         status: null,
         radio: 0
       },
+      checkTypeList: [],
       cateList: [],
       areaList: [],
       time: []
@@ -205,6 +206,9 @@
               if (item && item.type != null && item.type === 1) {
                 this.cateList.push(item)
               }
+              if (item && item.type != null && item.type === 2) {
+                this.checkTypeList.push(item)
+              }
             })
           }
         })
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
index 03659a0..9c53c6b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -58,7 +58,7 @@
     private Integer areaId;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呭鐞� 1宸插鐞� 2涓嶅鐞�", example = "1")
-    @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 6,width = 6)
+    @ExcelColumn(name="鏁存敼缁撴灉" ,valueMapping ="0=寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 7,width = 6)
     private Integer status;
 
     @ApiModelProperty(value = "鐢宠澶勭悊浜虹紪鐮�(鍏宠仈member)", example = "1")
@@ -68,9 +68,11 @@
     @ApiModelProperty(value = "闅愭偅绫诲瀷缂栫爜锛堝叧鑱攈idden_danger_param)", example = "1")
 //    @ExcelColumn(name="闅愭偅绫诲瀷缂栫爜锛堝叧鑱攈idden_danger_param)")
     private Integer cateId;
+    @ApiModelProperty(value = "闅愭偅妫�鏌ョ被鍨嬬紪鐮侊紙鍏宠仈hidden_danger_param)", example = "1")
+    private Integer checkTypeId ;
 
     @ApiModelProperty(value = "鎯呭喌璇存槑")
-    @ExcelColumn(name="闂鎻忚堪",index = 3,width = 20)
+    @ExcelColumn(name="闂鎻忚堪",index = 6,width = 20)
     private String content;
 
     @ApiModelProperty(value = "鎻愭姤浜虹紪鐮侊紙鍏宠仈member锛�", example = "1")
@@ -90,20 +92,19 @@
     private Integer checkUserId;
 
     @ApiModelProperty(value = "鍖哄煙鍚嶇О")
-    @ExcelColumn(name="闅愭偅鍖哄煙",index = 1,width = 10)
+    @ExcelColumn(name="闅愭偅鍖哄煙",index = 4,width = 10)
     private String areaName;
 
     @ApiModelProperty(value = "鐢宠浜哄鍚�", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =4,width = 6)
+    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =9,width = 6)
     private String memberName;
     @ApiModelProperty(value = "鐢宠浜烘墍灞炵粍缁囧悕绉�", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="鎵�灞炵粍缁�",index = 5,width = 15)
     private String companyName;
     @ApiModelProperty(value = "璐d换閮ㄩ棬鍚嶇О", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 0,width = 10)
+    @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 3,width = 10)
     private String dutyCompanyName;
     @ApiModelProperty(value = "鐢宠浜烘墜鏈哄彿", example = "1")
 
@@ -124,8 +125,12 @@
     private String checkorPhone;
     @ApiModelProperty(value = "闅愭偅绫诲瀷鍚嶇О", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="闅愭偅绫诲瀷",index = 2,width = 10)
+    @ExcelColumn(name="闅愭偅绫诲瀷",index = 5,width = 10)
     private String categoryName;
+    @ApiModelProperty(value = "妫�鏌ョ被鍨�", example = "1")
+    @TableField(exist = false)
+    @ExcelColumn(name="妫�鏌ョ被鍨�",index = 1,width = 10)
+    private String checkTypeName;
 
     @ApiModelProperty(value = "鏌ヨ寮�濮嬫椂闂达紙鍩轰簬鎻愭姤鏃堕棿锛�", example = "2024-05-20 11:48:50")
     @TableField(exist = false)
@@ -145,12 +150,12 @@
 
     @ApiModelProperty(value = "鎻愭姤鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 7,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
+    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 2,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date submitTime;
 
     @ApiModelProperty(value = "澶勭悊鏃堕棿锛堟暣鏀�/閫�鍥炰娇鐢級")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="澶勭悊鏃堕棿",index = 8 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
+    @ExcelColumn(name="鏁存敼鏃堕棿",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date dealTime;
 
     @ApiModelProperty(value = "闄勪欢淇℃伅")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index d276e6a..4411168 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -108,6 +108,7 @@
             || Objects.isNull(hiddenDanger.getCateId())
             || Objects.isNull(hiddenDanger.getApplyCheckUserId())
             || Objects.isNull(hiddenDanger.getCheckUserId())
+            || Objects.isNull(hiddenDanger.getCheckTypeId())
             || Objects.isNull(hiddenDanger.getSubmitTime())
             || StringUtils.isBlank(hiddenDanger.getContent())
         ){
@@ -121,6 +122,10 @@
         hiddenDanger.setIsdeleted(Constants.ZERO);
         hiddenDanger.setCreateDate(new Date());
         hiddenDanger.setEditDate(new Date());
+        HiddenDangerParam hiddenDangerCheckParam = hiddenDangerParamMapper.selectById(hiddenDanger.getCheckTypeId());
+        if(Objects.isNull(hiddenDangerCheckParam)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅妫�鏌ョ被鍨�");
+        }
         HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId());
         if(Objects.isNull(hiddenDangerParam)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鍖哄煙");
@@ -341,12 +346,14 @@
                 .select("t2.name",HiddenDanger::getCheckorName)
                 .select("t2.phone",HiddenDanger::getCheckorPhone)
                 .select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
-                .select("t4.company_name_path",HiddenDanger::getCompanyName);
+                .select("t4.company_name_path",HiddenDanger::getCompanyName)
+                .select("t6.name", HiddenDanger::getCheckTypeName);
         queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
                 .leftJoin("company t4 on t1.company_id=t4.id")
-                .leftJoin("company t5 on t2.company_id=t5.id");
+                .leftJoin("company t5 on t2.company_id=t5.id")
+                .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.id");
         queryWrapper
                 .eq(HiddenDanger::getId, id)
                 .eq(HiddenDanger::getIsdeleted, Constants.ZERO)
@@ -434,6 +441,7 @@
         queryWrapper.selectAll(HiddenDanger.class)
                 .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
                 .select("t1.name", HiddenDanger::getMemberName)
+                .select("t6.name", HiddenDanger::getCheckTypeName)
                 .select("t1.phone",HiddenDanger::getMemberPhone)
                 .select("t2.name",HiddenDanger::getCheckorName)
                 .select("t2.phone",HiddenDanger::getCheckorPhone)
@@ -443,6 +451,7 @@
                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
                 .leftJoin("company t4 on t1.company_id=t4.id")
+                .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.id")
                 .leftJoin("company t5 on t2.company_id=t5.id");
 
         //鏁版嵁鏉冮檺寮�濮�--------------------start----------------

--
Gitblit v1.9.3