Compare commits

..

2 Commits

Author SHA1 Message Date
ylj20011123
169c5fad49 update 2025-09-05 15:23:52 +08:00
ylj20011123
f5c66f8fd9 update 2025-09-03 19:13:01 +08:00
16 changed files with 336 additions and 83 deletions

View File

@ -1,6 +1,6 @@
{
"name": "ant-design-pro",
"version": "4.5.45",
"version": "4.5.49",
"private": true,
"description": "An out-of-box UI solution for enterprise applications",
"scripts": {

View File

@ -390,7 +390,7 @@ const inventoryInformation: React.FC<{ currentUser: CurrentUser }> = (props) =>
<div id='hiddenBox' style={{ position: 'fixed', zIndex: -1, top: 0, left: 0 }} />
<div style={{ backgroundColor: '#fff', display: 'flex' }}>
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} setAllServiceShop={sethandleAllShopId} collapsible={collapsible} pageType={'ahjg'} />
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} setAllServiceShop={sethandleAllShopId} collapsible={collapsible} pageType={'ahjg'} collapsibleTitle={'请选择门店'} />
<div style={{
width: !collapsible ? 'calc(100% - 300px)' : 'calc(100% - 60px)',
paddingTop: 0,

View File

@ -450,7 +450,7 @@ const purchaseReceiving: React.FC<{ currentUser: CurrentUser }> = (props) => {
<div id='hiddenBox' style={{ position: 'fixed', zIndex: -1, top: 0, left: 0 }} />
<div style={{ backgroundColor: '#fff', display: 'flex' }}>
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} setAllServiceShop={sethandleAllShopId} collapsible={collapsible} pageType={'ahjg'} />
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} setAllServiceShop={sethandleAllShopId} collapsible={collapsible} pageType={'ahjg'} collapsibleTitle={'请选择门店'} />
<div style={{
width: !collapsible ? 'calc(100% - 300px)' : 'calc(100% - 60px)',
paddingTop: 0,

View File

@ -371,7 +371,7 @@ const shopProcurement: React.FC<{ currentUser: CurrentUser }> = (props) => {
<div id='hiddenBox' style={{ position: 'fixed', zIndex: -1, top: 0, left: 0 }} />
<div style={{ backgroundColor: '#fff', display: 'flex' }}>
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} collapsible={collapsible} pageType={'ahjg'} />
<LeftSelectTree setSelectedId={setSelectedId} setCollapsible={setCollapsible} collapsible={collapsible} pageType={'ahjg'} collapsibleTitle={'请选择门店'} />
<div style={{
width: !collapsible ? 'calc(100% - 300px)' : 'calc(100% - 60px)',

View File

@ -1,4 +1,4 @@
import React, {useEffect, useRef, useState} from "react";
import React, { useEffect, useRef, useState } from "react";
import Draggable from "react-draggable";
import ProForm, {
@ -12,12 +12,12 @@ import type { BrandModel } from "@/pages/basicManage/Brand/data";
import type { FormInstance } from "antd";
import { Button, Col, Form, Image, message, Modal, Row, Switch, TreeSelect } from "antd";
import { getFieldEnum } from "@/services/options";
import { uploadFile } from "@/pages/busniess/PaymentConfirm/service";
import { uploadAHYDFile, uploadFile } from "@/pages/busniess/PaymentConfirm/service";
import { ExclamationCircleOutlined } from "@ant-design/icons";
import { getList, updateBrand } from "@/pages/basicManage/Brand/service";
import { getBase64 } from '@/utils/utils';
import { getPictureList, deletePicture, uploadPicture } from '@/services/picture';
import { getPictureList, deletePicture, uploadPicture, uploadAHYDPicture } from '@/services/picture';
import type { UploadFile } from 'antd/es/upload/interface';
import type { PictureModel } from '@/services/options/typings';
@ -36,21 +36,22 @@ const handleAddUpdate = async (fields: BrandModel) => {
};
// 上传附件
const customUploadRequest = async (fileList: UploadFile[], tableId: string,imageType: number) => {
const customUploadRequest = async (fileList: UploadFile[], tableId: string, imageType: number) => {
if (!fileList.length) {
message.error("您上传的附件不存在.")
return false
}
const formData = new FormData();
fileList.forEach(file => {
if (!file.ImageName){
if (!file.ImageName) {
formData.append('files[]', file);
}
});
formData.append('ImageType', imageType);
formData.append('TableType', '1125');
formData.append('TableId', tableId);
const success = await uploadPicture(formData)
// const success = await uploadPicture(formData)
const success = await uploadAHYDPicture(formData)
if (success) {
return true
}
@ -71,22 +72,22 @@ const customUploadRequest = async (fileList: UploadFile[], tableId: string,image
// handleChangePreview 图片的预览
const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, handleTableList, size, actionRef,
brandTreeData, loading, fileList,licenseList, handlePreview, handleChangeFieldList, imagePreviewVisible, handleChangePreview }: any) => {
brandTreeData, loading, fileList, licenseList, handlePreview, handleChangeFieldList, imagePreviewVisible, handleChangePreview }: any) => {
const { confirm } = Modal;
const formRef = useRef<FormInstance>();
const draggleRef = React.createRef<any>()
const [confirmLoading, handleConfirmLoading] = useState<boolean>(false) // 弹出框的内容表单是否在提交
const [addTrade, setAddTrade] = useState<boolean>() // 是否新增业态操作
const [businessLicenseList,setBusinessLicenseList] = useState<UploadFile[]>([])// 营业执照文件列表
const [businessLicenseList, setBusinessLicenseList] = useState<UploadFile[]>([])// 营业执照文件列表
const [priviewImage, setPriviewImage] = useState<string>(); // 预览的文件地址
const [managerForm,setManagerForm] = useState<number>()// 经营形式的类型 1000 品牌直营 2000 品牌加盟
const [managerForm, setManagerForm] = useState<number>()// 经营形式的类型 1000 品牌直营 2000 品牌加盟
const [disabled, setDraggleDisabled] = useState<boolean>() // 是否拖动
const [bounds, setBounds] = useState<{ left: number, right: number, top: number, bottom: number }>() // 移动的位置
const [list1001,setList1001] = useState<any>()// 1001的附件列表
const [list1002,setList1002] = useState<any>()// 1002的附件列表
const [list1003,setList1003] = useState<any>()// 1003的附件列表
const [list1004,setList1004] = useState<any>()// 1004的附件列表
const [list1005,setList1005] = useState<any>()// 1005的附件列表
const [list1001, setList1001] = useState<any>()// 1001的附件列表
const [list1002, setList1002] = useState<any>()// 1002的附件列表
const [list1003, setList1003] = useState<any>()// 1003的附件列表
const [list1004, setList1004] = useState<any>()// 1004的附件列表
const [list1005, setList1005] = useState<any>()// 1005的附件列表
const beforeUpload = (file: any) => {
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
if (!isJpgOrPng) {
@ -113,31 +114,31 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
});
};
useEffect(()=>{
useEffect(() => {
const type1001: UploadFile[] = []
const type1002: UploadFile[] = []
const type1003: UploadFile[] = []
const type1004: UploadFile[] = []
const type1005: UploadFile[] = []
if (licenseList && licenseList.length>0){
licenseList.forEach((item: any)=>{
if (item.ImageType === 1001){
if (licenseList && licenseList.length > 0) {
licenseList.forEach((item: any) => {
if (item.ImageType === 1001) {
item.name = item.ImageName
item.url = item.ImageUrl
type1001.push(item)
}else if(item.ImageType === 1002){
} else if (item.ImageType === 1002) {
item.name = item.ImageName
item.url = item.ImageUrl
type1002.push(item)
}else if(item.ImageType === 1003){
} else if (item.ImageType === 1003) {
item.name = item.ImageName
item.url = item.ImageUrl
type1003.push(item)
}else if(item.ImageType === 1004){
} else if (item.ImageType === 1004) {
item.name = item.ImageName
item.url = item.ImageUrl
type1004.push(item)
}else if(item.ImageType === 1005){
} else if (item.ImageType === 1005) {
item.name = item.ImageName
item.url = item.ImageUrl
type1005.push(item)
@ -150,11 +151,11 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
setList1003(type1003)
setList1004(type1004)
setList1005(type1005)
},[licenseList])
}, [licenseList])
useEffect(()=>{
useEffect(() => {
setManagerForm(currentRow?.MANAGE_TYPE)
},[currentRow])
}, [currentRow])
return (
<Modal
title={
@ -182,7 +183,7 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
destroyOnClose={true}
confirmLoading={confirmLoading}
width={900}
bodyStyle={{height:'70vh',overflowY:'scroll'}}
bodyStyle={{ height: '70vh', overflowY: 'scroll' }}
visible={modalVisible}
afterClose={() => {
formRef.current?.resetFields();
@ -265,19 +266,19 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
const type1004 = list1004.filter(n => n.status !== 'done')
const type1005 = list1005.filter(n => n.status !== 'done')
if (type1001.length > 0) {
await customUploadRequest(type1001, success?.BRAND_ID,1001)
await customUploadRequest(type1001, success?.BRAND_ID, 1001)
}
if (type1002.length > 0) {
await customUploadRequest(type1002, success?.BRAND_ID,1002)
await customUploadRequest(type1002, success?.BRAND_ID, 1002)
}
if (type1003.length > 0) {
await customUploadRequest(type1003, success?.BRAND_ID,1003)
await customUploadRequest(type1003, success?.BRAND_ID, 1003)
}
if (type1004.length > 0) {
await customUploadRequest(type1004, success?.BRAND_ID,1004)
await customUploadRequest(type1004, success?.BRAND_ID, 1004)
}
if (type1005.length > 0) {
await customUploadRequest(type1005, success?.BRAND_ID,1005)
await customUploadRequest(type1005, success?.BRAND_ID, 1005)
}
handleTableList(size)
if (actionRef.current) {
@ -377,7 +378,7 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
return await getFieldEnum({ FieldExplainField: "MANAGE_TYPE" });
}}
fieldProps={{
onChange:(val: any)=>{
onChange: (val: any) => {
setManagerForm(val)
}
}}
@ -412,7 +413,8 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
formData.append('TableName', 'BRAND');
formData.append('ImageName', typeof info.file !== 'string' ? info.file?.name : '');
if (info.filename) {
const success = await uploadFile(formData)
// const success = await uploadFile(formData)
const success = await uploadAHYDFile(formData)
if (success) {
const list = [{
uid: `${success.ImageId}`, // 注意这个uid一定不能少否则上传失败
@ -677,7 +679,7 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
</ProFormUploadButton>
</Col>
{
managerForm===2000?
managerForm === 2000 ?
<Col span={12}>
<ProFormUploadButton
name={'cooperate'}
@ -740,10 +742,10 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
}}
>
</ProFormUploadButton>
</Col>:''
</Col> : ''
}
{
managerForm===2000?
managerForm === 2000 ?
<Col span={12}>
<ProFormUploadButton
name={'permit'}
@ -806,7 +808,7 @@ const AddEdit = ({ clickType, modalVisible, handleCloseAddEdit, currentRow, hand
}}
>
</ProFormUploadButton>
</Col>:''
</Col> : ''
}
{/* <Col span={24}> */}
{/* /!* 上传文件组件 *!/ */}

View File

@ -17,7 +17,7 @@ import PageTitleBox from "@/components/PageTitleBox";
import { handleDeleteNOTICEINFO, handleGetNOTICEINFOList, handleSynchroNOTICEINFO } from "./service";
import moment from 'moment'
import ProForm, { ProFormDatePicker, ProFormSelect, ProFormText, ProFormTextArea, ProFormTreeSelect, ProFormUploadButton } from "@ant-design/pro-form";
import { deletePicture, uploadPicture } from "@/services/picture";
import { deletePicture, uploadAHYDPicture, uploadPicture } from "@/services/picture";
import { handleGetPictureList } from "@/pages/reports/settlementAccount/service";
import { truncate } from "lodash";
import Popconfirm from "antd/es/popconfirm";
@ -239,7 +239,8 @@ const highwayHeadlines: React.FC<{ currentUser: CurrentUser }> = (props) => {
})
formData.append('TableType', '1401');
formData.append('TableId', data.Result_Data.NOTICEINFO_ID.toString());
const success = await uploadPicture(formData)
// const success = await uploadPicture(formData)
const success = await uploadAHYDPicture(formData)
console.log('success', success);
}
if (data.Result_Code === 100) {

View File

@ -1,6 +1,7 @@
import { tableList } from '@/utils/format';
import request from '@/utils/request';
import type { PaymentConfirmModel, RemarksModel } from './data';
import requestAHYD from '@/utils/requestAHYD';
// 获取列表数据
export async function getList(params?: any) {
const search = params ? { ...params, sortstr: params.sortstr, PageIndex: params.current, pagesize: params.pageSize } : {};
@ -85,6 +86,16 @@ export async function getPaymentConfirmList(params: { MerchantsId?: string, Acco
return tableList(data.Result_Data);
}
// 新的上传图片
export async function uploadAHYDFile(params: FormData) {
const data = await requestAHYD(`/Picture/SaveImgFile`, {
method: 'POST',
data: params,
requestType: 'form',
})
return data.Result_Data
}
// 上传图片
export async function uploadFile(params: FormData) {
const data = await request(`/Picture/SaveImgFile`, {

View File

@ -1310,16 +1310,16 @@ const revenueConfirmationDifference: React.FC<{ currentUser: CurrentUser }> = (p
console.log('params', params);
setSearchParams(params)
let SETTLEMENT_MODESSTR: string = ''
if (params.SETTLEMENT_MODES && params.SETTLEMENT_MODES.length > 0) {
params.SETTLEMENT_MODES.forEach((item: any) => {
if (SETTLEMENT_MODESSTR) {
SETTLEMENT_MODESSTR += `,${item}`
} else {
SETTLEMENT_MODESSTR = item
}
})
}
// let SETTLEMENT_MODESSTR: string = ''
// if (params.SETTLEMENT_MODES && params.SETTLEMENT_MODES.length > 0) {
// params.SETTLEMENT_MODES.forEach((item: any) => {
// if (SETTLEMENT_MODESSTR) {
// SETTLEMENT_MODESSTR += `,${item}`
// } else {
// SETTLEMENT_MODESSTR = item
// }
// })
// }
// 是否只选择了一个服务区
let isOneServerPart: boolean = false
@ -1340,7 +1340,7 @@ const revenueConfirmationDifference: React.FC<{ currentUser: CurrentUser }> = (p
const req = {
ServerpartIds: selectedId,
SETTLEMENT_MODES: SETTLEMENT_MODESSTR || '',
SETTLEMENT_MODES: params?.SettlementModes && params?.SettlementModes.length > 0 ? params?.SettlementModes.toString() : "",
startDate: params.MonthDate ? moment(params.MonthDate).format('YYYYMM') : '',
endDate: params.MonthDate ? moment(params.MonthDate).format('YYYYMM') : '',
keyword: params.MERCHANTS_NAME,

View File

@ -1167,16 +1167,16 @@ const revenueConfirmation: React.FC<{ currentUser: CurrentUser }> = (props) => {
console.log('params', params);
setSearchParams(params)
let SETTLEMENT_MODESSTR: string = ''
if (params.SETTLEMENT_MODES && params.SETTLEMENT_MODES.length > 0) {
params.SETTLEMENT_MODES.forEach((item: any) => {
if (SETTLEMENT_MODESSTR) {
SETTLEMENT_MODESSTR += `,${item}`
} else {
SETTLEMENT_MODESSTR = item
}
})
}
// let SETTLEMENT_MODESSTR: string = ''
// if (params.SETTLEMENT_MODES && params.SETTLEMENT_MODES.length > 0) {
// params.SETTLEMENT_MODES.forEach((item: any) => {
// if (SETTLEMENT_MODESSTR) {
// SETTLEMENT_MODESSTR += `,${item}`
// } else {
// SETTLEMENT_MODESSTR = item
// }
// })
// }
// 是否只选择了一个服务区
let isOneServerPart: boolean = false
@ -1194,10 +1194,9 @@ const revenueConfirmation: React.FC<{ currentUser: CurrentUser }> = (props) => {
}
const req = {
ServerpartIds: selectedId,
SETTLEMENT_MODES: SETTLEMENT_MODESSTR || '',
SETTLEMENT_MODES: params?.SettlementModes && params?.SettlementModes.length > 0 ? params?.SettlementModes.toString() : "",
startDate: params.MonthDate ? moment(params.MonthDate).format('YYYYMM') : '',
endDate: params.MonthDate ? moment(params.MonthDate).format('YYYYMM') : '',
keyword: params.MERCHANTS_NAME,

View File

@ -914,8 +914,7 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
title: <div style={{ textAlign: 'center' }}></div>,
width: 100,
dataIndex: 'desc',
valueType: 'digit',
align: 'right',
align: 'left',
hideInSearch: true,
}
]
@ -1205,10 +1204,13 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
exportList.forEach((item: any) => {
exportList.forEach((item: any, index: number) => {
if (item.CorrectAmount) {
addRevenueMoneyStr = item.CorrectAmount
}
if (item.PeriodDesc !== '合计') {
if (item.PeriodIndexStr === "项目开始前") {
item.PeriodIndexStr = '装修期'
@ -1254,7 +1256,9 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
})
}
if (index + 1 === exportList.length) {
item.desc = obj.BusinessProcess_Desc
}
exportRes2.push(JSON.parse(JSON.stringify(item)))
item.children = null
exportRes.push(item)
@ -1293,7 +1297,7 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
WaterCharge: handleHighPrecision(WaterChargeSum),
OtherFee: handleHighPrecision(OtherFeeSum),
ReceivableAmount: handleHighPrecision(ReceivableAmountSum),
ReductionAmountSum: handleHighPrecision(ReductionAmountSum),
ReductionAmount: handleHighPrecision(ReductionAmountSum),
desc: '不含装修期',
addRevenueMoney: addRevenueMoneyStr
}
@ -1500,11 +1504,12 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
exportList.forEach((item: any) => {
exportList.forEach((item: any, index: number) => {
if (item.PeriodDesc !== '合计') {
if (item.addRevenueMoney) {
addRevenueMoneyStr = item.CorrectAmount
}
if (item.PeriodIndexStr === "项目开始前") {
item.PeriodIndexStr = '装修期'
}
@ -1546,6 +1551,9 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
subItem.amount = (subItem.RevenueAmount * (subItem.GuaranteeRatio / 100)).toFixed(2)
})
}
if (index + 1 === exportList.length) {
item.desc = obj.BusinessProcess_Desc
}
exportRes2.push(JSON.parse(JSON.stringify(item)))
item.children = null
@ -1580,7 +1588,7 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
ElectricityCharge: handleHighPrecision(HouseRentSum),
WaterCharge: handleHighPrecision(HouseRentSum),
OtherFee: handleHighPrecision(HouseRentSum),
ReductionAmountSum: handleHighPrecision(ReductionAmountSum),
ReductionAmount: handleHighPrecision(ReductionAmountSum),
ReceivableAmount: handleHighPrecision(ReceivableAmountSum),
desc: '不含装修期',
addRevenueMoney: addRevenueMoneyStr
@ -2068,6 +2076,7 @@ const YearExamineDetailTable = ({ parentRow, currentApprovalstate, onRef, setIsS
<td>{exportSumRow?.PaidFee_9050 ? handleFormatNumber(exportSumRow?.PaidFee_9050) : '0'}</td>
<td>{exportSumRow?.PaidFee_9090 ? handleFormatNumber(exportSumRow?.PaidFee_9090) : '0'}</td>
<td>{exportSumRow?.PaidFee_9099 ? handleFormatNumber(exportSumRow?.PaidFee_9099) : '0'}</td>
<td>{exportSumRow?.ReductionAmount ? handleFormatNumber(exportSumRow?.ReductionAmount) : '0'}</td>
<td>{exportSumRow?.RefundSupplement ? handleFormatNumber(exportSumRow?.RefundSupplement) : '0'}</td>
<td>{exportSumRow?.addRevenueMoney ? `备注:营收冲正${(exportSumRow?.addRevenueMoney)}` : ''}</td>
</tr>

View File

@ -32,8 +32,9 @@ type DetailProps = {
onShowShop?: boolean// 判断是否显示门店
pageType?: string // 安徽建工的话 会有不一样的数据 判断一下
setAllServiceShop?: any // 给外面输出 服务区的value:该服务区下面的所有门店id 仅建工可用
collapsibleTitle?: string // 控制左上方显示的文字
}
const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width, otherFun, setCollapsible, collapsible, haveTest, handleGetLeftTreeData, noWj, selectOnly, onShowShop, pageType, setAllServiceShop }: DetailProps) => {
const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width, otherFun, setCollapsible, collapsible, haveTest, handleGetLeftTreeData, noWj, selectOnly, onShowShop, pageType, setAllServiceShop, collapsibleTitle }: DetailProps) => {
const searchTreeRef = useRef<FormInstance>();
// 默认的服务区树
const [allTreeViews, setAllTreeViews] = useState<any>()
@ -257,7 +258,7 @@ const LeftSelectTree = ({ setSelectedId, reload, actionRef, currentUser, width,
</div>
</div>}
colSpan={!collapsible ? "300px" : "60px"}
title={!collapsible ? "请选择服务区" : ""}
title={!collapsible ? collapsibleTitle ? collapsibleTitle : "请选择服务区" : ""}
headerBordered
collapsed={collapsible}
>

View File

@ -77,7 +77,7 @@ const PrintContent = ({ pageName, exportColumns, exportData, exportSumRow, type
<td align={'right'}>{exportSumRow?.PaidFee_9099 ? formatToTwoDecimalPlaces(exportSumRow?.PaidFee_9099) : '0.00'}</td>
</>
}
<td align={'right'}>{exportSumRow?.ReductionAmountSum ? formatToTwoDecimalPlaces(exportSumRow?.ReductionAmountSum) : '0'}</td>
<td align={'right'}>{exportSumRow?.ReductionAmount ? formatToTwoDecimalPlaces(exportSumRow?.ReductionAmount) : '0'}</td>
<td align={'right'}>{exportSumRow?.RefundSupplement ? formatToTwoDecimalPlaces(exportSumRow?.RefundSupplement) : '0'}</td>
<td>{exportSumRow?.desc}</td>
</tr> : ''

View File

@ -138,7 +138,6 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
}
})
console.log('newList', newList);
newList.forEach((item: any, index: number) => {
// node= reqDetailListDetail[0]
if (item.children && item.children.length > 0) {
@ -176,6 +175,7 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
ELECTRICITYCHARGE: subItem.ElectricityCharge,
WATERCHARGE: subItem.WaterCharge,
OTHERFEE: subItem.OtherFee,
REDUCTION_AMOUNT: subItem.ReductionAmount,
BUSINESSAPPROVAL_ID: parentRow?.BUSINESSAPPROVAL_ID,
PAID_AMOUNT: subItem.PaidFee,
EARLY_SETTLEMENT: subItem.EarlySettlement ? 1 : 0,
@ -215,6 +215,7 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
WATERCHARGE: item.WaterCharge,
OTHERFEE: item.OtherFee,
CORRECT_AMOUNT: res?.CORRECT_AMOUNT,
REDUCTION_AMOUNT: item.ReductionAmount,
BUSINESSAPPROVAL_ID: parentRow?.BUSINESSAPPROVAL_ID,
PAID_AMOUNT: item.PaidFee,
EARLY_SETTLEMENT: item.EarlySettlement ? 1 : 0,
@ -242,6 +243,7 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
ROYALTY_PRICE: item.RoyaltyAmount,
SUBROYALTY_PRICE: item.SubroyaltyAmount,
MOBILEPAY_AMOUNT: item.MobilePayAmount,
REDUCTION_AMOUNT: item.ReductionAmount,
CASHPAY_AMOUNT: item.CashAmount,
MERCHANTS_ID: parentRow?.MERCHANTS_ID,
MERCHANTS_NAME: parentRow?.MERCHANTS_NAME,
@ -275,6 +277,7 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
ACTUAL_REVENUE: item.RevenueAmount,
REVENUECONFIRM_ID: item.RevenueConfirmId,
PARTYA_SHAREPROFIT: item.RoyaltyTheory,
REDUCTION_AMOUNT: item.ReductionAmount,
PARTYB_SHAREPROFIT: item.SubroyaltyTheory,
LIQUIDATION_AMOUNT: item.RefundSupplement,
ACTUAL_ACCOUNTS: item?.GuaranteeFee,
@ -426,8 +429,8 @@ const YearExamineProcess = ({ currentUser, onShow, setOnShow, parentRow, setPare
console.log('parentRowparentRowparentRowparentRow', parentRow);
const req: any = []
if (historyList.tableData && historyList.tableData.length > 0) {
historyList.tableData.forEach((item: any) => {
if (historyList?.tableData && historyList?.tableData.length > 0) {
historyList?.tableData.forEach((item: any) => {
req.push({
BUSINESSPROJECT_ID: item.BUSINESSPROJECT_ID,
BUSINESSPROJECT_NAME: parentRow?.BUSINESSPROJECT_NAME,

View File

@ -7,17 +7,24 @@
* @Description:
*/
import request from '@/utils/request';
import requestAHYD from '@/utils/requestAHYD';
import { tableList } from '@/utils/format';
// 上传图片的公共方法
// 上传图片信息(文件格式传输) 入参数据: TableId【数据表内码】 TableName【数据表名称】 ImageName【图片名称】
export async function uploadPicture(uploadFilds?: any) {
return await request(`/Picture/UploadPicture`, {
method: 'POST',
data: uploadFilds
})
}
export async function uploadAHYDPicture(uploadFilds?: any) {
return await requestAHYD(`/Picture/UploadPicture`, {
method: 'POST',
data: uploadFilds
})
}
export async function SavePicture(uploadFilds?: any) {

220
src/utils/requestAHYD.ts Normal file
View File

@ -0,0 +1,220 @@
/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */
import { extend } from 'umi-request';
import { notification } from 'antd';
import Cookies from 'js-cookie';
import moment from 'moment';
import session from './session';
import type { CurrentUser } from '@/models/user';
import { SynchroBEHAVIORRECORD } from '@/services/user';
import { encryptAES } from './handleAes';
const codeMessage: Record<number, string> = {
200: '服务器成功返回请求的数据。',
201: '新建或修改数据成功。',
202: '一个请求已经进入后台排队(异步任务)。',
204: '删除数据成功。',
400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
401: '用户没有权限(令牌、用户名、密码错误)。',
403: '用户得到授权,但是访问是被禁止的。',
404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
406: '请求的格式不可得。',
410: '请求的资源被永久删除,且不会再得到的。',
422: '当创建一个对象时,发生一个验证错误。',
500: '服务器发生错误,请检查服务器。',
502: '网关错误。',
503: '服务不可用,服务器暂时过载或维护。',
504: '网关超时。',
};
/**
* @zh-CN
* @en-US Exception handler
*/
const errorHandler = (error: { response: Response }): Response => {
const { response } = error;
if (response && response.status) {
const errorText = codeMessage[response.status] || response.statusText;
const { status, url } = response;
notification.error({
message: `请求错误 ${status}: ${url}`,
description: errorText,
});
} else if (!response) {
notification.error({
description: '您的网络异常,无法连接到服务器.',
message: '网络异常',
});
}
return response;
};
/**
* @en-US Configure the default parameters for request
* @zh-CN request请求时的默认参数
*/
const request = extend({
errorHandler, // default error handling
// prefix: '/EShangApiAHYD',// 开发
prefix: 'https://ahyd.eshangtech.com/EShangApiMain', // 正式
headers: {
token: '',
ProvinceCode: '',
ServerpartCodes: '',
// tmp: (new Date()).getTime()
}
// credentials: 'include', // Does the default request bring cookies
});
// 存一下进来调用的值
// let userbeHaviObj: any = {}
// request拦截器, 改变url 或 options.
request.interceptors.request.use((url, opt: any) => {
const options = { ...opt }
const currentUser: CurrentUser = session.get('currentUser');
// let userbeHaviObj = {
// url: url,
// options: options,
// currentUser: currentUser,
// startTime: new Date().getTime()
// }
// options.userbeHaviObj = userbeHaviObj
if (currentUser) {
if (options.headers) {
if (url.indexOf('SynchroSERVERPART') > -1) {
options.headers = {
...options.headers,
PROVINCE_CODE: opt?.data?.PROVINCE_CODE,
ProvinceCode: opt?.data?.PROVINCE_CODE,
provincecode: opt?.data?.PROVINCE_CODE,
token: currentUser.UserToken || '',
ServerpartCodes: currentUser.CityAuthority || '',
ServerpartShopIds: currentUser.ServerpartShopIds || '',
UserPattern: currentUser?.UserPattern || '',
}
} else {
options.headers = {
...options.headers,
token: currentUser.UserToken || '',
ProvinceCode: opt?.data?.noProvinceCode ? '' : (currentUser.ProvinceCode || ''),
ServerpartCodes: currentUser.CityAuthority || '',
ServerpartShopIds: currentUser.ServerpartShopIds || '',
UserPattern: currentUser?.UserPattern || '',
}
}
}
if (url.indexOf('SynchroSERVERPART') > -1) {
options.data = {
...options.data,
STAFF_ID: currentUser.ID,
STAFF_NAME: currentUser.Name,
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'),
PROVINCE_CODE: opt?.data?.PROVINCE_CODE,
}
} else {
if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) &&
url.indexOf('Picture/SaveImgFile') === -1) {
// 添加操作人和业主单位信息
options.data = {
...options.data,
STAFF_ID: currentUser.ID,
STAFF_NAME: currentUser.Name,
OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId,
OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit,
PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode),
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss')
}
if (currentUser?.UserPattern === 2000) {
options.data = {
...options.data,
PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode),
BUSINESSMAN_ID: currentUser.BusinessManID,
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss')
}
}
}
}
if (options && options.data && options.data.requestEncryption) {
options.data = {
name: "",
value: encryptAES(JSON.stringify(options.data))
}
}
}
return {
// url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`,
url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`,
options,
}
})
request.interceptors.response.use((response, option) => {
const nowTmp = moment()
Cookies.set('tmp', nowTmp.format())
// // 加个数组 如果请求地址是数组里面的 那就不调用 记录用户行为了
// let specialList = ['/FrameWork/GetFieldEnumByField', "/FrameWork/GetUserModuleList", "/FrameWork/GetFieldEnumTree", '/Logging/GetPassportInfoByToken', '/Logging/UserLogin', 'Dictionary/GetFieEnumList', '/Platform/SynchroBehaviorrecord']
// // 判断一下 现在的这次请求 是不是特殊 不需要进行记录的
// let isOk: boolean = true
// let userbeHaviObj = option?.userbeHaviObj || {}
// specialList.forEach((item: any) => {
// if (userbeHaviObj.url.indexOf(item) !== -1) {
// isOk = false
// }
// })
// if (isOk) {
// let nowMenu = session.get("currentMenu")
// let endTime = new Date().getTime()
// let basicInfo = session.get("basicInfo")
// let systemBasin = session.get("systemBasin")
// let browserVersion = session.get("browserVersion")
// const req: any = {
// USER_ID: userbeHaviObj.currentUser.ID,
// USER_NAME: userbeHaviObj.currentUser.Name,
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`,
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_ROUT: nowMenu.pathname,
// BEHAVIORRECORD_ROUTNAME: nowMenu.name,
// BEHAVIORRECORD_LEAVETIME: moment(new Date(endTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_DURATION: (endTime - userbeHaviObj.startTime) / 1000,
// OWNERUNIT_ID: userbeHaviObj.currentUser.OwnerUnitId,
// OWNERUNIT_NAME: userbeHaviObj.currentUser.OwnerUnitName,
// BUSINESSMAN_ID: userbeHaviObj.currentUser.BusinessManID,
// BUSINESSMAN_NAME: userbeHaviObj.currentUser.BusinessManName,
// SOURCE_PLATFORM: '驿商云平台',
// BEHAVIORRECORD_DESC: JSON.stringify(userbeHaviObj.options.params) === '{}' ? userbeHaviObj.url.split('?')[1] : JSON.stringify(userbeHaviObj.options.params), // 入参
// USER_LOGINIP: basicInfo.ip,
// USER_LOGINPLACE: `${basicInfo.country}${basicInfo.prov}${basicInfo.city}${basicInfo.district}`,
// BROWSER_VERSION: browserVersion,
// OPERATING_SYSTEM: systemBasin
// }
// console.log('reqreqreqreqreq', req);
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
// // method: 'POST',
// // headers: {
// // 'Content-Type': 'application/json',
// // },
// // body: JSON.stringify(req),
// // })
// }
return response
})
export default request;

View File

@ -1,4 +1,4 @@
// 由 scripts/writeVersion.js 自动生成
export const VERSION = "4.5.45";
export const GIT_HASH = "d3a4c2a";
export const BUILD_TIME = "2025-09-02T10:19:24.187Z";
export const VERSION = "4.5.49";
export const GIT_HASH = "f5c66f8";
export const BUILD_TIME = "2025-09-05T01:51:31.828Z";