Compare commits

..

No commits in common. "d86de0b71293e5ebcff2f149e182adeb4337573a" and "43f9ef0bc0c75b7a6d189b755d25bf6c4f64ddfa" have entirely different histories.

44 changed files with 197 additions and 447 deletions

View File

@ -15,10 +15,10 @@ export default defineConfig({
proxy: { proxy: {
'/api/': { '/api/': {
// target: 'http://yt:8003', // target: 'http://yt:8003',
// target: 'http://10.39.13.78:8001/', target: 'http://10.39.13.78:8001/',
target: 'https://test-admin.linyikj.com.cn/', // target: 'https://test-admin.linyikj.com.cn/',
// target: 'https://admin.linyikj.com.cn/', // target: 'https://admin.linyikj.com.cn/',
// target: 'http://k369a3d6.natappfree.cc/', // target: 'http://c789629c.natappfree.cc',
changeOrigin: true, changeOrigin: true,
pathRewrite: { '^': '' }, pathRewrite: { '^': '' },

View File

@ -1,7 +1,7 @@
import { MyProFormFieldProps } from '@/common'; import { MyProFormFieldProps } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { PlusOutlined, UploadOutlined } from '@ant-design/icons'; import { PlusOutlined, UploadOutlined } from '@ant-design/icons';
import { Button, message, Modal, Upload, UploadFile, UploadProps } from 'antd'; import { Button, Modal, Upload, UploadFile, UploadProps } from 'antd';
import { RcFile } from 'antd/es/upload'; import { RcFile } from 'antd/es/upload';
import axios from 'axios'; import axios from 'axios';
import { useSetState } from 'react-use'; import { useSetState } from 'react-use';
@ -10,7 +10,6 @@ import './MyUploadImages.scss';
type MyType = { type MyType = {
uploadType?: 'image' | 'video' | 'audio' | 'file'; uploadType?: 'image' | 'video' | 'audio' | 'file';
max?: number; max?: number;
size?: number;
} & UploadProps<any> & } & UploadProps<any> &
MyProFormFieldProps<UploadFile[]>; MyProFormFieldProps<UploadFile[]>;
@ -27,7 +26,6 @@ export function MyUploadImages({
onChange, onChange,
uploadType = 'image', uploadType = 'image',
max = 1, max = 1,
size = 10,
...rest ...rest
}: MyType) { }: MyType) {
const [preview, setPreview] = useSetState<{ const [preview, setPreview] = useSetState<{
@ -131,25 +129,10 @@ export function MyUploadImages({
}; };
}; };
const handleBeforeUpload = (file: any, fileList: any) => {
if (file?.size > 1024 * 1024 * size) {
message.error('文件大小不能超过10MB请选择重新上传');
return false;
}
console.log('beforeUpload', file, fileList);
};
return ( return (
<> <>
<Upload <Upload
accept={ accept={uploadType === 'image' ? 'image/*' : '*'}
uploadType === 'image'
? 'image/*'
: uploadType === 'video'
? 'video/*'
: '*'
}
beforeUpload={handleBeforeUpload}
fileList={value} fileList={value}
listType={uploadType === 'image' ? 'picture-card' : 'text'} listType={uploadType === 'image' ? 'picture-card' : 'text'}
onPreview={handlePreview} onPreview={handlePreview}

36
src/gen/ApiTypes.d.ts vendored
View File

@ -864,14 +864,12 @@ declare namespace ApiTypes {
"companies_id": number; // 所属机构id,[ref:companies] "companies_id": number; // 所属机构id,[ref:companies]
"projects_id": number; // 所属项目id,[ref:asset_projects] "projects_id": number; // 所属项目id,[ref:asset_projects]
"receipt_accounts_id": number; // 机构收款账号id,[ref:company_receipt_accounts] "receipt_accounts_id": number; // 机构收款账号id,[ref:company_receipt_accounts]
"is_default"?: number; // 是否默认收款账号
}; };
type Update = { type Update = {
"id": number; // id "id": number; // id
"companies_id": number; // 所属机构id,[ref:companies] "companies_id": number; // 所属机构id,[ref:companies]
"projects_id": number; // 所属项目id,[ref:asset_projects] "projects_id": number; // 所属项目id,[ref:asset_projects]
"receipt_accounts_id": number; // 机构收款账号id,[ref:company_receipt_accounts] "receipt_accounts_id": number; // 机构收款账号id,[ref:company_receipt_accounts]
"is_default"?: number; // 是否默认收款账号
}; };
type Show = { type Show = {
"id": number; // id "id": number; // id
@ -1343,37 +1341,6 @@ declare namespace ApiTypes {
"id": number; // id "id": number; // id
}; };
} }
namespace HousePrepaymentPayments {
type List = {
"house_prepayments_id"?: number; // 房屋预付id,[ref:house_prepayments]
"asset_houses_id"?: number; // 资产房屋id,[ref:asset_houses]
"full_name"?: string; // 模糊搜索:房屋名称
};
type Show = {
"id": number; // id
};
type Delete = {
"id": number; // id
};
}
namespace HousePrepayments {
type List = {
"full_name"?: string; // 模糊搜索:房屋名称
"company_name"?: string; // 模糊搜索:机构名称
};
type Show = {
"id": number; // id
};
type SoftDelete = {
"id": number; // id
};
type Restore = {
"id": number; // id
};
type Delete = {
"id": number; // id
};
}
} }
namespace Meter { namespace Meter {
namespace HouseMeterHasHouses { namespace HouseMeterHasHouses {
@ -1431,7 +1398,6 @@ declare namespace ApiTypes {
namespace HouseMeterTaskDetails { namespace HouseMeterTaskDetails {
type List = { type List = {
"house_meter_task_id"?: number; // 仪表任务id,[ref:house_meter_tasks] "house_meter_task_id"?: number; // 仪表任务id,[ref:house_meter_tasks]
"house_meters_id"?: number; // 仪表id,[ref:house_meters]
"full_name"?: string; // 房屋全称 "full_name"?: string; // 房屋全称
"meter_name"?: string; // 仪表名称 "meter_name"?: string; // 仪表名称
}; };
@ -1660,7 +1626,7 @@ declare namespace ApiTypes {
type List = { type List = {
"title"?: string; // 模糊搜索:名称 "title"?: string; // 模糊搜索:名称
"house_name"?: string; // 模糊搜索:房屋名称 "house_name"?: string; // 模糊搜索:房屋名称
"type"?: string[]; // 工单类型,[enum:HouseWorkOrdersTypeEnum] "type"?: string; // 工单类型,[enum:HouseWorkOrdersTypeEnum]
"level"?: string; // 工单优先级,[enum:HouseWorkOrdersLevelEnum] "level"?: string; // 工单优先级,[enum:HouseWorkOrdersLevelEnum]
"status"?: string; // 工单状态,[enum:HouseWorkOrdersStatusEnum] "status"?: string; // 工单状态,[enum:HouseWorkOrdersStatusEnum]
"assign_status"?: string; // 工单分配状态,[enum:HouseWorkOrdersAssignStatusEnum] "assign_status"?: string; // 工单分配状态,[enum:HouseWorkOrdersAssignStatusEnum]

View File

@ -800,34 +800,6 @@ export const Apis = {
return request('admin/house_order/house_orders/delete', { data }); return request('admin/house_order/house_orders/delete', { data });
}, },
}, },
HousePrepaymentPayments: {
List(data?: ApiTypes.HouseOrder.HousePrepaymentPayments.List): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_payments/list', { data });
},
Show(data: ApiTypes.HouseOrder.HousePrepaymentPayments.Show): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_payments/show', { data });
},
Delete(data: ApiTypes.HouseOrder.HousePrepaymentPayments.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_payments/delete', { data });
},
},
HousePrepayments: {
List(data?: ApiTypes.HouseOrder.HousePrepayments.List): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/list', { data });
},
Show(data: ApiTypes.HouseOrder.HousePrepayments.Show): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/show', { data });
},
SoftDelete(data: ApiTypes.HouseOrder.HousePrepayments.SoftDelete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/soft_delete', { data });
},
Restore(data: ApiTypes.HouseOrder.HousePrepayments.Restore): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/restore', { data });
},
Delete(data: ApiTypes.HouseOrder.HousePrepayments.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/delete', { data });
},
},
}, },
Meter: { Meter: {
HouseMeterHasHouses: { HouseMeterHasHouses: {

View File

@ -154,7 +154,7 @@ export const BannersTypeEnum= {
// 缓存类型 // 缓存类型
export const CacheTypeEnum= { export const CacheTypeEnum= {
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#ad9561","value":"MobilePhoneVerificationCode"}, 'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#7db989","value":"MobilePhoneVerificationCode"},
}; };
// CompaniesMerchantTypeEnum // CompaniesMerchantTypeEnum
@ -192,7 +192,6 @@ export const CompanyEmployeeBacklogsStatusEnum= {
export const CompanyEmployeeBacklogsTypeEnum= { export const CompanyEmployeeBacklogsTypeEnum= {
'WorkOrder': {"text":"工单","color":"#FF6600","value":"WorkOrder"}, 'WorkOrder': {"text":"工单","color":"#FF6600","value":"WorkOrder"},
'Contract': {"text":"合同","color":"#2A82E4","value":"Contract"}, 'Contract': {"text":"合同","color":"#2A82E4","value":"Contract"},
'MomentTask': {"text":"朋友圈任务","color":"#FF6600","value":"MomentTask"},
}; };
// CompanyReceiptAccountsPayChannelEnum // CompanyReceiptAccountsPayChannelEnum
@ -205,10 +204,10 @@ export const CompanyReceiptAccountsPayChannelEnum= {
// ConvenienceServicesTypeEnum // ConvenienceServicesTypeEnum
export const ConvenienceServicesTypeEnum= { export const ConvenienceServicesTypeEnum= {
'PropertyExclusive': {"text":"物业专属","color":"#8b5cf6","value":"PropertyExclusive"},
'EmergencyRepair': {"text":"紧急抢修","color":"#ef4444","value":"EmergencyRepair"}, 'EmergencyRepair': {"text":"紧急抢修","color":"#ef4444","value":"EmergencyRepair"},
'LifeService': {"text":"生活服务","color":"#3b82f6","value":"LifeService"}, 'LifeService': {"text":"生活服务","color":"#3b82f6","value":"LifeService"},
'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"}, 'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"},
'PropertyExclusive': {"text":"物业专属","color":"#8b5cf6","value":"PropertyExclusive"},
}; };
// CustomerBacklogsStatusEnum // CustomerBacklogsStatusEnum
@ -486,13 +485,6 @@ export const HouseOrdersPaymentMethodEnum= {
'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"}, 'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"},
'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"}, 'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"},
'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"}, 'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"},
'Prepayment': {"text":"预缴支付","color":"#f59e0b","value":"Prepayment"},
};
// HousePrepaymentLogsTypeEnum
export const HousePrepaymentLogsTypeEnum= {
'Add': {"text":"加","color":"#52c41a","value":"Add"},
'Subtract': {"text":"减","color":"#f5222d","value":"Subtract"},
}; };
// HouseRegistersCustomerTypeEnum // HouseRegistersCustomerTypeEnum

View File

@ -51,7 +51,7 @@ export default function Index({ title = '项目账户' }) {
dataIndex: ['project', 'name'], dataIndex: ['project', 'name'],
}, },
{ {
title: '收款名', title: '收款',
dataIndex: ['receipt_account', 'company_name'], dataIndex: ['receipt_account', 'company_name'],
}, },
{ {

View File

@ -21,7 +21,7 @@ export default function Create(props: MyBetaModalFormProps) {
trigger={ trigger={
<MyButtons.Create <MyButtons.Create
title={`${props.title}`} title={`${props.title}`}
size={props?.item?.size || 'small'} size={props?.item?.size || 'middle'}
/> />
} }
onOpenChange={(open: any) => { onOpenChange={(open: any) => {

View File

@ -26,7 +26,7 @@ export default function Create(props: MyBetaModalFormProps) {
trigger={ trigger={
<MyButtons.Create <MyButtons.Create
title={`${props.title}`} title={`${props.title}`}
size={props?.item?.size || 'small'} size={props?.item?.size || 'mindde'}
/> />
} }
form={form} form={form}
@ -57,19 +57,20 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 6 }, colProps: { span: 6 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
MyFormItems.EnumRadio({
key: 'ownership_type',
title: '房屋属性',
colProps: { span: 24 },
valueEnum: AssetHousesOwnershipTypeEnum,
// required: true,
}),
MyFormItems.EnumRadio({ MyFormItems.EnumRadio({
key: 'usage', key: 'usage',
title: '用途', title: '用途',
colProps: { span: 18 }, colProps: { span: 24 },
// valueEnum: AssetHousesUsageEnum, valueEnum: AssetHousesUsageEnum,
valueEnum: () => {
let obj: any = JSON.parse(JSON.stringify(AssetHousesUsageEnum));
delete obj.ParkingSpace;
return obj;
},
required: true, required: true,
}), }),
{ {
key: 'floor', key: 'floor',
title: '楼层', title: '楼层',
@ -114,13 +115,6 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 6 }, colProps: { span: 6 },
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
MyFormItems.EnumRadio({
key: 'ownership_type',
title: '房屋属性',
colProps: { span: 24 },
valueEnum: AssetHousesOwnershipTypeEnum,
// required: true,
}),
{ {
valueType: 'group', valueType: 'group',
columns: [ columns: [

View File

@ -97,19 +97,20 @@ export default function Update(props: MyBetaModalFormProps) {
]; ];
}, },
}, },
MyFormItems.EnumRadio({
key: 'ownership_type',
title: '房屋属性',
colProps: { span: 24 },
valueEnum: AssetHousesOwnershipTypeEnum,
// required: true,
}),
MyFormItems.EnumRadio({ MyFormItems.EnumRadio({
key: 'usage', key: 'usage',
title: '用途', title: '用途',
colProps: { span: 24 }, colProps: { span: 24 },
// valueEnum: AssetHousesUsageEnum, valueEnum: AssetHousesUsageEnum,
valueEnum: () => {
let obj: any = JSON.parse(JSON.stringify(AssetHousesUsageEnum));
delete obj.ParkingSpace;
return obj;
},
required: true, required: true,
}), }),
{ {
key: 'floor', key: 'floor',
title: '楼层', title: '楼层',
@ -154,13 +155,6 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 6 }, colProps: { span: 6 },
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}, },
MyFormItems.EnumRadio({
key: 'ownership_type',
title: '房屋属性',
colProps: { span: 24 },
valueEnum: AssetHousesOwnershipTypeEnum,
// required: true,
}),
{ {
valueType: 'group', valueType: 'group',
columns: [ columns: [

View File

@ -24,7 +24,7 @@ export default function Create(props: MyBetaModalFormProps) {
trigger={ trigger={
<MyButtons.Create <MyButtons.Create
title={`${props.title}`} title={`${props.title}`}
size={props?.item?.size || 'small'} size={props?.item?.size || 'middle'}
/> />
} }
form={form} form={form}
@ -80,7 +80,7 @@ export default function Create(props: MyBetaModalFormProps) {
}, },
{ {
key: 'units_per_building', key: 'units_per_building',
title: '单元户数', title: '单元户数',
colProps: { span: 6 }, colProps: { span: 6 },
}, },
{ {

View File

@ -85,7 +85,7 @@ export default function Update(props: MyBetaModalFormProps) {
}, },
{ {
key: 'units_per_building', key: 'units_per_building',
title: '单元户数', title: '单元户数',
colProps: { span: 6 }, colProps: { span: 6 },
}, },
{ {

View File

@ -21,7 +21,7 @@ export default function Create(
width="500px" width="500px"
form={form} form={form}
key={new Date().getTime()} key={new Date().getTime()}
trigger={<MyButtons.Default title="楼栋管家" type="link" />} trigger={<MyButtons.Default title="楼栋管家" type="link" />}
request={() => Promise.resolve(props.item)} request={() => Promise.resolve(props.item)}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
if (open && props.item) { if (open && props.item) {
@ -52,9 +52,6 @@ export default function Create(
title: '设置楼栋管家', title: '设置楼栋管家',
dataIndex: 'company_employees_id', dataIndex: 'company_employees_id',
colProps: { span: 24 }, colProps: { span: 24 },
params: {
companies_id: props?.item?.companies_id || 0,
},
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
required: true, required: true,
}), }),

View File

@ -62,28 +62,12 @@ export default function Create(props: MyBetaModalFormProps) {
title: '项目别名', title: '项目别名',
colProps: { span: 12 }, colProps: { span: 12 },
}, },
...(props?.item?.id
? [
Selects?.Companies({
key: 'companies_id',
title: '所属机构',
colProps: { span: 12 },
formItemProps: { ...rulesHelper.number },
fieldProps: {
disabled: true,
},
}),
]
: [
Selects?.Companies({ Selects?.Companies({
key: 'companies_id', key: 'companies_id',
title: '所属机构', title: '所属机构',
colProps: { span: 12 }, colProps: { span: 12 },
formItemProps: { ...rulesHelper.number }, formItemProps: { ...rulesHelper.number },
}), }),
]),
{ {
valueType: 'dependency', valueType: 'dependency',
name: ['companies_id'], name: ['companies_id'],

View File

@ -51,47 +51,47 @@ export default function Show({ title }: { title?: string } = {}) {
// children: <AssetInfo item={data} reload={() => loadShow()} />, // children: <AssetInfo item={data} reload={() => loadShow()} />,
// }, // },
{ {
label: '1-楼栋房屋配置', label: '楼栋管理',
key: 'asset_buildings', key: 'asset_buildings',
closable: false, closable: false,
children: <MyAssetBuildings item={data} />, children: <MyAssetBuildings item={data} />,
}, },
{ {
label: '2-楼栋单元划分', label: '楼栋划分',
key: 'grid', key: 'grid',
closable: false, closable: false,
children: <AssetGrid item={data} />, children: <AssetGrid item={data} />,
}, },
{ {
label: '3-收款账号配置', label: '收费标准',
key: 'asset_accounts',
closable: false,
children: <AssetAccounts item={data} />,
},
{
label: '4-收费标准配置',
key: 'charge_standard', key: 'charge_standard',
closable: false, closable: false,
children: <ChargeStandard item={data} />, children: <ChargeStandard item={data} />,
}, },
{ {
label: '5-便民服务', label: '收款账号',
key: 'convenience_services', key: 'asset_accounts',
closable: false, closable: false,
children: <ConvenienceServices item={data} />, children: <AssetAccounts item={data} />,
}, },
{ {
label: '5-项目公告', label: '项目公告',
key: 'announcement', key: 'announcement',
closable: false, closable: false,
children: <Announcement item={data} />, children: <Announcement item={data} />,
}, },
{ {
label: '5-项目活动', label: '项目活动',
key: 'activities', key: 'activities',
closable: false, closable: false,
children: <Activities item={data} />, children: <Activities item={data} />,
}, },
{
label: '便民服务',
key: 'convenience_services',
closable: false,
children: <ConvenienceServices item={data} />,
},
]; ];
return ( return (
<MyPageContainer title={data?.name || title || '项目详情'}> <MyPageContainer title={data?.name || title || '项目详情'}>
@ -111,13 +111,7 @@ export default function Show({ title }: { title?: string } = {}) {
</Space> </Space>
} }
> >
<div></div> <div>* </div>
<div>
<span>
便
</span>
</div>
</ProCard> </ProCard>
<ProCard> <ProCard>
<Tabs type="card" items={data?.id ? items : []} /> <Tabs type="card" items={data?.id ? items : []} />

View File

@ -31,7 +31,7 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) {
key="Select" key="Select"
reload={action?.reload} reload={action?.reload}
item={props?.item} item={props?.item}
title="配置" title="添加收款账号"
/>, />,
]} ]}
// options={false} // options={false}
@ -42,7 +42,7 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) {
// width: 360, // width: 360,
}, },
{ {
title: '收款账', title: '收款账号名称',
dataIndex: ['receipt_account', 'company_name'], dataIndex: ['receipt_account', 'company_name'],
// width: 360, // width: 360,
}, },
@ -58,12 +58,6 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) {
search: false, search: false,
// width: 200, // width: 200,
}, },
{
title: '通联商户号',
dataIndex: ['receipt_account', 'companymerchant_id_account'],
search: false,
// width: 200,
},
// { // {
// title: '是否默认', // title: '是否默认',
// dataIndex: 'is_default', // dataIndex: 'is_default',

View File

@ -73,7 +73,7 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
<ProCard <ProCard
title={ title={
<Alert <Alert
message="操作提示:在对应楼栋列表中,添加对应的单元,在单元列表中添加对应的房屋!" message="操作提示:在楼栋下添加单元,在单元下添加房屋!"
type="info" type="info"
showIcon showIcon
style={{ margin: 0 }} style={{ margin: 0 }}
@ -86,13 +86,12 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
<Title level={5} style={{ marginBottom: 16 }}> <Title level={5} style={{ marginBottom: 16 }}>
<Space style={{ display: 'flex', justifyContent: 'space-between' }}> <Space style={{ display: 'flex', justifyContent: 'space-between' }}>
<Space>
<MyImportModal <MyImportModal
key="ImportHouse" key="ImportHouse"
params={{ asset_projects_id: props?.item?.id }} params={{ asset_projects_id: props?.item?.id }}
title="导入" title="批量导入"
type="danger" type="danger"
size="small" size="middle"
templateApi={Apis.Asset.AssetHouses.DownloadTemplate} templateApi={Apis.Asset.AssetHouses.DownloadTemplate}
importApi={Apis.Asset.AssetHouses.Import} importApi={Apis.Asset.AssetHouses.Import}
reload={props?.reload} reload={props?.reload}
@ -104,7 +103,6 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
title="楼栋" title="楼栋"
/> />
</Space> </Space>
</Space>
</Title> </Title>
<ProTable <ProTable
{...MyProTableProps.props} {...MyProTableProps.props}
@ -144,17 +142,11 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
dataIndex: 'name', dataIndex: 'name',
ellipsis: true, ellipsis: true,
}, },
{
title: '别名',
dataIndex: 'alias_name',
ellipsis: true,
},
MyColumns.Option({ MyColumns.Option({
width: 120, width: 120,
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
<Space key={index} size="small"> <Space key={index} size="small">
<AssetBuildingsUpdate item={item} reload={action?.reload} /> <AssetBuildingsUpdate item={item} reload={action?.reload} />
<MyButtons.Delete <MyButtons.Delete
size="small" size="small"
onConfirm={() => onConfirm={() =>
@ -166,16 +158,6 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
) )
} }
/> />
<AssetUnitsCreate
key="UnitsCreate"
item={{
...props?.item,
asset_buildings_id: selectedBuilding?.id,
}}
reload={() => actionUnitsRef?.current?.reload()}
title="单元"
// title={`添加${selectedBuilding.name}单元`}
/>
</Space> </Space>
), ),
}), }),
@ -191,7 +173,7 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
style={{ display: 'flex', justifyContent: 'space-between' }} style={{ display: 'flex', justifyContent: 'space-between' }}
> >
{selectedBuilding.name} {selectedBuilding.name}
{/* {selectedBuilding && ( {selectedBuilding && (
<AssetUnitsCreate <AssetUnitsCreate
key="UnitsCreate" key="UnitsCreate"
item={{ item={{
@ -202,7 +184,7 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
title="单元" title="单元"
// title={`添加${selectedBuilding.name}单元`} // title={`添加${selectedBuilding.name}单元`}
/> />
)} */} )}
</Space> </Space>
</Title> </Title>
<ProTable <ProTable
@ -247,11 +229,6 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
dataIndex: 'name', dataIndex: 'name',
ellipsis: true, ellipsis: true,
}, },
{
title: '别名',
dataIndex: 'alias_name',
ellipsis: true,
},
MyColumns.Option({ MyColumns.Option({
width: 120, width: 120,
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
@ -268,17 +245,6 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
) )
} }
/> />
<HousesCreate
key="HousesCreate"
item={{
...props?.item,
asset_buildings_id: selectedBuilding?.id,
asset_units_id: selectedUnit?.id,
}}
reload={() => actionHousesRef?.current?.reload()}
title="房屋"
// title={`${selectedUnit.name}房屋`}
/>
</Space> </Space>
), ),
}), }),
@ -295,7 +261,7 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
style={{ display: 'flex', justifyContent: 'space-between' }} style={{ display: 'flex', justifyContent: 'space-between' }}
> >
{selectedUnit.name} {selectedUnit.name}
{/* {selectedUnit && ( {selectedUnit && (
<HousesCreate <HousesCreate
key="HousesCreate" key="HousesCreate"
item={{ item={{
@ -307,7 +273,7 @@ export default function AssetBuildings(props: MyBetaModalFormProps) {
title="房屋" title="房屋"
// title={`${selectedUnit.name}房屋`} // title={`${selectedUnit.name}房屋`}
/> />
)} */} )}
</Space> </Space>
</Title> </Title>
<ProTable <ProTable

View File

@ -30,7 +30,7 @@ export default function Index({ ...rest }) {
key="Create" key="Create"
item={rest.item} item={rest.item}
reload={action?.reload} reload={action?.reload}
title="单元划分" title="楼栋划分"
/>, />,
]} ]}
search={false} search={false}
@ -48,7 +48,7 @@ export default function Index({ ...rest }) {
dataIndex: 'grid_mark', dataIndex: 'grid_mark',
}, },
{ {
title: '楼栋管家', title: '管理员',
dataIndex: ['company_employee', 'name'], dataIndex: ['company_employee', 'name'],
render: (_, item: any) => render: (_, item: any) =>
`${item?.company_employee?.name || ''}-${ `${item?.company_employee?.name || ''}-${

View File

@ -41,17 +41,7 @@ export default function Index({ title = '岗位库' }) {
{ {
title: '岗位名称', title: '岗位名称',
dataIndex: 'name', dataIndex: 'name',
width: 200, width: 300,
},
{
title: '岗位编号',
dataIndex: 'code',
width: 200,
},
{
title: '岗位说明',
dataIndex: 'remark',
search: false,
}, },
{ {
title: '是否启用', title: '是否启用',

View File

@ -45,18 +45,6 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
{
key: 'code',
title: '岗位编号',
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },
},
{
key: 'remark',
title: '岗位说明',
colProps: { span: 24 },
valueType: 'textarea',
},
]} ]}
/> />
); );

View File

@ -46,18 +46,6 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
{
key: 'code',
title: '岗位编号',
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },
},
{
key: 'remark',
title: '岗位说明',
colProps: { span: 24 },
valueType: 'textarea',
},
{ {
key: 'is_use', key: 'is_use',
title: '是否启用', title: '是否启用',

View File

@ -37,7 +37,6 @@ export default function Index({ title = '账号管理' }) {
Apis.Company.CompanyReceiptAccounts.List, Apis.Company.CompanyReceiptAccounts.List,
) )
} }
// headerTitle="项目可用收款账号,从本页面已添加的收款账号中选择"
toolBarRender={(action) => [ toolBarRender={(action) => [
<ReceiptAccountCreate <ReceiptAccountCreate
key="Create" key="Create"
@ -64,14 +63,8 @@ export default function Index({ title = '账号管理' }) {
{ {
title: '收款账号', title: '收款账号',
dataIndex: 'company_account', dataIndex: 'company_account',
// search: false,
},
{
title: '通联商户号',
dataIndex: 'merchant_id',
search: false, search: false,
}, },
MyColumns.UpdatedAt(), MyColumns.UpdatedAt(),
MyColumns.Option({ MyColumns.Option({
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (

View File

@ -1,11 +1,13 @@
import { import {
MyBetaModalFormProps, MyBetaModalFormProps,
MyButtons, MyButtons,
MyFormItems,
MyModalFormProps, MyModalFormProps,
rulesHelper, rulesHelper,
} from '@/common'; } from '@/common';
import { Selects } from '@/components/Select'; import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { CompanyReceiptAccountsPayChannelEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components'; import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd'; import { Form, message } from 'antd';
@ -20,7 +22,6 @@ export default function Create(props: MyBetaModalFormProps) {
width="500px" width="500px"
trigger={<MyButtons.Create title={`添加账号`} />} trigger={<MyButtons.Create title={`添加账号`} />}
form={form} form={form}
key={new Date().getTime()}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
if (open) { if (open) {
form.resetFields(); // 清空表单数据 form.resetFields(); // 清空表单数据
@ -30,7 +31,7 @@ export default function Create(props: MyBetaModalFormProps) {
Apis.Company.CompanyReceiptAccounts.Store({ Apis.Company.CompanyReceiptAccounts.Store({
...values, ...values,
companies_id: values?.companies_id || props?.item?.id, companies_id: values?.companies_id || props?.item?.id,
pay_channel: values?.merchant_id ? 'TongLian' : 'BankTransfer',
is_default: 0, is_default: 0,
}) })
.then(() => { .then(() => {
@ -69,31 +70,36 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
{ MyFormItems.EnumRadio({
key: 'boolean', key: 'pay_channel',
title: '是否开通【通联支付】', title: '收款渠道',
valueType: 'switch',
colProps: { span: 24 }, colProps: { span: 24 },
}, valueEnum: CompanyReceiptAccountsPayChannelEnum,
required: true,
}),
{ {
name: ['boolean'], name: ['pay_channel'],
valueType: 'dependency', valueType: 'dependency',
columns: ({ boolean }: any) => { columns: ({ pay_channel }: any) => {
return boolean return pay_channel ===
CompanyReceiptAccountsPayChannelEnum.TongLian.value
? [ ? [
{ {
key: 'merchant_id', key: 'merchant_id',
title: '通联商户号', title: '商户ID',
colProps: { span: 24 }, colProps: { span: 24 },
fieldProps: {
placeholder: '如已开通,必须输入通联商户号',
},
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
] ]
: []; : [];
}, },
}, },
// {
// key: 'is_default',
// title: '是否设为默认账号',
// valueType: 'switch',
// colProps: { span: 24 },
// },
]} ]}
/> />
); );

View File

@ -1,10 +1,12 @@
import { import {
MyBetaModalFormProps, MyBetaModalFormProps,
MyButtons, MyButtons,
MyFormItems,
MyModalFormProps, MyModalFormProps,
rulesHelper, rulesHelper,
} from '@/common'; } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { CompanyReceiptAccountsPayChannelEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components'; import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd'; import { Form, message } from 'antd';
export default function Update(props: MyBetaModalFormProps) { export default function Update(props: MyBetaModalFormProps) {
@ -21,17 +23,14 @@ export default function Update(props: MyBetaModalFormProps) {
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
if (open && props.item) { if (open && props.item) {
form.setFieldsValue(props.item); form.setFieldsValue(props.item);
form.setFieldValue('boolean', props.item?.pay_channel === 'TongLian');
} }
}} }}
onFinish={async (values: any) => onFinish={async (values) =>
Apis.Company.CompanyReceiptAccounts.Update({ Apis.Company.CompanyReceiptAccounts.Update({
...values, ...values,
companies_id: props?.item?.companies_id, companies_id: props?.item?.companies_id,
id: props.item?.id ?? 0, id: props.item?.id ?? 0,
is_default: 0, is_default: 0,
pay_channel: values?.merchant_id ? 'TongLian' : 'BankTransfer',
merchant_id: values?.boolean ? values?.merchant_id : '',
}) })
.then(() => { .then(() => {
props.reload?.(); props.reload?.();
@ -59,58 +58,30 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
{ MyFormItems.EnumRadio({
key: 'boolean', key: 'pay_channel',
title: '是否开通【通联支付】', title: '收款渠道',
valueType: 'switch',
colProps: { span: 24 }, colProps: { span: 24 },
onChange: () => { valueEnum: CompanyReceiptAccountsPayChannelEnum,
form.setFieldValue('merchant_id', undefined); required: true,
}, }),
},
{ {
name: ['boolean'], name: ['pay_channel'],
valueType: 'dependency', valueType: 'dependency',
columns: ({ boolean }: any) => { columns: ({ pay_channel }: any) => {
return boolean return pay_channel ===
CompanyReceiptAccountsPayChannelEnum.TongLian.value
? [ ? [
{ {
key: 'merchant_id', key: 'merchant_id',
title: '通联商户号', title: '商户ID',
colProps: { span: 24 }, colProps: { span: 24 },
fieldProps: {
placeholder: '如已开通,必须输入通联商户号',
},
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
}, },
] ]
: []; : [];
}, },
}, },
// MyFormItems.EnumRadio({
// key: 'pay_channel',
// title: '收款渠道',
// colProps: { span: 24 },
// valueEnum: CompanyReceiptAccountsPayChannelEnum,
// required: true,
// }),
// {
// name: ['pay_channel'],
// valueType: 'dependency',
// columns: ({ pay_channel }: any) => {
// return pay_channel ===
// CompanyReceiptAccountsPayChannelEnum.TongLian.value
// ? [
// {
// key: 'merchant_id',
// title: '商户ID',
// colProps: { span: 24 },
// formItemProps: { ...rulesHelper.text },
// },
// ]
// : [];
// },
// },
// { // {
// key: 'is_default', // key: 'is_default',
// title: '是否设为默认账号', // title: '是否设为默认账号',

View File

@ -65,7 +65,7 @@ export default function Index({ title = '应用管理' }) {
// dataIndex: 'app_secret', // dataIndex: 'app_secret',
// search: false, // search: false,
// ellipsis: true, // ellipsis: true,
// // render: (text) => '****' + String(text).slice(-4), // render: (text) => '***' + String(text).slice(-4),
// }, // },
MyColumns.UpdatedAt(), MyColumns.UpdatedAt(),

View File

@ -20,7 +20,6 @@ export default function Create(props: MyBetaModalFormProps) {
title={`添加应用配置`} title={`添加应用配置`}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
width="500px" width="500px"
key={new Date().getTime()}
trigger={<MyButtons.Create title={`添加应用`} />} trigger={<MyButtons.Create title={`添加应用`} />}
form={form} form={form}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {

View File

@ -47,11 +47,14 @@ export default function Update(props: MyBetaModalFormProps) {
}, },
MyFormItems.UploadImages({ MyFormItems.UploadImages({
key: 'logo', key: 'logo',
title: '品牌logo【 尺寸比例 1:1 】', title: '品牌logo【尺寸:1024*1024】',
tooltip: '只能上传1张图片', tooltip: '只能上传1张图片',
max: 1, max: 1,
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { required: true }, formItemProps: { required: false },
fieldProps: {
placeholder: '',
},
}), }),
]} ]}
/> />

View File

@ -21,7 +21,6 @@ export default function Create(props: MyBetaModalFormProps) {
width="360px" width="360px"
trigger={<MyButtons.Create title={`添加品牌`} />} trigger={<MyButtons.Create title={`添加品牌`} />}
form={form} form={form}
key={new Date().getTime()}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
if (open) { if (open) {
form.resetFields(); // 清空表单数据 form.resetFields(); // 清空表单数据
@ -62,7 +61,7 @@ export default function Create(props: MyBetaModalFormProps) {
tooltip: '只能上传1张图片', tooltip: '只能上传1张图片',
max: 1, max: 1,
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { required: true }, formItemProps: { required: false },
}), }),
]} ]}
/> />

View File

@ -8,12 +8,10 @@ import {
import { Address } from '@/components/Address'; import { Address } from '@/components/Address';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { BetaSchemaForm } from '@ant-design/pro-components'; import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message, Modal } from 'antd'; import { Form, message } from 'antd';
import { useNavigate } from 'umi';
export default function Create(props: MyBetaModalFormProps) { export default function Create(props: MyBetaModalFormProps) {
const [form] = Form.useForm(); const [form] = Form.useForm();
const navigate = useNavigate();
return ( return (
<BetaSchemaForm<ApiTypes.Company.Companies.Store> <BetaSchemaForm<ApiTypes.Company.Companies.Store>
@ -22,7 +20,6 @@ export default function Create(props: MyBetaModalFormProps) {
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
width="600px" width="600px"
trigger={<MyButtons.Create title={`添加机构`} />} trigger={<MyButtons.Create title={`添加机构`} />}
key={new Date().getTime()}
form={form} form={form}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
if (open) { if (open) {
@ -34,23 +31,9 @@ export default function Create(props: MyBetaModalFormProps) {
...values, ...values,
merchant_type: 'PropertyManagement', merchant_type: 'PropertyManagement',
}) })
.then((response) => { .then(() => {
const companyId = response?.data?.id;
props.reload?.(); props.reload?.();
message.success(props.title + '成功'); message.success(props.title + '成功');
// 询问用户是否立即配置
Modal.confirm({
title: '配置提示',
content: '是否立即配置该机构?',
okText: '是',
cancelText: '否',
onOk: () => {
// 跳转到配置页面
navigate(`/company/list/show/${companyId}`);
},
});
return true; return true;
}) })
.catch(() => false) .catch(() => false)
@ -72,7 +55,7 @@ export default function Create(props: MyBetaModalFormProps) {
key: 'business_license_number', key: 'business_license_number',
title: '营业执照号', title: '营业执照号',
colProps: { span: 24 }, colProps: { span: 24 },
tooltip: '限制18位', tooltip: '限制20位',
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
fieldProps: { fieldProps: {
maxLength: 18, maxLength: 18,
@ -115,7 +98,7 @@ export default function Create(props: MyBetaModalFormProps) {
}, },
Address.Cascader({ Address.Cascader({
key: 'casacader', key: 'casacader',
title: '所在地区', title: '联系地址',
colProps: { span: 14 }, colProps: { span: 14 },
keys: ['province', 'city', 'area', 'street'], keys: ['province', 'city', 'area', 'street'],
required: true, required: true,

View File

@ -59,7 +59,6 @@ export default function Update(props: MyBetaModalFormProps) {
{ {
key: 'business_license_number', key: 'business_license_number',
title: '营业执照号', title: '营业执照号',
tooltip: '限制18位',
colProps: { span: 24 }, colProps: { span: 24 },
formItemProps: { ...rulesHelper.text }, formItemProps: { ...rulesHelper.text },
fieldProps: { fieldProps: {
@ -102,7 +101,7 @@ export default function Update(props: MyBetaModalFormProps) {
}, },
Address.Cascader({ Address.Cascader({
key: 'casacader', key: 'casacader',
title: '所在地区', title: '联系地址',
colProps: { span: 14 }, colProps: { span: 14 },
keys: ['province', 'city', 'area', 'street'], keys: ['province', 'city', 'area', 'street'],
required: true, required: true,

View File

@ -44,10 +44,10 @@ export default function Show({ title }: { title?: string } = {}) {
let items = [ let items = [
{ {
label: '1-应用配置', label: '1-项目配置',
key: '1', key: '1',
closable: false, closable: false,
children: <CompanyApps item={data} />, children: <Assets item={data} />,
}, },
{ {
@ -63,29 +63,28 @@ export default function Show({ title }: { title?: string } = {}) {
children: <Positions item={data} />, children: <Positions item={data} />,
}, },
{ {
label: '4-员工管理', label: '4-员工配置',
key: '4', key: '4',
closable: false, closable: false,
children: <Employees item={data} />, children: <Employees item={data} />,
}, },
{ {
label: '5-收款账号添加', label: '5-账号配置',
key: '5', key: '5',
closable: false, closable: false,
children: <ReceiptAccounts item={data} />, children: <ReceiptAccounts item={data} />,
}, },
{ {
label: '6-品牌配置', label: '6-应用配置',
key: '6', key: '6',
closable: false, closable: false,
children: <Brands item={data} />, children: <CompanyApps item={data} />,
}, },
{ {
label: '7-项目配置', label: '7-品牌配置',
key: '7', key: '7',
closable: false, closable: false,
children: <Assets item={data} />, children: <Brands item={data} />,
}, },
]; ];
return ( return (
@ -104,12 +103,8 @@ export default function Show({ title }: { title?: string } = {}) {
</Space> </Space>
} }
> >
<div></div>
<div> <div>
<span> *
</span>
</div> </div>
</ProCard> </ProCard>
<ProCard> <ProCard>

View File

@ -56,6 +56,13 @@ export default function CompanyApps(props: MyBetaModalFormProps) {
search: false, search: false,
ellipsis: true, ellipsis: true,
}, },
{
title: '应用密钥',
dataIndex: 'app_secret',
search: false,
ellipsis: true,
render: (text) => '***' + String(text).slice(-4),
},
MyColumns.UpdatedAt(), MyColumns.UpdatedAt(),
// MyColumns.CreatedAt(), // MyColumns.CreatedAt(),

View File

@ -56,13 +56,6 @@ export default function Index(props: MyBetaModalFormProps) {
valueEnum: AssetProjectsStatusEnum, valueEnum: AssetProjectsStatusEnum,
search: false, search: false,
}), }),
{
title: '所在城市',
render: (_, i: any) => {
return `${i?.province || ''}${i?.city || ''}`;
},
search: false,
},
{ {
title: '地址', title: '地址',
render: (_, i: any) => { render: (_, i: any) => {
@ -82,7 +75,7 @@ export default function Index(props: MyBetaModalFormProps) {
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
<Space key={index}> <Space key={index}>
<MyButtons.View <MyButtons.View
title="查看|配置" title="详情"
onClick={() => { onClick={() => {
navigate(`/asset/list/show/${item.id}`); navigate(`/asset/list/show/${item.id}`);
}} }}

View File

@ -54,7 +54,6 @@ export default function PropertyBrands(props: MyBetaModalFormProps) {
); );
}, },
}, },
MyColumns.UpdatedAt(),
MyColumns.Option({ MyColumns.Option({
render: (_, item: any, index, action) => ( render: (_, item: any, index, action) => (
<Space key={index}> <Space key={index}>

View File

@ -2,7 +2,6 @@ import {
MyBetaModalFormProps, MyBetaModalFormProps,
MyButtons, MyButtons,
MyColumns, MyColumns,
MyImportModal,
MyProTableProps, MyProTableProps,
} from '@/common'; } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
@ -24,15 +23,6 @@ export default function Index(props: MyBetaModalFormProps) {
) )
} }
toolBarRender={(action) => [ toolBarRender={(action) => [
<MyImportModal
key="ImportHouse"
title="批量导入"
type="danger"
size="middle"
templateApi={Apis.Company.CompanyEmployees.DownloadTemplate}
importApi={Apis.Company.CompanyEmployees.Import}
reload={action?.reload}
/>,
<EmployeeCreate <EmployeeCreate
key="Create" key="Create"
item={props?.item} item={props?.item}
@ -42,7 +32,7 @@ export default function Index(props: MyBetaModalFormProps) {
]} ]}
// options={false} // options={false}
columns={[ columns={[
MyColumns.ID({ search: false }), MyColumns.ID(),
//to-do 按层级选择 //to-do 按层级选择
{ {
title: '所在组织', title: '所在组织',

View File

@ -33,7 +33,7 @@ export default function Organizations(props: MyBetaModalFormProps) {
title="组织" title="组织"
/>, />,
]} ]}
search={false} // search={false}
// options={false} // options={false}
columns={[ columns={[
{ {
@ -46,7 +46,7 @@ export default function Organizations(props: MyBetaModalFormProps) {
search: false, search: false,
}, },
MyColumns.EnumTag({ MyColumns.EnumTag({
title: '类型', title: '组织类型',
dataIndex: 'type', dataIndex: 'type',
valueEnum: OrganizationsTypeEnum, valueEnum: OrganizationsTypeEnum,
search: false, search: false,

View File

@ -53,10 +53,16 @@ export default function Organizations(props: MyBetaModalFormProps) {
search: false, search: false,
width: 200, width: 200,
}, },
// {
// title: '岗位排序',
// dataIndex: 'sort',
// search: false,
// },
{ {
title: '岗位说明', title: '岗位备注',
dataIndex: 'remark', dataIndex: 'remark',
search: false, search: false,
width: 200,
}, },
MyColumns.UpdatedAt(), MyColumns.UpdatedAt(),
// MyColumns.CreatedAt(), // MyColumns.CreatedAt(),

View File

@ -5,23 +5,14 @@ import {
MyProTableProps, MyProTableProps,
} from '@/common'; } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { ProCard, ProTable } from '@ant-design/pro-components'; import { ProTable } from '@ant-design/pro-components';
import { Alert, Space } from 'antd'; import { Space } from 'antd';
import ReceiptAccountCreate from '../../accounts/modals/ReceiptAccountCreate'; import ReceiptAccountCreate from '../../accounts/modals/ReceiptAccountCreate';
import ReceiptAccountUpdate from '../../accounts/modals/ReceiptAccountUpdate'; import ReceiptAccountUpdate from '../../accounts/modals/ReceiptAccountUpdate';
export default function ReceiptAccounts(props: MyBetaModalFormProps) { export default function ReceiptAccounts(props: MyBetaModalFormProps) {
return ( return (
<ProCard <>
title={
<Alert
message="提示:【项目收款账号】,从【机构】已添加的【收款账号】中获取!"
type="info"
showIcon
style={{ margin: 0 }}
/>
}
>
<ProTable <ProTable
{...MyProTableProps.props} {...MyProTableProps.props}
search={false} search={false}
@ -61,11 +52,14 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) {
search: false, search: false,
// width: 200, // width: 200,
}, },
{ // {
title: '通联商户号', // title: '是否默认',
dataIndex: 'merchant_id', // dataIndex: 'is_default',
search: false, // search: false,
}, // render(_, record) {
// return `${record?.is_default ? '是' : '否'} `;
// },
// },
MyColumns.UpdatedAt(), MyColumns.UpdatedAt(),
// MyColumns.CreatedAt(), // MyColumns.CreatedAt(),
MyColumns.Option({ MyColumns.Option({
@ -88,6 +82,6 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) {
}), }),
]} ]}
/> />
</ProCard> </>
); );
} }

View File

@ -63,7 +63,7 @@ export default function Index({ title = '组织列表' }) {
dataIndex: 'name', dataIndex: 'name',
}, },
MyColumns.EnumTag({ MyColumns.EnumTag({
title: '类型', title: '组织类型',
dataIndex: 'type', dataIndex: 'type',
valueEnum: OrganizationsTypeEnum, valueEnum: OrganizationsTypeEnum,
search: false, search: false,

View File

@ -20,7 +20,7 @@ export default function Create(props: MyBetaModalFormProps) {
title={`添加${props.title}`} title={`添加${props.title}`}
wrapperCol={{ span: 24 }} wrapperCol={{ span: 24 }}
width="500px" width="500px"
trigger={<MyButtons.Create title={`组织`} size="small" />} trigger={<MyButtons.Create title={`添加${props.title}`} size="small" />}
key={new Date().getTime()} key={new Date().getTime()}
form={form} form={form}
onOpenChange={(open: any) => { onOpenChange={(open: any) => {
@ -54,7 +54,7 @@ export default function Create(props: MyBetaModalFormProps) {
]), ]),
MyFormItems.EnumRadio({ MyFormItems.EnumRadio({
key: 'type', key: 'type',
title: '类型', title: '组织类型',
colProps: { span: 24 }, colProps: { span: 24 },
valueEnum: OrganizationsTypeEnum, valueEnum: OrganizationsTypeEnum,
required: true, required: true,

View File

@ -54,7 +54,7 @@ export default function Create(props: MyBetaModalFormProps) {
]), ]),
MyFormItems.EnumRadio({ MyFormItems.EnumRadio({
key: 'type', key: 'type',
title: '类型', title: '组织类型',
colProps: { span: 24 }, colProps: { span: 24 },
valueEnum: OrganizationsTypeEnum, valueEnum: OrganizationsTypeEnum,
required: true, required: true,
@ -72,13 +72,14 @@ export default function Create(props: MyBetaModalFormProps) {
return type !== OrganizationsTypeEnum.Group.value return type !== OrganizationsTypeEnum.Group.value
? [ ? [
Selects?.OrganizationsTree({ Selects?.OrganizationsTree({
title: '设置上级组织(可选)', title: '设置上级组织',
key: 'parent_id', key: 'parent_id',
params: { companies_id: props?.item?.id }, params: { companies_id: props?.item?.id },
colProps: { span: 24 }, colProps: { span: 24 },
fieldProps: { fieldProps: {
placeholder: '可搜索或手动选择上级组织', placeholder: '可搜索或手动选择上级组织',
}, },
formItemProps: { ...rulesHelper.text },
}), }),
] ]
: []; : [];

View File

@ -64,7 +64,7 @@ export default function Index({ title = '岗位管理' }) {
// search: false, // search: false,
// }, // },
{ {
title: '岗位说明', title: '岗位备注',
dataIndex: 'remark', dataIndex: 'remark',
search: false, search: false,
width: 200, width: 200,

View File

@ -59,9 +59,15 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
// formItemProps: { ...rulesHelper.text }, // formItemProps: { ...rulesHelper.text },
}, },
// {
// key: 'sort',
// title: '岗位排序',
// colProps: { span: 24 },
// valueType: 'number',
// },
{ {
key: 'remark', key: 'remark',
title: '岗位说明', title: '备注',
colProps: { span: 24 }, colProps: { span: 24 },
valueType: 'textarea', valueType: 'textarea',
}, },

View File

@ -50,9 +50,15 @@ export default function Update(props: MyBetaModalFormProps) {
colProps: { span: 24 }, colProps: { span: 24 },
// formItemProps: { ...rulesHelper.text }, // formItemProps: { ...rulesHelper.text },
}, },
// {
// key: 'sort',
// title: '岗位排序',
// colProps: { span: 24 },
// valueType: 'number',
// },
{ {
key: 'remark', key: 'remark',
title: '岗位说明', title: '备注',
colProps: { span: 24 }, colProps: { span: 24 },
valueType: 'textarea', valueType: 'textarea',
}, },

View File

@ -163,11 +163,6 @@ export default function Create(props: MyBetaModalFormProps) {
valueEnum: CustomerMomentsContentTypeEnum, valueEnum: CustomerMomentsContentTypeEnum,
required: true, required: true,
colProps: { span: 24 }, colProps: { span: 24 },
fieldProps: {
onChange: (e: any) => {
setContentType(e?.target?.value);
},
},
}), }),
{ {
name: ['content_type'], name: ['content_type'],
@ -187,7 +182,7 @@ export default function Create(props: MyBetaModalFormProps) {
title: '上传图片', title: '上传图片',
// uploadType: 'file', // uploadType: 'file',
required: true, required: true,
tooltip: '限9张图片10M以内', tooltip: '限9张图片',
max: 9, max: 9,
colProps: { span: 24 }, colProps: { span: 24 },
}), }),
@ -205,8 +200,8 @@ export default function Create(props: MyBetaModalFormProps) {
key: 'attachments', key: 'attachments',
title: '上传视频', title: '上传视频',
required: true, required: true,
tooltip: '限1个视频10M以内格式要求mp4', tooltip: '限1个视频',
uploadType: 'video', // uploadType: 'file',
max: 1, max: 1,
colProps: { span: 24 }, colProps: { span: 24 },
}), }),
@ -226,6 +221,7 @@ export default function Create(props: MyBetaModalFormProps) {
name: ['content_type'], name: ['content_type'],
valueType: 'dependency', valueType: 'dependency',
columns: ({ content_type }: any) => { columns: ({ content_type }: any) => {
setContentType(content_type);
return content_type === 'MiniProgram' return content_type === 'MiniProgram'
? [ ? [
{ {
@ -260,7 +256,7 @@ export default function Create(props: MyBetaModalFormProps) {
}, },
MyFormItems.UploadImages({ MyFormItems.UploadImages({
key: 'cover_image', key: 'cover_image',
tooltip: '限1张图片10M以内', tooltip: '限1张图片',
title: '设置封面', title: '设置封面',
required: true, required: true,
max: 1, max: 1,
@ -286,14 +282,16 @@ export default function Create(props: MyBetaModalFormProps) {
const handleNext = async () => { const handleNext = async () => {
// 这里可以添加表单验证逻辑 // 这里可以添加表单验证逻辑
setCurrent(1); if (current < steps.length - 1) {
console.log('next', current); setCurrent(current + 1);
}
}; };
// 处理上一步 // 处理上一步
const handlePrev = () => { const handlePrev = () => {
setCurrent(0); if (current > 0) {
console.log('Prev', current); setCurrent(current - 1);
}
}; };
return ( return (
@ -377,7 +375,7 @@ export default function Create(props: MyBetaModalFormProps) {
}} }}
/> />
</div> </div>
<MyinfoPreview item={{ type: getContentType }} /> {current ? <MyinfoPreview item={{ type: getContentType }} /> : ''}
</Space> </Space>
</Space> </Space>
} }