169 lines
4.5 KiB
Vue
169 lines
4.5 KiB
Vue
|
<template>
|
|||
|
<div class="drawer-model">
|
|||
|
<el-drawer v-model="drawer" title="范围模型(3)" direction="rtl" style="width: 300px">
|
|||
|
<div class="project-list">
|
|||
|
<!-- 搜索区域 -->
|
|||
|
<div class="search-area">
|
|||
|
<!-- 搜索区域 -->
|
|||
|
<el-form :model="searchForm" label-width="auto" style="max-width: 600px">
|
|||
|
<el-form-item label="模型名称">
|
|||
|
<el-input v-model="searchForm.projectName" />
|
|||
|
</el-form-item>
|
|||
|
<el-form-item label="启用状态">
|
|||
|
<el-select v-model="searchForm.status" placeholder="启用状态">
|
|||
|
<el-option label="启用" value="shanghai" />
|
|||
|
<el-option label="禁用" value="beijing" />
|
|||
|
</el-select>
|
|||
|
</el-form-item>
|
|||
|
</el-form>
|
|||
|
<div>
|
|||
|
<el-button type="primary" icon="Search">查询</el-button>
|
|||
|
<el-button type="primary" icon="CirclePlus" @click="areaModel">添加应用模型</el-button>
|
|||
|
</div>
|
|||
|
|
|||
|
<!-- <Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount" /> -->
|
|||
|
</div>
|
|||
|
<!-- 列表区域 -->
|
|||
|
<div class="list-area">
|
|||
|
<div v-for="(item, index) in pageData.tableData" :key="index" class="list-item">
|
|||
|
<div class="model-info">
|
|||
|
<div class="model-name">巴宜区公路外国模型</div>
|
|||
|
<div class="model-type">模型类型:重点区域城规模型</div>
|
|||
|
</div>
|
|||
|
<el-divider border-style="dotted"></el-divider>
|
|||
|
<div class="actions flexcb">
|
|||
|
<el-checkbox v-model="item.checked" label="启用" />
|
|||
|
<div class="btns">
|
|||
|
<span class="set">设置</span>
|
|||
|
<span class="delete">删除</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</el-drawer>
|
|||
|
<!-- 添加范围模型 -->
|
|||
|
<AreaModel ref="areaModelRef"></AreaModel>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script setup>
|
|||
|
import { ref, reactive } from "vue";
|
|||
|
import Search from "@/components/aboutTable/Search.vue";
|
|||
|
import AreaModel from "./areaModel.vue";
|
|||
|
const areaModelRef = ref();
|
|||
|
const areaModel = () => {
|
|||
|
areaModelRef.value.init();
|
|||
|
};
|
|||
|
const searchConfiger = ref([
|
|||
|
{
|
|||
|
label: "项目名称",
|
|||
|
prop: "name",
|
|||
|
placeholder: "请选择经营状况",
|
|||
|
showType: "input"
|
|||
|
},
|
|||
|
{
|
|||
|
label: "启用状态",
|
|||
|
prop: "jyzt",
|
|||
|
placeholder: "请选择经营状况",
|
|||
|
showType: "select",
|
|||
|
options: [{ label: "在业", value: "在业" }]
|
|||
|
}
|
|||
|
]);
|
|||
|
// 搜索
|
|||
|
const onSearch = val => {
|
|||
|
searchForm.value = { ...val };
|
|||
|
pageData.pageConfiger.pageCurrent = 1;
|
|||
|
getList();
|
|||
|
};
|
|||
|
const searchForm = ref({
|
|||
|
projectName: "",
|
|||
|
status: ""
|
|||
|
});
|
|||
|
// 获取列表
|
|||
|
const getList = val => {
|
|||
|
// pageData.tableConfiger.loading = true;
|
|||
|
// let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
|||
|
// let url = '/mosty-lzcj/tbDwMbkf/queryList';
|
|||
|
// qcckPost(data,url).then(res=>{
|
|||
|
// pageData.tableData = res.records || [];
|
|||
|
// pageData.total = res.total;
|
|||
|
// pageData.tableConfiger.loading = false;
|
|||
|
// }).catch(()=>{ pageData.tableConfiger.loading = false; })
|
|||
|
};
|
|||
|
|
|||
|
const pageData = reactive({
|
|||
|
tableData: [
|
|||
|
{ checked: false },
|
|||
|
{ checked: false },
|
|||
|
{ checked: false },
|
|||
|
{ checked: false },
|
|||
|
{ checked: false },
|
|||
|
{ checked: false }
|
|||
|
], //表格数据
|
|||
|
keyCount: 0,
|
|||
|
total: 0,
|
|||
|
pageConfiger: {
|
|||
|
pageSize: 20,
|
|||
|
pageCurrent: 1
|
|||
|
} //分页
|
|||
|
});
|
|||
|
const drawer = ref(false);
|
|||
|
// 初始化数据
|
|||
|
const init = () => {
|
|||
|
drawer.value = true;
|
|||
|
// 根据type和row初始化表单数据
|
|||
|
};
|
|||
|
defineExpose({ init });
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.drawer-model {
|
|||
|
header {
|
|||
|
background: none;
|
|||
|
}
|
|||
|
:deep(.el-drawer) {
|
|||
|
width: 400px !important;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.search-area {
|
|||
|
margin-bottom: 20px;
|
|||
|
}
|
|||
|
|
|||
|
.list-area {
|
|||
|
display: flex;
|
|||
|
flex-direction: column;
|
|||
|
gap: 16px;
|
|||
|
.model-name {
|
|||
|
color: rgb(64, 158, 255);
|
|||
|
font-size: 20px;
|
|||
|
margin-bottom: 10px;
|
|||
|
}
|
|||
|
.model-type {
|
|||
|
font-size: 18px;
|
|||
|
color: #ccc;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.list-item {
|
|||
|
border: 1px solid #e4e7ed;
|
|||
|
border-radius: 4px;
|
|||
|
padding: 16px;
|
|||
|
.el-divider--horizontal {
|
|||
|
margin: 10px 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.actions {
|
|||
|
.btns {
|
|||
|
.set {
|
|||
|
color: rgb(64, 158, 255);
|
|||
|
}
|
|||
|
.delete {
|
|||
|
margin-left: 10px;
|
|||
|
color: rgb(245, 108, 108);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|