// 商家信息管理 import React, { useRef, useState, Suspense } from 'react'; import moment from 'moment'; // 时间相关引用,没有使用可以删除 import numeral from "numeral"; // 数字相关引用,没有使用可以删除 import { connect } from 'umi'; import useRequest from '@ahooksjs/use-request'; // 请求数据的引用 import Draggable from 'react-draggable'; import SubMenu from "antd/lib/menu/SubMenu"; import ProTable from '@ant-design/pro-table'; import ProDescriptions from '@ant-design/pro-descriptions'; import ProForm, { ProFormDatePicker, ProFormDateTimePicker, ProFormMoney, ProFormSelect, ProFormText, ProFormTextArea, ProFormTreeSelect, ProFormUploadButton } from '@ant-design/pro-form'; import { MenuFoldOutlined, PlusOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; import { PageContainer } from '@ant-design/pro-layout'; import { Button, Col, Drawer, message, Row, Popconfirm, Space, Image, Modal, Form, Switch, Upload, Tooltip, Descriptions, TreeSelect, Divider, Tabs, Select, Input, Tree } from 'antd'; import type { CurrentUser } from "umi"; import type { ConnectState } from '@/models/connect'; import type { ActionType, ProColumns } from '@ant-design/pro-table'; import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; import type { FormInstance } from 'antd'; import { handleDeleteSERVERPARTSELLER, handleGetMEMBERADDRESSList, handleGetRelateShopToSeller, handleGetSERVERPARTSELLERDetail, handleGetSERVERPARTSHOPList, handleRemoveShopFromSeller, handleSynchroSERVERPARTSELLER } from '../service'; import LeftSelectTree from '@/pages/reports/settlementAccount/component/leftSelectTree'; import session from '@/utils/session'; import PageTitleBox from '@/components/PageTitleBox'; import { handeGetCOMMENTList, handeGetPictureList, handeGetRevenueReport } from '@/pages/travelMember/service'; import { deletePicture, uploadPicture } from '@/services/picture'; import { handleGetServerPartShopNewList } from '@/pages/basicManage/serviceArea/service'; import { handleGetServerpartShopList } from '@/pages/DataVerification/service'; import ModalFooter from '@/pages/travelMember/scenicSpotConfig/component/modalFooter'; const beforeUpload = (file: any) => { const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; if (!isJpgOrPng) { message.error('请上传JPEG、jpg、png格式的图片文件!'); } const isLt2M = file.size / 1024 / 1024 < 5; if (!isLt2M) { message.error('图片大小不超过 5MB!'); } return isJpgOrPng && isLt2M; } const MerchantInformation: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => { const { confirm } = Modal; const { currentUser } = props const actionRef = useRef(); const formRef = useRef(); const formMerchantRef = useRef(); const associationActionRef = useRef(); const [currentRow, setCurrentRow] = useState(); const [showDetail, setShowDetail] = useState(); const [modalVisible, handleModalVisible] = useState(); const [confirmLoading, handleConfirmLoading] = useState(false) // 弹出框的内容表单是否在提交 const [searchParams, setSearchParams] = useState(); // 树相关的属性和方法 const [selectedId, setSelectedId] = useState() const [collapsible, setCollapsible] = useState(false) // 新增关联选择的方法 const [selectedRowKeys, setSelectRowKeys] = useState(); const [selectedRowDetail, setSelectRowDetail] = useState(); // 在关联编辑页里面的tab选择 const [selectTab, setSelectTab] = useState("1") // 当前编辑商家的关联门店数据 const [currentShopData, setCurrentShopData] = useState() // 当前编辑商家的详情 const [currentRowDetail, setCurrentRowDetail] = useState() // 选择的 要关联的服务区 const [selectAssociationServerpart, setSelectAssociationServerpart] = useState() // 文件列表 const [fileList, setFileList] = useState([]) const [imagePreviewVisible, setImagePreviewVisible] = useState(false) // 预览图片 // 商家logo图片列表 const [MerchantLogoList, setMerchantLogoList] = useState([]) // 门头图片列表 const [DoorImageList, setDoorImageList] = useState([]) // 内景图片列表 const [InteriorImage, setInteriorImageList] = useState([]) // 营收的加载效果 const [revenueLoading, setRevenueLoading] = useState(false) let SHOPTRADEObj = session.get('SHOPTRADEObj') let SHOPTRADEList = session.get('SHOPTRADEList') // 云南 门店业态 let BUSINESSTRADEYNTree = session.get('BUSINESSTRADEYNTree') console.log('BUSINESSTRADEYNTree', BUSINESSTRADEYNTree); let shopregionObj = session.get('shopregionObj') let businessStateObj = session.get('businessStateObj') let SERVERPARTTree = session.get('SERVERPARTTree') let serverpartList = session.get('serverpartList') let MEMBERSHIP_TYPEObj = session.get('MEMBERSHIP_TYPEObj'); // 弹出框拖动效果 const [bounds, setBounds] = useState<{ left: number, right: number, top: number, bottom: number }>() // 移动的位置 const [disabled, setDraggleDisabled] = useState() // 是否拖动 const draggleRef = React.createRef() // 显示新增门店功能悬浮框 const [showAddModal, setShowAddModal] = useState(false) // 评论列表 const [commentFileList, setCommentFileList] = useState() const [imageCommentPreviewVisible, setImageCommentPreviewVisible] = useState(false) // 预览图片 const onDraggaleStart = (event, uiData) => { const { clientWidth, clientHeight } = window.document.documentElement; const targetRect = draggleRef.current?.getBoundingClientRect(); if (!targetRect) { return; } setBounds({ left: -targetRect.left + uiData.x, right: clientWidth - (targetRect.right - uiData.x), top: -targetRect.top + uiData.y, bottom: clientHeight - (targetRect.bottom - uiData.y), }); }; // 拖动结束 const formatTreeData = (data: any) => { return data.map((item: any) => ({ ...item, value: String(item.value), // 数字转字符串 children: item.children ? formatTreeData(item.children) : undefined, })); }; // 定义列表字段内容 const columns: any = [ { dataIndex: 'searchText', title: '查询内容', hideInTable: true, fieldProp: { placeholder: "请输入商户名称" } }, { dataIndex: 'SELLER_NAME', title: '商家名称', width: 300, align: 'center', hideInSearch: true, ellipsis: true, render: (_, record) => { return record?.SELLER_NAME ? { setCurrentRow({ ...record }); handleModalVisible(true); }}>{`${record?.SERVERPART_NAME || ""}${record?.SELLER_NAME}`} : "-" } }, { dataIndex: 'SHOPTRADE', title: '经营业态', align: 'center', width: 120, valueType: 'treeSelect', ellipsis: true, fieldProps: { treeData: formatTreeData(BUSINESSTRADEYNTree), // 设置树形数据源 showSearch: true, // 启用搜索 treeNodeFilterProp: 'label', // 按 label 过滤 treeDefaultExpandAll: true, filterTreeNode: (input: any, treeNode: any) => { return String(treeNode.label).toLowerCase().includes(input.toLowerCase()); }, }, }, { dataIndex: 'SCANCODE_ORDER', title: '预约点餐', align: 'center', width: 120, ellipsis: true, hideInSearch: true, render: (_, record) => { return record?.SCANCODE_ORDER === 1 ? '是' : '否' } }, { dataIndex: 'ShopList', title: '门店数量', align: 'center', width: 120, ellipsis: true, hideInSearch: true, render: (_, record) => { return record?.ShopList && record?.ShopList.length > 0 ? { console.log('recordrecordrecordrecord', record); setCurrentRow({ ...record }); handleModalVisible(true); }}>{record?.ShopList.length} : '-' } }, { dataIndex: 'IconList', title: '商家logo', align: 'center', width: 120, ellipsis: true, hideInSearch: true, render: (_, record) => { return record?.IconList && record?.IconList.length > 0 ? { console.log('recordrecordrecordrecord', record); setCurrentRow({ ...record }); handleModalVisible(true); }}>{record?.IconList.length} : '-' } }, { dataIndex: 'DoorImgList', title: '门头图片', align: 'center', width: 120, ellipsis: true, hideInSearch: true, render: (_, record) => { return record?.DoorImgList && record?.DoorImgList.length > 0 ? { console.log('recordrecordrecordrecord', record); setCurrentRow({ ...record }); handleModalVisible(true); }}>{record?.DoorImgList.length} : '-' } }, { dataIndex: 'InsideImgList', title: '内景图片', align: 'center', width: 120, ellipsis: true, hideInSearch: true, render: (_, record) => { return record?.InsideImgList && record?.InsideImgList.length > 0 ? { console.log('recordrecordrecordrecord', record); setCurrentRow({ ...record }); handleModalVisible(true); }}>{record?.InsideImgList.length} : '-' } }, // { // dataIndex: 'MONTHLYSALES', // title: '月销售量', // align: 'center', // width: 120, // ellipsis: true, // hideInSearch: true, // }, // { // dataIndex: 'PERCAPITA', // title: '人均消费', // align: 'center', // width: 120, // ellipsis: true, // hideInSearch: true, // }, // { // dataIndex: 'SELLER_SCORE', // title: '评价分数', // align: 'center', // width: 120, // ellipsis: true, // hideInSearch: true, // }, // { // dataIndex: 'COMMENT_COUNT', // title: '评价数量', // align: 'center', // width: 120, // ellipsis: true, // hideInSearch: true, // }, { dataIndex: 'ISSHOW', title: '小程序呈现', align: 'center', width: 120, ellipsis: true, hideInSearch: true, valueType: "select", valueEnum: { "-1": "全部", "0": "否", "1": "是" } }, { dataIndex: 'SERVERPARTSELLER_DESC', title: '备注说明', width: 150, ellipsis: true, align: 'center', hideInSearch: true, }, // { // dataIndex: 'option', // title: '操作', // valueType: 'option', // width: 120, // align: 'center', // fixed: 'right', // hideInSearch: true, // render: (_, record) => { // return ( // // { // console.log('recordrecordrecordrecord', record); // setCurrentRow({ ...record }); // handleModalVisible(true); // }} // > // 编辑 // // { // await handelDelete(record.SELLER_ID); // }} // > // 删除 // // // ); // }, // }, ]; // 关联商家的表格 const merchantColumns: any = [ { dataIndex: 'SERVERPART_NAME', title: '服务区名称', align: 'center', width: 150, ellipsis: true, hideInSearch: true, }, { dataIndex: 'SHOPNAME', title: '门店名称', align: 'center', width: 150, ellipsis: true, hideInSearch: true, }, { dataIndex: 'SHOPREGION', title: '所属方位', align: 'center', width: 120, hideInSearch: true, valueType: "select", valueEnum: shopregionObj }, // { // dataIndex: 'SCANCODE_ORDER', // title: '扫码点餐', // align: 'center', // width: 120, // hideInSearch: true, // valueType: "select", // valueEnum: { // "0": "禁用", // "1": "启用" // } // }, { dataIndex: 'BUSINESS_STATE', title: '经营状态', align: 'center', width: 120, valueType: "select", hideInSearch: true, valueEnum: businessStateObj }, // { // dataIndex: 'SHOPDIRECTION', // title: '门店方向', // align: 'center', // width: 120, // ellipsis: true, // hideInSearch: true, // }, // { // dataIndex: 'ISVALID', // title: '门店状态', // align: 'center', // width: 120, // valueEnum: { // "0": "无效", // "1": "有效" // }, // initialValue: "1" // }, { dataIndex: 'SERVERPARTSHOP_DESC', title: '介绍说明', align: 'center', width: 150, ellipsis: true, hideInSearch: true, } ] // 门店信息的表格 const shopColumns: any = [ { title: "序号", dataIndex: "index", valueType: "index", align: 'center', width: 80 }, { title: "门店", dataIndex: "SHOPNAME", width: 150, align: 'center' }, { title: "门店简称", dataIndex: "SHOPSHORTNAME", width: 150, align: 'center' }, { title: "门店方向", dataIndex: "SHOPDIRECTION", width: 150, align: 'center', render: (_, record) => { return { if (e.target.value !== record?.SHOPDIRECTION) { let list: any = JSON.parse(JSON.stringify(currentShopData)) if (list && list.length > 0) { list.forEach((item: any) => { if (item.SERVERPARTSHOP_ID === record?.SERVERPARTSHOP_ID) { item.SHOPDIRECTION = e.target.value } }) } setCurrentShopData(list) } }} /> } }, { title: "扫码点餐", dataIndex: "SCANCODE_ORDER", width: 150, align: 'center', render: (_, record) => { return } }, { title: "联系人名称", dataIndex: "SHOP_LINKMAN", width: 150, align: 'center' }, { title: "联系电话", dataIndex: "SHOP_TELEPHONE", width: 150, align: 'center' }, // { // title: "操作", // dataIndex: "option", // width: 120, // align: 'center', // render: (_, record) => { // return // { // await handleRemoveSeller(record) // }} // > // 解除关联 // // // } // } ] // 评论信息表格 const commentColumns: any = [ { title: "序号", dataIndex: "index", valueType: "index", width: 80, align: 'center', ellipsis: true, }, { title: "评价时间", dataIndex: "CREATE_DATE", width: 150, align: 'center', ellipsis: true, render: (_, record) => { return record?.CREATE_DATE ? moment(record?.CREATE_DATE).format('YYYY-MM-DD HH:mm:ss') : "-" } }, { title: "评价人员", dataIndex: "MEMBERSHIP_NAME", width: 120, align: 'center', ellipsis: true, }, { title: "会员类型", dataIndex: "MEMBERSHIP_TYPE", width: 120, align: 'center', ellipsis: true, valueType: 'select', valueEnum: { ...MEMBERSHIP_TYPEObj, }, }, { title: "匿名评价", dataIndex: "ISANONYMOUS", width: 120, align: 'center', ellipsis: true, valueType: 'select', valueEnum: { "0": "否", "1": "是", }, }, { title: "评分", dataIndex: "COMMENT_SCORE", align: 'center', ellipsis: true, width: 120 }, { title: "评价内容", dataIndex: "COMMENT_CONTENT", align: 'center', ellipsis: true, width: 200 }, { title: "图片信息", dataIndex: "ImageList", align: 'center', ellipsis: true, width: 200, render: (_, record) => { return record?.ImageList && record?.ImageList.length > 0 ? { let list: any = [] record?.ImageList.forEach((item: any) => { list.push({ url: item.ImageUrl }) }) setCommentFileList(list) handleChangePreview2(true) }} /> : "-" } } ] const handelDelete = async (id: number) => { const req: any = { SERVERPARTSELLERId: id } const result = await handleDeleteSERVERPARTSELLER(req) if (result.Result_Code !== 100) { message.error(`${result.Result_Desc}` || `${result.Result_Code}:删除失败`); } else { message.success('删除成功!'); actionRef.current?.reload() setShowAddModal(false) setSelectRowKeys(null) setSelectRowDetail(null) setSelectAssociationServerpart(null) } }; const handleAddUpdate = async (res: any) => { let req: any = {} if (currentRow?.SELLER_ID) { req = { ...currentRowDetail, ...res, UPDATE_STAFF_ID: currentUser?.ID, UPDATE_STAFF_NAME: currentUser?.Name, UPDATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'), } } else { req = { ...res, PROVINCE_CODE: currentUser?.ProvinceCode, ISVALID: 1, CREATE_STAFF_ID: currentUser?.ID, CREATE_STAFF_NAME: currentUser?.Name, CREATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'), } } console.log('resresresres', res); const data = await handleSynchroSERVERPARTSELLER(req) handleConfirmLoading(false) if (data.Result_Code === 100) { await handleUploadAllImage(res, data) message.success(data.Result_Desc) formRef?.current?.resetFields() handleConfirmLoading(false) handleModalVisible(false) setCurrentRowDetail(null) setCurrentRow(undefined) setMerchantLogoList([]) setDoorImageList([]) setInteriorImageList([]) setCurrentShopData([]) actionRef.current?.reload() } else { message.error(data.Result_Desc) } }; // 上传三个图片的方法 // MerchantLogoList imageType 3000 TableType 1204 // DoorImageList imageType 1000 TableType 1204 // InteriorImage imageType 2000 TableType 1204 const handleUploadAllImage = async (formValue: any, result: any) => { // formValue 表单的数据 result 商家的数据 // 上传商家logo if (formValue.MerchantLogo && formValue.MerchantLogo.length > 0) { const formData = new FormData(); formValue.MerchantLogo.forEach((file: any) => { formData.append('files[]', file.originFileObj); formData.append('ImageName', typeof file !== 'string' ? file?.name : ''); }); formData.append('TableId', result?.Result_Data.SELLER_ID); formData.append('imageType', "1000"); formData.append('TableType', "1204"); let res = await uploadPicture(formData) } if (formValue.DoorImage && formValue.DoorImage.length > 0) { const formData = new FormData(); formValue.DoorImage.forEach((file: any) => { formData.append('files[]', file.originFileObj); formData.append('ImageName', typeof file !== 'string' ? file?.name : ''); }); formData.append('TableId', result?.Result_Data.SELLER_ID); formData.append('imageType', "2000"); formData.append('TableType', "1204"); let res = await uploadPicture(formData) } if (formValue.InteriorImage && formValue.InteriorImage.length > 0) { const formData = new FormData(); formValue.InteriorImage.forEach((file: any) => { formData.append('files[]', file.originFileObj); formData.append('ImageName', typeof file !== 'string' ? file?.name : ''); }); formData.append('TableId', result?.Result_Data.SELLER_ID); formData.append('imageType', "3000"); formData.append('TableType', "1204"); let res = await uploadPicture(formData) } } // 移除门店关联 const handleRemoveSeller = async (obj: any) => { const req: any = { SellerId: obj.SELLER_ID, ShopIds: obj?.SERVERPARTSHOP_ID } const result = await handleRemoveShopFromSeller(req) if (result.Result_Code !== 100) { message.error(`${result.Result_Desc}` || `${result.Result_Code}:删除失败`); } else { message.success('删除成功!'); // formRef.current?.resetFields() await handleGetMemberDetail() } } // 服务区商家的详情信息 const handleGetMemberDetail = async () => { if (currentRow?.SELLER_ID) { const data = await handleGetSERVERPARTSELLERDetail({ SERVERPARTSELLERId: currentRow?.SELLER_ID }) setCurrentShopData(data.ShopList) setCurrentRowDetail(data) formRef.current?.setFieldsValue(data) return { ...data, SHOPTRADE: currentRow?.SHOPTRADE ? Number(currentRow?.SHOPTRADE) : "" } } else { return { ISSHOW: 1 } } } // 预览上传后的图片 const handlePreview = async (value: number) => { setFileList(value === 1 ? MerchantLogoList : value === 2 ? DoorImageList : value === 3 ? InteriorImage : '') setImagePreviewVisible(true) }; const handleChangePreview = (val: any) => { setImagePreviewVisible(val) } const handleChangePreview2 = (val: any) => { setImageCommentPreviewVisible(val) } // 获取营收数据 const handleGetRevenueData = async () => { const req: any = { DataType: 1, DataSourceType: 1, ServerpartIds: currentRow?.SERVERPART_ID || "", ServerpartShopIds: currentRow?.SERVERPARTSHOP_IDS || "", StartDate: moment().subtract(1, 'M').startOf('M').format('YYYY-MM-DD'), EndDate: moment().subtract(1, 'M').endOf('M').format('YYYY-MM-DD'), } setRevenueLoading(true) console.log('req', req); const data = await handeGetRevenueReport(req) setRevenueLoading(false) console.log('datadata', data); if (data && data.length > 0) { message.success('获取成功!') let obj: any = data[0] formRef.current?.setFieldsValue({ MONTHLYSALES: obj.TotalRevenue.Ticket_Count || "0", CASHPAY: obj.TotalRevenue.Revenue_Amount || "0", PERCAPITA: obj.TotalRevenue.Ticket_Count ? (obj.TotalRevenue.Revenue_Amount / obj.TotalRevenue.Ticket_Count).toFixed(2) : "0", }) } else { message.error('暂无数据!') } } const processTreeData = (data: any) => { return data.map((item: any) => { if (item.children && item.children.length > 0) { return { ...item, disabled: true, // 有子节点的节点禁用 children: processTreeData(item.children) }; } return item; }); }; // 新增的确认按钮的方法 const handleModalOk = async () => { // 判断是新增 还是关联 看看有没有 SELLER_ID 有就是关联 没有就是新增 if (currentRow?.SELLER_ID) { if (!(selectedRowKeys && selectedRowKeys.length > 0)) { message.error('请选择要关联的门店!') return } // 关联 接口 const req: any = { SellerId: currentRow?.SELLER_ID, ShopIds: selectedRowKeys.toString() } const data = await handleGetRelateShopToSeller(req) if (data.Result_Code === 100) { message.success(data.Result_Desc) setShowAddModal(false) setSelectRowKeys(null) setSelectRowDetail(null) // formRef.current?.resetFields() handleGetMemberDetail() setSelectAssociationServerpart(null) } else { message.error(data.Result_Desc) } } else { if (!(selectedRowKeys && selectedRowKeys.length > 0)) { setShowAddModal(false) setSelectRowKeys(null) setSelectRowDetail(null) setSelectAssociationServerpart(null) } else { console.log('selectedRowDetailselectedRowDetailselectedRowDetailselectedRowDetail', selectedRowDetail); // 必须要是同一商户的 才能进去 let sellIdList: any = [] let SHOPTRADEList: any = [] let serverpartList: any = [] let SERVERPARTSHOP_IDS: string = '' selectedRowDetail.forEach((item: any) => { if (sellIdList.indexOf(item.SELLER_ID) === -1) { sellIdList.push(item.SELLER_ID) } if (SHOPTRADEList.indexOf(item.SHOPTRADE) === -1) { SHOPTRADEList.push(item.SHOPTRADE) } if (serverpartList.indexOf(item.SERVERPART_ID) === -1) { serverpartList.push(item.SERVERPART_ID) } if (item.SERVERPARTSHOP_ID) { if (SERVERPARTSHOP_IDS) { SERVERPARTSHOP_IDS += `,${item.SERVERPARTSHOP_ID}` } else { SERVERPARTSHOP_IDS = `${item.SERVERPARTSHOP_ID}` } } }) console.log('sellIdListsellIdListsellIdList', sellIdList); console.log('SHOPTRADEListSHOPTRADEListSHOPTRADEList', SHOPTRADEList); if (sellIdList && sellIdList.length > 1) { message.error("仅支持选择一个商家!") return } if (SHOPTRADEList && SHOPTRADEList.length > 1) { message.error("仅支持选择一种业态!") return } if (serverpartList && serverpartList.length > 1) { message.error("仅支持选择一个服务区!") return } let obj: any = selectedRowDetail[0] // 调用商家详情 const req: any = { SERVERPARTSELLERId: sellIdList[0] } const detail: any = await handleGetSERVERPARTSELLERDetail(req) setShowAddModal(false) setSelectRowKeys(null) setSelectRowDetail(null) setSelectAssociationServerpart(null) setCurrentShopData(selectedRowDetail) setCurrentRow({ ...detail, SHOPTRADE: obj.SHOPTRADE, SERVERPART_ID: Number(obj.SERVERPART_ID), SERVERPARTSHOP_IDS: SERVERPARTSHOP_IDS, SERVERPART_NAME: obj.SERVERPART_NAME }) handleModalVisible(true) } } } return (
{ return `${record?.SERVERPARTSELLER_ID}` }} bordered // formRef={formRef} headerTitle={} // 列表表头 actionRef={actionRef} search={{ span: 6, labelWidth: 'auto' }} // 请求数据 request={async (params, sorter) => { if (!selectedId) { return } const req = { searchParameter: { SERVERPART_IDS: selectedId, SHOPTRADES: params?.SHOPTRADES, ISVALID: 1, ISSHOW: params?.ISSHOW === "-1" ? "" : params?.ISSHOW }, PageIndex: params.current, PageSize: params.pageSize, keyWord: { Key: "SELLER_NAME", Value: params?.searchText || "" }, } console.log('reqreqreqreq', req); const data = await handleGetMEMBERADDRESSList(req); console.log('datadatadatadatadata', data); if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} columns={columns} toolbar={{ actions: [ // 新增按钮 , ], }} pagination={{ defaultPageSize: 20 }} />
{/* 图片预览组件 */} {fileList && fileList.length > 0 &&
{ handleChangePreview(vis) } }}> { fileList.map((n) => ) }
} {/* 图片预览组件 */} {commentFileList && commentFileList.length > 0 &&
{ handleChangePreview2(vis) } }}> { commentFileList.map((n) => ) }
} {/* 添加服务区商家信息表 */} { }} bodyStyle={{ height: '700px', // 你可以根据需要调整高度 overflowY: 'auto', }} onCancel={() => { setShowAddModal(false) setSelectRowKeys(null) setSelectRowDetail(null) setSelectAssociationServerpart(null) }} okText={currentRow?.SELLER_ID ? "关联" : "确认"} onOk={async () => { // 提交框内的数据 handleModalOk() }} // footer={ { // await handelDelete(currentRow?.SELLER_ID) // }} // handleCancel={() => { // setShowAddModal(false) // setSelectRowKeys(null) // setSelectRowDetail(null) // setSelectAssociationServerpart(null) // }} // handleOK={() => { // handleModalOk() // }} />} >
{ if (!selectAssociationServerpart) { return } const req: any = { SearchParameter: { SERVERPART_IDS: selectAssociationServerpart, ISVALID: 1 }, PageIndex: 1, PageSize: 999999, SortStr: "SHOPTRADE,SHOPSHORTNAME,SHOPREGION,SERVERPART_CODE", } const data = await handleGetServerpartShopList(req) console.log('datadatadatadatadata', data); if (data && data.length > 0) { let list: any = [] data.forEach((item: any) => { if (item.SELLER_ID && item.SHOPTRADE) { list.push(item) } }) return { data: list, success: true } } return { data: [], success: true } // if (!selectAssociationServerpart) { // return // } // const req: any = { // searchParameter: { // SERVERPART_IDS: selectAssociationServerpart, // ISVALID: params?.ISVALID, // BUSINESS_STATE: params?.BUSINESS_STATE // }, // PageIndex: 1, // PageSize: 999999, // SortStr: "SHOPTRADE,SHOPREGION,SHOPSHORTNAME,SHOPCODE" // } // const data = await handleGetSERVERPARTSHOPList(req) // if (data.List && data.List.length > 0) { // let list: any = [] // data.List.forEach((item: any) => { // if (!item.SELLER_ID) { // list.push(item) // } // }) // return { data: list, success: true } // } // return { data: [], success: true } }} pagination={false} rowSelection={{ type: 'checkbox', onChange: (rowKeys, rowDetail) => { setSelectRowKeys(rowKeys) setSelectRowDetail(rowDetail) }, }} />
{ if (disabled) { setDraggleDisabled(false) } }} onMouseOut={() => { setDraggleDisabled(true) }} onFocus={() => { }} onBlur={() => { }} > {currentRow ? '更新服务区商家信息' : '新建服务区商家信息'}
} destroyOnClose={true} bodyStyle={{ height: '700px', // 你可以根据需要调整高度 overflowY: 'auto', }} width={1200} visible={modalVisible} confirmLoading={confirmLoading} afterClose={() => { formRef.current?.resetFields(); setCurrentRow(undefined); }} onCancel={() => { handleConfirmLoading(false) handleModalVisible(false) setCurrentRowDetail(null) setCurrentRow(null) setMerchantLogoList([]) setDoorImageList([]) setInteriorImageList([]) setCurrentShopData([]) }} // onOk={async () => { // 提交框内的数据 // formRef?.current?.validateFields().then(() => { // handleConfirmLoading(true) // formRef?.current?.submit() // }) // }} modalRender={(modal) => { return onDraggaleStart(event, uiData)} handle=".MerchantInformationModal" >
{modal}
}} footer={
{ // currentRow?.SELLER_ID ? currentRow?.SERVERPART_ID ?
{/* */}
:
}
} > { const data = await handleGetMemberDetail() let list1: any = [] let list2: any = [] let list3: any = [] console.log('currentRowcurrentRowcurrentRowcurrentRow', currentRow); if (currentRow?.IconList && currentRow?.IconList.length > 0) { currentRow?.IconList.forEach((item: any) => { let obj = JSON.parse(JSON.stringify(item)) obj.url = obj.ImageUrl obj.name = obj.ImageName obj.uid = item.ImageId obj.status = 'done' list1.push(obj) }) } setMerchantLogoList(list1); if (currentRow?.DoorImgList && currentRow?.DoorImgList.length > 0) { currentRow?.DoorImgList.forEach((item: any) => { let obj = JSON.parse(JSON.stringify(item)) obj.url = obj.ImageUrl obj.name = obj.ImageName obj.uid = item.ImageId obj.status = 'done' list2.push(obj) }) } setDoorImageList(list2); if (currentRow?.InsideImgList && currentRow?.InsideImgList.length > 0) { currentRow?.InsideImgList.forEach((item: any) => { let obj = JSON.parse(JSON.stringify(item)) obj.url = obj.ImageUrl obj.name = obj.ImageName obj.uid = item.ImageId obj.status = 'done' list3.push(obj) }) } setInteriorImageList(list3); // if (currentRow?.SELLER_ID) { // let req: any = { // TableId: currentRow?.SELLER_ID, // // TableName: '', // TableType: "1204", // ImageType: "1000", // } // const MerchantLogoData = await handeGetPictureList(req) // if (MerchantLogoData.List && MerchantLogoData.List.length > 0) { // if (MerchantLogoData.List && MerchantLogoData.List.length > 0) { // MerchantLogoData.List.forEach((item: any) => { // let obj = JSON.parse(JSON.stringify(item)) // obj.url = obj.ImageUrl // obj.name = obj.ImageName // obj.uid = item.ImageId // obj.status = 'done' // list1.push(obj) // }) // } // setMerchantLogoList(list1); // } // let req2: any = { // TableId: currentRow?.SELLER_ID, // // TableName: '', // TableType: "1204", // ImageType: "2000", // } // const DoorImageData = await handeGetPictureList(req2) // if (DoorImageData.List && DoorImageData.List.length > 0) { // if (DoorImageData.List && DoorImageData.List.length > 0) { // DoorImageData.List.forEach((item: any) => { // let obj = JSON.parse(JSON.stringify(item)) // obj.url = obj.ImageUrl // obj.name = obj.ImageName // obj.uid = item.ImageId // obj.status = 'done' // list2.push(obj) // }) // } // setDoorImageList(list2); // } // let req3: any = { // TableId: currentRow?.SELLER_ID, // // TableName: '', // TableType: "1204", // ImageType: "3000", // } // const InteriorImageData = await handeGetPictureList(req3) // if (InteriorImageData.List && InteriorImageData.List.length > 0) { // if (InteriorImageData.List && InteriorImageData.List.length > 0) { // InteriorImageData.List.forEach((item: any) => { // let obj = JSON.parse(JSON.stringify(item)) // obj.url = obj.ImageUrl // obj.name = obj.ImageName // obj.uid = item.ImageId // obj.status = 'done' // list3.push(obj) // }) // } // setInteriorImageList(list3); // } // } return { ...data, SHOPTRADE: currentRow?.SHOPTRADE ? Number(currentRow?.SHOPTRADE) : "", SERVERPART_ID: currentRow?.SERVERPART_ID ? Number(currentRow?.SERVERPART_ID) : "", // MerchantLogo: list1, // DoorImage: list2, // InteriorImage: list3, } // if (currentRow?.SELLER_ID) { // const data = await handleGetSERVERPARTSELLERDetail({ SERVERPARTSELLERId: currentRow?.SELLER_ID }) // setCurrentShopData(data.ShopList) // setCurrentRowDetail(data) // return { // ...data, // SHOPTRADE: currentRow?.SHOPTRADE ? Number(currentRow?.SHOPTRADE) : "" // } // } else { // return { // ISSHOW: 1 // } // } }} // initialValues={{ // ...currentRow, // SHOPTRADE: currentRow?.SHOPTRADE ? Number(currentRow?.SHOPTRADE) : "" // }} onFinish={async (values) => { let newValue: any = { ...values }; if (currentRow) { // 编辑数据 newValue = { ...values, SERVERPARTSELLER_ID: currentRow.SERVERPARTSELLER_ID, ShopList: currentShopData }; } await handleAddUpdate(newValue); }} > { return processTreeData(BUSINESSTRADEYNTree) }} fieldProps={{ treeDefaultExpandAll: true, // 默认展开所有节点 showSearch: true, // 可选:添加搜索功能 treeNodeFilterProp: 'label', // 可选:按标签搜索 }} rules={[ { required: true, message: '请选择门店业态!' } ]} disabled={currentRow?.SHOPTRADE} /> (option?.label ?? '').toLowerCase().includes(input.toLowerCase()) }} disabled={currentRow?.SERVERPART_ID} /> { setSelectTab(e) }} activeKey={selectTab} type="card" items={[ { label: "门店信息", key: "1" }, { label: "评论信息", key: "2" }, ]} />
handlePreview(1), fileList: MerchantLogoList, // 绑定 fileList onChange: async (info: any) => { if (info.file.status === 'removed') { const index = MerchantLogoList.findIndex(n => n.uid === info.file.uid); confirm({ title: '确认删除该文件吗?', icon: , async onOk() { if (info.file.ImageId) { const deleteLoading = message.loading('正在删除...') const success = await deletePicture(info.file?.ImagePath, info.file?.uid, '', '6000') deleteLoading() if (success) { const files = [...MerchantLogoList] files.splice(index, 1) setMerchantLogoList(files) message.success("删除成功") } else { message.error("删除失败") } } else { const files = [...fileList]; files.splice(index, 1); setMerchantLogoList(files); } }, onCancel() { }, }); } else { setMerchantLogoList(info.fileList) } } }} /> handlePreview(2), fileList: DoorImageList, // 绑定 fileList onChange: async (info: any) => { if (info.file.status === 'removed') { const index = DoorImageList.findIndex(n => n.uid === info.file.uid); confirm({ title: '确认删除该文件吗?', icon: , async onOk() { if (info.file.ImageId) { const deleteLoading = message.loading('正在删除...') const success = await deletePicture(info.file?.ImagePath, info.file?.uid, '', '6000') deleteLoading() if (success) { const files = [...DoorImageList] files.splice(index, 1) setDoorImageList(files) message.success("删除成功") } else { message.error("删除失败") } } else { const files = [...fileList]; files.splice(index, 1); setDoorImageList(files); } }, onCancel() { }, }); } else { setDoorImageList(info.fileList) } } }} /> handlePreview(3), fileList: InteriorImage, // 绑定 fileList onChange: async (info: any) => { if (info.file.status === 'removed') { const index = InteriorImage.findIndex(n => n.uid === info.file.uid); confirm({ title: '确认删除该文件吗?', icon: , async onOk() { if (info.file.ImageId) { const deleteLoading = message.loading('正在删除...') const success = await deletePicture(info.file?.ImagePath, info.file?.uid, '', '6000') deleteLoading() if (success) { const files = [...InteriorImage] files.splice(index, 1) setInteriorImageList(files) message.success("删除成功") } else { message.error("删除失败") } } else { const files = [...fileList]; files.splice(index, 1); setInteriorImageList(files); } }, onCancel() { }, }); } else { setInteriorImageList(info.fileList) } } }} />
{ if (!currentRow?.SELLER_ID) { return { data: [], success: true } } const req: any = { searchParameter: { MERCHANTS_ID: currentRow?.SELLER_ID }, PageIndex: 1, PageSize: 999999, } const data = await handeGetCOMMENTList(req) console.log('评论数据', data); if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} />
); }; export default connect(({ user }: ConnectState) => ({ currentUser: user.currentUser }))(MerchantInformation);