From 3c403cfa2a03e3ec6d3b0e4ccb9a38c552e16d0d Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 20 五月 2024 16:57:09 +0800
Subject: [PATCH] ''

---
 admin/src/views/vehicle/parks.vue                  |    0 
 admin/src/views/vehicle/authorizationRecord.vue    |    0 
 admin/src/views/business/approvalConfiguration.vue |  294 +++++++----------
 admin/src/views/vehicle/manager.vue                |  237 +++++++++++++
 admin/src/views/business/approvalReport.vue        |  432 +++++++++++++++++++++++++
 admin/src/views/vehicle/parkBook.vue               |    0 
 admin/src/views/business/visitOrigin.vue           |   23 
 7 files changed, 804 insertions(+), 182 deletions(-)

diff --git a/admin/src/views/business/approvalConfiguration.vue b/admin/src/views/business/approvalConfiguration.vue
index b2de731..b7367c3 100644
--- a/admin/src/views/business/approvalConfiguration.vue
+++ b/admin/src/views/business/approvalConfiguration.vue
@@ -13,65 +13,57 @@
               >鍙戝竷</el-button
             >
           </div>
-          <div class="config_list_list">
-            <div class="item">
-              <div class="item_label">鍙戣捣浜�</div>
-              <div class="item_child">
-                <div class="item_child_label">绋嬫槬鏋�</div>
-                <div class="item_child_val">璁垮</div>
-              </div>
-              <div class="item_down">
-                <div class="item_down_x">
-                  <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
-                </div>
-              </div>
+          <div class="config_content">
+            <div class="item active">
+              <div class="head">鍙戣捣浜�</div>
+              <div class="content">璁垮</div>
+            </div>
+            <div class="arrows">
+              <div class="line"></div>
+              <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
             </div>
             <div
-              :class="item.active ? 'item yellow active' : 'item yellow'"
-              v-for="(item, index) in list"
-              :key="index"
-              @click="seleItem(index)"
+              class="item yellow"
+              :class="{ active: activeSel === 'one' }"
+              @click="flowClick('one')"
             >
-              <div class="item_label">瀹℃壒浜�</div>
-              <div class="item_child" style="cursor: pointer">
-                <img
-                  class="item_child_right"
-                  src="@/assets/images/ar_more@2x.png"
-                />
-                <div class="item_child_label">琚浜�</div>
-                <div class="item_child_val">璁垮</div>
-              </div>
-              <div class="item_down">
-                <!-- <img
-                  class="item_down_add"
-                  v-if="list.length - 1 === index"
-                  src="@/assets/images/peizhi_add@2x.png"
-                  @click.stop="add"
-                /> -->
-                <div class="item_down_x">
-                  <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
-                </div>
+              <div class="head">瀹℃壒浜�</div>
+              <div class="content">
+                <div>琚浜�</div>
+                <i class="el-icon-arrow-right"></i>
               </div>
             </div>
-            <div class="item blue" style="height: 81px">
-              <div class="item_label">鎶勯�佷汉</div>
-              <div class="item_child" style="cursor: pointer; height: 40px">
-                <img
-                  class="item_child_right"
-                  src="@/assets/images/ar_more@2x.png"
-                />
-                <div class="item_child_val" style="margin-top: 3px">
-                  璇疯缃妱閫佷汉
-                </div>
-              </div>
-              <div class="item_down">
-                <div class="item_down_x">
-                  <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
-                </div>
-              </div>
+            <div class="arrows">
+              <div class="line"></div>
+              <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
             </div>
-            <div class="footer">
-              <span>娴佺▼缁撴潫</span>
+            <template v-if="false">
+              <div
+                class="item yellow"
+                :class="{ active: activeSel === 'one' }"
+                @click="flowClick('one')"
+              >
+                <div class="head">瀹℃壒浜�</div>
+                <div class="content">
+                  <div>鏉庣惓-缁煎悎绉�</div>
+                  <i class="el-icon-arrow-right"></i>
+                </div>
+              </div>
+              <div class="arrows">
+                <div class="line"></div>
+                <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
+              </div>
+            </template>
+            <div
+              class="item blue"
+              :class="{ active: activeSel === 'two' }"
+              @click="flowClick('two')"
+            >
+              <div class="head">鎶勯�佷汉</div>
+              <div class="content">
+                <div>璇烽�夋嫨</div>
+                <i class="el-icon-arrow-right"></i>
+              </div>
             </div>
           </div>
         </div>
@@ -136,26 +128,26 @@
               <el-radio :label="1">浼氱锛堟墍鏈夊鎵逛汉閮藉悓鎰忔墠鍙�氳繃锛�</el-radio>
             </el-radio-group>
           </div>
-          <div class="config_data_item" v-if="radio === 2">
-            <div class="config_data_item_label">瀹℃壒浜轰负绌烘椂</div>
-            <el-checkbox-group
-              v-model="checkList"
-              style="display: flex; flex-direction: column"
-            >
-              <el-checkbox
-                label="澶嶉�夋 A"
-                style="margin-bottom: 20px"
-              ></el-checkbox>
-              <el-checkbox
-                label="澶嶉�夋 B"
-                style="margin-bottom: 20px"
-              ></el-checkbox>
-              <el-checkbox label="澶嶉�夋 C"></el-checkbox>
-            </el-checkbox-group>
+          <div class="df_ac">
+            <span class="mr10"><strong>鍏佽淇敼鐢宠椤�</strong></span>
+            <el-switch v-model="param.aa" active-value="1" inactive-value="0">
+            </el-switch>
+          </div>
+          <div class="df_ac mt10">
+            <span class="mr20">閫夋嫨淇敼椤�</span>
+            <el-select v-model="param.list"  collapse-tags multiple placeholder="璇烽�夋嫨,澶氶��">
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
           </div>
           <div class="config_data_submit" v-if="radio !== 0">
             <el-button style="background: #435ebe" type="primary"
-              >淇濇寔閰嶇疆椤�</el-button
+              >淇濆瓨閰嶇疆椤�</el-button
             >
           </div>
         </div>
@@ -195,22 +187,17 @@
     TableLayout,
     treeTransfer
   },
-  data() {
+  data () {
     return {
-      list: [
-        {
-          name: '',
-          active: false
-        }
-      ],
+
       value: '',
-      options: [],
       radio: 0,
       radio1: 0,
       checked: '',
       checkList: [],
 
       param: {},
+      activeSel: 'one',
       activeName: 'first',
       isShowTransfer: false,
       fromData: [
@@ -248,20 +235,34 @@
           ]
         }
       ],
+      options: [{
+        value: '閫夐」1',
+        label: '榛勯噾绯�'
+      }, {
+        value: '閫夐」2',
+        label: '鍙岀毊濂�'
+      }, {
+        value: '閫夐」3',
+        label: '铓典粩鐓�'
+      }, {
+        value: '閫夐」4',
+        label: '榫欓』闈�'
+      }, {
+        value: '閫夐」5',
+        label: '鍖椾含鐑ら腑'
+      }],
       selData: []
     }
   },
   methods: {
-    add() {
-      this.list.push({
-        name: '',
-        active: false
-      })
+    flowClick (val) {
+      this.activeSel = val
     },
-    selStaff() {
+
+    selStaff () {
       this.isShowTransfer = true
     },
-    seleItem(i) {
+    seleItem (i) {
       this.list.forEach((item, index) => {
         item.active = index === i
       })
@@ -300,7 +301,7 @@
         color: #222222;
       }
     }
-    .config_list_list {
+    .config_content {
       width: 100%;
       height: calc(100% - 40px);
       padding-top: 45px;
@@ -313,110 +314,53 @@
         width: 0;
       }
       .active {
-        border: 2px solid #e84a08 !important;
+        border: 2px solid #4456ac !important;
       }
       .yellow {
-        background: #ee8921 !important;
+        background: #e89e42 !important;
       }
       .blue {
-        background: #435ebe !important;
+        background: #5094f3 !important;
       }
-      .footer {
-        width: 106px;
-        height: 41px;
-        background: #ffffff;
-        box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
-        border-radius: 25px;
+      .arrows {
         display: flex;
+        flex-direction: column;
         align-items: center;
-        justify-content: center;
-        span {
-          font-size: 15px;
-          font-weight: 400;
-          color: #333333;
+        .line {
+          width: 1px;
+          height: 60px;
+          background-color: #ccc;
+        }
+        img {
+          width: 12px;
         }
       }
       .item {
         width: 200px;
-        height: 102px;
-        background: #7999d9;
-        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
-        border-radius: 4px;
-        padding: 4px;
-        box-sizing: border-box;
+        cursor: pointer;
+        border: 2px solid #f7f7f7;
+        height: 80px;
+        background: #4456ac;
+        border-radius: 2px;
+        position: relative;
         display: flex;
         flex-direction: column;
-        justify-content: space-between;
-        position: relative;
-        margin-bottom: 60px;
+        .head {
+          height: 32px;
+          line-height: 32px;
+          padding: 2px 12px;
+          color: #fff;
+        }
+        .content {
+          flex: 1;
+          background-color: #fff;
+          display: flex;
+          align-items: center;
+          padding: 0 12px;
+          justify-content: space-between;
+        }
         &:last-child {
           margin: 0 !important;
-        }
-        .item_down {
-          position: absolute;
-          bottom: -60px;
-          width: 100%;
-          height: 60px;
-          display: flex;
-          align-items: center;
-          justify-content: center;
-          .item_down_add {
-            width: 46px;
-            height: 46px;
-            position: absolute;
-            z-index: 3;
-            top: 5px;
-            cursor: pointer;
-          }
-          .item_down_x {
-            width: 1px;
-            height: 60px;
-            background: #b2b2b2;
-            position: relative;
-            img {
-              position: absolute;
-              bottom: 0;
-              left: -4px;
-              width: 9px;
-              height: 9px;
-            }
-          }
-        }
-        .item_label {
-          width: 100%;
-          height: 30px;
-          display: flex;
-          align-items: center;
-          font-size: 15px;
-          font-weight: 400;
-          color: #ffffff;
-        }
-        .item_child {
-          width: 100%;
-          height: 61px;
-          padding: 10px;
-          box-sizing: border-box;
-          background: #ffffff;
-          border-radius: 4px;
-          position: relative;
-          .item_child_right {
-            position: absolute;
-            right: 10px;
-            top: 13px;
-            width: 8px;
-            height: 14px;
-          }
-          .item_child_label {
-            font-size: 14px;
-            font-weight: 400;
-            color: #333333;
-            margin-bottom: 4px;
-          }
-          .item_child_val {
-            font-size: 12px;
-            font-weight: 400;
-            color: #999999;
-          }
         }
       }
     }
diff --git a/admin/src/views/business/approvalReport.vue b/admin/src/views/business/approvalReport.vue
new file mode 100644
index 0000000..d39caa1
--- /dev/null
+++ b/admin/src/views/business/approvalReport.vue
@@ -0,0 +1,432 @@
+<template>
+  <TableLayout>
+    <template v-slot:table-wrap>
+      <div class="config">
+        <div class="config_list">
+          <div class="config_list_head">
+            <span>閰嶇疆娴佺▼</span>
+            <el-button style="background: #435ebe" type="primary"
+              >鍙戝竷</el-button
+            >
+          </div>
+          <div class="config_content">
+            <div class="item active">
+              <div class="head">鍙戣捣浜�</div>
+              <div class="content">鍐呴儴鍛樺伐</div>
+            </div>
+            <div class="arrows">
+              <div class="line"></div>
+              <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
+            </div>
+            <template>
+              <div
+                class="item yellow"
+                :class="{ active: activeSel === 'one' }"
+                @click="flowClick('one')"
+              >
+                <div class="head">瀹℃壒浜�</div>
+                <div class="content">
+                  <div>鏉庣惓-缁煎悎绉�</div>
+                  <i class="el-icon-arrow-right"></i>
+                </div>
+              </div>
+              <div class="arrows">
+                <div class="line"></div>
+                <img src="@/assets/images/peizhi_ar@2x.png" alt="" />
+              </div>
+            </template>
+            <div
+              class="item blue"
+              :class="{ active: activeSel === 'two' }"
+              @click="flowClick('two')"
+            >
+              <div class="head">鎶勯�佷汉</div>
+              <div class="content">
+                <div>璇烽�夋嫨</div>
+                <i class="el-icon-arrow-right"></i>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="config_data">
+          <div class="config_data_item">
+            <div class="config_data_item_label">閫夋嫨璇ヨ妭鐐圭殑瀹℃壒浜�</div>
+            <el-radio-group v-model="radio">
+              <el-radio :label="0">琚浜�</el-radio>
+              <el-radio :label="1">鎸囧畾浜哄憳</el-radio>
+              <el-radio :label="2">閮ㄩ棬涓荤</el-radio>
+            </el-radio-group>
+            <div class="config_data_item_reviewed" v-if="radio === 1">
+              <div class="config_data_item_reviewed_label">
+                <span>鎸囧畾瀹℃牳浜�</span>
+                <span>涓嶈秴杩�20浜�</span>
+              </div>
+              <div class="config_data_item_reviewed_content">
+                <div class="config_data_item_reviewed_content_item">
+                  <span>鏍撳瓙鍝�</span>
+                  <i class="el-icon-close"></i>
+                </div>
+                <span class="add" @click="selStaff">+娣诲姞</span>
+              </div>
+            </div>
+            <div class="config_data_item_reviewed" v-if="radio === 2">
+              <div class="config_data_item_reviewed_label">
+                <span>閮ㄩ棬涓荤</span>
+              </div>
+              <div class="config_data_item_reviewed_r">
+                <span>琚浜虹殑</span>
+                <el-select
+                  v-model="value"
+                  placeholder="璇烽�夋嫨"
+                  style="margin: 0 20px 0 10px"
+                >
+                  <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+                <el-checkbox v-model="checked"
+                  >鎵句笉鍒颁富绠℃椂锛岀敱涓婄骇涓荤浠e鏍�</el-checkbox
+                >
+              </div>
+            </div>
+          </div>
+          <div class="config_data_item" v-if="radio !== 0">
+            <div class="config_data_item_label">
+              瀹℃壒鏂瑰紡
+              <span>瀹℃壒浜轰负澶氫釜鏃讹紝閲囩敤鐨勫鎵规柟寮�</span>
+            </div>
+            <el-radio-group
+              v-model="radio1"
+              style="display: flex; flex-direction: column"
+            >
+              <el-radio :label="0" style="margin-bottom: 20px"
+                >鎴栫锛堝叾涓竴鍚嶅鎵逛汉鍚屾剰鎴栨嫆缁濆嵆鍙級</el-radio
+              >
+              <el-radio :label="1">浼氱锛堟墍鏈夊鎵逛汉閮藉悓鎰忔墠鍙�氳繃锛�</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="config_data_submit" v-if="radio !== 0">
+            <el-button style="background: #435ebe" type="primary"
+              >淇濆瓨閰嶇疆椤�</el-button
+            >
+          </div>
+        </div>
+      </div>
+    </template>
+    <!--  -->
+    <el-dialog title="閫夋嫨鍛樺伐" :visible.sync="isShowTransfer" width="800px">
+      <tree-transfer
+        v-model="param.menuIds"
+        :title="['鏈��', '宸查��']"
+        :from_data="fromData"
+        :to_data="selData"
+        :defaultProps="{ label: 'label' }"
+        mode="transfer"
+        height="500px"
+        filter
+        openAll
+        ref="treeTransfer"
+      >
+      </tree-transfer>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isShowTransfer = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="isShowTransfer = false"
+          >纭� 瀹�</el-button
+        >
+      </span>
+    </el-dialog>
+  </TableLayout>
+</template>
+
+<script>
+import TableLayout from '@/layouts/TableLayout'
+import treeTransfer from 'el-tree-transfer'
+export default {
+  name: 'config',
+  components: {
+    TableLayout,
+    treeTransfer
+  },
+  data () {
+    return {
+
+      value: '',
+      radio: 0,
+      radio1: 0,
+      checked: '',
+      checkList: [],
+
+      param: {},
+      activeSel: 'one',
+      activeName: 'first',
+      isShowTransfer: false,
+      fromData: [
+        {
+          id: '1',
+          pid: 0,
+          label: '涓�绾� 1',
+          children: [
+            {
+              id: '1-1',
+              pid: '1',
+              label: '浜岀骇 1-1',
+              disabled: true,
+              children: []
+            },
+            {
+              id: '1-2',
+              pid: '1',
+              label: '浜岀骇 1-2',
+              children: [
+                {
+                  id: '1-2-1',
+                  pid: '1-2',
+                  children: [],
+                  label: '浜岀骇 1-2-1'
+                },
+                {
+                  id: '1-2-2',
+                  pid: '1-2',
+                  children: [],
+                  label: '浜岀骇 1-2-2'
+                }
+              ]
+            }
+          ]
+        }
+      ],
+      options: [{
+        value: '閫夐」1',
+        label: '榛勯噾绯�'
+      }, {
+        value: '閫夐」2',
+        label: '鍙岀毊濂�'
+      }, {
+        value: '閫夐」3',
+        label: '铓典粩鐓�'
+      }, {
+        value: '閫夐」4',
+        label: '榫欓』闈�'
+      }, {
+        value: '閫夐」5',
+        label: '鍖椾含鐑ら腑'
+      }],
+      selData: []
+    }
+  },
+  methods: {
+    flowClick (val) {
+      this.activeSel = val
+    },
+
+    selStaff () {
+      this.isShowTransfer = true
+    },
+    seleItem (i) {
+      this.list.forEach((item, index) => {
+        item.active = index === i
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.config {
+  width: 100%;
+  padding-bottom: 20px;
+  box-sizing: border-box;
+  height: calc(100vh - 140px);
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  .config_list {
+    width: 543px;
+    height: 100%;
+    flex-shrink: 0;
+    border-radius: 2px;
+    padding: 20px;
+    box-sizing: border-box;
+    border: 1px solid #eeeeee;
+    background: #f7f7f7;
+    .config_list_head {
+      width: 100%;
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      span {
+        font-size: 18px;
+        font-weight: 500;
+        color: #222222;
+      }
+    }
+    .config_content {
+      width: 100%;
+      height: calc(100% - 40px);
+      padding-top: 45px;
+      box-sizing: border-box;
+      overflow-y: scroll;
+      display: flex;
+      align-items: center;
+      flex-direction: column;
+      &::-webkit-scrollbar {
+        width: 0;
+      }
+      .active {
+        border: 2px solid #4456ac !important;
+      }
+      .yellow {
+        background: #e89e42 !important;
+      }
+      .blue {
+        background: #5094f3 !important;
+      }
+      .arrows {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        .line {
+          width: 1px;
+          height: 60px;
+          background-color: #ccc;
+        }
+        img {
+          width: 12px;
+        }
+      }
+      .item {
+        width: 200px;
+        cursor: pointer;
+        border: 2px solid #f7f7f7;
+        height: 80px;
+        background: #4456ac;
+        border-radius: 2px;
+        position: relative;
+        display: flex;
+        flex-direction: column;
+        .head {
+          height: 32px;
+          line-height: 32px;
+          padding: 2px 12px;
+          color: #fff;
+        }
+        .content {
+          flex: 1;
+          background-color: #fff;
+          display: flex;
+          align-items: center;
+          padding: 0 12px;
+          justify-content: space-between;
+        }
+        &:last-child {
+          margin: 0 !important;
+        }
+      }
+    }
+  }
+  .config_data {
+    flex: 1;
+    height: 100%;
+    margin-left: 20px;
+    .config_data_submit {
+      margin-top: 50px;
+    }
+    .config_data_item {
+      width: 100%;
+      display: flex;
+      flex-direction: column;
+      margin-bottom: 30px;
+      &:last-child {
+        margin: 0 !important;
+      }
+      .config_data_item_label {
+        font-size: 16px;
+        font-weight: 500;
+        color: #222222;
+        margin-bottom: 20px;
+        span {
+          font-size: 12px;
+          font-weight: 400;
+          color: #999999;
+          margin-left: 10px;
+        }
+      }
+      .config_data_item_reviewed {
+        width: 100%;
+        margin-top: 20px;
+        .config_data_item_reviewed_r {
+          margin-top: 10px;
+          width: 100%;
+          display: flex;
+          align-items: center;
+          span {
+            flex-shrink: 0;
+            font-size: 14px;
+            font-weight: 400;
+            color: #666666;
+          }
+        }
+        .config_data_item_reviewed_label {
+          display: flex;
+          align-items: center;
+          span {
+            &:nth-child(1) {
+              font-size: 14px;
+              font-weight: 400;
+              color: #222222;
+            }
+            &:nth-child(2) {
+              font-size: 12px;
+              font-weight: 400;
+              color: #999999;
+              margin-left: 8px;
+            }
+          }
+        }
+        .config_data_item_reviewed_content {
+          width: 400px;
+          margin-top: 10px;
+          height: 110px;
+          padding: 12px;
+          box-sizing: border-box;
+          border-radius: 2px;
+          border: 1px solid #dfe2e8;
+          display: flex;
+          align-items: flex-start;
+          flex-wrap: wrap;
+          .add {
+            font-size: 12px;
+            font-weight: 400;
+            color: #435ebe;
+            cursor: pointer;
+            margin-top: 3px;
+          }
+          .config_data_item_reviewed_content_item {
+            padding: 3px 5px;
+            background: #f4f7fc;
+            border-radius: 2px;
+            box-sizing: border-box;
+            margin-right: 10px;
+            margin-bottom: 10px;
+            span {
+              font-size: 12px;
+              font-weight: 400;
+              color: #333333;
+            }
+            i {
+              color: #949ba2;
+              margin-left: 10px;
+              cursor: pointer;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/admin/src/views/business/visitOrigin.vue b/admin/src/views/business/visitOrigin.vue
index a3b5af1..ceffbd4 100644
--- a/admin/src/views/business/visitOrigin.vue
+++ b/admin/src/views/business/visitOrigin.vue
@@ -25,7 +25,7 @@
           <el-button
             type="text"
             icon="el-icon-delete"
-            @click="handleDetail(row)"
+            @click="handleDel(row)"
             class="red"
             >鍒犻櫎</el-button
           >
@@ -66,7 +66,7 @@
   components: {
     Pagination
   },
-  data() {
+  data () {
     return {
       loading: false,
       pagination: {
@@ -82,19 +82,28 @@
     }
   },
   methods: {
-    handleSub() {
+    handleSub () {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
           alert('submit!')
         }
       })
     },
-    handleEdit() {
+    handleEdit (row) {
       this.isShowEdit = true
     },
-    getList(page) { },
-    clear() { },
-    handleSizeChange(capacity) {
+    handleDel (row) {
+      this.$confirm('纭鍒犻櫎鎷滆浜嬬敱', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+
+      })
+    },
+    getList (page) { },
+    clear () { },
+    handleSizeChange (capacity) {
       this.pagination.capacity = capacity
     }
   }
diff --git a/admin/src/views/vehicle/authorizationRecord.vue b/admin/src/views/vehicle/authorizationRecord.vue
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/admin/src/views/vehicle/authorizationRecord.vue
diff --git a/admin/src/views/vehicle/manager.vue b/admin/src/views/vehicle/manager.vue
new file mode 100644
index 0000000..493b660
--- /dev/null
+++ b/admin/src/views/vehicle/manager.vue
@@ -0,0 +1,237 @@
+<template>
+  <div class="main_app">
+    <QueryForm
+      v-model="filters"
+      :query-form-config="queryFormConfig"
+      @handleQuery="getList(1)"
+      @clear="clear"
+    />
+    <div class="table_btns">
+      <el-button icon="el-icon-plus" @click="handleEdit()" type="primary"
+        >鏂板缓</el-button
+      >
+      <el-button @click="handleAppr" type="primary">涓嬪彂鎺堟潈</el-button>
+    </div>
+    <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="80"
+        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="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="110"
+        show-overflow-tooltip
+      />
+
+      <el-table-column label="鎿嶄綔" width="230" fixed="right">
+        <!-- v-permissions="['business:company:update']" -->
+        <template slot-scope="{ row }">
+          <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)"
+            >缂栬緫</el-button
+          >
+          <el-button
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDel(row)"
+            class="red"
+            >鍒犻櫎</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+      @size-change="handleSizeChange"
+      @current-change="getList"
+      :pagination="pagination"
+    />
+    <!--  -->
+    <el-dialog
+      :title="param.id ? '缂栬緫杞﹁締' : '鏂板杞﹁締'"
+      :visible.sync="isShowEdit"
+      width="600px"
+    >
+      <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px">
+        <el-form-item label="杞︾墝鐓�">
+          <el-input type="text" placeholder="璇疯緭鍏�" v-model="param.explain" />
+        </el-form-item>
+        <el-form-item label="杞﹁締绫诲瀷">
+          <el-radio v-model="param.aa" label="1">鍛樺伐杞﹁締</el-radio>
+        </el-form-item>
+        <el-form-item label="杞︿富濮撳悕">
+          <el-select
+            v-model="param.b"
+            filterable
+            placeholder="璇烽�夋嫨,鍗曢�夛紝鏀寔鎼滅储"
+          >
+            <el-option></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isShowEdit = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="handleSub">纭畾</el-button>
+      </span>
+    </el-dialog>
+    <!--  -->
+    <el-dialog title="鍋滆溅鍦烘巿鏉�" :visible.sync="isShowAuthor" width="600px">
+      <el-form
+        :model="authorization"
+        :rules="rules"
+        ref="authorForm"
+        label-width="100px"
+      >
+        <el-form-item label="鎺堟潈鍋滆溅鍦�">
+          <el-select
+            v-model="authorization.b"
+            filterable
+            placeholder="璇烽�夋嫨,澶氶��"
+          >
+            <el-option></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鐢宠鏈夋晥鏈�">
+          <el-radio v-model="authorization.aa" label="1">闀挎湡鏈夋晥</el-radio>
+          <div class="mt10">
+            <el-date-picker
+              v-model="authorization.ac"
+              type="daterange"
+              range-separator="鑷�"
+              start-placeholder="寮�濮嬫棩鏈�"
+              format="yyyy-MM-dd HH:mm:ss"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              end-placeholder="缁撴潫鏃ユ湡"
+            >
+            </el-date-picker>
+          </div>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isShowAuthor = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="authorSub">鎻愪氦</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+export default {
+  components: {
+    Pagination,
+    QueryForm
+  },
+  data () {
+    return {
+      filters: {},
+      loading: false,
+      queryFormConfig: {
+        formItems: [
+          {
+            filed: 'idCard',
+            type: 'input',
+            label: '杞︾墝鐓�'
+          },
+          {
+            filed: 'name',
+            type: 'select',
+            label: '杞﹁締绫诲瀷',
+            options: []
+          },
+          {
+            filed: 'name',
+            type: 'select',
+            label: '鍋滆溅鍦轰笅鍙�',
+            options: []
+          }
+        ],
+        online: true
+      },
+      pagination: {
+        capacity: 10,
+        page: 1
+      },
+      list: [{}],
+      total: 0,
+
+      isShowEdit: false,
+      param: {},
+      isShowAuthor: false,
+      authorization: {},
+      rules: {}
+    }
+  },
+  methods: {
+    handleSub () {
+      this.$refs.ruleForm.validate((valid) => {
+        if (valid) {
+          alert('submit!')
+        }
+      })
+    },
+    authorSub () {},
+    handleEdit (row) {
+      this.isShowEdit = true
+    },
+    handleAppr () {
+      this.isShowAuthor = true
+    },
+    handleDel (row) {
+      this.$confirm('纭鍒犻櫎璇ヨ溅杈�', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+
+      })
+    },
+    getList (page) { },
+    clear () { },
+    handleSizeChange (capacity) {
+      this.pagination.capacity = capacity
+    }
+  }
+}
+</script>
+
+<style>
+</style>
diff --git a/admin/src/views/business/parkBook.vue b/admin/src/views/vehicle/parkBook.vue
similarity index 100%
rename from admin/src/views/business/parkBook.vue
rename to admin/src/views/vehicle/parkBook.vue
diff --git a/admin/src/views/business/parks.vue b/admin/src/views/vehicle/parks.vue
similarity index 100%
rename from admin/src/views/business/parks.vue
rename to admin/src/views/vehicle/parks.vue

--
Gitblit v1.9.3