diff --git a/AGENTS.md b/AGENTS.md index a200e7f..3b6157b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -167,7 +167,7 @@ Avue 表格/表单配置独立存放于 `src/option/` 目录,与 `views` 和 ` - 搜索组件需展示轻量阴影,统一使用 `0 2px 8px rgba(0, 0, 0, 0.06)`,不得被局部卡片去样式规则覆盖。 - 表格线条颜色需统一使用 `#EFF1F7`,包括表格外边框、单元格分割线和固定列边线。 - 表格偶数行需统一使用 `#FAFAFA` 背景色,固定列单元格必须与对应行背景保持一致。 -- 表格操作列同时展示“查看、编辑、删除”等三个按钮时,操作列宽度统一不小于 `220px`,禁止出现按钮裁切或显示不全。 +- 表格操作列同时展示“查看、编辑、删除”等三个按钮时,操作列宽度统一不小于 `220px`;操作列最大按钮数量超过 3 个时,操作列宽度统一加宽到不小于 `320px`;最大按钮数量超过 4 个时,仍按 `320px` 保持列宽,并从第 5 个按钮开始换行展示,禁止出现按钮裁切或显示不全。 - 表格操作列按钮统一仅展示文字,禁止配置 `icon` / `:icon` 或在操作按钮、操作下拉项中嵌入图标;顶部工具栏按钮不受此条限制。 - `.avue-crud__header` 顶部间距统一为 `12px`。 - 分页组件整体靠右展示,必须展示接口返回的数据总条数,`X条/页` 的页容量选择器必须放在总条数右侧。 diff --git a/src/api/business/project-apply.js b/src/api/business/project-apply.js index 6d8224c..a08c3ea 100644 --- a/src/api/business/project-apply.js +++ b/src/api/business/project-apply.js @@ -51,6 +51,20 @@ export const voidProject = (id, reason) => params: { id, reason }, }); +export const saveChange = row => + request({ + url: `${baseUrl}/save-change`, + method: 'post', + data: row, + }); + +export const submitChange = row => + request({ + url: `${baseUrl}/submit-change`, + method: 'post', + data: row, + }); + export const startChange = (id, reason) => request({ url: `${baseUrl}/start-change`, diff --git a/src/api/business/waybill-manage.js b/src/api/business/waybill-manage.js index 64ed50e..f762bae 100644 --- a/src/api/business/waybill-manage.js +++ b/src/api/business/waybill-manage.js @@ -1,6 +1,8 @@ +import request from '@/axios'; import { createCrudApi } from './common'; -const api = createCrudApi('/blade-transport/waybill-manage'); +const baseUrl = '/blade-transport/waybill-manage'; +const api = createCrudApi(baseUrl); export const getList = api.getList; export const getDetail = api.getDetail; @@ -11,3 +13,11 @@ export const cancel = api.cancel; export const reassign = api.reassign; export const complete = api.complete; export const batchComplete = api.batchComplete; +export const roadLoading = ids => + request({ + url: `${baseUrl}/road-loading`, + method: 'post', + params: { + ids, + }, + }); diff --git a/src/api/transportCapacity/driver.js b/src/api/transportCapacity/driver.js index 16597ae..f3962af 100644 --- a/src/api/transportCapacity/driver.js +++ b/src/api/transportCapacity/driver.js @@ -58,3 +58,23 @@ export const getExpiryStat = params => { params, }); }; + +export const recognitionIDCard = url => { + return request({ + url: '/blade-file/file/recognitionIDCard', + method: 'get', + timeout: 60000, + params: { + url, + }, + }); +}; + +export const recognitionTransportCertificates = objectKeys => { + return request({ + url: '/blade-file/file/recognitionTransportCertificates', + method: 'post', + timeout: 60000, + data: objectKeys, + }); +}; diff --git a/src/api/transportCapacity/transport-vehicle.js b/src/api/transportCapacity/transport-vehicle.js index 573d67d..8c8b741 100644 --- a/src/api/transportCapacity/transport-vehicle.js +++ b/src/api/transportCapacity/transport-vehicle.js @@ -58,3 +58,12 @@ export const getExpiryStat = params => { params, }); }; + +export const recognitionTransportCertificates = objectKeys => { + return request({ + url: '/blade-file/file/recognitionTransportCertificates', + method: 'post', + timeout: 60000, + data: objectKeys, + }); +}; diff --git a/src/components/image-upload-field/main.vue b/src/components/image-upload-field/main.vue index 608fb83..802c128 100644 --- a/src/components/image-upload-field/main.vue +++ b/src/components/image-upload-field/main.vue @@ -4,11 +4,13 @@ :class="[`${classPrefix}-uploader`, { [`${classPrefix}-uploader--large`]: large }]" action="/api/blade-resource/oss/endpoint/put-file" name="file" - :headers="headers" + :headers="uploadHeaders" :show-file-list="false" :disabled="readonly" :before-upload="beforeUpload" + :on-progress="handleProgress" :on-success="handleSuccess" + :on-error="handleError" >
{{ emptyText }}
@@ -24,11 +26,13 @@ :class="`${classPrefix}-upload-card__uploader`" action="/api/blade-resource/oss/endpoint/put-file" name="file" - :headers="headers" + :headers="uploadHeaders" :show-file-list="false" :disabled="readonly" :before-upload="beforeUpload" + :on-progress="handleProgress" :on-success="handleSuccess" + :on-error="handleError" >
{{ emptyText }}
@@ -38,6 +42,9 @@ + + diff --git a/src/views/business/components/business-crud-page.vue b/src/views/business/components/business-crud-page.vue index 625b886..985dac2 100644 --- a/src/views/business/components/business-crud-page.vue +++ b/src/views/business/components/business-crud-page.vue @@ -27,7 +27,7 @@ plain v-if="canCreate" @click="$refs.crud.rowAdd()" - >新增 + >{{ config.createText || '新增' }} 批量导入 + >{{ config.importText || '批量导入' }} 批量完成 + {{ config.roadLoadingText || '公路配载' }} + 批量删除 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -162,6 +932,841 @@ @load="onLoad(page, query)" /> + + +