feat: 构架绿植租赁方案管理页面
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
fyy
2025-07-01 17:48:47 +08:00
parent 0a56fa2194
commit 33f2197ea8
8 changed files with 417 additions and 62 deletions

View File

@@ -204,6 +204,8 @@ async function handleConfirm() {
return;
}
const data = cloneDeep(await formApi.getValues());
console.log(data);
// 获取选中的服务名称
const selectedService = cleanListData.find(item => item.id === data.name);
if (selectedService) {

View File

@@ -285,12 +285,12 @@ function handleEditDetailReload(data: any) {
function handleDeleteDetail(record: any, index: number) {
detailTable.value.splice(index, 1);
}
// 查看产品详情
function handleViewDetail(record: any) {
detailModalApi.setData({ ...record, readonly: true });
detailModalApi.open();
}
// 编辑产品详情
function handleEditDetail(record: any, index: number) {
detailModalApi.setData({ ...record, index, readonly: false });
detailModalApi.open();
@@ -348,7 +348,7 @@ async function setupCommunitySelect() {
// addFullName(areaList, 'areaName', ' / ');
const splitStr = '/';
handleNode(areaList, 'label', splitStr, function (node: any) {
});
formApi.updateSchema([
{

View File

@@ -8,22 +8,22 @@ import type { FormSchema } from '../../../../../../../packages/@core/ui-kit/form
const cleanStore = useCleanStore();
export const querySchema: (areaList: any[]) => FormSchema[] = (areaList) => [
{
label: '服务地址',
component: 'TreeSelect',
fieldName: 'location',
componentProps: {
treeData: areaList,
fieldNames: {
label: 'label',
value: 'id',
children: 'children',
},
placeholder: '请选择服务地址',
showSearch: true,
treeDefaultExpandAll: true,
},
},
// {
// label: '服务地址',
// component: 'TreeSelect',
// fieldName: 'location',
// componentProps: {
// treeData: areaList || [],
// fieldNames: {
// label: 'label',
// value: 'id',
// children: 'children',
// },
// placeholder: '请选择服务地址',
// showSearch: true,
// treeDefaultExpandAll: true,
// },
// },
// {
// label: '服务地址',
// component: 'TreeSelect',
@@ -83,7 +83,7 @@ export const columns: VxeGridProps['columns'] = [
field: 'payState',
width: '120',
slots: {
default: ({ row }) => (row.stater === 1 ? '已支付' : '待支付'),
default: ({ row }) => (row.state === 1 ? '已支付' : '待支付'),
},
},
{
@@ -110,6 +110,12 @@ export const columns: VxeGridProps['columns'] = [
title: '联系电话',
field: 'phone',
width: 'auto',
},
{
title: '订单状态',
field: 'state',
width: 'auto',
slots: { default: 'state' },
},
// {
// title: '提交时间',
@@ -121,6 +127,7 @@ export const columns: VxeGridProps['columns'] = [
slots: { default: 'action' },
title: '操作',
},
];
export const modalSchema: FormSchemaGetter = () => [

View File

@@ -7,7 +7,7 @@ import type { CleanForm } from '#/api/property/clean/model';
import { Page, useVbenModal } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space, Tag } from 'ant-design-vue';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {
@@ -162,6 +162,11 @@ async function handleView(row: Required<CleanForm>) {
</a-button>
</Space>
</template>
<template #state="{ row }">
<Tag v-if="row.state === 1" color="success">审核通过</Tag>
<Tag v-else-if="row.state === 2" color="error">审核不通过</Tag>
<Tag v-else color="default">未审核</Tag>
</template>
<template #action="{ row }">
<Space>
<ghost-button @click.stop="handleView(row)"> 查看 </ghost-button>