refactor(ui): 优化多页面表单布局及样式统一

- 统一用 section-card 组件替换原有分段结构,简化模板结构
- 调整表单列宽为 6 栅格,提高响应式适配效果
- 修改标题类名,采用一致的 archive-page-form__title
- 精简并合并样式,移除各页面冗余标题和分段样式声明
- 全站业务状态标签改为普通文字,不显示背景和圆点,字体颜色统一
- 优化 element-ui.scss 中表格操作列的 el-link 样式,兼容多层 DOM 结构
- 增加表格操作列 el-tooltip 单元格自动宽度,防止内容裁切
- 调整正式结算列表操作列宽度,提升显示空间
- 简化部分页面表单控件宽度样式,统一控件宽度及间距
- 删除多处无用样式,减少样式冗余,提高代码可维护性
This commit is contained in:
2026-08-25 11:23:42 +08:00
parent 8955ef16c7
commit 01c3bb5b57
14 changed files with 256 additions and 423 deletions
+12 -17
View File
@@ -898,7 +898,10 @@
}
// 全站统一:手写表格操作列中的文字链接保持间距并支持自动换行
.el-table .el-table__body .cell:not(.avue-crud__menu):has(> .el-link) {
// 用后代选择器 :has(.el-link) 而非直接子元素 :has(> .el-link)
// 以兼容「el-link 被 div 包裹」的手写操作列(如 pre-settlement 的 .pre-settlement-page__links),
// 让无论是否包了一层 div 的操作列按钮都统一居中。
.el-table .el-table__body .cell:not(.avue-crud__menu):has(.el-link) {
display: flex;
flex-wrap: wrap;
align-items: center;
@@ -929,7 +932,7 @@
// 全站统一:去除操作列 el-link 默认 margin,避免与 8px gap 叠加导致文字间距过宽
.avue-crud .avue-crud__menu .el-link,
.el-table .el-table__body .cell:not(.avue-crud__menu):has(> .el-link) .el-link {
.el-table .el-table__body .cell:not(.avue-crud__menu):has(.el-link) .el-link {
margin: 0;
}
@@ -948,7 +951,7 @@
// 操作列单元格会被加上 .el-tooltip 类并写死宽度,导致内部 el-link 换行后被裁切。
// 此处豁免操作列单元格:让 Avue 行菜单与手写表格操作列保持原有 flex 自动换行,不被固定宽度裁切。
.el-table .cell.avue-crud__menu,
.el-table .el-table__body .cell.el-tooltip:has(> .el-link) {
.el-table .el-table__body .cell.el-tooltip:has(.el-link) {
width: auto !important;
overflow: visible;
text-overflow: clip;
@@ -1027,27 +1030,19 @@
// margin-bottom: 15px !important;
//}
// ============ 业务状态标签:全站统一为「文字 + 颜色」样式 ============
// 去掉 el-tag 默认背景边框,仅保留彩色文字,并前置一个状态圆点(颜色同文字)
// ============ 业务状态标签:全站统一为普通文字 ============
// 去掉 el-tag 默认背景边框、颜色圆点,仅保留文本本身,颜色与正文一致
// 适用于所有业务状态展示:调度状态 / 运单状态 / 审批状态等。
.el-tag.status-text {
background-color: transparent !important;
border-color: transparent !important;
color: var(--el-text-color-regular) !important;
padding: 0;
margin-left: 8px;
font-weight: 500;
margin: 0;
font-weight: normal !important;
line-height: inherit;
&::before {
content: '';
display: inline-block;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: currentColor;
margin-right: 6px;
vertical-align: middle;
position: relative;
top: -1px;
display: none;
}
}
+39 -39
View File
@@ -1,6 +1,6 @@
<template>
<basic-container class="bill-ledger-form-page">
<div class="bill-ledger-form-page__title">
<div class="archive-page-form__title">
{{ recordId ? '编辑汇票台账' : '新增汇票台账' }}
</div>
<el-form
@@ -11,10 +11,9 @@
label-width="auto"
class="bill-ledger-form-page__form"
>
<section class="bill-ledger-form-page__section">
<div class="bill-ledger-form-page__section-title">基本信息</div>
<el-row :gutter="48">
<el-col :span="12">
<section-card title="基本信息">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="票据号码" prop="billNo">
<el-input
v-model="form.billNo"
@@ -23,6 +22,8 @@
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出票单位" prop="issuerId">
<el-select
v-model="form.issuerId"
@@ -41,6 +42,8 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="票面金额" prop="faceAmount">
<el-input-number
v-model="form.faceAmount"
@@ -50,6 +53,8 @@
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出票日期" prop="issueDate">
<el-date-picker
v-model="form.issueDate"
@@ -58,6 +63,8 @@
placeholder="请选择"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="可用部门" prop="availableDeptIds">
<el-tree-select
v-model="form.availableDeptIds"
@@ -72,6 +79,8 @@
@change="handleDeptChange"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="费用承担方" prop="feeBearerId">
<el-select
v-model="form.feeBearerId"
@@ -90,6 +99,8 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="双方确认贴现率" prop="confirmedDiscountRate">
<el-input-number
v-model="form.confirmedDiscountRate"
@@ -103,7 +114,7 @@
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="汇票类型" prop="billType">
<el-select v-model="form.billType" placeholder="请选择">
<el-option
@@ -114,6 +125,8 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="收票单位" prop="receiverName">
<el-select
v-model="form.receiverName"
@@ -130,9 +143,13 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="可用余额">
<el-input :model-value="formatMoney(projectedAvailableBalance)" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到期日期" prop="maturityDate">
<el-date-picker
v-model="form.maturityDate"
@@ -141,6 +158,8 @@
placeholder="请选择"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出票行" prop="issuingBank">
<el-select
v-model="form.issuingBank"
@@ -152,6 +171,8 @@
<el-option v-for="item in bankOptions" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="银行贴现参考率" prop="bankDiscountReferenceRate">
<el-input-number
v-model="form.bankDiscountReferenceRate"
@@ -164,15 +185,16 @@
<template #suffix>%</template>
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="预计贴现费用">
<el-input :model-value="formatMoney(estimatedDiscountFee)" disabled />
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="bill-ledger-form-page__section">
<div class="bill-ledger-form-page__section-title">附件信息</div>
<section-card title="附件信息">
<el-table :data="form.attachments" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="文件名" min-width="220">
@@ -215,10 +237,9 @@
button-text="上传"
@change="normalizeAttachments"
/>
</section>
</section-card>
<section class="bill-ledger-form-page__section">
<div class="bill-ledger-form-page__section-title">备注</div>
<section-card title="备注">
<el-form-item prop="remark" class="bill-ledger-form-page__remark">
<el-input
v-model="form.remark"
@@ -229,10 +250,9 @@
placeholder="请输入"
/>
</el-form-item>
</section>
</section-card>
<section class="bill-ledger-form-page__section">
<div class="bill-ledger-form-page__section-title">使用记录</div>
<section-card title="使用记录">
<el-table :data="usageRecords" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column prop="applicationNo" label="申请单号" min-width="180" align="center" />
@@ -244,7 +264,7 @@
<template #default>已审核</template>
</el-table-column>
</el-table>
</section>
</section-card>
<div class="bill-ledger-form-page__actions">
<el-button type="primary" :loading="saving" @click="confirmSubmit">确认</el-button>
@@ -540,28 +560,8 @@ export default {
</script>
<style scoped lang="scss">
.bill-ledger-form-page__title,
.bill-ledger-form-page__section-title {
display: flex;
align-items: center;
margin-bottom: 16px;
font-size: 18px;
font-weight: 600;
}
.bill-ledger-form-page__title::before,
.bill-ledger-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.bill-ledger-form-page__section {
margin-bottom: 24px;
}
.bill-ledger-form-page__section-title {
font-size: 16px;
}
.bill-ledger-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
}
@@ -591,7 +591,7 @@ export default {
background: #fafafa;
}
@media (max-width: 1024px) {
.bill-ledger-form-page :deep(.el-col-12) {
.bill-ledger-form-page :deep(.el-col-6) {
max-width: 100%;
flex: 0 0 100%;
}
+14 -27
View File
@@ -8,10 +8,9 @@
label-width="auto"
class="bill-payment-form-page__form"
>
<section class="bill-payment-form-page__section">
<div class="bill-payment-form-page__section-title">基本信息</div>
<el-row :gutter="48">
<el-col :span="12">
<section-card title="基本信息">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="票据号码" prop="billLedgerId">
<el-input
v-model="form.billNo"
@@ -24,9 +23,13 @@
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="可用余额">
<el-input :model-value="formatMoney(form.availableBalance)" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="付款日期" prop="paymentDate">
<el-date-picker
v-model="form.paymentDate"
@@ -37,10 +40,12 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="票面金额">
<el-input :model-value="formatMoney(form.faceAmount)" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="本次使用" prop="usedAmount">
<el-input-number
v-model="form.usedAmount"
@@ -66,10 +71,9 @@
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="bill-payment-form-page__section">
<div class="bill-payment-form-page__section-title">附件信息</div>
<section-card title="附件信息">
<el-table :data="form.attachments" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="文件名" min-width="220">
@@ -115,7 +119,7 @@
button-text="上传"
@change="normalizeAttachments"
/>
</section>
</section-card>
<div class="bill-payment-form-page__actions">
<template v-if="!readonly">
@@ -373,23 +377,6 @@ export default {
</script>
<style scoped lang="scss">
.bill-payment-form-page__section {
margin-bottom: 24px;
}
.bill-payment-form-page__section-title {
display: flex;
align-items: center;
margin-bottom: 16px;
font-size: 18px;
font-weight: 600;
}
.bill-payment-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.bill-payment-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
}
@@ -426,7 +413,7 @@ export default {
background: #fafafa;
}
@media (max-width: 1024px) {
.bill-payment-form-page :deep(.el-col-12) {
.bill-payment-form-page :deep(.el-col-6) {
max-width: 100%;
flex: 0 0 100%;
}
+35 -79
View File
@@ -1,6 +1,6 @@
<template>
<basic-container class="invoice-form-page">
<div class="invoice-form-page__title">
<div class="archive-page-form__title">
{{ readonly ? '查看开票申请' : recordId ? '编辑开票申请' : '新增开票申请' }}
</div>
@@ -12,10 +12,9 @@
label-width="auto"
class="invoice-form-page__form"
>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">开票基本信息</div>
<section-card title="开票基本信息">
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="6">
<el-form-item label="结算单" prop="settlementIds">
<el-input :model-value="settlementLabel" readonly placeholder="请选择正式结算单">
<template v-if="!readonly" #append>
@@ -24,17 +23,17 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="所属项目">
<el-input v-model="form.projectName" disabled placeholder="根据结算单自动带出" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="开票单位">
<el-input v-model="form.issuerName" disabled placeholder="根据结算单自动带出" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="发票类型" prop="invoiceType">
<el-select
v-model="form.invoiceType"
@@ -50,7 +49,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="可开票金额">
<el-input
:model-value="form.settlements.length ? formatMoney(availableInvoiceAmount) : ''"
@@ -59,7 +58,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="本次开票金额">
<el-input
:model-value="invoiceAmount > 0 ? formatMoney(invoiceAmount) : ''"
@@ -68,17 +67,17 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="申请日期">
<el-input v-model="form.applicationDate" disabled placeholder="提交后自动显示" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="申请人">
<el-input v-model="form.applicantName" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="承办部门">
<el-input
v-model="form.undertakingDeptName"
@@ -87,7 +86,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="部门邮箱" prop="departmentEmails">
<el-select
v-model="form.departmentEmails"
@@ -108,12 +107,11 @@
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">受票方信息</div>
<section-card title="受票方信息">
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="6">
<el-form-item label="受票方单位" prop="receiverInvoiceInfoId">
<el-select
v-model="form.receiverInvoiceInfoId"
@@ -130,12 +128,12 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="纳税人识别号" prop="taxpayerNo">
<el-input v-model="form.taxpayerNo" disabled placeholder="选择受票方单位后自动带出" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="开户账号" prop="bankAccount">
<el-input
v-model="form.bankAccount"
@@ -144,12 +142,12 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="开户行" prop="bankName">
<el-input v-model="form.bankName" disabled placeholder="选择受票方单位后自动带出" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="注册地址" prop="registeredAddress">
<el-input
v-model="form.registeredAddress"
@@ -158,7 +156,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="联系人">
<el-select
v-model="form.contactName"
@@ -177,24 +175,20 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="form.contactPhone" :disabled="readonly" maxlength="11" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" :disabled="readonly" maxlength="100" />
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-heading">
<div class="invoice-form-page__section-title">开票内容</div>
<el-button v-if="!readonly" type="primary" @click="addSheet">添加</el-button>
</div>
<section-card title="开票内容"><template #extra><el-button v-if="!readonly" type="primary" @click="addSheet">添加</el-button></template>
<div v-for="(sheet, sheetIndex) in form.sheets" :key="sheet.localId" class="invoice-sheet">
<div class="invoice-sheet__header">
<span>第{{ sheetIndex + 1 }}张</span>
@@ -311,10 +305,9 @@
</el-table-column>
</el-table>
</div>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">结算信息</div>
<section-card title="结算信息">
<el-table :data="form.settlements" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column prop="formalSettlementNo" label="结算单号" min-width="170" />
@@ -337,10 +330,9 @@
</template>
</el-table-column>
</el-table>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">开票明细</div>
<section-card title="开票明细">
<el-table
ref="detailTable"
:data="detailRows"
@@ -371,10 +363,9 @@
</template>
</el-table-column>
</el-table>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">附件信息</div>
<section-card title="附件信息">
<vehicle-attachment-upload
v-model="form.attachments"
:readonly="readonly"
@@ -408,10 +399,9 @@
</template>
</el-table-column>
</el-table>
</section>
</section-card>
<section class="invoice-form-page__section">
<div class="invoice-form-page__section-title">备注</div>
<section-card title="备注">
<el-form-item class="invoice-form-page__remark">
<el-input
v-model="form.remark"
@@ -422,7 +412,7 @@
show-word-limit
/>
</el-form-item>
</section>
</section-card>
<div class="invoice-form-page__actions">
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
@@ -950,40 +940,6 @@ export default {
</script>
<style scoped lang="scss">
.invoice-form-page__title,
.invoice-form-page__section-title {
display: flex;
align-items: center;
font-size: 18px;
font-weight: 600;
margin-bottom: 16px;
}
.invoice-form-page__title::before,
.invoice-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.invoice-form-page__section {
margin-bottom: 24px;
}
.invoice-form-page__section-title {
font-size: 16px;
}
.invoice-form-page__section-heading,
.invoice-sheet__header {
display: flex;
align-items: center;
justify-content: space-between;
}
.invoice-form-page__section-heading .invoice-form-page__section-title {
margin-bottom: 0;
}
.invoice-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
}
.invoice-form-page__form :deep(.el-select),
.invoice-form-page__form :deep(.el-input-number) {
width: 100%;
@@ -1030,13 +986,13 @@ export default {
background: #fafafa;
}
@media (max-width: 1200px) {
.invoice-form-page__form :deep(.el-col-8) {
.invoice-form-page__form :deep(.el-col-6) {
max-width: 50%;
flex: 0 0 50%;
}
}
@media (max-width: 768px) {
.invoice-form-page__form :deep(.el-col-8) {
.invoice-form-page__form :deep(.el-col-6) {
max-width: 100%;
flex: 0 0 100%;
}
+27 -61
View File
@@ -1,6 +1,6 @@
<template>
<basic-container class="receipt-form-page">
<div class="receipt-form-page__title">
<div class="archive-page-form__title">
{{ readonly ? '查看收票登记' : recordId ? '编辑收票登记' : '新增收票登记' }}
</div>
@@ -12,10 +12,9 @@
label-width="auto"
class="receipt-form-page__form"
>
<section class="receipt-form-page__section">
<div class="receipt-form-page__section-title">收票基本信息</div>
<section-card title="收票基本信息">
<el-row :gutter="32">
<el-col :span="12">
<el-col :span="6">
<el-form-item label="发票号码" prop="invoiceNo">
<el-input v-model="form.invoiceNo" readonly placeholder="请选择金蝶票据池发票">
<template v-if="!readonly" #append>
@@ -26,17 +25,17 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开票日期">
<el-input v-model="form.invoiceDate" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="发票类型">
<el-input v-model="form.invoiceType" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="税率">
<el-input
:model-value="formatRate(form.taxRate)"
@@ -45,7 +44,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开票金额">
<el-input
:model-value="form.kingdeeInvoicePoolId ? formatMoney(form.invoiceAmount) : ''"
@@ -54,7 +53,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="税额">
<el-input
:model-value="form.kingdeeInvoicePoolId ? formatMoney(form.taxAmount) : ''"
@@ -63,17 +62,17 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="受票单位">
<el-input v-model="form.receiverName" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开票单位">
<el-input v-model="form.issuerName" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="关联结算单" prop="settlementIds">
<el-input :model-value="settlementLabel" readonly placeholder="请选择应付正式结算单">
<template v-if="!readonly" #append>
@@ -84,27 +83,27 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开户行">
<el-input v-model="form.bankName" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开户账号">
<el-input v-model="form.bankAccount" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开票行">
<el-input v-model="form.issuingBank" disabled placeholder="从金蝶票据池带出" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="电话">
<el-input v-model="form.phone" :disabled="readonly" maxlength="50" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="客户邮箱" prop="customerEmails">
<el-select
v-model="form.customerEmails"
@@ -124,7 +123,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="部门邮箱" prop="departmentEmails">
<el-select
v-model="form.departmentEmails"
@@ -145,10 +144,9 @@
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="receipt-form-page__section">
<div class="receipt-form-page__section-title">结算信息</div>
<section-card title="结算信息">
<el-table :data="form.settlements" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="结算单号" min-width="180" align="center">
@@ -177,11 +175,10 @@
</template>
</el-table-column>
</el-table>
</section>
</section-card>
<section class="receipt-form-page__section">
<div class="receipt-form-page__section-heading">
<div class="receipt-form-page__section-title">附件信息</div>
<section-card title="附件信息">
<template #extra>
<el-button
v-if="form.attachments.length"
type="primary"
@@ -190,7 +187,7 @@
@click="downloadAttachments"
>批量下载</el-button
>
</div>
</template>
<el-table :data="form.attachments" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="文件名" min-width="220">
@@ -227,10 +224,9 @@
class="receipt-form-page__uploader"
@change="normalizeAttachments"
/>
</section>
</section-card>
<section class="receipt-form-page__section">
<div class="receipt-form-page__section-title">备注</div>
<section-card title="备注">
<el-form-item class="receipt-form-page__remark">
<el-input
v-model="form.remark"
@@ -241,7 +237,7 @@
show-word-limit
/>
</el-form-item>
</section>
</section-card>
<div class="receipt-form-page__actions">
<el-button v-if="!readonly" type="primary" plain @click="syncReferenceData">同步</el-button>
@@ -755,36 +751,6 @@ export default {
</script>
<style scoped lang="scss">
.receipt-form-page__title,
.receipt-form-page__section-title {
display: flex;
align-items: center;
font-size: 18px;
font-weight: 600;
margin-bottom: 16px;
}
.receipt-form-page__title::before,
.receipt-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.receipt-form-page__section {
margin-bottom: 24px;
}
.receipt-form-page__section-title {
font-size: 16px;
}
.receipt-form-page__section-heading {
display: flex;
align-items: center;
justify-content: space-between;
}
.receipt-form-page__section-heading .receipt-form-page__section-title {
margin-bottom: 0;
}
.receipt-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
}
@@ -826,7 +792,7 @@ export default {
background: #fafafa;
}
@media (max-width: 900px) {
.receipt-form-page__form :deep(.el-col-12) {
.receipt-form-page__form :deep(.el-col-6) {
max-width: 100%;
flex: 0 0 100%;
}
+33 -60
View File
@@ -1,6 +1,6 @@
<template>
<basic-container class="payment-form-page">
<div class="payment-form-page__title">
<div class="archive-page-form__title">
{{ readonly ? '查看付款申请' : recordId ? '编辑付款申请' : '新增付款申请' }}
</div>
<el-form
@@ -11,17 +11,16 @@
label-width="auto"
class="payment-form-page__form"
>
<section class="payment-form-page__section">
<div class="payment-form-page__section-title">付款基本信息</div>
<section-card title="付款基本信息">
<el-row :gutter="24">
<el-col :span="12"
<el-col :span="6"
><el-form-item label="单据号"
><el-input
v-model="form.paymentNo"
disabled
placeholder="系统自动生成" /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="付款类型" prop="paymentType"
><el-select v-model="form.paymentType" :disabled="readonly" @change="handleTypeChange"
><el-option
@@ -29,7 +28,7 @@
:key="item.value"
v-bind="item" /></el-select></el-form-item
></el-col>
<el-col v-if="form.paymentType !== 'project_advance'" :span="12"
<el-col v-if="form.paymentType !== 'project_advance'" :span="6"
><el-form-item label="结算单号" prop="referenceId"
><el-input
v-model="referenceLabel"
@@ -42,7 +41,7 @@
></el-form-item
></el-col
>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="所属项目"
><el-input v-model="form.projectName" disabled
><template v-if="form.paymentType === 'project_advance'" #append
@@ -51,23 +50,23 @@
></el-form-item
></el-col
>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="合同名称"
><el-input v-model="form.contractName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="结算金额"
><el-input v-model="form.settlementAmount" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="可付款金额"
><el-input v-model="form.payableAmount" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="票款类型"
><el-input v-model="form.billType" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="付款比例" prop="paymentRatio"
><el-input-number
v-model="form.paymentRatio"
@@ -78,7 +77,7 @@
:controls="false"
style="width: 100%" /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="申请付款金额" prop="appliedAmount"
><el-input-number
v-model="form.appliedAmount"
@@ -88,7 +87,7 @@
:controls="false"
style="width: 100%" /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="付款方式" prop="paymentMethod"
><el-select
v-model="form.paymentMethod"
@@ -99,7 +98,7 @@
:key="item.value"
v-bind="item" /></el-select></el-form-item
></el-col>
<el-col v-if="billPayment" :span="12"
<el-col v-if="billPayment" :span="6"
><el-form-item label="汇票票据" prop="billLedgerId"
><el-select
v-model="form.billLedgerId"
@@ -119,23 +118,23 @@
}`"
:value="item.id" /></el-select></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="收款方"
><el-input v-model="form.payeeName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="收款账号"
><el-input v-model="form.bankAccount" :disabled="readonly" /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="开户银行"
><el-input v-model="form.bankName" :disabled="readonly" /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="申请人"
><el-input v-model="form.applicantName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="申请日期"
><el-input v-model="form.applyDate" disabled /></el-form-item
></el-col>
@@ -149,9 +148,8 @@
show-word-limit /></el-form-item
></el-col>
</el-row>
</section>
<section class="payment-form-page__section">
<div class="payment-form-page__section-title">结算信息</div>
</section-card>
<section-card title="结算信息">
<el-table :data="settlementRows" border
><el-table-column type="index" label="序号" width="70" /><el-table-column
prop="settlementNo"
@@ -170,9 +168,8 @@
label="付款金额"
min-width="130"
/></el-table>
</section>
<section class="payment-form-page__section">
<div class="payment-form-page__section-title">发票信息</div>
</section-card>
<section-card title="发票信息">
<div class="payment-form-page__section-actions">
<el-button type="primary" plain :disabled="readonly" @click="addInvoice"
>新增发票</el-button
@@ -229,9 +226,8 @@
></el-table-column
></el-table
>
</section>
<section class="payment-form-page__section">
<div class="payment-form-page__section-title">付款记录</div>
</section-card>
<section-card title="付款记录">
<el-table :data="paymentRecords" border
><el-table-column type="index" label="序号" width="70" /><el-table-column
prop="paidAmount"
@@ -247,9 +243,8 @@
label="付款凭证"
min-width="160"
/></el-table>
</section>
<section class="payment-form-page__section">
<div class="payment-form-page__section-title">附件</div>
</section-card>
<section-card title="附件">
<vehicle-attachment-upload
v-model="form.attachments"
:readonly="readonly"
@@ -296,7 +291,7 @@
></el-table-column
></el-table
>
</section>
</section-card>
<div class="payment-form-page__actions">
<el-button @click="goBack">返回</el-button
><el-button v-if="!readonly && canSave" @click="saveDraft">保存</el-button
@@ -803,33 +798,6 @@ export default {
</script>
<style scoped lang="scss">
.payment-form-page__title,
.payment-form-page__section-title {
display: flex;
align-items: center;
font-size: 18px;
font-weight: 600;
margin-bottom: 16px;
}
.payment-form-page__title::before,
.payment-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.payment-form-page__section {
margin-bottom: 24px;
}
.payment-form-page__section-title {
font-size: 16px;
}
.payment-form-page__section-actions {
display: flex;
justify-content: flex-end;
margin-bottom: 8px;
}
.payment-form-page__actions {
display: flex;
justify-content: center;
@@ -837,6 +805,11 @@ export default {
padding: 24px 0;
border-top: 1px solid #eff1f7;
}
.payment-form-page__section-actions {
display: flex;
justify-content: flex-end;
margin-bottom: 8px;
}
.payment-form-page :deep(.el-form-item) {
margin-bottom: 16px;
}
+23 -59
View File
@@ -1,82 +1,80 @@
<template>
<basic-container class="claim-record-form-page">
<el-form :model="form" label-position="right" label-width="auto">
<section class="claim-record-form-page__section">
<div class="claim-record-form-page__section-title">收款信息</div>
<section-card title="收款信息">
<el-row :gutter="32">
<el-col :span="12">
<el-col :span="6">
<el-form-item label="认领通知单">
<el-input v-model="form.receiptNoticeNo" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="付款人"
><el-input v-model="form.payerName" disabled
/></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="收款金额">
<el-input :model-value="formatMoney(form.receiptAmount)" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="交易时间">
<el-input v-model="form.transactionTime" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="对方户名">
<el-input v-model="form.counterpartyName" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="对方开户行">
<el-input v-model="form.counterpartyBank" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="对方账号">
<el-input v-model="form.counterpartyAccount" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="明细流水号">
<el-input v-model="form.detailSerialNo" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="已认领金额">
<el-input :model-value="formatMoney(form.claimAmount)" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="摘要"><el-input v-model="form.summary" disabled /></el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="关联结算单">
<el-input v-model="form.associatedSettlementNos" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="认领人">
<el-input v-model="form.claimerName" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="认领日期">
<el-input v-model="form.claimDate" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="认领人部门">
<el-input v-model="form.claimerDeptName" disabled />
</el-form-item>
</el-col>
</el-row>
</section>
</section-card>
<section class="claim-record-form-page__section">
<div class="claim-record-form-page__section-title">结算信息</div>
<section-card title="结算信息">
<el-table :data="form.settlements" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="结算单号" min-width="180" align="center">
@@ -96,19 +94,15 @@
<template #default="{ row }">{{ formatMoney(row.allocatedReceiptAmount) }}</template>
</el-table-column>
</el-table>
</section>
</section-card>
<section class="claim-record-form-page__section">
<div class="claim-record-form-page__section-heading">
<div class="claim-record-form-page__section-title">附件信息</div>
<el-button
<section-card title="附件信息"><template #extra><el-button
v-if="form.attachments.length"
type="primary"
:icon="Download"
@click="downloadAttachments"
>批量下载</el-button
>
</div>
></template>
<el-table :data="form.attachments" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="文件名" min-width="220">
@@ -148,12 +142,11 @@
class="claim-record-form-page__uploader"
@change="handleAttachmentChange"
/>
</section>
</section-card>
<section class="claim-record-form-page__section">
<div class="claim-record-form-page__section-title">备注</div>
<section-card title="备注">
<el-input v-model="form.remark" type="textarea" :rows="3" maxlength="200" disabled />
</section>
</section-card>
<div class="claim-record-form-page__actions">
<el-button @click="goBack">关闭</el-button>
@@ -317,35 +310,6 @@ export default {
</script>
<style scoped lang="scss">
.claim-record-form-page__section {
margin-bottom: 24px;
}
.claim-record-form-page__section-title {
display: flex;
align-items: center;
margin-bottom: 16px;
font-size: 16px;
font-weight: 600;
}
.claim-record-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.claim-record-form-page__section-heading {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
}
.claim-record-form-page__section-heading .claim-record-form-page__section-title {
margin-bottom: 0;
}
.claim-record-form-page :deep(.el-form-item) {
margin-bottom: 16px;
}
.claim-record-form-page__actions {
display: flex;
justify-content: center;
+24 -62
View File
@@ -8,49 +8,48 @@
label-width="auto"
class="receipt-claim-form-page__form"
>
<section class="receipt-claim-form-page__section">
<div class="receipt-claim-form-page__section-title">收款信息</div>
<section-card title="收款信息">
<el-row :gutter="32">
<el-col :span="12"
<el-col :span="6"
><el-form-item label="认领通知单"
><el-input v-model="form.receiptNoticeNo" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="付款人"
><el-input v-model="form.payerName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="收款金额"
><el-input :model-value="formatMoney(form.receiptAmount)" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="交易时间"
><el-input v-model="form.transactionTime" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="对方户名"
><el-input v-model="form.counterpartyName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="对方开户行"
><el-input v-model="form.counterpartyBank" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="对方账号"
><el-input v-model="form.counterpartyAccount" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="明细流水号"
><el-input v-model="form.detailSerialNo" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="已认领金额"
><el-input :model-value="formatMoney(form.claimedAmount)" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="摘要"><el-input v-model="form.summary" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="关联结算单" prop="settlementIds"
><el-input
:model-value="settlementLabel"
@@ -62,23 +61,22 @@
title="选择结算单"
@click="openSettlementDialog" /></template></el-input></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="认领人"
><el-input v-model="form.claimerName" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="认领日期"
><el-input v-model="form.claimDate" disabled /></el-form-item
></el-col>
<el-col :span="12"
<el-col :span="6"
><el-form-item label="认领人部门"
><el-input v-model="form.claimerDeptName" disabled /></el-form-item
></el-col>
</el-row>
</section>
</section-card>
<section class="receipt-claim-form-page__section">
<div class="receipt-claim-form-page__section-title">结算信息</div>
<section-card title="结算信息">
<el-table :data="form.settlements" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="结算单号" min-width="180" align="center"
@@ -108,20 +106,16 @@
:controls="false" /></template
></el-table-column>
</el-table>
</section>
</section-card>
<section class="receipt-claim-form-page__section">
<div class="receipt-claim-form-page__section-heading">
<div class="receipt-claim-form-page__section-title">附件信息</div>
<el-button
<section-card title="附件信息"><template #extra><el-button
v-if="form.attachments.length"
type="primary"
plain
:icon="Download"
@click="downloadAttachments"
>批量下载</el-button
>
</div>
></template>
<el-table :data="form.attachments" border>
<el-table-column type="index" label="序号" width="64" align="center" />
<el-table-column label="文件名" min-width="220"
@@ -158,10 +152,9 @@
class="receipt-claim-form-page__uploader"
@change="normalizeAttachments"
/>
</section>
</section-card>
<section class="receipt-claim-form-page__section">
<div class="receipt-claim-form-page__section-title">备注</div>
<section-card title="备注">
<el-form-item class="receipt-claim-form-page__remark"
><el-input
v-model="form.remark"
@@ -170,7 +163,7 @@
maxlength="200"
show-word-limit
/></el-form-item>
</section>
</section-card>
<div class="receipt-claim-form-page__actions">
<el-button type="primary" :loading="submitting" @click="submitClaim">确认</el-button
><el-button :disabled="submitting" @click="goBack">取消</el-button>
@@ -460,37 +453,6 @@ export default {
</script>
<style scoped lang="scss">
.receipt-claim-form-page__section-title {
display: flex;
align-items: center;
font-size: 18px;
font-weight: 600;
margin-bottom: 16px;
}
.receipt-claim-form-page__section-title::before {
width: 4px;
height: 20px;
margin-right: 8px;
background: #409eff;
content: '';
}
.receipt-claim-form-page__section {
margin-bottom: 24px;
}
.receipt-claim-form-page__section-title {
font-size: 16px;
}
.receipt-claim-form-page__section-heading {
display: flex;
align-items: center;
justify-content: space-between;
}
.receipt-claim-form-page__section-heading .receipt-claim-form-page__section-title {
margin-bottom: 0;
}
.receipt-claim-form-page__form :deep(.el-form-item) {
margin-bottom: 16px;
}
.receipt-claim-form-page__form :deep(.el-select),
.receipt-claim-form-page__form :deep(.el-input-number) {
width: 100%;
@@ -529,7 +491,7 @@ export default {
background: #fafafa;
}
@media (max-width: 900px) {
.receipt-claim-form-page__form :deep(.el-col-12) {
.receipt-claim-form-page__form :deep(.el-col-6) {
max-width: 100%;
flex: 0 0 100%;
}
@@ -16,7 +16,7 @@
class="pre-settlement-editor__form"
>
<el-row :gutter="24">
<el-col v-for="field in formFields" :key="field.prop" :span="field.span || 8">
<el-col v-for="field in formFields" :key="field.prop" :span="field.span || 6">
<el-form-item :label="field.label" :prop="field.prop">
<el-select
v-if="field.type === 'contract'"
+1 -1
View File
@@ -121,7 +121,7 @@
<span v-else>{{ displayValue(row[column.prop]) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="120" fixed="right" align="center">
<el-table-column label="操作" width="180" fixed="right" align="center">
<template #default="{ row }"
><div class="formal-page__links">
<el-link
+5 -1
View File
@@ -130,7 +130,7 @@
<span v-else>{{ displayValue(row[column.prop]) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="130" fixed="right" align="center">
<el-table-column label="操作" width="180" fixed="right" align="center">
<template #default="{ row }">
<div class="pre-settlement-page__links">
<el-link
@@ -774,6 +774,10 @@ export default {
gap: 8px;
}
&__links {
justify-content: center;
}
&__pagination {
display: flex;
justify-content: flex-end;