From 351ef2827d05262218d1e4275535d6d1e8af26c1 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 24 五月 2024 18:15:17 +0800
Subject: [PATCH] 最新版本

---
 admin/src/components/business/OperaCarAuthWindow.vue    |  176 ++++++++++++++++++++++++++++++++++++++++++++
 admin/src/views/business/internalCompany.vue            |    2 
 admin/src/api/business/parkBook.js                      |    5 +
 admin/src/assets/style/style.scss                       |    2 
 admin/src/api/business/cars.js                          |    4 
 admin/src/components/business/OperaMemberRoleWindow.vue |    4 
 admin/src/views/business/internalMember.vue             |   10 +-
 admin/src/views/vehicle/parkBook.vue                    |    6 
 8 files changed, 194 insertions(+), 15 deletions(-)

diff --git a/admin/src/api/business/cars.js b/admin/src/api/business/cars.js
index 648da57..ca31faf 100644
--- a/admin/src/api/business/cars.js
+++ b/admin/src/api/business/cars.js
@@ -23,12 +23,12 @@
 
 // 鍒犻櫎
 export function deleteById (id) {
-  return request.get(`/business/cars/delete/${id}`)
+  return request.get(`/visitsAdmin/cloudService/business/cars/delete/${id}`)
 }
 
 // 鎵归噺鍒犻櫎
 export function deleteByIdInBatch (ids) {
-  return request.get('/business/cars/delete/batch', {
+  return request.get('/visitsAdmin/cloudService/business/cars/delete/batch', {
     params: {
       ids
     }
diff --git a/admin/src/api/business/parkBook.js b/admin/src/api/business/parkBook.js
index e96e725..4cec4a2 100644
--- a/admin/src/api/business/parkBook.js
+++ b/admin/src/api/business/parkBook.js
@@ -11,6 +11,9 @@
 export function create (data) {
   return request.post('/visitsAdmin/cloudService/business/parkBook/create', data)
 }
+export function batchAuth (data) {
+  return request.post('/visitsAdmin/cloudService/business/parkBook/batchAuth', data)
+}
 
 // 淇敼
 export function updateById (data) {
@@ -23,7 +26,7 @@
 
 // 鍒犻櫎
 export function deleteById (id) {
-  return request.get(`/business/parkBook/delete/${id}`)
+  return request.get(`/visitsAdmin/cloudService/business/parkBook/delete/${id}`)
 }
 
 // 鎵归噺鍒犻櫎
diff --git a/admin/src/assets/style/style.scss b/admin/src/assets/style/style.scss
index d3e05e1..533b4b1 100644
--- a/admin/src/assets/style/style.scss
+++ b/admin/src/assets/style/style.scss
@@ -115,7 +115,7 @@
   }
 }
 .tip-warn {
-  margin: 4px 0 12px 0;
+  margin: 4px 0 25px 0;
   font-size: 12px;
   color: #999;
   i {
diff --git a/admin/src/components/business/OperaCarAuthWindow.vue b/admin/src/components/business/OperaCarAuthWindow.vue
index e69de29..5cee43c 100644
--- a/admin/src/components/business/OperaCarAuthWindow.vue
+++ b/admin/src/components/business/OperaCarAuthWindow.vue
@@ -0,0 +1,176 @@
+<template>
+  <GlobalWindow
+      :title="title"
+      width="800px"
+      :visible.sync="visible"
+      :confirm-working="isWorking"
+      @confirm="confirm"
+  >
+    <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛�<br>
+      1.杞﹁締鏉冮檺閰嶇疆鎴愬姛鍚庯紝鎺堟潈浠诲姟鍗宠繘鍏ユ潈闄愪笅鍙戦槦鍒楋紝鍙墠寰�銆愯溅杈嗘巿鏉冪敵璇疯褰曘�戞煡鐪嬩笅鍙戣繘搴�;<br>
+      2.濡傛灉闇�瑕佹竻绌哄綋鍓嶉�変腑浜哄憳涓嬪彂鏉冮檺锛屼互涓嬨�愭巿鏉冨仠杞﹀満銆戜负绌烘彁浜ゅ嵆鍙��
+    </p>
+    <p class="tip" v-if="form.codes != null">姝e湪涓�<em>銆恵{ form.codes.map(item => `${item}`).join('锛�') }}銆�</em> 閰嶇疆鍋滆溅鍦烘潈闄�</p>
+      <el-form :model="form" ref="form" :rules="rules">
+        <el-form-item label="鎺堟潈鏈夋晥鏈燂細" prop="authTimeType" >
+          <el-radio-group v-model="form.authTimeType">
+            <el-radio :label="0">闀挎湡鏈夋晥</el-radio>
+            <el-radio :label="1">鑷畾涔夋椂闂�</el-radio>
+            <el-radio :label="2">璺熼殢杞︿富</el-radio>
+          </el-radio-group>
+          <div v-if="form.authTimeType ==1" style="margin-top: 10px" >
+            <el-date-picker
+                @change="seleTime"
+                v-model="time"
+                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>
+          </div>
+        </el-form-item>
+        <el-form-item label="閫夋嫨鍋滆溅搴�" prop="parkIdList">
+          <el-select multiple v-model="form.parkIdList" filterable placeholder="璇烽�夋嫨" clearable>
+            <el-option
+                v-for="item in parks"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { findList } from '@/api/business/parks'
+export default {
+  name: 'OperaCarsWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    var validateTime = (rule, value, callback) => {
+      if (this.form.authTimeType == null) {
+        callback(new Error('璇峰~鍐欐纭殑鎺堟潈鏈夋晥鏈熸椂闂�'))
+        return
+      }
+      if (this.form.authTimeType === 1 && (this.form.startTime == null || this.form.endTime == null)) {
+        callback(new Error('璇峰~鍐欐纭殑鎺堟潈鏈夋晥鏈熸椂闂�'))
+        return
+      }
+      callback()
+    }
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        ids: [],
+        codes: [],
+        authTimeType: 0,
+        startTime: null,
+        endTime: null,
+        parkIdList: []
+      },
+      time: null,
+      parks: [],
+      // 楠岃瘉瑙勫垯
+      rules: {
+        authTimeType: [
+          { required: true, validator: validateTime, message: '璇烽�変腑闂ㄧ鏈夋晥鏈�' }
+        ]
+
+      },
+      options: []
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/parkBook',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    confirm () {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        if (this.form.parkIdList == null || this.form.parkIdList.length === 0) {
+          this.$dialog.actionConfirm('鎺堟潈鍋滆溅搴撲负绌猴紝鎻愪氦鍚庡嵆娓呴櫎鎵�閫夎溅杈嗗凡鍒嗛厤鐨勫叏閮ㄦ潈闄�,璇疯皑鎱庢搷浣滐紒', '鎮ㄧ‘璁よ繘琛岃鎿嶄綔鍚楋紵')
+            .then(() => {
+              this.confirmDo()
+            })
+            .catch(() => {})
+        } else {
+          this.confirmDo()
+        }
+      })
+    },
+    confirmDo () {
+      // 璋冪敤鏂板缓鎺ュ彛
+      this.isWorking = true
+      this.api.batchAuth({
+        idList: this.form.ids,
+        authTimeType: this.form.authTimeType,
+        startTime: this.form.startTime,
+        endTime: this.form.endTime,
+        parkIdList: this.form.parkIdList
+      })
+        .then(() => {
+          this.visible = false
+          this.$tip.apiSuccess('鎺堟潈鎴愬姛,鍙墠寰�銆愯溅杈嗘巿鏉冪敵璇疯褰曘�戞煡鐪嬩笅鍙戣繘搴�')
+          this.$emit('success')
+        })
+        .catch(e => {
+          // this.$tip.apiFailed(e)
+        })
+        .finally(() => {
+          this.isWorking = false
+        })
+    },
+    seleTime (e) {
+      if (e && e.length >= 2) {
+        this.form.startTime = e[0]
+        this.form.endTime = e[1]
+      } else {
+        this.form.startTime = null
+        this.form.endTime = null
+      }
+    },
+    open (title, ids, names, companyType) {
+      this.title = title
+      this.visible = true
+      this.companyType = companyType
+      // 鏂板缓
+      this.$nextTick(() => {
+        this.$refs.form.resetFields()
+        this.form[this.configData['field.id']] = null
+        this.form.ids = ids
+        this.form.codes = names
+
+        this.loadParks()
+        console.log(names)
+      })
+    },
+    loadParks () {
+      this.parks = []
+      findList({
+        isdeleted: 0
+      })
+        .then(res => {
+          this.parks = res
+        })
+        .catch(e => {
+          this.$message.error('鍔犺浇鍋滆溅搴撲俊鎭け璐�')
+        })
+        .finally(() => {
+          // this.isWorking = false
+        })
+    }
+  }
+}
+</script>
diff --git a/admin/src/components/business/OperaMemberRoleWindow.vue b/admin/src/components/business/OperaMemberRoleWindow.vue
index a581c65..5ed9027 100644
--- a/admin/src/components/business/OperaMemberRoleWindow.vue
+++ b/admin/src/components/business/OperaMemberRoleWindow.vue
@@ -2,7 +2,7 @@
     <GlobalWindow
         :title="title"
         :visible.sync="visible"
-        width="900px"
+        width="70%"
         :confirm-working="isWorking"
         @confirm="confirm"
     >
@@ -145,7 +145,7 @@
         })
             .then(() => {
               this.visible = false
-              this.$tip.apiSuccess('鏂板缓鎴愬姛')
+              this.$tip.apiSuccess('鎺堟潈鎴愬姛锛屽彲鍓嶅線銆愪汉鍛樻巿鏉冭褰曘�戞煡鐪嬩笅鍙戣繘搴�')
               this.$emit('success')
             })
             .catch(e => {
diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue
index b875085..243356f 100644
--- a/admin/src/views/business/internalCompany.vue
+++ b/admin/src/views/business/internalCompany.vue
@@ -50,7 +50,7 @@
                     <template slot-scope="{row}">
                         <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('缂栬緫浼佷笟淇℃伅',{  id: row.parentId,name:row.parentName,type:row.parentType, companyPath:row.parentCompanyPath}, row)" icon="el-icon-edit" v-permissions="['business:company:update']">缂栬緫</el-button>
                         <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('鏂板缓瀛愮骇',  row,null)" icon="el-icon-plus">鏂板缓瀛愮骇</el-button>
-                        <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:company:delete']">鍒犻櫎</el-button>
+                        <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" v-permissions="['business:company:delete']">鍒犻櫎</el-button>
                     </template>
                 </el-table-column>
             </el-table>
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 3bb796c..57de4cd 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -6,26 +6,26 @@
                 <el-input v-model="searchForm.keyword" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�/宸ュ彿" @keypress.enter.native="search"></el-input>
             </el-form-item>
             <el-form-item label="" prop="hasFace">
-                <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="鏄惁鏈変汉鑴�">
+                <el-select v-model="searchForm.hasFace" @keypress.enter.native="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="canVisit">
-                <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="鍙嫓璁�">
+                <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="鍙嫓璁�">
                     <el-option label="鏄�" value="1"></el-option>
                     <el-option label="鍚�" value="0"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="" prop="status">
-                <el-select v-model="searchForm.status" @keypress.enter.native="search" placeholder="鐘舵��">
+                <el-select v-model="searchForm.status" @keypress.enter.native="search" clearable placeholder="鐘舵��">
                     <el-option label="姝e父" 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="hkStatus">
-                <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" placeholder="娴峰悍鍚屾鐘舵��">
+                <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" clearable placeholder="娴峰悍鍚屾鐘舵��">
                     <el-option label="寰呭悓姝�" value="0"></el-option>
                     <el-option label="鍚屾鎴愬姛" value="1"></el-option>
                     <el-option label="鍚屾澶辫触" value="2"></el-option>
@@ -170,7 +170,7 @@
                         <el-button type="text" :loading="heading" icon="el-icon-delete" @click="updateHead(row,0)" v-if="row.headStatus ==1 " v-permissions="['business:member:head']">鍙栨秷涓荤</el-button>
                         <el-button type="text" :loading="heading"  icon="el-icon-edit" @click="updateHead(row,1)"  v-if="row.headStatus  == 0"  v-permissions="['business:member:head']">璁句负涓荤</el-button>
                         <el-button type="text"  icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button>
-                        <el-button  type="text"  icon="el-icon-delete" @click="empower(row.id)" v-permissions="['business:empower:delete']">鍒犻櫎</el-button>
+                        <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
                     </template>
                 </el-table-column>
             </el-table>
diff --git a/admin/src/views/vehicle/parkBook.vue b/admin/src/views/vehicle/parkBook.vue
index 3a5eae5..5df6009 100644
--- a/admin/src/views/vehicle/parkBook.vue
+++ b/admin/src/views/vehicle/parkBook.vue
@@ -5,11 +5,11 @@
             <el-form-item label="杞︾墝鍙�" prop="carCode">
                 <el-input v-model="searchForm.carCode" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
             </el-form-item>
-            <el-form-item label="鍛樺伐濮撳悕/鎵嬫満鍙�" prop="memberName">
+            <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="璇疯緭鍏ラ儴闂�" @keypress.enter.native="search"></el-input>
+            <el-form-item label="杞︿富缁勭粐" prop="companyName">
+                <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ヨ溅涓荤粍缁�" @keypress.enter.native="search"></el-input>
             </el-form-item>
             <el-form-item label="鍋滆溅搴撳悕绉�" prop="parksName">
                 <el-input v-model="searchForm.parksName" placeholder="璇疯緭鍏ュ仠杞﹀簱鍚嶇О" @keypress.enter.native="search"></el-input>

--
Gitblit v1.9.3