style(payment): 优化票据搜索条件交互和标签宽度统一
- 票据账册搜索改用 el-check-tag 实现快捷筛选,提升用户交互体验 - 查询按钮增加图标,重置按钮同样添加图标及文字说明 - 调整票据搜索表单标签宽度由160px统一为88px,优化界面一致性 - 全站多处搜索栏表单标签宽度由160px改为88px,涵盖多页面及组件 - 修复业务组件内el-autocomplete输入框宽度适配,避免placeholder被裁剪 - 业务页面货物名称表格列宽由150调整为240,改善显示效果 - 修正系统部门操作列宽度避免按钮竖排溢出问题 - 修改多个表单页和搜索板块样式,确保标签宽度和对齐一致 - 调整表单按钮等样式,提升整体页面美观性和操作友好度
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
# 2026-08-26
|
||||||
|
|
||||||
|
## el-table 内嵌 el-autocomplete 撑满列宽(全局规则补充)
|
||||||
|
|
||||||
|
**问题**: `business/transport-plan/form?mode=add` 独立表单页"货物信息"表格,
|
||||||
|
「货物名称」列 placeholder `请输入货物名称` 只显示 `请输入货物名…`。
|
||||||
|
|
||||||
|
**根因**: `element-ui.scss` 兜底规则只覆盖 `.el-input`,而 `<el-autocomplete>` 在 Element Plus 中
|
||||||
|
根节点是 `.el-autocomplete` 包装层,内部才是 `.el-input`,中间多了一层导致选择器不命中,
|
||||||
|
autocomplete 没有拉满 cell,placeholder 被内边距 / clear 图标挤压截断。
|
||||||
|
|
||||||
|
**修复**:
|
||||||
|
- `src/styles/element-ui.scss` 第 663 行兜底规则追加:
|
||||||
|
- `.cell > .el-autocomplete` `width:100%`
|
||||||
|
- `.cell > .el-autocomplete > .el-input` `width:100%`
|
||||||
|
- `.cell > .el-autocomplete .el-input__wrapper` `width:100%`
|
||||||
|
- `src/views/business/components/business-crud-page.vue:1520` 独立表单页
|
||||||
|
"货物名称"列 `min-width="150"` → `240`(与 1544 行「货物类型」cascader 列一致)。
|
||||||
|
|
||||||
|
其它内嵌 `<el-select>` / `<el-input>` / `<el-cascader>` 不受影响(选择器依旧命中),
|
||||||
|
3626 行(调度明细「货物名称」用的是 el-select)未做改动。
|
||||||
|
|
||||||
|
## 全站搜索栏 label 宽度统一 88px
|
||||||
|
|
||||||
|
**问题**: 主人反馈 `business/master-order` 搜索区 label 宽度 160px,要求全站统一改成 88px,
|
||||||
|
参考 `business/shipping-template`(已经是 88px)。
|
||||||
|
|
||||||
|
**调研**:
|
||||||
|
- `src/styles/element-ui.scss:133-136` 已有 `.avue-crud__search .el-form-item__label { min-width: 88px; }`,
|
||||||
|
全站 Avue 自动搜索栏视觉上就是 88px。
|
||||||
|
- shipping-template 走 `<business-crud-page>`(Avue),所以 label 是 88px。
|
||||||
|
- 但是项目里有 18 个文件,22 处直接手写 `<el-form ... label-width="160px">`,不走 `.avue-crud__search`,
|
||||||
|
视觉就是 160px。这些都是**搜索/筛选** `<el-form>`(顶层 query 或子表单),不是表单 dialog 内填表。
|
||||||
|
|
||||||
|
**改动**: 全部 22 处 `label-width="160px"` → `label-width="88px"`。
|
||||||
|
|
||||||
|
涉及文件:
|
||||||
|
- business: master-order.vue, voucher-manage.vue(3 处), loading-manage.vue
|
||||||
|
- payment: invoice-application, invoice-receipt, receipt-flow, receipt-claim-record,
|
||||||
|
payment-application, components/bill-ledger-search, components/bill-payment-search
|
||||||
|
- settlement: settlement-adjustment, receivable-payable-detail, pre-settlement,
|
||||||
|
formal-settlement, transport-reconciliation, components/transport-reconciliation-editor,
|
||||||
|
components/formal-settlement-editor(3 处,都是子筛选)
|
||||||
|
- transit: risk-disposal, exception-disposal
|
||||||
|
|
||||||
|
**遗漏补丁**: `transit/exception-disposal.vue` 搜索区不走 Avue,而是在 scoped 样式里用
|
||||||
|
`:deep(.el-form-item__label) { min-width: 160px }` 写死,盖过了全局 88px。
|
||||||
|
已改为 `min-width: 88px`(文件第 443 行)。`risk-disposal.vue` 无此 scoped 覆盖,本来就是 88px。
|
||||||
|
|
||||||
|
**未做改动**: 表单 dialog 内填写项(`shipping-template-dialog` /
|
||||||
|
`transport-plan-dialog` / `waybill-manage-dialog` 等)走专门的 dialogCustomClass + labelWidth:100,
|
||||||
|
不受本规则影响。
|
||||||
|
其余残留 160px 均非搜索栏: project-apply.vue:2095(表单详情弹窗 label,故意留 6 汉字)、
|
||||||
|
customer-archive.vue:4980(按钮 min-width)、cargo-type.vue:604(选择器拼错不生效,设 50px)。
|
||||||
@@ -660,13 +660,18 @@
|
|||||||
// 全站统一:el-table 表格列内嵌控件默认拉满 cell(不撞表头)
|
// 全站统一:el-table 表格列内嵌控件默认拉满 cell(不撞表头)
|
||||||
// 适用场景:可编辑表、弹窗内表格(如 pre-settlement-editor 结算明细调整、transport-reconciliation/formal-settlement/settlement-adjustment editor 等)。
|
// 适用场景:可编辑表、弹窗内表格(如 pre-settlement-editor 结算明细调整、transport-reconciliation/formal-settlement/settlement-adjustment editor 等)。
|
||||||
// 排除 .el-form-item__content 上下文,与表单内 250px 规则互不冲突。
|
// 排除 .el-form-item__content 上下文,与表单内 250px 规则互不冲突。
|
||||||
|
// 注意:el-autocomplete 根节点是 .el-autocomplete 包装层,内部才是 .el-input,
|
||||||
|
// 直接选 .el-input 会被包装层阻断导致 input 收缩、placeholder 被截断。
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-input-number,
|
.el-table .el-table__body td.el-table__cell .cell > .el-input-number,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-input,
|
.el-table .el-table__body td.el-table__cell .cell > .el-input,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-select,
|
.el-table .el-table__body td.el-table__cell .cell > .el-select,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor,
|
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-cascader,
|
.el-table .el-table__body td.el-table__cell .cell > .el-cascader,
|
||||||
|
.el-table .el-table__body td.el-table__cell .cell > .el-autocomplete,
|
||||||
|
.el-table .el-table__body td.el-table__cell .cell > .el-autocomplete > .el-input,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-input-number .el-input__wrapper,
|
.el-table .el-table__body td.el-table__cell .cell > .el-input-number .el-input__wrapper,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-select .el-select__wrapper,
|
.el-table .el-table__body td.el-table__cell .cell > .el-select .el-select__wrapper,
|
||||||
|
.el-table .el-table__body td.el-table__cell .cell > .el-autocomplete .el-input__wrapper,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor.el-input,
|
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor.el-input,
|
||||||
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor.el-input .el-input__wrapper {
|
.el-table .el-table__body td.el-table__cell .cell > .el-date-editor.el-input .el-input__wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1517,7 +1517,7 @@
|
|||||||
empty-text="暂无货物信息"
|
empty-text="暂无货物信息"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" label="序号" width="70" align="center" fixed="left" />
|
<el-table-column type="index" label="序号" width="70" align="center" fixed="left" />
|
||||||
<el-table-column label="货物名称" min-width="150" align="center">
|
<el-table-column label="货物名称" min-width="240" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-autocomplete
|
<el-autocomplete
|
||||||
v-model="row.cargoName"
|
v-model="row.cargoName"
|
||||||
|
|||||||
@@ -424,7 +424,7 @@
|
|||||||
<el-table :data="paymentRatioRows" border>
|
<el-table :data="paymentRatioRows" border>
|
||||||
<el-table-column type="index" label="序号" width="80" align="center" />
|
<el-table-column type="index" label="序号" width="80" align="center" />
|
||||||
<el-table-column prop="paymentTerm" label="付款笔数" min-width="180" align="center" />
|
<el-table-column prop="paymentTerm" label="付款笔数" min-width="180" align="center" />
|
||||||
<el-table-column label="付款比例上限" min-width="220" align="center">
|
<el-table-column label="付款比例上限(%)" min-width="220" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="row.ratioLimit"
|
v-model="row.ratioLimit"
|
||||||
@@ -706,7 +706,7 @@
|
|||||||
<el-table :data="detailPaymentRatioRows" border>
|
<el-table :data="detailPaymentRatioRows" border>
|
||||||
<el-table-column type="index" label="序号" width="80" align="center" />
|
<el-table-column type="index" label="序号" width="80" align="center" />
|
||||||
<el-table-column prop="paymentTerm" label="付款笔数" min-width="180" align="center" />
|
<el-table-column prop="paymentTerm" label="付款笔数" min-width="180" align="center" />
|
||||||
<el-table-column label="付款比例上限" min-width="220" align="center">
|
<el-table-column label="付款比例上限(%)" min-width="220" align="center">
|
||||||
<template #default="{ row }">{{
|
<template #default="{ row }">{{
|
||||||
detailObjectUnitValue(row, 'ratioLimit', '%')
|
detailObjectUnitValue(row, 'ratioLimit', '%')
|
||||||
}}</template>
|
}}</template>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="master-order-page">
|
<basic-container class="master-order-page">
|
||||||
<template v-if="mode === 'list'">
|
<template v-if="mode === 'list'">
|
||||||
<el-form :model="query" class="master-search" label-width="160px" @submit.prevent>
|
<el-form :model="query" class="master-search" label-width="88px" @submit.prevent>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col v-for="field in primaryFields" :key="field.prop" :span="6"
|
<el-col v-for="field in primaryFields" :key="field.prop" :span="6"
|
||||||
><el-form-item :label="field.label"
|
><el-form-item :label="field.label"
|
||||||
|
|||||||
@@ -816,7 +816,6 @@ export default {
|
|||||||
width: 180px !important;
|
width: 180px !important;
|
||||||
}
|
}
|
||||||
.el-form-item--default .el-form-item__label {
|
.el-form-item--default .el-form-item__label {
|
||||||
min-height: 30px;
|
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="voucher-manage-page">
|
<basic-container class="voucher-manage-page">
|
||||||
<section class="voucher-manage-page__search">
|
<section class="voucher-manage-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px">
|
<el-form :model="query" label-position="right" label-width="88px">
|
||||||
<div class="voucher-manage-page__search-grid">
|
<div class="voucher-manage-page__search-grid">
|
||||||
<el-form-item label="凭证批次号"
|
<el-form-item label="凭证批次号"
|
||||||
><el-input v-model="query.voucherBatchNo" clearable placeholder="请输入"
|
><el-input v-model="query.voucherBatchNo" clearable placeholder="请输入"
|
||||||
@@ -290,7 +290,7 @@
|
|||||||
<el-form
|
<el-form
|
||||||
:model="batchQuery"
|
:model="batchQuery"
|
||||||
label-position="right"
|
label-position="right"
|
||||||
label-width="160px"
|
label-width="88px"
|
||||||
class="voucher-manage-page__batch-search"
|
class="voucher-manage-page__batch-search"
|
||||||
><el-row :gutter="20"
|
><el-row :gutter="20"
|
||||||
><el-col :span="12"
|
><el-col :span="12"
|
||||||
@@ -365,7 +365,7 @@
|
|||||||
@opened="loadProgress"
|
@opened="loadProgress"
|
||||||
>
|
>
|
||||||
<section-card class="voucher-manage-page__progress-search">
|
<section-card class="voucher-manage-page__progress-search">
|
||||||
<el-form :model="progressQuery" label-position="right" label-width="160px"
|
<el-form :model="progressQuery" label-position="right" label-width="88px"
|
||||||
><div class="voucher-manage-page__search-grid">
|
><div class="voucher-manage-page__search-grid">
|
||||||
<el-form-item label="凭证批次号"
|
<el-form-item label="凭证批次号"
|
||||||
><el-input
|
><el-input
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="本次使用" prop="usedAmount">
|
<el-form-item label="本次使用" prop="usedAmount">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
class="used-amount-input"
|
||||||
v-model="form.usedAmount"
|
v-model="form.usedAmount"
|
||||||
:disabled="readonly"
|
:disabled="readonly"
|
||||||
:min="0"
|
:min="0"
|
||||||
@@ -388,12 +389,16 @@ export default {
|
|||||||
.bill-payment-form-page__remark :deep(.el-form-item__content) {
|
.bill-payment-form-page__remark :deep(.el-form-item__content) {
|
||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
}
|
}
|
||||||
|
// 本次使用 input-number 默认文字居中,改为居左
|
||||||
|
.used-amount-input :deep(.el-input__inner) {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
.bill-payment-form-page__uploader {
|
.bill-payment-form-page__uploader {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
.bill-payment-form-page__actions {
|
.bill-payment-form-page__actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-end;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 16px 0 8px;
|
padding: 16px 0 8px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="bill-ledger-search">
|
<section class="bill-ledger-search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="bill-ledger-search__grid">
|
<div class="bill-ledger-search__grid">
|
||||||
<el-form-item label="票据编号">
|
<el-form-item label="票据编号">
|
||||||
<el-input v-model="query.billNo" clearable placeholder="请输入" />
|
<el-input v-model="query.billNo" clearable placeholder="请输入" />
|
||||||
@@ -43,25 +43,40 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="bill-ledger-search__shortcut-row">
|
|
||||||
<span class="bill-ledger-search__shortcut-label">到期快捷筛选</span>
|
|
||||||
<el-segmented v-model="query.expiryShortcut" :options="shortcutOptions" />
|
|
||||||
</div>
|
|
||||||
<div class="bill-ledger-search__actions">
|
<div class="bill-ledger-search__actions">
|
||||||
<el-button type="primary" :loading="loading" @click="$emit('search')">查询</el-button>
|
<div class="bill-ledger-search__actions-left">
|
||||||
<el-button @click="$emit('reset')">重置</el-button>
|
<el-check-tag
|
||||||
<el-tooltip :content="expanded ? '折叠' : '展开'" placement="top">
|
v-for="item in shortcutOptions"
|
||||||
<el-button text @click="expanded = !expanded">
|
:key="item.value"
|
||||||
<el-icon><component :is="expanded ? ArrowUp : ArrowDown" /></el-icon>
|
:checked="query.expiryShortcut === item.value"
|
||||||
|
@change="handleShortcutChange(item.value)"
|
||||||
|
>
|
||||||
|
{{ item.label }}
|
||||||
|
</el-check-tag>
|
||||||
|
</div>
|
||||||
|
<div class="bill-ledger-search__actions-right">
|
||||||
|
<el-button type="primary" :loading="loading" @click="$emit('search')">
|
||||||
|
<el-icon><Search /></el-icon>
|
||||||
|
<span>搜索</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { ArrowDown, ArrowUp } from '@element-plus/icons-vue';
|
import { ArrowDown, ArrowUp, Delete, Search } from '@element-plus/icons-vue';
|
||||||
import { billTypeOptions, maturityStatusOptions } from '@/api/payment/billLedger';
|
import { billTypeOptions, maturityStatusOptions } from '@/api/payment/billLedger';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -76,6 +91,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
ArrowDown,
|
ArrowDown,
|
||||||
ArrowUp,
|
ArrowUp,
|
||||||
|
Delete,
|
||||||
|
Search,
|
||||||
expanded: false,
|
expanded: false,
|
||||||
billTypeOptions,
|
billTypeOptions,
|
||||||
maturityStatusOptions,
|
maturityStatusOptions,
|
||||||
@@ -91,6 +108,12 @@ export default {
|
|||||||
];
|
];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
handleShortcutChange(value) {
|
||||||
|
this.query.expiryShortcut = value;
|
||||||
|
this.$emit('search');
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -113,37 +136,36 @@ export default {
|
|||||||
.bill-ledger-search :deep(.el-date-editor) {
|
.bill-ledger-search :deep(.el-date-editor) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.bill-ledger-search__shortcut-row {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
min-height: 40px;
|
|
||||||
}
|
|
||||||
.bill-ledger-search__shortcut-label {
|
|
||||||
width: 160px;
|
|
||||||
padding-right: 12px;
|
|
||||||
color: var(--el-text-color-regular);
|
|
||||||
text-align: right;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.bill-ledger-search__shortcut-row :deep(.el-segmented) {
|
|
||||||
--el-segmented-item-selected-bg-color: #409eff;
|
|
||||||
--el-segmented-item-selected-color: #fff;
|
|
||||||
}
|
|
||||||
.bill-ledger-search__actions {
|
.bill-ledger-search__actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
.bill-ledger-search__actions-left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
.bill-ledger-search__actions-right {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
.bill-ledger-search__actions-left :deep(.el-check-tag) {
|
||||||
|
margin: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.bill-ledger-search__actions-left :deep(.el-check-tag.is-checked),
|
||||||
|
.bill-ledger-search__actions-left :deep(.el-check-tag.is-checked:hover) {
|
||||||
|
background-color: #409eff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
@media (max-width: 1200px) {
|
@media (max-width: 1200px) {
|
||||||
.bill-ledger-search__grid {
|
.bill-ledger-search__grid {
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
.bill-ledger-search__shortcut-row {
|
|
||||||
align-items: flex-start;
|
|
||||||
}
|
|
||||||
.bill-ledger-search__shortcut-row :deep(.el-segmented) {
|
|
||||||
max-width: calc(100% - 160px);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="bill-payment-search">
|
<section class="bill-payment-search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="bill-payment-search__grid">
|
<div class="bill-payment-search__grid">
|
||||||
<el-form-item label="单据号">
|
<el-form-item label="单据号">
|
||||||
<el-input v-model="query.paymentNo" clearable placeholder="请输入" />
|
<el-input v-model="query.paymentNo" clearable placeholder="请输入" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="invoice-page">
|
<basic-container class="invoice-page">
|
||||||
<section class="invoice-page__search">
|
<section class="invoice-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="invoice-page__search-grid">
|
<div class="invoice-page__search-grid">
|
||||||
<el-form-item label="单据号">
|
<el-form-item label="单据号">
|
||||||
<el-input v-model="query.applicationNo" clearable placeholder="请输入" />
|
<el-input v-model="query.applicationNo" clearable placeholder="请输入" />
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
<el-form-item label="所属组织">
|
<el-form-item label="所属组织">
|
||||||
<el-input v-model="query.deptName" clearable placeholder="请输入" />
|
<el-input v-model="query.deptName" clearable placeholder="请输入" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="金蝶单据状态">
|
<el-form-item class="invoice-kingdee-item" label="金蝶单据状态">
|
||||||
<el-select v-model="query.kingdeeStatus" clearable placeholder="请选择">
|
<el-select v-model="query.kingdeeStatus" clearable placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in kingdeeStatusOptions"
|
v-for="item in kingdeeStatusOptions"
|
||||||
@@ -423,6 +423,10 @@ export default {
|
|||||||
.invoice-page__search :deep(.el-select) {
|
.invoice-page__search :deep(.el-select) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
// 金蝶单据状态 label 为 6 个汉字,去掉 EP 默认 line-height:32px,避免与控件行高不对齐
|
||||||
|
.invoice-page__search .invoice-kingdee-item :deep(.el-form-item__label) {
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
.invoice-page__search-actions {
|
.invoice-page__search-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="receipt-page">
|
<basic-container class="receipt-page">
|
||||||
<section class="receipt-page__search">
|
<section class="receipt-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="receipt-page__search-grid">
|
<div class="receipt-page__search-grid">
|
||||||
<el-form-item label="发票号码">
|
<el-form-item label="发票号码">
|
||||||
<el-input v-model="query.invoiceNo" clearable placeholder="请输入" />
|
<el-input v-model="query.invoiceNo" clearable placeholder="请输入" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="payment-page">
|
<basic-container class="payment-page">
|
||||||
<section class="payment-page__search">
|
<section class="payment-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px">
|
<el-form :model="query" label-position="right" label-width="88px">
|
||||||
<div class="payment-page__search-grid">
|
<div class="payment-page__search-grid">
|
||||||
<el-form-item label="单据号"
|
<el-form-item label="单据号"
|
||||||
><el-input v-model="query.paymentNo" clearable
|
><el-input v-model="query.paymentNo" clearable
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="claim-record-page">
|
<basic-container class="claim-record-page">
|
||||||
<section-card class="claim-record-page__search">
|
<section-card class="claim-record-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="claim-record-page__search-grid">
|
<div class="claim-record-page__search-grid">
|
||||||
<el-form-item label="认领通知单">
|
<el-form-item label="认领通知单">
|
||||||
<el-input v-model="query.receiptNoticeNo" clearable placeholder="请输入" />
|
<el-input v-model="query.receiptNoticeNo" clearable placeholder="请输入" />
|
||||||
@@ -255,7 +255,7 @@ export default {
|
|||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.claim-record-page__search {
|
.claim-record-page__search {
|
||||||
padding: 12px 12px 4px;
|
//padding: 12px 12px 4px;
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
||||||
}
|
}
|
||||||
.claim-record-page__search-grid {
|
.claim-record-page__search-grid {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="receipt-flow-page">
|
<basic-container class="receipt-flow-page">
|
||||||
<section class="receipt-flow-page__search">
|
<section class="receipt-flow-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="receipt-flow-page__search-grid">
|
<div class="receipt-flow-page__search-grid">
|
||||||
<el-form-item label="认领通知单">
|
<el-form-item label="认领通知单">
|
||||||
<el-input v-model="query.receiptNoticeNo" clearable placeholder="请输入" />
|
<el-input v-model="query.receiptNoticeNo" clearable placeholder="请输入" />
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
:model="detailQuery"
|
:model="detailQuery"
|
||||||
inline
|
inline
|
||||||
label-position="right"
|
label-position="right"
|
||||||
label-width="160px"
|
label-width="88px"
|
||||||
class="formal-editor__detail-filter"
|
class="formal-editor__detail-filter"
|
||||||
@submit.prevent
|
@submit.prevent
|
||||||
>
|
>
|
||||||
@@ -360,7 +360,7 @@
|
|||||||
:model="candidate.query"
|
:model="candidate.query"
|
||||||
inline
|
inline
|
||||||
label-position="right"
|
label-position="right"
|
||||||
label-width="160px"
|
label-width="88px"
|
||||||
class="formal-editor__candidate-search"
|
class="formal-editor__candidate-search"
|
||||||
>
|
>
|
||||||
<el-form-item label="预结算单号"
|
<el-form-item label="预结算单号"
|
||||||
@@ -419,7 +419,7 @@
|
|||||||
:model="detailCandidate.query"
|
:model="detailCandidate.query"
|
||||||
inline
|
inline
|
||||||
label-position="right"
|
label-position="right"
|
||||||
label-width="160px"
|
label-width="88px"
|
||||||
class="formal-editor__detail-search"
|
class="formal-editor__detail-search"
|
||||||
>
|
>
|
||||||
<el-form-item label="批次号"
|
<el-form-item label="批次号"
|
||||||
|
|||||||
@@ -239,7 +239,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-dialog v-model="formalDialog.visible" title="选择正式结算单" width="84%" append-to-body>
|
<el-dialog v-model="formalDialog.visible" title="选择正式结算单" width="84%" append-to-body>
|
||||||
<el-form :model="formalDialog.query" inline label-position="right" label-width="160px">
|
<el-form :model="formalDialog.query" inline label-position="right" label-width="88px">
|
||||||
<el-form-item label="正式结算单号"
|
<el-form-item label="正式结算单号"
|
||||||
><el-input v-model="formalDialog.query.keyword" clearable
|
><el-input v-model="formalDialog.query.keyword" clearable
|
||||||
/></el-form-item>
|
/></el-form-item>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="formal-page">
|
<basic-container class="formal-page">
|
||||||
<section class="formal-page__search">
|
<section class="formal-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="formal-page__search-grid">
|
<div class="formal-page__search-grid">
|
||||||
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="pre-settlement-page">
|
<basic-container class="pre-settlement-page">
|
||||||
<section class="pre-settlement-page__search">
|
<section class="pre-settlement-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="pre-settlement-page__search-grid">
|
<div class="pre-settlement-page__search-grid">
|
||||||
<template v-for="field in visibleSearchFields" :key="field.prop">
|
<template v-for="field in visibleSearchFields" :key="field.prop">
|
||||||
<el-form-item :label="field.label">
|
<el-form-item :label="field.label">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="settlement-detail-page">
|
<basic-container class="settlement-detail-page">
|
||||||
<section class="settlement-detail-page__search">
|
<section class="settlement-detail-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="settlement-detail-page__search-grid">
|
<div class="settlement-detail-page__search-grid">
|
||||||
<template v-for="field in visibleSearchFields" :key="field.prop">
|
<template v-for="field in visibleSearchFields" :key="field.prop">
|
||||||
<el-form-item :label="field.label">
|
<el-form-item :label="field.label">
|
||||||
@@ -1779,7 +1779,6 @@ export default {
|
|||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
||||||
|
|
||||||
:deep(.el-form-item__label) {
|
:deep(.el-form-item__label) {
|
||||||
min-width: 160px;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="settlement-adjustment-page">
|
<basic-container class="settlement-adjustment-page">
|
||||||
<section class="settlement-adjustment-page__search">
|
<section class="settlement-adjustment-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="settlement-adjustment-page__search-grid">
|
<div class="settlement-adjustment-page__search-grid">
|
||||||
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="reconciliation-page">
|
<basic-container class="reconciliation-page">
|
||||||
<section class="reconciliation-page__search">
|
<section class="reconciliation-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="reconciliation-page__search-grid">
|
<div class="reconciliation-page__search-grid">
|
||||||
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
||||||
<el-select
|
<el-select
|
||||||
|
|||||||
@@ -730,16 +730,22 @@ export default {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 操作列兜底:确保「查看 / 编辑 / 删除 / 新增子项」横向排列并保留 8px 间距,
|
/* 操作列布局修正:
|
||||||
避免退化成 block 导致操作项竖排错位。全局样式已统一处理,此处为双保险。 */
|
1) 全局样式对 .cell.avue-crud__menu 设了 width:auto !important + overflow:visible(为避免 tooltip 裁切),
|
||||||
|
会覆盖 Avue menuWidth 导致列宽塌陷、flex-wrap 把 4 个按钮压成竖排并溢出列边界。
|
||||||
|
2) 此处用更具体的选择器 + !important 恢复固定宽度,确保按钮在操作列内横向排列。 */
|
||||||
|
:deep(.avue-crud .el-table__body-wrapper .cell.avue-crud__menu) {
|
||||||
|
width: 320px !important;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: clip;
|
||||||
|
}
|
||||||
|
|
||||||
:deep(.avue-crud__menu) {
|
:deep(.avue-crud__menu) {
|
||||||
display: inline-flex !important;
|
display: inline-flex !important;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
width: 100%;
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
> .el-button,
|
> .el-button,
|
||||||
> .el-link,
|
> .el-link,
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container>
|
<basic-container>
|
||||||
<div class="avue-crud">
|
<div class="avue-crud">
|
||||||
<el-row :hidden="!search" style="padding: 6px 18px">
|
<el-card
|
||||||
|
:hidden="!search"
|
||||||
|
class="avue-crud__search param-page__search"
|
||||||
|
shadow="never"
|
||||||
|
>
|
||||||
<!-- 查询模块 -->
|
<!-- 查询模块 -->
|
||||||
<el-form :inline="true" :model="query">
|
<el-form :inline="true" :model="query">
|
||||||
<el-form-item label="参数名:">
|
<el-form-item label="参数名:">
|
||||||
@@ -16,7 +20,7 @@
|
|||||||
<el-button icon="el-icon-delete" @click="searchReset()">重 置</el-button>
|
<el-button icon="el-icon-delete" @click="searchReset()">重 置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-card>
|
||||||
<el-row>
|
<el-row>
|
||||||
<div class="avue-crud__header">
|
<div class="avue-crud__header">
|
||||||
<!-- 头部左侧按钮模块 -->
|
<!-- 头部左侧按钮模块 -->
|
||||||
@@ -414,3 +418,13 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.param-page__search {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
|
||||||
|
:deep(.el-card__body) {
|
||||||
|
padding: 12px 12px 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -138,7 +138,7 @@
|
|||||||
>编辑
|
>编辑
|
||||||
</el-link>
|
</el-link>
|
||||||
<el-dropdown @command="command => handleDropdownCommand(command, row, index)">
|
<el-dropdown @command="command => handleDropdownCommand(command, row, index)">
|
||||||
<el-link type="primary">更 多 </el-link>
|
<el-link type="primary">更多 </el-link>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item command="setLeader" v-if="userInfo.authority.includes('admin')">
|
<el-dropdown-item command="setLeader" v-if="userInfo.authority.includes('admin')">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="exception-disposal-page">
|
<basic-container class="exception-disposal-page">
|
||||||
<section class="exception-disposal-page__search">
|
<section class="exception-disposal-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="exception-disposal-page__search-grid">
|
<div class="exception-disposal-page__search-grid">
|
||||||
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
<el-form-item v-for="field in visibleSearchFields" :key="field.prop" :label="field.label">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@@ -440,7 +440,7 @@ export default {
|
|||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
||||||
|
|
||||||
:deep(.el-form-item__label) {
|
:deep(.el-form-item__label) {
|
||||||
min-width: 160px;
|
min-width: 88px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<basic-container class="risk-disposal-page">
|
<basic-container class="risk-disposal-page">
|
||||||
<section class="risk-disposal-page__search">
|
<section class="risk-disposal-page__search">
|
||||||
<el-form :model="query" label-position="right" label-width="160px" @submit.prevent>
|
<el-form :model="query" label-position="right" label-width="88px" @submit.prevent>
|
||||||
<div class="risk-disposal-page__search-grid">
|
<div class="risk-disposal-page__search-grid">
|
||||||
<el-form-item v-for="field in searchFields" :key="field.prop" :label="field.label">
|
<el-form-item v-for="field in searchFields" :key="field.prop" :label="field.label">
|
||||||
<el-select
|
<el-select
|
||||||
|
|||||||
@@ -1388,7 +1388,6 @@ export default {
|
|||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
color: #606266;
|
color: #606266;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 32px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-input),
|
:deep(.el-input),
|
||||||
|
|||||||
+13
-13
@@ -50,26 +50,26 @@ export default ({
|
|||||||
__VUE_I18N_LEGACY_API__: true,
|
__VUE_I18N_LEGACY_API__: true,
|
||||||
__INTLIFY_PROD_DEVTOOLS__: false,
|
__INTLIFY_PROD_DEVTOOLS__: false,
|
||||||
},
|
},
|
||||||
server: {
|
|
||||||
port: 2888,
|
|
||||||
proxy: {
|
|
||||||
'/api': {
|
|
||||||
target: 'http://localhost',
|
|
||||||
//target: 'https://saber3.bladex.cn/api',
|
|
||||||
changeOrigin: true,
|
|
||||||
rewrite: path => path.replace(/^\/api/, ''),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// server: {
|
// server: {
|
||||||
// port: 2889,
|
// port: 2888,
|
||||||
// proxy: {
|
// proxy: {
|
||||||
// '/api': {
|
// '/api': {
|
||||||
// target: 'http://172.16.203.228:8000',
|
// target: 'http://localhost',
|
||||||
|
// //target: 'https://saber3.bladex.cn/api',
|
||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
|
// rewrite: path => path.replace(/^\/api/, ''),
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
|
server: {
|
||||||
|
port: 2889,
|
||||||
|
proxy: {
|
||||||
|
'/api': {
|
||||||
|
target: 'http://172.16.203.228:8000',
|
||||||
|
changeOrigin: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'~': resolve(__dirname, './'),
|
'~': resolve(__dirname, './'),
|
||||||
|
|||||||
Reference in New Issue
Block a user