From 56d111945916746dd9a2486665bf3be6eb58bdf7 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 28 五月 2024 18:28:14 +0800
Subject: [PATCH] 最新版本

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                     |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java      |   15 
 admin/src/api/business/carUseBook.js                                                                         |   47 ++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java |   14 
 server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java                               |    3 
 admin/src/components/business/OperaHiddenDangerWindow.vue                                                    |   70 +++---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java    |   82 +++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java                  |    2 
 admin/src/views/operation/serviceCar/apprRecord.vue                                                          |  307 ++++++++++++++++++-----------
 admin/src/views/operation/danger/record.vue                                                                  |   18 +
 10 files changed, 360 insertions(+), 206 deletions(-)

diff --git a/admin/src/api/business/carUseBook.js b/admin/src/api/business/carUseBook.js
new file mode 100644
index 0000000..94ac03e
--- /dev/null
+++ b/admin/src/api/business/carUseBook.js
@@ -0,0 +1,47 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBook/page', data, {
+    trim: true
+  })
+}
+// 鏌ヨ
+export function findLogList (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBookLog/findList', data, {
+    trim: true
+  })
+}
+
+// 鍒涘缓
+export function create (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBook/create', data)
+}
+export function transfercarUseBook (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBook/transfercarUseBook', data)
+}
+export function dealcarUseBook (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBook/dealcarUseBook', data)
+}
+
+// 淇敼
+export function updateById (data) {
+  return request.post('/visitsAdmin/cloudService/business/carUseBook/updateById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/visitsAdmin/cloudService/business/carUseBook/delete/${id}`)
+}
+// 鏍规嵁ID鏌ヨ
+export function detail(id) {
+  return request.get(`/visitsAdmin/cloudService/business/carUseBook/${id}`)
+}
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+  return request.get('/visitsAdmin/cloudService/business/carUseBook/delete/batch', {
+    params: {
+      ids
+    }
+  })
+}
diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index f004feb..a59097c 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -13,8 +13,8 @@
             <div class="time">鎻愭姤鏃堕棿锛歿{model.createDate}}</div>
           </div>
           <div class="right" v-if="model.status==0">寰呭鐞�</div>
-          <div class="right" v-if="model.status==1">宸插鐞�</div>
-          <div class="right" v-if="model.status==2">宸叉挙閿�</div>
+          <div class="right"  style="background:#53b76f " v-if="model.status==1">宸插鐞�</div>
+          <div class="right" style="background:#dc362e "  v-if="model.status==2">宸查��鍥�</div>
         </div>
         <div class="info">
           <div class="title">闅愭偅鎻愭姤璇︽儏</div>
@@ -146,7 +146,7 @@
     <template   v-slot:footer>
       <el-button @click="isShowProblem = true"  type="primary"  v-if="model.status==0&& model.checkUserId == userInfo.memberId"  class="status-red">澶勭悊</el-button>
       <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">杞氦</el-button>
-      <el-button @click="backDo"  v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger"  >閫�鍥�</el-button>
+      <el-button @click="isBackProblem=true"  v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger"  >閫�鍥�</el-button>
       <el-button @click="visible=false">杩斿洖</el-button>
     </template>
 
@@ -186,8 +186,9 @@
         <el-form-item label="鏁存敼鏃堕棿" prop="checkDate">
           <el-date-picker
               class="w300"
-              type="date"
-              placeholder="閫夋嫨鏃ユ湡"
+              type="datetime"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              placeholder="閫夋嫨鏁存敼鏃堕棿"
               v-model="dealForm.checkDate"
           />
         </el-form-item>
@@ -220,16 +221,18 @@
     <el-dialog
         append-to-body
         title="闅愭偅閫�鍥�"
+
         class="dialogCl"
         :visible.sync="isBackProblem"
-        width="480px"
+        width="600px"
     >
       <el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px">
         <el-form-item label="閫�鍥炴椂闂�" prop="checkDate">
           <el-date-picker
               class="w300"
-              type="date"
-              placeholder="閫夋嫨鏃ユ湡"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              type="datetime"
+              placeholder="閫夋嫨閫�鍥炴椂闂�"
               v-model="backForm.checkDate"
           />
         </el-form-item>
@@ -303,10 +306,10 @@
       rulesBack: {
         checkDate: [
           { required: true, message: '璇烽�夋嫨閫�鍥炴椂闂�' }
-        ],
+        ]/*,
         dealBeforeFileList: [
           { required: true, message: '璇蜂笂浼犳暣鏀瑰墠鎯呭喌' }
-        ]
+        ]*/
       },
       memberList: [],
       transForm: {
@@ -345,8 +348,8 @@
           this.dealForm.dealAfterFileList.splice(index, 1)
         }
       } else if (type == 2) {
-        if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) {
-          this.backForm.dealAfterFileList.splice(index, 1)
+        if (this.backForm.dealBeforeFileList != null && this.backForm.dealBeforeFileList.length > index) {
+          this.backForm.dealBeforeFileList.splice(index, 1)
         }
       }
     },
@@ -356,10 +359,9 @@
           this.dealForm.dealBeforeFileList = []
         }
         this.dealForm.dealBeforeFileList.push({
-          id: this.model.id,
+          fileurl: e.imgaddr,
           url: e.url,
-          fileUrl: e.imgaddr,
-          fileName: e.originname,
+          name: e.originname,
           fileType: e.type
         })
       } else if (objType === 1) {
@@ -367,21 +369,19 @@
           this.dealForm.dealAfterFileList = []
         }
         this.dealForm.dealAfterFileList.push({
-          id: this.model.id,
-          fileUrl: e.imgaddr,
+          fileurl: e.imgaddr,
           url: e.url,
-          fileName: e.originname,
+          name: e.originname,
           fileType: e.type
         })
       } else if (objType === 2) {
-        if (this.backForm.dealAfterFileList == null) {
-          this.backForm.dealAfterFileList = []
+        if (this.backForm.dealBeforeFileList == null) {
+          this.backForm.dealBeforeFileList = []
         }
-        this.backForm.dealAfterFileList.push({
-          id: this.model.id,
-          fileUrl: e.imgaddr,
+        this.backForm.dealBeforeFileList.push({
+          fileurl: e.imgaddr,
           url: e.url,
-          fileName: e.originname,
+          name: e.originname,
           fileType: e.type
         })
       }
@@ -394,20 +394,20 @@
         }
         this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゆ彁浜よ闅愭偅澶勭悊鎯呭喌鍚楋紵')
           .then(() => {
-            this.transfering = true
+            this.dealing = true
             this.api.dealHiddenDanger({
               id: this.dataId,
               status: 1,
-              checkDate: this.dealForm.checkDate,
+              dealTime: this.dealForm.checkDate,
               checkInfo: this.dealForm.checkInfo,
               dealBeforeFileList: this.dealForm.dealBeforeFileList,
-              dealAfterFileList: this.dealForm.dealBeforeFileList
+              dealAfterFileList: this.dealForm.dealAfterFileList
             })
               .then(res => {
-                this.$tip.apiSuccess('杞氦鎴愬姛')
+                this.$tip.apiSuccess('澶勭悊鎴愬姛')
                 this.getDetail()
                 this.getLogList()
-                this.isShowTransfer = false
+                this.isShowProblem = false
               })
               .catch(e => {
               })
@@ -424,19 +424,19 @@
         }
         this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ら��鍥炶闅愭偅澶勭悊鎯呭喌鍚楋紵')
           .then(() => {
-            this.transfering = true
+            this.dealing = true
             this.api.dealHiddenDanger({
               id: this.dataId,
-              status: 0,
-              checkDate: this.backForm.checkDate,
+              status: 2,
+              dealTime: this.backForm.checkDate,
               checkInfo: this.backForm.checkInfo,
               dealBeforeFileList: this.backForm.dealBeforeFileList
             })
               .then(res => {
-                this.$tip.apiSuccess('杞氦鎴愬姛')
+                this.$tip.apiSuccess('閫�鍥炴垚鍔�')
                 this.getDetail()
                 this.getLogList()
-                this.isShowTransfer = false
+                this.isBackProblem = false
               })
               .catch(e => {
               })
@@ -692,7 +692,7 @@
           .icon2 {
             position: relative;
             z-index: 11;
-            color: red;
+            color: #dc362e;
             font-size: 24px;
           }
           .avatar {
diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue
index 2ba20b5..f7bca4b 100644
--- a/admin/src/views/operation/danger/record.vue
+++ b/admin/src/views/operation/danger/record.vue
@@ -6,10 +6,10 @@
         <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="鎻愭姤浜虹粍缁�" prop="companyName">
-        <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+        <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏�" clearable @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="闅愭偅鍖哄煙" prop="areaId">
-        <el-select v-model="searchForm.areaId" placeholder="璇烽�夋嫨闅愭偅鍖哄煙" @keypress.enter.native="search">
+        <el-select v-model="searchForm.areaId" placeholder="璇烽�夋嫨闅愭偅鍖哄煙" clearable  @change="search">
           <el-option
               v-for="item in areaList"
               :key="item.id"
@@ -19,13 +19,20 @@
         </el-select>
       </el-form-item>
       <el-form-item label="闅愭偅绫诲瀷" prop="cateId">
-        <el-select v-model="searchForm.cateId" placeholder="璇烽�夋嫨闅愭偅绫诲瀷" @keypress.enter.native="search">
+        <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">
           </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="status">
+        <el-select v-model="searchForm.status"  @change="search" clearable placeholder="鐘舵��">
+          <el-option label="寰呭鐞�" value="0"></el-option>
+          <el-option label="宸插鐞�" value="1"></el-option>
+          <el-option label="宸查��鍑�" value="2"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="鎻愭姤鏃堕棿" prop="startTime">
@@ -72,7 +79,7 @@
           <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>
+            <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>
@@ -117,7 +124,8 @@
         queryStartTime: '',
         queryEndTime: '',
         areaId: null,
-        cateId: null
+        cateId: null,
+        status:null
       },
       cateList: [],
       areaList: [],
diff --git a/admin/src/views/operation/serviceCar/apprRecord.vue b/admin/src/views/operation/serviceCar/apprRecord.vue
index 8b72d68..c4974cf 100644
--- a/admin/src/views/operation/serviceCar/apprRecord.vue
+++ b/admin/src/views/operation/serviceCar/apprRecord.vue
@@ -1,135 +1,206 @@
 <template>
-  <div class="main_app">
-    <QueryForm
-      v-model="filters"
-      :query-form-config="queryFormConfig"
-      @handleQuery="getList(1)"
-      @clear="clear"
-    />
-    <el-table v-loading="loading" :data="list" stripe>
-      <el-table-column
-        prop="name"
-        label="鐢宠浜�"
-        min-width="100"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="缁勭粐"
-        min-width="100"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="杞︾墝鐓�"
-        min-width="100"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鐢ㄨ溅鏃堕棿"
-        min-width="80"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鍑哄彂鏃堕棿"
-        min-width="100"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鐩殑鍦扮被鍒�"
-        min-width="110"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鐩殑鍦�"
-        min-width="100"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鐢宠鐘舵��"
-        min-width="80"
-        show-overflow-tooltip
-      />
-      <el-table-column
-        prop="name"
-        label="鎿嶄綔"
-        min-width="80"
-        show-overflow-tooltip
+  <TableLayout :permissions="['business:empower:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="鐢宠浜�" prop="memberName">
+        <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鐢宠浜虹粍缁�" prop="companyName">
+        <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ敵璇蜂汉缁勭粐" clearable @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="杞︾墝鍙�" prop="carCode">
+        <el-input v-model="searchForm.carCode" placeholder="璇疯緭鍏ヨ溅鐗屽彿" clearable @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="status">
+        <el-select v-model="searchForm.status"  @change="search" clearable placeholder="鐘舵��">
+          <el-option label="鐢宠涓�" value="0"></el-option>
+          <el-option label="瀹℃牳涓�" value="1"></el-option>
+          <el-option label="瀹℃壒閫氳繃" value="2"></el-option>
+          <el-option label="瀹℃壒涓嶉�氳繃" value="3"></el-option>
+          <el-option label="宸插彇娑�" value="4"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐩殑鍦扮被鍨�" prop="type">
+        <el-select v-model="searchForm.type"  @change="search" clearable placeholder="鐩殑鍦扮被鍨�">
+          <el-option label="甯傚唴鐢ㄨ溅" value="0"></el-option>
+          <el-option label="甯傚鐢ㄨ溅" value="1"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鍑哄彂鏃堕棿" prop="startTime">
+        <el-date-picker
+            @change="seleTime"
+            v-model="time"
+            @keypress.enter.native="search"
+            type="datetimerange"
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡">
+        </el-date-picker>
+      </el-form-item>
+      <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+        <el-radio-button label="0">褰撳ぉ</el-radio-button>
+        <el-radio-button label="1">杩�7澶�</el-radio-button>
+        <el-radio-button label="2">杩�30澶�</el-radio-button>
+      </el-radio-group>
+      <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:empower:create', 'business:empower:delete']">
+        <!--<li><el-button type="primary" v-permissions="['business:empower:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li> -->
+      </ul>
+      <el-table
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          stripe
+          @selection-change="handleSelectionChange"
       >
-        <template>
-          <el-button type="text">鏌ョ湅璇︽儏</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <pagination
-      @size-change="handleSizeChange"
-      @current-change="getList"
-      :pagination="pagination"
-    />
-  </div>
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column>
+        <el-table-column prop="companyName" label="鎵�灞炵粍缁�" min-width="150px"></el-table-column>
+        <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+        <el-table-column label="鐢ㄨ溅鏃堕棿" min-width="170px">
+          <template slot-scope="{row}">
+                <span>璧�:{{row.startTime || ''}}</span><br>
+                <span>姝�:{{row.endTime  || ''}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="planUseDate" label="鍑哄彂鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column label="鐩殑鍦扮被鍨�" min-width="100px">
+          <template slot-scope="{row}">
+            <span class="status-green" v-if="row.type === 0">甯傚唴鐢ㄨ溅</span>
+            <span class="status-red"   v-if="row.type === 1">甯傚鐢ㄨ溅</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="addr" label="鐩殑鍦�" min-width="200px"></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-blue"  v-if="row.status === 1">寰呭鎵�</span>
+            <span class="status-green" v-if="row.status === 2">瀹℃壒閫氳繃</span>
+            <span class="status-red"   v-if="row.status === 3">瀹℃壒涓嶉�氳繃</span>
+            <span class="status-red"   v-if="row.status === 4">宸插彇娑�</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="createDate" label="鐢宠鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column
+            label="鎿嶄綔"
+            min-width="100"
+            align="center"
+            fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerWindow.open('闅愭偅闅忔墜鎷嶈鎯�',row)" >鏌ョ湅璇︽儏</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+          @size-change="handleSizeChange"
+          @current-change="handlePageChange"
+          :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange"/>
+  </TableLayout>
 </template>
 
 <script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
-import QueryForm from '@/components/common/QueryForm'
+import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow'
+import { timeForMat } from '@/utils/util'
+import { allList } from '@/api/business/hiddenDangerParam'
 export default {
-  components: {
-    Pagination,
-    QueryForm
-  },
+  name: 'Empower',
+  extends: BaseTable,
+  components: { TableLayout, Pagination ,OperaHiddenDangerWindow},
   data () {
     return {
-      filters: {},
-      loading: false,
-      queryFormConfig: {
-        formItems: [
-          {
-            filed: 'name',
-            type: 'input',
-            label: '鐢宠浜哄鍚�'
-          },
-          {
-            filed: 'idCard',
-            type: 'input',
-            label: '杞︾墝鐓�'
-          },
-          {
-            filed: 'name',
-            type: 'select',
-            label: '鐩殑鍦扮被鍒�',
-            options: []
-          },
-          {
-            filed: 'name',
-            type: 'datetimerange',
-            label: '鍑哄彂鏃堕棿',
-            options: []
-          }
-        ],
-        online: true
+      // 鎼滅储
+      searchForm: {
+        memberName: '',
+        companyName: '',
+        queryStartTime: '',
+        queryEndTime: '',
+        type: null,
+        status:null
       },
-      pagination: {
-        capacity: 10,
-        page: 1
-      },
-      list: [],
-      total: 0
+      cateList: [],
+      areaList: [],
+      time: []
     }
   },
+  created () {
+    this.config({
+      module: '鐢ㄨ溅鐢宠绠$悊',
+      api: '/business/carUseBook',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    // this.search()
+    this.changeRadio('0')
+    this.loadParams()
+  },
   methods: {
-    getList (page) { },
-    clear () { },
-    handleSizeChange (capacity) {
-      this.pagination.capacity = capacity
+    changeRadio (e) {
+      this.searchForm.radio = e
+      if (e === '0') {
+        this.searchForm.queryStartTime = timeForMat(0)[0]
+        this.searchForm.queryEndTime = timeForMat(0)[1]
+        this.time = timeForMat(0)
+      } else if (e === '1') {
+        this.searchForm.queryStartTime = timeForMat(6)[0]
+        this.searchForm.queryEndTime = timeForMat(6)[1]
+        this.time = timeForMat(6)
+      } else if (e === '2') {
+        this.searchForm.queryStartTime = timeForMat(29)[0]
+        this.searchForm.queryEndTime = timeForMat(29)[1]
+        this.time = timeForMat(29)
+      }
+      this.search()
+    },
+    loadParams () {
+      allList({
+      })
+          .then(res => {
+            if (res != null && res.length) {
+              res.forEach(item => {
+                if (item && item.type != null && item.type === 0) {
+                  this.areaList.push(item)
+                }
+                if (item && item.type != null && item.type === 1) {
+                  this.cateList.push(item)
+                }
+              })
+            }
+          })
+          .catch(e => {
+            // this.$tip.apiFailed(e)
+          })
+          .finally(() => {
+          })
+    },
+    seleTime (e) {
+      this.searchForm.queryStartTime = e[0]
+      this.searchForm.queryEndTime = e[1]
+      this.searchForm.radio = null
+      this.search()
+    },
+    reset () {
+      this.$refs.searchForm.resetFields()
+      this.searchForm.radio = '0'
+      this.changeRadio('0')
+      // this.search()
     }
   }
 }
 </script>
-
-<style>
-</style>
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 9271ca9..d89fc2d 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -299,14 +299,6 @@
          int invalid =9;
     }
 
-    public interface multifileObjType{
-        //0闅愭偅鐜板満鎯呭喌 1闅愭偅澶勭悊鍓嶆儏鍐� 2闅愭偅澶勭悊鍚庢儏鍐� 3闅愭偅閫�鍥炶鏄�
-        int zero = 0;
-        int one = 1;
-        int two = 2;
-        int three = 3;
-    }
-
 
     public interface EmpowerStatus{
         //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛   3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java
index c13a8fc..6b5e635 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java
@@ -3,10 +3,13 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.system.model.Multifile;
 
+import java.util.List;
+
 /**
  * @author 姹熻箘韫�
  * @date 2023/05/04 18:18
  */
 public interface MultifileMapper extends BaseMapper<Multifile> {
 
+    void insertBatchSomeColumn(List<Multifile> fileList);
 }
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 8112d11..0f9ed9a 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
@@ -84,7 +84,7 @@
 
     @ApiModelProperty(value = "澶勭悊璇存槑")
     @ExcelColumn(name="澶勭悊璇存槑")
-    private String checklInfo;
+    private String checkInfo;
 
     @ApiModelProperty(value = "澶勭悊浜虹紪鐮侊紙鍏宠仈member)", example = "1")
     @ExcelColumn(name="澶勭悊浜虹紪鐮侊紙鍏宠仈member)")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index f875670..04afebc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -165,11 +165,11 @@
         queryWrapper.select("t1.name",CarUseBook::getMemberName);
         queryWrapper.select("t1.phone",CarUseBook::getMemberPhone);
         queryWrapper.select("t2.name",CarUseBook::getDriverName);
-        queryWrapper.select("t3.phone",CarUseBook::getDriverPhone);
+        queryWrapper.select("t2.phone",CarUseBook::getDriverPhone);
         queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
-                .leftJoin("company t4 on t1.company_id=t4.id")
                 .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
+                .leftJoin("company t4 on t1.company_id=t4.id")
                 .eq(CarUseBook::getId,id)
                 .last("limit 1"  );
         CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper);
@@ -203,11 +203,11 @@
         queryWrapper.select("t1.name",CarUseBook::getMemberName);
         queryWrapper.select("t1.phone",CarUseBook::getMemberPhone);
         queryWrapper.select("t2.name",CarUseBook::getDriverName);
-        queryWrapper.select("t3.phone",CarUseBook::getDriverPhone);
+        queryWrapper.select("t2.phone",CarUseBook::getDriverPhone);
         queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
-                    .leftJoin("company t4 on t1.company_id=t4.id")
-                    .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId);
+                    .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
+                    .leftJoin("company t4 on t1.company_id=t4.id");
         queryWrapper
                 .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator())
@@ -243,6 +243,7 @@
                 .eq(pageWrap.getModel().getAddr() != null, CarUseBook::getAddr, pageWrap.getModel().getAddr())
                 .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId())
                 .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId())
+                .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'")
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()),
                         i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59"))
                         .or()
@@ -254,8 +255,8 @@
                 )
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                         .or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
-                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
-                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
+                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime())
+                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime())
                 .orderByDesc(Visits::getCreateDate)
         ;
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
index 312a77c..5d5b729 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
@@ -126,14 +126,14 @@
             if(Objects.isNull(hiddenDanger)){
                 return null;
             }
-            HiddenDangerLog newBean = new HiddenDangerLog();
-            newBean.setCreateUserName("-");
-            newBean.setCompanyName("-");
-            newBean.setTitle("闅愭偅澶勭悊");
-            newBean.setAvatar("-");
-
             if(hiddenDanger.getStatus().equals(Constants.ZERO)){
                 //涓嬩竴姝ュ鐞嗕汉
+                HiddenDangerLog newBean = new HiddenDangerLog();
+                newBean.setCreateUserName("-");
+                newBean.setCompanyName("-");
+                newBean.setTitle("闅愭偅澶勭悊");
+                newBean.setAvatar("-");
+
                 SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
                 if(Objects.nonNull(systemUser)){
                     newBean.setCreateUserName(systemUser.getRealname());
@@ -143,8 +143,8 @@
                         newBean.setCompanyName(company.getCompanyNamePath());
                     }
                 }
+                hiddenDangerLogList.add(newBean);
             }
-            hiddenDangerLogList.add(newBean);
 
             String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
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 c3c58f0..a59e7e3 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
@@ -104,7 +104,7 @@
                 multifile.setCreator(hiddenDanger.getCreator());
                 multifile.setIsdeleted(Constants.ZERO);
                 multifile.setObjId(hiddenDanger.getId());
-                multifile.setObjType(Constants.multifileObjType.zero);
+                multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey());
                 multifile.setSortnum(i+1);
                 multifileMapper.insert(multifile);
             }
@@ -260,7 +260,7 @@
                 .eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId())
                 .ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()))
                 .le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()))
-                .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo())
+                .eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo())
                 .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId())
                 .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName())
 
@@ -291,12 +291,31 @@
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void dealHiddenDanger(HiddenDanger hiddenDanger){
+        isParamValid(hiddenDanger);
+        dealFileBiz(hiddenDanger);
+        hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
+        hiddenDanger.setEditDate(new Date());
+        hiddenDanger.setCheckDate(hiddenDanger.getEditDate());
+        hiddenDangerMapper.updateById(hiddenDanger);
+        //瀛樺偍 鎿嶄綔鏃ュ織
+        HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
+        hiddenDangerLog.setIsdeleted(Constants.ZERO);
+        hiddenDangerLog.setCreateDate(new Date());
+        hiddenDangerLog.setCreator(hiddenDanger.getEditor());
+        hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
+        hiddenDangerLog.setContent(hiddenDanger.getCheckInfo());
+        hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�");
+        hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO);
+        hiddenDangerLogMapper.insert(hiddenDangerLog);
+    }
+
+    private void isParamValid(HiddenDanger hiddenDanger) {
         if(Objects.isNull(hiddenDanger)
-            || Objects.isNull(hiddenDanger.getId())
-            || Objects.isNull(hiddenDanger.getDealTime())
-            || Objects.isNull(hiddenDanger.getLoginUserInfo())
-            || Objects.isNull(hiddenDanger.getStatus())
-            ){
+                || Objects.isNull(hiddenDanger.getId())
+                || Objects.isNull(hiddenDanger.getDealTime())
+                || Objects.isNull(hiddenDanger.getLoginUserInfo())
+                || Objects.isNull(hiddenDanger.getStatus())
+        ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
@@ -306,53 +325,66 @@
         if (!model.getStatus().equals(Constants.ZERO)) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!");
         }
-        if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) {
+        if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�");
         }
         if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇紒");
         }
-        //鏁存敼鍓嶆枃浠�
+    }
+
+    private void dealFileBiz(HiddenDanger hiddenDanger) {//鏁存敼鍓嶆枃浠�
         List<Multifile> beforList = hiddenDanger.getDealBeforeFileList();
+        List<Multifile> fileList = new ArrayList<>();
+
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){
+            boolean isTrue = false;
             for (int i = 0; i < beforList.size(); i++) {
                 Multifile multifile = beforList.get(i);
+                if(StringUtils.isBlank(multifile.getFileurl())){
+                    continue;
+                }
                 multifile.setCreateDate(new Date());
                 multifile.setCreator(hiddenDanger.getEditor());
                 multifile.setIsdeleted(Constants.ZERO);
                 multifile.setObjId(hiddenDanger.getId());
-                multifile.setObjType(Constants.multifileObjType.one);
+                multifile.setCreator(hiddenDanger.getLoginUserInfo().getId());
+                multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey());
                 multifile.setSortnum(i+1);
-                multifileMapper.insert(multifile);
+                fileList.add(multifile);
+                isTrue=true;
+            }
+            if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁");
             }
         }
         if(hiddenDanger.getStatus().equals(Constants.ONE)){
+            boolean isTrue = false;
             List<Multifile> afterList = hiddenDanger.getDealAfterFileList();
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){
                 for (int i = 0; i < afterList.size(); i++) {
                     Multifile multifile = afterList.get(i);
+                    if(StringUtils.isBlank(multifile.getFileurl())){
+                        continue;
+                    }
                     multifile.setCreateDate(new Date());
                     multifile.setCreator(hiddenDanger.getEditor());
                     multifile.setIsdeleted(Constants.ZERO);
+                    multifile.setCreator(hiddenDanger.getLoginUserInfo().getId());
                     multifile.setObjId(hiddenDanger.getId());
-                    multifile.setObjType(Constants.multifileObjType.two);
+                    multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey());
                     multifile.setSortnum(i+1);
-                    multifileMapper.insert(multifile);
+                    fileList.add(multifile);
+                    isTrue = true;
                 }
             }
+            if(isTrue){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁");
+            }
         }
-        hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
-        hiddenDanger.setEditDate(new Date());
-        hiddenDangerMapper.updateById(hiddenDanger);
-        //瀛樺偍 鎿嶄綔鏃ュ織
-        HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
-        hiddenDangerLog.setIsdeleted(Constants.ZERO);
-        hiddenDangerLog.setCreateDate(new Date());
-        hiddenDangerLog.setCreator(hiddenDanger.getCreator());
-        hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
-        hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�");
-        hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO);
-        hiddenDangerLogMapper.insert(hiddenDangerLog);
+        if(fileList.size()>0){
+            multifileMapper.insertBatchSomeColumn(fileList);
+        }
     }
 
 

--
Gitblit v1.9.3