Commit 0118ec50 authored by Bill's avatar Bill

Merge branch 'fix418' into 'v2-220418'

处理商品和待新增投标的一些问题 See merge request linkseeks-design/pro-platform!159
parents f7dad690 552e983b
......@@ -143,6 +143,7 @@ export default {
'commodity.products.step0Description.text.1':'Click to download EXCEL file template',
'commodity.products.step0Description.text.2':'According to the template to organize product information',
'commodity.products.step0Description.text.3':'Click the import button to import the organized product information',
'commodity.products.step0Description.text.4' : 'A maximum of 1000 files can be imported at a time. The file size cannot exceed 10 MB',
'commodity.products.step0Description.download':'Download',
'commodity.products.step1Description.text.1':'Data import check is in progress',
'commodity.products.step1Description.text.2':'Please wait...',
......
......@@ -935,6 +935,7 @@ export default {
'table.purchase.qingxiangouxuandan': 'Please check the receipt first',
'table.purchase.piliangtijiaotou': 'Batch submission of bids',
'table.purchase.qingxianxuanzetou': 'Please choose a bid first',
'table.purchase.zhinengtijiaodaishenhe': 'Only tenders to be submitted for audit can be submitted',
'table.purchase.chongxintijiao': 'Resubmit',
'table.purchase.qingshangchuanzige': 'Please upload qualification documents',
'table.purchase.gaipingbiaomuban': 'The bid evaluation template has been used and cannot be deleted',
......
......@@ -145,6 +145,7 @@ export default {
'commodity.products.step0Description.text.1' : '클릭하여 EXCEL 파일 템플릿 다운로드',
'commodity.products.step0Description.text.2' : '양식에 따라 물품 자료를 정리하다.',
'commodity.products.step0Description.text.3' : '가져오기 버튼을 클릭하여 정리된 물품 자료를 가져오기',
'commodity.products.step0Description.text.4' : '한 번에 최대 1000개를 가져올 수 있으며, 파일 크기는 10m을 초과할 수 없습니다',
'commodity.products.step0Description.download' : '다운로드',
'commodity.products.step1Description.text.1' : '데이터 가져오기 확인 진행 중',
'commodity.products.step1Description.text.2' : '잠시 후...',
......
......@@ -932,6 +932,7 @@ export default {
'table.purchase.qingxiangouxuandan': '먼저 영수증을 선택해 주십시오',
'table.purchase.piliangtijiaotou': '대량으로 입찰을 제출하다.',
'table.purchase.qingxianxuanzetou': '먼저 입찰을 선택하세요',
'table.purchase.zhinengtijiaodaishenhe': '심사입찰을 위한 입찰만 제출할수 있다',
'table.purchase.chongxintijiao': '다시 제출',
'table.purchase.qingshangchuanzige': '자격증 파일을 올려주세요.',
'table.purchase.gaipingbiaomuban': '이 평가 템플릿은 이미 사용 중이므로 삭제할 수 없습니다.',
......
......@@ -142,8 +142,9 @@ export default {
'commodity.products.operationHandler.7' : '查看供应商品',
'commodity.products.operationHandler.8': '查看上游商品',
'commodity.products.step0Description.text.1' : '点击下载 EXCEL文件模板',
'commodity.products.step0Description.text.2' : '按照模板整理货品资料',
'commodity.products.step0Description.text.3' : '点击导入按钮,导入整理好的货品资料',
'commodity.products.step0Description.text.2' : '按照模板整理商品资料',
'commodity.products.step0Description.text.3' : '点击导入按钮,导入整理好的商品资料',
'commodity.products.step0Description.text.4' : '单次最多导入1000条,文件大小不能超过10M',
'commodity.products.step0Description.download' : '下载',
'commodity.products.step1Description.text.1' : '正在进行数据导入',
'commodity.products.step1Description.text.2' : '请稍后…',
......
......@@ -933,6 +933,7 @@ export default {
'table.purchase.qingxiangouxuandan': '请先勾选单据',
'table.purchase.piliangtijiaotou': '批量提交投标',
'table.purchase.qingxianxuanzetou': '请先选择投标',
'table.purchase.zhinengtijiaodaishenhe': '只能提交待提交审核投标的投标',
'table.purchase.chongxintijiao': '重新提交',
'table.purchase.qingshangchuanzige': '请上传资格证明文件',
'table.purchase.gaipingbiaomuban': '该评标模板已经被使用,不能删除',
......
......@@ -110,16 +110,17 @@ const BasicInfoForm: React.FC<Iprops> = (props) => {
useEffect(() => {
const { id, draftId } = history.location.query
if ((id || draftId) && getBasicFormParamsByEdit?.name) {
// if ((id || draftId) && getBasicFormParamsByEdit?.name) {
if (id || draftId) {
handleBrandSearch(getBasicFormParamsByEdit.brandName)
onCustomerCategoryChange(getBasicFormParamsByEdit.customerCategoryId)
// 赋[]初值 显示一行区域选择
if(!getBasicFormParamsByEdit.commodityAreaList.length) {
getBasicFormParamsByEdit.commodityAreaList[0] = []
if(!getBasicFormParamsByEdit?.commodityAreaList?.length) {
getBasicFormParamsByEdit.commodityAreaList = [[]]
}
basicForm.setFieldsValue(getBasicFormParamsByEdit)
setSelectBrandId(getBasicFormParamsByEdit.brandId)
setIsUpdateAttribute(productInfoByEdit.isUpdateAttribute)
setIsUpdateAttribute(productInfoByEdit?.isUpdateAttribute)
} else {
basicForm.setFieldsValue({'commodityAreaList': [[]]})
}
......@@ -149,8 +150,9 @@ const BasicInfoForm: React.FC<Iprops> = (props) => {
}
const onCustomerCategoryChange = (value) => {
let seletCategoryId = value[value.length - 1]
if (seletCategoryId) {
// let seletCategoryId = value[value.length - 1]
if (value) {
let seletCategoryId = value[value.length - 1]
getProductCustomerGetCustomerCategoryById({ id: seletCategoryId }).then(res => {
const { data } = res
onChangeAttributeList(data?.customerAttributeList)
......
.step0Description{
text-align: left;
width: 280px;
width: 286px;
margin: 0 auto;
list-style-type: decimal;
li{
......
import React, { useState, useEffect, useRef, useMemo } from 'react'
import { history, useIntl } from 'umi'
import { Button, Form, Card, Modal, Result, Progress, Select, Row, Col, Dropdown, Menu, Space, message, Badge, Tabs, Tag, Radio, Upload } from 'antd'
import { Button, Form, Card, Modal, Result, Progress, Select, Row, Col, Dropdown, Menu, Space, message, Badge, Tabs, Tag, Radio, Upload, Spin } from 'antd'
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import {
PlusOutlined,
......@@ -64,7 +64,7 @@ const { confirm } = Modal;
const formActions = createFormActions();
const Products: React.FC<{}> = () => {
const intl = useIntl();
const intl = useIntl()
const ref = useRef<any>({})
const refDraft = useRef<any>({})
const [upForm] = Form.useForm()
......@@ -91,6 +91,7 @@ const Products: React.FC<{}> = () => {
const { token } = getAuth() || {}
const [importBathData, setImportBathData] = useState<any>([])
const [importBathValue, setImportBathValue] = useState(undefined)
const [importBathLoading, setImportBathLoading] = useState(false)
// 上游弹窗
const [upModal, setUpModal] = useState(false)
......@@ -479,6 +480,7 @@ const Products: React.FC<{}> = () => {
<li>{intl.formatMessage({ id: 'commodity.products.step0Description.text.1' })} <a onClick={modalLoadTemplate}>{intl.formatMessage({ id: 'commodity.products.step0Description.download' })}</a></li>
<li>{intl.formatMessage({ id: 'commodity.products.step0Description.text.2' })}</li>
<li>{intl.formatMessage({ id: 'commodity.products.step0Description.text.3' })}</li>
<li>{intl.formatMessage({ id: 'commodity.products.step0Description.text.4' })}</li>
</ul>
</>
......@@ -500,8 +502,8 @@ const Products: React.FC<{}> = () => {
const [loading, setLoading] = useState(false)
const handleOkDeleteBatch = () => {
setLoading(true)
if(importBathValue) {
setLoading(true)
postProductCommodityDeleteCommodityByImportBath({commodityImportBath: importBathValue}).then(({code}) => {
if(code === 1000) {
setLoading(false)
......@@ -938,10 +940,12 @@ const Products: React.FC<{}> = () => {
}
const handleImportBathSearch = (value?: string) => {
setImportBathLoading(true)
getProductCommodityGetCommodityImportBath({ name: value || '' }).then(res => {
if (res.code === 1000)
if (res.code === 1000) {
setImportBathData(res.data)
})
}
}).finally(() => setImportBathLoading(false))
}
const handleImportBathChange = (value, options) => {
......@@ -1102,6 +1106,7 @@ const Products: React.FC<{}> = () => {
onSearch={handleImportBathSearch}
onChange={handleImportBathChange}
onFocus={() => handleImportBathSearch(null)}
notFoundContent={importBathLoading ? <Spin size="small" /> : null}
style={{ width: '100%' }}
>
{importBathData.map(d => <Option value={d} key={d}>{d}</Option>)}
......
......@@ -33,18 +33,18 @@ const ReadyAddTender: React.FC<ReadyAddTenderProps> = () => {
const { columns, ref, rowSelection, rowSelectionCtl } = useSelfTable()
const handleBitchPush = async () => {
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.submitTenderInStatus !== TenderInsideWorkState.Not_Submitted_Check_Submit_Tender)
const canBitch = !rowSelectionCtl.selectRow.some(v => v.isSubmitCheck === false)
if (!rowSelectionCtl.selectRow.length) return message.error(intl.formatMessage({ id: 'table.purchase.qingxianxuanzetou' }))
// if (canBitch) {
const { code } = await run({ idList: rowSelectionCtl.selectedRowKeys })
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
if (canBitch) {
const { code } = await run({ idList: rowSelectionCtl.selectedRowKeys })
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error(intl.formatMessage({ id: 'table.purchase.zhinengtijiaodaishenhe' }))
}
// } else {
// message.error('只能提交待提交审核投标的投标')
// }
}
return <PageHeaderWrapper>
......
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