feat:工单池选择工单类型
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
dev_ljl 2025-08-06 14:33:02 +08:00
parent 84140dc7e3
commit 01a71ea4c3
4 changed files with 49 additions and 28 deletions

View File

@ -12,10 +12,23 @@ import { requestClient } from '#/api/request';
export function workOrdersTypeList(params?: WorkOrdersTypeQuery) { export function workOrdersTypeList(params?: WorkOrdersTypeQuery) {
return requestClient.get<PageResult<WorkOrdersTypeVO>>('/property/workOrdersType/list', { params }); return requestClient.get<PageResult<WorkOrdersTypeVO>>('/property/workOrdersType/list', { params });
} }
/**
*
* @param params
* @returns
*/
export function workOrdersTypeListAll(params?: WorkOrdersTypeQuery) { export function workOrdersTypeListAll(params?: WorkOrdersTypeQuery) {
return requestClient.get<WorkOrdersTypeVO[]>('/property/workOrdersType/queryList', { params }); return requestClient.get<WorkOrdersTypeVO[]>('/property/workOrdersType/queryList', { params });
} }
/**
*
* @param params
*/
export function workOrdersTypeTree(params?: WorkOrdersTypeQuery) {
return requestClient.get<WorkOrdersTypeVO[]>('/property/workOrdersType/typeTree', { params });
}
/** /**
* *
* @param params * @param params

View File

@ -1,6 +1,7 @@
import type { FormSchemaGetter } from '#/adapter/form'; import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table'; import type { VxeGridProps } from '#/adapter/vxe-table';
import {getDictOptions} from "#/utils/dict"; import {getDictOptions} from "#/utils/dict";
import {renderDict} from "#/utils/render";
export const querySchema: FormSchemaGetter = () => [ export const querySchema: FormSchemaGetter = () => [
@ -69,19 +70,24 @@ export const querySchema: FormSchemaGetter = () => [
export const columns: VxeGridProps['columns'] = [ export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60 }, { type: 'checkbox', width: 60 },
{ {
title: '仓库id', title: '仓库',
field: 'depotId', field: 'depotName',
minWidth:150, minWidth:150,
}, },
{ {
title: '资产id', title: '资产',
field: 'assetId', field: 'assetName',
width:180, width:180,
}, },
{ {
title: '流转类型', title: '流转类型',
field: 'type', field: 'type',
width:120, width:120,
slots:{
default:({row})=>{
return renderDict(row.type,'wy_cklzlx')
}
}
}, },
{ {
@ -95,8 +101,8 @@ export const columns: VxeGridProps['columns'] = [
width:150, width:150,
}, },
{ {
title: '操作人id', title: '操作人',
field: 'userId', field: 'userName',
width:150, width:150,
}, },
{ {

View File

@ -152,8 +152,7 @@ export const modalSchema: FormSchemaGetter = () => [
{ {
label: '工单类型', label: '工单类型',
fieldName: 'type', fieldName: 'type',
component: 'ApiSelect', component: 'TreeSelect',
componentProps: {},
rules: 'selectRequired', rules: 'selectRequired',
}, },
{ {

View File

@ -14,9 +14,7 @@ import {
import {defaultFormValueGetter, useBeforeCloseDiff} from '#/utils/popup'; import {defaultFormValueGetter, useBeforeCloseDiff} from '#/utils/popup';
import {modalSchema} from './data'; import {modalSchema} from './data';
import {personList} from "#/api/property/resident/person"; import {workOrdersTypeTree} from "#/api/property/businessManagement/workOrdersType";
import {renderDictValue} from "#/utils/render";
import {workOrdersTypeList} from "#/api/property/businessManagement/workOrdersType";
const emit = defineEmits<{ reload: [] }>(); const emit = defineEmits<{ reload: [] }>();
@ -107,23 +105,28 @@ async function handleClosed() {
} }
async function queryWorkOrdersType() { async function queryWorkOrdersType() {
let params = { const options = await workOrdersTypeTree()
pageSize: 1000, formApi.updateSchema([
pageNum: 1 {
} componentProps: () => ({
const res = await tree(params) class: 'w-full',
const options = res.rows.map((item) => ({ fieldNames: {
label: item.orderTypeName, key: 'id',
value: item.id, label: 'orderTypeName',
})); value: 'id',
formApi.updateSchema([{ children: 'children',
componentProps: () => ({ },
options: options, placeholder: '请选择工单类型',
filterOption: filterOption, showSearch: true,
showSearch:true, treeData: options,
}), treeDefaultExpandAll: true,
fieldName: 'type', treeLine: { showLeafIcon: false },
}]) treeNodeFilterProp: 'orderTypeName',
treeNodeLabelProp: 'orderTypeName',
}),
fieldName: 'type',
},
]);
} }
const filterOption = (input: string, option: any) => { const filterOption = (input: string, option: any) => {