kimi
2020-01-22 e6a76f6620bda068e734fa0fec4bfdb6de75a12e
src/components/square.vue
@@ -1,40 +1,38 @@
<template>
   <div>
      <el-row >
        <el-col :span="18"><el-form label-width="80px" :inline="true" :label-position="labelPosition" :model="formInline" class="form-inline">
         <el-form-item label="标题">
            <el-input v-model="formInline.title" placeholder="标题"></el-input>
         </el-form-item>
         <el-form-item label="描述">
            <el-input v-model="formInline.desp" placeholder="描述"></el-input>
         </el-form-item>
         <el-form-item >
            <el-button type="primary" @click="query_">查询</el-button>
            <el-button type="info" @click="empty_">重置</el-button>
         </el-form-item>
         </el-form></el-col>
        <el-col :span="18">
            <el-form label-width="80px" :inline="true" :label-position="labelPosition" :model="formInline" class="form-inline">
               <el-form-item label="标题">
                  <el-input v-model="formInline.title" placeholder="标题"></el-input>
               </el-form-item>
               <el-form-item label="描述">
                  <el-input v-model="formInline.desp" placeholder="描述"></el-input>
               </el-form-item>
               <el-form-item >
                  <el-button type="primary" @click="query_">查询</el-button>
                  <el-button type="info" @click="empty_">重置</el-button>
               </el-form-item>
            </el-form>
         </el-col>
        <el-col :span="4" ><el-button type="primary" @click="createNew">创建</el-button></el-col>
      </el-row>
      
   <div class="infinite-list-wrapper" style="overflow:auto">
   <div class="infinite-list-wrapper" style="overflow:auto; height: 70vh; border-top: 1px solid #c3c5c7;">
      
      <div class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled">
         <div v-for="one in dataList" :key="one.id" class="list-item" @click="showItem(one)">
            <el-row >
              <el-col :span="8"><div class="grid-content">{{one.title}}</div></el-col>
              <el-col :span="4" :offset="12"><div class="">{{one.time}}</div></el-col>
              <el-col :span="20"><div class="grid-content z_grid-content1 grid-content_text">{{one.title}}</div></el-col>
              <el-col :span="4"><div class="grid-content z_grid-content1 grid-content_time">{{one.time}}</div></el-col>
            </el-row>
            
            <el-row>
              <el-col :span="20"><div class="grid-content">{{one.desp}}</div></el-col>
              <el-col :span="20"><div class="grid-content z_grid-content2">{{one.desp}}</div></el-col>
            </el-row>
            <el-divider></el-divider>
         </div>
      </div>
      <p v-if="loading">加载中...</p>
@@ -45,7 +43,7 @@
     :visible.sync="dialogVisible"
     width="40%"
     height="40%"
     :before-close="handleClose">
     custom-class="handleClose">
     <span>{{selectOne.title}}</span>
     <el-divider></el-divider>
    <div style="content">
@@ -53,23 +51,23 @@
    </div>
    
     <span slot="footer" class="dialog-footer">
       <el-button :v-if="selectOne.attachment == '' ? false: true" type="primary" @click="download">下 载</el-button>
       <el-button v-if="selectOne.attachment && selectOne.attachment != ''" type="primary" @click="download">下 载</el-button>
     </span>
   </el-dialog>
   
   <el-dialog title="创建话题" :visible.sync="dialogFormVisible">
     <el-form :model="form">
       <el-form-item label="话题名称" :label-width="formLabelWidth">
         <el-input v-model="form.name" autocomplete="off"></el-input>
         <el-input v-model="form.title" autocomplete="off"></el-input>
       </el-form-item>
       <el-form-item label="话题内容" :label-width="formLabelWidth">
           <el-input type="textarea"  v-model="form.desp" autocomplete="off"></el-input>
       </el-form-item>
      <el-upload
        class="upload-demo"
        :action="uploadUrl"
        :on-preview="handlePreview"
        :on-remove="handleRemove"
        :before-remove="beforeRemove"
        :data="form"
        :limit="1"
        :auto-upload='false'
        :on-exceed="handleExceed"
@@ -80,7 +78,7 @@
     </el-form>
     <div slot="footer" class="dialog-footer">
       <el-button @click="dialogFormVisible = false">取 消</el-button>
       <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
       <el-button type="primary" @click="createTopic">确 定</el-button>
     </div>
   </el-dialog>
   
@@ -91,11 +89,12 @@
   export default {
      data() {
         return {
            uploadUrl:"/api/api/file/topicUpload",
            form:{},
             fileList: [],
             dialogVisible: false,
             dialogFormVisible: false,
            labelPosition: "left",
            fileList: [],
            dialogVisible: false,
            dialogFormVisible: false,
            labelPosition: "right",
            formInline:{},
            selectOne:{
               title:"biaoti",
@@ -103,8 +102,13 @@
               attachment:"222"
            },
            dataList: [
               {id:1,attachment:"222",title:"标题", desp:"描述121212121212", time:"12分钟前"},
               {id:1,attachment:"222",title:"标题", desp:"描述时发生纠纷司符合双方酒叟发动机时代峰峻配电间 刀片机水电费搜豆腐皮搜的看法我都叫打破是觉得批发商附加费第三季度破发接收到发地方就搜到到四点分发偶读囧", time:"12分钟前"},
               {id:1,attachment:"222",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
               {id:1,attachment:"",title:"11", desp:"111", time:"11111"},
            ],
@@ -120,6 +124,30 @@
         }
      },
      methods: {
         createTopic() {
            var userId = localStorage.getItem('userId');
            if(!userId) {
               this.$router.push('/login');
            }
            this.from.userId = userId;
            if(fileList.length == 0) {
               //不带附件
               url = "/api/topic/add";
               this.$axios.get(url, {
                     params
                  })
                  .then(data_ => {
                     console.log(data_);
                     this.tableData = data_.data.data.records; //给tableData赋值
                     this.total = data_.data.data.total;
                     this.loading_table = false;
                  }).catch(error => {
                     console.log(error);
                  })
            }else {
            }
         },
          handleRemove(file, fileList) {
                 console.log(file, fileList);
               },
@@ -127,7 +155,7 @@
                 console.log(file);
               },
               handleExceed(files, fileList) {
                 this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
                 this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
               },
               beforeRemove(file, fileList) {
                 return this.$confirm(`确定移除 ${ file.name }?`);
@@ -187,7 +215,56 @@
      text-align: left;
      padding: 5px;
   }
   .grid-content_text {
      font-weight: bold;
      font-style: italic;
      color: #000;
   }
   .grid-content_time {
      font-weight: bold;
      font-style: italic;
      color: #909399;
   }
   .z_grid-content1{
     display:table-cell;
     vertical-align:bottom;
      height: 50px;
   }
   .z_grid-content2{
     color: #83878a;
      padding: 0px;
     height: 40px;
      line-height: 40px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
   }
   .content{
      
   }
   .form-inline {
      text-align: left;
   }
   .list {
   }
   .list-item {
      margin-top: 20px;
      padding-bottom: 5px;
      border-bottom: 1px solid #c3c5c7;
   }
   .handleClose {
      margin: 10px;
      text-align: left;
   }
   .handleClose .el-dialog__body {
      padding: 10px 20px;
   }
   .handleClose .el-divider--horizontal{
      margin: 5px;
   }
</style>