<template> <!-- 监控日志 --> <div class="jktjDetail from-clues"> <!-- 头部搜索 --> <div class="from-clues-header"> <el-form ref="form" :model="form" label-width="100px"> <Breadcrumb /> <el-row class="mb-5"> <el-col :span="4"> <el-form-item label="行政区" class="d-flex"> <el-select v-model="$store.state.user.userInfo.grade === 'county' ? form.qxdm = $store.state.user.userInfo.areaCode : form.qxdm" class="width100" clearable placeholder="行政区" :disabled="$store.state.user.userInfo.grade === 'county'"> <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="是否归档" class="d-flex"> <el-select v-model="form.sfgd" class="width100" clearable placeholder="是否归档"> <el-option key="gd1" label="已归档" value="1"></el-option> <el-option key="gd2" label="未归档" value="2"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="开始日期" class="d-flex"> <el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期" :picker-options="pickerOptionsStart" v-model="form.receiveStartTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> </el-form-item> </el-col> <el-col :span="4"> <el-form-item label="结束日期" class="d-flex"> <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期" :picker-options="pickerOptionsEnd" v-model="form.receiveEndTime" value-format="yyyy-MM-dd HH:mm:ss" @change="endTimeChange"></el-date-picker> </el-form-item> </el-col> <!-- 操作按钮 --> <el-col :span="8" class="btnColRight"> <btn nativeType="cz" @click="resetForm">重置</btn> <btn nativeType="cx" @click="featchData">查询</btn> </el-col> </el-row> </el-form> </div> <!-- 图表 --> <div class="from-clues-content"> <lb-table ref="table" :page-size="pageData.pageSize" :current-page.sync="pageData.current" :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> </lb-table> </div> </div> </template> <script> import { mapGetters } from "vuex"; import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; // 引入表格头部数据 import data from "./data"; // 引入table混入方法 import tableMixin from "@/mixins/tableMixin.js"; import bdcdj from "@/api/bdcdj"; import business from "@/api/business"; export default { name: "jktj", mixins: [tableMixin], data () { return { // 分页 pageData: { total: 0, pageSize: 10, current: 1 }, pickerOptionsStart: { disabledDate: (time) => { let endDateVal = this.form.receiveEndTime; if (endDateVal) { return ( time.getTime() >= new Date(endDateVal).getTime() ); } }, }, pickerOptionsEnd: { disabledDate: (time) => { let beginDateVal = this.form.receiveStartTime; if (beginDateVal) { return ( time.getTime() < new Date(beginDateVal).getTime() ); } }, }, // 搜索表单 valueTime: "", tableData: { // 表格头部 columns: [ { label: "序号", type: "index", width: "50", index: this.indexMethod, } ] .concat(data.columns()), // 表格列表数据 total: 0, data: [], }, // 搜索表单 form: { receiveStartTime: getFirstDayOfSeason(), receiveEndTime: timeFormat(new Date(), true), qxdm: "", sfgd: "1" }, chartData: [] }; }, mounted () { // 查询业务量 this.featchData(); }, computed: { ...mapGetters(["dicData"]), }, methods: { /** * @description: handleSizeChange * @param {*} val * @author: */ handleSizeChange (val) { this.formData.pageSize = val this.featchData() }, /** * @description: 截止日期变化 * @param {*} val * @author: renchao */ endTimeChange (val) { this.form.receiveEndTime = timeFormat(new Date(val), true) }, /** * @description: handleSearch * @author: */ handleSearch () { this.form.currentPage = 1 this.tableData.data = [] if (this.featchData) { this.featchData() } }, /** * @description: handleCurrentChange * @param {*} val * @author: */ handleCurrentChange (val) { this.form.currentPage = val this.featchData() }, async featchData() { let {result: res} = await bdcdj.list(this.form); console.log(res) this.tableData.data = res.list this.pageData.current = res.pageNum this.pageData.pageSize = res.pageSize this.tableData.total = res.total } }, }; </script> <style scoped lang="scss"> .jktjDetail { flex-direction: column; .rows { margin-left: 100px; } .center { line-height: 50vh; text-align: center; color: #b6b5b5; } } </style>