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