style(billing-plan-editor): 使用 SectionCard 包裹计费方案编辑区块
- 引入 SectionCard 组件包裹计费方案显示和编辑区域 - 为默认方案信息添加带提示的 Info 图标和 Tooltip - 优化模板缩进和结构,提升可读性 feat(contract-manage): 优化合同管理搜索和操作栏体验 - 允许签约类型字段作为搜索条件且支持排序和提示 - 将签约类型从快捷搜索区移动到标准搜索表单中 - 废除冗余的 contractSignType 状态,使用表单绑定自动处理 - 调整搜索栏快捷筛选区域顺序,实现与按钮组的视觉统一 fix(contract-manage): 修正底部操作栏文案及按钮显示逻辑 - 底部操作栏将“关闭”文案修改为“取消”,符合统一规范 - 草稿编辑页底部按钮增加[暂存/提交临时/提交正式],一致新增页操作 - 按钮样式调整,采用右侧对齐并使用按键间距12px替代gap style(contract-manage-change): 统一变更页底部操作栏样式和交互 - 底部操作栏使用固定悬浮布局,避免内容被遮挡 - 调整按钮顺序为[取消][提交],并修改“关闭”为“取消” - 增加统一的按钮间距与操作栏背景和阴影样式 - 为页面容器添加底部内边距,保障悬浮栏空间 style(contract-manage): 修复“合同文件”标题样式加粗问题 - 补充 scoped 样式,利用 :deep 影响子组件中标题的字体加粗和颜色 fix(customer-archive): 调整文本行高以优化显示效果 - 将内容文本的行高从18px调整为16px,提升视觉紧凑度 style(customer-archive): 调整必填项标签布局 - 删除因padding造成的标签视觉错位,确保label与控件垂直居中对齐
This commit is contained in:
@@ -6,68 +6,72 @@
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
>
|
||||
<el-descriptions v-if="readonly" :column="3" class="billing-plan-detail">
|
||||
<el-descriptions-item label="方案名称">{{
|
||||
displayValue(draft.planName)
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="运输方式">{{
|
||||
transportModeLabel(draft.transportMode)
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="默认方案">{{
|
||||
isDefaultPlan(draft) ? '是' : '否'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注">{{ displayValue(draft.remark) }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-form
|
||||
v-else
|
||||
ref="formRef"
|
||||
:model="draft"
|
||||
:rules="formRules"
|
||||
label-position="right"
|
||||
label-width="auto"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8"
|
||||
|
||||
<section-card>
|
||||
<el-descriptions v-if="readonly" :column="3" class="billing-plan-detail">
|
||||
<el-descriptions-item label="方案名称">{{
|
||||
displayValue(draft.planName)
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="运输方式">{{
|
||||
transportModeLabel(draft.transportMode)
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="默认方案">{{
|
||||
isDefaultPlan(draft) ? '是' : '否'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注">{{ displayValue(draft.remark) }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-form
|
||||
v-else
|
||||
ref="formRef"
|
||||
:model="draft"
|
||||
:rules="formRules"
|
||||
label-position="right"
|
||||
label-width="auto"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8"
|
||||
><el-form-item label="方案名称" prop="planName"
|
||||
><el-input
|
||||
v-model="draft.planName"
|
||||
maxlength="100"
|
||||
:disabled="readonly" /></el-form-item
|
||||
></el-col>
|
||||
<el-col :span="8"
|
||||
><el-input
|
||||
v-model="draft.planName"
|
||||
maxlength="100"
|
||||
:disabled="readonly" /></el-form-item
|
||||
></el-col>
|
||||
<el-col :span="8"
|
||||
><el-form-item label="运输方式" prop="transportMode"
|
||||
><el-select
|
||||
v-model="draft.transportMode"
|
||||
clearable
|
||||
filterable
|
||||
:loading="transportModeLoading"
|
||||
placeholder="请选择运输方式"
|
||||
@visible-change="visible => visible && ensureTransportModes()"
|
||||
><el-option
|
||||
v-for="item in transportModeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value" /></el-select></el-form-item
|
||||
></el-col>
|
||||
<el-col :span="8"
|
||||
><el-select
|
||||
v-model="draft.transportMode"
|
||||
clearable
|
||||
filterable
|
||||
:loading="transportModeLoading"
|
||||
placeholder="请选择运输方式"
|
||||
@visible-change="visible => visible && ensureTransportModes()"
|
||||
><el-option
|
||||
v-for="item in transportModeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value" /></el-select></el-form-item
|
||||
></el-col>
|
||||
<el-col :span="8"
|
||||
><el-form-item label="默认方案"
|
||||
><el-checkbox v-model="draft.defaultPlan" :disabled="readonly">默认方案</el-checkbox
|
||||
><el-icon class="billing-plan-editor__default-tip" @click="showDefaultPlanTip"
|
||||
><InfoFilled
|
||||
/></el-icon>
|
||||
></el-form-item
|
||||
><el-checkbox v-model="draft.defaultPlan" :disabled="readonly">默认方案</el-checkbox
|
||||
><el-tooltip content="同一运输方式仅支持配置一个默认计费方案" placement="top">
|
||||
<el-icon class="billing-plan-editor__default-tip"
|
||||
><InfoFilled
|
||||
/></el-icon> </el-tooltip
|
||||
></el-form-item
|
||||
></el-col
|
||||
>
|
||||
<el-col :span="24"
|
||||
>
|
||||
<el-col :span="24"
|
||||
><el-form-item label="备注"
|
||||
><el-input
|
||||
v-model="draft.remark"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
:disabled="readonly" /></el-form-item
|
||||
></el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
><el-input
|
||||
v-model="draft.remark"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
:disabled="readonly" /></el-form-item
|
||||
></el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</section-card>
|
||||
<div class="rule-head">
|
||||
<el-link v-if="!readonly" type="primary" @click="addRule">+添加规则</el-link>
|
||||
</div>
|
||||
@@ -362,6 +366,7 @@ import { getList as getFeeItemList } from '@/api/base/fee-item';
|
||||
import { getLazyTree as getRegionLazyTree } from '@/api/base/region';
|
||||
import { InfoFilled } from '@element-plus/icons-vue';
|
||||
import { getDictionary } from '@/api/system/dictbiz';
|
||||
import SectionCard from '@/components/section-card/main.vue';
|
||||
|
||||
const clone = value => JSON.parse(JSON.stringify(value));
|
||||
const defaultRule = () => ({
|
||||
@@ -391,7 +396,7 @@ const defaultRule = () => ({
|
||||
});
|
||||
|
||||
export default {
|
||||
components: { InfoFilled },
|
||||
components: { SectionCard, InfoFilled },
|
||||
props: {
|
||||
modelValue: Boolean,
|
||||
value: { type: Object, default: () => ({}) },
|
||||
@@ -874,9 +879,6 @@ export default {
|
||||
this.visible = false;
|
||||
});
|
||||
},
|
||||
showDefaultPlanTip() {
|
||||
this.$message.info('同一运输方式仅支持配置一个默认计费方案');
|
||||
},
|
||||
openMatch(row, index) {
|
||||
this.matchIndex = index;
|
||||
this.matchForm = { ...defaultRule().matchCondition, ...(row.matchCondition || {}) };
|
||||
|
||||
Reference in New Issue
Block a user