From 92146b2ca987538074c380f07f567ca85347dd13 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 06 一月 2025 14:17:39 +0800
Subject: [PATCH] feat: 新增月租车页面

---
 src/components/page/MonthFeePay.vue         |  201 ++++++++++++++++++++
 src/components/page/paymentLog/index.vue    |  114 +++++++++++
 src/store/state.js                          |   24 ++
 src/components/page/whiteListRule/index.vue |  196 +++++++++++++++++++
 public/words/administratorReturn.docx       |    0 
 src/components/page/whiteList/index.vue     |   19 +
 src/router/index.js                         |   15 +
 7 files changed, 567 insertions(+), 2 deletions(-)

diff --git a/public/words/administratorReturn.docx b/public/words/administratorReturn.docx
index 5c87f41..f46b420 100644
--- a/public/words/administratorReturn.docx
+++ b/public/words/administratorReturn.docx
Binary files differ
diff --git a/src/components/page/MonthFeePay.vue b/src/components/page/MonthFeePay.vue
new file mode 100644
index 0000000..3dff2b8
--- /dev/null
+++ b/src/components/page/MonthFeePay.vue
@@ -0,0 +1,201 @@
+<template>
+    <div class="weizhang-box">
+        <div class="weizhang-main-box">
+            <div class="weizhang-main-top">
+              <h1>鏈堢杞﹀姙鐞�</h1>
+            </div>
+            <div class="weizhang-main-bootom">
+                <div class="weizhang-main-form">
+                    <el-form label-width="100px" :model="statisticData" label-position="left">
+                        <el-form-item label="杞︾墝鍙凤細" style="margin-left: 25px;">
+                            <el-input v-model="statisticData.carNo" ></el-input>
+                        </el-form-item>
+                        <el-form-item label="鎵嬫満鍙凤細" style="margin-left: 25px;">
+                            <el-input v-model="statisticData.phone" ></el-input>
+                        </el-form-item>
+                        <el-form-item label="濮撳悕锛�" style="margin-left: 25px;">
+                            <el-input v-model="statisticData.name" ></el-input>
+                        </el-form-item>
+                        <el-form-item label="閫夋嫨鍏ㄩ儴锛�" style="margin-left: 25px;">
+                          <el-select v-model="statisticData.allFlag" :onchange="changeAll">
+                            <el-option label="鍗曚釜" :value=0></el-option>
+                            <el-option label="鍏ㄩ儴" :value=1></el-option>
+                          </el-select>
+                        </el-form-item>
+                      <el-form-item v-if="statisticData.allFlag == 0" label="鍋滆溅鍦猴細" style="margin-left: 25px;">
+                        <el-select v-model="statisticData.parkId" :onchange="changePark">
+                          <el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id" ></el-option>
+                        </el-select>
+                      </el-form-item>
+                        <el-form-item class="weizhang-footer-box" style="display: flex;justify-content: center;margin-top: 4.498vh" label-width="0" v-if="showFlag">
+                            <el-button class="jiaofei-btn" type="primary" @click="pay()" >鏌ヨ</el-button>
+                        </el-form-item>
+                    </el-form>
+
+                </div>
+
+            </div>
+        </div>
+
+    </div>
+</template>
+
+<script>
+    export default {
+        name: 'dashboard',
+        data() {
+            return {
+                ticketId:"",
+                table1:[],
+                statisticData:{
+                  allFlag:0
+                },
+                showFlag:true,
+            }
+        },
+        created(){
+          var url = window.location.href;
+          var cs = url.split('?')[1];
+          var cs_arr = cs.split('&');
+          var cs={};
+          for(var i=0;i<cs_arr.length;i++){
+            cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
+          }
+          this.statisticData.parkId = cs.id;
+          this.$byutil.postData(this, this.$systemconfig.basePath+'/ffzf/park/findAll', null, res => {
+            this.table1 = res.data;
+
+            this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/whiteListRule/getByParkId', {parkId:cs.id}, res => {
+              this.statisticData.parkId = res.data.id;
+            })
+          })
+        },
+        methods: {
+            pay(){
+              this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/monthFeePay/pay', this.statisticData, res => {
+                if(res.code == 0){
+                  //鏈煡璇㈠埌鏈堢エ锛屽彲姝e父缂磋垂
+
+                }else {
+                  //鏌ヨ鍒版湀绁紝缁垂
+
+                }
+              })
+            },
+          changePark(){
+
+          },
+          changeAll(){
+
+          }
+
+        }
+    }
+
+</script>
+
+
+<style lang="scss">
+    .weizhang-main-bootom{
+        .el-input__inner{
+            border:none;
+        }
+        .el-form-item__label{
+            color: #000;
+            font-weight: 600;
+        }
+    }
+    .weizhang-footer-box{
+        .el-form-item__content{
+            width: 100%;
+            display: flex;
+            justify-content: center;
+        }
+        .el-button--small{
+            padding: 11px 15px;
+            font-size: 0.347rem  /* 26/75 */;
+        }
+    }
+
+</style>
+<style lang="scss" scoped>
+h1,h2,h3,h4,h5{
+    font-family: '鑻规柟 涓瓑';
+    font-weight: normal;
+}
+.weizhang-header{
+    display: flex;
+    height: 12.8vw  /* 96/7.5 */;
+    align-items: center;
+    border-bottom:1px solid rgba(154,154,154,0.2);
+    .text{
+        flex: 1;
+        text-align: center;
+        h1{
+            font-size: 2.699vh  /* 36/13.34 */;
+        }
+    }
+    .right{
+        width: 6.747vh  /* 90/13.34 */;
+    }
+    .leftjiantou{
+        font-size: 5.33vw;
+        width: 6.747vh  /* 90/13.34 */;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+    }
+}
+.weizhang-main-box{
+    width: 100%;
+    display: flex;
+    flex-direction: column;
+    padding:5.33vw  /* 40/7.5 */;
+}
+.weizhang-main-top{
+    height: 22.489vh  /* 300/13.34 */;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    border-bottom: 1px solid #f0f0f0;
+    .money{
+        font-size: 6.93vw  /* 52/7.5 */;
+        font-weight: 550;
+    }
+    .weizhang{
+        font-size: 0.4rem  /* 30/75 */;
+        line-height: 2;
+        font-weight: normal;
+        margin-top:1.33vw  /* 10/7.5 */;
+        color: #000;
+    }
+}
+    .weizhang-main-form{
+    }
+    .weizhang-tiaokuan{
+        margin-top: 2.67vw  /* 20/7.5 */;
+        h1{
+            font-size:3.2vw  /* 24/7.5 */;
+            color: #999999;
+            text-indent: 2.5em;
+            line-height: 2;
+        }
+    }
+    .jiaofei-btn{
+        width: 64.53vw  /* 484/7.5 */;
+        border-radius: 5.33vw  /* 40/7.5 */;
+        background-image: linear-gradient(to right,#33b1fe,#0679dc);
+    }
+.logoPhone{
+    margin-top: 0.67vw;
+    width: 1.333rem  /* 100/75 */;
+    height: 1.333rem  /* 100/75 */;
+}
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+    margin-bottom: 10px;
+}
+.weizhang-main-bootom{
+    margin-top: 0.333rem  /* 25/75 */;
+}
+</style>
diff --git a/src/components/page/paymentLog/index.vue b/src/components/page/paymentLog/index.vue
new file mode 100644
index 0000000..31230c3
--- /dev/null
+++ b/src/components/page/paymentLog/index.vue
@@ -0,0 +1,114 @@
+<template>
+    <div>
+        <div style="padding: 10px 10px 0px 10px;">
+            <el-form :inline="true" :model="searchForm">
+              <el-form-item label="鍋滆溅鍦�">
+                <el-select v-model="searchForm.parkId" clearable>
+                  <el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id" ></el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="杞︾墝鍙�">
+                <el-input v-model="searchForm.carNo" clearable></el-input>
+              </el-form-item>
+              <el-form-item label="濮撳悕">
+                <el-input v-model="searchForm.name" clearable></el-input>
+              </el-form-item>
+              <el-form-item label="鎵嬫満鍙�">
+                <el-input v-model="searchForm.phone" clearable></el-input>
+              </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" size="small" @click="onSearch" icon="el-icon-search">鏌ヨ</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+
+        <el-table :height="tableHeight" :data="pageData.rows" v-loading="pageData.isLoading" border style="width:100%;border:1px solid #bcbec2;">
+            <el-table-column type="index" width="50" label="搴忓彿" align="center"> </el-table-column>
+            <el-table-column prop="name" label="鍋滆溅鍦�" align="center" width="150"></el-table-column>
+            <el-table-column
+                prop="carNo"
+                header-align="center"
+                align="center"
+                label="杞︾墝鍙�">
+            </el-table-column>
+            <el-table-column prop="name" label="鍚嶇О" align="center"></el-table-column>
+            <el-table-column prop="phone" label="鎵嬫満鍙�" align="center"></el-table-column>
+            <el-table-column prop="money" label="缂磋垂閲戦" align="center"></el-table-column>
+        </el-table>
+        <el-pagination background @size-change="onPageSizeChange" @current-change="onCurrentPageChange" :current-page="pageData.currentPage" :page-size="pageData.pageSize" :total="pageData.total" style="float: right"></el-pagination>
+    </div>
+</template>
+
+<script>
+    export default {
+        name: "index",
+        data: function () {
+            return {
+                flag:false,
+                flag2:false,
+                searchForm: {
+                    name: '',
+                    carNo:'',
+                    type:null,
+                    date: null
+                },
+                pageData: this.$byutil.defaultPageData(),
+                formData: {
+                    type: 0,
+                    parkId:null,
+                    carNo:null,
+                    phone:0,
+                    sixMonthMoney:0,
+                    yearMoney:0,
+                    name: '',
+                    createBy:'',
+                    updateBy:''
+                },
+                ids:[],
+                urlPath:this.$systemconfig.basePath + '/ffzf/paymentLog/',
+                table1:[],
+                userName:'',
+              tableHeight:500,
+            }
+        },
+        mounted() {
+          let username = localStorage.getItem('name')
+          this.formData.createBy = username
+          this.userName = username
+            this.loadData();
+            this.$byutil.postData(this, this.$systemconfig.basePath+'/ffzf/park/findAll', this.formData, res => {
+                this.table1 = res.data;
+            })
+          this.tableHeight = window.innerHeight - 260
+        },
+        methods: {
+            selectChange(value){
+                if(value==1){
+                    this.flag2 = true;
+                }else{
+                    this.flag2 = false;
+                }
+            },
+
+            loadData() {
+                this.$byutil.loadPageData(this, this.urlPath+'findPage', this.searchForm);
+            },
+            onSearch() {
+                this.pageData = this.$byutil.defaultPageData();
+                this.loadData();
+            },
+            onPageSizeChange(val) {
+                this.pageData.pageSize = val;
+                this.loadData();
+            },
+            onCurrentPageChange(val) {
+                this.pageData.page = val;
+                this.loadData();
+            },
+        }
+    }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/page/whiteList/index.vue b/src/components/page/whiteList/index.vue
index 5aa7a81..a6ca08c 100644
--- a/src/components/page/whiteList/index.vue
+++ b/src/components/page/whiteList/index.vue
@@ -11,6 +11,12 @@
                 <el-option label="鏈堢エ" :value="1"></el-option>
               </el-select>
               </el-form-item>
+              <el-form-item label="鏉ユ簮">
+                <el-select  v-model="searchForm.payFlag" placeholder="璇烽�夋嫨" clearable>
+                  <el-option label="绯荤粺娣诲姞" :value="0"></el-option>
+                  <el-option label="鑷富缂磋垂" :value="1"></el-option>
+                </el-select>
+              </el-form-item>
               <el-form-item label="閫夋嫨缁撴潫鏃堕棿">
                 <div class="date-box">
                   <el-date-picker type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
@@ -34,9 +40,16 @@
                     <p v-if="scope.row.type==1">鏈堢エ</p>
                 </template>
             </el-table-column>
+          <el-table-column prop="payFlag" label="娣诲姞绫诲瀷" align="center" width="100">
+            <template slot-scope="scope">
+              <p v-if="scope.row.payFlag==0">绯荤粺娣诲姞</p>
+              <p v-if="scope.row.payFlag==1">鑷富缂磋垂</p>
+            </template>
+          </el-table-column>
             <el-table-column prop="startTime" label="鏈堢エ寮�濮嬫棩鏈�" align="center"></el-table-column>
             <el-table-column prop="endTime" label="鏈堢エ缁撴潫鏃ユ湡" align="center"></el-table-column>
             <el-table-column prop="name" label="鍋滆溅鍦�" align="center"></el-table-column>
+          <el-table-column prop="phone" label="鎵嬫満鍙�" align="center"></el-table-column>
             <el-table-column prop="createBy" label="鎿嶄綔浜�" align="center"></el-table-column>
             <el-table-column label="鎿嶄綔" fixed="right" width="150" align="center">
                 <template slot-scope="scope">
@@ -89,7 +102,8 @@
                     name: '',
                     carNo:'',
                     type:null,
-                    date: null
+                    date: null,
+                    payFlag:null
                 },
                 pageData: this.$byutil.defaultPageData(),
                 formData: {
@@ -158,7 +172,8 @@
                     type: 0,
                     endTime: '',
                     startTime: '',
-                    parkIds: null
+                    parkIds: null,
+                    payFlag:0
                 }
             },
             onEdit(row) {
diff --git a/src/components/page/whiteListRule/index.vue b/src/components/page/whiteListRule/index.vue
new file mode 100644
index 0000000..9e194e0
--- /dev/null
+++ b/src/components/page/whiteListRule/index.vue
@@ -0,0 +1,196 @@
+<template>
+    <div>
+        <div style="padding: 10px 10px 0px 10px;">
+            <el-form :inline="true" :model="searchForm">
+              <el-form-item label="鍋滆溅鍦�">
+                <el-select v-model="searchForm.parkId" clearable>
+                  <el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id" ></el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="绫诲瀷">
+              <el-select  v-model="searchForm.type" placeholder="绫诲瀷" clearable>
+                <el-option label="鍗曚釜" :value=0></el-option>
+                <el-option label="鍏ㄩ儴" :value=1></el-option>
+              </el-select>
+              </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" size="small" @click="onSearch" icon="el-icon-search">鏌ヨ</el-button>
+                    <el-button type="primary" size="small" @click="onAdd" icon="el-icon-plus">澧炲姞</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+
+        <el-table :height="tableHeight" :data="pageData.rows" v-loading="pageData.isLoading" border style="width:100%;border:1px solid #bcbec2;">
+            <el-table-column type="index" width="50" label="搴忓彿" align="center"> </el-table-column>
+            <el-table-column prop="type" label="绫诲瀷" align="center" width="100">
+                <template slot-scope="scope">
+                    <p v-if="scope.row.type==0">鍗曚釜</p>
+                    <p v-if="scope.row.type==1">鍏ㄩ儴</p>
+                </template>
+            </el-table-column>
+            <el-table-column prop="name" label="鍋滆溅鍦�" align="center" width="150"></el-table-column>
+            <el-table-column prop="monthMoney" label="鍗曟湀閲戦" align="center"></el-table-column>
+            <el-table-column prop="threeMonthMoney" label="涓変釜鏈堥噾棰�" align="center"></el-table-column>
+            <el-table-column prop="sixMonthMoney" label="鍏釜鏈堥噾棰�" align="center"></el-table-column>
+            <el-table-column prop="yearMoney" label="涓�骞撮噾棰�" align="center"></el-table-column>
+            <el-table-column label="鎿嶄綔" fixed="right" width="150" align="center">
+                <template slot-scope="scope">
+                    <el-button size="mini" @click="onEdit(scope.row)">缂栬緫</el-button>
+                    <el-button size="mini" type="danger" @click="onDelete(scope.row)">鍒犻櫎</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <el-pagination background @size-change="onPageSizeChange" @current-change="onCurrentPageChange" :current-page="pageData.currentPage" :page-size="pageData.pageSize" :total="pageData.total" style="float: right"></el-pagination>
+
+        <el-dialog title="缂栬緫" :visible.sync="flag" width="30%">
+            <el-form :model="formData" ref="formData" label-width="100px">
+                <el-form-item label="绫诲瀷" prop="type" :rules="[{ required: true, message: '璇烽�夋嫨绫诲瀷', trigger: 'change'}]">
+                    <el-select v-model="formData.type" @change="selectChange">
+                        <el-option label="鍏ㄩ儴" :value=1></el-option>
+                        <el-option label="鍗曚釜" :value=0></el-option>
+                    </el-select>
+                </el-form-item>
+              <el-form-item label="鍋滆溅鍦�" prop="parkId" v-if="flag2">
+                <el-select v-model="formData.parkId" clearable>
+                  <el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="鍗曟湀閲戦" prop="monthMoney">
+                <el-input-number v-model="formData.monthMoney" :min="0"></el-input-number>
+              </el-form-item>
+              <el-form-item label="涓変釜鏈堥噾棰�" prop="threeMonthMoney">
+                <el-input-number v-model="formData.threeMonthMoney" :min="0"></el-input-number>
+              </el-form-item>
+              <el-form-item label="鍏釜鏈堥噾棰�" prop="sixMonthMoney">
+                <el-input-number v-model="formData.sixMonthMoney" :min="0"></el-input-number>
+              </el-form-item>
+              <el-form-item label="涓�骞撮噾棰�" prop="yearMoney">
+                <el-input-number v-model="formData.yearMoney" :min="0"></el-input-number>
+              </el-form-item>
+
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="flag = false">鍙� 娑�</el-button>
+                <el-button type="primary" @click="onSave">纭� 瀹�</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+    export default {
+        name: "index",
+        data: function () {
+            return {
+                flag:false,
+                flag2:false,
+                searchForm: {
+                    name: '',
+                    carNo:'',
+                    type:null,
+                    date: null
+                },
+                pageData: this.$byutil.defaultPageData(),
+                formData: {
+                    type: 1,
+                    parkId:null,
+                    monthMoney:0,
+                    threeMonthMoney:0,
+                    sixMonthMoney:0,
+                    yearMoney:0,
+                    name: '',
+                    createBy:'',
+                    updateBy:''
+                },
+                ids:[],
+                urlPath:this.$systemconfig.basePath + '/ffzf/whiteListRule/',
+                table1:[],
+                userName:'',
+              tableHeight:500,
+            }
+        },
+        mounted() {
+          let username = localStorage.getItem('name')
+          this.formData.createBy = username
+          this.userName = username
+            this.loadData();
+            this.$byutil.postData(this, this.$systemconfig.basePath+'/ffzf/park/findAll', this.formData, res => {
+                this.table1 = res.data;
+            })
+          this.tableHeight = window.innerHeight - 260
+        },
+        methods: {
+            selectChange(value){
+                if(value==0){
+                    this.flag2 = true;
+                }else{
+                    this.flag2 = false;
+                }
+            },
+            onSave(){
+                this.$refs['formData'].validate((valid) => {
+                    if (valid) {
+                        this.$byutil.postData(this, this.urlPath+'save', this.formData, res => {
+                            this.$refs['formData'].resetFields();
+                            this.flag=false;
+                            this.$message({message:'淇濆瓨鎴愬姛', type: 'success'});
+                            this.loadData();
+                        })
+                    } else {
+                        return false;
+                    }
+                });
+            },
+            loadData() {
+                this.$byutil.loadPageData(this, this.urlPath+'findPage', this.searchForm);
+            },
+            onSearch() {
+                this.pageData = this.$byutil.defaultPageData();
+                this.loadData();
+            },
+            onAdd() {
+                this.flag=true;
+                this.flag2=false;
+                this.$refs['formData'].resetFields();
+                this.formData = {
+                    carNo: '',
+                    type: 1,
+                    endTime: '',
+                    startTime: '',
+                    parkIds: null
+                }
+            },
+            onEdit(row) {
+                this.flag=true;
+                this.ids = []
+                this.formData  = row;
+                this.formData.updateBy = this.userName
+                if(row.type==1){
+                  this.ids = this.formData.parkIds.split(",")
+                  this.ids = this.ids.map(function(data){
+                    return +data;
+                  });
+                  this.flag2=true;
+                }
+            },
+            onDelete(row) {
+                this.$byutil.deleteData(this,this.urlPath+"delete",{id:row.id}, res => {
+                    this.$message({message: '鍒犻櫎鎴愬姛', type: 'success'});
+                    this.loadData();
+                })
+            },
+            onPageSizeChange(val) {
+                this.pageData.pageSize = val;
+                this.loadData();
+            },
+            onCurrentPageChange(val) {
+                this.pageData.page = val;
+                this.loadData();
+            },
+        }
+    }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/router/index.js b/src/router/index.js
index 852c55a..2df8b20 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -55,6 +55,16 @@
                     meta: { title: '娉婅溅鍙戠エ绠$悊' }
                 },
                 {
+                    path: '/whiteListRule',
+                    component: resolve => require(['../components/page/whiteListRule/index.vue'], resolve),
+                    meta: { title: '鏈堢エ杞﹁鍒欑鐞�' }
+                },
+                {
+                    path: '/paymentLog',
+                    component: resolve => require(['../components/page/paymentLog/index.vue'], resolve),
+                    meta: { title: '缂磋垂鏃ュ織绠$悊' }
+                },
+                {
                     path: '/whiteList',
                     component: resolve => require(['../components/page/whiteList/index.vue'], resolve),
                     meta: { title: '鐧藉悕鍗�' }
@@ -195,6 +205,11 @@
             component: resolve => require(['../components/page/EditParkNum'], resolve),
             meta: { title: '杞︿綅鏁伴噺' }
         },
+        {
+            path: '/monthFeePay',
+            component: resolve => require(['../components/page/MonthFeePay.vue'], resolve),
+            meta: { title: '鏈堢杞︾即璐�' }
+        },
     ]
 })
 
diff --git a/src/store/state.js b/src/store/state.js
index 1080d8a..6b2a551 100644
--- a/src/store/state.js
+++ b/src/store/state.js
@@ -62,6 +62,18 @@
                     indexUrl: "barrierOpenLog"
                 },
                 {
+                    icon: 'el-icon-document',
+                    name: '鏈堢エ杞﹁鍒欑鐞�',
+                    parentId: 2,
+                    indexUrl: "whiteListRule"
+                },
+                {
+                    icon: 'el-icon-document',
+                    name: '缂磋垂鏃ュ織绠$悊',
+                    parentId: 2,
+                    indexUrl: "paymentLog"
+                },
+                {
                   icon: 'el-icon-document',
                   name: '鐧藉悕鍗曠鐞�',
                   parentId: 2,
@@ -153,6 +165,18 @@
                 },
                 {
                     icon: 'el-icon-document',
+                    name: '鏈堢エ杞﹁鍒欑鐞�',
+                    parentId: 2,
+                    indexUrl: "whiteListRule"
+                },
+                {
+                    icon: 'el-icon-document',
+                    name: '缂磋垂鏃ュ織绠$悊',
+                    parentId: 2,
+                    indexUrl: "paymentLog"
+                },
+                {
+                    icon: 'el-icon-document',
                     name: '鎵嬪姩鎶潌璁板綍',
                     parentId: 2,
                     indexUrl: "barrierOpenLog"

--
Gitblit v1.9.1