|
@ -5,65 +5,68 @@
|
|
|
<el-form :inline="true">
|
|
|
<template v-for="(item, i) in configs.columns">
|
|
|
<el-form-item :label="item.label" :key="i" v-if="item.isSearch" :class="{'radioGroup-item':item.type=='radioGroup'}">
|
|
|
<el-input v-if="item.type=='text'" v-model="searchForm[item.id]" :placeholder="item.placeholder||item.label" clearable/>
|
|
|
<el-date-picker
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='daterange'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:start-placeholder="item.label+ '起'"
|
|
|
:end-placeholder="item.label+ '至'"
|
|
|
type="daterange"
|
|
|
align="right"
|
|
|
unlink-panels
|
|
|
value-format="yyyy-MM-dd"
|
|
|
range-separator="至"
|
|
|
:picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
<el-date-picker
|
|
|
clearable
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='date'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
type="date"
|
|
|
:placeholder="item.label">
|
|
|
</el-date-picker>
|
|
|
<el-date-picker
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='datetimerange'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:start-placeholder="'开始时间'"
|
|
|
:end-placeholder="'结束时间'"
|
|
|
type="datetimerange"
|
|
|
align="right"
|
|
|
unlink-panels
|
|
|
value-format="yyyy-MM-dd hh:mm"
|
|
|
range-separator="至"
|
|
|
:picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
<el-select
|
|
|
v-else-if="item.type=='select'"
|
|
|
:key="i"
|
|
|
:placeholder="item.label"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:clearable="item.clearable===false? false : true" >
|
|
|
<el-option
|
|
|
v-for="item in item.optionList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
<el-radio-group v-else-if="item.type=='radioGroup'" v-model="searchForm[item.id]">
|
|
|
<el-radio-button v-for="item in item.optionList" :label="item.value" :key="item.value">{{item.label}}</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
<el-cascader
|
|
|
v-else-if="item.type=='cascader'"
|
|
|
clearable
|
|
|
:props="item.cascaderProps || cascaderProps"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:options="item.optionList">
|
|
|
</el-cascader>
|
|
|
<slot v-if="$scopedSlots[item.id+'Search']" :name="item.id+'Search'"/>
|
|
|
<template v-else>
|
|
|
<el-input v-if="item.type=='text'" v-model="searchForm[item.id]" :placeholder="item.placeholder||item.label" clearable/>
|
|
|
<el-date-picker
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='daterange'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:start-placeholder="item.label+ '起'"
|
|
|
:end-placeholder="item.label+ '至'"
|
|
|
type="daterange"
|
|
|
align="right"
|
|
|
unlink-panels
|
|
|
value-format="yyyy-MM-dd"
|
|
|
range-separator="至"
|
|
|
:picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
<el-date-picker
|
|
|
clearable
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='date'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
type="date"
|
|
|
:placeholder="item.label">
|
|
|
</el-date-picker>
|
|
|
<el-date-picker
|
|
|
:key="i"
|
|
|
v-else-if="item.type=='datetimerange'"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:start-placeholder="'开始时间'"
|
|
|
:end-placeholder="'结束时间'"
|
|
|
type="datetimerange"
|
|
|
align="right"
|
|
|
unlink-panels
|
|
|
value-format="yyyy-MM-dd hh:mm"
|
|
|
range-separator="至"
|
|
|
:picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
<el-select
|
|
|
v-else-if="item.type=='select'"
|
|
|
:key="i"
|
|
|
:placeholder="item.label"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:clearable="item.clearable===false? false : true" >
|
|
|
<el-option
|
|
|
v-for="item in item.optionList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
<el-radio-group v-else-if="item.type=='radioGroup'" v-model="searchForm[item.id]">
|
|
|
<el-radio-button v-for="item in item.optionList" :label="item.value" :key="item.value">{{item.label}}</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
<el-cascader
|
|
|
v-else-if="item.type=='cascader'"
|
|
|
clearable
|
|
|
:props="item.cascaderProps || cascaderProps"
|
|
|
v-model="searchForm[item.id]"
|
|
|
:options="item.optionList">
|
|
|
</el-cascader>
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<el-form-item class="mb22">
|