| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <!-- 搜索表单 -->
- <template>
- <el-form
- label-width="77px"
- class="ele-form-search"
- @keyup.enter.native="search"
- @submit.native.prevent
- >
- <el-row :gutter="10">
- <el-col v-bind="styleResponsive ? { md: 5 } : { span: 8 }">
- <el-form-item label="证件编号">
- <el-input clearable v-model.trim="where.code" placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { md: 5 } : { span: 8}">
- <el-form-item label="持证人">
- <el-input clearable v-model.trim="where.holder" placeholder="请输入" />
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { md: 5 } : { span: 8 }">
- <el-form-item label="证件类型">
- <DictSelection
- dictName="证件类型"
- clearable
- v-model.trim="where.type"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { md:9 } : { span: 9 }">
- <el-form-item label="有效期">
- <el-date-picker
- style="width: 100%"
- type="daterange"
- class="ele-fluid"
- end-placeholder="结束日期"
- start-placeholder="开始日期"
- v-model.trim="where.time"
- range-separator="至"
- value-format="yyyy-MM-dd HH:mm:ss"
- :default-time="['00:00:00', '23:59:59']"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
- <el-form-item label-width="0">
- <el-button
- type="primary"
- icon="el-icon-search"
- class="ele-btn-icon"
- @click="search"
- size="medium"
- >
- 查询
- </el-button>
- <el-button
- @click="reset"
- icon="el-icon-refresh"
- class="ele-btn-icon"
- size="medium"
- >重置</el-button
- >
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </template>
- <script>
- export default {
- data () {
- // 默认表单数据
- const defaultWhere = {
- code: '',
- holder: '',
- type:'',
- time: []
- };
- return {
- defaultWhere,
- // 表单数据
- where: { ...defaultWhere }
- };
- },
- computed: {
- // 是否开启响应式布局
- styleResponsive () {
- return this.$store.state.theme.styleResponsive;
- }
- },
- methods: {
- /* 搜索 */
- search () {
- const where = { ...this.where };
- if (where.time?.length) {
- where.validityStartTime = where.time[0];
- where.validityEndTime = where.time[1];
- }
- delete where.time;
- this.$emit('search', where);
- },
- /* 重置 */
- reset () {
- this.where = { ...this.defaultWhere };
- this.search();
- }
- }
- };
- </script>
|