tanyanfei 4 anni fa
parent
commit
0b597f6ea9

+ 177 - 0
src/components/hotel.vue

@@ -0,0 +1,177 @@
+<style lang='scss'>
+    .add_hotel{
+        max-height: 70vh;
+        overflow: auto;
+        .title{
+            font-size: 18px;
+            font-weight: 400;
+            margin-bottom: 20px;
+            // padding-left: 30px;
+            color: #333;
+        }
+        .hotel_type{
+            border: 1px solid #d9d9d9;
+            padding: 20px 0;
+            margin-bottom: 10px;
+            .el-input{
+                width: 130px;
+            }
+        }
+    }
+</style>
+<template>
+    <section class="add_hotel">
+        <el-form label-width="100px" size='small'>
+            <el-row>
+                <el-col :span="12">
+                    <el-form-item label="会议名称">
+                        <el-input disabled v-model="form.name"></el-input>
+                    </el-form-item>
+                </el-col>                
+                <el-col :span="10">
+                   <el-form-item label="选择历史酒店">
+                        <el-select placeholder="请选择酒店" v-model="form.sponsor" clearable filterable>
+                            <el-option
+                                v-for="(item, index) in organizerList"
+                                :key="index"
+                                :label="item.name"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>      
+                             
+                </el-col>
+                <el-col :span="24"><h2 class="title">填写酒店信息</h2>      </el-col>
+                <el-col :span="12">
+                    <el-form-item label="酒店名称">
+                        <el-input  v-model="form.name" clearable></el-input>
+                    </el-form-item>
+                </el-col> 
+                <el-col :span="10">
+                    <el-form-item label="酒店电话">
+                        <el-input  v-model="form.address" clearable></el-input>
+                    </el-form-item>
+                </el-col> 
+                <el-col :span="12">
+                    <el-form-item label="酒店地址">
+                        <el-input  v-model="form.address" clearable></el-input>
+                    </el-form-item>
+                </el-col> 
+                <el-col :span="24">
+                    <el-form-item label="酒店图片" class="hotel_imgs">
+                            <el-upload
+                                action="/api/admin/uploadfile"
+                                list-type="picture-card">
+                                <i class="el-icon-plus"></i>
+                            </el-upload>
+                            <span style='font-size:12px;color:#999999;'>建议图片尺寸为:210*160</span>
+                    </el-form-item>
+                </el-col>     
+                <el-col :span="24">
+                    <h2 class="title">填写房型信息</h2>                   
+                </el-col>
+                <el-row v-for='(item,index) in form.type' :key='index'>
+                    <el-col :span="20" class="hotel_type" >
+                        <el-form :inline='true' label-width="70px" size="small">
+                            <el-form-item label="房型名称">
+                                <el-input  v-model="item.name" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="可住人数">
+                                <el-input  v-model="item.number" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="房型数量">
+                                <el-input  v-model="form.amount" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="面积">
+                                <el-input   v-model="form.area" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="楼层">
+                                <el-input   v-model="form.amount" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="床型">
+                                <el-input   v-model="form.floor" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="餐食">
+                                <el-input   v-model="form.meal" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="窗户">
+                                <el-input   v-model="form.window" clearable></el-input>
+                            </el-form-item>
+                            <el-form-item label="房型">
+                                <el-select v-model="form.mattess" clearable>
+                                    <el-option
+                                        v-for="(item, index) in hotel_type"
+                                        :key="index"
+                                        :label="item.name"
+                                        :value="item.value">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="房价">
+                                <el-input   v-model="form.price" clearable></el-input>
+                            </el-form-item>
+                            <br>
+                            <el-form-item label="酒店图片" class="hotel_imgs">
+                                <el-upload action="/api/admin/uploadfile"
+                                        list-type="picture-card" >
+                                        <i class="el-icon-plus"></i>
+                                </el-upload>
+                                <!-- <span style='font-size:12px;color:#999999;'>建议图片尺寸为:210*160</span> -->
+                            </el-form-item>
+                        </el-form>               
+                    </el-col>
+                    <el-col :span="3" :offset='1'>
+                        <el-button size="mini" plain type="primary" icon='el-icon-top'></el-button><br><br>
+                        <el-button size="mini" plain  type="primary" icon='el-icon-bottom'></el-button><br><br>
+                        <el-button @click="del(index)" size="mini" plain  type="danger" icon='el-icon-delete'></el-button>
+                    </el-col>
+                </el-row>
+                <el-col :span='24'>
+                    <el-button @click="add_type" type="info" plain>添加房型</el-button>
+                </el-col>
+            </el-row>
+        </el-form>
+    </section>
+</template>
+<script>
+export default {
+    name:'hotel',
+    data(){
+        return{
+            organizerList:[],
+            cityList:[],
+            form:{
+                type:[
+                    {}
+                ]
+            },
+            hotel_type:[
+                { name:'单人间',value:1 },
+                { name:'一人单住或标间合住',value:2 }
+            ]
+        }
+    },
+    methods:{
+        getData() {
+            var parm = this.form;
+            this.$api.getAllOrganizer().then((res) => {
+                this.organizerList = res.data.data;
+            });
+            this.$api.getCityList().then((res) => {
+                this.cityList = res.data.data;
+            });
+        },
+        //添加房型
+        add_type(){
+            this.form.type.push({})
+        },
+        //删除
+        del(index){
+            this.form.type.splice(index,1)
+        }
+    },
+    created(){
+        this.getData();
+    }
+}
+</script>

+ 1 - 1
src/router.js

@@ -166,7 +166,7 @@ export default new Router({
       isLeaf: 1,
       children: [{
         path: '/conference/signup',
-        component: () => import('./views/message/Message.vue'),
+        component: () => import('./views/conference/Apply.vue'),
         name: '报名管理'
       }, ]
     },

+ 3 - 0
src/style/home.scss

@@ -236,3 +236,6 @@ tbody{
 .el-dialog__footer{
 	text-align: center;
 }
+.w-e-text{
+    min-height: 500px !important;
+}

+ 51 - 51
src/views/conference/AddConference.vue

@@ -78,8 +78,9 @@
     width:79px;
     height: 79px;
     line-height: 79px;
-    }
+    }   
 }
+
 </style>
 <template>
     <section>
@@ -107,7 +108,7 @@
                             </el-select>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="10" :offset="4">
+                    <el-col :span="12" :offset="2">
                         <el-form-item label="会议时间:">
                             <el-date-picker
                                 v-model="form.time"
@@ -123,15 +124,15 @@
                 <el-row>
                     <el-col :span="10">
                         <el-form-item label="城市:">
-                            <el-cascader
-                                v-model="value"
+                            <el-cascader style="width:100%;"
+                                v-model="form.city"
                                 :options="cityList"
                                 @change="handleChangeCity">
                             </el-cascader>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="10" :offset="4">
-                        <el-form-item label="会议时间:">
+                    <el-col :span="12" :offset="2">
+                        <el-form-item label="地址">
                             <el-input placeholder="请输入详细地址" v-model="form.address"></el-input>
                         </el-form-item>
                     </el-col>
@@ -141,46 +142,50 @@
                     <el-input type='textarea' v-model="form.introduce" :rows="3" placeholder="请输入会议介绍"></el-input>
                 </el-form-item>
                 <el-row>
-                  <el-col :span="12">
+                  <el-col :span="8">
                       <el-form-item label='是否报名:'>
-                        <el-radio-group v-model='form.is_signup'>
-                            <el-radio :label='0'>不可报名</el-radio>
-                            <el-radio :label='1'>可报名</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                  </el-col>
-                  <el-col :span="12">
-                      <el-form-item label='报名需提交信息:'>
-                        <el-checkbox-group v-model='form.signup_fields'>
-                            <el-checkbox v-for='(item,index) in form.signup_fields' :key='index' :label='item.id'>{{item.name}}</el-checkbox>
-                        </el-checkbox-group>
+                        <el-switch
+                            v-model="form.is_signup"
+                            active-text="可报名"
+                            inactive-text="不可报名">
+                        </el-switch>
                     </el-form-item>
                   </el-col>
-                </el-row>
-                <el-row>
-                    <el-col :span="12">
+                  
+                    <el-col :span="8">
                         <el-form-item label='是否热门:'>
-                            <el-radio-group v-model='form.is_popular'>
-                                <el-radio :label='0'>不热门</el-radio>
-                                <el-radio :label='1'>热门</el-radio>
-                            </el-radio-group>
+                            <el-switch
+                                v-model="form.is_popular"
+                                active-text="热门"
+                                inactive-text="不热门">
+                            </el-switch>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="12">
+                    <el-col :span="8">
                         <el-form-item label='是否推荐:'>
-                            <el-radio-group v-model='form.is_recommend'>
+                            <el-switch
+                                v-model="form.is_recommend"
+                                active-text="推荐"
+                                inactive-text="不推荐">
+                            </el-switch>
+                            <!-- <el-radio-group v-model='form.is_recommend'>
                                 <el-radio :label='0'>不推荐</el-radio>
                                 <el-radio :label='1'>推荐</el-radio>
-                            </el-radio-group>
+                            </el-radio-group> -->
                         </el-form-item>
                     </el-col>
+                    <el-col :span="24">
+                      <el-form-item label='报名需提交信息:'>
+                        <el-checkbox-group v-model='form.signup_fields'>
+                            <el-checkbox v-for='(item,index) in form.signup_fields' :key='index' :label='item.id'>{{item.name}}</el-checkbox>
+                        </el-checkbox-group>
+                    </el-form-item>
+                  </el-col>
                 </el-row>
                 <el-form-item label='封面图:'>
                     <el-upload
                         action="/api/admin/uploadfile"
-                        list-type="picture-card"
-                        :on-preview="handlePictureCardPreview"
-                        :on-remove="handleRemove">
+                        list-type="picture-card">
                         <i class="el-icon-plus"></i>
                     </el-upload>
                     <span style='font-size:12px;color:#999999;'>建议图片尺寸为:210*160</span>
@@ -194,11 +199,15 @@
                             <section style="height:544px;padding:10px 0px;border:1px solid #ccc;">
                                 <div v-for='(item,index) in form.speaker' :key='index' class='speaker'>  
                                 <el-row>
-                                    <el-col :span="9">
+                                    <el-col :span="12">
                                         <el-form-item label="主讲人姓名">
                                             <el-input placeholder="请输入主讲人姓名" v-model="item.name"></el-input>
                                         </el-form-item>
+                                        <el-form-item label="主讲人简介">
+                                            <el-input type="textarea" placeholder="请输入主讲人简介" v-model="item.intruduce"></el-input>
+                                        </el-form-item>
                                     </el-col>
+                                  
                                     <el-col :span="8">
                                         <el-form-item label="主讲人头像">
                                             <el-upload
@@ -212,22 +221,16 @@
                                             </el-upload>
                                         </el-form-item>
                                     </el-col>
-                                    <el-col :span="2">
-                                        <el-button v-if='index==0' type="normal" @click='addSpeaker' icon="el-icon-plus">添加主讲人</el-button>
-                                        <el-button v-else type="normal" @click='clearSpeaker(index)'>删除</el-button>
-                                    </el-col>
-                                </el-row>
-                                <el-row style='position:relative;top:-55px'>
-                                    <el-col :span="9">
-                                        <el-form-item label="主讲人简介">
-                                            <el-input type="textarea" placeholder="请输入主讲人简介" v-model="item.intruduce"></el-input>
-                                        </el-form-item>
+                                    
+                                    <el-col :span="4">
+                                        <el-button v-if='index==0' size="mini" type="primary" plain @click='addSpeaker' icon="el-icon-plus">添加主讲人</el-button>
+                                        <el-button v-else type="danger" size="mini" plain @click='clearSpeaker(index)'>删除</el-button>
                                     </el-col>
                                 </el-row>
                                 </div>
                             </section>
                         </el-tab-pane>
-                        <el-tab-pane label="酒店信息" name="third">
+                        <!-- <el-tab-pane label="酒店信息" name="third">
                             <section class="hotel" style="padding:10px 0px;border:1px solid #ccc;">
                                 <el-row>
                                     <el-col :span="16">
@@ -242,7 +245,7 @@
                                         </el-select>
                                         </el-form-item>
                                     </el-col>
-                                    <el-col :span="4" offset='1'>
+                                    <el-col :span="4" :offset='1'>
                                         <el-form-item>
                                             <el-button icon="el-icon-plus">添加酒店</el-button>
                                         </el-form-item>
@@ -271,9 +274,7 @@
                                         <el-form-item label="酒店图片" class="hotel_imgs">
                                             <el-upload
                                                 action="/api/admin/uploadfile"
-                                                list-type="picture-card"
-                                                :on-preview="handlePictureCardPreview"
-                                                :on-remove="handleRemove">
+                                                list-type="picture-card">
                                                 <i class="el-icon-plus"></i>
                                             </el-upload>
                                             <span style='font-size:12px;color:#999999;'>建议图片尺寸为:210*160</span>
@@ -344,9 +345,7 @@
                                         <el-form-item label="酒店图片" class="hotel_imgs">
                                             <el-upload
                                                 action="/api/admin/uploadfile"
-                                                list-type="picture-card"
-                                                :on-preview="handlePictureCardPreview"
-                                                :on-remove="handleRemove">
+                                                list-type="picture-card" >
                                                 <i class="el-icon-plus"></i>
                                             </el-upload>
                                             <span style='font-size:12px;color:#999999;'>建议图片尺寸为:210*160</span>
@@ -361,7 +360,7 @@
                                     </el-col>
                                 </el-row>
                             </section>
-                        </el-tab-pane>
+                        </el-tab-pane> -->
                     </el-tabs>
                 </el-form-item>
                 <el-form-item style="position:fixed;bottom:20px;right:60px;">
@@ -387,6 +386,7 @@ export default {
                 is_signup:0,
                 is_popular:0,
                 is_recommend:0,
+                city:[],
                 signup_fields:[
                     { name: "姓名", id: "1" },
                     { name: "性别", id: "2" },

+ 138 - 0
src/views/conference/Apply.vue

@@ -0,0 +1,138 @@
+<template>
+    <section>
+        <p><span>会议管理></span>报名管理</p>
+        <div class="content">
+            <div class="filter">
+                <el-form size="small" label-width="70px" :inline="true"  label-position="left">
+                    <el-form-item label="">
+                            <el-input clearable placeholder="请输入姓名" v-model="form.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="">
+                            <el-select v-model="form.id" clearable placeholder="请选择会议"></el-select>
+                    </el-form-item>
+                    <el-form-item label="">
+                            <el-select v-model="form.id" clearable placeholder="请选择酒店"></el-select>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-button  type="primary">搜索</el-button>
+                    </el-form-item>
+                    <el-form-item style="float:right" >
+                        <el-button plain icon="el-icon-download" type="primary">导出Excel</el-button>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <el-tabs v-model="order_status" @tab-click="tabClick">
+                <el-tab-pane name="-3" label="待审核"></el-tab-pane>
+                <el-tab-pane name="-1" label="待缴费"></el-tab-pane>
+                <el-tab-pane name="0" label="待上传凭证"></el-tab-pane>
+                <el-tab-pane name="-2" label="待选酒店"></el-tab-pane>
+                <el-tab-pane name="1" label="待核销"></el-tab-pane>
+                <el-tab-pane name="2" label="已核销"></el-tab-pane>
+            </el-tabs>
+             <el-table
+                    class="table"
+                    :data="list"
+                    height='50vh'
+                    border  v-loading="loading"
+                    default-expand-all row-key="id"
+                    style="width: 100%">
+                    <el-table-column
+                    prop="name"  
+                    label="会议名称">
+                    </el-table-column>
+                    <el-table-column
+                    prop="username"  
+                    label="真实姓名">
+                    </el-table-column>
+                    <el-table-column
+                    prop="username"  
+                    label="昵称">
+                    </el-table-column>
+                    <el-table-column
+                    prop="username"  
+                    label="头像">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="性别">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="手机号">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="邮箱">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="单位">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="已选酒店">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="已选房型">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="入住天数">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="入住时间">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="离开时间">
+                    </el-table-column>
+                    <el-table-column
+                    prop=""  
+                    label="状态">
+                    </el-table-column>
+                    <el-table-column  
+                    prop="zip"  width="200" fixed="right"
+                    label="操作">
+                    <template slot-scope="">
+                        <el-button  class="edit"  type="text" >审核</el-button>
+                        <el-button  type="text">发票详情</el-button>
+                        <el-button    type="text" >入住凭证</el-button>
+                    </template>
+                    </el-table-column>
+            </el-table>
+            <Page  ref="pageButton" :current='form.page' :page_size='form.page_size' :total='total' @pageChange='gopage'/>
+
+        </div>
+    </section>
+</template>
+<script>
+import Page from '../../components/Page';
+export default {
+    components:{
+        Page
+    },
+    data(){
+        return{
+            form:{},
+            order_status:'-3',
+            list:[{}],
+            total:0,
+            loading:false
+        }
+    },
+    methods:{
+        gopage(size){
+            if(size){
+                this.form.page_size=size
+            }
+            this.form.page=this.$refs.pageButton.page
+            this.getData()
+        },
+        tabClick(){
+
+        }
+    }
+}
+</script>

+ 8 - 28
src/views/conference/Manage.vue

@@ -68,47 +68,27 @@
                     prop="zip"  width="150"
                     label="操作">
                     <template slot-scope="">
-                        <el-button class="edit" type="text" @click="dialogVisible=true,edit=0">编辑</el-button>
-                        <el-button class="del" @click="del" type="text">删除</el-button>
+                        <el-button    type="text" >添加酒店</el-button>
+                        <el-button class="edit" type="text">查看酒店</el-button>
                     </template>
                     </el-table-column>
             </el-table>
             <Page  ref="pageButton" :current='form.page' :page_size='form.page_size' :total='total' @pageChange='gopage'/>
         </div>
 
-        <el-dialog
+        <el-dialog width="80%"
         :title="dialogTitle" :close-on-click-modal='false'
         :visible.sync="dialogVisible">
-        <el-form size="small" class="preview" :inline='false' label-width="80px">
-                <el-form-item label="角色名称">
-                    <el-input v-model="form1.name"></el-input>
-                </el-form-item>
-                <el-form-item label="角色权限">
-                    <!-- <el-input placeholder="请输入内容" v-model="input" class="input-with-select">
-                        <el-button slot="append" icon="el-icon-search"></el-button>
-                    </el-input> -->
-                    <el-tree
-                    :data="data"
-                    show-checkbox
-                    node-key="id" default-expand-all
-                    :props="defaultProps">
-                    </el-tree>
-                </el-form-item>
-                <el-form-item label="角色描述">
-                    <el-input v-model="form1.desc"></el-input>
-                </el-form-item>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-            <el-button size="small" type="primary" @click="dialogVisible = false">确 定</el-button>
-        </span>
+            <Hotel/>
         </el-dialog>
     </section>
 </template>
 <script>
 import Page from '../../components/Page';
+import Hotel from '../../components/hotel';
 export default {
   components:{
-        Page
+        Page,Hotel
   },
   data(){
     return{
@@ -119,8 +99,8 @@ export default {
       list:[{name:'2333'}],
       loading:false,
       input:'',
-      dialogVisible:false,
-      dialogTitle:"",
+      dialogVisible:true,
+      dialogTitle:"添加酒店",
       defaultProps:{},
       data: [],
     }