vue-new

main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from "element-ui"
import 'element-ui/lib/theme-chalk/index.css'
import vuex from 'vuex'
import axios from 'axios'

Vue.config.productionTip = false

Vue.use(ElementUI)
Vue.use(vuex);

Vue.prototype.$ajax = axios

var store = new vuex.Store({//store对象
    state:{
        logined:false
    }
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  //components: { App },
  //template: '<App/>'
  render: h => h(App)
})

index.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import home from '@/components/home'
import about from '@/components/about'

import RoomContent from '@/components/RoomContent'
import SearchRooms from '@/components/SearchRooms'
import SignUp from '@/components/SignUp'
import Messages from '@/components/Messages'
import AddRoom from '@/components/AddRoom'
import AddRoom2 from '@/components/AddRoom2'
import PostRooms from '@/components/PostRooms'
import Login from '@/components/Login'

Vue.use(Router)


export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
        path:"/home",
        component: home
    },
    {
        path:"/room/:id",
        //component: home
        component: RoomContent
    },
    {
        path:"/SearchRooms",
        //component: home
        component: SearchRooms
    },
    {
        path: "/about",
        component: about
    },
    {
        path: "/signup",
        component: SignUp
    },
    {
        path: "/messages",
        component: Messages
    },
    {
        path: "/addroom",
        component: AddRoom
    },
    {
        path: "/addroom2",
        component: AddRoom2
    },
    {
        path: "/postrooms",
        component: PostRooms
    },
    {
        path: "/login",
        component: Login
    }
    
  ]
})

 App.vue

<template>
  <div id="app">

   <myMenu></myMenu> 


    <router-view/>
  </div>
</template>

<script>
import myMenu from './components/myMenu'
import HelloWorld from './components/HelloWorld'


export default {
  name: 'App',
   components : {
    "myMenu":myMenu,
    "HelloWorld":HelloWorld
  }
 
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 20px;
}
</style>

SearchRooms.vue

<template>
<el-row id="Homepan">
  <el-col :span="2">.</el-col>
  <el-col :span="20">.

<el-collapse v-model="activeNames" @change="handleChange">
  <el-collapse-item title="查询条件"  icon="el-icon-search" name="4">
      <el-form ref="form" :model="sizeForm" label-width="80px" size="mini" >
      
        <el-form-item label="筛选">
             <el-select v-model="value" placeholder="请选择区域">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
              <el-select v-model="value" placeholder="请选择地铁">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
                <el-select v-model="value" placeholder="请选择方式">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
                <el-select v-model="value" placeholder="请选择房源">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
        </el-form-item>

        <el-row >
        <el-form-item label="价格">
            <el-col :span="2">.</el-col>  
            <el-col :span="20">
                <el-slider
                  v-model="value9"
                  range
                  show-stops
                  :max="6000"
                  :step="500">
                </el-slider>
                </el-col>  
            <el-col :span="2">.
            </el-col>    
       
        </el-form-item>
        </el-row> 

      </el-form>
  </el-collapse-item>
</el-collapse>
        
  <div class="am-list-news-bd">
  <ul class="am-list">
    
     <!--缩略图在标题左边-->
      <li class=" am-list-item-desced am-list-item-thumbed am-list-item-thumb-left">
        <el-row>
          <el-col :span="6">
              <div class="am-u-sm-3 am-list-thumb">
                
                <router-link to="/room/2">
                  <img src="http://pic.ziroom.com/house_images/g2/M00/DE/CE/v800x600_ChAFfVpI40aAUyieAAhmlEWfWYo842.JPG" alt="我很囧,你保重....晒晒旅行中的那些囧!"/>
                  </router-link>
              </div>
          </el-col>
          <el-col :span="16">
              <div class=" am-u-sm-8 am-list-main">
                  <h3 class="am-list-item-hd"><router-link to="/room/2">雨花台区--雨花新村--南卧</router-link></h3>

                  <div class="am-list-item-text">囧人囧事囧照,人在囧途,越囧越萌。标记《带你出发,陪我回家》http://book.douban.com/subject/25711202/为“想读”“在读”或“读过”,有机会获得此书本活动进行3个月,每月送出三本书。会有不定期bonus!</div>

              </div>
          </el-col>
           <el-col :span="2"></el-col>
        </el-row>
      </li>
      <li class=" am-list-item-desced am-list-item-thumbed am-list-item-thumb-left">
        <el-row>
          <el-col :span="6">
              <div class="am-u-sm-3 am-list-thumb">
                <router-link to="/room/1">
                  <img src="http://pic.ziroom.com/house_images/g2/M00/DE/CE/v800x600_ChAFfVpI40uAQYC9AAJQYGaxGq8195.JPG" alt="我很囧,你保重....晒晒旅行中的那些囧!"/>
                </router-link>
              </div>
          </el-col>
          <el-col :span="16">
              <div class=" am-u-sm-8 am-list-main">
                  <h3 class="am-list-item-hd"><router-link to="/room/1">雨花台区--双龙嘉园--南卧</router-link></h3>

                  <div class="am-list-item-text">囧人囧事囧照,人在囧途,越囧越萌。标记《带你出发,陪我回家》http://book.douban.com/subject/25711202/为“想读”“在读”或“读过”,有机会获得此书本活动进行3个月,每月送出三本书。会有不定期bonus!</div>

              </div>
          </el-col>
           <el-col :span="2"></el-col>
        </el-row>
      </li>
    
    </ul>
  </div>
<div class="block">
  <span class="demonstration"></span>
  <el-pagination
    layout="prev, pager, next"
    :total="50">
  </el-pagination>
</div>
  </el-col>
  <el-col :span="2">.</el-col>
</el-row>
</template>
<style type="text/css">

#Homepan img{
 width:auto;
 height:auto;
 max-width:70%;
 max-height:70%;
 margin-top: 8%;
 margin-bottom: 8%; 
}

#Homepan .am-panel-default {
    border-color: #ddd;
}
#Homepan .am-panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
#Homepan .am-list-news-default {
    margin: 10px;
}
#Homepan .am-list-news-hd {
    padding-top: 1.2rem;
    padding-bottom: .8rem;
}
#Homepan .am-list-news-default .am-list .am-list-item-desced .am-list-item-text {
    margin-top: .5rem;
    color: #757575;
}
#Homepan .am-list li {
    position: relative;
    display: block;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #dedede;
    border-width: 1px 0;
}
#Homepan .am-list-news-default .am-list .am-list-item-text {
    overflow: hidden;
    text-overflow: ellipsis;

    line-height: 1.3em;

    max-height: 2.6em;
}

#Homepan.am-list-item-text {
    line-height: 1.3;
    font-size: 1.1rem;
    color: #999;
    margin: 0;
}
#Homepan.am-list-news-default .am-list .am-list-item-thumb-left .am-list-thumb {
    padding-left: 0;
}
#Homepan.am-list .am-list-item-desced a, .am-list .am-list-item-thumbed a {
    padding-right: 0;
}
#Homepan a {
    color: #0e90d2;
}
#Homepan a, ins {
    text-decoration: none;
}

#Homepan a {
    background-color: transparent;
}
</style>
<script>
  export default {
    data() {
      return {
        value9: [1000, 2000],
         sizeForm: {
          name: '',
          region: '',
          date1: '',
          date2: '',
          delivery: false,
          type: [],
          resource: '',
          desc: ''
        }, options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],
        value: ''
      }
    },
    methods: {
      formatTooltip(val) {
      alert(val);
        return val ;
      }
    }
  }
</script>

RoomContent.vue

<template>
  <el-row  id="roomContent">
  <el-col :span="4">.</el-col>
  <el-col :span="16">.
      <el-breadcrumb separator-class="el-icon-arrow-right">
          <el-breadcrumb-item :to="{ path: '/' }">南京</el-breadcrumb-item>
          <el-breadcrumb-item>江宁</el-breadcrumb-item>
          <el-breadcrumb-item>双龙嘉园南卧</el-breadcrumb-item>
      </el-breadcrumb>
      <div class="block">
        <div>.</div>
        <el-carousel trigger="click" height="280px" width="380px">
          <el-carousel-item >
            <img src="http://pic.ziroom.com/house_images/g2/M00/DE/CE/v800x600_ChAFfVpI40aAUyieAAhmlEWfWYo842.JPG">
            <p>主卧</p>
          </el-carousel-item>
          <el-carousel-item >
            
            <img src="http://pic.ziroom.com/house_images/g2/M00/DE/CE/v800x600_ChAFfVpI40uAQYC9AAJQYGaxGq8195.JPG">
          </el-carousel-item>
        </el-carousel>
        
      </div>

      <div data-am-widget="list_news" class="am-list-news am-list-news-default am-panel" >
      <!--列表标题-->
            <div class="am-list-news-hd am-cf ">
                <h2>基本信息</h2>
            </div>

            <div class="am-list-news-bd">
              <ul class="am-list">
                  <li class="am-g am-list-item-desced">
                    
                      <div class="am-list-item-text am-list-item-dated"><strong>位置:</strong>雨花台-双龙嘉园</div>
                  </li>
                 <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>面积:</strong>10平方米</div>
                  </li>
                  <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>装修:</strong>精装修</div>
                  </li>
                  <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>户型:</strong>3室2厅1卫 合</div>
                  </li>
                  <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>楼层:</strong>3/18</div>
                  </li>
                  <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>房东身份:</strong>个人</div>
                  </li>

              </ul>
            </div>
        </div>
       
      <div data-am-widget="list_news" class="am-list-news am-list-news-default am-panel" >
      <!--列表标题-->
            <div class="am-list-news-hd am-cf">
                <h2>描述信息</h2>
            </div>

            <div class="am-list-news-bd">
              <ul class="am-list">
                  <li class="am-g am-list-item-desced">
                    
                      <div class="am-list-item-text am-list-item-dated"><strong>编号:</strong>12323432434</div>
                  </li>
                 <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>周边描述:</strong>要出租的单间16到18平方米左右,配有一张床,一个衣柜,一个衣帽挂以及一个落地窗~视野很美~且此栋位于小区中心,远离马路,非常安静。</div>
                  </li>
                  <li class="am-g am-list-item-desced">
                      <div class="am-list-item-text"><strong>房间描述:</strong>小区位于富春江东街,恒山路,奥体大街交汇处,正门,后门均有公交站,距奥体东,中胜地铁站步行均在十五分钟左右。生活非常便利,出大门就是菜场超市便利店水果店~~距离缤润汇,中央商场,金奥国际购物中心,都非常非近,到河西万达坐公交三十分钟</div>
                  </li>
        
              </ul>
            </div>
        </div>

      <div data-am-widget="list_news" class="am-list-news am-list-news-default am-panel" >
      <!--列表标题-->
            <div class="am-list-news-hd am-cf">
                <h2>配置信息</h2>
            </div>

            <div class="am-list-news-bd">
              <el-tag>宽带</el-tag>
              <el-tag>wifi</el-tag>
              <el-tag>公卫</el-tag>
              <el-tag>厨房</el-tag>
            </div>
        </div>
        <div>{{dynamicSegment}}</div>
  </el-col>
  <el-col :span="4">.</el-col>
</el-row>

</template>

<script>
    export default {
        computed: {
            dynamicSegment () {
                return this.$route.params.id
            }
        }
    }
</script>
<style>
  .el-carousel__item h3 {
    color: #475669;
    font-size: 14px;
    opacity: 0.75;
    line-height: 150px;
    margin: 0;
  }

  .el-carousel__item:nth-child(2n) {
     background-color: #99a9bf;
  }
  
  .el-carousel__item:nth-child(2n+1) {
     background-color: #d3dce6;
  }

 #roomContent h2 {
  text-align:left;
  font-size: 1.1em;
  border-bottom: 1px solid #dedede;
}

  #roomContent ul li {text-align:left}

  #roomContent .am-list-news-bd {text-align:left}
#roomContent .am-panel-default {
    border-color: #ddd;
}
#roomContent .am-panel {
  border-top:1px dotted #dedede; 
}
#roomContent .am-list-news-default {
    margin: 10px;
    margin-top: 30px;
    background-color: #fff;
   
    border-radius: 0;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
}

#roomContent .am-list-news-default .am-list .am-list-item-desced .am-list-item-text {
    margin-top: .5rem;
    color: #757575;
}
#roomContent ul{
  padding-left: 0px;
}
#roomContent .am-list li {
    margin: 5px;
    position: relative;
    display: block;
 
    background-color: #fff;
    border-bottom: 1px solid #dedede;

}
#roomContent .am-list-news-default .am-list .am-list-item-text {
    overflow: hidden;
    text-overflow: ellipsis;

    line-height: 1.3em;

    max-height: 2.6em;
}

#roomContent.am-list-item-text {
    line-height: 1.3;
    font-size: 1.1rem;
    color: #999;
    margin: 0;
}
#roomContent.am-list-news-default .am-list .am-list-item-thumb-left .am-list-thumb {
    padding-left: 0;
}
#roomContent.am-list .am-list-item-desced a, .am-list .am-list-item-thumbed a {
    padding-right: 0;
}
#roomContent a {
    color: #0e90d2;
}
#roomContent a, ins {
    text-decoration: none;
}

#roomContent a {
    background-color: transparent;
}

</style>

 myMenu.vue

<template>
<el-row>
    <el-menu :default-active="activeIndex" class="el-menu-demo" id="myMenuid" mode="horizontal" @select="handleSelect">
          <el-col :span="6">Luobov萝卜屋</el-col>
          <el-submenu index="1">
            <template slot="title">南京</template>
            <el-menu-item index="1-1">北京</el-menu-item>
            <el-menu-item index="1-2">南京</el-menu-item>
            <el-menu-item index="1-3">杭州</el-menu-item>
          </el-submenu>
          <el-menu-item index="2"><router-link to="/SearchRooms">查询</router-link></el-menu-item>
          <el-menu-item index="3"><router-link to="/about">求组</router-link></el-menu-item>
          <el-col :span="2">.</el-col>
          <div v-if="!this.$store.state.logined"> 
            <el-menu-item index="4"><router-link to="/signup"> 注册</router-link></el-menu-item>
            <el-menu-item index="5"><router-link to="/login">登陆</router-link></el-menu-item>
          </div>
          <div v-else> 
            <el-menu-item index="6"><router-link to="/messages"><i class="el-icon-bell"></i>消息<i class="bg-info">(5)</i></router-link></el-menu-item>

            <el-submenu index="7">
            <template slot="title">wang</template>
                <el-menu-item index="7-1"><i class="el-icon-edit"></i><router-link to="/postrooms">源编辑</router-link></el-menu-item>
                <el-menu-item index="7-2"><i class="el-icon-setting"></i>用户设置</el-menu-item>
            </el-submenu>
             <el-menu-item index="8"><i class="el-icon-arrow-right"></i>退出</el-menu-item>
          </div>
    </el-menu>
</el-row>

</template>
<style type="text/css">
    #myMenuid li {
        border-radius: 0;
        color: #0e90d2;
        background: 0 0;
    }
    
    #myMenuid   a{
        text-decoration:none;
    }
</style>
<script>
  export default {
    data() {
      return {
        activeIndex: '1',
        activeIndex2: '1',
        logined_prop:true
      };
    },

    methods: {
      handleSelect(key, keyPath) {
        console.log(key, keyPath);
       // alert(key);
        //if(key==5) this.logined_prop=true;
       // console.log(this.$store.state.logined);
        //alert(this.$store.state.logined);
        if(key==8) {
            this.$store.state.logined=false;
        
        //this.logined_prop=! this.logined_prop;
        }
        //lert(this.$store.state.logined);
        //this.logined_prop=!this.logined_prop;
      }
    }
  }
</script>

PostRooms.vue

<template>
    <el-row  id="PostRooms">
        <el-col :span="5">.</el-col>
            <el-col :span="14">
                <el-card class="box-card">
                      <div slot="header" class="clearfix">
                        <el-breadcrumb separator-class="el-icon-arrow-right">
                              <el-breadcrumb-item :to="{ path: '/' }">源管理</el-breadcrumb-item>
                              
                        </el-breadcrumb>
                      </div>
                      <div class="text item">
                          <el-table
                          :data="tableData"
                          border
                          style="width: 100%">
                          <el-table-column
                            prop="liid"
                            label="ID"
                            width="150">
                          </el-table-column>
                          <el-table-column
                            prop="posttime"
                            label="最后修改时间"
                            width="120">
                          </el-table-column>
                          <el-table-column
                            prop="city"
                            label="城市"
                            width="120">
                          </el-table-column>
            
                          <el-table-column
                            prop="courtname"
                            label="小区名"
                            width="120">
                          </el-table-column>
                          <el-table-column
                        
                            label="操作"
                            width="100">
                            <template slot-scope="scope">
                              <el-button @click="handleClick(scope.row)" type="text" size="mini">查看</el-button>
                              <el-button @click="editClick(scope.row)" type="text" size="mini">编辑</el-button>
                             <el-button type="text" size="mini">删除</el-button>
                            </template>
                          </el-table-column>
                        </el-table>

                        <div style="margin-top: 20px">
                            <el-button @click="editClick">新增</el-button>

                        </div>
                      </div>
                </el-card>
            </el-col>
        <el-col :span="5">.</el-col>
    </el-row>
</template>
<style>
  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
  .box-card{
    margin-top:30px; 
  }

</style>

<script>
  export default {
    methods: {
      handleClick(row) {
        console.log(row);
        //alert(row.liid);
        this.$router.push("room/"+row.liid);
      },
      editClick(row) {
        console.log(row);
        //alert(row.liid);
        this.$router.push("addroom");
      }
    },

    data() {
      return {
        tableData: [{
          liid: '1033223211',
          posttime: '2016-05-03',
          city: '南京',
          areaname: '雨花台',
          courtname: '雨花台-翠岛花城'
        }, {
          liid: '1033223212',
          posttime: '2017-05-03',
          city: '南京',
          areaname: '雨花台',
          courtname: '雨花台-双龙嘉园'
        }]
      }
    }
  }
</script>

Login.vue

<template>
    <el-row  id="signup">
        <el-col :span="5">.</el-col>
            <el-col :span="14">
                <el-card class="box-card">
                      <div slot="header" class="clearfix">
                        <el-breadcrumb separator-class="el-icon-arrow-right">
                              <el-breadcrumb-item :to="{ path: '/' }">用户</el-breadcrumb-item>
                              <el-breadcrumb-item>登陆</el-breadcrumb-item>
                        </el-breadcrumb>
                        <el-button style="float: right; padding: 3px 0" type="text">登陆</el-button>
                      </div>
                      <div class="text item">
                        <el-form :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2" label-width="100px" class="demo-ruleForm">
                          <el-form-item label="用户名" prop="usrname">
                            <el-input v-model.number="ruleForm2.usrname"></el-input>
                          </el-form-item>
                          <el-form-item label="密码" prop="pass">
                            <el-input type="password" v-model="ruleForm2.pass" auto-complete="off"></el-input>
                          </el-form-item>

                          <el-form-item>
                            <el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button>
                            <el-button @click="resetForm('ruleForm2')">重置</el-button>
                          </el-form-item>
                        </el-form>
                      </div>
                </el-card>
            </el-col>
        <el-col :span="5">.</el-col>
    </el-row>
</template>
<style>
  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
  .box-card{
    margin-top:30px; 
  }
   #signup {
    text-align: left;
  }

</style>

<script>
  export default {
    data() {
      var checkAge = (rule, value, callback) => {
        if (!value) {
          return callback(new Error('年龄不能为空'));
        }
        setTimeout(() => {
          if (!Number.isInteger(value)) {
            callback(new Error('请输入数字值'));
          } else {
            if (value < 18) {
              callback(new Error('必须年满18岁'));
            } else {
              callback();
            }
          }
        }, 1000);
      };      
      var checkUsrname = (rule, value, callback) => {
        if (value === '') {
          callback(new Error('请输入用户名'));
        } else {
          callback();
        }
      };

      var validatePass = (rule, value, callback) => {
        if (value === '') {
          callback(new Error('请输入密码'));
        } else {
          if (this.ruleForm2.checkPass !== '') {
            this.$refs.ruleForm2.validateField('checkPass');
          }
          callback();
        }
      };

      var validatePass2 = (rule, value, callback) => {
        if (value === '') {
          callback(new Error('请再次输入密码'));
        } else if (value !== this.ruleForm2.pass) {
          callback(new Error('两次输入密码不一致!'));
        } else {
          callback();
        }
      };
      return {
        ruleForm2: {
          pass: '',
          checkPass: '',
          age: '',
          usrname:''
        },
        rules2: {
          pass: [
            { validator: validatePass, trigger: 'blur' }
          ],
          checkPass: [
            { validator: validatePass2, trigger: 'blur' }
          ],
          age: [
            { validator: checkAge, trigger: 'blur' }
          ],
          usrname: [
            { validator: checkUsrname, trigger: 'blur' }
          ],
        }
      };
    },
    methods: {
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            //alert('submit!'+ this.$store.state.logined );
            this.$store.state.logined = true;
            //alert(this.$store.state.logined );
            this.$router.push("SearchRooms");
            //this.render(this.$store.state.logined );

            this.$ajax({
                  method: 'post',
                  url: '/login',
                  data: {
                    usrname: this.ruleForm2.usrname,
                    pass: this.ruleForm2.pass
                  }
               })

          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>

AddRoom.vue

<template>
    <el-row  id="AddRoom">
        <el-col :span="5">.</el-col>
            <el-col :span="14">
                <el-card class="box-card">
                      <div slot="header" class="clearfix">
                        <el-breadcrumb separator-class="el-icon-arrow-right">
                              <el-breadcrumb-item :to="{ path: '/' }">房间</el-breadcrumb-item>
                              <el-breadcrumb-item>添加</el-breadcrumb-item>
                        </el-breadcrumb>
        
                      <el-steps :active="1" finish-status="success"  style="margin-top: 28px;">
                        <el-step title="1、文本信息"></el-step>
                        <el-step title="2、图片"></el-step>
                        <el-step title="3、完成"></el-step>
                      </el-steps>

                      <el-button style="margin-top: 12px;" type="primary" @click="next">下一步</el-button>
                      <el-button style="margin-top: 12px;float: right;" @click="next">取消</el-button>
                      </div>

                        <div class="text item">
<el-form ref="form" :model="form" label-width="80px">
  <el-form-item label="活动名称">
    <el-input v-model="form.name"></el-input>
  </el-form-item>
  <el-form-item label="活动区域">
    <el-select v-model="form.region" placeholder="请选择活动区域">
      <el-option label="区域一" value="shanghai"></el-option>
      <el-option label="区域二" value="beijing"></el-option>
    </el-select>
  </el-form-item>

  <el-form-item label="即时配送">
    <el-switch v-model="form.delivery"></el-switch>
  </el-form-item>
  <el-form-item label="活动性质">
    <el-checkbox-group v-model="form.type">
      <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
      <el-checkbox label="地推活动" name="type"></el-checkbox>
      <el-checkbox label="线下主题活动" name="type"></el-checkbox>
      <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
    </el-checkbox-group>
  </el-form-item>
  <el-form-item label="特殊资源">
    <el-radio-group v-model="form.resource">
      <el-radio label="线上品牌商赞助"></el-radio>
      <el-radio label="线下场地免费"></el-radio>
    </el-radio-group>
  </el-form-item>
  <el-form-item label="活动形式">
    <el-input type="textarea" v-model="form.desc"></el-input>
  </el-form-item>

</el-form>
                       
                      </div>
                </el-card>
            </el-col>
        <el-col :span="5">.</el-col>
    </el-row>
</template>
<style>
  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
  .box-card{
    margin-top:30px; 
  }

  #AddRoom {
    text-align: left;
  }

</style>

<script>
export default {
    data() {
      return {
        form: {
          name: '',
          region: '',
          date1: '',
          date2: '',
          delivery: false,
          type: [],
          resource: '',
          desc: ''
        }
      }
    },
    methods: {
      onSubmit() {
        console.log('submit!');
      },
      next(){
        //alert(1);
        this.$router.push("addroom2");
      }
    }
  }
</script>

AddRoom2.vue

<template>
    <el-row  id="AddRoom">
        <el-col :span="5">.</el-col>
            <el-col :span="14">
                <el-card class="box-card">
                      <div slot="header" class="clearfix">
                        <el-breadcrumb separator-class="el-icon-arrow-right">
                              <el-breadcrumb-item :to="{ path: '/' }">房间</el-breadcrumb-item>
                              <el-breadcrumb-item>添加</el-breadcrumb-item>
                        </el-breadcrumb>
        
                      <el-steps :active="2" finish-status="success"  style="margin-top: 28px;">
                        <el-step title="1、文本信息"></el-step>
                        <el-step title="2、图片"></el-step>
                        <el-step title="3、完成"></el-step>
                      </el-steps>

                      <el-button style="margin-top: 12px;" @click="next">完成</el-button>
                      <el-button style="margin-top: 12px;float: right;" @click="next">取消</el-button>
                      </div>

                        <div class="text item">
<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :file-list="fileList2"
  list-type="picture">
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
                       
                      </div>
                </el-card>
            </el-col>
        <el-col :span="5">.</el-col>
    </el-row>
</template>
<style>
  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
  .box-card{
    margin-top:30px; 
  }

  #AddRoom {
    text-align: left;
  }

</style>

<script>
  export default {
    data() {
      return {
        fileList2: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
      };
    },
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

SignUp.vue

<template>
    <el-row  id="signup">
        <el-col :span="5">.</el-col>
            <el-col :span="14">
                <el-card class="box-card">
                      <div slot="header" class="clearfix">
                        <el-breadcrumb separator-class="el-icon-arrow-right">
                              <el-breadcrumb-item :to="{ path: '/' }">用户</el-breadcrumb-item>
                              <el-breadcrumb-item>注册</el-breadcrumb-item>
                        </el-breadcrumb>
                        <el-button style="float: right; padding: 3px 0" type="text">注册</el-button>
                      </div>
                      <div class="text item">
                        <el-form :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2" label-width="100px" class="demo-ruleForm">
                          <el-form-item
                            prop="email"
                            label="邮箱"
                            
                          >
                            <el-input ></el-input>
                          </el-form-item>
                          <el-form-item label="密码" prop="pass">
                            <el-input type="password" v-model="ruleForm2.pass" auto-complete="off"></el-input>
                          </el-form-item>
                          <el-form-item label="确认密码" prop="checkPass">
                            <el-input type="password" v-model="ruleForm2.checkPass" auto-complete="off"></el-input>
                          </el-form-item>
                          <el-form-item label="类型">
                            <el-radio-group v-model="ruleForm2.a">
                              <el-radio label="租客"></el-radio>
                              <el-radio label="房东"></el-radio>
                            </el-radio-group>
                          </el-form-item>
                          <el-form-item label="年龄" prop="age">
                            <el-input v-model.number="ruleForm2.age"></el-input>
                          </el-form-item>
                          <el-form-item>
                            <el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button>
                            <el-button @click="resetForm('ruleForm2')">重置</el-button>
                          </el-form-item>
                        </el-form>
                      </div>
                </el-card>
            </el-col>
        <el-col :span="5">.</el-col>
    </el-row>
</template>
<style>
  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
  .box-card{
    margin-top:30px; 
  }
   #signup {
    text-align: left;
  }

</style>

<script>
  export default {
    data() {
      var checkAge = (rule, value, callback) => {
        if (!value) {
          return callback(new Error('年龄不能为空'));
        }
        setTimeout(() => {
          if (!Number.isInteger(value)) {
            callback(new Error('请输入数字值'));
          } else {
            if (value < 18) {
              callback(new Error('必须年满18岁'));
            } else {
              callback();
            }
          }
        }, 1000);
      };
      var validatePass = (rule, value, callback) => {
        if (value === '') {
          callback(new Error('请输入密码'));
        } else {
          if (this.ruleForm2.checkPass !== '') {
            this.$refs.ruleForm2.validateField('checkPass');
          }
          callback();
        }
      };
      var validatePass2 = (rule, value, callback) => {
        if (value === '') {
          callback(new Error('请再次输入密码'));
        } else if (value !== this.ruleForm2.pass) {
          callback(new Error('两次输入密码不一致!'));
        } else {
          callback();
        }
      };
      return {
        ruleForm2: {
          pass: '',
          checkPass: '',
          age: ''
        },
        rules2: {
          pass: [
            { validator: validatePass, trigger: 'blur' }
          ],
          checkPass: [
            { validator: validatePass2, trigger: 'blur' }
          ],
          age: [
            { validator: checkAge, trigger: 'blur' }
          ]
        }
      };
    },
    methods: {
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            alert('submit!');
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>

 

posted @ 2018-01-26 18:44  cnchengv  阅读(107)  评论(0)    收藏  举报