Blame view

src/views/ywbl/ybx/ybx.vue 4.74 KB
jiaozeping@pashanhoo.com committed
1 2 3 4
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
任超 committed
5
      <el-form :model="queryForm" ref="queryForm" label-width="80px">
jiaozeping@pashanhoo.com committed
6 7 8
        <el-row>
          <el-col :span="5">
            <el-form-item label="业务来源">
任超 committed
9
              <el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源">
任超 committed
10
                <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode">
jiaozeping@pashanhoo.com committed
11 12 13 14 15 16
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="权利类型">
任超 committed
17
              <el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型">
任超 committed
18
                <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
jiaozeping@pashanhoo.com committed
19 20 21 22 23 24
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="登记类型">
任超 committed
25
              <el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型">
任超 committed
26
                <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
jiaozeping@pashanhoo.com committed
27 28 29 30 31 32
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="业务号">
任超 committed
33
              <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width200px">
jiaozeping@pashanhoo.com committed
34 35 36 37 38 39 40 41 42 43 44
              </el-input>
            </el-form-item>
          </el-col>

          <el-col :span="4" class="btnCol">
            <el-form-item>
              <el-button type="primary" @click="queryClick()">查询</el-button>
              <el-button @click="moreQueryClick()">高级查询</el-button>
            </el-form-item>
          </el-col>
        </el-row>
任超 committed
45 46 47 48 49 50 51 52 53 54
        <el-row class="advanced-search">
          <span>高级搜索条件:</span>
          <ul>
            <li v-for="(item,index) in searchList" :key="index">
              {{item.name}}:{{item.value}}
              <i class="el-icon-circle-close" @click="handelItem(index)"></i>
            </li>
          </ul>
          <el-button class="clean-btn" type="text" v-if="searchList.length>0" @click.native="hanldeCleanAll">清除全部</el-button>
        </el-row>
jiaozeping@pashanhoo.com committed
55 56 57 58
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content">
任超 committed
59 60 61
      <lb-table :page-size="pageData.size" :heightNum="300" @sort-change="handleSort" border
        :current-page.sync="pageData.current" :total="pageData.total" @size-change="handleSizeChange"
        @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
jiaozeping@pashanhoo.com committed
62 63
      </lb-table>
    </div>
任超 committed
64
    <searchBox v-model="isSearch" @getSearch="getSearch" />
jiaozeping@pashanhoo.com committed
65 66 67
  </div>
</template>
<script>
任超 committed
68
import { mapGetters } from 'vuex'
任超 committed
69 70 71
import searchMin from "../components/mixin/index"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./ybxdata"
任超 committed
72
import { searchTaskDone } from "@/api/ywbl.js"
任超 committed
73
import searchBox from '../components/search.vue'
jiaozeping@pashanhoo.com committed
74
export default {
75
  name: "ybx",
任超 committed
76 77
  components: { searchBox },
  mixins: [table, searchMin],
任超 committed
78
  mounted () {
jiaozeping@pashanhoo.com committed
79 80
    sendThis(this);
  },
任超 committed
81 82 83
  computed: {
    ...mapGetters(['dictData'])
  },
任超 committed
84
  data () {
jiaozeping@pashanhoo.com committed
85
    return {
任超 committed
86

jiaozeping@pashanhoo.com committed
87 88 89 90 91 92 93 94 95 96 97 98
      queryForm: {
        ywly: "",
        qllx: "",
        djlx: "",
        ywh: "",
      },
      pageData: {
        current: 1,
        size: 10,
        total: 2,
      },
      tableData: {
蔡俊立 committed
99
        total: 0,
jiaozeping@pashanhoo.com committed
100
        columns: datas.columns(),
蔡俊立 committed
101
        data: [],
jiaozeping@pashanhoo.com committed
102 103 104 105
      },
    };
  },
  methods: {
蔡俊立 committed
106 107 108 109 110 111 112 113 114
    init (e) {
      this.fetchData()
    },
    // 列表渲染接口
    fetchData () {
      searchTaskDone({ ...this.queryForm, ...this.pageData }).then(res => {
        if (res.code === 200) {
          let { total, records } = res.result
          this.pageData.total = total;
任超 committed
115 116 117 118 119 120
          records.forEach(item => {
            item.qlrmc = item.qlrmc.join(',')
            item.ywh = item.ywh.join(',')
            item.zl = item.zl.join(',')
            item.outstepdate = item.outstepdate[0]
          })
蔡俊立 committed
121 122 123
          this.tableData.data = records
        }
      })
任超 committed
124
    },
蔡俊立 committed
125 126 127
    queryClick () {
      this.fetchData()
    },
任超 committed
128 129 130 131
    handleSort (val) {
      this.queryForm.sortField = val.prop
      this.queryForm.sortOrder = val.order == "ascending" ? 'asc' : 'desc'
      this.fetchData()
jiaozeping@pashanhoo.com committed
132
    },
任超 committed
133 134
    ywhClick (item) {
      const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1');
135
      window.open(href, '_blank');
任超 committed
136 137
    }
  }
jiaozeping@pashanhoo.com committed
138 139 140 141 142
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>