<!-- 相关字段空置率统计 --> <template> <div class="from-clues"> <!-- 头部搜索 --> <div class="from-clues-header"> <el-form ref="ruleForm" :model="form" label-width="100px"> <el-form-item> <Breadcrumb /> </el-form-item> <el-row class="mb-5"> <el-col :span="6"> <el-form-item label="接收日期" prop="startTime"> <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart" v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="至" prop="endTime" label-width="35px"> <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker> </el-form-item> </el-col> <!-- 按钮操作 --> <el-col :span="12" class="btnColRight"> <el-form-item> <btn nativeType="cz" @click="handleResetForm">重置</btn> <!-- 导出excel --> <btn nativeType="cx" @click="featchDataSelf">查询</btn> <btn nativeType="cx" @click="handlesetExport2Excel(downTitle)">导出</btn> </el-form-item> </el-col> </el-row> </el-form> </div> <!-- 列表区域 --> <div class="from-clues-content"> <lb-table ref="table" :pagination="false" :calcHeight="200" :column="tableData.columns" :data="tableData.data"> </lb-table> <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false" :column="tableData.columns" :data="tableData.data" :downTitle="downTitle"> </down-lb-table> </div> </div> </template> <script> // 相关字段空置率统计 // 引入表格头部数据 import data from "./data"; // 引入table混入方法 import tableMixin from "@/mixins/tableMixin.js"; // 导出excel表格 import downLbTable from '@/components/DownLbTable' // 获取时间 import { getCurrentDate, setExport2Excel } from "@/utils/tools"; import { nonNullSta } from "@/api/statistics.js"; export default { name: "jsbwcx", components: { downLbTable }, mixins: [tableMixin], data () { return { pickerOptionsStart: { disabledDate: (time) => { let endDateVal = this.form.endTime; if (endDateVal) { return ( time.getTime() >= new Date(endDateVal).getTime() ); } }, }, pickerOptionsEnd: { disabledDate: (time) => { let beginDateVal = this.form.startTime; if (beginDateVal) { return ( time.getTime() < new Date(beginDateVal).getTime() ); } }, }, // 表格数据 form: { startTime: "", // 开始日期 endTime: "" // 结束日期 }, // 校验规则 rules: { startTime: [ { required: true, message: "请选择开始日期", trigger: "change" }, ], endTime: [ { required: true, message: "请选择结束日期", trigger: "change" }, ] }, // 表格数据 tableData: { // 表格头部 columns: [ { label: "序号", type: "index", width: "50" // index: this.indexMethod, } ] .concat(data.columns()), data: [], }, downTitle: '' } }, watch: { form: { handler (newVal, oldVal) { this.generateFileName() }, deep: true } }, created () { this.handleResetForm() this.generateFileName() }, methods: { // 生成文件名 generateFileName () { var reg = /(\d{4})\-(\d{2})\-(\d{2})/; this.downTitle = `汉中市不动产登记增量数据相关字段空项率统计(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` }, handlesetExport2Excel (val) { setExport2Excel(val) }, // 初始化数据 featchDataSelf () { nonNullSta(this.form.startTime, this.form.endTime).then(res => { let records = res.result this.tableData.data = records ? records : [] }) }, // 重置 handleResetForm () { this.form.startTime = getCurrentDate() this.form.endTime = getCurrentDate('time') this.featchDataSelf() } } } </script> <style scoped lang="scss"> // 引入表单整体样式 // @import "~@/styles/public.scss"; @import "../css/index.scss"; /deep/.el-table thead.is-group th.el-table__cell { height: 14px !important; } </style>