1、大量页面调整

2、完善运力模块
3、完善规范、需求卡
This commit is contained in:
2026-07-31 01:32:41 +08:00
parent ccaca521d3
commit 81b2a3e99b
54 changed files with 5641 additions and 1965 deletions

View File

@@ -205,7 +205,7 @@ export default {
searchLabelWidth: 160,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,

View File

@@ -24,35 +24,33 @@
<el-button type="primary" v-if="permission.cargo_type_add" @click="$refs.crud.rowAdd()">
<el-icon class="el-icon--left"><Plus /></el-icon>新增
</el-button>
<el-button
type="primary"
plain
v-if="permission.cargo_type_import"
@click="handleImport"
><el-icon class="el-icon--left"><Upload /></el-icon>批量导入</el-button>
<el-button type="primary" plain v-if="permission.cargo_type_import" @click="handleImport"
><el-icon class="el-icon--left"><Upload /></el-icon>批量导入</el-button
>
<el-button
type="primary"
plain
v-if="permission.cargo_type_template"
@click="handleTemplate"
><el-icon class="el-icon--left"><Download /></el-icon>下载模板</el-button>
<el-button
type="primary"
plain
v-if="permission.cargo_type_export"
@click="handleExport"
><el-icon class="el-icon--left"><Download /></el-icon>批量导出</el-button>
<el-button
type="danger"
plain
v-if="permission.cargo_type_delete"
@click="handleDelete"
><el-icon class="el-icon--left"><Delete /></el-icon>批量删除</el-button>
><el-icon class="el-icon--left"><Download /></el-icon>下载模板</el-button
>
<el-button type="primary" plain v-if="permission.cargo_type_export" @click="handleExport"
><el-icon class="el-icon--left"><Download /></el-icon>批量导出</el-button
>
<el-button type="danger" plain v-if="permission.cargo_type_delete" @click="handleDelete"
><el-icon class="el-icon--left"><Delete /></el-icon>批量删除</el-button
>
</template>
<template #typeLevel-header>
<span>货物类型</span>
</template>
<template #parentCargoName="{ row }">
{{ row.typeLevel === 1 ? '/' : row.parentCargoName || '/' }}
</template>
<template #parentCargoCode-header>
<span>上级货物类型编码</span>
</template>
<template #parentCargoCode="{ row }">
{{ row.typeLevel === 1 ? '/' : row.parentCargoCode || '/' }}
</template>
@@ -68,7 +66,7 @@
clearable
:remote-method="loadParentOptions"
:loading="parentLoading"
:disabled="dialogType !== 'add' || form.typeLevel !== 2"
:disabled="dialogType === 'view' || form.typeLevel !== 2"
placeholder="请输入名称或编码搜索"
style="width: 100%"
@change="handleParentChange"
@@ -99,12 +97,7 @@
>
编辑
</el-button>
<el-button
type="primary"
text
v-if="permission.cargo_type_delete"
@click="rowDel(row)"
>
<el-button type="primary" text v-if="permission.cargo_type_delete" @click="rowDel(row)">
删除
</el-button>
</template>
@@ -130,13 +123,7 @@
</template>
<script>
import {
getList,
getNextCode,
getParentOptions,
remove,
submit,
} from '@/api/base/cargo-type';
import { getList, getNextCode, getParentOptions, remove, submit } from '@/api/base/cargo-type';
import { getCargoTypeOption } from '@/option/base/cargo-type';
import { exportBlob } from '@/api/common';
import { mapGetters } from 'vuex';
@@ -169,8 +156,8 @@ const CARGO_TYPE_FAIL_COL_WIDTH = {
'上级货物类型编码(如为一级则不需填写)': 26,
'*货物类型': 18,
'*货物类型编码': 18,
'备注': 24,
'导入失败原因': 70,
备注: 24,
导入失败原因: 70,
};
/**
@@ -223,7 +210,9 @@ export const decorateCargoTypeFailDetail = async workbook => {
// 兜底:失败行的备注列超长(>200字补充备注超长提示
const remarkCol = colMap['备注'];
if (remarkCol) {
const remarkVal = String(row.getCell(remarkCol).value == null ? '' : row.getCell(remarkCol).value).trim();
const remarkVal = String(
row.getCell(remarkCol).value == null ? '' : row.getCell(remarkCol).value
).trim();
if (remarkVal.length > 200 && !decorated.some(d => d.includes('备注不能超过200字'))) {
decorated.push(`${String.fromCharCode(65 + decorated.length)}.备注不能超过200字`);
}
@@ -362,12 +351,16 @@ export default {
handleParentChange(value) {
const parent = this.parentOptions.find(item => String(item.id) === String(value));
this.form.parentCargoName = parent ? parent.cargoName : '';
this.form.parentCargoCode = parent ? parent.cargoCode : '';
this.form.parentCargoCode = parent ? parent.cargoCode || parent.code || '' : '';
if (!parent) {
this.form.cargoCode = '';
return;
}
getNextCode(parent.cargoCode).then(res => {
if (!this.form.parentCargoCode) {
this.form.cargoCode = '';
return;
}
getNextCode(this.form.parentCargoCode).then(res => {
this.form.cargoCode = res.data.data;
});
},

File diff suppressed because it is too large Load Diff

View File

@@ -164,7 +164,7 @@ export default {
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,

View File

@@ -95,7 +95,7 @@ export default {
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,

View File

@@ -85,7 +85,7 @@ export default {
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,

View File

@@ -302,7 +302,7 @@ export default {
searchShow: true,
searchLabelWidth: 160,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuSpan: 24,
searchMenuPosition: 'right',
border: true,

View File

@@ -204,7 +204,7 @@ export default {
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,