Commit 489574eb authored by Bill's avatar Bill

Merge branch 'dev-srm' of 10.0.0.22:lingxi/lingxi-business-paltform into dev-srm

parents 500c657a 9b6267e8
......@@ -78,11 +78,7 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
// 根据站点获取商城信息
const fetchAllShop = () => {
const param: any = {
siteId,
type: 3
}
PublicApi.getManageShopFindShopsBySiteId(param).then(res => {
PublicApi.getManageShopFindByDoorType({ doorType: 2 }).then(res => {
if (res.code === 1000) {
setAllMallList(res.data)
}
......@@ -438,7 +434,7 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
<Select allowClear value={shopId} className={styles.form_item} onChange={handleMallSelectChange}>
{
allMallList.map(item => (
<Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
))
}
</Select>
......
......@@ -134,7 +134,6 @@ const PurchaseList = () => {
return new Promise((resolve, reject) => {
PublicApi.getContractPurchaseInquiryPageToBeCreate({
...params,
}).then(res => {
resolve(res.data)
})
......
import React, { useState, useRef, ReactNode } from 'react'
import React, { useRef, ReactNode } from 'react'
import { history, Link } from 'umi';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { Card, Row, Col, Input, Button, Space, Popconfirm } from 'antd';
import { Card, Button, Space, Popconfirm } from 'antd';
import { ColumnType } from 'antd/lib/table/interface';
import { StandardTable } from 'god';
import NiceForm from '@/components/NiceForm';
......
......@@ -80,11 +80,7 @@ const HandlingInfo: React.FC<HandlingInfoPropsType> = (props) => {
// 根据站点获取商城信息
const fetchAllShop = () => {
const param: any = {
siteId,
type: 8
}
PublicApi.getManageShopFindShopsBySiteId(param).then(res => {
PublicApi.getManageShopFindByDoorType({ doorType: 5 }).then(res => {
if (res.code === 1000) {
setAllMallList(res.data)
}
......@@ -598,7 +594,7 @@ const HandlingInfo: React.FC<HandlingInfoPropsType> = (props) => {
<Select allowClear value={shopId} className={styles.form_item} onChange={handleMallSelectChange}>
{
allMallList.map(item => (
<Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
))
}
</Select>
......
......@@ -80,11 +80,7 @@ const LogisticsInfo: React.FC<LogisticsInfoPropsType> = (props) => {
// 根据站点获取商城信息
const fetchAllShop = () => {
const param: any = {
siteId,
type: 7
}
PublicApi.getManageShopFindShopsBySiteId(param).then(res => {
PublicApi.getManageShopFindByDoorType({doorType: 4}).then(res => {
if (res.code === 1000) {
setAllMallList(res.data)
}
......@@ -542,7 +538,7 @@ const LogisticsInfo: React.FC<LogisticsInfoPropsType> = (props) => {
<Select allowClear value={shopId} className={styles.form_item} onChange={handleMallSelectChange}>
{
allMallList.map(item => (
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
))
}
</Select>
......
......@@ -98,7 +98,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
}
let columns: any = []
......
......@@ -98,7 +98,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
}
let columns: any = []
......
......@@ -29,7 +29,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
useEffect(() => {
if(data?.memberList.length) {
const { memberList } = data
const _memberList = memberList.filter(every => every.submitTender).map(item => ({
const _memberList = memberList.filter(every => every.submitTender && every.isSubmit).map(item => ({
...item,
totalAmount: (item.submitTender.submitTenderMateriel.reduce((a, b) => a + b.price * b.inviteTenderMateriel.count, 0)).toFixed(2)
})).sort((a, b) => b.totalAmount - a.totalAmount)
......
......@@ -98,7 +98,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
}
let columns: any = []
......
......@@ -98,7 +98,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
}
let columns: any = []
......
......@@ -127,7 +127,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle, editable})
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
editable,
}
......
......@@ -83,10 +83,11 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
}
</p>
{
data['inviteTenderAreaList']['length'] > 3 &&
data['inviteTenderAreaList']['length'] > 3 ?
<p onClick={toogleMore} style={{ cursor: 'pointer' }} className="commonPickColor">
展开{showMore ? <CaretDownOutlined /> : <CaretUpOutlined />}
</p>
: null
}
</>
}
......@@ -137,10 +138,11 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
}
</p>
{
data['inviteTenderAreaList']['length'] > 3 &&
data['inviteTenderAreaList']['length'] > 3 ?
<p onClick={toogleMore} style={{ cursor: 'pointer' }} className="commonPickColor">
展开{showMore ? <CaretDownOutlined /> : <CaretUpOutlined />}
</p>
: null
}
</>
}
......@@ -254,7 +256,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
span: 8,
fieldList: [
{ title: '电子邮箱:', name: 'email', render: () => _data?.submitTenderRegister?.email },
{ title: '单位地址:', name: 'address', render: () =>_data?.submitTenderRegister && `${_data.submitTenderRegister.provinceName}${_data.submitTenderRegister.cityName}${_data.submitTenderRegister.regionName}${_data.submitTenderRegister.address}` },
{ title: '单位地址:', name: 'address', render: () =>_data?.submitTenderRegister ? `${_data.submitTenderRegister.provinceName}${_data.submitTenderRegister.cityName}${_data.submitTenderRegister.regionName}${_data.submitTenderRegister.address}` : null },
]
}
]
......@@ -269,7 +271,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
name: 'registerFile',
render: (t, r) => (<div>
{
_data?.submitTenderRegister && _data['submitTenderRegister']['registerFile'].map((_item, _i) => <p><a key={`registerFile${_i}`} target="_blank" href={_item.url}><FileFilled /> {_item.name}</a></p>)
_data?.submitTenderRegister ? _data['submitTenderRegister']['registerFile'].map((_item, _i) => <p><a key={`registerFile${_i}`} target="_blank" href={_item.url}><FileFilled /> {_item.name}</a></p>) : null
}
</div>)
},
......
......@@ -100,7 +100,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({cardTitle}) => {
memberId: childDataSource[_item][0]['memberId'],
memberName: _item,
total: computedMemberScoreItem['total'],
average: computedMemberScoreItem['average'],
average: computedMemberScoreItem['average'] ? computedMemberScoreItem['average'].toFixed(2) : null,
expertNumber: computedMemberScoreItem['expertNumber'],
}
let columns: any = []
......
......@@ -63,6 +63,7 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
const [initFormValue, setInitFormValue] = useState<any>({
submitTenderMateriel: []
})
const [code, setCode] = useState<any>({})
// 关联报价商品
const productRef = useRef<any>({})
......@@ -80,6 +81,7 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
PublicApi.getPurchaseSubmitTenderGetSubmitTender({submitTenderId: id}).then(res => {
if(res.code === 1000) {
const pocessedData = processTenderData(res.data)
setCode(res.data.inviteTender)
setInitFormValue(pocessedData)
}
})
......@@ -103,7 +105,11 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
}
let param = {
...item,
inviteTenderMateriel: { id: item.inviteTenderMateriel.id },
}
if(item?.inviteTender?.id) {
param.inviteTenderMateriel = { id: item.inviteTender.id }
} else {
param.inviteTenderMateriel = { id: item.id }
}
if(!value?.id) delete param.id
return param
......@@ -147,6 +153,8 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
}
}
const InviterCodeJump = () => <a target="_blank" href={`/memberCenter/procurementAbility/callForBids/callForBidsSearch/detail?id=${code.id}`}>{code.code}</a>
return (
<PageHeaderWrapper
style={{margin: 0}}
......@@ -168,7 +176,8 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
schema={formSchema}
onSubmit={handleSubmit}
components={{
ArrayTable
ArrayTable,
InviterCodeJump
}}
effects={($, ctx) => {
$('onFormMount').subscribe(async () => {
......
......@@ -44,6 +44,7 @@ export const formSchema: ISchema = {
type: 'string',
title: '招标编号',
readOnly: true,
'x-component': 'InviterCodeJump',
},
memberName: {
type: 'string',
......
......@@ -26,6 +26,8 @@ const defaultCityData = { index: 0, provinceCode: 0, province: '', cityCode: 0,
const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
const { siteUrl, siteId } = props.SiteStore
const [door, setDoor] = useState<string>('');
const [resUrl, setResUrl] = useState<string>('');
const [formIsHalfFilledOut, setFormIsHalfFilledOut] = useState(false)
const [form] = Form.useForm()
const [allMallList, setAllMallList] = useState([])
......@@ -74,11 +76,7 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
// 根据站点获取商城信息
const fetchAllShop = () => {
const param: any = {
siteId,
type: 1
}
PublicApi.getManageShopFindShopsBySiteId(param).then(res => {
PublicApi.getManageShopFindByDoorType({ doorType: 1 }).then(res => {
if (res.code === 1000) {
setAllMallList(res.data)
}
......@@ -257,62 +255,26 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
})
}
const handleMallSelectChange = (mallId: number) => {
setShopId(mallId)
if (!shopInfo) {
return null
}
if (shopInfo.shopId && shopInfo.memberId) {
const resUrl = getMallItemAndSetUrl(mallId)
setStoreUrl(resUrl)
} else {
setStoreUrl(null)
}
const handleFormValueChange = () => {
setFormIsHalfFilledOut(true)
}
const getMallItemAndSetUrl = (mallId) => {
let result = ""
const mallItem = allMallList.filter(item => item.id === mallId)[0]
if (!mallItem) {
return ""
}
if (mallItem.environment === 1) {
switch (mallItem.type) {
case 1:
result = `${REQUEST_HEADER}${mallItem.url}.${TOP_DOMAIN}/shop/${shopInfo.memberId}_${shopInfo.roleId}`
break
// case 2:
// result = `${REQUEST_HEADER}${mallItem.url}.${TOP_DOMAIN}/shop/${shopInfo.memberId}_${shopInfo.roleId}/integral`
// break
default:
result = ""
break
/** 获取店铺链接 */
const checkUrl = (url) => {
if (url && typeof url === 'string') {
if (url.indexOf('/') === 0) {
return url.replace('/', '').trim()
} else {
return `${url}`.trim()
}
} else {
result = ""
}
return result
}
const handleFormValueChange = () => {
setFormIsHalfFilledOut(true)
}
const getSelectMallStoreUrl = () => {
if (!shopInfo) {
return null
}
if (shopId && shopInfo.memberId) {
const resUrl = getMallItemAndSetUrl(shopId)
return resUrl ? (
<div className={styles.shop_url}>
<span>当前店铺链接:</span>
<label>{resUrl}</label>
<CopyOutlined className={styles.copy_icon} onClick={() => handleCopyLinke(resUrl)} />
</div>
) : null
const handleMallSelectChange = (val, option) => {
setDoor(option.children);
if (option.url) {
checkUrl(option.url) ? setResUrl(`${checkUrl(option.url)}.${siteUrl}`) : setResUrl(`${siteUrl}`)
}
return null
}
return (
......@@ -461,13 +423,17 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
<Select allowClear value={shopId} className={styles.form_item} onChange={handleMallSelectChange}>
{
allMallList.map(item => (
<Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
))
}
</Select>
{
getSelectMallStoreUrl()
}
{resUrl && (
<div className={styles.shop_url}>
<span>当前{door}链接:</span>
<label>{resUrl}</label>
<CopyOutlined className={styles.copy_icon} onClick={() => handleCopyLinke(resUrl)} />
</div>
)}
</Form.Item>
<Form.Item
label={<RequireItem label="" />}
......
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