<template>
|
<div>
|
<transition name="el-zoom-in-top">
|
<div class="search-main">
|
<div class="info-main">
|
<div class="f-r f-r-between topic-title">
|
<div class="font-16 color-333">条件筛选</div>
|
<i class="el-icon-close font-18 pointer" @click="close"></i>
|
</div>
|
<div class="com-c-box">
|
<el-form ref="dataForm" :model="formData" label-width="90px">
|
<el-form-item label="选择区域">
|
<el-cascader
|
:options="orgOptions"
|
:show-all-levels="false"
|
:props="{ value: 'id',label:'label' }"
|
v-model="formData.orgId"
|
style="width:100%"></el-cascader>
|
</el-form-item>
|
<el-form-item label="项目状态">
|
<el-checkbox-group v-model="formData.status" size="small">
|
<el-checkbox-button v-for="(c,j) in statusList" :label="c.value" :key="c.value">{{c.name}}</el-checkbox-button>
|
</el-checkbox-group>
|
</el-form-item>
|
<el-form-item label="项目分类">
|
<el-cascader
|
:options="categoryOptions"
|
:show-all-levels="false"
|
:props="{ value: 'id',label:'label' }"
|
v-model="formData.projectCategoryId"
|
style="width:100%"></el-cascader>
|
</el-form-item>
|
<el-form-item label="直营单位">
|
<el-cascader
|
:options="orgZsOptions"
|
:props="{ value: 'dict_code',label:'dict_label' }"
|
v-model="formData.directUnitCode"
|
style="width:100%"></el-cascader>
|
</el-form-item>
|
<el-form-item label="建设单位">
|
<el-cascader
|
:options="buildOrgOptions"
|
:props="{ value: 'id',label:'label', checkStrictly: true }"
|
v-model="formData.buildOrgId"
|
style="width:100%"></el-cascader>
|
</el-form-item>
|
<div class="f-r f-r-between">
|
<el-form-item label="建设年限">
|
<el-date-picker
|
style="width:100%"
|
v-model="buildDate"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期">
|
</el-date-picker>
|
</el-form-item>
|
</div>
|
<el-form-item label="项目批次">
|
<el-select v-model="formData.projectBatchCode" placeholder="请选择" style="width:100%">
|
<el-option
|
v-for="item in batchOptions"
|
:label="item.dict_label"
|
:value="item.dict_code">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="投资专业">
|
<el-select v-model="formData.investMajorCode" placeholder="请选择" style="width:100%">
|
<el-option
|
v-for="item in investOptions"
|
:key="item.dict_code"
|
:label="item.dict_label"
|
:value="item.dict_code">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div class="f-r f-r-center btn-bot">
|
<my-button name="确定" site="form" @click="save"/>
|
<my-button name="重置" site="form" @click="reset"/>
|
</div>
|
</div>
|
</div>
|
</transition>
|
</div>
|
</template>
|
|
<script>
|
import * as finsystenant from "@/api/baseSetting/finsystenant";
|
import * as classify from "@/api/projectManage/classify";
|
import * as system from "@/api/system/dict/data";
|
import myButton from '@/components/myButton/myButton'
|
export default {
|
name: "searchForm",
|
components:{ myButton },
|
data(){
|
return {
|
formShow:true,
|
orgOptions:[], // 选择区域
|
categoryOptions:[], // 项目分类
|
orgZsOptions:[], // 直营单位
|
buildOrgOptions:[], // 建设单位
|
batchOptions:[], // 项目批次
|
investOptions:[], // 投资专业
|
statusList:[
|
{name:'未开始',value:1},
|
{name:'进行中',value:2},
|
{name:'已完工',value:3},
|
{name:'已取消',value:4},
|
// {name:'已逾期',value:5},
|
],
|
formData: {
|
projectCategoryId: '',
|
planTypeCode: '',
|
projectName: '',
|
projectCode: '',
|
status:[],
|
directUnitCode: '',
|
buildOrgId:'',
|
buildYearStart:'',
|
buildYearEnd:'',
|
projectBatchCode:'',
|
investMajorCode:'',
|
},
|
buildDate:[]
|
}
|
},
|
created() {
|
this.getProjectClass() // 获取项目分类
|
this.getProjectBatch() // 获取项目批次
|
this.getProjectInvest() // 获取投递专业
|
this.getProjectDirect() // 获取直营单位
|
this.getOrg() // 获取建设单位
|
},
|
methods:{
|
// 获取项目分类
|
getProjectClass(){
|
classify.classifyTree().then(res => {
|
const content = res || []
|
this.categoryOptions = content
|
})
|
},
|
// 获取项目批次
|
getProjectBatch(){
|
system.getDicts('project_batch').then(res=>{
|
this.batchOptions = res
|
})
|
},
|
// 获取投递专业
|
getProjectInvest(){
|
system.getDicts('INVEST_MAJOR').then(res=>{
|
this.investOptions = res
|
})
|
},
|
// 获取直营单位
|
getProjectDirect(){
|
system.getDicts('DIRECT_UNIT').then(res=>{
|
this.orgZsOptions = res
|
})
|
},
|
// 获取建设单位
|
getOrg() {
|
finsystenant.getTree().then(res => {
|
if (res) {
|
this.buildOrgOptions = res
|
} else {
|
this.buildOrgOptions = []
|
}
|
this.$forceUpdate()
|
})
|
},
|
// 确定
|
save(){},
|
// 重置
|
reset(){},
|
close(){
|
this.$emit('close')
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.search-main{
|
position: absolute;
|
top:0;
|
right: 0;
|
bottom: 0;
|
width: 400px;
|
z-index: 101;
|
background-color: #FFFFFF;
|
box-sizing: border-box;
|
}
|
.com-c-box{
|
padding-right:15px;
|
overflow-y: auto;
|
max-height: calc(100vh - 240px);
|
}
|
>>>.com-c-box::-webkit-scrollbar {
|
display: none;
|
}
|
.topic-title{
|
padding: 0 20px 20px 20px;
|
}
|
.pointer{
|
cursor: pointer;
|
}
|
.info-main{
|
box-sizing: border-box;
|
padding:20px 0;
|
position: relative;
|
}
|
.btn-bot{
|
width: 100%;
|
padding:15px 0;
|
background-color: #FFFFFF;
|
border-top:1px solid #eeeeee;
|
z-index: 11;
|
}
|
</style>
|