From ac0dd084332a6fad4ff7dc15ed4f8984d611a91f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 三月 2025 15:39:52 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/views/business/reportRecord.vue                                                           |   28 ++++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |    1 
 admin/src/api/business/visits.js                                                                    |    3 +
 admin/src/components/business/OperaVisitreasonWindow.vue                                            |   14 ++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java   |   13 ++++
 admin/src/views/business/visits.vue                                                                 |   17 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |    2 
 admin/src/router/index.js                                                                           |   17 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java              |    3 +
 admin/src/views/business/visitOrigin.vue                                                            |   24 ++++++++
 10 files changed, 101 insertions(+), 21 deletions(-)

diff --git a/admin/src/api/business/visits.js b/admin/src/api/business/visits.js
index 805d0db..2fc4845 100644
--- a/admin/src/api/business/visits.js
+++ b/admin/src/api/business/visits.js
@@ -68,3 +68,6 @@
 export function visitResend (visitId) {
   return request.get(`/visitsAdmin/cloudService/business/visits/visitResend?visitId=${visitId}`)
 }
+export function visitsCancel (visitId) {
+  return request.get(`/visitsAdmin/cloudService/business/visits/visitsCancel?visitId=${visitId}`)
+}
diff --git a/admin/src/components/business/OperaVisitreasonWindow.vue b/admin/src/components/business/OperaVisitreasonWindow.vue
index 68d019c..4c4ceb1 100644
--- a/admin/src/components/business/OperaVisitreasonWindow.vue
+++ b/admin/src/components/business/OperaVisitreasonWindow.vue
@@ -10,6 +10,17 @@
           <el-form-item label="浜嬬敱" prop="title">
             <el-input v-model="form.title" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
           </el-form-item>
+          <el-form-item label="鏄惁鏂藉伐浣滀笟" prop="constructionType">
+              <el-switch
+                  style="width: 200px"
+                  active-color="#13ce66"
+                  inactive-color="#ff4949"
+                  v-model="form.constructionType"
+                  :active-value="1"
+                  :inactive-value="0"
+              >
+              </el-switch>
+          </el-form-item>
           <el-form-item label="鎺掑簭鐮�(鍗囧簭)" prop="sortnum">
             <el-input v-model="form.sortnum" type="number" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
           </el-form-item>
@@ -31,7 +42,8 @@
       form: {
         id: null,
         title: null,
-        sortnum: null
+        sortnum: null,
+        constructionType: 0
       },
       // 楠岃瘉瑙勫垯
       rules: {
diff --git a/admin/src/router/index.js b/admin/src/router/index.js
index 3f3c68d..3d06d31 100644
--- a/admin/src/router/index.js
+++ b/admin/src/router/index.js
@@ -99,17 +99,22 @@
 })
 
 router.afterEach((to, from, failure) => {
-  setTimeout(function () { computeTableHeightIndex() }, 1000)
-  window.addEventListener('resize', computeTableHeightIndex())
+  setTimeout(function () {
+    computeTableHeightIndex()
+    window.addEventListener('resize', function(){
+      computeTableHeightIndex()}
+    )
+  }, 1000)
+
 })
 function computeTableHeightIndex () {
   const height = window.innerHeight
-  console.log('beforeEach========================锛�' + height)
+  // console.log('beforeEach========================锛�' + height)
   const height13 = getEleHeghtByClassName('common-header', 0)
   const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
   const height5 = document.getElementsByTagName('thead') && document.getElementsByTagName('thead')[0] ? document.getElementsByTagName('thead')[0].clientHeight : 0
   if (document.getElementsByClassName('main_app') && document.getElementsByClassName('main_app')[0]) {
-    console.log('main_app========================')
+    // console.log('main_app========================')
     // alert(height)
     const height3 = getEleHeghtByClassName('main-header', 0)
     const height2 = getEleHeghtByClassName('toolbar', 0)
@@ -122,7 +127,7 @@
     router.app.$store.commit('setTableHeightNew', height -10 - height2 - height3 - height4 - height5 - height6 - height7 - height9 - height10 - height11 - height12 - height13)
     console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
   } else {
-    console.log('tableLayout========================')
+    // console.log('tableLayout========================')
     const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
     const height3 = getEleHeghtByClassName('main-header', 0)
     // const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
@@ -137,7 +142,7 @@
   if ((document.getElementsByClassName(name) && document.getElementsByClassName(name)[0])) {
     let t = 0
     document.getElementsByClassName(name).forEach(e => {
-      console.log(name + '========================' + t + ':' + e.clientHeight)
+      // console.log(name + '========================' + t + ':' + e.clientHeight)
       t++
     })
     return document.getElementsByClassName(name)[document.getElementsByClassName(name).length - 1].clientHeight + (margin || 0)
diff --git a/admin/src/views/business/reportRecord.vue b/admin/src/views/business/reportRecord.vue
index 53cc989..9a6fb47 100644
--- a/admin/src/views/business/reportRecord.vue
+++ b/admin/src/views/business/reportRecord.vue
@@ -82,13 +82,14 @@
           <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span>
         </template>
       </el-table-column>
-      <el-table-column label="鎿嶄綔" align="center" width="180" fixed="right">
+      <el-table-column label="鎿嶄綔" align="center" width="240" fixed="right">
         <template slot-scope="{ row }">
           <el-button
             type="text"
             @click="handleDetail(row)"
             v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button>
           <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">鍒犻櫎</el-button>
+          <el-button type="text" @click="cancel(row.id)"   v-permissions="['business:visits:cancel']"  v-if="(row.status == 0 || row.status == 1 || row.status == 2|| row.status == 5)"  icon="el-icon-delete" style="color: red"  >鍙栨秷棰勭害</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -108,10 +109,11 @@
 // import ReportDetail from './page-components/ReportDetail.vue'
 import ReportDetail from '@/views/task/visReportDetail.vue'
 import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue'
-import { fetchList, exportExcel, deleteById } from '@/api/business/visits'
-import BaseComputHeight from "@/components/base/BaseComputHeight";
+import { fetchList, exportExcel, deleteById ,visitsCancel} from '@/api/business/visits'
+import BasePage from '@/components/base/BasePage'
+import {mapState } from "vuex";
 export default {
-  extends: BaseComputHeight,
+  extends: BasePage,
   components: {
     ReportDetail,
     QueryForm,
@@ -157,10 +159,28 @@
       total: 0
     }
   },
+  computed: {
+    ...mapState(['userInfo'])
+  },
   created () {
     this.getList()
   },
   methods: {
+    cancel (id) {
+      this.$confirm('纭畾鍙栨秷棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        visitsCancel(id)
+          .then(res => {
+            this.pagination.page = 1
+            this.getList()
+          })
+      }).catch(() => {
+
+      })
+    },
     exportExcel () {
       this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
         .then(() => {
diff --git a/admin/src/views/business/visitOrigin.vue b/admin/src/views/business/visitOrigin.vue
index 851b467..e4cf204 100644
--- a/admin/src/views/business/visitOrigin.vue
+++ b/admin/src/views/business/visitOrigin.vue
@@ -25,6 +25,13 @@
       >
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="title" label="鎷滆浜嬬敱" min-width="200px"></el-table-column>
+        <el-table-column prop="constructionType" label="鏄惁鏂藉伐浣滀笟" min-width="200px">
+            <template slot-scope="{row}">
+              <el-switch @change="changeType($event, row)" v-model="row.constructionType" active-color="#13ce66"
+                         inactive-color="#ff4949" :active-value="1" :inactive-value="0">
+              </el-switch>
+            </template>
+          </el-table-column>
         <el-table-column prop="sortnum" label="鎺掑簭鐮�"  min-width="100px"></el-table-column>
         <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="200px"></el-table-column>
         <el-table-column
@@ -56,12 +63,14 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaVisitreasonWindow from '@/components/business/OperaVisitreasonWindow'
+import { updateWorkStatus } from '@/api/business/member'
 export default {
   name: 'areaSet',
   extends: BaseTable,
   components: { TableLayout, Pagination, OperaVisitreasonWindow },
   data () {
     return {
+      working: false,
       // 鎼滅储
       searchForm: {
         title: ''
@@ -78,6 +87,21 @@
     this.search()
   },
   methods: {
+    changeType (e, row) {
+      this.working = true
+      this.api.updateById({ id: row.id, constructionType: e })
+        .then(res => {
+          this.$tip.apiSuccess(res || '鎿嶄綔鎴愬姛')
+          this.search()
+        })
+        .catch(e => {
+          this.$tip.apiFailed(e)
+        })
+        .finally(() => {
+          this.working = false
+        })
+        .catch(() => { })
+    }
   }
 }
 </script>
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index 2bf9f22..2282edb 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -91,13 +91,12 @@
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="涓嬪彂澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="鎿嶄綔"
+        <el-table-column   label="鎿嶄綔"
           min-width="200" fixed="right">
           <template slot-scope="{row}">
-            <!--           <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']"
-                      icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button>-->
-            <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button>
             <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">璇︽儏</el-button>
+            <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button>
+            <el-button type="text" @click="cancel(row.id)"   v-permissions="['business:visits:cancel']"  v-if="(row.status == 0 || row.status == 1 || row.status == 2|| row.status == 5)"  icon="el-icon-delete" style="color: red"  >鍙栨秷棰勭害</el-button>
             <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲満</el-button>
             <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">鍒犻櫎</el-button>
           </template>
@@ -121,6 +120,7 @@
 import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow'
 import OperaVisitsWindow from '@/components/business/operaVisitsWindow'
 import TaskDetail from '@/views/task/visSubDetail.vue'
+import {mapState} from "vuex";
 
 export default {
   name: 'Visits',
@@ -140,7 +140,10 @@
       }
     }
   },
-  created() {
+  computed: {
+    ...mapState(['userInfo'])
+  },
+  created () {
     this.config({
       module: '璁垮鐢宠淇℃伅琛�',
       api: '/business/visits',
@@ -187,13 +190,13 @@
 
       })
     },
-    cancel(id) {
+    cancel( id) {
       this.$confirm('纭畾鍙栨秷棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        this.api.visitCancel(id)
+        this.api.visitsCancel(id)
           .then(res => {
             this.page = 1
             this.search()
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
index 1f1cf88..6ba9c98 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.admin.response;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -61,4 +62,6 @@
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @ExcelColumn(name="鍒涘缓鏃堕棿")
     private Date createDate;
+    @ApiModelProperty(value = "杞︿富鏄惁鍒犻櫎", example = "1")
+    private Integer memberDeleted;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index 2c5ced4..e380400 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -367,6 +367,7 @@
         queryWrapper.selectAll(Cars.class);
         queryWrapper.selectAs(Member::getType,Cars::getMemberType);
         queryWrapper.selectAs(Member::getName,Cars::getMemberName);
+        queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted);
         queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName);
         queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
         queryWrapper.selectAs(Member::getSex,Cars::getMemberSex);
@@ -423,6 +424,9 @@
                     cars.setGroupCateName(StringUtils.defaultString(cars.getCatePName(),"") + "/" + StringUtils.defaultString(cars.getCateName(),""));
                 }
                cars.setParkBookList(getParkbookListByCode(cars,parkBooks));
+                if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){
+                    cars.setMemberId(null);
+                }
             }
         }
         return PageData.from(result);
@@ -460,6 +464,7 @@
                 .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
         wrapper.selectAs(ParkBook::getCarCode,CarsDTO::getCode)
                 .selectAs(ParkBook::getParkId,CarsDTO::getParkId)
+                .selectAs(Member::getIsdeleted,CarsDTO::getMemberDeleted)
                 .selectAs(ParkBook::getRemark,CarsDTO::getRemark)
                 .selectAs(Parks::getName,CarsDTO::getParkName)
                 .selectAs(ParkBook::getMemberId,CarsDTO::getMemberId)
@@ -472,7 +477,13 @@
                 .selectAs(ParkBook::getCreateDate,CarsDTO::getCreateDate);
         wrapper.orderByDesc(ParkBook::getCreateDate);
         IPage<CarsDTO> carsDTOIPage = parkBookJoinMapper.selectJoinPage(page, CarsDTO.class, wrapper);
-
+        if(carsDTOIPage!=null && carsDTOIPage.getRecords()!=null && carsDTOIPage.getRecords().size()>0){
+            for(CarsDTO cars :carsDTOIPage.getRecords()){
+                if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){
+                    cars.setMemberId(null);
+                }
+            }
+        }
         return PageData.from(carsDTOIPage);
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 7e673c7..6f0f506 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -615,6 +615,7 @@
                    carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
                            .eq(Cars::getId,car.getId())
                            .set(Cars::getStartTime,null)
+//                           .set(Cars::getMemberId,null)
                            .set(Cars::getEndTime,null)
                            .set(Cars::getAuthTimeType,null)
                            .set(Cars::getAuthStatus,Constants.ZERO)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 28ecd53..91c61aa 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1958,6 +1958,4 @@
                         .eq(Notices::getObjType,Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
         );
     }
-
-
 }

--
Gitblit v1.9.3