<template> <div class="water-analysis-page" :key="isFlag"> <div class="top"> <el-form label-width="auto" ref="ruleForm" inline :model="tableData" v-show="showSearch" > <el-form-item label="项目类型名称:" prop="projectTypeName"> <el-input clearable v-model="tableData.projectTypeName" placeholder="请输入项目类型名称" style="width: 240px" ></el-input> </el-form-item> <el-form-item label="是否启用:" prop="status"> <el-select v-model="tableData.status" placeholder="请选择是否启用" clearable > <el-option v-for="dict in showList" :key="dict.stCode" :label="dict.stName" :value="dict.stCode" ></el-option> </el-select> </el-form-item> <el-form-item label="所属类型:" prop="ownership"> <el-select v-model="tableData.ownership" placeholder="请选择所属类型" clearable > <el-option v-for="item in ownership" :key="item.value" :label="item.label" :value="item.value" /> </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="searchForm"> 查询</el-button > <el-button icon="Refresh" @click="resectClcik"> 重置</el-button> </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="Plus" @click="onCheck(4)" v-hasPermi="['system:post:add']" >新增</el-button > </el-col> <right-toolbar v-model:showSearch="showSearch" @queryTable="searchForm" ></right-toolbar> </el-row> </div> <todoDon ref="todoDonRef"></todoDon> <el-dialog v-model="visible" title="项目类型新增" :modal-append-to-body="false" :close-on-click-modal="false" width="50%" > <tableDalgo ref="tableDalgoRef" :typeList="typeList" @onModalClose="onModalClose" :key="isFlag" ></tableDalgo> <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submit">保存</el-button> <el-button @click="closed">关闭</el-button> </div> </template> </el-dialog> </div> </template> <script setup> import tableDalgo from "./tableDalgo.vue"; import todoDon from "./todoDon.vue"; import { downloadBlob, formatDate, formatMonths } from "@/utils/projectTable"; import emgBox from "@/utils/ElMessageBox"; const todoDonRef = ref(null); const showList = ref([ { stName: "否", stCode: 1 }, { stName: "是", stCode: 0 }, ]); const ruleForm = ref(null); let typeList = ref({}); const { proxy } = getCurrentInstance(); const { ownership } = proxy.useDict("ownership"); const showSearch = ref(true); import { reactive } from "vue"; const activeName = ref("first"); const tableDalgoRef = ref(); let visible = ref(false); let isFlag = ref(1); //动态组件 let dataForm = reactive({ date: formatMonths(new Date()), tableData: { pageNum: 1, pageSize: 10 }, tableDateTwo: "", tableLoading: true, }); let { tableData } = toRefs(dataForm); //获取列表数据 //切换table const handleClick = ({ props }, event) => { tableData.value.name = props.name; todoDonRef.value.search(tableData.value); }; //搜索 const searchForm = () => { todoDonRef.value.search(tableData.value); }; //重置 function resectClcik() { tableData.value={pageNum: 1,pageSize: 10} todoDonRef.value.search(tableData.value); }; // 查看上报数据 const onCheck = (ty) => { visible.value = true; nextTick(()=>{ tableDalgoRef.value.desertFilds() }) }; function onModalClose() { visible.value = false; todoDonRef.value.search(tableData.value); } function submit() { tableDalgoRef.value.submit(); } function closed(){ visible.value = false; } onMounted(() => { // getTableData(Date.parse(date.value)); }); </script> <style lang="scss" scoped> .water-analysis-page { padding: 20px; height: 90vh; } :deep(.el-dialog__body) { // padding: 0px !important; background-color: #eef1fb; height: 450px; overflow: hidden; } </style>