zhengkaixin 4 vuotta sitten
vanhempi
commit
9c69969cf6
2 muutettua tiedostoa jossa 751 lisäystä ja 888 poistoa
  1. 293 311
      src/views/base/parkingWhite-detail.vue
  2. 458 577
      src/views/base/parkingWhite-list.vue

+ 293 - 311
src/views/base/parkingWhite-detail.vue

@@ -1,312 +1,294 @@
-
-<style scoped>
-.user-panel {
-  margin: 10px auto;
-}
-</style>
-<template>
-  <el-dialog
-    :visible.sync="showDialog"
-    :title="title"
-    :modal-append-to-body="false"
-    style="text-align: left"
-    @close="closeDialog"
-    :close-on-click-modal="false"
-  >
-    <div class="user-panel" v-loading="loading">
-      <el-form
-        ref="form"
-        :model="formModel"
-        :rules="ruleValidate"
-        :label-width="'180px'"
-      >
-	  
-	  <el-form-item label="车牌号码" prop="memberCarNum">
-	    <el-input
-	      v-model="formModel.memberCarNum"
-	      placeholder="请输入车牌号码"
-	      style="width: 180px"
-	    ></el-input>
-	  </el-form-item>
-	  
-	  <el-row >
-	    <el-col :span="8">
-	      <el-form-item label="车主姓名" prop="memberName">
-	         <el-input
-	           v-model="formModel.memberName"
-	           placeholder="请输入车主姓名"
-	           style="width: 180px"
-	         ></el-input>
-	  	  
-	      </el-form-item>
-	    </el-col>
-	    <el-col :span="16">
-	  	   <el-form-item label="联系方式" prop="memberPhone">
-	  	      <el-input
-	  	        v-model="formModel.memberPhone"
-	  	        placeholder="请输入联系方式"
-	  	        style="width: 180px"
-	  	      ></el-input>
-	  	   
-	  	   </el-form-item>
-		   
-	    </el-col>
-	  </el-row>
-	  
-	  
-       <el-form-item label="授权商户">
-         {{merchantName}}
-       </el-form-item>
-	   <el-form-item label="起始时间" v-if="businessKey.length == 0">
-	      {{startTime}}
-	   </el-form-item>
-	   <el-form-item label="起始时间" v-else>
-	     {{formModel.memberStartTime}} 
-	   </el-form-item>
-		
-		<el-form-item label="存放天数" prop="days" v-show="businessKey.length == 0">
-						 <el-input-number
-						 :precision="0"
-						   v-model="formModel.days"
-						   placeholder="存放天数"
-						   style="width: 180px"
-						  
-						   :min="1"
-						 ></el-input-number>
-		</el-form-item>
-		
-		
-		<el-form-item label="结束时间" v-if="businessKey.length == 0">
-		  {{endTime}} {{memberLeaveTime}} 
-		</el-form-item>
-		<el-form-item label="结束时间" v-else>
-		  {{formModel.memberEndTime}}
-		</el-form-item>
-		<el-form-item label="续费天数" prop="days" v-show="businessKey.length != 0">
-						 <el-input-number
-						 :precision="0"
-						   v-model="formModel.days"
-						   placeholder="续费天数"
-						   style="width: 180px"
-						  
-						   :min="0"
-						 ></el-input-number>
-		</el-form-item>
-		
-      </el-form>
-    </div>
-    <span slot="footer" class="dialog-footer">
-      <el-button @click="closeDialog">取 消</el-button>
-      <el-button type="primary" @click="handleSubmit" :loading="submitting"
-        >确定赠送</el-button
-      >
-    </span>
-  </el-dialog>
-</template>
-<script>
-import Constant from "@/constant";
-import parkingWhiteApi from "@/api/base/parkingWhite";
-import dataDictionaryApi from "@/api/sys/dataDictionary";
-import companyInfoApi from "@/api/base/companyInfo";
-
-export default {
-  components: {
-   
-  },
-
-    computed: {
-      // 计算属性的 getter
-      endTime: function () {
-        // `this` 指向 vm 实例
-		
-		var date = new Date();
-		var day=this.formModel.days;
-		if(!day){
-			return ""
-		}
-		date.setDate(date.getDate()+day);
-		
-		var year = date.getFullYear();
-		var month = date.getMonth() + 1;
-		if (month < 10) {
-		  month = "0" + month;
-		}
-		var data = date.getDate();
-		if (data < 10) {
-		  data = "0" + data;
-		}
-		
-		
-		
-		
-        return  year + "-" + month + "-" + data;
-      }
-    },
-	
-  props: [ "title", "businessKey","memberLeaveTime","merchantName"],
-  data() {
-	  let Capitalization = (rule, value, callback) => {
-		
-		  this.formModel[rule.field]=value.toUpperCase()
-	     callback();
-	  };
-	  let checkPhone = (rule, value, callback) => {
-	    if (!value) {
-	      callback();
-	    } else {
-	      const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
-	      console.log(reg.test(value));
-	      if (reg.test(value)) {
-	        callback();
-	      } else {
-	        return callback(new Error("请输入正确的手机号"));
-	      }
-	    }
-	  };
-    return {
-	   myMemberLeaveTime:[{required:true,message:"请选择离场时间", trigger: "blur"}],
-      formModel: {
-		  memberCarNum:"鄂D",
-		  days:0,
-	  },
-	 // endTime:"",
-      ruleValidate: {
-        memberCarNum: [
-          { required: true, message: "车牌号码不能为空", trigger: "blur" },
-		  { 
-			  validator: Capitalization,
-			  trigger:"change"
-		  },
-		  
-		  
-        ],
-		memberPhone: [
-		  
-		  {
-		    validator: checkPhone,
-		    trigger: "blur"
-		  }
-		],
-      },
-	  startTime:{},
- 
-      showDialog: true,
-      loading: false,
-      submitting: false,
-      typeResult: [],
-      companyResult: [],
-	  props: {
-	    // 配置项(必选)
-	    value: "id",
-	    label: "name",
-	    children: "children",
-	  },
-    };
-  },
-  created() {
-    var self = this;
-	
-	  var date = new Date();
-      var year = date.getFullYear();
-      var month = date.getMonth() + 1;
-      if (month < 10) {
-        month = "0" + month;
-      }
-      var data = date.getDate();
-      if (data < 10) {
-        data = "0" + data;
-      }
-
-      this.startTime = year + "-" + month + "-" + data+" "+date.getHours()+":"+date.getMinutes();
-
-   
-    
-  },
-  methods: {
-    closeDialog() {
-      this.$emit("close", false);
-    },
-    handleSubmit() {
-      var self = this;
-
-      this.$refs["form"].validate((valid) => {
-		  
-        if (valid) {
-          (function () {
-          
-			
-			if (self.businessKey.length == 0) {
-				return parkingWhiteApi.pcGiveParkingMember(self.formModel);
-			} else {
-				   self.formModel.id=self.businessKey;
-				return parkingWhiteApi.editsubmit(self.formModel);
-			}
-			
-             
-          })().then(function (response) {
-            var jsonData = response.data;
-
-            if (jsonData.result) {
-              self.$message({
-                message: "保存成功!",
-                type: "success",
-              });
-
-              self.$emit("close", true);
-            } else {
-              self.$message({
-                message: jsonData.message + "",
-                type: "warning",
-              });
-
-              //self.$emit("close", false);
-            }
-          });
-        }
-      });
-    },
-  },
-  mounted: function () {
-    
-      var self = this;
-    
-      (function () {
-        if (self.businessKey.length == 0) {
-          return parkingWhiteApi.create();
-        } else {
-          return parkingWhiteApi.edit(self.businessKey);
-        }
-      })()
-        .then((response) => {
-          var jsonData = response.data;
-		  
-          self.loading = false;
-    
-          if (jsonData.result) {
-			    if (self.businessKey.length == 0) {
-					 self.formModel = jsonData.data;
-				}else{
-					var obj={
+<style scoped>
+	.user-panel {
+		margin: 10px auto;
+	}
+</style>
+<template>
+	<el-dialog :visible.sync="showDialog" :title="title" :modal-append-to-body="false" style="text-align: left"
+		@close="closeDialog" :close-on-click-modal="false">
+		<div class="user-panel" v-loading="loading">
+			<el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'180px'">
+
+				<el-form-item label="车牌号码" prop="memberCarNum">
+					<el-input v-model="formModel.memberCarNum" placeholder="请输入车牌号码" style="width: 180px"></el-input>
+				</el-form-item>
+
+				<el-row>
+					<el-col :span="8">
+						<el-form-item label="房号" prop="memberName">
+							<el-input v-model="formModel.memberName" placeholder="房号" style="width: 180px"></el-input>
+
+						</el-form-item>
+					</el-col>
+					<el-col :span="16">
+						<el-form-item label="联系方式" prop="memberPhone">
+							<el-input v-model="formModel.memberPhone" placeholder="请输入联系方式" style="width: 180px">
+							</el-input>
+
+						</el-form-item>
+
+					</el-col>
+				</el-row>
+
+
+				<el-form-item label="授权商户">
+					{{merchantName}}
+				</el-form-item>
+				<el-form-item label="起始时间" v-if="businessKey.length == 0">
+					{{startTime}}
+				</el-form-item>
+				<el-form-item label="起始时间" v-else>
+					{{formModel.memberStartTime}}
+				</el-form-item>
+
+				<el-form-item label="存放天数" prop="days" v-show="businessKey.length == 0">
+					<el-input-number :precision="0" v-model="formModel.days" placeholder="存放天数" style="width: 180px"
+						:min="1"></el-input-number>
+				</el-form-item>
+
+
+				<el-form-item label="结束时间" v-if="businessKey.length == 0">
+					{{endTime}} {{memberLeaveTime}}
+				</el-form-item>
+				<el-form-item label="结束时间" v-else>
+					{{formModel.memberEndTime}}
+				</el-form-item>
+				<el-form-item label="续费天数" prop="days" v-show="businessKey.length != 0">
+					<el-input-number :precision="0" v-model="formModel.days" placeholder="续费天数" style="width: 180px"
+						:min="0"></el-input-number>
+				</el-form-item>
+
+			</el-form>
+		</div>
+		<span slot="footer" class="dialog-footer">
+			<el-button @click="closeDialog">取 消</el-button>
+			<el-button type="primary" @click="handleSubmit" :loading="submitting">确定赠送</el-button>
+		</span>
+	</el-dialog>
+</template>
+<script>
+	import Constant from "@/constant";
+	import parkingWhiteApi from "@/api/base/parkingWhite";
+	import dataDictionaryApi from "@/api/sys/dataDictionary";
+	import companyInfoApi from "@/api/base/companyInfo";
+
+	export default {
+		components: {
+
+		},
+
+		computed: {
+			// 计算属性的 getter
+			endTime: function() {
+				// `this` 指向 vm 实例
+
+				var date = new Date();
+				var day = this.formModel.days;
+				if (!day) {
+					return ""
+				}
+				date.setDate(date.getDate() + day);
+
+				var year = date.getFullYear();
+				var month = date.getMonth() + 1;
+				if (month < 10) {
+					month = "0" + month;
+				}
+				var data = date.getDate();
+				if (data < 10) {
+					data = "0" + data;
+				}
+
+
+
+
+				return year + "-" + month + "-" + data;
+			}
+		},
+
+		props: ["title", "businessKey", "memberLeaveTime", "merchantName"],
+		data() {
+			let Capitalization = (rule, value, callback) => {
+
+				this.formModel[rule.field] = value.toUpperCase()
+				callback();
+			};
+			let checkPhone = (rule, value, callback) => {
+				if (!value) {
+					callback();
+				} else {
+					const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
+					console.log(reg.test(value));
+					if (reg.test(value)) {
+						callback();
+					} else {
+						return callback(new Error("请输入正确的手机号"));
+					}
+				}
+			};
+			return {
+				myMemberLeaveTime: [{
+					required: true,
+					message: "请选择离场时间",
+					trigger: "blur"
+				}],
+				formModel: {
+					memberCarNum: "鄂D",
+					days: 0,
+				},
+				// endTime:"",
+				ruleValidate: {
+					memberName: [{
+							required: true,
+							message: "房号不能为空",
+							trigger: "blur"
+						},
+						{
+							validator: Capitalization,
+							trigger: "change"
+						},
 					
-						...jsonData.data.data[0]
-					}
-					obj.days=0
-					 self.formModel = obj;
-					 
-				}
-           
-			//self.formModel.days=null;
-    		  if(!self.formModel.memberCarNum){
-				  
-    			  self.formModel.memberCarNum="鄂D"
-    		  }
-          } else {
-            self.$message.error(jsonData.message + "");
-          }
-        })
-        .catch((error) => {
-          self.$message.error(error + "");
-        });
-  },
-};
-</script>
+					
+					],
+					memberCarNum: [{
+							required: true,
+							message: "车牌号码不能为空",
+							trigger: "blur"
+						},
+						{
+							validator: Capitalization,
+							trigger: "change"
+						},
+
+
+					],
+					memberPhone: [
+
+						{
+							validator: checkPhone,
+							trigger: "blur"
+						}
+					],
+				},
+				startTime: {},
+
+				showDialog: true,
+				loading: false,
+				submitting: false,
+				typeResult: [],
+				companyResult: [],
+				props: {
+					// 配置项(必选)
+					value: "id",
+					label: "name",
+					children: "children",
+				},
+			};
+		},
+		created() {
+			var self = this;
+
+			var date = new Date();
+			var year = date.getFullYear();
+			var month = date.getMonth() + 1;
+			if (month < 10) {
+				month = "0" + month;
+			}
+			var data = date.getDate();
+			if (data < 10) {
+				data = "0" + data;
+			}
+
+			this.startTime = year + "-" + month + "-" + data + " " + date.getHours() + ":" + date.getMinutes();
+
+
+
+		},
+		methods: {
+			closeDialog() {
+				this.$emit("close", false);
+			},
+			handleSubmit() {
+				var self = this;
+
+				this.$refs["form"].validate((valid) => {
+
+					if (valid) {
+						(function() {
+
+
+							if (self.businessKey.length == 0) {
+								return parkingWhiteApi.pcGiveParkingMember(self.formModel);
+							} else {
+								self.formModel.id = self.businessKey;
+								return parkingWhiteApi.editsubmit(self.formModel);
+							}
+
+
+						})().then(function(response) {
+							var jsonData = response.data;
+
+							if (jsonData.result) {
+								self.$message({
+									message: "保存成功!",
+									type: "success",
+								});
+
+								self.$emit("close", true);
+							} else {
+								self.$message({
+									message: jsonData.message + "",
+									type: "warning",
+								});
+
+								//self.$emit("close", false);
+							}
+						});
+					}
+				});
+			},
+		},
+		mounted: function() {
+
+			var self = this;
+
+			(function() {
+				if (self.businessKey.length == 0) {
+					return parkingWhiteApi.create();
+				} else {
+					return parkingWhiteApi.edit(self.businessKey);
+				}
+			})()
+			.then((response) => {
+					var jsonData = response.data;
+
+					self.loading = false;
+
+					if (jsonData.result) {
+						if (self.businessKey.length == 0) {
+							self.formModel = jsonData.data;
+						} else {
+							var obj = {
+
+								...jsonData.data.data[0]
+							}
+							obj.days = 0
+							self.formModel = obj;
+
+						}
+
+						//self.formModel.days=null;
+						if (!self.formModel.memberCarNum) {
+
+							self.formModel.memberCarNum = "鄂D"
+						}
+					} else {
+						self.$message.error(jsonData.message + "");
+					}
+				})
+				.catch((error) => {
+					self.$message.error(error + "");
+				});
+		},
+	};
+</script>

+ 458 - 577
src/views/base/parkingWhite-list.vue

@@ -1,578 +1,459 @@
-<template>
-  <div>
-    <el-breadcrumb separator=">">
-      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
-      <el-breadcrumb-item>
-        <a href="#">停车场管理</a>
-      </el-breadcrumb-item>
-      <el-breadcrumb-item>
-        <a href="/parkingWhite">车辆白名单管理</a>
-      </el-breadcrumb-item>
-    </el-breadcrumb>
-    <el-divider></el-divider>
-    <!--
-      要resetFields起作用,必须配置:model和prop
-    -->
-    <el-form
-      ref="queryForm"
-      :model="queryModel"
-      inline
-      class="demo-form-inline"
-    >
-      <el-form-item label="车牌号码" prop="carNum">
-        <el-input
-          type="text"
-          size="mini"
-          v-model="queryModel.carNumber"
-        ></el-input>
-      </el-form-item>
-     
-      <el-form-item label="商户名称" v-show="!detail.enableMember" prop="merchantName">
-        <el-input
-          type="text"
-          size="mini"
-		  
-          v-model="queryModel.merchantName"
-        ></el-input>
-      </el-form-item>
-      <el-form-item label="当前状态" prop="useStatus">
-        <el-select size="mini" v-model="queryModel.status">
-          <el-option label="全部" value=""></el-option>
-          <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
-          v-model="queryModel.startTime"
-          type="daterange"
-          size="mini"
-          range-separator="至"
-          start-placeholder="开始时间"
-          end-placeholder="结束时间"
-          placeholder="选择时间范围"
-          value-format="yyyy-MM-dd"
-        >
-        </el-date-picker>
-      </el-form-item>
-	  
-	  
-	  <el-form-item label="截止时间" prop="endTime">
-	    <el-date-picker
-	      v-model="queryModel.endTime"
-	      type="daterange"
-	      size="mini"
-	      range-separator="至"
-	      start-placeholder="开始时间"
-	      end-placeholder="结束时间"
-	      placeholder="选择时间范围"
-	      value-format="yyyy-MM-dd"
-	    >
-	    </el-date-picker>
-	  </el-form-item>
-	  
-	  
-      <el-form-item>
-        <el-button
-          type="primary"
-          size="mini"
-          icon="ios-search"
-          @click="changePage(1)"
-          :loading="loading"
-          >查询</el-button
-        >&nbsp;
-        <el-button
-          type="info"
-          size="mini"
-          style="margin-left: 8px"
-          @click="handleReset('queryForm')"
-          >重置</el-button
-        >&nbsp;
-      </el-form-item>
-    </el-form>
-    <el-divider></el-divider>
-    <el-row class="button-group">
-		<el-button
-		  type="primary"
-		  size="small"
-		  plain
-		  icon="el-icon-circle-plus"
-		  @click="handleAdd"
-		  v-show="detail.enableMember"
-		  >录入车辆</el-button
-		>
-		
-      <el-button
-        type="primary"
-        size="small"
-        plain
-        icon="el-icon-download"
-        :loading="downloadLoading"
-        @click="downloadXls"
-      >导出数据</el-button>
-    </el-row>
-    <el-table
-      :data="tableData"
-      style="min-height: 400px"
-      v-loading="loading"
-      stripe
-      @sort-change="sortChange"
-      @selection-change="handleSelectionChange"
-	  
-	    show-summary :summary-method="getSummaries"
-    >
-     <el-table-column
-       type="index"
-       label="序号"
-       :index="indexMethod"
-       width="150"
-     ></el-table-column>
-      <el-table-column
-        prop="memberCarNum"
-        label="车牌号码"
-        width="130"
-      ></el-table-column>
-      <el-table-column
-        prop="merchantName"
-        label="所属商户"
-        width="180"
-		v-if="!detail.enableMember"
-      ></el-table-column>
- 
-      <el-table-column prop="statusName" label="当前状态" width="90">
-      
-      </el-table-column>
-	  
-    
-      <el-table-column
-        prop="memberStartTime"
-        label="生效时间"
-        width="180"
-      ></el-table-column>
-      <el-table-column
-        prop="memberEndTime"
-        label="截止时间"
-        width="180"
-      ></el-table-column>
-	  
-	  <el-table-column
-	    prop="days"
-	    label="存放天数"
-	    width="180"
-	  ></el-table-column>
-	  
-	  <el-table-column label="操作" width="250" fixed="right">
-	    <template slot-scope="{ row }">
-	      
-	      <el-row>
-	        <el-col>
-	          
-	          <el-link  v-if="!queryModel.status" type="warning" @click="handleEdit(row)">编辑</el-link> 
-	          
-	        </el-col>
-	      </el-row>
-	    </template>
-	  </el-table-column>
-	  
-    </el-table>
-    <el-pagination
-      :current-page.sync="pageIndex"
-      :total="totalElements"
-      :page-sizes="pageSizeList"
-      @current-change="changePage"
-      @size-change="pageSizeChange"
-      layout="total, sizes, prev, pager, next, jumper"
-    ></el-pagination>
-	
-	<parkingWhite-detail
-	  v-if="showModal"
-		:businessKey="businessKey"
-	  :merchantName="detail.merchantName"
-	  :memberLeaveTime="detail.memberLeaveTime"
-	  @close="onDetailModalClose"
-	></parkingWhite-detail>
-	
-  </div>
-</template>
-<script>
-import Constant from "@/constant";
-import parkingWhiteApi from "@/api/base/parkingWhite";
-
- import dataDictionaryApi from "@/api/sys/dataDictionary";
-import companyInfoApi from "@/api/base/companyInfo";
-import SelectTree from "@/components/SelectTree";
-import NProgress from "nprogress"; // progress bar
-import ParkingWhiteDetail from "./parkingWhite-detail";
-
-import "nprogress/nprogress.css"; // progress bar style
-
-export default {
-  name: "baseParkingWhiteList",
-  data() {
-    var self = this;
-
-    return {
-	  detail:{},
-      queryModel: {
-        id: "",
-		carNumber:"",
-        merchantName: "",
-   
-        startTime: ["", ""],
-		endTime: ["", ""],
-        status	: "",
-      },
-      loading: false,
-      tableData: [],
-      pageIndex: 1,
-      pageSize: 10,
-      totalPages: 0,
-      totalElements: 0,
-      field: "",
-      direction: "",
-      pageSizeList: [10, 20, 30],
-      multipleSelection: [],
-      showModal: false,
-      modalTitle: "",
-      businessKey: "",
-      typeResult: [],
-      companyResult: [],
-      props: {
-        // 配置项(必选)
-        value: "id",
-        label: "name",
-        children: "children",
-      },
-      downloadLoading: false,
-    };
-  },
-  created() {
-    var self = this;
-
-  
-  },
-  methods: {
-	  getSummaries(param) {
-		  
-	      const { columns, data } = param;
-	      const sums = [];
-	      columns.forEach((column, index) => {
-	          if (index === 0) {
-	              sums[index] = '合计天数';
-	              return;
-	          }
-			  
-	          const values = data.map(item => Number(item[column.property]));
-			  
-	          if (!values.every(value => isNaN(value))) {
-	              sums[5] = values.reduce((prev, curr) => {
-	              const value = Number(curr);
-	              if (!isNaN(value)) {
-	                  return prev + curr;
-	              } else {
-	                  return prev;
-	              }
-	              }, 0);
-	              
-	              //sums[5] = sums[5]
-	          } else {
-	              sums[index] = '';
-	          }
-	      });
-	  
-	      return sums;
-	  },
-	 handleEdit(record) {
-	   this.modalTitle = "编辑";
-	   this.businessKey = record.id;
-	   this.showModal = true;
-	 },
-	 handleDelete(record) {
-	   var self = this;
-	 
-	   self
-	     .$confirm("是否确认删除?", "提示", {
-	       confirmButtonText: "确定",
-	       cancelButtonText: "取消",
-	       type: "warning",
-	     })
-	     .then(() => {
-	       parkingWhiteApi.remove(record.id).then(function (response) {
-	         var jsonData = response.data;
-	 
-	         if (jsonData.result) {
-	           // var index = self.tableData.indexOf(record);
-	           // self.tableData.splice(index, 1);
-	           self.changePage(self.pageIndex);
-	 
-	           self.$message({
-	             type: "success",
-	             message: "删除成功!",
-	           });
-	         }
-	       });
-	     });
-	 },
-    indexMethod(index) {
-      return (this.pageIndex - 1) * this.pageSize + (index + 1);
-    },
-	init(){
-		var self = this;
-		
-		//self.loading = true;
-		
-		parkingWhiteApi
-		  .parkingMemberDetail()
-		  .then(function (response) {
-		    //self.loading = false;
+<template>
+	<div>
+		<el-breadcrumb separator=">">
+			<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+			<el-breadcrumb-item>
+				<a href="#">停车场管理</a>
+			</el-breadcrumb-item>
+			<el-breadcrumb-item>
+				<a href="/parkingWhite">车辆白名单管理</a>
+			</el-breadcrumb-item>
+		</el-breadcrumb>
+		<el-divider></el-divider>
+		<!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+		<el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
+			<el-form-item label="房号" prop="memberName">
+				<el-input type="text" size="mini" v-model="queryModel.memberName"></el-input>
+			</el-form-item>
+			<el-form-item label="车牌号码" prop="carNum">
+				<el-input type="text" size="mini" v-model="queryModel.carNumber"></el-input>
+			</el-form-item>
+
+			<el-form-item label="商户名称" v-show="!detail.enableMember" prop="merchantName">
+				<el-input type="text" size="mini" v-model="queryModel.merchantName"></el-input>
+			</el-form-item>
+			<el-form-item label="当前状态" prop="useStatus">
+				<el-select size="mini" v-model="queryModel.status">
+					<el-option label="全部" value=""></el-option>
+					<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 v-model="queryModel.startTime" type="daterange" size="mini" range-separator="至"
+					start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" value-format="yyyy-MM-dd">
+				</el-date-picker>
+			</el-form-item>
+
+
+			<el-form-item label="截止时间" prop="endTime">
+				<el-date-picker v-model="queryModel.endTime" type="daterange" size="mini" range-separator="至"
+					start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" value-format="yyyy-MM-dd">
+				</el-date-picker>
+			</el-form-item>
+
+
+			<el-form-item>
+				<el-button type="primary" size="mini" icon="ios-search" @click="changePage(1)" :loading="loading">查询
+				</el-button>&nbsp;
+				<el-button type="info" size="mini" style="margin-left: 8px" @click="handleReset('queryForm')">重置
+				</el-button>&nbsp;
+			</el-form-item>
+		</el-form>
+		<el-divider></el-divider>
+		<el-row class="button-group">
+			<el-button type="primary" size="small" plain icon="el-icon-circle-plus" @click="handleAdd"
+				v-show="detail.enableMember">录入车辆</el-button>
+
+			<el-button type="primary" size="small" plain icon="el-icon-download" :loading="downloadLoading"
+				@click="downloadXls">导出数据</el-button>
+		</el-row>
+		<el-table :data="tableData" style="min-height: 400px" v-loading="loading" stripe @sort-change="sortChange"
+			@selection-change="handleSelectionChange" show-summary :summary-method="getSummaries">
+			<el-table-column type="index" label="序号" :index="indexMethod" width="150"></el-table-column>
+			<el-table-column prop="memberName" label="房号" width="130"></el-table-column>
 			
-		     self.detail = response.data.data;
-		
-		  })
-		  .catch((error) => {
-		   // self.loading = false;
-		    // self.$message.error(error + "");
-		  });
-	},
-    changePage(pageIndex) {
-      var self = this;
-
-      self.loading = true;
-
-      self.pageIndex = pageIndex;
-      var formData = new FormData();
-
-      formData.append("pageIndex", self.pageIndex);
-      formData.append("pageSize", self.pageSize);
-
-      formData.append("id", self.queryModel.id);
-      formData.append("merchantName", self.queryModel.merchantName);
- 
-  
-      formData.append("carNumber", self.queryModel.carNumber);
-      formData.append("verifyTime", self.queryModel.verifyTime);
-
-      if (self.queryModel.startTime&&self.queryModel.startTime[0] != null) {
-        formData.append("startTime1", self.queryModel.startTime[0]);
-      }
-
-      if (self.queryModel.startTime&&self.queryModel.startTime[1] != null) {
-        formData.append("startTime2", self.queryModel.startTime[1]);
-      }
-
-   if (self.queryModel.endTime&&self.queryModel.endTime[0] != null) {
-        formData.append("endTime1", self.queryModel.endTime[0]);
-      }
-
-      if (self.queryModel.endTime&&self.queryModel.endTime[1] != null) {
-        formData.append("endTime2", self.queryModel.endTime[1]);
-      }
-	  
-      formData.append("status", self.queryModel.status);
-
-      if (this.field != null) {
-        formData.append("field", this.field);
-      }
-
-      if (this.direction != null) {
-        formData.append("direction", this.direction);
-      }
-
-      parkingWhiteApi
-        .pageList(formData)
-        .then(function (response) {
-          self.loading = false;
-
-          var jsonData = response.data.data;
-
-          self.tableData = jsonData.data;
-          self.totalPages = jsonData.totalPages;
-          self.totalElements = jsonData.recordsTotal;
-        })
-        .catch((error) => {
-          self.loading = false;
-          // self.$message.error(error + "");
-        });
-    },
-    pageSizeChange(pageSize) {
-      this.pageSize = pageSize;
-
-      this.$nextTick(() => {
-        this.changePage(this.pageIndex);
-      });
-    },
-    sortChange(data) {
-      this.field = data.column.field;
-      this.direction = data.order;
-
-      this.changePage(this.pageIndex);
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-    handleReset(name) {
-      this.$refs[name].resetFields();
-    },
-    handleAdd() {
-      this.modalTitle = "录入车辆";
-	  this.businessKey = "";
-	  
-      this.merchantName = this.detail.merchantName;
-	  this.reduce = this.detail.reduce;
-      this.showModal = true;
-    },
-    handleEdit(record) {
-      this.modalTitle = "编辑";
-      this.businessKey = record.id;
-      this.showModal = true;
-    },
-    handleDelete(record) {
-      var self = this;
-
-      self
-        .$confirm("是否确认删除?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-        .then(() => {
-          parkingWhiteApi.remove(record.id).then(function (response) {
-            var jsonData = response.data;
-
-            if (jsonData.result) {
-              // var index = self.tableData.indexOf(record);
-              // self.tableData.splice(index, 1);
-              self.changePage(self.pageIndex);
-
-              self.$message({
-                type: "success",
-                message: "删除成功!",
-              });
-            }
-          });
-        });
-    },
-    handleBatchDelete() {
-      var self = this;
-
-      var idList = this.multipleSelection.map((record) => {
-        return record.id;
-      });
-
-      this.$confirm("是否确认删除选中项?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(() => {
-        parkingWhiteApi.batchRemove(idList).then(function (response) {
-          var jsonData = response.data;
-
-          if (jsonData.result) {
-            self.changePage(self.pageIndex);
-
-            self.$message({
-              type: "success",
-              message: "删除成功!",
-            });
-          }
-        });
-      });
-    },
-    onDetailModalClose(refreshed) {
-      //保存成功后回调
-      this.showModal = false;
-
-      if (refreshed) {
-        this.changePage(this.pageIndex);
-      }
-    },
-    downloadXls() {
-      //导出
-      var self = this;
-      self.downloadLoading = true;
-      self.loading = true;
-      self.loadingText = "数据导出中,请稍后...";
-
-      var formData = new FormData();
-
-      formData.append("pageIndex", self.pageIndex);
-      formData.append("pageSize", self.pageSize);
-
-      formData.append("id", self.queryModel.id);
-      formData.append("merchantName", self.queryModel.merchantName);
-      formData.append("type", self.queryModel.type);
-
-      if (self.queryModel.companyId != null) {
-        formData.append("companyId", self.queryModel.companyId);
-      }
-      formData.append("carNum", self.queryModel.carNum);
-      formData.append("verifyTime", self.queryModel.verifyTime);
-
-      if (self.queryModel.verifyTimeRange[0] != null) {
-        formData.append("verifyStartTime", self.queryModel.verifyTimeRange[0]);
-      }
-
-      if (self.queryModel.verifyTimeRange[1] != null) {
-        formData.append("verifyEndTime", self.queryModel.verifyTimeRange[1]);
-      }
-
-      formData.append("useStatus", self.queryModel.useStatus);
-
-      if (this.field != null) {
-        formData.append("field", this.field);
-      }
-
-      if (this.direction != null) {
-        formData.append("direction", this.direction);
-      }
-
-      parkingWhiteApi.exportXls(formData).then(function(response) {
-        var jsonData = response.data;
-        self.downloadLoading = false;
-        self.loading = false;
-        if (jsonData.result) {
-            //下载有错误信息提示的报表
-            self.$message({
-              showClose: true,
-              dangerouslyUseHTMLString: true,
-              message: `报表已生成,<a href="${jsonData.data}" target="_blank">点击下载报表</a>&nbsp;`,
-              duration: 60000,
-              type: 'success'
-            });
-        }
-        else{
-          self.$message.error(jsonData.message);
-        }
-      });
-    },
-  },
-  mounted: function () {
-    this.init();
-	this.changePage(1);
-  },
-  components: {
-    "el-select-tree": SelectTree,
-	"parkingWhite-detail":ParkingWhiteDetail,
-  },
-};
-</script>
-<style lang="scss" scoped>
-.el-breadcrumb {
-  margin: 10px;
-  line-height: 20px;
-}
-
-.el-divider {
-  margin: 5px 0;
-}
-
-.demo-form-inline {
-  margin-left: 10px;
-  text-align: left;
-}
-
-.button-group {
-  margin-left: 10px;
-  text-align: left;
-}
-</style>
+			<el-table-column prop="memberCarNum" label="车牌号码" width="130"></el-table-column>
+			<el-table-column prop="merchantName" label="所属商户" width="180" v-if="!detail.enableMember"></el-table-column>
+
+			<el-table-column prop="statusName" label="当前状态" width="90">
+
+			</el-table-column>
+
+
+			<el-table-column prop="memberStartTime" label="生效时间" width="180"></el-table-column>
+			<el-table-column prop="memberEndTime" label="截止时间" width="180"></el-table-column>
+
+			<el-table-column prop="days" label="存放天数" width="180"></el-table-column>
+
+			<el-table-column label="操作" width="250" fixed="right">
+				<template slot-scope="{ row }">
+
+					<el-row>
+						<el-col>
+
+							<el-link v-if="!queryModel.status" type="warning" @click="handleEdit(row)">编辑</el-link>
+
+						</el-col>
+					</el-row>
+				</template>
+			</el-table-column>
+
+		</el-table>
+		<el-pagination :current-page.sync="pageIndex" :total="totalElements" :page-sizes="pageSizeList"
+			@current-change="changePage" @size-change="pageSizeChange" layout="total, sizes, prev, pager, next, jumper">
+		</el-pagination>
+
+		<parkingWhite-detail v-if="showModal" :businessKey="businessKey" :merchantName="detail.merchantName"
+			:memberLeaveTime="detail.memberLeaveTime" @close="onDetailModalClose"></parkingWhite-detail>
+
+	</div>
+</template>
+<script>
+	import Constant from "@/constant";
+	import parkingWhiteApi from "@/api/base/parkingWhite";
+
+	import dataDictionaryApi from "@/api/sys/dataDictionary";
+	import companyInfoApi from "@/api/base/companyInfo";
+	import SelectTree from "@/components/SelectTree";
+	import NProgress from "nprogress"; // progress bar
+	import ParkingWhiteDetail from "./parkingWhite-detail";
+
+	import "nprogress/nprogress.css"; // progress bar style
+
+	export default {
+		name: "baseParkingWhiteList",
+		data() {
+			var self = this;
+
+			return {
+				detail: {},
+				queryModel: {
+					id: "",
+					memberName:"",
+					carNumber: "",
+					merchantName: "",
+
+					startTime: ["", ""],
+					endTime: ["", ""],
+					status: "",
+				},
+				loading: false,
+				tableData: [],
+				pageIndex: 1,
+				pageSize: 10,
+				totalPages: 0,
+				totalElements: 0,
+				field: "",
+				direction: "",
+				pageSizeList: [10, 20, 30],
+				multipleSelection: [],
+				showModal: false,
+				modalTitle: "",
+				businessKey: "",
+				typeResult: [],
+				companyResult: [],
+				props: {
+					// 配置项(必选)
+					value: "id",
+					label: "name",
+					children: "children",
+				},
+				downloadLoading: false,
+			};
+		},
+		created() {
+			var self = this;
+
+
+		},
+		methods: {
+			getSummaries(param) {
+
+				const {
+					columns,
+					data
+				} = param;
+				const sums = [];
+				columns.forEach((column, index) => {
+					if (index === 0) {
+						sums[index] = '合计天数';
+						return;
+					}
+
+					const values = data.map(item => Number(item[column.property]));
+
+					if (!values.every(value => isNaN(value))) {
+						sums[5] = values.reduce((prev, curr) => {
+							const value = Number(curr);
+							if (!isNaN(value)) {
+								return prev + curr;
+							} else {
+								return prev;
+							}
+						}, 0);
+
+						//sums[5] = sums[5]
+					} else {
+						sums[index] = '';
+					}
+				});
+
+				return sums;
+			},
+		
+			indexMethod(index) {
+				return (this.pageIndex - 1) * this.pageSize + (index + 1);
+			},
+			init() {
+				var self = this;
+
+				//self.loading = true;
+
+				parkingWhiteApi
+					.parkingMemberDetail()
+					.then(function(response) {
+						//self.loading = false;
+
+						self.detail = response.data.data;
+
+					})
+					.catch((error) => {
+						// self.loading = false;
+						// self.$message.error(error + "");
+					});
+			},
+			changePage(pageIndex) {
+				var self = this;
+
+				self.loading = true;
+
+				self.pageIndex = pageIndex;
+				var formData = new FormData();
+
+				formData.append("pageIndex", self.pageIndex);
+				formData.append("pageSize", self.pageSize);
+				formData.append("id", self.queryModel.id);
+				
+				formData.append("memberName", self.queryModel.memberName);
+				formData.append("merchantName", self.queryModel.merchantName);
+
+
+				formData.append("carNumber", self.queryModel.carNumber);
+				formData.append("verifyTime", self.queryModel.verifyTime);
+
+				if (self.queryModel.startTime && self.queryModel.startTime[0] != null) {
+					formData.append("startTime1", self.queryModel.startTime[0]);
+				}
+
+				if (self.queryModel.startTime && self.queryModel.startTime[1] != null) {
+					formData.append("startTime2", self.queryModel.startTime[1]);
+				}
+
+				if (self.queryModel.endTime && self.queryModel.endTime[0] != null) {
+					formData.append("endTime1", self.queryModel.endTime[0]);
+				}
+
+				if (self.queryModel.endTime && self.queryModel.endTime[1] != null) {
+					formData.append("endTime2", self.queryModel.endTime[1]);
+				}
+
+				formData.append("status", self.queryModel.status);
+
+				if (this.field != null) {
+					formData.append("field", this.field);
+				}
+
+				if (this.direction != null) {
+					formData.append("direction", this.direction);
+				}
+
+				parkingWhiteApi
+					.pageList(formData)
+					.then(function(response) {
+						self.loading = false;
+
+						var jsonData = response.data.data;
+
+						self.tableData = jsonData.data;
+						self.totalPages = jsonData.totalPages;
+						self.totalElements = jsonData.recordsTotal;
+					})
+					.catch((error) => {
+						self.loading = false;
+						// self.$message.error(error + "");
+					});
+			},
+			pageSizeChange(pageSize) {
+				this.pageSize = pageSize;
+
+				this.$nextTick(() => {
+					this.changePage(this.pageIndex);
+				});
+			},
+			sortChange(data) {
+				this.field = data.column.field;
+				this.direction = data.order;
+
+				this.changePage(this.pageIndex);
+			},
+			handleSelectionChange(val) {
+				this.multipleSelection = val;
+			},
+			handleReset(name) {
+				this.$refs[name].resetFields();
+			},
+			handleAdd() {
+				this.modalTitle = "录入车辆";
+				this.businessKey = "";
+
+				this.merchantName = this.detail.merchantName;
+				this.reduce = this.detail.reduce;
+				this.showModal = true;
+			},
+			handleEdit(record) {
+				this.modalTitle = "编辑";
+				this.businessKey = record.id;
+				this.showModal = true;
+			},
+			handleDelete(record) {
+				var self = this;
+
+				self
+					.$confirm("是否确认删除?", "提示", {
+						confirmButtonText: "确定",
+						cancelButtonText: "取消",
+						type: "warning",
+					})
+					.then(() => {
+						parkingWhiteApi.remove(record.id).then(function(response) {
+							var jsonData = response.data;
+
+							if (jsonData.result) {
+								// var index = self.tableData.indexOf(record);
+								// self.tableData.splice(index, 1);
+								self.changePage(self.pageIndex);
+
+								self.$message({
+									type: "success",
+									message: "删除成功!",
+								});
+							}
+						});
+					});
+			},
+			handleBatchDelete() {
+				var self = this;
+
+				var idList = this.multipleSelection.map((record) => {
+					return record.id;
+				});
+
+				this.$confirm("是否确认删除选中项?", "提示", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(() => {
+					parkingWhiteApi.batchRemove(idList).then(function(response) {
+						var jsonData = response.data;
+
+						if (jsonData.result) {
+							self.changePage(self.pageIndex);
+
+							self.$message({
+								type: "success",
+								message: "删除成功!",
+							});
+						}
+					});
+				});
+			},
+			onDetailModalClose(refreshed) {
+				//保存成功后回调
+				this.showModal = false;
+
+				if (refreshed) {
+					this.changePage(this.pageIndex);
+				}
+			},
+			downloadXls() {
+				//导出
+				var self = this;
+				self.downloadLoading = true;
+				self.loading = true;
+				self.loadingText = "数据导出中,请稍后...";
+
+				var formData = new FormData();
+
+				formData.append("pageIndex", self.pageIndex);
+				formData.append("pageSize", self.pageSize);
+
+				formData.append("id", self.queryModel.id);
+				formData.append("merchantName", self.queryModel.merchantName);
+				formData.append("type", self.queryModel.type);
+
+				if (self.queryModel.companyId != null) {
+					formData.append("companyId", self.queryModel.companyId);
+				}
+				formData.append("carNum", self.queryModel.carNum);
+				formData.append("verifyTime", self.queryModel.verifyTime);
+
+				if (self.queryModel.verifyTimeRange[0] != null) {
+					formData.append("verifyStartTime", self.queryModel.verifyTimeRange[0]);
+				}
+
+				if (self.queryModel.verifyTimeRange[1] != null) {
+					formData.append("verifyEndTime", self.queryModel.verifyTimeRange[1]);
+				}
+
+				formData.append("useStatus", self.queryModel.useStatus);
+
+				if (this.field != null) {
+					formData.append("field", this.field);
+				}
+
+				if (this.direction != null) {
+					formData.append("direction", this.direction);
+				}
+
+				parkingWhiteApi.exportXls(formData).then(function(response) {
+					var jsonData = response.data;
+					self.downloadLoading = false;
+					self.loading = false;
+					if (jsonData.result) {
+						//下载有错误信息提示的报表
+						self.$message({
+							showClose: true,
+							dangerouslyUseHTMLString: true,
+							message: `报表已生成,<a href="${jsonData.data}" target="_blank">点击下载报表</a>&nbsp;`,
+							duration: 60000,
+							type: 'success'
+						});
+					} else {
+						self.$message.error(jsonData.message);
+					}
+				});
+			},
+		},
+		mounted: function() {
+			this.init();
+			//this.changePage(1);
+		},
+		components: {
+		
+			"parkingWhite-detail": ParkingWhiteDetail,
+		},
+	};
+</script>
+<style lang="scss" scoped>
+	.el-breadcrumb {
+		margin: 10px;
+		line-height: 20px;
+	}
+
+	.el-divider {
+		margin: 5px 0;
+	}
+
+	.demo-form-inline {
+		margin-left: 10px;
+		text-align: left;
+	}
+
+	.button-group {
+		margin-left: 10px;
+		text-align: left;
+	}
+</style>