Commit 1bbb8b84 authored by XieZhiXiong's avatar XieZhiXiong
parents ce30db83 f606fbfb
......@@ -18,7 +18,7 @@ const AvatarDropdown = (props) => {
}
const currentUser = {
name: getAuth()?.name || '未知用户',
name: getAuth()?.company || '未知用户',
avatar: props.UserStore.avatar || '',
}
......@@ -52,7 +52,7 @@ const AvatarDropdown = (props) => {
: <Icon component={() => <DefaultAvatar className={styles.logo} />} />
}
<span className={styles.name}>{currentUser.name}</span>
<span className={styles.name}>{currentUser?.name}</span>
</span>
</PersonDropdown>
)
......
......@@ -62,8 +62,8 @@ const UserCenter: React.FC<Iprops> = (props) => {
const logo = info.file.response.data
const { code } = await PublicApi.postMemberMainpageLogoAdd({logo: logo });
if (code === 1000) {
dispatch({type: 'done', payload: {url: logo}})
props.UserStore.setUserAvatar(logo)
dispatch({type: 'done', payload: {url: logo}});
(props as any).UserStore.setUserAvatar(logo)
}
}
}
......@@ -75,7 +75,7 @@ const UserCenter: React.FC<Iprops> = (props) => {
<div className={styles.header}>
<div className={styles.infos}>
<div className={styles.hi}>
{`Hi, ${userAuth?.name}! 欢迎来到${GlobalConfig.global.siteInfo.name}`}
{`Hi, ${userAuth?.company}! 欢迎来到${GlobalConfig.global.siteInfo.name}`}
</div>
<div className={styles.date}>
{today.format('YYYY年MM月DD日')} 星期{WEEKDAYS[today.day()]}
......
import React, { useRef, useState, useEffect, useCallback } from 'react'
import React, { useRef, useState, useEffect } from 'react'
import { history } from 'umi'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import ReutrnEle from '@/components/ReturnEle'
......@@ -101,7 +101,6 @@ const AddNewBid:React.FC<AddNewBidProps> = (props) => {
const handleSubmit = async (value) => {
setBtnLoading(true)
const params = paramsConversionFn(value)
console.log(params, value, 'ppp')
if(!params.isQualificationCheck) {
delete params.preCheckStartTime
delete params.preCheckEndTime
......@@ -147,7 +146,6 @@ const AddNewBid:React.FC<AddNewBidProps> = (props) => {
// // 新增或复制 剔除id操作
// omitID(params)
// }
// console.log(params, 'after')
try {
addSchemaAction.getFieldState('deliverAddressId', state => {
if(params?.deliverAddressId) {
......@@ -223,7 +221,6 @@ const AddNewBid:React.FC<AddNewBidProps> = (props) => {
const clickAddMember = () => {
memberRef.current.setVisible(true)
// if (id) {
// console.log(hadMembers.current, 'hadMembers')
// memberRef.current.rowSelectionCtl.setSelectedRowKeys(hadMembers.current.map(item => item.memberId))
// memberRef.current.rowSelectionCtl.setSelectRow(hadMembers.current)
// }
......
......@@ -5,10 +5,9 @@ import { BidDetailContext } from '@/pages/procurement/_public/bid/context';
import { useBidDetail } from '@/pages/procurement/_public/bid/effects/useBidDetail';
import BidDetailHeader from '@/pages/procurement/components/bidDetailHeader';
import BidDetailSection from '@/pages/procurement/components/bidDetailSection';
import { BidOuterWorkState } from '@/constants/procurement';
const CallForBidsSearchDetail: React.FC = () => {
const { formContext, id } = useBidDetail({ type: 'callForBid' })
const { formContext } = useBidDetail({ type: 'callForBid' })
const { data } = formContext
// type? 用于区分DescriptionsInfo组件的内容
......@@ -30,28 +29,6 @@ const CallForBidsSearchDetail: React.FC = () => {
{ title: '流转记录', id: 'transferRecord', componentName: "BidTransformRecord" },
]
// // 已经报名 才有报名信息 @注释原因:无法通过状态判断
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submitted_Qualifications_Check) {
// anchorTitleList.splice(5, 1)
// }
// // 已经资格预审 才有资格预审信息
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Submit_Tender && !data?.isQualificationCheck) {
// // anchorTitleList.splice(7, 1)
// anchorTitleList.forEach((ele, index) => ele['title'] === '资格预审信息' && anchorTitleList.splice(index, 1))
// }
// // 已经评标 才有评标报告
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Not_Finish_Notice) {
// // anchorTitleList.splice(9, 1)
// anchorTitleList.forEach((ele, index) => ele['title'] === '评标报告' && anchorTitleList.splice(index, 1))
// }
// // 已经完成招标 才有招标结果
// if(data?.inviteTenderOutStatus < BidOuterWorkState.Finish_Invite_Tender) {
// anchorTitleList.splice(-2, 1)
// }
// 勾选资格预审 才有资格预审信息
if(!data?.isQualificationCheck) {
anchorTitleList.forEach((ele, index) => ele['title'] === '资格预审要求' && anchorTitleList.splice(index, 1))
......
......@@ -23,8 +23,8 @@ export interface RemarkBidReportProps {
const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
const { data, submitData, submitCtl } = useContext(ReadyConfirmBidContext)
const [transferRadio, setTransferRadio] = useState<number>(0)
const { fileList, recommandList, childTableData } = submitData
const { setFileList, setRecommandList, setChildrenTableData } = submitCtl
const { recommandList, childTableData } = submitData
const { setRecommandList, setChildrenTableData } = submitCtl
const [evaluationRecord, setEvaluationRecord] = useState<any>([])
const [childTableColumns, setChildrenTableColumns] = useState<any>([])
......
......@@ -51,7 +51,8 @@ export const RemarkTableCell:React.FC<TableCellProps> = ({
try {
const values = await form.validateFields()
console.log(values, e, 'vvv')
values.totalScore = Object.values(values).reduce((a, b) => Number(a) + Number(b), 0)
const score = Object.values(values).reduce((a, b) => Number(a) + Number(b), 0)
values.totalScore = Number(score).toFixed(2)
handleSave({ ...record, ...values })
} catch (errInfo) {
console.log('Save failed:', errInfo)
......
......@@ -82,7 +82,7 @@ const ReadyExpertRemarkDetail: React.FC = () => {
return item
})
const res = await PublicApi.postPurchaseExpertExtractRecordEvaluationTender({id, evaluationTenderList: evaluationList.filter(Boolean), evaluationTenderRecommendList})
const res = await PublicApi.postPurchaseExpertExtractRecordEvaluationTender({id: Number(id), evaluationTenderList: evaluationList.filter(Boolean), evaluationTenderRecommendList})
if(res.code === 1000) {
history.goBack()
......
......@@ -10,7 +10,6 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit'
import DateRangePickerUnix from '@/components/NiceForm/components/DateRangePickerUnix'
import '../../constants/index.less'
import { BidInsideWorkState, BidOuterWorkState } from '@/constants/procurement'
// 待确认定标 招标
......
......@@ -31,7 +31,7 @@ export interface RemarkBidReportProps {
editable?: Boolean,
}
const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable}) => {
const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
const { token } = getAuth() || {}
const { data, submitData, submitCtl } = useContext(ReportDetailContext)
const currentRef = useRef<any>({})
......@@ -292,11 +292,11 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable})
beforeUpload(file) {
if(file.name.length > 100) {
message.warning('文件名过长');
return Promise.reject();
return Promise.reject('文件名过长');
}
if (file.size / 1024 / 1024 > 20) {
message.warning('附件大小超过20M');
return Promise.reject();
return Promise.reject('附件大小超过20M');
}
},
}
......@@ -332,7 +332,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable})
},
}
const handleSave = (row, index) => {
const handleSave = (row) => {
// 双重遍历childTableData数据 改变total和average
setChildrenTableData(() => {
return childTableData.map(element => {
......@@ -340,8 +340,9 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable})
if(_e.memberName === row.memberName) {
return {
..._e,
total: Number(row.total),
average: (Number(row.total) / row.expertNumber).toFixed(2),
// @reason:修正总分和总分不需要联动
// total: Number(row.total),
// average: (Number(row.total) / row.expertNumber).toFixed(2),
}
} else {
return _e
......@@ -436,7 +437,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable})
editable: col.editable,
dataIndex: col.dataIndex,
title: col.title,
handleSave: (row) => handleSave(row, index),
handleSave: (row) => handleSave(row),
}),
};
});
......
......@@ -44,7 +44,6 @@ const readySubmitReportDetail: React.FC = () => {
const handleSubmit = () => {
setLoading(true)
console.log(submitData)
const {fileList, recommandList, childTableData, offlineData} = submitData
let params: any = { id }
if(recommandList && recommandList.length) {
......@@ -66,7 +65,6 @@ const readySubmitReportDetail: React.FC = () => {
:
[]
}
console.log(params)
PublicApi.postPurchaseExpertExtractReportSubmitEvaluationTenderReport(params).then(res => {
setLoading(true)
if(res.code === 1000) {
......
import React, { useEffect } from 'react'
import { findLastIndexFlowState } from '@/utils'
import { Skeleton } from 'antd';
import style from './index.less'
import TransferProcess from '../transferProcess'
import DescriptionsInfo from '../descriptionsInfo'
......@@ -23,7 +22,6 @@ export interface BidDetailSectionProps {
const BidDetailSection:React.FC<BidDetailSectionProps> = ({
formContext,
type = 'callForBid',
anchorList = [],
}) => {
......@@ -74,7 +72,7 @@ const BidDetailSection:React.FC<BidDetailSectionProps> = ({
}
}
const RenderCertainContent = ({ id, title, type = null, componentName = null }) => {
const RenderCertainContent = ({ title, type = null, componentName = null }) => {
let RcDom: any = null;
switch(componentName) {
//@todo 需另外调用接口获取数据
......@@ -138,11 +136,9 @@ const BidDetailSection:React.FC<BidDetailSectionProps> = ({
return (
formContext.data &&
// <Skeleton active loading={!(formContext.externalWorkflowFlowRecordLogResponses || formContext.interiorWorkflowFlowRecordLogResponses)}>
<div className={[style.anchorContentWrap, "anchorContent"].join(' ')}>
<RenderDetailSection componentList={anchorList} />
</div>
// </Skeleton>
)
}
......
......@@ -46,9 +46,9 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
const [tableColumn, setTableColumn] = useState<any>(() => {
let totalMoney = 0;
data.submitTender ?data.submitTender.submitTenderMateriel.forEach(item => {
data.submitTender ? data.submitTender.submitTenderMateriel.forEach(item => {
if(cardTitle === '中标明细') {
totalMoney += item.price * item.inviteTenderMateriel.count * Number(item.awardTenderRatio)/100
totalMoney += (item.isAwardTender ? item.price * item.inviteTenderMateriel.count * Number(item.awardTenderRatio)/100 : 0)
} else {
totalMoney += item.price * item.inviteTenderMateriel.count
}
......
......@@ -58,7 +58,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
// 计算总分 计算平均分
const computedData = groupBy(dataSource, 'memberName')
const computedScore = Object.keys(computedData).map((item, index) => {
const computedScore = Object.keys(computedData).map((item) => {
let expertNumber = Object.keys(groupBy(computedData[item], 'expertExtractRecordId')).length
let total = computedData[item].reduce((a, b) => a + b.score, 0)
......@@ -75,7 +75,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
// 根据评标sort分类后的数据 遍历 分子表格
let childrenTableDataSource = [] // table data
let childTableDataColumns = [] // table columns
Object.keys(dataBySort).forEach((item, index) => {
Object.keys(dataBySort).forEach((item) => {
let childTableData = []
let childTableColumns = [{
title: '会员', dataIndex: 'memberName', key: 'memberName',
......@@ -192,7 +192,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
},
}
const handleSave = (row, index) => {
const handleSave = (row) => {
// 双重遍历childTableData数据 改变total和average
setChildrenTableData(() => {
return childTableData.map(element => {
......@@ -242,7 +242,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
editable: col.editable,
dataIndex: col.dataIndex,
title: col.title,
handleSave: (row) => handleSave(row, index),
handleSave: (row) => handleSave(row),
}),
};
});
......
......@@ -9,8 +9,8 @@ import { message } from 'antd'
import { history } from 'umi'
interface OrderDetailHookProps {
// 采购、销售、待收货、待确认发货
type: 'purchaseOrder' | 'saleOrder' | 'p_readyReceiveOrder' | 's_readyConfirmDelevedOrder'
// 采购、销售、待收货、待确认发货、待支付
type: 'purchaseOrder' | 'saleOrder' | 'p_readyReceiveOrder' | 's_readyConfirmDelevedOrder' | 'p_readyPayOrder'
}
// 订单详情, 支持两种订单模式
......@@ -63,6 +63,8 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
break;
case 's_readyConfirmDelevedOrder': api = PublicApi.getOrderVendorValidateDeliveryDetail;
break;
case 'p_readyPayOrder': api = PublicApi.getOrderBuyerValidatePayDetail;
break;
default:
api = PublicApi.getOrderBuyerDetail;
}
......@@ -71,7 +73,6 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
const reloadFormData = useCallback(() => {
if (id || orderNo) {
// const fn = type === 'purchaseOrder' ? PublicApi.getOrderBuyerDetail : PublicApi.getOrderVendorDetail
const fn = getDetailsApi(type)
// @ts-ignore
fn( id ? { orderId: id } : { orderNo }, { ctlType: "none" }).then(res => {
......@@ -108,7 +109,6 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
}
return {
formContext,
id,
......
......@@ -127,13 +127,13 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const renderOptionButton = (record: any) => {
const buttonGroup = {
'取消订单': record.showCancel,
// '售后': record.showAfterSales,
'售后': record.showAfterSales,
'评价': record.showComment
}
const operationHandler = {
'取消订单': () => handleCancel(record.orderId),
// '售后': () => handleSaleAfter(record),
'售后': () => handleSaleAfter(record),
'评价': () => handleEvaluate(record.orderId),
}
......
import { paymentInformationColumns } from '../constant'
import { PayInfoCell, EditableRow } from '../components/payInfoTableCell'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { useEffect, useState, useRef, useContext } from 'react'
import { useEffect, useState, useRef } from 'react'
import { PublicApi } from '@/services/api'
export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, memberId: any, memberRoleId: any, orderProducts: any): any => {
......@@ -36,7 +36,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
shopId: ctx.getFieldValue('shopId'),
orderMode: ctx.getFieldValue('orderMode'),
products: ctx.getFieldValue('products').map(item => ({ productId: item.commodityId, skuId: item.productId }))
}).then(res => {
}, { ctlType: 'none' }).then(res => {
const { code, data } = res
if (code === 1000) {
const newColumns = [...columns]
......
......@@ -10,7 +10,7 @@ import OrderDetailSection from '../../../components/orderDetailSection';
import OrderPayModal from '@/pages/transaction/components/orderPayModal';
const ReadyConfirmContract: React.FC = () => {
const { formContext, id, detailList } = useOrderDetail({type: 'purchaseOrder'})
const { formContext, id, detailList } = useOrderDetail({type: 'p_readyPayOrder'})
const {data, currentPayInfoId} = formContext
const payRef = useRef<any>({})
......
......@@ -16,7 +16,7 @@ import '../index.less'
export interface ReadyPayOrderProps {}
const fetchTableData = async (params) => {
const { data } = await PublicApi.getOrderBuyerPage({...params, outerStatus: 6})
const { data } = await PublicApi.getOrderBuyerValidatePayPage(params)
return data
}
......
......@@ -30,7 +30,7 @@ export const tableListSchema: any = () => {
}
},
properties: {
digest: {
"digest": {
type: 'string',
'x-component-props': {
placeholder: '请输入订单摘要',
......@@ -53,7 +53,7 @@ export const tableListSchema: any = () => {
}))
},
"[startDate,endDate]": {
type: 'datarange',
type: 'daterange',
// "x-component": 'DateRangePickerUnix',
'x-component-props': {
placeholder: ['开始时间','结束时间'],
......
......@@ -337,9 +337,10 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
})
fatchSetedProducts(parentState.value[0])
})
// 此项隐藏操作在编辑下能无效
$('onFieldValueChange', 'baseProcessId').subscribe(parentState => {
const selectedObject = parentState.dataSource.filter(item => item.baseProcessid === parentState.value)[0]
// 不是下单交易类型 隐藏电子合同
// 不是下单交易类型 隐藏取消时间
if(selectedObject && selectedObject["processType"] !== 1) {
setFieldState("MEGA_LAYOUT1_1", state => {
state.visible = false
......@@ -360,7 +361,7 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
setFieldState("payments", state => {
state.visible = true
})
if(pageStatus === PageStatus.ADD) {
// if(pageStatus === PageStatus.ADD) {
let initPayments: any[] = [];
for(let i = 1; i <= selectedObject['payTimes']; i++) {
initPayments.push({
......@@ -370,13 +371,43 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
})
}
setFieldValue("payments", initPayments)
}
// }
} else {
setFieldState("payments", state => {
state.visible = false
})
}
})
// 处理编辑下支付配置的显示隐藏
$('onFieldValueChange', 'payments').subscribe(parentState => {
if(pageStatus === PageStatus.EDIT) {
if(parentState.value.length) {
setFieldState("payments", state => {
state.visible = true
})
}
}
})
// 处理编辑下电子的显示隐藏
$('onFieldValueChange', 'processType').subscribe(parentState => {
if(pageStatus === PageStatus.EDIT) {
if(parentState.value === 1) {
setFieldState("MEGA_LAYOUT1_1", state => {
state.visible = true
})
setFieldState("expireHours", state => {
state.visible = true
})
} else {
setFieldState("MEGA_LAYOUT1_1", state => {
state.visible = false
})
setFieldState("expireHours", state => {
state.visible = false
})
}
}
})
}}
onSubmit={handleSubmit}
actions={addSchemaAction}
......
......@@ -129,6 +129,11 @@ export const ruleDetailSchema: ISchema = padRequiredMessage({
},
visible: false
},
"processType": {
type: 'number',
title: '流程类型',
visible: false
}
}
}
}
......
......@@ -4,7 +4,7 @@ import { getTopDomainByHost } from '.'
import { getCookie, removeCookie, setCookie } from './cookie'
import { getUserCookie, setUserCookie } from './siteCookie'
export interface AuthInfo {
export interface AuthInfo extends GetMemberLoginRegetResponse {
urls: string[]
userId: number,
memberId: number,
......@@ -16,7 +16,6 @@ export interface AuthInfo {
creditPoint: number,
memberRoleType: number,
memberRoleId: number,
roles: any,
}
const AUTH_KEY = 'AUTH'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment