Compare commits

...

3 Commits

Author SHA1 Message Date
gxwebsoft 24abe2ecbd refactor(config): 优化配置和界面布局调整
- 移除保险识别模板页面basic-container的多余class属性
- 引入并注册SectionCard组件以增强页面结构
- 调整车辆保险记录对话框宽度由1100改为1024
- 缩减菜单宽度从180调整为120,优化布局空间
- 轻微调整表格列最小宽度以适配新界面
- 更新vite配置,切换开发服务器端口为2889
- 修改API代理目标地址为http://172.16.203.228:8000并启用代理配置
2026-08-20 12:29:22 +08:00
gxwebsoft 608a86588d Merge remote-tracking branch 'origin/master' 2026-08-20 10:20:03 +08:00
gxwebsoft ddfd911d2e feat(loading-manage): 实现线路编辑起/经/终圆点分色功能
- 根据用户反馈,给线路编辑的「起/经/终」圆形徽标分别赋予蓝、橙、绿三种颜色
- 修改 src/views/business/loading-manage.vue,新增 routeTypeClass 和 routeChangeTypeClass 方法区分起始类型
- 模板中应用动态 class,实现不同类型圆点颜色差异
- 调整 scoped 样式,去掉硬编码背景色,添加三个 modifier 分别对应三种颜色
- 将原 route-type 样式多行化,便于嵌套颜色修饰符
- 变更运输路线弹窗与主弹窗样式保持一致,保证全站统一
- 已通过 dev server HMR 验证,刷新后新增/编辑弹窗正常显示颜色区别
2026-08-15 19:16:35 +08:00
4 changed files with 31 additions and 17 deletions
+12
View File
@@ -110,3 +110,15 @@
- 改动:
1. `src/option/business/contract-manage.js`:该文件 option 在 `createCrudOption([...])` 之后本就用 `option.xxx = ...` 顶层赋值(span/dialogWidth/dialogTop 等),故在末尾追加 `option.dialogCustomClass = 'contract-manage-dialog';`(无需改结构,与文件既有写法一致)。
2. `src/styles/element-ui.scss`:新增 `.contract-manage-dialog` 四条规则,复刻 waybill-manage 方案——`height/max-height: calc(100vh - 40px) !important` 压过库内置 `.avue-dialog` 的 200px 上限;`.el-dialog__header { flex:none }`、`.el-dialog__body { flex:1 1 auto; min-height:0; max-height:none !important; overflow-y:auto }` 解开全局 avue-crud 200px body 限制;`.avue-dialog__footer { position:sticky; bottom:0; margin-top:0 !important; background:#fff }` 抵消全局 footer 的 -30px 上移。
## loading-manage 线路编辑「起/经/终」圆点分色
- 需求:用户反馈 `/business/loading-manage` 弹窗中"线路编辑"区域的「起/经/终」圆形徽标要区分颜色:起蓝、经橙、终绿。
- 改文件:`src/views/business/loading-manage.vue`。
- 涉及两处:① 主弹窗 `loading-manage-dialog__route-type`;② 变更运输路线弹窗 `loading-route-change-dialog__route-type`(保持全站一致)。
- 实现方式(最小侵入、不破坏现有结构):
1. methods 各加一个 `routeTypeClass(index)` / `routeChangeTypeClass(index)`,返回 `'start' | 'middle' | 'end'`。
2. 模板里 span 改用 `:class="['...route-type', '...route-type--' + ${xxxClass(index)}]"` 动态 class。
3. scoped 样式 `__route-type` 规则去掉硬编码 `background`,改用 `&--start/#409eff` + `&--middle/#e6a23c` + `&--end/#67c23a` 三个 modifier(颜色取 Element Plus 语义色:蓝主色 / 橙 warning / 绿 success),`color: #fff` 保留。
- 关键 trick:变更弹窗原 `route-type` 样式是单行压缩写法,本次顺手把它多行化(保持其他子规则不变),以便嵌套 `&--xxx` 修饰符。
- dev server(2889) HMR 自动生效,刷新后开新增/编辑弹窗向下滚到"线路编辑"分组即可见。
+3 -3
View File
@@ -28,7 +28,7 @@ export const ocrTemplateDic = [];
export const option = {
height: 'auto',
calcHeight: 32,
dialogWidth: 1100,
dialogWidth: 1024,
labelPosition: 'right',
tip: false,
searchBtnText: '查询',
@@ -46,7 +46,7 @@ export const option = {
viewBtn: true,
selection: true,
dialogClickModal: false,
menuWidth: 180,
menuWidth: 120,
column: [
{
label: '车船类型',
@@ -97,7 +97,7 @@ export const option = {
type: 'select',
dicData: insuranceTypeDic,
search: true,
minWidth: 130,
minWidth: 120,
rules: [{ required: true, message: '请选择保险类型', trigger: 'change' }],
},
{
+3 -1
View File
@@ -1,5 +1,5 @@
<template>
<basic-container class="insurance-ocr-template-page">
<basic-container>
<div class="insurance-ocr-template-page__toolbar">
<el-button
v-if="hasPermission('insurance_ocr_template_add')"
@@ -122,6 +122,7 @@
<script>
import { mapGetters } from 'vuex';
import { getDetail, getList, remove, submit } from '@/api/base/insurance-ocr-template';
import SectionCard from '@/components/section-card/main.vue';
const insuranceFieldKeys = [
'保险类型',
@@ -152,6 +153,7 @@ const createMappingRows = mappingConfig => {
};
export default {
components: { SectionCard },
data() {
return {
loading: false,
+13 -13
View File
@@ -50,26 +50,26 @@ export default ({
__VUE_I18N_LEGACY_API__: true,
__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: {
// port: 2889,
// port: 2888,
// proxy: {
// '/api': {
// target: 'http://172.16.203.228:8000',
// target: 'http://localhost',
// //target: 'https://saber3.bladex.cn/api',
// changeOrigin: true,
// rewrite: path => path.replace(/^\/api/, ''),
// },
// },
// },
server: {
port: 2889,
proxy: {
'/api': {
target: 'http://172.16.203.228:8000',
changeOrigin: true,
},
},
},
resolve: {
alias: {
'~': resolve(__dirname, './'),