index.vue 5.44 KB
<template>
  <div class="edition-wrapper height100">
    <div class="search-container">
      <el-form :inline="true" :model="form">
        <el-form-item>
          <el-date-picker
            v-model="form.dateRange"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item>
          <div class="btn-group">
            <el-button type="primary" @click="onSearch">查询</el-button>
            <el-button @click="handleReset">重置</el-button>
          </div>
        </el-form-item>
      </el-form>
      <div class="page-tip">
        <span class="page-tip-title">页面说明:</span>
        <span class="page-tips">可查看系统使用过的所有app版本信息,可设置其中一个版本为当前使用版本。可产看安装包详情信息。可上传新的安装包,“*”为必填项。</span>
      </div>
    </div>
    <div class="table-content">
      <div class="btn-group">
        <el-button type="primary" @click="addBox">上传安装包</el-button>
      </div>
      <div class="party-table">
        <el-table border style="width: 100%;height:100%" height="100%" :data="tableData">
          <el-table-column type="index" width="120" label="序号"></el-table-column>
          <el-table-column label="app版本号" prop="version"></el-table-column>
          <el-table-column label="是否为最新版本" prop="isNew"></el-table-column>
          <el-table-column label="上传时间" prop="uploadTime"></el-table-column>
          <el-table-column label="操作者" prop="name"></el-table-column>
          <el-table-column label="操作" header-align="center" align="center">
            <template slot-scope="scope" width="220">
              <el-button-group>
                <el-button
                  title="详情"
                  size="mini"
                  type="text"
                  @click="handleDetail(scope.row)"
                >详情&nbsp;&nbsp;</el-button>
                <el-button
                  title="激活"
                  type="text"
                  size="mini"
                  @click="ableBtn(scope.row)"
                >启用&nbsp;&nbsp;</el-button>
                
              </el-button-group>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <div class="partyt-pagination">
        <el-pagination
          background
          @current-change="handleCurrentChange"
          :current-page="page.currentPage"
          :page-size="page.pageSize"
          layout="prev, pager, next, jumper"
          :total="page.total"
        ></el-pagination>
      </div>
    </div>
    <add-dialog ref="addDialog" @refreshFn="onSearch"/>
    <detail-dialog ref="detailDialog"/>
  </div>
</template>
<script>
import { partyPagination, partyTable } from "@/components/index";
import { addDialog , detailDialog } from "./components/index";
export default {
  data() {
    return {
      page: { currentPage: 1, pageSize: 10, total: 4 },
      form: {
        dateRange: []
      },
      tableData: [
        // 序号  app版本号  是否为最新版本  上传时间 操作者 操作
        {
          uploadTime: "2016-05-02",
          name: "王小虎",
          version: "V1.0.0",
          isNew: "是"
        },
        {
          uploadTime: "2016-05-02",
          name: "王小虎",
          version: "V1.0.0",
          isNew: "是"
        }
      ]
    };
  },
  components: { partyPagination ,addDialog ,detailDialog},
  mounted() {},
  methods: {
    // 查询
    onSearch() {
      this.page.currentPage = 1
      this.getTableData();
    },
    // 获得数据接口
    getTableData() {
      let vm = this;
      let param = {
        _index: this.page.currentPage,
        _size: this.page.pageSize,
        startTime: this.form.dateRange.length?this.form.dateRange[0]:'' ,
        endTime: this.form.dateRange.length?this.form.dateRange[1]:'' ,
      };
      vm.$https(
        {
          url: "interaction/getList",
          method: "post",
          authType: this.backToken
        },
        vm.$qs.stringify(param)
      )
        .then(res => {
          if(res.data.resultCode==='200'){
            let data = res.data.data
            vm.page.total = data.total
            vm.tableData = data.records
          }else{
            this.$message({type:'error',message:res.data.message})
          }
        })
        .catch(function(err) {
          console.log(err);
        });
    },
    // 新增弹框打开
    addBox() {
      this.$refs.addDialog.backFn()
    },
    // 详情弹框打开
    handleDetail(item) {
      this.$refs.detailDialog.backFn(item)
    },
    // 启用
    ableBtn(row, str) {
      const _this = this;
      this.$confirm("确定要设置为最新版本?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        center: true
      })
        .then(() => {
          // 请求接口
          this.$message.success("操作成功")
        })
        .catch(() => {
          this.$message("已取消")
        });
    },
    handleReset() {
      this.form = {};
    },
    // 分页
    handleCurrentChange(val) {
      this.page.currentPage = val
      this.getTableData()
    }
  }
};
</script>
<style lang="less">
@import "../../../style/dialog.less";
@import "../../../style/table.less";
@import "../../../style/pagination.less";
</style>