Merge remote-tracking branch 'websoft/master'

This commit is contained in:
2026-08-26 15:57:49 +08:00
30 changed files with 195 additions and 84 deletions
+54
View File
@@ -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)。
+5
View File
@@ -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%;
+1 -1
View File
@@ -156,7 +156,7 @@
:loading="districtLoading" :loading="districtLoading"
:disabled="isDistrictDisabled" :disabled="isDistrictDisabled"
:placeholder=" :placeholder="
isParentRegionLocked ? '自动带出' : form.cityCode ? '请选择区县' : '请先选择城市' isParentRegionLocked ? '自动带出' : form.cityCode ? '请选择区县' : '选择城市后再选择区县'
" "
style="width: 100%" style="width: 100%"
@change="handleDistrictChange" @change="handleDistrictChange"
@@ -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"
+1 -1
View File
@@ -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>
+3 -3
View File
@@ -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
+3
View File
@@ -580,6 +580,9 @@ export default {
.bill-ledger-form-page__form :deep(.el-tree-select) { .bill-ledger-form-page__form :deep(.el-tree-select) {
width: 100%; width: 100%;
} }
.bill-ledger-form-page__form :deep(.el-input-number .el-input__inner) {
text-align: left;
}
.bill-ledger-form-page__remark :deep(.el-form-item__content) { .bill-ledger-form-page__remark :deep(.el-form-item__content) {
margin-left: 0 !important; margin-left: 0 !important;
} }
+6 -1
View File
@@ -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-tags">
<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-buttons">
<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,37 @@ 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;
align-items: center;
justify-content: flex-end; justify-content: flex-end;
gap: 8px; gap: 8px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.bill-ledger-search__actions-buttons {
display: flex;
align-items: center;
gap: 8px;
}
.bill-ledger-search__actions-tags {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 8px;
}
.bill-ledger-search__actions-tags :deep(.el-check-tag) {
margin: 0;
white-space: nowrap;
}
.bill-ledger-search__actions-tags :deep(.el-check-tag.is-checked),
.bill-ledger-search__actions-tags :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="请输入" />
+6 -2
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
+2 -2
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
+10 -4
View File
@@ -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,
+16 -2
View File
@@ -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>
+1 -1
View File
@@ -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')">
+2 -2
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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, './'),