Merge remote-tracking branch 'websoft/master'
This commit is contained in:
@@ -10,7 +10,8 @@ export const config = {
|
||||
enableAllDept: false,
|
||||
};
|
||||
|
||||
export const option = createCrudOption([
|
||||
export const option = {
|
||||
...createCrudOption([
|
||||
{
|
||||
label: '线路名称',
|
||||
prop: 'routeName',
|
||||
@@ -253,7 +254,9 @@ export const option = createCrudOption([
|
||||
['updateUserName', 'updateTime', 'createTime'].indexOf(first.prop) -
|
||||
['updateUserName', 'updateTime', 'createTime'].indexOf(second.prop)
|
||||
),
|
||||
]);
|
||||
]),
|
||||
dialogCustomClass: 'avue-dialog--common-route',
|
||||
};
|
||||
|
||||
export const excelOption = {
|
||||
submitBtn: false,
|
||||
|
||||
+50
-12
@@ -173,7 +173,7 @@
|
||||
.el-dialog .el-form-item--small.el-form-item,
|
||||
.el-dialog .el-form-item--large.el-form-item,
|
||||
.el-dialog .el-form-item--medium.el-form-item {
|
||||
margin-bottom: 16px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.el-dialog__title,
|
||||
@@ -183,7 +183,6 @@
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.el-dialog__title:not(:empty)::before,
|
||||
.dialog-section-title::before {
|
||||
content: '';
|
||||
flex: none;
|
||||
@@ -215,18 +214,57 @@
|
||||
// 灰底弹窗体 + 分组白卡(标题融入卡头,4px 主色竖条 + 8px 间距)
|
||||
// =====================================================================
|
||||
|
||||
// 1) 所有弹窗内容区统一灰底 + 16px 内边距(与 project-apply 一致,避免内容贴边)
|
||||
// 1) 所有弹窗内容区统一灰底 + 8px 内边距(全站统一)
|
||||
.el-dialog__body {
|
||||
background-color: #f3f3f3;
|
||||
padding: 8px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
// 2) Avue 默认弹窗表单自动包成白卡,无需逐页改 option 即统一标准
|
||||
// Avue CRUD 弹窗:表单白卡 + 底部按钮区视觉合一(按钮在卡片内部)
|
||||
.el-dialog .avue-form {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
padding: 16px;
|
||||
padding: 24px; // 加大内边距,与 customer-archive 对齐
|
||||
margin-bottom: 0; // 与下方 footer 无缝衔接
|
||||
}
|
||||
|
||||
.avue-crud__dialog .avue-dialog__footer {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
background: #fff;
|
||||
border-radius: 0 0 6px 6px; // 接续白卡底部圆角
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); // 与白卡阴影一致
|
||||
padding: 16px 24px; // 与白卡 padding 对齐
|
||||
margin-top: 0; // 消除与上方白卡的灰底间隙
|
||||
}
|
||||
|
||||
// 3c) common-route 编辑弹窗:输入框宽度与 customer-archive 对齐(固定 250px + label 固定宽)
|
||||
.avue-dialog--common-route {
|
||||
.el-form-item__label {
|
||||
flex: 0 0 calc(6em + 24px) !important;
|
||||
width: calc(6em + 24px) !important;
|
||||
white-space: normal !important;
|
||||
word-break: break-all;
|
||||
overflow-wrap: anywhere;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-form-item__content > .el-input,
|
||||
.el-form-item__content > .el-select,
|
||||
.el-form-item__content > .el-cascader,
|
||||
.el-form-item__content > .el-input-number,
|
||||
.el-form-item__content > .el-date-editor {
|
||||
width: 250px;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
// 3) Avue 弹窗内分组(option.group)渲染为白卡,标题在卡内
|
||||
@@ -239,13 +277,13 @@
|
||||
|
||||
.avue-group__header {
|
||||
border-bottom: none;
|
||||
padding: 14px 16px 4px;
|
||||
padding: 16px 24px 4px;
|
||||
font-weight: 500;
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.avue-group__item {
|
||||
padding: 14px 16px 4px;
|
||||
padding: 16px 24px 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,16 +305,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 4) 弹窗内表单项默认上下间距 16px(覆盖默认 18px / 22px)
|
||||
// 4) 弹窗内表单项默认上下间距 20px(覆盖默认 18px / 22px,与 customer-archive 对齐)
|
||||
.el-dialog .el-form-item {
|
||||
margin-bottom: 16px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
// 5) 通用分组白卡组件(<section-card>):标题融入卡头
|
||||
.section-card {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
|
||||
margin-bottom: 8px;
|
||||
overflow: hidden;
|
||||
|
||||
|
||||
@@ -9528,6 +9528,37 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// 对齐 customer-archive 的 .archive-form 风格:label 固定宽折行 + 控件 250px
|
||||
.business-crud-page__task-form,
|
||||
.business-crud-page__freight-form,
|
||||
.business-crud-page__module-form,
|
||||
.business-crud-page__dispatch-item-form,
|
||||
.business-crud-page__match-form,
|
||||
.business-crud-page__transport-plan-import-form {
|
||||
:deep(.el-form-item__label) {
|
||||
flex: 0 0 calc(6em + 24px) !important;
|
||||
width: calc(6em + 24px) !important;
|
||||
height: auto;
|
||||
white-space: normal !important;
|
||||
word-break: break-all;
|
||||
overflow-wrap: anywhere;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
:deep(.el-form-item) {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:deep(.el-form-item__content > .el-input),
|
||||
:deep(.el-form-item__content > .el-select),
|
||||
:deep(.el-form-item__content > .el-cascader),
|
||||
:deep(.el-form-item__content > .el-input-number),
|
||||
:deep(.el-form-item__content > .el-date-editor) {
|
||||
width: 250px;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.business-crud-page {
|
||||
&__field {
|
||||
width: 100%;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<el-dialog v-model="createVisible" title="新建导入" width="85%" append-to-body destroy-on-close class="waybill-import-create">
|
||||
<section class="waybill-import-create__form-panel">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-position="right" label-width="auto">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-position="right" label-width="auto" class="archive-form">
|
||||
<el-row :gutter="20"><el-col :span="6"><el-form-item label="项目" prop="projectId"><el-select v-model="form.projectId" filterable clearable placeholder="模糊查询后选择" @change="projectChange"><el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="客户" prop="customerName"><el-input v-model="form.customerName" disabled placeholder="自动带出" /></el-form-item></el-col><el-col :span="6"><el-form-item label="客户合同" prop="contractId"><el-select v-model="form.contractId" filterable clearable placeholder="自动带出"><el-option v-for="item in contracts" :key="item.id" :label="item.contractName" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运类型" prop="carrierType"><el-select v-model="form.carrierType"><el-option label="承运商" value="承运商" /><el-option label="自运" value="自运" /><el-option label="网货平台" value="网货平台" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="承运商"><el-select v-model="form.carrierIds" multiple filterable placeholder="自动带出,多个需选择"><el-option v-for="item in carriers" :key="item.id" :label="item.name" :value="item.id" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入状态" prop="status"><el-select v-model="form.status"><el-option label="完成" value="completed" /><el-option label="进行中" value="processing" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="导入类型" prop="importType"><el-select v-model="form.importType"><el-option label="运单" value="waybill" /><el-option label="结算单" value="settlement" /></el-select></el-form-item></el-col><el-col :span="6"><el-form-item label="发货计划"><el-select v-model="form.planId" clearable filterable placeholder="请选择"><el-option v-for="item in plans" :key="item.id" :label="item.planName" :value="item.id" /></el-select></el-form-item></el-col></el-row>
|
||||
<el-form-item label="运单明细表" prop="file"><el-upload action="#" accept=".xls,.xlsx" :auto-upload="false" :limit="1" :file-list="files" :on-change="fileChange" :on-remove="fileRemove"><el-button type="primary">添加附件</el-button></el-upload><span class="waybill-import-create__file-tip">请上传运单明细表,仅支持 excel 格式</span><el-link type="primary" @click="downloadTemplate">下载模板</el-link></el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -378,7 +378,7 @@
|
||||
:disabled="dialogReadonly"
|
||||
label-position="right"
|
||||
label-width="auto"
|
||||
class="loading-manage-dialog__form"
|
||||
class="loading-manage-dialog__form archive-form"
|
||||
>
|
||||
<section-card title="筛选待配载运单">
|
||||
<template #extra>
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
:rules="formRules"
|
||||
label-position="right"
|
||||
:disabled="readonly"
|
||||
class="driver-form"
|
||||
class="driver-form archive-form"
|
||||
>
|
||||
<section-card title="基础身份信息">
|
||||
<el-row :gutter="18">
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
label-position="right"
|
||||
label-width="auto"
|
||||
:disabled="readonly"
|
||||
class="ship-form"
|
||||
class="ship-form archive-form"
|
||||
>
|
||||
<section-card title="基础船舶信息">
|
||||
<el-row :gutter="18">
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
:rules="formRules"
|
||||
label-position="right"
|
||||
:disabled="readonly"
|
||||
class="vehicle-form"
|
||||
class="vehicle-form archive-form"
|
||||
>
|
||||
<section-card title="基础车辆信息">
|
||||
<el-row :gutter="18">
|
||||
|
||||
@@ -84,12 +84,12 @@
|
||||
@closed="resetConfig"
|
||||
>
|
||||
<div class="score-config">
|
||||
<div class="section-title dialog-section-title">评分量化表</div>
|
||||
<section-card title="评分量化表">
|
||||
<el-form
|
||||
:model="configForm"
|
||||
label-position="right"
|
||||
label-width="auto"
|
||||
class="base-form"
|
||||
class="archive-form"
|
||||
:disabled="readonly"
|
||||
>
|
||||
<el-form-item label="评定表名称" required>
|
||||
@@ -110,10 +110,9 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</section-card>
|
||||
|
||||
<div class="section-head">
|
||||
<div class="section-title dialog-section-title">评分表</div>
|
||||
</div>
|
||||
<section-card title="评分表">
|
||||
<el-table :data="configForm.categories" border class="config-table">
|
||||
<el-table-column label="序号" type="index" width="90" align="center" />
|
||||
<el-table-column label="评分类目" prop="categoryName" min-width="180" />
|
||||
@@ -126,13 +125,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</section-card>
|
||||
|
||||
<div class="section-head standard-head">
|
||||
<div class="section-title dialog-section-title">评估标准</div>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="openStandard()">
|
||||
添加
|
||||
</el-button>
|
||||
</div>
|
||||
<section-card title="评估标准">
|
||||
<template #extra>
|
||||
<el-button type="primary" plain icon="el-icon-plus" v-if="!readonly" @click="openStandard()">
|
||||
添加评估标准
|
||||
</el-button>
|
||||
</template>
|
||||
<el-table :data="configForm.standards" border class="config-table">
|
||||
<el-table-column label="序号" type="index" width="90" align="center" />
|
||||
<el-table-column label="信用等级" prop="creditLevel" width="120" align="center" />
|
||||
@@ -146,6 +146,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</section-card>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button @click="configBox = false">{{ readonly ? '关闭' : '取消' }}</el-button>
|
||||
@@ -163,12 +164,12 @@
|
||||
>
|
||||
<div class="category-detail">
|
||||
<div class="category-line">评分类目:{{ currentCategory.categoryName }}</div>
|
||||
<div class="section-head">
|
||||
<span></span>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="openItem()">
|
||||
添加
|
||||
</el-button>
|
||||
</div>
|
||||
<section-card title="评分项目">
|
||||
<template #extra>
|
||||
<el-button type="primary" plain icon="el-icon-plus" v-if="!readonly" @click="openItem()">
|
||||
添加评分项目
|
||||
</el-button>
|
||||
</template>
|
||||
<el-table :data="currentCategory.items" border class="config-table">
|
||||
<el-table-column label="序号" type="index" width="90" align="center" />
|
||||
<el-table-column label="评分项目" prop="itemName" width="180" />
|
||||
@@ -190,6 +191,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</section-card>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button type="primary" @click="categoryBox = false">保存</el-button>
|
||||
@@ -203,6 +205,7 @@
|
||||
width="86%"
|
||||
class="score-item-dialog"
|
||||
>
|
||||
<section-card title="评分项目详情">
|
||||
<el-form
|
||||
:model="itemForm"
|
||||
label-position="right"
|
||||
@@ -248,7 +251,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form>
|
||||
</section-card>
|
||||
<template #footer>
|
||||
<el-button @click="itemBox = false">取消</el-button>
|
||||
<el-button type="primary" v-if="!readonly" @click="saveItem">保存</el-button>
|
||||
@@ -262,8 +266,9 @@
|
||||
width="76%"
|
||||
:close-on-press-escape="false"
|
||||
>
|
||||
<el-form :model="standardForm" label-position="right" label-width="auto" :disabled="readonly">
|
||||
<el-row :gutter="20">
|
||||
<section-card title="评估标准设置">
|
||||
<el-form :model="standardForm" label-position="right" label-width="auto" :disabled="readonly" class="standard-form archive-form">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="信用等级" required>
|
||||
<el-select
|
||||
@@ -350,7 +355,8 @@
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form>
|
||||
</section-card>
|
||||
<template #footer>
|
||||
<el-button @click="standardBox = false">取消</el-button>
|
||||
<el-button type="primary" v-if="!readonly" @click="saveStandard">保存</el-button>
|
||||
@@ -1015,39 +1021,34 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.score-config {
|
||||
padding: 4px 12px 12px;
|
||||
|
||||
&__name-input {
|
||||
width: min(420px, 100%);
|
||||
}
|
||||
}
|
||||
|
||||
.base-form {
|
||||
max-width: 60%;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 24px 0 12px;
|
||||
|
||||
.section-title {
|
||||
margin: 0;
|
||||
.archive-form {
|
||||
:deep(.el-form-item__label) {
|
||||
flex: 0 0 calc(6em + 24px) !important;
|
||||
width: calc(6em + 24px) !important;
|
||||
height: auto;
|
||||
white-space: normal !important;
|
||||
word-break: break-all;
|
||||
overflow-wrap: anywhere;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.section-title {
|
||||
margin: 18px 0 12px;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
line-height: 20px;
|
||||
color: #303133;
|
||||
}
|
||||
:deep(.el-form-item) {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.standard-head {
|
||||
margin-top: 36px;
|
||||
:deep(.el-form-item__content > .el-input),
|
||||
:deep(.el-form-item__content > .el-select),
|
||||
:deep(.el-form-item__content > .el-cascader),
|
||||
:deep(.el-form-item__content > .el-input-number),
|
||||
:deep(.el-form-item__content > .el-date-editor) {
|
||||
width: 250px;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.config-table {
|
||||
|
||||
@@ -240,6 +240,7 @@
|
||||
label="营业期限"
|
||||
prop="businessEndDate"
|
||||
:required="archiveForm.businessTermType === '固定期限'"
|
||||
:rules="businessEndDateRules"
|
||||
>
|
||||
<div class="business-term-field">
|
||||
<el-date-picker
|
||||
@@ -273,7 +274,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="地址" prop="registeredDetailAddress" required>
|
||||
<div class="archive-form__address">
|
||||
<el-cascader
|
||||
@@ -299,17 +300,17 @@
|
||||
|
||||
<section-card title="联系信息">
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="客商负责人" prop="principal">
|
||||
<el-input v-model="archiveForm.principal" maxlength="10" show-word-limit />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="联系电话" prop="contactPhone">
|
||||
<el-input v-model="archiveForm.contactPhone" maxlength="20" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="所属组织" prop="deptName">
|
||||
<el-tree-select
|
||||
v-model="archiveForm.deptId"
|
||||
@@ -325,6 +326,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6"></el-col>
|
||||
</el-row>
|
||||
</section-card>
|
||||
|
||||
@@ -364,20 +366,15 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="申请总资金使用额度(万元)" prop="applyCreditLimit">
|
||||
<el-input
|
||||
v-model="archiveForm.applyCreditLimit"
|
||||
maxlength="18"
|
||||
disabled
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请总资金使用额度(万元)" prop="applyCreditLimit">
|
||||
<el-input
|
||||
v-model="archiveForm.applyCreditLimit"
|
||||
maxlength="18"
|
||||
disabled
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</section-card>
|
||||
|
||||
<section-card title="其他信息">
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
v-model="archiveForm.remark"
|
||||
@@ -389,16 +386,15 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</section-card>
|
||||
|
||||
</el-form>
|
||||
|
||||
<el-tabs v-model="activeTab" class="archive-tabs">
|
||||
<section-card class="archive-detail-card">
|
||||
<el-tabs v-model="activeTab" class="archive-tabs" type="card">
|
||||
<el-tab-pane label="评分表" name="scores">
|
||||
<section-card>
|
||||
<template #extra>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="addScore">
|
||||
添加评分记录
|
||||
</el-button>
|
||||
</template>
|
||||
<div class="tab-table-toolbar" v-if="!readonly">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="addScore">添加评分记录</el-button>
|
||||
</div>
|
||||
<el-table :data="scoreTableData" border class="score-list-table">
|
||||
<el-table-column label="序号" width="90" align="center">
|
||||
<template #default="{ row }">
|
||||
@@ -465,15 +461,11 @@
|
||||
@size-change="handleScoreSizeChange"
|
||||
@current-change="handleScoreCurrentChange"
|
||||
/>
|
||||
</section-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="联系人" name="contacts">
|
||||
<section-card>
|
||||
<template #extra>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="openContact()">
|
||||
新增联系人
|
||||
</el-button>
|
||||
</template>
|
||||
<div class="tab-table-toolbar" v-if="!readonly">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="openContact()">新增联系人</el-button>
|
||||
</div>
|
||||
<el-table :data="contactTableData" border class="contact-table">
|
||||
<el-table-column label="序号" prop="__index" width="90" align="center" />
|
||||
<el-table-column label="联系人姓名" prop="contactName" min-width="150" />
|
||||
@@ -505,15 +497,11 @@
|
||||
@size-change="size => handleDetailSizeChange('contact', size)"
|
||||
@current-change="page => handleDetailCurrentChange('contact', page)"
|
||||
/>
|
||||
</section-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="收款信息" name="receiptAccounts">
|
||||
<section-card>
|
||||
<template #extra>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="openReceipt()">
|
||||
新增收款信息
|
||||
</el-button>
|
||||
</template>
|
||||
<div class="tab-table-toolbar" v-if="!readonly">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="openReceipt()">新增收款信息</el-button>
|
||||
</div>
|
||||
<el-table :data="receiptTableData" border class="receipt-table">
|
||||
<el-table-column label="序号" prop="__index" width="90" align="center" />
|
||||
<el-table-column label="收款单位名称" prop="accountName" min-width="180" />
|
||||
@@ -536,15 +524,11 @@
|
||||
@size-change="size => handleDetailSizeChange('receipt', size)"
|
||||
@current-change="page => handleDetailCurrentChange('receipt', page)"
|
||||
/>
|
||||
</section-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="发票信息" name="invoices">
|
||||
<section-card>
|
||||
<template #extra>
|
||||
<el-button type="primary" icon="el-icon-plus" v-if="!readonly" @click="openInvoice()">
|
||||
新增发票信息
|
||||
</el-button>
|
||||
</template>
|
||||
<div class="tab-table-toolbar" v-if="!readonly">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="openInvoice()">新增发票信息</el-button>
|
||||
</div>
|
||||
<el-table :data="invoiceTableData" border class="invoice-table">
|
||||
<el-table-column label="序号" prop="__index" width="90" align="center" />
|
||||
<el-table-column label="收票方名称" prop="invoiceTitle" min-width="180" />
|
||||
@@ -573,9 +557,9 @@
|
||||
@size-change="size => handleDetailSizeChange('invoice', size)"
|
||||
@current-change="page => handleDetailCurrentChange('invoice', page)"
|
||||
/>
|
||||
</section-card>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</section-card>
|
||||
|
||||
<section-card title="客商材料">
|
||||
<template #extra>
|
||||
@@ -1290,13 +1274,6 @@ export default {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validateBusinessEndDate = (rule, value, callback) => {
|
||||
if (this.archiveForm.businessTermType === '固定期限' && !value) {
|
||||
callback(new Error('请选择营业期限截止日'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validateRegisteredAddress = (rule, value, callback) => {
|
||||
const regionName = (this.archiveForm.registeredRegionName || '').trim();
|
||||
const detailAddress = String(value || '').trim();
|
||||
@@ -1445,7 +1422,6 @@ export default {
|
||||
registeredCapital: [{ validator: validateNonNegative, trigger: 'blur' }],
|
||||
maxCreditLimit: [{ validator: validateNonNegative, trigger: 'blur' }],
|
||||
applyCreditLimit: [{ validator: validateNonNegative, trigger: 'blur' }],
|
||||
businessEndDate: [{ validator: validateBusinessEndDate, trigger: 'change' }],
|
||||
registeredDetailAddress: [
|
||||
{ validator: validateRegisteredAddress, trigger: ['change', 'blur'] },
|
||||
],
|
||||
@@ -1686,6 +1662,11 @@ export default {
|
||||
if (this.readonly) return '查看客商档案';
|
||||
return this.archiveForm.id ? '编辑客商档案' : '新增客商档案';
|
||||
},
|
||||
businessEndDateRules() {
|
||||
return this.archiveForm.businessTermType === '固定期限'
|
||||
? [{ required: true, message: '请选择营业期限截止日', trigger: 'change' }]
|
||||
: [];
|
||||
},
|
||||
contactDialogTitle() {
|
||||
return this.contactIndex > -1 ? '编辑联系人' : '新增联系人';
|
||||
},
|
||||
@@ -3702,55 +3683,66 @@ export default {
|
||||
flex: 0 0 calc(6em + 24px) !important;
|
||||
width: calc(6em + 24px) !important;
|
||||
height: auto;
|
||||
min-height: 32px;
|
||||
white-space: normal !important;
|
||||
word-break: break-all;
|
||||
overflow-wrap: anywhere;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
// 锁定表单项 label 与控件垂直居中对齐(避免长 label 折行时视觉错位)
|
||||
:deep(.el-form-item) {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:deep(.el-form-item__content > .el-input),
|
||||
:deep(.el-form-item__content > .el-select),
|
||||
:deep(.el-form-item__content > .el-cascader),
|
||||
:deep(.el-form-item__content > .el-input-number),
|
||||
:deep(.el-form-item__content > .el-date-editor) {
|
||||
width: 220px;
|
||||
width: 250px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
business-term-field,
|
||||
.business-term-field,
|
||||
.archive-form__address {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
width: 97%;
|
||||
}
|
||||
|
||||
.business-term-field {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-wrap: nowrap;
|
||||
|
||||
:deep(.el-date-editor) {
|
||||
flex: 0 0 220px;
|
||||
width: 220px;
|
||||
flex: 0 0 150px;
|
||||
width: 150px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:deep(.el-checkbox) {
|
||||
flex: 0 0 auto;
|
||||
margin-right: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.archive-form__address {
|
||||
:deep(.el-input),
|
||||
:deep(.el-cascader) {
|
||||
flex: 0 0 220px;
|
||||
width: 220px;
|
||||
flex: 0 0 250px;
|
||||
width: 250px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:deep(.el-cascader) {
|
||||
flex-basis: 220px;
|
||||
:deep(.el-input) {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3770,6 +3762,7 @@ business-term-field,
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
align-items: center;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
|
||||
:deep(.vehicle-attachment-upload) {
|
||||
width: auto;
|
||||
@@ -3783,8 +3776,17 @@ business-term-field,
|
||||
}
|
||||
}
|
||||
|
||||
.archive-detail-card {
|
||||
margin-top: 8px;
|
||||
}
|
||||
.archive-tabs {
|
||||
margin-top: 18px;
|
||||
:deep(.el-tabs__header) {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.tab-table-toolbar {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.score-list-table {
|
||||
|
||||
Reference in New Issue
Block a user