From ee8e459aed240c5d3ad43eb5f9019ba40f8391a7 Mon Sep 17 00:00:00 2001 From: dev_ljl <2590379346@qq.com> Date: Wed, 6 Aug 2025 13:57:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=B7=A5=E5=8D=95=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8A=E7=BA=A7=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../property/assetManage/application/index.ts | 8 +++ .../workOrdersType/index.ts | 3 ++ .../workOrdersType/model.d.ts | 20 +++++-- .../application/application-modal.vue | 4 +- .../property/assetManage/application/data.ts | 4 +- .../assetManage/application/index.vue | 4 +- .../businessManagement/workOrdersType/data.ts | 25 ++++++--- .../workOrdersType/index.vue | 35 ++++++++----- .../workOrdersType/workOrdersType-detail.vue | 6 +-- .../workOrdersType/workOrdersType-modal.vue | 52 +++++++++++++------ 10 files changed, 112 insertions(+), 49 deletions(-) diff --git a/apps/web-antd/src/api/property/assetManage/application/index.ts b/apps/web-antd/src/api/property/assetManage/application/index.ts index 677eb0c6..6c31ff59 100644 --- a/apps/web-antd/src/api/property/assetManage/application/index.ts +++ b/apps/web-antd/src/api/property/assetManage/application/index.ts @@ -42,6 +42,14 @@ export function applicationAdd(data: ApplicationForm) { return requestClient.postWithMsg('/property/application', data); } +/** + * 领用审核 + * @param data + */ +export function applicationVerified(data: ApplicationForm) { + return requestClient.postWithMsg('/property/application/verified', data); +} + /** * 更新资产领用 * @param data diff --git a/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts b/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts index 4cfbd81f..f763dd31 100644 --- a/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts +++ b/apps/web-antd/src/api/property/businessManagement/workOrdersType/index.ts @@ -12,6 +12,9 @@ import { requestClient } from '#/api/request'; export function workOrdersTypeList(params?: WorkOrdersTypeQuery) { return requestClient.get>('/property/workOrdersType/list', { params }); } +export function workOrdersTypeListAll(params?: WorkOrdersTypeQuery) { + return requestClient.get('/property/workOrdersType/queryList', { params }); +} /** * 导出工单类型管理列表 diff --git a/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts b/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts index f1f10907..ce780780 100644 --- a/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts +++ b/apps/web-antd/src/api/property/businessManagement/workOrdersType/model.d.ts @@ -1,4 +1,4 @@ -import type { PageQuery, BaseEntity } from '#/api/common'; +import type {PageQuery, BaseEntity} from '#/api/common'; export interface WorkOrdersTypeVO { /** @@ -34,7 +34,9 @@ export interface WorkOrdersTypeVO { /** * 是否支持转单(0支持,1不支持) */ - isTransfers: number; + isTransfers: string; + + excludeId: string; } export interface WorkOrdersTypeForm extends BaseEntity { @@ -72,6 +74,11 @@ export interface WorkOrdersTypeForm extends BaseEntity { * 是否支持转单(0支持,1不支持) */ isTransfers?: number; + + /** + * 上级类型id + */ + parentId?: string; } export interface WorkOrdersTypeQuery extends PageQuery { @@ -106,7 +113,12 @@ export interface WorkOrdersTypeQuery extends PageQuery { isTransfers?: number; /** - * 日期范围参数 - */ + * 日期范围参数 + */ params?: any; + + /** + * 是否过滤子级 + */ + filterSubNodes?: boolean; } diff --git a/apps/web-antd/src/views/property/assetManage/application/application-modal.vue b/apps/web-antd/src/views/property/assetManage/application/application-modal.vue index 0ba82bec..93d7f91c 100644 --- a/apps/web-antd/src/views/property/assetManage/application/application-modal.vue +++ b/apps/web-antd/src/views/property/assetManage/application/application-modal.vue @@ -109,6 +109,7 @@ async function setupPackageSelect() { const assets = await assetList({ pageNum: 1, pageSize: 1000, + params: {stock: 1} //库存不为0 }); assetsData.value = assets.rows const options = users.rows.map((item) => ({ @@ -145,7 +146,8 @@ async function setupPackageSelect() { if (assetInfo) { formApi.updateSchema([{ componentProps: { - max:assetInfo.stock + max: assetInfo.stock, + min: 1 }, fieldName: 'number', }]) diff --git a/apps/web-antd/src/views/property/assetManage/application/data.ts b/apps/web-antd/src/views/property/assetManage/application/data.ts index 8afff06c..855878e0 100644 --- a/apps/web-antd/src/views/property/assetManage/application/data.ts +++ b/apps/web-antd/src/views/property/assetManage/application/data.ts @@ -28,7 +28,7 @@ export const querySchema: FormSchemaGetter = () => [ options:getDictOptions(DictEnum.WY_ZCSHZT) }, fieldName: 'state', - label: '领用状态', + label: '审核状态', }, // { // component: 'Input', @@ -78,7 +78,7 @@ export const columns: VxeGridProps['columns'] = [ field: 'applicationTime', }, { - title: '领用状态', + title: '审核状态', field: 'state', slots: { default: ({ row }) => { diff --git a/apps/web-antd/src/views/property/assetManage/application/index.vue b/apps/web-antd/src/views/property/assetManage/application/index.vue index 2569b981..df7c3417 100644 --- a/apps/web-antd/src/views/property/assetManage/application/index.vue +++ b/apps/web-antd/src/views/property/assetManage/application/index.vue @@ -14,7 +14,7 @@ import { import { applicationExport, applicationList, - applicationRemove, applicationUpdate, + applicationRemove, applicationVerified, } from '#/api/property/assetManage/application'; import type {ApplicationForm} from '#/api/property/assetManage/application/model'; import {commonDownloadExcel} from '#/utils/file/download'; @@ -98,7 +98,7 @@ async function handleAudit(row: Required, status: number) { info.state = status info.acceptanceTime = new Date() info.acceptanceUserId = userStore.userInfo?.userId - await applicationUpdate(info) + await applicationVerified(info) await tableApi.query(); } diff --git a/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts b/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts index 3c5f97ab..76c73e27 100644 --- a/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/data.ts @@ -4,11 +4,11 @@ import {renderDict} from "#/utils/render"; import {getDictOptions} from "#/utils/dict"; export const querySchema: FormSchemaGetter = () => [ - { - component: 'Input', - fieldName: 'orderTypeNo', - label: '工单类型编号', - }, + // { + // component: 'Input', + // fieldName: 'orderTypeNo', + // label: '工单类型编号', + // }, { component: 'Input', fieldName: 'orderTypeName', @@ -25,7 +25,7 @@ export const querySchema: FormSchemaGetter = () => [ ]; export const columns: VxeGridProps['columns'] = [ - { type: 'checkbox', width: 60 }, + // { type: 'checkbox', width: 60 }, // { // title: '工单类型编号', // field: 'orderTypeNo', @@ -33,6 +33,8 @@ export const columns: VxeGridProps['columns'] = [ { title: '类型名称', field: 'orderTypeName', + treeNode: true, + minWidth:180, }, { title: '运作模式', @@ -42,15 +44,17 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.operationMode, 'pro_operation_pattern'); }, }, - minWidth:'120' + width:180, }, { title: '排序值', field: 'sort', + width:180, }, { title: '累计工单数量', field: 'number', + width:180, }, { title: '是否支持转单', @@ -60,7 +64,7 @@ export const columns: VxeGridProps['columns'] = [ return renderDict(row.isTransfers, 'support_transferring_orders'); }, }, - minWidth:'120' + width:180, }, { field: 'action', @@ -87,6 +91,11 @@ export const modalSchema: FormSchemaGetter = () => [ component: 'Input', rules: 'required', }, + { + label: '父级类型', + fieldName: 'parentId', + component: 'Select', + }, { label: '运作模式', fieldName: 'operationMode', diff --git a/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue index 3f2d5ba7..13610bd7 100644 --- a/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue +++ b/apps/web-antd/src/views/property/businessManagement/workOrdersType/index.vue @@ -8,13 +8,14 @@ import { type VxeGridProps } from '#/adapter/vxe-table'; import { - workOrdersTypeList, + workOrdersTypeListAll, workOrdersTypeRemove, } from '#/api/property/businessManagement/workOrdersType'; import type { WorkOrdersTypeForm } from '#/api/property/businessManagement/workOrdersType/model'; import workOrdersTypeModal from './workOrdersType-modal.vue'; import workOrdersTypeDetail from './workOrdersType-detail.vue'; import { columns, querySchema } from './data'; +import {ref} from "vue"; const formOptions: VbenFormProps = { commonConfig: { @@ -39,21 +40,27 @@ const gridOptions: VxeGridProps = { columns, height: 'auto', keepSource: true, - pagerConfig: {}, + pagerConfig: { + enabled:false, + }, proxyConfig: { ajax: { - query: async ({ page }, formValues = {}) => { - return await workOrdersTypeList({ - pageNum: page.currentPage, - pageSize: page.pageSize, + query: async (_, formValues = {}) => { + const resp = await workOrdersTypeListAll({ ...formValues, }); + return { rows: resp }; }, }, }, rowConfig: { keyField: 'id', }, + treeConfig: { + parentField: 'parentId', + rowField: 'id', + transform: true, + }, // 表格全局唯一表示 保存列配置需要用到 id: 'property-workOrdersType-index' }; @@ -111,14 +118,14 @@ function handleMultiDelete() {