- 将快捷筛选标签及相关逻辑从搜索子组件提升至账单台账页面 - 标签置于搜索卡片下方、表格上方独立一行,满足用户需求 - 删除子组件中相关标签DOM及快捷筛选功能代码 - 统一选中态样式,采用 Element Plus 默认蓝底深字风格 fix(transportCapacity): 统一船舶管理弹窗表单控件宽度 - 删除异常的宽度强制规则,避免控件宽度不一致 - 采用固定宽度250px加最大宽度100%方案,实现多控件视觉宽度一致 - 清理无用label-width属性,解决label撑开布局异常问题 - 优化表单项label对齐与必填星号样式,确保多行label视觉协调 refactor(transportCapacity): 优化船舶证书分组布局及标签简化 - 证书有效期自标签统一更改为“有效期自” - 证书上传区域由集中底部移至对应证书分组末尾,保持信息关联 - 清理无用样式,保留必需上传项间距样式,提升界面整洁度 fix(business): 修复项目申请表单级联选择器宽度问题 - 业务部门和承办部门el-cascader控件未设置宽度,导致收缩 - 补充级联选择器宽度规则,保证与其他控件宽度统一 - 支持热更新,无需重启开发环境
123 lines
3.7 KiB
Vue
123 lines
3.7 KiB
Vue
<template>
|
|
<section class="bill-ledger-search">
|
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
|
<div class="bill-ledger-search__grid">
|
|
<el-form-item label="票据编号">
|
|
<el-input v-model="query.billNo" clearable placeholder="请输入" />
|
|
</el-form-item>
|
|
<el-form-item label="出票日期">
|
|
<el-date-picker
|
|
v-model="query.issueDateRange"
|
|
type="daterange"
|
|
unlink-panels
|
|
clearable
|
|
value-format="YYYY-MM-DD"
|
|
start-placeholder="开始日期"
|
|
end-placeholder="结束日期"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="出票单位">
|
|
<el-input v-model="query.issuerName" clearable placeholder="请输入" />
|
|
</el-form-item>
|
|
<el-form-item label="收票单位">
|
|
<el-input v-model="query.receiverName" clearable placeholder="请输入" />
|
|
</el-form-item>
|
|
<el-form-item v-if="expanded" label="汇票类型">
|
|
<el-select v-model="query.billType" clearable placeholder="请选择">
|
|
<el-option
|
|
v-for="item in billTypeOptions"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item v-if="expanded" label="到期状态">
|
|
<el-select v-model="query.maturityStatus" clearable placeholder="请选择">
|
|
<el-option
|
|
v-for="item in maturityStatusOptions"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</div>
|
|
<div class="bill-ledger-search__actions-buttons">
|
|
<el-button type="primary" :loading="loading" @click="$emit('search')">
|
|
<el-icon><Search /></el-icon>
|
|
<span>搜索</span>
|
|
</el-button>
|
|
<el-button @click="$emit('reset')">
|
|
<el-icon><Delete /></el-icon>
|
|
<span>重置</span>
|
|
</el-button>
|
|
<el-tooltip :content="expanded ? '折叠' : '展开'" placement="top">
|
|
<el-button text @click="expanded = !expanded">
|
|
<el-icon><component :is="expanded ? ArrowUp : ArrowDown" /></el-icon>
|
|
<span>{{ expanded ? '折叠' : '展开' }}</span>
|
|
</el-button>
|
|
</el-tooltip>
|
|
</div>
|
|
</el-form>
|
|
</section>
|
|
</template>
|
|
|
|
<script>
|
|
import { ArrowDown, ArrowUp, Delete, Search } from '@element-plus/icons-vue';
|
|
import { billTypeOptions, maturityStatusOptions } from '@/api/payment/billLedger';
|
|
|
|
export default {
|
|
name: 'BillLedgerSearch',
|
|
props: {
|
|
query: { type: Object, required: true },
|
|
loading: { type: Boolean, default: false },
|
|
},
|
|
emits: ['search', 'reset'],
|
|
data() {
|
|
return {
|
|
ArrowDown,
|
|
ArrowUp,
|
|
Delete,
|
|
Search,
|
|
expanded: false,
|
|
billTypeOptions,
|
|
maturityStatusOptions,
|
|
};
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.bill-ledger-search {
|
|
padding: 12px 12px 4px;
|
|
background: #fff;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
|
}
|
|
.bill-ledger-search__grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
gap: 8px 24px;
|
|
}
|
|
.bill-ledger-search :deep(.el-form-item) {
|
|
margin-bottom: 8px;
|
|
}
|
|
.bill-ledger-search :deep(.el-input),
|
|
.bill-ledger-search :deep(.el-select),
|
|
.bill-ledger-search :deep(.el-date-editor) {
|
|
width: 100%;
|
|
}
|
|
.bill-ledger-search__actions-buttons {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.bill-ledger-search__grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
}
|
|
</style>
|