Commit e1ff1c90 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

fix:

parent c38a691a
......@@ -116,7 +116,7 @@ const MultAddress = (props) => {
// 渲染省份option
const renderProvice = async (result, val, idx) => {
console.log(result, val, idx)
// console.log(result, val, idx)
await province.forEach(item => {
if (item.code === val) {
PublicApi.getManageAreaByPcodeAll({ pcode: val }).then((res: any) => {
......
......@@ -2222,7 +2222,7 @@ export const BidOutOpeartTexts = {
//******投标** 内部状态工作流状态
export enum TenderInsideWorkState {
/** 未提交招标报名 */
/** 招标报名 */
NotSubmitted_Invite_Tender_Register = 1,
/** 已提交招标报名 */
Submitted_Invite_Tender_Register = 2,
......@@ -2234,7 +2234,7 @@ export enum TenderInsideWorkState {
Not_Save_Submit_Tender = 5,
/** 待提交审核投标 */
Not_Submitted_Check_Submit_Tender = 6,
/** 已提交审核投标 */
/** 审核投标 */
Submitted_Check_Submit_Tender = 7,
/** 审核投标不通过 */
Check_Submit_Tender_Not_Pass = 8,
......@@ -2246,13 +2246,13 @@ export enum TenderInsideWorkState {
/** 投标 内部状态 */
export const TenderInStateTexts = {
1: "未提交招标报名",
1: "招标报名",
2: "已提交招标报名",
3: "待提交资格预审",
4: '已提交资格预审',
5: '待新增投标',
6: '待提交审核投标',
7: '已提交审核投标',
7: '审核投标',
8: '审核投标不通过',
9: '待提交投标',
10: '已提交投标',
......
......@@ -261,6 +261,20 @@
}
}
// 处理高级筛选input和search按钮不对齐问题、search按钮背景
.ant-input-search {
.ant-input-group {
.ant-input {
padding: 6px;
}
}
.ant-input-group-addon {
.ant-input-search-button {
background-color: #F7F8FA;
}
}
}
}
.ant-descriptions-item-label {
......
......@@ -44,7 +44,7 @@ export const paramsConversionFn = (value) => {
value['preCheckFile'] = fileChangeStringArray(_value['preCheckFile'])
if(value?.registerFile && value.registerFile.length)
value['registerFile'] = fileChangeStringArray(_value['registerFile'])
value['materielList'] = _value['materielList'].map(item => {
value['materielList'] = _value?.materielList ? _value['materielList'].map(item => {
if(item?.file && item.file.length){
return {
...item,
......@@ -61,7 +61,7 @@ export const paramsConversionFn = (value) => {
} else {
return {...item}
}
})
}) : []
if(value?.memberList?.length) {
value['memberList'] = _value['memberList'].map(item => {
let param = {
......
......@@ -350,7 +350,7 @@ const bidRequestInfo: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......@@ -417,7 +417,7 @@ const enterRequestInfo: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......@@ -504,7 +504,7 @@ const qualificationNeedInfo: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......@@ -572,7 +572,7 @@ const evaluationNeedInfo: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -220,7 +220,7 @@ export const goodFormSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -50,8 +50,8 @@ const callForBidsSearch: React.FC<{}> = () => {
}
{
//@todo 大于等于报名开始时间&&小于评标截止时间&&未抽取专家&&未被废标
moment().valueOf() >= record.registerStartTime && moment().valueOf() < record.evaluationEndTime && record.inviteTenderInStatus !== BidInsideWorkState.Discard_Tender ?
<Button type='link'>抽取专家</Button>
moment().valueOf() >= record.registerStartTime && moment().valueOf() < record.evaluationEndTime && record.inviteTenderInStatus !== BidInsideWorkState.Discard_Tender && record.tenderOutStatus === BidOuterWorkState.Not_Selection_Tender ?
<Button type='link' onClick={handleWithdraw}>抽取专家</Button>
: null
}
<Button type='link' onClick={() => handleDestory(record.id)}>废标</Button>
......@@ -66,6 +66,10 @@ const callForBidsSearch: React.FC<{}> = () => {
return data
}
const handleWithdraw = () => {
history.push('memberCenter/procurementAbility/callForBids/remarkBidCommittee/add')
}
// 复制 id存入本地存储跳转至新增页
const handleCopy = (id) => {
// PublicApi.postPurchaseInviteTenderCopyInviteTender({id}).then(res => {
......
......@@ -146,7 +146,7 @@ export const submitSchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/confirmBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -204,7 +204,7 @@ export const noticeSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: 'bidAnnouance',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......@@ -251,7 +251,7 @@ export const noticeSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: 'bidNotice',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -30,7 +30,7 @@ const ReadySubmitBidDetail: React.FC = () => {
const result = await run(params)
if (result.code === 1000) {
approvedRef.current.setVisible(false)
// approvedRef.current.setVisible(false)
history.goBack()
}
}, [])
......
......@@ -195,7 +195,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/tender/',
prefix: '',
},
onChange(info) {
if (info.file.status !== 'uploading') {
......
......@@ -49,7 +49,7 @@ export const tableListSchema: ISchema = {
showTime: true,
},
},
memberName: {
submitTenderMemberName: {
type: 'string',
'x-component-props': {
placeholder: '请输入投标会员',
......
......@@ -145,9 +145,11 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
render: (data) => (<>
<Row className={style['card-list']}>
<Col span={4} className={style['card-list_title']}>附件:</Col>
<Col span={20}>
{
currentRow.file?.length ? currentRow['file'].map(item => <Col key={item.id}><a href={item.url} target="_blank">{item.name}</a></Col>) : null
currentRow.file?.length ? currentRow['file'].map(item => <a key={item.id} href={item.url} style={{display: 'block'}} target="_blank">{item.name}</a>) : null
}
</Col>
</Row>
</>)
},
......
......@@ -294,7 +294,7 @@ export const formSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/tender/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
.customeFormItem {
margin: 0;
position: 'relative';
.ant-form-item-control {
.ant-form-item-explain-error {
position: absolute;
left: 0;
bottom: 0;
}
}
}
import React, { useRef, useContext } from 'react'
import { Form, Input } from 'antd';
import './index.less'
export interface ProductTableCellProps {
title: React.ReactNode;
......@@ -78,7 +79,7 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
if (editable) {
childNode =
<Form.Item
style={{ margin: 0 }}
className="customFormItem"
name={dataIndex}
initialValue={record[dataIndex] || ''}
rules={[
......@@ -86,9 +87,12 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
required: true,
message: `${title}必须填写`,
},
{
dataIndex === 'price' ? {
pattern: /^\d+(\.\d{1,4})?$/,
message: `单价仅限四位小数`,
} : {
pattern: /^\d+(\.\d{1,2})?$/,
message: '采购数量仅限两位小数',
message: `税率仅限两位小数`,
},
]}
>
......
......@@ -110,7 +110,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
<Col span={3}>
<div className={style.childrenTitle}>
<p>对应</p>
<p>标商品</p>
<p>标商品</p>
</div>
</Col>
<Col span={6}>
......
......@@ -128,7 +128,7 @@ export const formSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/callForBid/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......@@ -273,7 +273,7 @@ export const formSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/tender/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -130,7 +130,7 @@ export const relevanceSchema: ISchema = {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/tender/',
prefix: '',
},
beforeUpload: '{{beforeUpload}}',
accept: '.xls, .xlsx, .doc, .docx, .wps, .pdf, .jpg, .png, .jpeg',
......
......@@ -72,7 +72,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
action: '/api/file/file/upload/prefix',
data: {
fileType: 1,
prefix: '/procurment/tender/',
prefix: '',
},
onChange(info) {
if (info.file.status !== 'uploading') {
......
......@@ -13,7 +13,7 @@ import { usePageStatus } from '@/hooks/usePageStatus'
import ModalTable from '@/components/ModalTable'
import { formatTimeString } from '@/utils'
import { AddressPop } from '../../purchaseOrder/orderCollect/components/productModalTable'
import { DELIVERY_TYPE, OrderModalType, SaleOrderInsideWorkStateTexts } from '@/constants'
import { DELIVERY_TYPE, OrderModalType, ORDER_TYPE2_BIDDING_CONTRACT, ORDER_TYPE2_ENQUIRY_CONTRACT, ORDER_TYPE2_TENDER_CONTRACT, SaleOrderInsideWorkStateTexts } from '@/constants'
export interface OrderProductTableProps {}
......@@ -87,7 +87,7 @@ const modalPriceActions = createFormActions()
// 总计金额联动框
export const MoneyTotalBox = ({ dataSource, isEditData }) => {
const { reloadFormData } = useContext(OrderDetailContext)
const { orderProductRequests = [], receiverAddressId, freight, amount, orderModel, sumPrice } = dataSource || {}
const { orderProductRequests = [], receiverAddressId, freight, amount, orderModel, sumPrice, type } = dataSource || {}
const creditsCommodity = (orderModel === 24 || orderModel === 25) // 积分或渠道积分下单模式
const modelRef = useRef<any>({})
......@@ -141,13 +141,16 @@ export const MoneyTotalBox = ({ dataSource, isEditData }) => {
setSum(_sum)
}, [orderProductRequests])
/** 采购合同下单下不显示设置运费按钮 */
const notShowSet = type === ORDER_TYPE2_ENQUIRY_CONTRACT || type === ORDER_TYPE2_BIDDING_CONTRACT || type === ORDER_TYPE2_TENDER_CONTRACT
return <RowStyle>
<Col span={2}>
<div>{creditsCommodity ? '合计所需积分' : '合计金额'}</div>
<div>{sum}</div>
</Col>
<Col span={2}>
<div>运费 { isEditData && !creditsCommodity && <SettingOutlined style={{marginLeft: 8}} onClick={handleSetting}/>}</div>
<div>运费 { isEditData && !creditsCommodity && !notShowSet && <SettingOutlined style={{marginLeft: 8}} onClick={handleSetting}/>}</div>
<div>{freePrice}</div>
</Col>
<Col span={2}>
......
......@@ -106,7 +106,7 @@ export const MaterialTableCell:React.FC<MaterialTableCellProps> = ({
throw new Error(`数量不小于最小起订数${record["minOrder"]}`)
}
if(_value > Number.MAX_SAFE_INTEGER) {
throw new Error('数值溢出')
throw new Error('数值精度溢出')
}
callback()
} catch (err) {
......
.customeFormItem {
margin: 0;
position: 'relative';
.ant-form-item-control {
.ant-form-item-explain-error {
position: absolute;
left: 0;
bottom: 0;
}
}
}
......@@ -90,6 +90,9 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
if(isNaN(_value) || _value < Number(record["minOrder"])) {
throw new Error(`数量不小于最小起订数${record["minOrder"]}`)
}
if(_value > Number.MAX_SAFE_INTEGER) {
throw new Error('数值精度溢出')
}
callback()
} catch (err) {
callback(err)
......@@ -100,7 +103,7 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
if (editable) {
childNode =
<Form.Item
style={{ margin: 0 }}
className="customFormItem"
name={dataIndex}
initialValue={record[dataIndex] || ''}
rules={[
......
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