diff --git a/src/pages/RentCalculation/index.tsx b/src/pages/RentCalculation/index.tsx index e42c3e8..01494f2 100644 --- a/src/pages/RentCalculation/index.tsx +++ b/src/pages/RentCalculation/index.tsx @@ -1,16 +1,18 @@ import LeftSelectTree from "@/components/leftSelectTree/leftSelectTree"; import { ActionType, FormInstance, ProForm, ProFormDatePicker, ProFormDigit, ProFormSelect, ProFormText, ProTable } from "@ant-design/pro-components"; -import { Button, Col, Divider, Modal, Row } from "antd"; +import { Button, Col, Divider, message, Modal, Row } from "antd"; import { useRef, useState } from "react"; import { connect } from "umi"; import './style.less' -import { handleGetServerpartTree, handleGetSERVERPARTTYPEList } from "../operationReport/service"; +import { handleGetServerpartTree, handleGetSERVERPARTTYPEList, handlGetSPCONTRIBUTIONList } from "../operationReport/service"; import { handleGetServerpartInfo } from "../serverpartAssets/service"; +import { encryptAES } from "@/utils/handleAes"; const RentCalculation: React.FC<{ currentUser: any }> = (props) => { const actionRef = useRef(); const formRef = useRef(); + const selectFormRef = useRef(); const modalRef = useRef(); // 树相关的属性和方法 const [selectedId, setSelectedId] = useState() @@ -25,6 +27,9 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { const [serverPartList, setServerPartList] = useState() // 当前服务区下的方位 const [SERVERPARTREGION, setSERVERPARTREGION] = useState() + // 选择模式里面的 表单数据 + const [selectFormData, setSelectFormData] = useState() + const operatingModels = [ '委托运营', @@ -194,6 +199,27 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { } console.log('listlistlist', list); + + + const newReq: any = { + SearchParameter: { + SERVERPART_IDS: id + }, + PageIndex: 1, + PageSize: 999999, + } + + let newreq: any = { + name: "", + value: encryptAES(JSON.stringify(newReq)) + } + const newData = await handlGetSPCONTRIBUTIONList(newreq) + console.log('newDatanewDatanewData', newData); + if (newData && newData.length > 0) { + let res: any = newData[0].SERVERPART_TYPE + selectFormRef.current?.setFieldsValue({ rating: res }) + } + setSERVERPARTREGION(list) } @@ -245,15 +271,23 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { { setShowSelectOperatingModel(false) }} - footer={false} + okText={'下一步'} onOk={async () => { - setShowSelectOperatingModel(false); + // setShowSelectOperatingModel(false); + selectFormRef.current?.validateFields().then((res: any) => { + if (selectedOperatingModel) { + setSelectFormData(res) + setRentCalculateModal(true) + } else { + message.success('请选择运营模式') + } + }) }} >
@@ -263,46 +297,22 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { className={`operatingModelModalItemBox ${selectedOperatingModel === model ? 'selected' : ''}`} onClick={() => { setSelectedOperatingModel(model) - setShowSelectOperatingModel(false); - setRentCalculateModal(true) + // setShowSelectOperatingModel(false); + // setRentCalculateModal(true) }} > {model}
))} - -
- - {/* 打开实际填写测算的 悬浮框 */} - { - setSelectedOperatingModel(null) - setRentCalculateModal(false) - }} - onOk={async () => { - modalRef.current?.validateFields().then((res: any) => { - setSelectedOperatingModel(null) - setRentCalculateModal(false) - // 保存同步租金测算的方法 - handleAddUpdate(res) - }) - }} - > -
- - - 基础信息 + = (props) => { (option?.label ?? '').toLowerCase().includes(input.toLowerCase()), optionFilterProp: 'label', onChange: (value: any, option: any) => { - console.log('valuevalue', value); handleGetServerPartList(value) if (value) { modalRef.current?.setFieldsValue({ belongArea: option.label }) @@ -359,7 +368,6 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { options={serverPartList} fieldProps={{ onChange: (e: any, option: any) => { - console.log('e', e); handleGetSERVERPARTREGION(e) if (e) { modalRef.current?.setFieldsValue({ SAName: option.label }) @@ -377,11 +385,190 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { name={'SAName'} /> + + + + + + + + { + // if (e) { + // console.log('eeeeee', e); + // let fromRes: any = modalRef.current?.getFieldValue('floorPrice') + // if (fromRes) { + // let rate: number = 1.05 + // if (e === 1000 || e === 2000) { + // rate = 1.15 + // } else if (e === 3000) { + // rate = 1.1 + // } else if (e === 4000) { + // rate = 1.05 + // } + // let sum: number = fromRes * 1.15 * rate + // modalRef.current?.setFieldsValue({ floorPriceMore: sum.toFixed(2) }) + + // // 到这里是拿到新的 保底收益递增 + // let newNumber: number = Number(sum.toFixed(2)) + // // 先拿到判断是不是首次项目 + // let formDataIsFirst: number = modalRef.current?.getFieldValue('isFirst') + // // 是首次 就不去改变 保底营业额的值 不是才计算 + // if (formDataIsFirst === 1) { + // // 1 代表首次 + // // 首次则 首次招标营业额 为 最高值收益(floorPriceMore) / 35% + // modalRef.current?.setFieldsValue({ firstMinimumRevenue: (Number(newNumber) / 0.35).toFixed(2) }) + // // 那么二次保底营业额的值就是 第一次的值 + // let firstMinimumRevenueNumber: number = Number((Number(sum.toFixed(2)) / 0.35).toFixed(2)) + // modalRef.current?.setFieldsValue({ secondMinimumRevenue: (firstMinimumRevenueNumber).toFixed(2) }) + // // 那么第三次保底营业额的值 就是 第二次的值 *90% + // let secondMinimumRevenue: number = Number((firstMinimumRevenueNumber).toFixed(2)) + // modalRef.current?.setFieldsValue({ thriceMinimumRevenue: (secondMinimumRevenue * 0.9).toFixed(2) }) + + // } else if (formDataIsFirst === 2) { + // // 2 代表非首次 + // // 不是首次进来 那么就不管首次保底营业额了 只要看第二次 有没有值即可 有值算第三次 没值就不算 + // let secondMinimumRevenueNumber: number = modalRef.current?.getFieldValue('secondMinimumRevenue') + // if (secondMinimumRevenueNumber) { + // modalRef.current?.setFieldsValue({ thriceMinimumRevenue: (secondMinimumRevenueNumber * 0.9).toFixed(2) }) + // } + // } + // } + // } + + // } + // }} + /> + + + + +
+
+ + + {/* 打开实际填写测算的 悬浮框 */} + { + setSelectedOperatingModel(null) + setRentCalculateModal(false) + }} + onOk={async () => { + modalRef.current?.validateFields().then((res: any) => { + setSelectedOperatingModel(null) + setRentCalculateModal(false) + // 保存同步租金测算的方法 + handleAddUpdate(res) + }) + }} + > +
+ { + let formData: any = selectFormRef.current?.getFieldsValue({}) + console.log('formDataformDataformData', formData); + if (formData) { + return { + ...formData + } + } else { + return {} + } + }} + > + + + 基础信息 + + { + const req: any = { + SearchParameter: { + SERVERPARTSTATICTYPE_ID: 1000, + TYPE_STATE: 1, + PROVINCE_CODE: 530000 + }, + PageIndex: 1, + PageSize: 100, + SortStr: "TYPE_INDEX,SERVERPARTTYPE_ID" + } + const data = await handleGetSERVERPARTTYPEList(req) + console.log('datadatadatadata', data); + let list: any = [] + if (data && data.length > 0) { + data.forEach((item: any) => { + list.push({ label: item.TYPE_NAME, value: item.SERVERPARTTYPE_ID }) + }) + } + return list + }} + /> + + + + + + + + + + @@ -398,7 +585,7 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { }} /> - + {/* = (props) => { } }} /> - + */} = (props) => { options={[]} /> - - { - if (e) { - console.log('eeeeee', e); - let fromRes: any = modalRef.current?.getFieldValue('floorPrice') - if (fromRes) { - let rate: number = 1.05 - if (e === 1000 || e === 2000) { - rate = 1.15 - } else if (e === 3000) { - rate = 1.1 - } else if (e === 4000) { - rate = 1.05 - } - let sum: number = fromRes * 1.15 * rate - modalRef.current?.setFieldsValue({ floorPriceMore: sum.toFixed(2) }) - - // 到这里是拿到新的 保底收益递增 - let newNumber: number = Number(sum.toFixed(2)) - // 先拿到判断是不是首次项目 - let formDataIsFirst: number = modalRef.current?.getFieldValue('isFirst') - // 是首次 就不去改变 保底营业额的值 不是才计算 - if (formDataIsFirst === 1) { - // 1 代表首次 - // 首次则 首次招标营业额 为 最高值收益(floorPriceMore) / 35% - modalRef.current?.setFieldsValue({ firstMinimumRevenue: (Number(newNumber) / 0.35).toFixed(2) }) - // 那么二次保底营业额的值就是 第一次的值 - let firstMinimumRevenueNumber: number = Number((Number(sum.toFixed(2)) / 0.35).toFixed(2)) - modalRef.current?.setFieldsValue({ secondMinimumRevenue: (firstMinimumRevenueNumber).toFixed(2) }) - // 那么第三次保底营业额的值 就是 第二次的值 *90% - let secondMinimumRevenue: number = Number((firstMinimumRevenueNumber).toFixed(2)) - modalRef.current?.setFieldsValue({ thriceMinimumRevenue: (secondMinimumRevenue * 0.9).toFixed(2) }) - - } else if (formDataIsFirst === 2) { - // 2 代表非首次 - // 不是首次进来 那么就不管首次保底营业额了 只要看第二次 有没有值即可 有值算第三次 没值就不算 - let secondMinimumRevenueNumber: number = modalRef.current?.getFieldValue('secondMinimumRevenue') - if (secondMinimumRevenueNumber) { - modalRef.current?.setFieldsValue({ thriceMinimumRevenue: (secondMinimumRevenueNumber * 0.9).toFixed(2) }) - } - } - } - } - - } - }} - /> - = (props) => { selectedOperatingModel === '委托运营' ? <> 委托运营 - - - = (props) => { fieldProps={{ onChange: (e: any) => { if (e) { - let fromRes: any = modalRef.current?.getFieldValue('rating') - console.log('fromResfromRes', fromRes); - let rate: number = 1.05 - if (fromRes === 1000 || fromRes === 2000) { - rate = 1.15 - } else if (fromRes === 3000) { - rate = 1.1 - } else if (fromRes === 4000) { - rate = 1.05 - } + let fromRes: any = Number(selectFormData?.rating) + if (fromRes) { + let rate: number = 1.05 + if (fromRes === 1000 || fromRes === 2000) { + rate = 1.15 + } else if (fromRes === 3000) { + rate = 1.1 + } else if (fromRes === 4000) { + rate = 1.05 + } + let sum: number = e * 1.15 * rate + modalRef.current?.setFieldsValue({ floorPriceMore: sum.toFixed(2) }) - let sum: number = e * 1.15 * rate - // 先拿到判断是不是首次项目 - let formDataIsFirst: number = modalRef.current?.getFieldValue('isFirst') - // 是首次 就不去改变 保底营业额的值 不是才计算 - if (formDataIsFirst === 1) { - } else if (formDataIsFirst === 2) { - modalRef.current?.setFieldsValue({ firstMinimumRevenue: (Number(sum.toFixed(2)) / 0.35).toFixed(2) }) + // 是首次 那么就要把 1 2 3 次都算出来 不是首次的话 就算 2 3 即可 + if (selectFormData?.isFirst === 1) { + // 是首次的话 + modalRef.current?.setFieldsValue({ firstMinimumRevenue: (Number(sum.toFixed(2)) / 0.35).toFixed(2) }) + // 首次的钱 赋值一下 + let firstMinimumRevenueNumber: number = Number((Number(sum.toFixed(2)) / 0.35).toFixed(2)) + // 第二次就是第一次的值 + modalRef.current?.setFieldsValue({ secondMinimumRevenue: (Number(firstMinimumRevenueNumber)).toFixed(2) }) + // 给第二次的钱 赋值一下 + let secondMinimumRevenueNumber: number = Number((Number(firstMinimumRevenueNumber)).toFixed(2)) + // 第三次的钱是第二次的90% + modalRef.current?.setFieldsValue({ thriceMinimumRevenue: (Number(secondMinimumRevenueNumber) * 0.9).toFixed(2) }) + } else if (selectFormData?.isFirst === 2) { + // 非首次 这边怎么样都没关系了 等用户自己输入第一次的值之后 再给他补齐 2 3 次 + } } - modalRef.current?.setFieldsValue({ floorPriceMore: sum.toFixed(2) }) } } }} @@ -650,7 +782,10 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { onChange: (e: any) => { if (e) { let sum: number = e * 0.9 - modalRef.current?.setFieldsValue({ secondMinimumRevenue: sum.toFixed(2), thriceMinimumRevenue: (Number(sum.toFixed(2)) * 0.9).toFixed(2) }) + modalRef.current?.setFieldsValue({ + secondMinimumRevenue: e, + thriceMinimumRevenue: sum.toFixed(2) + }) } } }} @@ -660,7 +795,7 @@ const RentCalculation: React.FC<{ currentUser: any }> = (props) => { 二次招标 diff --git a/src/pages/operationReport/service.ts b/src/pages/operationReport/service.ts index ef4e671..b9ec379 100644 --- a/src/pages/operationReport/service.ts +++ b/src/pages/operationReport/service.ts @@ -112,3 +112,18 @@ export async function handlGetPatrolSecurityList(params: any) { return data.Result_Data.List } + + +// 拿到当前服务区的 分类定级 +export async function handlGetSPCONTRIBUTIONList(params: any) { + const data = await requestOld(`/Analysis/GetSPCONTRIBUTIONList`, { + method: 'POST', + data: params + }) + + if (data.Result_Code !== 100) { + return data + } + + return data.Result_Data.List +} \ No newline at end of file