Compare commits
No commits in common. "e03ffe490200166fa8a17f3133a0f22a3a7d907c" and "cb0823bbcb99b0c63f38e9b3feaae32ffbf64cdf" have entirely different histories.
e03ffe4902
...
cb0823bbcb
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ant-design-pro",
|
"name": "ant-design-pro",
|
||||||
"version": "4.5.35",
|
"version": "4.5.26",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "An out-of-box UI solution for enterprise applications",
|
"description": "An out-of-box UI solution for enterprise applications",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.9 KiB |
@ -21,14 +21,14 @@ import Authorized from '@/utils/Authorized';
|
|||||||
import RightContent from '@/components/GlobalHeader/RightContent';
|
import RightContent from '@/components/GlobalHeader/RightContent';
|
||||||
import type { ConnectState } from '@/models/connect';
|
import type { ConnectState } from '@/models/connect';
|
||||||
import { getMatchMenu } from '@umijs/route-utils';
|
import { getMatchMenu } from '@umijs/route-utils';
|
||||||
import logo from '../assets/logo.png';
|
import logo from '../assets/logo.svg';
|
||||||
import './BasicLayout.less'
|
import './BasicLayout.less'
|
||||||
import { DoubleRightOutlined } from '@ant-design/icons';
|
import { DoubleRightOutlined } from '@ant-design/icons';
|
||||||
import * as Icon from '@ant-design/icons'
|
import * as Icon from '@ant-design/icons'
|
||||||
import IconFont from '@/components/IconFont';
|
import IconFont from '@/components/IconFont';
|
||||||
import type { CurrentUser } from '@/models/user'
|
import type { CurrentUser } from '@/models/user'
|
||||||
import session from '@/utils/session';
|
import session from '@/utils/session';
|
||||||
import upMenu from '../assets/tab/upMenu.png'
|
import upMenu from '@/assets/tab/upMenu.svg'
|
||||||
import { getFieldEnum, getFieldEnumTravel, getFieldEnumTree, getFieldGetFieEnumList, getTravelFieldEnumTree, handleGetFieldEnumTreeTravel, handleGetNestingFIELDENUMList } from "@/services/options";
|
import { getFieldEnum, getFieldEnumTravel, getFieldEnumTree, getFieldGetFieEnumList, getTravelFieldEnumTree, handleGetFieldEnumTreeTravel, handleGetNestingFIELDENUMList } from "@/services/options";
|
||||||
import { handleGetServerpartTree } from '@/pages/basicManage/serverpartAssets/service';
|
import { handleGetServerpartTree } from '@/pages/basicManage/serverpartAssets/service';
|
||||||
import { handeGetFieldEnumByFieldYN, handeGetNestingFIELDENUMList } from '@/pages/travelMember/service';
|
import { handeGetFieldEnumByFieldYN, handeGetNestingFIELDENUMList } from '@/pages/travelMember/service';
|
||||||
|
|||||||
@ -38,7 +38,7 @@ import interfaceImg from '@/assets/DataVerification/interface.png'
|
|||||||
import defaultIcon from '@/assets/brand/defaultIcon.png'
|
import defaultIcon from '@/assets/brand/defaultIcon.png'
|
||||||
import ItemDetail from './components/ItemDetail'
|
import ItemDetail from './components/ItemDetail'
|
||||||
import { dailyVerifyEndaccount, handleGetAccountList, handleGetServiceShopList, submitEndaccountState } from "@/pages/DataVerification/service";
|
import { dailyVerifyEndaccount, handleGetAccountList, handleGetServiceShopList, submitEndaccountState } from "@/pages/DataVerification/service";
|
||||||
import changeIcon from '../../../assets/versionChange.png'
|
import changeIcon from '@/assets/versionChange.svg'
|
||||||
import ProForm, { ProFormInstance, ProFormSelect } from "@ant-design/pro-form";
|
import ProForm, { ProFormInstance, ProFormSelect } from "@ant-design/pro-form";
|
||||||
import UnUploadDetail from "./components/unUploadDetail";
|
import UnUploadDetail from "./components/unUploadDetail";
|
||||||
import data from "@/pages/newDataAnalysis/areaVehicle/data";
|
import data from "@/pages/newDataAnalysis/areaVehicle/data";
|
||||||
|
|||||||
@ -557,7 +557,7 @@ const RoleList: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
getRoleMenu(currentUser?.TopSystemRoleId)
|
getRoleMenu(currentUser?.TopSystemRoleId)
|
||||||
// 新增角色时,若账号为内部账号则默认角色父级为-1 ,否则则为账号所属角色的父级角色
|
// 新增角色时,若账号为内部账号则默认角色父级为-1 ,否则则为账号所属角色的父级角色
|
||||||
setCurrentRow({ SYSTEMROLE_PID: bigTabSelect === '1' ? currentUser?.TopSystemRoleId : '-1', SYSTEMROLE_STATUS: 1 })
|
setCurrentRow({ SYSTEMROLE_PID: currentUser?.TopSystemRoleId, SYSTEMROLE_STATUS: 1 })
|
||||||
handleModalVisible(true)
|
handleModalVisible(true)
|
||||||
}}
|
}}
|
||||||
>角色</Button>,
|
>角色</Button>,
|
||||||
|
|||||||
@ -238,7 +238,6 @@ const ChosePlayers = ({ onRef, defaultPerson, showChosePlayer, currentUser, moda
|
|||||||
pageSize: 999999
|
pageSize: 999999
|
||||||
}
|
}
|
||||||
const list = await getRoleList(req)
|
const list = await getRoleList(req)
|
||||||
console.log('listlistlistlistlist', list);
|
|
||||||
|
|
||||||
setTreeView(list)
|
setTreeView(list)
|
||||||
// 请求供应商的左边那棵树的数据
|
// 请求供应商的左边那棵树的数据
|
||||||
|
|||||||
@ -376,7 +376,6 @@ const ServiceConfig: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
}
|
}
|
||||||
const req: any = {
|
const req: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser.ProvinceCode,
|
|
||||||
OPERATION_TYPES: selectedId || '11',
|
OPERATION_TYPES: selectedId || '11',
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
APPROVALROUTE_STATES: params?.APPROVALROUTE_STATE || '',
|
APPROVALROUTE_STATES: params?.APPROVALROUTE_STATE || '',
|
||||||
@ -516,7 +515,6 @@ const ServiceConfig: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
USER_PATTERN: res?.USER_PATTERN,
|
USER_PATTERN: res?.USER_PATTERN,
|
||||||
APPROVALSTAFF_ID: res?.APPROVALSTAFF_ID ? res?.APPROVALSTAFF_ID.toString() : null,
|
APPROVALSTAFF_ID: res?.APPROVALSTAFF_ID ? res?.APPROVALSTAFF_ID.toString() : null,
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
PROVINCE_CODE: currentUser.ProvinceCode,
|
|
||||||
// RECORD_DATE:moment().format('YYYY-MM-DD'),
|
// RECORD_DATE:moment().format('YYYY-MM-DD'),
|
||||||
NEXT_STATE: res?.NEXT_STATE
|
NEXT_STATE: res?.NEXT_STATE
|
||||||
}
|
}
|
||||||
@ -528,7 +526,6 @@ const ServiceConfig: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
USER_PATTERN: res?.USER_PATTERN,
|
USER_PATTERN: res?.USER_PATTERN,
|
||||||
APPROVALSTAFF_ID: res?.APPROVALSTAFF_ID ? res?.APPROVALSTAFF_ID.toString() : null,
|
APPROVALSTAFF_ID: res?.APPROVALSTAFF_ID ? res?.APPROVALSTAFF_ID.toString() : null,
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
PROVINCE_CODE: currentUser.ProvinceCode,
|
|
||||||
// RECORD_DATE:moment().format('YYYY-MM-DD'),
|
// RECORD_DATE:moment().format('YYYY-MM-DD'),
|
||||||
NEXT_STATE: res?.NEXT_STATE
|
NEXT_STATE: res?.NEXT_STATE
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ import type { Dispatch } from 'umi';
|
|||||||
import type { StateType } from '@/models/login';
|
import type { StateType } from '@/models/login';
|
||||||
import type { LoginParamsType } from '@/services/login';
|
import type { LoginParamsType } from '@/services/login';
|
||||||
import type { ConnectState } from '@/models/connect';
|
import type { ConnectState } from '@/models/connect';
|
||||||
import loginBg from '../../../assets/login-bg.png';
|
import loginBg from '@/assets/login-bg.png';
|
||||||
import styles from './index.less';
|
import styles from './index.less';
|
||||||
import { line } from '@antv/g2plot';
|
import { line } from '@antv/g2plot';
|
||||||
import session from '@/utils/session';
|
import session from '@/utils/session';
|
||||||
@ -73,9 +73,9 @@ const Login: React.FC<LoginProps> = (props) => {
|
|||||||
function findIP(onNewIP) {
|
function findIP(onNewIP) {
|
||||||
const peerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
|
const peerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
|
||||||
const pc = new peerConnection({ iceServers: [] });
|
const pc = new peerConnection({ iceServers: [] });
|
||||||
const noop = function () { };
|
const noop = function () { };
|
||||||
const IPRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/;
|
const IPRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/;
|
||||||
const ipCandidates = [];
|
const ipCandidates = [];
|
||||||
pc.createDataChannel("");
|
pc.createDataChannel("");
|
||||||
pc.createOffer().then(function (sdp) {
|
pc.createOffer().then(function (sdp) {
|
||||||
sdp.sdp.split('\n').forEach(function (line) {
|
sdp.sdp.split('\n').forEach(function (line) {
|
||||||
|
|||||||
@ -156,7 +156,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
const [tabList, setTabList] = useState<any>([]);// 选项卡列表
|
const [tabList, setTabList] = useState<any>([]);// 选项卡列表
|
||||||
const [showLoading, setShowLoading] = useState<boolean>(false)// 是否显示加载蒙层
|
const [showLoading, setShowLoading] = useState<boolean>(false)// 是否显示加载蒙层
|
||||||
const [showLoading1, setShowLoading1] = useState<boolean>(false)// 是否显示加载蒙层
|
const [showLoading1, setShowLoading1] = useState<boolean>(false)// 是否显示加载蒙层
|
||||||
const [showList, setShowList] = useState<boolean>(false)// 传给在营项目 是否显示列表
|
const [showList,setShowList] = useState<boolean>(false)// 传给在营项目 是否显示列表
|
||||||
const [detailMessage, setDetailMessage] = useState<any>()// 每个品牌的默认值
|
const [detailMessage, setDetailMessage] = useState<any>()// 每个品牌的默认值
|
||||||
const [serviceCar, setServiceCar] = useState<boolean>(false)// 月度车流分析
|
const [serviceCar, setServiceCar] = useState<boolean>(false)// 月度车流分析
|
||||||
const [serviceCarList, setServiceCarList] = useState<any>([])// 车流分析的数据
|
const [serviceCarList, setServiceCarList] = useState<any>([])// 车流分析的数据
|
||||||
@ -246,7 +246,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
const planType = useRef()// 判断打开的是年度计划还是月份计划
|
const planType = useRef()// 判断打开的是年度计划还是月份计划
|
||||||
const planRevenueData = useRef()// 自营计划的数据
|
const planRevenueData = useRef()// 自营计划的数据
|
||||||
const planRevenueDetailList = useRef()// 自营计划的月度明细
|
const planRevenueDetailList = useRef()// 自营计划的月度明细
|
||||||
const [contentLoading, setContentLoading] = useState<boolean>(false)// 显示抽屉加载效果的判断条件
|
const [contentLoading,setContentLoading] = useState<boolean>(false)// 显示抽屉加载效果的判断条件
|
||||||
// 设置页面右侧上面昨日数据里面的时间选择器里的禁用时间用的方法
|
// 设置页面右侧上面昨日数据里面的时间选择器里的禁用时间用的方法
|
||||||
const disabledDate = (current: any) => {
|
const disabledDate = (current: any) => {
|
||||||
return current && current < moment().subtract(10, 'day') || current > moment().subtract(1, 'day');
|
return current && current < moment().subtract(10, 'day') || current > moment().subtract(1, 'day');
|
||||||
@ -478,12 +478,12 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
req = {
|
req = {
|
||||||
ServerpartId: id,
|
ServerpartId: id,
|
||||||
StartDate: `${y}-01-01`,
|
StartDate: `${y}-01-01`,
|
||||||
ShowProjectSplit: false
|
ShowProjectSplit:false
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
req = {
|
req = {
|
||||||
ServerpartId: id,
|
ServerpartId: id,
|
||||||
ShowProjectSplit: false
|
ShowProjectSplit:false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const data = await getBrandReceivablesList(req)
|
const data = await getBrandReceivablesList(req)
|
||||||
@ -656,8 +656,8 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
sectionMaxRef.current = Number((sectionMax / 10000).toFixed(2))
|
sectionMaxRef.current = Number((sectionMax / 10000).toFixed(2))
|
||||||
entryMaxRef.current = entryMax
|
entryMaxRef.current = entryMax
|
||||||
|
|
||||||
console.log('pieLine', pieLine)
|
console.log('pieLine',pieLine)
|
||||||
console.log('pieList', pieList)
|
console.log('pieList',pieList)
|
||||||
|
|
||||||
// setServiceCarList(data.data)
|
// setServiceCarList(data.data)
|
||||||
if (showDrawer) {
|
if (showDrawer) {
|
||||||
@ -717,7 +717,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
// 改变归属地右边城市列表的方法
|
// 改变归属地右边城市列表的方法
|
||||||
const getCityList = async (ProvinceName: string, allCount: number, type: number, time: any) => {
|
const getCityList = async (ProvinceName: string, allCount: number, type: number, time: any) => {
|
||||||
const req = {
|
const req = {
|
||||||
StatisticsMonth: time ? moment(time).format('YYYYMM') : moment(moment().subtract(1, 'day').format('YYYY-MM-DD')).format('YYYYMM'),
|
StatisticsMonth: time?moment(time).format('YYYYMM') :moment(moment().subtract(1, 'day').format('YYYY-MM-DD')).format('YYYYMM'),
|
||||||
Serverpart_ID: serverpartId.current,
|
Serverpart_ID: serverpartId.current,
|
||||||
ProvinceName,
|
ProvinceName,
|
||||||
isExclude: ProvinceName.indexOf(',') !== -1,
|
isExclude: ProvinceName.indexOf(',') !== -1,
|
||||||
@ -914,8 +914,6 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
}
|
}
|
||||||
const data = await getServiceDetail(req)
|
const data = await getServiceDetail(req)
|
||||||
setServiceName(data.SERVERPART_NAME)
|
setServiceName(data.SERVERPART_NAME)
|
||||||
console.log('datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatavv', data);
|
|
||||||
|
|
||||||
setServiceDetail(data)
|
setServiceDetail(data)
|
||||||
}
|
}
|
||||||
const typeObj = {
|
const typeObj = {
|
||||||
@ -1196,15 +1194,15 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
<div className={'onSaleProjectTitle'}>在营项目</div>
|
<div className={'onSaleProjectTitle'}>在营项目</div>
|
||||||
<div className={'projectContent'}>
|
<div className={'projectContent'}>
|
||||||
<Radio.Group className={'tab'} value={selectTab} onChange={(val) => {
|
<Radio.Group className={'tab'} value={selectTab} onChange={(val) => {
|
||||||
console.log('val', val)
|
console.log('val',val)
|
||||||
setSelectTab(val.target.value)
|
setSelectTab(val.target.value)
|
||||||
setTableList(allList[val.target.value])
|
setTableList(allList[val.target.value])
|
||||||
console.log('tabs', tabs)
|
console.log('tabs',tabs)
|
||||||
}}>
|
}}>
|
||||||
{
|
{
|
||||||
tabs && tabs.length > 0 ? tabs.map((item: any) => {
|
tabs && tabs.length>0?tabs.map((item: any) => {
|
||||||
return <Radio.Button className={'tabItem'} value={item.key}>{item.label}<span style={{ marginLeft: '4px' }}>{`(${item.value})`}</span></Radio.Button>
|
return <Radio.Button className={'tabItem'} value={item.key}>{item.label}<span style={{ marginLeft: '4px' }}>{`(${item.value})`}</span></Radio.Button>
|
||||||
}) : ''
|
}):''
|
||||||
}
|
}
|
||||||
</Radio.Group>
|
</Radio.Group>
|
||||||
<div className={'brandList'}>
|
<div className={'brandList'}>
|
||||||
@ -1255,323 +1253,323 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
</>
|
</>
|
||||||
:
|
:
|
||||||
// 平面图不显示的时候 左侧显示的内容
|
// 平面图不显示的时候 左侧显示的内容
|
||||||
<>
|
<>
|
||||||
<div className={'serviceImg'}>
|
<div className={'serviceImg'}>
|
||||||
{
|
{
|
||||||
serviceDetail?.ImageLits && serviceDetail?.ImageLits.length > 0 && serviceDetail?.ImageLits[0] ?
|
serviceDetail?.ImageLits && serviceDetail?.ImageLits.length > 0 && serviceDetail?.ImageLits[0] ?
|
||||||
<img className={'img'} src={serviceDetail?.ImageLits[0]} /> :
|
<img className={'img'} src={serviceDetail?.ImageLits[0]} /> :
|
||||||
<img className={'defaultImg'} src={defaultIcon} />
|
<img className={'defaultImg'} src={defaultIcon} />
|
||||||
}
|
}
|
||||||
</div>
|
|
||||||
<div className={'desc'}>
|
|
||||||
<img className={'descIcon'} src={descIcon} />
|
|
||||||
<span className={'descText'}>{serviceDetail?.ServerpartInfo?.SERVERPART_INFO}</span>
|
|
||||||
<span className={'notice'}>{serviceDetail?.ServerpartInfo?.SERVERPART_INFO}</span>
|
|
||||||
</div>
|
|
||||||
<div className={'serviceTypeTabs'}>
|
|
||||||
<div className={'serviceTypeItem'}>
|
|
||||||
<img className={'itemIcon'} src={carService} />
|
|
||||||
<span className={'itemText'}>司机之家</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className={'desc'}>
|
||||||
<div className={'serviceTypeItem'}>
|
<img className={'descIcon'} src={descIcon} />
|
||||||
<img className={'itemIcon'} src={hotal} />
|
<span className={'descText'}>{serviceDetail?.ServerpartInfo?.SERVERPART_INFO}</span>
|
||||||
<span className={'itemText'}>客房</span>
|
<span className={'notice'}>{serviceDetail?.ServerpartInfo?.SERVERPART_INFO}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div className={'serviceTypeTabs'}>
|
||||||
<div className={'serviceTypeItem'}>
|
<div className={'serviceTypeItem'}>
|
||||||
<img className={'itemIcon'} src={charge} />
|
<img className={'itemIcon'} src={carService} />
|
||||||
<span className={'itemText'}>充电桩</span>
|
<span className={'itemText'}>司机之家</span>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'serviceTypeItem'}>
|
|
||||||
<img className={'itemIcon'} src={baby} />
|
|
||||||
<span className={'itemText'}>母婴室</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{
|
|
||||||
serviceDetail ?
|
|
||||||
<div className={'detailList'}>
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={area} />
|
|
||||||
<span className={'itemLeftLabel'}>占地面积</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.FLOORAREA ? fmoney(serviceDetail.ServerpartInfo.FLOORAREA, 2) : '-'}m²</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={stopArea} />
|
|
||||||
<span className={'itemLeftLabel'}>停车场面积</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SHAREAREA ? fmoney(serviceDetail.ServerpartInfo.SHAREAREA, 2) : '-'}m²</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={buildArea} />
|
|
||||||
<span className={'itemLeftLabel'}>建筑面积</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SERVERPART_AREA ? fmoney(serviceDetail.ServerpartInfo.SERVERPART_AREA, 2) : '-'}m²</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={water} />
|
|
||||||
<span className={'itemLeftLabel'}>取水方式</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.WATERINTAKE_TYPE === 1 ? '自来水' : serviceDetail.ServerpartInfo.WATERINTAKE_TYPE === 2 ? '井水' : ''}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={badWater} />
|
|
||||||
<span className={'itemLeftLabel'}>污水处理</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SEWAGEDISPOSAL_TYPE === 1 ? '市政' : serviceDetail.ServerpartInfo?.SEWAGEDISPOSAL_TYPE === 2 ? '污水处理设备' : ''}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={fixed} />
|
|
||||||
<span className={'itemLeftLabel'}>市区县镇</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SERVERPART_ADDRESS ? serviceDetail.ServerpartInfo.SERVERPART_ADDRESS : ''}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'}>
|
|
||||||
<img className={'itemLeftIcon'} src={managerUnit} />
|
|
||||||
<span className={'itemLeftLabel'}>管理单位</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.MANAGERCOMPANY ? serviceDetail.ServerpartInfo.MANAGERCOMPANY : ''}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'detailItem'}>
|
|
||||||
<div className={'detailItemLeft'} >
|
|
||||||
<img className={'itemLeftIcon'} src={propryRight} />
|
|
||||||
<span className={'itemLeftLabel'}>产权单位</span>
|
|
||||||
</div>
|
|
||||||
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.OWNEDCOMPANY ? serviceDetail.ServerpartInfo.OWNEDCOMPANY : ''}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
: ''
|
|
||||||
}
|
<div className={'serviceTypeItem'}>
|
||||||
<div className={'areaList'}>
|
<img className={'itemIcon'} src={hotal} />
|
||||||
|
<span className={'itemText'}>客房</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'serviceTypeItem'}>
|
||||||
|
<img className={'itemIcon'} src={charge} />
|
||||||
|
<span className={'itemText'}>充电桩</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'serviceTypeItem'}>
|
||||||
|
<img className={'itemIcon'} src={baby} />
|
||||||
|
<span className={'itemText'}>母婴室</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{
|
{
|
||||||
serviceDetail && serviceDetail.RegionInfo ?
|
serviceDetail ?
|
||||||
serviceDetail.RegionInfo.map((item: any) => {
|
<div className={'detailList'}>
|
||||||
return <div className={'areaItem'}>
|
<div className={'detailItem'}>
|
||||||
<div className={'areaItemTop'}>
|
<div className={'detailItemLeft'}>
|
||||||
<img className={'itemTopIcon'} src={ES} style={{ transform: `rotate(${item.SERVERPART_REGIONNAME === '东区' || item.SERVERPART_REGIONNAME === '西区' ? '90deg' : '0deg'})` }} />
|
<img className={'itemLeftIcon'} src={area} />
|
||||||
<span className={'itemTitle'}>{`${item.SERVERPART_REGIONNAME || ''}`}</span>
|
<span className={'itemLeftLabel'}>占地面积</span>
|
||||||
<span className={'typeItem'}></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'itemList'}>
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASPANTRY ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={manWC} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
男厕
|
|
||||||
{
|
|
||||||
item.HASPANTRY ?
|
|
||||||
<span className={'number'}>{`(${item.HASPANTRY || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASWIFI ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={womenWC} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
女厕
|
|
||||||
{
|
|
||||||
item.HASWIFI ?
|
|
||||||
<span className={'number'}>{`(${item.HASWIFI || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASTHIRDTOILETS ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={thirdToilets} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
第三卫生间
|
|
||||||
{
|
|
||||||
item.HASTHIRDTOILETS ?
|
|
||||||
<span className={'number'}>{`(${item.HASTHIRDTOILETS || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.TOILETCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={tidalSpace} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
潮汐厕位
|
|
||||||
{
|
|
||||||
item.TOILETCOUNT ?
|
|
||||||
<span className={'number'}>{`(${item.TOILETCOUNT || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASWATERROOM ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={waterBoiler} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
开水器
|
|
||||||
{
|
|
||||||
item.HASWATERROOM ?
|
|
||||||
<span className={'number'}>{`(${item.HASWATERROOM || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASSHOWERROOM ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={vehicleRefueling} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
车辆加水
|
|
||||||
{
|
|
||||||
item.HASSHOWERROOM ?
|
|
||||||
<span className={'number'}>{`(${item.HASSHOWERROOM || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASCHILD ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={maintenance} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
车辆维修
|
|
||||||
{
|
|
||||||
item.HASCHILD ?
|
|
||||||
<span className={'number'}>{`(${item.HASCHILD || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.SMALLPARKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={car} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
轿车车位
|
|
||||||
{
|
|
||||||
item.SMALLPARKING ?
|
|
||||||
<span className={'number'}>{`(${item.SMALLPARKING || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.PACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={bus} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
客车车位
|
|
||||||
{
|
|
||||||
item.PACKING ?
|
|
||||||
<span className={'number'}>{`(${item.PACKING || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.TRUCKPACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={trainCar} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
货车车位
|
|
||||||
{
|
|
||||||
item.TRUCKPACKING ?
|
|
||||||
<span className={'number'}>{`(${item.TRUCKPACKING || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.DININGROOMCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={food} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
餐饮
|
|
||||||
{
|
|
||||||
item.DININGROOMCOUNT ?
|
|
||||||
<span className={'number'}>{`(${item.DININGROOMCOUNT || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASBACKGROUNDRADIO ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={minimart} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
便利店
|
|
||||||
{
|
|
||||||
item.HASBACKGROUNDRADIO ?
|
|
||||||
<span className={'number'}>{`(${item.HASBACKGROUNDRADIO || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.HASMESSAGESEARCH ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={room} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
住宿
|
|
||||||
{
|
|
||||||
item.HASMESSAGESEARCH ?
|
|
||||||
<span className={'number'}>{`(${item.HASMESSAGESEARCH || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.DININGBXCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={shop} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
商铺
|
|
||||||
{
|
|
||||||
item.DININGBXCOUNT ?
|
|
||||||
<span className={'number'}>{`(${item.DININGBXCOUNT || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className={'contentItem'}>
|
|
||||||
<div className={item.DANPACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
|
||||||
<img className={'contentItemIcon'} src={chemicals} />
|
|
||||||
<span className={'contentItemText'}>
|
|
||||||
危化品车位
|
|
||||||
{
|
|
||||||
item.DANPACKING ?
|
|
||||||
<span className={'number'}>{`(${item.DANPACKING || ""})`}</span> : ''
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.FLOORAREA ? fmoney(serviceDetail.ServerpartInfo.FLOORAREA, 2) : '-'}m²</div>
|
||||||
</div>
|
</div>
|
||||||
}) : <NoData />
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={stopArea} />
|
||||||
|
<span className={'itemLeftLabel'}>停车场面积</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SHAREAREA ? fmoney(serviceDetail.ServerpartInfo.SHAREAREA, 2) : '-'}m²</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={buildArea} />
|
||||||
|
<span className={'itemLeftLabel'}>建筑面积</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SERVERPART_AREA ? fmoney(serviceDetail.ServerpartInfo.SERVERPART_AREA, 2) : '-'}m²</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={water} />
|
||||||
|
<span className={'itemLeftLabel'}>取水方式</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.WATERINTAKE_TYPE === 1 ? '自来水' : serviceDetail.ServerpartInfo.WATERINTAKE_TYPE === 2 ? '井水' : ''}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={badWater} />
|
||||||
|
<span className={'itemLeftLabel'}>污水处理</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SEWAGEDISPOSAL_TYPE === 1 ? '市政' : serviceDetail.ServerpartInfo?.SEWAGEDISPOSAL_TYPE === 2 ? '污水处理设备' : ''}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={fixed} />
|
||||||
|
<span className={'itemLeftLabel'}>市区县镇</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.SERVERPART_ADDRESS ? serviceDetail.ServerpartInfo.SERVERPART_ADDRESS : ''}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'}>
|
||||||
|
<img className={'itemLeftIcon'} src={managerUnit} />
|
||||||
|
<span className={'itemLeftLabel'}>管理单位</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.MANAGERCOMPANY ? serviceDetail.ServerpartInfo.MANAGERCOMPANY : ''}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'detailItem'}>
|
||||||
|
<div className={'detailItemLeft'} >
|
||||||
|
<img className={'itemLeftIcon'} src={propryRight} />
|
||||||
|
<span className={'itemLeftLabel'}>产权单位</span>
|
||||||
|
</div>
|
||||||
|
<div className={'detailItemRight'}>{serviceDetail?.ServerpartInfo?.OWNEDCOMPANY ? serviceDetail.ServerpartInfo.OWNEDCOMPANY : ''}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
: ''
|
||||||
}
|
}
|
||||||
</div>
|
<div className={'areaList'}>
|
||||||
</>
|
{
|
||||||
|
serviceDetail && serviceDetail.RegionInfo ?
|
||||||
|
serviceDetail.RegionInfo.map((item: any) => {
|
||||||
|
return <div className={'areaItem'}>
|
||||||
|
<div className={'areaItemTop'}>
|
||||||
|
<img className={'itemTopIcon'} src={ES} style={{ transform: `rotate(${item.SERVERPART_REGIONNAME === '东区' || item.SERVERPART_REGIONNAME === '西区' ? '90deg' : '0deg'})` }} />
|
||||||
|
<span className={'itemTitle'}>{`${item.SERVERPART_REGIONNAME || ''}`}</span>
|
||||||
|
<span className={'typeItem'}></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'itemList'}>
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASPANTRY ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={manWC} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
男厕
|
||||||
|
{
|
||||||
|
item.HASPANTRY ?
|
||||||
|
<span className={'number'}>{`(${item.HASPANTRY || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASWIFI ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={womenWC} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
女厕
|
||||||
|
{
|
||||||
|
item.HASWIFI ?
|
||||||
|
<span className={'number'}>{`(${item.HASWIFI || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASTHIRDTOILETS ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={thirdToilets} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
第三卫生间
|
||||||
|
{
|
||||||
|
item.HASTHIRDTOILETS ?
|
||||||
|
<span className={'number'}>{`(${item.HASTHIRDTOILETS || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.TOILETCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={tidalSpace} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
潮汐厕位
|
||||||
|
{
|
||||||
|
item.TOILETCOUNT ?
|
||||||
|
<span className={'number'}>{`(${item.TOILETCOUNT || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASWATERROOM ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={waterBoiler} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
开水器
|
||||||
|
{
|
||||||
|
item.HASWATERROOM ?
|
||||||
|
<span className={'number'}>{`(${item.HASWATERROOM || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASSHOWERROOM ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={vehicleRefueling} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
车辆加水
|
||||||
|
{
|
||||||
|
item.HASSHOWERROOM ?
|
||||||
|
<span className={'number'}>{`(${item.HASSHOWERROOM || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASCHILD ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={maintenance} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
车辆维修
|
||||||
|
{
|
||||||
|
item.HASCHILD ?
|
||||||
|
<span className={'number'}>{`(${item.HASCHILD || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.SMALLPARKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={car} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
轿车车位
|
||||||
|
{
|
||||||
|
item.SMALLPARKING ?
|
||||||
|
<span className={'number'}>{`(${item.SMALLPARKING || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.PACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={bus} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
客车车位
|
||||||
|
{
|
||||||
|
item.PACKING ?
|
||||||
|
<span className={'number'}>{`(${item.PACKING || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.TRUCKPACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={trainCar} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
货车车位
|
||||||
|
{
|
||||||
|
item.TRUCKPACKING ?
|
||||||
|
<span className={'number'}>{`(${item.TRUCKPACKING || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.DININGROOMCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={food} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
餐饮
|
||||||
|
{
|
||||||
|
item.DININGROOMCOUNT ?
|
||||||
|
<span className={'number'}>{`(${item.DININGROOMCOUNT || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASBACKGROUNDRADIO ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={minimart} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
便利店
|
||||||
|
{
|
||||||
|
item.HASBACKGROUNDRADIO ?
|
||||||
|
<span className={'number'}>{`(${item.HASBACKGROUNDRADIO || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.HASMESSAGESEARCH ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={room} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
住宿
|
||||||
|
{
|
||||||
|
item.HASMESSAGESEARCH ?
|
||||||
|
<span className={'number'}>{`(${item.HASMESSAGESEARCH || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.DININGBXCOUNT ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={shop} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
商铺
|
||||||
|
{
|
||||||
|
item.DININGBXCOUNT ?
|
||||||
|
<span className={'number'}>{`(${item.DININGBXCOUNT || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'contentItem'}>
|
||||||
|
<div className={item.DANPACKING ? 'contentItemBox' : 'contentItemBox noContentItemBox'}>
|
||||||
|
<img className={'contentItemIcon'} src={chemicals} />
|
||||||
|
<span className={'contentItemText'}>
|
||||||
|
危化品车位
|
||||||
|
{
|
||||||
|
item.DANPACKING ?
|
||||||
|
<span className={'number'}>{`(${item.DANPACKING || ""})`}</span> : ''
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}) : <NoData />
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
@ -1969,7 +1967,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
{/* giveProjectServiceInfo 拿到商家id和商家名称 handleGetTableList拿到在营项目列表中的列表数据 平面图出现的时候 左侧显示的内容 */}
|
{/* giveProjectServiceInfo 拿到商家id和商家名称 handleGetTableList拿到在营项目列表中的列表数据 平面图出现的时候 左侧显示的内容 */}
|
||||||
<OnlineProjectItem onRef={OnlineProjectItemRef} getModeLabel={getModeLabel} fmoney={fmoney} openProject={openProject} serverpartId={serverpartId}
|
<OnlineProjectItem onRef={OnlineProjectItemRef} getModeLabel={getModeLabel} fmoney={fmoney} openProject={openProject} serverpartId={serverpartId}
|
||||||
giveProjectServiceInfo={giveProjectServiceInfo} handleGetTableList={handleGetTableList} showList={showList} setShowList={setShowList}
|
giveProjectServiceInfo={giveProjectServiceInfo} handleGetTableList={handleGetTableList} showList={showList} setShowList={setShowList}
|
||||||
tableShowBottom={true} />
|
tableShowBottom={true}/>
|
||||||
|
|
||||||
{/* <div className={'onSaleProject'}> */}
|
{/* <div className={'onSaleProject'}> */}
|
||||||
{/* <div className={'onSaleProjectTitle'}>在营项目</div> */}
|
{/* <div className={'onSaleProjectTitle'}>在营项目</div> */}
|
||||||
@ -2669,23 +2667,23 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
</div>
|
</div>
|
||||||
<div className={'drawerContent'}>
|
<div className={'drawerContent'}>
|
||||||
{
|
{
|
||||||
contentLoading ?
|
contentLoading?
|
||||||
<div className={'contentLoading'}>
|
<div className={'contentLoading'}>
|
||||||
<div className={'loading'}>
|
<div className={'loading'}>
|
||||||
<Spin />
|
<Spin />
|
||||||
<span style={{ marginLeft: '5px' }}>{'加载中.....'}</span>
|
<span style={{ marginLeft: '5px' }}>{'加载中.....'}</span>
|
||||||
</div>
|
</div>
|
||||||
</div> : ''
|
</div>:''
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
selectFun === 1 ?
|
selectFun === 1 ?
|
||||||
<>
|
<>
|
||||||
<div style={{ marginBottom: '12px', width: '100%', display: 'flex', justifyContent: 'space-between' }}>
|
<div style={{ marginBottom: '12px', width: '100%', display: 'flex', justifyContent: 'space-between' }}>
|
||||||
<RangePicker value={funTimeDate1} format={'YYYY-MM-DD'} onChange={(val: any) => {
|
<RangePicker value={funTimeDate1} format={'YYYY-MM-DD'} onChange={(val: any) => {
|
||||||
if (val) {
|
if (val){
|
||||||
setFunTimeDate1([moment(val[0]._d), moment(val[1]._d)])
|
setFunTimeDate1([moment(val[0]._d), moment(val[1]._d)])
|
||||||
handleMeetingDetail(serverpartId.current, [moment(val[0]._d), moment(val[1]._d)])
|
handleMeetingDetail(serverpartId.current, [moment(val[0]._d), moment(val[1]._d)])
|
||||||
} else {
|
}else{
|
||||||
setFunTimeDate1([])
|
setFunTimeDate1([])
|
||||||
setMeetDetail([])
|
setMeetDetail([])
|
||||||
}
|
}
|
||||||
@ -2776,10 +2774,10 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
<>
|
<>
|
||||||
<div style={{ marginBottom: '12px', width: '100%', display: 'flex', justifyContent: 'space-between' }}>
|
<div style={{ marginBottom: '12px', width: '100%', display: 'flex', justifyContent: 'space-between' }}>
|
||||||
<RangePicker value={funTimeDate3} disabledDate={dailyDisableDate} format={'YYYY-MM-DD'} onChange={(val: any) => {
|
<RangePicker value={funTimeDate3} disabledDate={dailyDisableDate} format={'YYYY-MM-DD'} onChange={(val: any) => {
|
||||||
if (val) {
|
if (val){
|
||||||
setFunTimeDate3([moment(val[0]._d), moment(val[1]._d)])
|
setFunTimeDate3([moment(val[0]._d), moment(val[1]._d)])
|
||||||
getDailySerach(serverpartId.current, [moment(val[0]._d), moment(val[1]._d)])
|
getDailySerach(serverpartId.current, [moment(val[0]._d), moment(val[1]._d)])
|
||||||
} else {
|
}else{
|
||||||
setFunTimeDate3([])
|
setFunTimeDate3([])
|
||||||
setDailyData([])
|
setDailyData([])
|
||||||
}
|
}
|
||||||
@ -2925,7 +2923,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
<>
|
<>
|
||||||
<div style={{ display: selectFun === 4 ? 'block' : 'none' }}>
|
<div style={{ display: selectFun === 4 ? 'block' : 'none' }}>
|
||||||
<Card bordered={false} bodyStyle={{ padding: 0, margin: 0 }}>
|
<Card bordered={false} bodyStyle={{ padding: 0, margin: 0 }}>
|
||||||
<RevenueSummary serverpartId={serverpartId.current} type={true} />
|
<RevenueSummary serverpartId={serverpartId.current} type={true}/>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
@ -2937,7 +2935,7 @@ const BrandTable: React.FC<{ currentUser: CurrentUser }> = ({ currentUser }) =>
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<>
|
<>
|
||||||
<div style={{ display: selectFun === 6 ? 'block' : 'none', width: '100%' }}>
|
<div style={{ display: selectFun === 6 ? 'block' : 'none',width:'100%' }}>
|
||||||
<ShareBenefit isComponents={true} ServerpartId={serverpartId.current} />
|
<ShareBenefit isComponents={true} ServerpartId={serverpartId.current} />
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -27,11 +27,10 @@ import numeral from 'numeral';
|
|||||||
|
|
||||||
import { exportExcel } from '@/utils/utils';
|
import { exportExcel } from '@/utils/utils';
|
||||||
import { getYSSellMasterList } from './service';
|
import { getYSSellMasterList } from './service';
|
||||||
import { getMoney, getUserShopTree } from '@/services/options';
|
import { getUserShopTree } from '@/services/options';
|
||||||
|
|
||||||
import '../../style.less';
|
import '../../style.less';
|
||||||
import './salesFlow.less'
|
import './salesFlow.less'
|
||||||
import { getYSSellMasterListAllData } from '@/pages/reports/BusinessAnalysis/saleFlow/service';
|
|
||||||
|
|
||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
|
|
||||||
@ -53,7 +52,6 @@ const CommoditysaleTable: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
const { loading: shopLoading, data: shopTree } = useRequest(() => { return getUserShopTree(currentUser?.ID) })
|
const { loading: shopLoading, data: shopTree } = useRequest(() => { return getUserShopTree(currentUser?.ID) })
|
||||||
const defaultShops = currentUser?.ServerpartShopIds ? currentUser?.ServerpartShopIds.split(',').map(Number) : []
|
const defaultShops = currentUser?.ServerpartShopIds ? currentUser?.ServerpartShopIds.split(',').map(Number) : []
|
||||||
const [shopId, setShopId] = useState<[]>(); // 选择的门店 根据选择的门店筛选数据结果
|
const [shopId, setShopId] = useState<[]>(); // 选择的门店 根据选择的门店筛选数据结果
|
||||||
const [otherData, setOtherData] = useState<any>()
|
|
||||||
|
|
||||||
const columns: ProColumns<YSSELLMASTERModel>[] = [
|
const columns: ProColumns<YSSELLMASTERModel>[] = [
|
||||||
|
|
||||||
@ -202,22 +200,21 @@ const CommoditysaleTable: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
search={{ span: 6 }}
|
search={{ span: 6 }}
|
||||||
request={async (params) => {
|
request={async (params) => {
|
||||||
if (shopId && shopId.length > 0) {
|
if (shopId && shopId.length > 0) {
|
||||||
const data = await getYSSellMasterListAllData({
|
const data = await getYSSellMasterList({
|
||||||
...params,
|
...params,
|
||||||
SERVERPARTSHOP_ID: shopId && shopId.length > 0 ? shopId.toString() : currentUser?.ServerpartShopIds,
|
SERVERPARTSHOP_ID: shopId && shopId.length > 0 ? shopId.toString() : currentUser?.ServerpartShopIds,
|
||||||
});
|
});
|
||||||
setReqDetailList(data.data);
|
setReqDetailList(data.data);
|
||||||
console.log('data', data);
|
console.log('data', data.data);
|
||||||
const list: any = JSON.parse(JSON.stringify(data.List))
|
const list: any = JSON.parse(JSON.stringify(data.data))
|
||||||
if (list && list.length > 0) {
|
if (list && list.length > 0) {
|
||||||
list.forEach((item: any, index: number) => {
|
list.forEach((item: any, index: number) => {
|
||||||
item.index = index + 1
|
item.index = index + 1
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
console.log('list', list);
|
console.log('list', list);
|
||||||
data.List = list
|
data.data = list
|
||||||
setOtherData(data.OtherData)
|
return data;
|
||||||
return { data: data.List, success: true };
|
|
||||||
}
|
}
|
||||||
return { data: [], success: true }
|
return { data: [], success: true }
|
||||||
}}
|
}}
|
||||||
@ -246,28 +243,16 @@ const CommoditysaleTable: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
}}
|
}}
|
||||||
tableExtraRender={
|
tableExtraRender={
|
||||||
(_, data) => {
|
(_, data) => {
|
||||||
if (data) {
|
|
||||||
const devicesList: any = []
|
|
||||||
const reduceData = data.reduce((
|
|
||||||
p: {
|
|
||||||
SELLMASTER_OFFPRICE: number,
|
|
||||||
SELLMASTER_COUNT: number,
|
|
||||||
SELLMASTER_AMOUNT: number,
|
|
||||||
MACHINECODE: string[],
|
|
||||||
payway: {},
|
|
||||||
mobilePay: {}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
if (data) {
|
||||||
|
const reduceData = data.reduce((
|
||||||
|
p: { SELLMASTER_OFFPRICE: number, SELLMASTER_COUNT: number, SELLMASTER_AMOUNT: number, MACHINECODE: string[], payway: {}, mobilePay: {} },
|
||||||
currentValue: YSSELLMASTERModel) => {
|
currentValue: YSSELLMASTERModel) => {
|
||||||
const previousValue = { ...p }
|
const previousValue = { ...p }
|
||||||
previousValue.SELLMASTER_COUNT += currentValue.SELLMASTER_COUNT || 0; // 销售数量
|
previousValue.SELLMASTER_COUNT += currentValue.SELLMASTER_COUNT || 0; // 销售数量
|
||||||
previousValue.SELLMASTER_OFFPRICE += currentValue.SELLMASTER_OFFPRICE || 0; // 优惠金额
|
previousValue.SELLMASTER_OFFPRICE += currentValue.SELLMASTER_OFFPRICE || 0; // 优惠金额
|
||||||
previousValue.SELLMASTER_AMOUNT += currentValue.SELLMASTER_AMOUNT || 0; // 实收金额
|
previousValue.SELLMASTER_AMOUNT += currentValue.SELLMASTER_AMOUNT || 0; // 实收金额
|
||||||
|
|
||||||
if (devicesList.indexOf(currentValue.MACHINECODE) === -1) {
|
|
||||||
devicesList.push(currentValue.MACHINECODE)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentValue.PAYMENT_TYPE === 1010 || currentValue.PAYMENT_TYPE === 1020) {
|
if (currentValue.PAYMENT_TYPE === 1010 || currentValue.PAYMENT_TYPE === 1020) {
|
||||||
previousValue.payway['移动'] += currentValue.SELLMASTER_AMOUNT
|
previousValue.payway['移动'] += currentValue.SELLMASTER_AMOUNT
|
||||||
if (!previousValue.mobilePay[currentValue.PAYMENT_TYPE_TEXT]) { // 移动支付方式
|
if (!previousValue.mobilePay[currentValue.PAYMENT_TYPE_TEXT]) { // 移动支付方式
|
||||||
@ -285,61 +270,60 @@ const CommoditysaleTable: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
previousValue.MACHINECODE.push(currentValue.MACHINECODE); // 收银机号
|
previousValue.MACHINECODE.push(currentValue.MACHINECODE); // 收银机号
|
||||||
}
|
}
|
||||||
return previousValue
|
return previousValue
|
||||||
}, {
|
}, { SELLMASTER_OFFPRICE: 0, SELLMASTER_COUNT: 0, SELLMASTER_AMOUNT: 0, MACHINECODE: [], payway: { '移动': 0, '现金': 0, }, mobilePay: {} });
|
||||||
SELLMASTER_OFFPRICE: 0,
|
console.log('reduceData', reduceData);
|
||||||
SELLMASTER_COUNT: 0,
|
|
||||||
SELLMASTER_AMOUNT: 0,
|
|
||||||
MACHINECODE: [],
|
|
||||||
payway: { '移动': 0, '现金': 0, },
|
|
||||||
mobilePay: {}
|
|
||||||
});
|
|
||||||
return <div style={{ paddingLeft: 24 }}>
|
return <div style={{ paddingLeft: 24 }}>
|
||||||
<Descriptions
|
<Descriptions
|
||||||
title={<Text type="success" style={{ color: "#1890ff", fontSize: 14 }}>合计信息</Text>}
|
title={<Text type="success" style={{ color: "#1890ff", fontSize: 14 }}>销售流水汇总</Text>}
|
||||||
size="small" column={7}
|
size="small" column={5}
|
||||||
className="commity-sale-description"
|
className="commity-sale-description"
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
||||||
>
|
>
|
||||||
<Descriptions.Item label="客单数量">{numeral(data.length).format('0,0')}<Text
|
<Descriptions.Item className='mobileMoney' label="移动支付">
|
||||||
type="secondary"> 笔</Text></Descriptions.Item>
|
¥<span className='mobileMoneyText'>{numeral(reduceData.payway['移动']).format('0,0.00')}</span>
|
||||||
<Descriptions.Item
|
</Descriptions.Item>
|
||||||
label="实收金额">¥{numeral(reduceData.SELLMASTER_AMOUNT).format('0,0.00')}</Descriptions.Item>
|
<Descriptions.Item label="现金支付">¥{numeral(reduceData.payway['现金']).format('0,0.00')}</Descriptions.Item>
|
||||||
<Descriptions.Item
|
<Descriptions.Item label="实收金额">¥{numeral(reduceData.SELLMASTER_AMOUNT).format('0,0.00')}</Descriptions.Item>
|
||||||
label="优惠金额">¥{numeral(reduceData.SELLMASTER_OFFPRICE).format('0,0.00')}</Descriptions.Item>
|
</Descriptions>
|
||||||
<Descriptions.Item
|
<Descriptions size="small" className="commity-sale-description" column={5} contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}>
|
||||||
label="客单均价">¥{numeral(reduceData.SELLMASTER_AMOUNT / data.length).format('0,0.00')}</Descriptions.Item>
|
<Descriptions.Item label="客单数量">{numeral(data.length).format('0,0')}<Text type="secondary"> 笔</Text></Descriptions.Item>
|
||||||
<Descriptions.Item label="销售数量">{numeral(reduceData.SELLMASTER_COUNT).format('0,0')}<Text
|
<Descriptions.Item label="优惠金额">¥{numeral(reduceData.SELLMASTER_OFFPRICE).format('0,0.00')}</Descriptions.Item>
|
||||||
type="secondary"> 件</Text></Descriptions.Item>
|
<Descriptions.Item label="收银机">{numeral(reduceData.MACHINECODE.length).format('0,0')}<Text type="secondary"> 台</Text></Descriptions.Item>
|
||||||
<Descriptions.Item label="设备数量">{devicesList && devicesList.length > 0 ? devicesList.length : '-'}台</Descriptions.Item>
|
</Descriptions>
|
||||||
<Descriptions.Item label="统计时间">{moment().format('YYYY-MM-DD')}</Descriptions.Item>
|
<Descriptions size="small" className="commity-sale-description" column={5} contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}>
|
||||||
|
<Descriptions.Item label="销售数量">{numeral(reduceData.SELLMASTER_COUNT).format('0,0')}<Text type="secondary"> 件</Text></Descriptions.Item>
|
||||||
|
<Descriptions.Item label="客单均价">¥{numeral(reduceData.SELLMASTER_AMOUNT / data.length).format('0,0.00')}</Descriptions.Item>
|
||||||
|
<Descriptions.Item label="商品均价">¥{numeral(reduceData.SELLMASTER_AMOUNT / reduceData.SELLMASTER_COUNT).format('0,0.00')}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
|
|
||||||
<Descriptions
|
{/* <Descriptions
|
||||||
title={<Text type="success" style={{ color: "#1890ff", fontSize: 14 }}>支付明细</Text>}
|
size="small"
|
||||||
size="small" column={7}
|
column={5}
|
||||||
className="commity-sale-description"
|
className="commity-sale-description"
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
||||||
>
|
>
|
||||||
<Descriptions.Item
|
{
|
||||||
label="现金支付">{otherData?.CASH ? `¥${numeral(getMoney(otherData?.CASH)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
Object.keys(reduceData.payway).reverse().map((n, index) => {
|
||||||
<Descriptions.Item
|
if (n === '移动') {
|
||||||
label="微信支付">{otherData?.TICKETBILL ? `¥${numeral(getMoney(otherData?.TICKETBILL)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
return <Descriptions.Item span={index === 1 ? 4 : 3} label={`${n}支付`}>¥
|
||||||
<Descriptions.Item label="支付宝支付">{otherData?.OTHERPAY ? `¥${numeral(getMoney(otherData?.OTHERPAY)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Space>{numeral(reduceData.payway[n]).format('0,0.00')}{() => {
|
||||||
<Descriptions.Item label="云闪付">{otherData?.CREDITCARD ? `¥${numeral(getMoney(otherData?.CREDITCARD)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
return (reduceData.payway[n] > 0 && <><Text type="secondary">(</Text>{
|
||||||
<Descriptions.Item label="银联记账">{otherData?.YUNSHANFU ? `¥${numeral(getMoney(otherData?.YUNSHANFU)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
Object.keys(reduceData.mobilePay).map(m =>
|
||||||
<Descriptions.Item label="企业会员">{otherData?.COUPONTYPE_2010 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2010)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Text type="secondary">{m}: ¥{numeral(reduceData.mobilePay[m]).format('0,0.00')}</Text>)
|
||||||
<Descriptions.Item label="电子优惠券">{otherData?.COUPONTYPE_2020 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2020)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
}<Text type="secondary">)</Text></>)
|
||||||
</Descriptions>
|
}}
|
||||||
<Descriptions size="small" className="commity-sale-description" column={7}
|
</Space>
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="大巴优惠券">{otherData?.COUPONTYPE_2030 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2030)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
}
|
||||||
<Descriptions.Item label="团购餐券">{otherData?.COUPONTYPE_2040 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2040)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
return <Descriptions.Item label={`${n}支付`} span={1} >¥{numeral(reduceData.payway[n]).format('0,0.00')}</Descriptions.Item>
|
||||||
<Descriptions.Item label="促销流水">{otherData?.SELLMASTERTYPE_1010 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1010)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
})
|
||||||
<Descriptions.Item label="香烟销售">{otherData?.SELLMASTERTYPE_1020 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1020)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
}
|
||||||
<Descriptions.Item label="在线订单">{otherData?.SELLMASTERTYPE_1030 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1030)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
|
||||||
<Descriptions.Item label="稽核补录">{otherData?.SELLMASTERTYPE_1040 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1040)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
</Descriptions> */}
|
||||||
</Descriptions>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
}
|
}
|
||||||
return <></>
|
return <></>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import useRequest from '@ahooksjs/use-request';
|
|||||||
import ProTable from '@ant-design/pro-table';
|
import ProTable from '@ant-design/pro-table';
|
||||||
import ProCard from '@ant-design/pro-card';
|
import ProCard from '@ant-design/pro-card';
|
||||||
import { MenuFoldOutlined } from '@ant-design/icons';
|
import { MenuFoldOutlined } from '@ant-design/icons';
|
||||||
import { Avatar, Button, Descriptions, Menu, message, Modal, Space, Tree, Typography } from 'antd';
|
import {Avatar, Button, Descriptions, Menu, message, Modal, Space, Tree, Typography} from 'antd';
|
||||||
import React, { useRef, useState } from 'react';
|
import React, { useRef, useState } from 'react';
|
||||||
|
|
||||||
import type { ConnectState } from '@/models/connect';
|
import type { ConnectState } from '@/models/connect';
|
||||||
@ -24,8 +24,8 @@ import moment from 'moment';
|
|||||||
import numeral from 'numeral';
|
import numeral from 'numeral';
|
||||||
|
|
||||||
import { exportExcel } from '@/utils/utils';
|
import { exportExcel } from '@/utils/utils';
|
||||||
import { getYSSellMasterList, getYSSellMasterListAllData } from './service';
|
import {getYSSellMasterList, getYSSellMasterListAllData} from './service';
|
||||||
import { getMoney, handleCallLogs, handleGetServiceShopTreeList } from '@/services/options';
|
import {getMoney, handleCallLogs, handleGetServiceShopTreeList} from '@/services/options';
|
||||||
|
|
||||||
import './style.less';
|
import './style.less';
|
||||||
import './salesFlow.less'
|
import './salesFlow.less'
|
||||||
@ -48,15 +48,15 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
const [currentRow, setCurrentRow] = useState<YSSELLMASTERModel | undefined>(); // 选中的流水
|
const [currentRow, setCurrentRow] = useState<YSSELLMASTERModel | undefined>(); // 选中的流水
|
||||||
const [visible, setVisible] = useState<boolean>(); // 流水明显弹出框
|
const [visible, setVisible] = useState<boolean>(); // 流水明显弹出框
|
||||||
const [reqDetailList, setReqDetailList] = useState<YSSELLMASTERModel[]>();
|
const [reqDetailList, setReqDetailList] = useState<YSSELLMASTERModel[]>();
|
||||||
const [otherData, setOtherData] = useState<any>()
|
const [otherData,setOtherData] = useState<any>()
|
||||||
|
|
||||||
const [collapsible, setCollapsible] = useState<boolean>(false) // 是否隐藏门店服务区筛选
|
const [collapsible, setCollapsible] = useState<boolean>(false) // 是否隐藏门店服务区筛选
|
||||||
const { loading: shopLoading, data: shopTree } = useRequest(async () => {
|
const { loading: shopLoading, data: shopTree } = useRequest(async () => {
|
||||||
const data = await handleGetServiceShopTreeList({
|
const data = await handleGetServiceShopTreeList({
|
||||||
ProvinceCode: currentUser?.ProvinceCode,
|
ProvinceCode:currentUser?.ProvinceCode,
|
||||||
BusinessState: "1000,2000,3000",
|
BusinessState:"1000,2000,3000",
|
||||||
ShowState: true,
|
ShowState: true,
|
||||||
SortStr: 'BUSINESS_STATE,SHOPSHORTNAME'
|
SortStr:'BUSINESS_STATE,SHOPSHORTNAME'
|
||||||
});
|
});
|
||||||
return data
|
return data
|
||||||
})
|
})
|
||||||
@ -65,7 +65,7 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
const [currenMenu, setCurrenMenu] = useState<any>(); // 当前选中左侧菜单的服务区节点
|
const [currenMenu, setCurrenMenu] = useState<any>(); // 当前选中左侧菜单的服务区节点
|
||||||
const [selectedId, setSelectedId] = useState<any>(); // 当前选中左侧菜单的门店节点
|
const [selectedId, setSelectedId] = useState<any>(); // 当前选中左侧菜单的门店节点
|
||||||
const [currenType, setCurrenType] = useState<any>(); // 当前选中左侧菜单的门店节点
|
const [currenType, setCurrenType] = useState<any>(); // 当前选中左侧菜单的门店节点
|
||||||
const [searchParams, setSearchParams] = useState<any>()
|
const [searchParams,setSearchParams] = useState<any>()
|
||||||
|
|
||||||
const columns: ProColumns<YSSELLMASTERModel>[] = [
|
const columns: ProColumns<YSSELLMASTERModel>[] = [
|
||||||
|
|
||||||
@ -159,14 +159,14 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ backgroundColor: '#fff', display: 'flex' }}>
|
<div style={{backgroundColor: '#fff', display: 'flex'}}>
|
||||||
<ProCard
|
<ProCard
|
||||||
className="pageTable-leftnav"
|
className="pageTable-leftnav"
|
||||||
style={{ width: !collapsible ? "300px" : "60px" }}
|
style={{width:!collapsible ? "300px" : "60px"}}
|
||||||
bodyStyle={{ padding: 0, paddingTop: 20, paddingLeft: 20, width: !collapsible ? "300px" : "60px" }}
|
bodyStyle={{padding: 0, paddingTop: 20, paddingLeft: 20,width:!collapsible ? "300px" : "60px"}}
|
||||||
extra={<MenuFoldOutlined onClick={() => {
|
extra={<MenuFoldOutlined onClick={() => {
|
||||||
setCollapsible(!collapsible)
|
setCollapsible(!collapsible)
|
||||||
}} />}
|
}}/>}
|
||||||
colSpan={!collapsible ? "300px" : "60px"}
|
colSpan={!collapsible ? "300px" : "60px"}
|
||||||
title={!collapsible ? "可筛选门店" : ""}
|
title={!collapsible ? "可筛选门店" : ""}
|
||||||
headerBordered
|
headerBordered
|
||||||
@ -189,7 +189,7 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
onCheck={(checkedKeys: React.Key[] | any, info) => {
|
onCheck={(checkedKeys: React.Key[] | any, info) => {
|
||||||
const selectedIds = info.checkedNodes.filter(n => n?.type === 2)
|
const selectedIds = info.checkedNodes.filter(n => n?.type === 2)
|
||||||
setSelectedId(selectedIds.map(n => n?.value)?.toString() || '')
|
setSelectedId(selectedIds.map(n => n?.value)?.toString() || '')
|
||||||
console.log('1111', selectedIds.map(n => n?.value)?.toString() || '')
|
console.log('1111',selectedIds.map(n => n?.value)?.toString() || '')
|
||||||
// actionRef?.current?.reload()
|
// actionRef?.current?.reload()
|
||||||
// getData(selectedIds.map(n => n?.value)?.toString() || '')
|
// getData(selectedIds.map(n => n?.value)?.toString() || '')
|
||||||
}}
|
}}
|
||||||
@ -206,9 +206,9 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
headerTitle={<PageTitleBox props={props} />}
|
headerTitle={<PageTitleBox props={props} />}
|
||||||
formRef={formRef}
|
formRef={formRef}
|
||||||
actionRef={actionRef}
|
actionRef={actionRef}
|
||||||
search={{ span: 6 }}
|
search={{span: 6}}
|
||||||
pagination={{ pageSize: 20 }}
|
pagination={{pageSize: 20}}
|
||||||
scroll={{ y: 'calc(100vh - 470px)' }}
|
scroll={{y: 'calc(100vh - 470px)'}}
|
||||||
request={async (params) => {
|
request={async (params) => {
|
||||||
if (selectedId || currenMenu) {
|
if (selectedId || currenMenu) {
|
||||||
handleCallLogs()
|
handleCallLogs()
|
||||||
@ -220,14 +220,14 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
setSearchParams(req)
|
setSearchParams(req)
|
||||||
const data = await getYSSellMasterListAllData(req);
|
const data = await getYSSellMasterListAllData(req);
|
||||||
console.log('data1', data);
|
console.log('data1', data);
|
||||||
if (data.List && data.List.length > 0) {
|
if(data.List && data.List.length>0){
|
||||||
const list: any = JSON.parse(JSON.stringify(data.List))
|
const list: any = JSON.parse(JSON.stringify(data.List))
|
||||||
setReqDetailList(list);
|
setReqDetailList(list);
|
||||||
console.log('data.otherData', data.otherData)
|
console.log('data.otherData',data.otherData)
|
||||||
setOtherData(data.OtherData)
|
setOtherData(data.OtherData)
|
||||||
return { data: list, success: true }
|
return {data: list, success: true}
|
||||||
}
|
}
|
||||||
return { data: [], success: true }
|
return {data: [], success: true}
|
||||||
|
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@ -246,7 +246,7 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
`销售流水统计_${moment(searchParams?.SELLMASTER_DATE).format('YYYY/MM/DD')}`,
|
`销售流水统计_${moment(searchParams?.SELLMASTER_DATE).format('YYYY/MM/DD')}`,
|
||||||
);
|
);
|
||||||
if (success.message !== 'ok') {
|
if (success.message !== 'ok') {
|
||||||
message.info({ content: success.message });
|
message.info({content: success.message});
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@ -269,12 +269,12 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
},
|
},
|
||||||
|
|
||||||
currentValue: YSSELLMASTERModel) => {
|
currentValue: YSSELLMASTERModel) => {
|
||||||
const previousValue = { ...p }
|
const previousValue = {...p}
|
||||||
previousValue.SELLMASTER_COUNT += currentValue.SELLMASTER_COUNT || 0; // 销售数量
|
previousValue.SELLMASTER_COUNT += currentValue.SELLMASTER_COUNT || 0; // 销售数量
|
||||||
previousValue.SELLMASTER_OFFPRICE += currentValue.SELLMASTER_OFFPRICE || 0; // 优惠金额
|
previousValue.SELLMASTER_OFFPRICE += currentValue.SELLMASTER_OFFPRICE || 0; // 优惠金额
|
||||||
previousValue.SELLMASTER_AMOUNT += currentValue.SELLMASTER_AMOUNT || 0; // 实收金额
|
previousValue.SELLMASTER_AMOUNT += currentValue.SELLMASTER_AMOUNT || 0; // 实收金额
|
||||||
|
|
||||||
if (devicesList.indexOf(currentValue.MACHINECODE) === -1) {
|
if (devicesList.indexOf(currentValue.MACHINECODE)===-1){
|
||||||
devicesList.push(currentValue.MACHINECODE)
|
devicesList.push(currentValue.MACHINECODE)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,15 +300,15 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
SELLMASTER_COUNT: 0,
|
SELLMASTER_COUNT: 0,
|
||||||
SELLMASTER_AMOUNT: 0,
|
SELLMASTER_AMOUNT: 0,
|
||||||
MACHINECODE: [],
|
MACHINECODE: [],
|
||||||
payway: { '移动': 0, '现金': 0, },
|
payway: {'移动': 0, '现金': 0,},
|
||||||
mobilePay: {}
|
mobilePay: {}
|
||||||
});
|
});
|
||||||
return <div style={{ paddingLeft: 24 }}>
|
return <div style={{paddingLeft: 24}}>
|
||||||
<Descriptions
|
<Descriptions
|
||||||
title={<Text type="success" style={{ color: "#1890ff", fontSize: 14 }}>合计信息</Text>}
|
title={<Text type="success" style={{color: "#1890ff", fontSize: 14}}>合计信息</Text>}
|
||||||
size="small" column={7}
|
size="small" column={7}
|
||||||
className="commity-sale-description"
|
className="commity-sale-description"
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
contentStyle={{fontWeight: "bolder"}} labelStyle={{color: "#00000073"}}
|
||||||
>
|
>
|
||||||
<Descriptions.Item label="客单数量">{numeral(data.length).format('0,0')}<Text
|
<Descriptions.Item label="客单数量">{numeral(data.length).format('0,0')}<Text
|
||||||
type="secondary"> 笔</Text></Descriptions.Item>
|
type="secondary"> 笔</Text></Descriptions.Item>
|
||||||
@ -320,34 +320,34 @@ const saleFlow: React.FC<{ currentUser: CurrentUser | undefined }> = (props) =>
|
|||||||
label="客单均价">¥{numeral(reduceData.SELLMASTER_AMOUNT / data.length).format('0,0.00')}</Descriptions.Item>
|
label="客单均价">¥{numeral(reduceData.SELLMASTER_AMOUNT / data.length).format('0,0.00')}</Descriptions.Item>
|
||||||
<Descriptions.Item label="销售数量">{numeral(reduceData.SELLMASTER_COUNT).format('0,0')}<Text
|
<Descriptions.Item label="销售数量">{numeral(reduceData.SELLMASTER_COUNT).format('0,0')}<Text
|
||||||
type="secondary"> 件</Text></Descriptions.Item>
|
type="secondary"> 件</Text></Descriptions.Item>
|
||||||
<Descriptions.Item label="设备数量">{devicesList && devicesList.length > 0 ? devicesList.length : '-'}台</Descriptions.Item>
|
<Descriptions.Item label="设备数量">{devicesList && devicesList.length>0?devicesList.length:'-'}台</Descriptions.Item>
|
||||||
<Descriptions.Item label="统计时间">{moment().format('YYYY-MM-DD')}</Descriptions.Item>
|
<Descriptions.Item label="统计时间">{moment().format('YYYY-MM-DD')}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
|
|
||||||
<Descriptions
|
<Descriptions
|
||||||
title={<Text type="success" style={{ color: "#1890ff", fontSize: 14 }}>支付明细</Text>}
|
title={<Text type="success" style={{color: "#1890ff", fontSize: 14}}>支付明细</Text>}
|
||||||
size="small" column={7}
|
size="small" column={7}
|
||||||
className="commity-sale-description"
|
className="commity-sale-description"
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}
|
contentStyle={{fontWeight: "bolder"}} labelStyle={{color: "#00000073"}}
|
||||||
>
|
>
|
||||||
<Descriptions.Item
|
<Descriptions.Item
|
||||||
label="现金支付">{otherData?.CASH ? `¥${numeral(getMoney(otherData?.CASH)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
label="现金支付">{otherData?.CASH?`¥${numeral(getMoney(otherData?.CASH)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item
|
<Descriptions.Item
|
||||||
label="微信支付">{otherData?.TICKETBILL ? `¥${numeral(getMoney(otherData?.TICKETBILL)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
label="微信支付">{otherData?.TICKETBILL?`¥${numeral(getMoney(otherData?.TICKETBILL)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="支付宝支付">{otherData?.OTHERPAY ? `¥${numeral(getMoney(otherData?.OTHERPAY)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="支付宝支付">{otherData?.OTHERPAY?`¥${numeral(getMoney(otherData?.OTHERPAY)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="云闪付">{otherData?.CREDITCARD ? `¥${numeral(getMoney(otherData?.CREDITCARD)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="云闪付">{otherData?.CREDITCARD?`¥${numeral(getMoney(otherData?.CREDITCARD)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="银联记账">{otherData?.YUNSHANFU ? `¥${numeral(getMoney(otherData?.YUNSHANFU)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="银联记账">{otherData?.YUNSHANFU?`¥${numeral(getMoney(otherData?.YUNSHANFU)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="企业会员">{otherData?.COUPONTYPE_2010 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2010)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="企业会员">{otherData?.COUPONTYPE_2010?`¥${numeral(getMoney(otherData?.COUPONTYPE_2010)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="电子优惠券">{otherData?.COUPONTYPE_2020 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2020)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="电子优惠券">{otherData?.COUPONTYPE_2020?`¥${numeral(getMoney(otherData?.COUPONTYPE_2020)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
<Descriptions size="small" className="commity-sale-description" column={7}
|
<Descriptions size="small" className="commity-sale-description" column={7}
|
||||||
contentStyle={{ fontWeight: "bolder" }} labelStyle={{ color: "#00000073" }}>
|
contentStyle={{fontWeight: "bolder"}} labelStyle={{color: "#00000073"}}>
|
||||||
<Descriptions.Item label="大巴优惠券">{otherData?.COUPONTYPE_2030 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2030)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="大巴优惠券">{otherData?.COUPONTYPE_2030?`¥${numeral(getMoney(otherData?.COUPONTYPE_2030)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="团购餐券">{otherData?.COUPONTYPE_2040 ? `¥${numeral(getMoney(otherData?.COUPONTYPE_2040)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="团购餐券">{otherData?.COUPONTYPE_2040?`¥${numeral(getMoney(otherData?.COUPONTYPE_2040)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="促销流水">{otherData?.SELLMASTERTYPE_1010 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1010)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="促销流水">{otherData?.SELLMASTERTYPE_1010?`¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1010)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="香烟销售">{otherData?.SELLMASTERTYPE_1020 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1020)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="香烟销售">{otherData?.SELLMASTERTYPE_1020?`¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1020)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="在线订单">{otherData?.SELLMASTERTYPE_1030 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1030)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="在线订单">{otherData?.SELLMASTERTYPE_1030?`¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1030)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
<Descriptions.Item label="稽核补录">{otherData?.SELLMASTERTYPE_1040 ? `¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1040)).format('0,0.00')}` : '¥0.00'}</Descriptions.Item>
|
<Descriptions.Item label="稽核补录">{otherData?.SELLMASTERTYPE_1040?`¥${numeral(getMoney(otherData?.SELLMASTERTYPE_1040)).format('0,0.00')}`:'¥0.00'}</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -416,7 +416,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
useEffect(async () => {
|
useEffect(async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100100",
|
OPERATION_TYPES: "100100",
|
||||||
@ -435,7 +434,7 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
}
|
}
|
||||||
// 判断当前用户 是否有新增权限
|
// 判断当前用户 是否有新增权限
|
||||||
let have: boolean = false
|
let have: boolean = false
|
||||||
let idList: any = firstSetp && firstSetp.APPROVALSTAFF_ID ? firstSetp.APPROVALSTAFF_ID.split(',') : ""
|
let idList: any = firstSetp.APPROVALSTAFF_ID.split(',')
|
||||||
console.log('idList', idList);
|
console.log('idList', idList);
|
||||||
|
|
||||||
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
||||||
@ -868,8 +867,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
}]}
|
}]}
|
||||||
request={async () => {
|
request={async () => {
|
||||||
const data = await getServerpartTree(currentUser?.ProvinceCode, currentUser?.CityAuthority, true, true, true)
|
const data = await getServerpartTree(currentUser?.ProvinceCode, currentUser?.CityAuthority, true, true, true)
|
||||||
console.log('data321312', data);
|
|
||||||
|
|
||||||
const list: any = []
|
const list: any = []
|
||||||
if (data && data.length > 0) {
|
if (data && data.length > 0) {
|
||||||
data.forEach((item: any) => {
|
data.forEach((item: any) => {
|
||||||
@ -879,9 +876,9 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// data.forEach((item: any) => {
|
data.forEach((item: any) => {
|
||||||
// list.push({ label: item.label, value: item.value })
|
list.push({ label: item.label, value: item.value })
|
||||||
// })
|
})
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
}}
|
}}
|
||||||
@ -907,7 +904,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
request={async () => {
|
request={async () => {
|
||||||
const reqState: any = {
|
const reqState: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100100",
|
OPERATION_TYPES: "100100",
|
||||||
|
|||||||
@ -576,7 +576,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
useEffect(async () => {
|
useEffect(async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100200",
|
OPERATION_TYPES: "100200",
|
||||||
@ -595,7 +594,7 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
}
|
}
|
||||||
// 判断当前用户 是否有新增权限
|
// 判断当前用户 是否有新增权限
|
||||||
let have: boolean = false
|
let have: boolean = false
|
||||||
let idList: any = firstSetp && firstSetp.APPROVALSTAFF_ID ? firstSetp.APPROVALSTAFF_ID.split(',') : []
|
let idList: any = firstSetp.APPROVALSTAFF_ID.split(',')
|
||||||
console.log('idList', idList);
|
console.log('idList', idList);
|
||||||
|
|
||||||
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
||||||
@ -1038,9 +1037,9 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// data.forEach((item: any) => {
|
data.forEach((item: any) => {
|
||||||
// list.push({ label: item.label, value: item.value })
|
list.push({ label: item.label, value: item.value })
|
||||||
// })
|
})
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
}}
|
}}
|
||||||
@ -1065,7 +1064,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
request={async () => {
|
request={async () => {
|
||||||
const reqState: any = {
|
const reqState: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100210",
|
OPERATION_TYPES: "100210",
|
||||||
@ -1125,7 +1123,6 @@ const ProductChangeInfoApproval: React.FC<{ currentUser: CurrentUser }> = (props
|
|||||||
console.log('approveCurrentRowapproveCurrentRowapproveCurrentRow', currentRow);
|
console.log('approveCurrentRowapproveCurrentRowapproveCurrentRow', currentRow);
|
||||||
const reqState: any = {
|
const reqState: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100210",
|
OPERATION_TYPES: "100210",
|
||||||
|
|||||||
@ -546,7 +546,6 @@ const ProductChangePriceApproval: React.FC<{ currentUser: CurrentUser }> = (prop
|
|||||||
useEffect(async () => {
|
useEffect(async () => {
|
||||||
const req: any = {
|
const req: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100200",
|
OPERATION_TYPES: "100200",
|
||||||
@ -565,7 +564,7 @@ const ProductChangePriceApproval: React.FC<{ currentUser: CurrentUser }> = (prop
|
|||||||
}
|
}
|
||||||
// 判断当前用户 是否有新增权限
|
// 判断当前用户 是否有新增权限
|
||||||
let have: boolean = false
|
let have: boolean = false
|
||||||
let idList: any = firstSetp && firstSetp.APPROVALSTAFF_ID ? firstSetp.APPROVALSTAFF_ID.split(',') : []
|
let idList: any = firstSetp.APPROVALSTAFF_ID.split(',')
|
||||||
console.log('idList', idList);
|
console.log('idList', idList);
|
||||||
|
|
||||||
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
if (idList.indexOf(currentUser?.ID.toString()) !== -1) {
|
||||||
@ -1085,9 +1084,9 @@ const ProductChangePriceApproval: React.FC<{ currentUser: CurrentUser }> = (prop
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// data.forEach((item: any) => {
|
data.forEach((item: any) => {
|
||||||
// list.push({ label: item.label, value: item.value })
|
list.push({ label: item.label, value: item.value })
|
||||||
// })
|
})
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
}}
|
}}
|
||||||
@ -1112,7 +1111,6 @@ const ProductChangePriceApproval: React.FC<{ currentUser: CurrentUser }> = (prop
|
|||||||
request={async () => {
|
request={async () => {
|
||||||
const reqState: any = {
|
const reqState: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100200",
|
OPERATION_TYPES: "100200",
|
||||||
@ -1168,7 +1166,6 @@ const ProductChangePriceApproval: React.FC<{ currentUser: CurrentUser }> = (prop
|
|||||||
request={async () => {
|
request={async () => {
|
||||||
const reqState: any = {
|
const reqState: any = {
|
||||||
SearchParameter: {
|
SearchParameter: {
|
||||||
PROVINCE_CODE: currentUser?.ProvinceCode,
|
|
||||||
APPROVALROUTE_STATES: "",
|
APPROVALROUTE_STATES: "",
|
||||||
APPROVALROUTE_VALID: 1,
|
APPROVALROUTE_VALID: 1,
|
||||||
OPERATION_TYPES: "100200",
|
OPERATION_TYPES: "100200",
|
||||||
|
|||||||
@ -140,10 +140,10 @@ const commodityInfo: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// serverpartList.unshift({
|
serverpartList.unshift({
|
||||||
// label: "全部",
|
label: "全部",
|
||||||
// value: ''
|
value: serverpartId
|
||||||
// })
|
})
|
||||||
return serverpartList
|
return serverpartList
|
||||||
},
|
},
|
||||||
fieldProps: {
|
fieldProps: {
|
||||||
@ -237,7 +237,7 @@ const commodityInfo: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
title: <div style={{ textAlign: 'center' }}>商品单位</div>,
|
title: <div style={{ textAlign: 'center' }}>商品单位</div>,
|
||||||
width: 80,
|
width: 80,
|
||||||
dataIndex: 'COMMODITY_UNIT',
|
dataIndex: 'COMMODITY_UNIT',
|
||||||
align: 'center',
|
align: 'right',
|
||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -349,7 +349,7 @@ const commodityInfo: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// formRef.current?.setFieldsValue({ ServerpartID: serverpartId })
|
formRef.current?.setFieldsValue({ ServerpartID: serverpartId })
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type === '1') {
|
if (type === '1') {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -550,14 +550,6 @@ const LostandFoundAPPliance: React.FC<{ currentUser: CurrentUser }> = (props) =>
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
// fileList: fileList, // 绑定 fileList
|
// fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
console.log('info', info);
|
console.log('info', info);
|
||||||
console.log('fileList', fileList);
|
console.log('fileList', fileList);
|
||||||
|
|||||||
@ -345,14 +345,6 @@ const LostandFoundReview: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
// fileList: fileList, // 绑定 fileList
|
// fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
console.log('info', info);
|
console.log('info', info);
|
||||||
console.log('fileList', fileList);
|
console.log('fileList', fileList);
|
||||||
|
|||||||
@ -559,14 +559,6 @@ const MallBrandManage: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: fileList, // 绑定 fileList
|
fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = fileList.findIndex(n => n.uid === info.file.uid);
|
const index = fileList.findIndex(n => n.uid === info.file.uid);
|
||||||
|
|||||||
@ -514,17 +514,8 @@ const MerchantEvaluationManage: React.FC<{ currentUser: CurrentUser, isComponent
|
|||||||
listType="picture-card"
|
listType="picture-card"
|
||||||
accept="image/*"
|
accept="image/*"
|
||||||
fieldProps={{
|
fieldProps={{
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
|
|||||||
@ -842,14 +842,6 @@ const OrderProductManage: React.FC<{ currentUser: CurrentUser | undefined }> = (
|
|||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: fileList, // 绑定 fileList
|
fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = fileList.findIndex(n => n.uid === info.file.uid);
|
const index = fileList.findIndex(n => n.uid === info.file.uid);
|
||||||
|
|||||||
@ -1410,14 +1410,6 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
handlePreview(1)
|
handlePreview(1)
|
||||||
},
|
},
|
||||||
fileList: mainImgList, // 绑定 fileList
|
fileList: mainImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = mainImgList.findIndex(n => n.uid === info.file.uid);
|
const index = mainImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
@ -1469,14 +1461,6 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
handlePreview(2)
|
handlePreview(2)
|
||||||
},
|
},
|
||||||
fileList: headerImgList, // 绑定 fileList
|
fileList: headerImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = headerImgList.findIndex(n => n.uid === info.file.uid);
|
const index = headerImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
@ -1528,14 +1512,6 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
handlePreview(3)
|
handlePreview(3)
|
||||||
},
|
},
|
||||||
fileList: detailImgList, // 绑定 fileList
|
fileList: detailImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = detailImgList.findIndex(n => n.uid === info.file.uid);
|
const index = detailImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
|
|||||||
@ -1316,14 +1316,6 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: mainImgList, // 绑定 fileList
|
fileList: mainImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = mainImgList.findIndex(n => n.uid === info.file.uid);
|
const index = mainImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
@ -1373,14 +1365,6 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: headerImgList, // 绑定 fileList
|
fileList: headerImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = headerImgList.findIndex(n => n.uid === info.file.uid);
|
const index = headerImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
@ -1432,14 +1416,6 @@ const ShoppingMallProductSearch: React.FC<{ currentUser: CurrentUser | undefined
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: detailImgList, // 绑定 fileList
|
fileList: detailImgList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
if (info.file.status === 'removed') {
|
if (info.file.status === 'removed') {
|
||||||
const index = detailImgList.findIndex(n => n.uid === info.file.uid);
|
const index = detailImgList.findIndex(n => n.uid === info.file.uid);
|
||||||
|
|||||||
@ -488,14 +488,6 @@ const SummaryofMerchantReviews: React.FC<{ currentUser: CurrentUser, isComponent
|
|||||||
accept="image/*"
|
accept="image/*"
|
||||||
fieldProps={{
|
fieldProps={{
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|||||||
@ -107,8 +107,6 @@ const scenicSpotConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
render: (_, record) => {
|
render: (_, record) => {
|
||||||
return <a onClick={() => {
|
return <a onClick={() => {
|
||||||
console.log('recordrecord', record);
|
|
||||||
|
|
||||||
let imgList: any = []
|
let imgList: any = []
|
||||||
if (record?.ImageList && record?.ImageList.length > 0) {
|
if (record?.ImageList && record?.ImageList.length > 0) {
|
||||||
record?.ImageList.forEach((item: any) => {
|
record?.ImageList.forEach((item: any) => {
|
||||||
@ -347,20 +345,16 @@ const scenicSpotConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'),
|
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
handleConfirmLoading(true)
|
|
||||||
|
|
||||||
const data = await handeSynchroSCENICAREA(req)
|
const data = await handeSynchroSCENICAREA(req)
|
||||||
console.log('datadatadatadata', data);
|
console.log('datadatadatadata', data);
|
||||||
|
|
||||||
|
handleConfirmLoading(false)
|
||||||
if (data.Result_Code === 100) {
|
if (data.Result_Code === 100) {
|
||||||
console.log('res.SCENICAREA_Imageres.SCENICAREA_Imageres.SCENICAREA_Image', res.SCENICAREA_Image);
|
|
||||||
if (res.SCENICAREA_Image && res.SCENICAREA_Image.length > 0) {
|
if (res.SCENICAREA_Image && res.SCENICAREA_Image.length > 0) {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
res.SCENICAREA_Image.forEach((file: any) => {
|
res.SCENICAREA_Image.forEach((file: any) => {
|
||||||
if (!file.ImageUrl) {
|
formData.append('files[]', file.originFileObj);
|
||||||
formData.append('files[]', file.originFileObj);
|
formData.append('ImageName', typeof file !== 'string' ? file?.name : '');
|
||||||
formData.append('ImageName', typeof file !== 'string' ? file?.name : '');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
formData.append('TableId', data.Result_Data.SCENICAREA_ID);
|
formData.append('TableId', data.Result_Data.SCENICAREA_ID);
|
||||||
formData.append('TableType', '1305');
|
formData.append('TableType', '1305');
|
||||||
@ -371,8 +365,6 @@ const scenicSpotConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
|
|
||||||
handleSetlogSave(`${currentRow?.SCENICAREA_ID ? `更新${currentRow?.SCENICAREA_NAME}景区` : `新增${data.Result_Data.SCENICAREA_NAME}`}信息`)
|
handleSetlogSave(`${currentRow?.SCENICAREA_ID ? `更新${currentRow?.SCENICAREA_NAME}景区` : `新增${data.Result_Data.SCENICAREA_NAME}`}信息`)
|
||||||
|
|
||||||
|
|
||||||
handleConfirmLoading(false)
|
|
||||||
message.success("更新成功!")
|
message.success("更新成功!")
|
||||||
setCurrentRow(undefined)
|
setCurrentRow(undefined)
|
||||||
formRef?.current?.resetFields()
|
formRef?.current?.resetFields()
|
||||||
@ -380,7 +372,6 @@ const scenicSpotConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
actionRef.current?.reload()
|
actionRef.current?.reload()
|
||||||
setFileList([])
|
setFileList([])
|
||||||
} else {
|
} else {
|
||||||
handleConfirmLoading(false)
|
|
||||||
message.error(data.Result_Desc)
|
message.error(data.Result_Desc)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -691,17 +682,9 @@ const scenicSpotConfig: React.FC<{ currentUser: CurrentUser | undefined }> = (pr
|
|||||||
listType="picture-card"
|
listType="picture-card"
|
||||||
accept="image/*"
|
accept="image/*"
|
||||||
fieldProps={{
|
fieldProps={{
|
||||||
beforeUpload: beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: fileList, // 绑定 fileList
|
fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
console.log('info', info);
|
console.log('info', info);
|
||||||
console.log('fileList', fileList);
|
console.log('fileList', fileList);
|
||||||
|
|||||||
@ -892,14 +892,6 @@ const serverpartInfo: React.FC<{ currentUser: CurrentUser }> = (props) => {
|
|||||||
beforeUpload,
|
beforeUpload,
|
||||||
onPreview: handlePreview,
|
onPreview: handlePreview,
|
||||||
fileList: fileList, // 绑定 fileList
|
fileList: fileList, // 绑定 fileList
|
||||||
customRequest: ({ file, onSuccess }) => {
|
|
||||||
// 自定义上传,不实际发送请求
|
|
||||||
setTimeout(() => {
|
|
||||||
if (onSuccess) {
|
|
||||||
onSuccess({});
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
},
|
|
||||||
onChange: async (info: any) => {
|
onChange: async (info: any) => {
|
||||||
console.log('info', info);
|
console.log('info', info);
|
||||||
console.log('fileList', fileList);
|
console.log('fileList', fileList);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// 由 scripts/writeVersion.js 自动生成
|
// 由 scripts/writeVersion.js 自动生成
|
||||||
export const VERSION = "4.5.35";
|
export const VERSION = "4.5.26";
|
||||||
export const GIT_HASH = "1ce314d";
|
export const GIT_HASH = "c145b6c";
|
||||||
export const BUILD_TIME = "2025-08-21T11:03:22.048Z";
|
export const BUILD_TIME = "2025-08-15T08:20:30.752Z";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user