From e50d1b8fda54174c2fcd0ccab2761b006c578d6e Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Tue, 21 Jul 2026 13:20:06 +0800 Subject: [PATCH] fix bug --- src/components/empty-pagination/main.vue | 57 +++++ src/main.js | 2 + src/option/vehicle/accident-record.js | 14 +- .../vehicle/annual-inspection-record.js | 10 +- src/option/vehicle/insurance-record.js | 7 + src/option/vehicle/mileage-record.js | 9 +- src/option/vehicle/tire-replacement-record.js | 6 + src/option/vehicle/violation-record.js | 17 +- src/views/base/airport-master.vue | 38 ++- src/views/base/currency.vue | 3 +- src/views/base/customer-type.vue | 16 +- src/views/base/port-terminal.vue | 188 +++++++++++---- src/views/base/railway-station.vue | 101 +++++++- src/views/base/region.vue | 81 +++++-- src/views/vehicle/accident-record.vue | 18 +- .../vehicle/annual-inspection-record.vue | 10 +- src/views/vehicle/customer-archive.vue | 218 +++++++++++++++--- src/views/vehicle/insurance-record.vue | 10 +- src/views/vehicle/mileage-record.vue | 10 +- src/views/vehicle/tire-replacement-record.vue | 10 +- src/views/vehicle/violation-record.vue | 18 +- 21 files changed, 714 insertions(+), 129 deletions(-) create mode 100644 src/components/empty-pagination/main.vue diff --git a/src/components/empty-pagination/main.vue b/src/components/empty-pagination/main.vue new file mode 100644 index 0000000..f999b9b --- /dev/null +++ b/src/components/empty-pagination/main.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/main.js b/src/main.js index 9d34f1d..a9fd7fa 100644 --- a/src/main.js +++ b/src/main.js @@ -27,6 +27,7 @@ import codeEditor from './components/code-editor/main.vue'; import cronEditor from './components/cron-editor/main.vue'; import basicBlock from './components/basic-block/main.vue'; import basicContainer from './components/basic-container/main.vue'; +import emptyPagination from './components/empty-pagination/main.vue'; import thirdRegister from './components/third-register/main.vue'; import flowDesign from './components/flow-design/main.vue'; import flowDesignStep from './components/flow-design-step/main.vue'; @@ -45,6 +46,7 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) { } app.component('basicContainer', basicContainer); app.component('basicBlock', basicBlock); +app.component('emptyPagination', emptyPagination); app.component('highlight', highlight); app.component('codeEditor', codeEditor); app.component('cronEditor', cronEditor); diff --git a/src/option/vehicle/accident-record.js b/src/option/vehicle/accident-record.js index 9c1ef49..d7ebc04 100644 --- a/src/option/vehicle/accident-record.js +++ b/src/option/vehicle/accident-record.js @@ -36,6 +36,10 @@ export const option = { dialogWidth: 1050, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -90,6 +94,7 @@ export const option = { dicData: accidentNatureDic, search: true, minWidth: 120, + rules: [{ required: true, message: '请选择事故性质', trigger: 'change' }], }, { label: '事故责任', @@ -98,12 +103,14 @@ export const option = { dicData: accidentResponsibilityDic, search: true, minWidth: 120, + rules: [{ required: true, message: '请选择事故责任', trigger: 'change' }], }, { label: '直接经济损失', prop: 'directEconomicLoss', type: 'number', precision: 2, + append: '元', minWidth: 140, rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, @@ -112,6 +119,7 @@ export const option = { prop: 'insuranceClaimAmount', type: 'number', precision: 2, + append: '元', minWidth: 140, rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, @@ -122,7 +130,8 @@ export const option = { minRows: 3, span: 24, search: true, - hide: true, + minWidth: 220, + overHidden: true, rules: [{ max: 500, message: '最多 500 个字符', trigger: 'blur' }], }, { @@ -131,7 +140,8 @@ export const option = { type: 'textarea', minRows: 3, span: 24, - hide: true, + minWidth: 180, + overHidden: true, rules: [{ max: 200, message: '最多 200 个字符', trigger: 'blur' }], }, { diff --git a/src/option/vehicle/annual-inspection-record.js b/src/option/vehicle/annual-inspection-record.js index 96144d8..f94bdf2 100644 --- a/src/option/vehicle/annual-inspection-record.js +++ b/src/option/vehicle/annual-inspection-record.js @@ -35,6 +35,10 @@ export const option = { dialogWidth: 1050, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -105,7 +109,6 @@ export const option = { label: '客车类型及等级', prop: 'passengerTypeLevel', minWidth: 150, - hide: true, rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }], }, { @@ -119,6 +122,7 @@ export const option = { prop: 'fee', type: 'number', precision: 2, + append: '元', minWidth: 100, rules: [ { required: true, message: '请输入费用', trigger: 'blur' }, @@ -129,7 +133,6 @@ export const option = { label: '评定(复核)单位', prop: 'assessmentUnit', minWidth: 160, - hide: true, rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }], }, { @@ -138,7 +141,8 @@ export const option = { type: 'textarea', minRows: 3, span: 24, - hide: true, + minWidth: 180, + overHidden: true, rules: [{ max: 200, message: '最多 200 个字符', trigger: 'blur' }], }, { diff --git a/src/option/vehicle/insurance-record.js b/src/option/vehicle/insurance-record.js index 9aaf874..ff8b9cf 100644 --- a/src/option/vehicle/insurance-record.js +++ b/src/option/vehicle/insurance-record.js @@ -30,11 +30,16 @@ export const ocrTemplateDic = [ ]; export const option = { + title: '保险记录(OCR)', height: 'auto', calcHeight: 32, dialogWidth: 1100, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -123,6 +128,7 @@ export const option = { prop: 'insuredAmount', type: 'number', precision: 2, + append: '元', minWidth: 120, rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, @@ -131,6 +137,7 @@ export const option = { prop: 'premium', type: 'number', precision: 2, + append: '元', minWidth: 120, rules: [ { required: true, message: '请输入保费', trigger: 'blur' }, diff --git a/src/option/vehicle/mileage-record.js b/src/option/vehicle/mileage-record.js index 62535a8..15de4f1 100644 --- a/src/option/vehicle/mileage-record.js +++ b/src/option/vehicle/mileage-record.js @@ -13,11 +13,16 @@ const validateNonNegative = (rule, value, callback) => { }; export const option = { + title: '里程记录(无船)', height: 'auto', calcHeight: 32, dialogWidth: 980, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -57,7 +62,7 @@ export const option = { rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, { - label: '本月行驶里程(km)', + label: '本月行驶里程(km)', prop: 'monthlyMileage', type: 'number', precision: 2, @@ -65,7 +70,7 @@ export const option = { rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, { - label: '累计行驶里程(km)', + label: '累计行驶里程(km)', prop: 'totalMileage', type: 'number', precision: 2, diff --git a/src/option/vehicle/tire-replacement-record.js b/src/option/vehicle/tire-replacement-record.js index 5127cbb..352a890 100644 --- a/src/option/vehicle/tire-replacement-record.js +++ b/src/option/vehicle/tire-replacement-record.js @@ -21,11 +21,16 @@ const validatePositiveInteger = (rule, value, callback) => { }; export const option = { + title: '换胎记录(无船)', height: 'auto', calcHeight: 32, dialogWidth: 980, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -81,6 +86,7 @@ export const option = { prop: 'replacementCost', type: 'number', precision: 2, + append: '元', minWidth: 120, rules: [ { required: true, message: '请输入换胎费用', trigger: 'blur' }, diff --git a/src/option/vehicle/violation-record.js b/src/option/vehicle/violation-record.js index 96fe013..6972aec 100644 --- a/src/option/vehicle/violation-record.js +++ b/src/option/vehicle/violation-record.js @@ -44,6 +44,10 @@ export const option = { dialogWidth: 1100, labelPosition: 'top', tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -129,6 +133,7 @@ export const option = { prop: 'fineAmount', type: 'number', precision: 2, + append: '元', minWidth: 100, rules: [{ validator: validateNonNegative, trigger: 'blur' }], }, @@ -137,14 +142,13 @@ export const option = { prop: 'deductPoints', type: 'number', precision: 0, - hide: true, + minWidth: 110, rules: [{ validator: validateDeductPoints, trigger: 'blur' }], }, { label: '被罚单位', prop: 'penaltyUnit', minWidth: 150, - hide: true, rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }], }, { @@ -152,8 +156,9 @@ export const option = { prop: 'processStatus', type: 'radio', dicData: processStatusDic, - value: '已处理', + value: '未处理', search: true, + clearable: true, minWidth: 120, rules: [{ required: true, message: '请选择状态', trigger: 'change' }], }, @@ -163,7 +168,8 @@ export const option = { type: 'textarea', minRows: 3, span: 24, - hide: true, + minWidth: 220, + overHidden: true, rules: [ { required: true, message: '请输入过程描述', trigger: 'blur' }, { max: 500, message: '最多 500 个字符', trigger: 'blur' }, @@ -175,7 +181,8 @@ export const option = { type: 'textarea', minRows: 3, span: 24, - hide: true, + minWidth: 220, + overHidden: true, rules: [{ max: 500, message: '最多 500 个字符', trigger: 'blur' }], }, { diff --git a/src/views/base/airport-master.vue b/src/views/base/airport-master.vue index d4c4dba..49b9ccf 100644 --- a/src/views/base/airport-master.vue +++ b/src/views/base/airport-master.vue @@ -109,6 +109,8 @@ import { getToken } from '@/utils/auth'; import NProgress from 'nprogress'; import 'nprogress/nprogress.css'; +const DEFAULT_COUNTRY_CODE = '+86'; + export default { data() { const validateIataCode = (rule, value, callback) => { @@ -165,6 +167,8 @@ export default { dialogWidth: 980, tip: false, searchShow: true, + labelWidth: 120, + searchLabelWidth: 120, searchMenuSpan: 6, border: true, index: true, @@ -266,11 +270,35 @@ export default { addDisplay: false, editDisplay: false, }, + { + label: '行政区划', + prop: 'regionName', + search: true, + minWidth: 160, + overHidden: false, + maxlength: 128, + showWordLimit: true, + rules: [{ max: 128, message: '行政区划不能超过128字', trigger: 'blur' }], + }, + { + label: '详细地址', + prop: 'detailAddress', + type: 'textarea', + minRows: 3, + span: 24, + minWidth: 220, + overHidden: false, + maxlength: 255, + showWordLimit: true, + rules: [{ max: 255, message: '详细地址不能超过255字', trigger: 'blur' }], + }, { label: '经度', prop: 'longitude', type: 'number', precision: 6, + minWidth: 130, + overHidden: false, rules: [{ validator: validateLongitude, trigger: 'blur' }], }, { @@ -278,6 +306,8 @@ export default { prop: 'latitude', type: 'number', precision: 6, + minWidth: 130, + overHidden: false, rules: [{ validator: validateLatitude, trigger: 'blur' }], }, { @@ -285,6 +315,8 @@ export default { prop: 'dataSource', type: 'select', search: true, + minWidth: 120, + overHidden: false, dicData: [ { label: '全部', value: '' }, { label: '初始导入', value: '初始导入' }, @@ -299,6 +331,8 @@ export default { search: true, slot: true, dataType: 'number', + minWidth: 110, + overHidden: false, dicData: [ { label: '全部', value: '' }, { label: '启用', value: 1 }, @@ -406,7 +440,7 @@ export default { return this.option.column.find(item => item.prop === prop); }, loadProvinceOptions() { - getLazyTree('00').then(res => { + getLazyTree(DEFAULT_COUNTRY_CODE).then(res => { this.provinceOptions = res.data.data; this.findColumn('provinceCode').dicData = this.provinceOptions; }); @@ -448,6 +482,8 @@ export default { }, normalizeRow(row) { row.code = row.iataCode ? `JC-${row.iataCode}` : row.code; + row.regionName = String(row.regionName || '').trim(); + row.detailAddress = String(row.detailAddress || '').trim(); if (!row.dataSource) row.dataSource = '手动录入'; if (!row.status) row.status = 1; return row; diff --git a/src/views/base/currency.vue b/src/views/base/currency.vue index 72a7e47..76fcf0d 100644 --- a/src/views/base/currency.vue +++ b/src/views/base/currency.vue @@ -189,8 +189,7 @@ export default { prop: 'name', minWidth: 150, search: true, - disabled: true, - rules: [{ required: true, message: '请选择币种编码带出币种名称', trigger: 'blur' }], + rules: [{ required: true, message: '请输入币种名称', trigger: 'blur' }], }, { label: '汇率', diff --git a/src/views/base/customer-type.vue b/src/views/base/customer-type.vue index 30eba90..289c163 100644 --- a/src/views/base/customer-type.vue +++ b/src/views/base/customer-type.vue @@ -56,6 +56,12 @@ + @@ -72,6 +78,7 @@ export default { data: [], page: { pageSize: 10, + pageSizes: [10, 20, 50, 100], currentPage: 1, total: 0, }, @@ -81,6 +88,10 @@ export default { calcHeight: 32, dialogWidth: 680, tip: false, + searchBtnText: '查询', + emptyBtnText: '重置', + saveBtnText: '提交', + updateBtnText: '提交', searchShow: true, searchMenuSpan: 6, border: true, @@ -119,6 +130,7 @@ export default { { label: '启用', value: 1 }, { label: '停用', value: 2 }, ], + clearable: true, value: 1, }, { @@ -196,7 +208,7 @@ export default { ); }, rowDel(row) { - this.$confirm('确定将选择数据删除?', { + this.$confirm('确定删除该条数据,删除后不可恢复?', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', @@ -212,7 +224,7 @@ export default { this.$message.warning('请选择至少一条数据'); return; } - this.$confirm('确定将选择数据删除?', { + this.$confirm('确定删除所选数据,删除后不可恢复?', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', diff --git a/src/views/base/port-terminal.vue b/src/views/base/port-terminal.vue index 4476cd9..ee3a483 100644 --- a/src/views/base/port-terminal.vue +++ b/src/views/base/port-terminal.vue @@ -65,6 +65,24 @@ {{ row.status === 1 ? '启用' : '停用' }} +