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

fix: 招标审核报名、资格预审更改状态显示,仓位批量修改库存

parent f9f29378
......@@ -79,16 +79,16 @@ export const useSelfTable = () => {
{
title: '外部状态',
align: 'left',
dataIndex: 'isSend',
key: 'isSend',
render: (t, r) => <CustomTag status={r.submitTenderOutStatus} type='tenderOut' />
dataIndex: 'inviteTender',
key: 'inviteTender',
render: (t, r) => <CustomTag status={r.inviteTender.inviteTenderOutStatus} type='out' />
},
{
title: '内部状态',
align: 'left',
dataIndex: 'submitTenderInStatus',
key: 'submitTenderInStatus',
render: (t, r) => <CustomBadge status={t} type='tenderInside' />
render: (t, r) => "待审核报名"
},
]
......
......@@ -68,16 +68,16 @@ export const useSelfTable = () => {
{
title: '外部状态',
align: 'left',
dataIndex: 'submitTenderOutStatus',
key: 'submitTenderOutStatus',
render: text => <CustomTag status={text} type='tenderOut' />
dataIndex: 'inviteTender',
key: 'inviteTender',
render: (t, r) => <CustomTag status={r.inviteTender.inviteTenderOutStatus} type='out' />
},
{
title: '内部状态',
align: 'left',
dataIndex: 'submitTenderInStatus',
key: 'submitTenderInStatus',
render: (text) => <CustomBadge status={text} type='tenderInside' />
render: (text) => '待审核资格预审'
},
]
......
......@@ -20,24 +20,8 @@ const TenderSearch: React.FC<{}> = () => {
} = useSelfTable()
const fetchTableData = async (params) => {
let _params = params.inviteTenderInStatusList ? { ...params, inviteTenderInStatusList: [params.inviteTenderInStatusList] } : {...params}
let __params = _params.inviteTenderOutStatusList ? {
..._params,
inviteTenderOutStatusList: [_params.inviteTenderOutStatusList]
} : {
..._params,
inviteTenderOutStatusList: [
BidOuterWorkState.Not_Qualifications_Check,
BidOuterWorkState.Not_Submit_Tender,
BidOuterWorkState.Not_Open_Tender,
BidOuterWorkState.Not_Selection_Tender,
BidOuterWorkState.Not_Finish_Notice,
BidOuterWorkState.Not_Win_Notice,
BidOuterWorkState.Finish_Invite_Tender,
BidOuterWorkState.Discard_Tender,
]
}
const { data } = await PublicApi.postPurchaseInviteTenderGetSubmitTenderList(__params, { ctlType: "none" })
let _params = params.submitTenderOutStatusList ? { ...params, submitTenderOutStatusList: [params.submitTenderOutStatusList] } : {...params}
const { data } = await PublicApi.postPurchaseInviteTenderGetSubmitTenderList(_params, { ctlType: "none" })
return data
}
......
......@@ -65,9 +65,9 @@ export const useSelfTable = () => {
{
title: '外部状态',
align: 'left',
dataIndex: 'submitTenderOutStatus',
key: 'submitTenderOutStatus',
render: (text, record) => <CustomTag status={record.submitTenderOutStatus} type='tenderOut' />
dataIndex: 'inviteTender',
key: 'inviteTender',
render: (text, record) => <CustomTag status={record.inviteTender.inviteTenderOutStatus} type='out' />
},
// {
// title: '内部状态',
......
......@@ -60,21 +60,11 @@ export const tableListSchema: ISchema = {
"x-component-props": {
placeholder: '请选择外部状态'
},
enum: Object.keys(TenderOutStateTexts).filter(_item => Number(_item) >= 7).map(item => ({
enum: Object.keys(TenderOutStateTexts).filter(_item => Number(_item) >= 8).map(item => ({
label: TenderOutStateTexts[item],
value: item,
}))
},
// "interiorState": {
// type: 'string',
// "x-component-props": {
// placeholder: '请选择内部状态'
// },
// enum: Object.keys(PurchaseOrderInsideWorkStateTexts).map(item => ({
// label: PurchaseOrderInsideWorkStateTexts[item],
// value: item,
// }))
// },
submit: {
'x-component': 'Submit',
'x-component-props': {
......
import React, { useRef } from 'react';
import { history } from 'umi';
import { Button, Card, Space } from 'antd';
import { Button, Card, Space, Tooltip } from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { PlusOutlined } from '@ant-design/icons';
import { PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
import { ColumnType } from 'antd/lib/table/interface';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import NiceForm from '@/components/NiceForm';
import { createFormActions, FormEffectHooks } from '@formily/antd';
import { createFormActions, FormEffectHooks, ISchema } from '@formily/antd';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { repositSchema } from './schema';
import { PublicApi } from '@/services/api';
import { searchBrandOptionEffect, searchCustomerCategoryOptionEffect } from './effects';
import { treeReduction } from '@/utils';
import ModalForm from '@/components/ModalForm';
import { useHttpRequest } from '@/hooks/useHttpRequest';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import { PATTERN_MAPS } from '@/constants/regExp';
const formActions = createFormActions();
const modalSchemaAction = createFormActions()
const fetchData = async (params: any) => {
if(params?.category) {
......@@ -37,6 +42,10 @@ const fetchData = async (params: any) => {
const Repositories: React.FC<{}> = () => {
const ref = useRef<any>({});
const modalRef = useRef<any>({})
const [rowSelection, RowCtl] = useRowSelectionTable({ customKey: 'id' });
const { run, loading } = useHttpRequest(PublicApi.postProductFreightSpaceUpdateBatch, {ctlType: 'none'})
const columns: ColumnType<any>[] = [
{
title: '仓位ID',
......@@ -111,6 +120,86 @@ const Repositories: React.FC<{}> = () => {
},
];
const modalSchema: ISchema = {
type: 'object',
properties: {
NO_SUBMIT: {
type: 'object',
"x-component": "mega-layout",
"x-component-props": {
labelAlign: 'left',
labelCol: 5,
},
properties: {
type: {
type: 'radio',
required: true,
enum: [
{
label: '直接修改仓位库存(默认)',
value: 1
},
{
label: '按比率调整仓位库存',
value: 2
}
],
default: 1,
"x-linkages": [
{
type: 'value:visible',
target: 'inventoryAmount',
"condition": "{{$value === 1}}"
},
{
type: 'value:visible',
target: 'inventoryRate',
"condition": "{{$value === 2}}"
},
]
},
inventoryAmount: {
type: 'number',
title: '{{help("仓位库存", "输入仓位库存后,点击确定,将用新输入的仓位库存批量调整原仓位库存")}}',
"x-component-props": {
placeholder: "请填写仓位库存",
style: { width: '100%' }
},
'x-rules': [
{
required: true,
message: '请填写仓位库存',
},
{
pattern: PATTERN_MAPS.weight,
message: '请填写正数,最多保留3位小数',
},
],
},
inventoryRate: {
type: 'string',
title: '{{help("仓位库存调整比率", "输入百分比,即按原仓位库存调增百分或调减百分比,调减请输入负值")}}',
"x-component-props": {
placeholder: "请填写仓位库存",
style: { width: '100%' },
suffix: '%'
},
'x-rules': [
{
required: true,
message: '请填写仓位库存调整比率',
},
{
pattern: /^\d+(\.\d{1,3})?$/,
message: '税率仅限三位小数',
}
],
},
}
}
}
}
const handleSee = (record: any) => {
console.log('see');
history.push(`/repositories/viewRepository?id=${record.key}`);
......@@ -143,6 +232,37 @@ const Repositories: React.FC<{}> = () => {
history.push(`/memberCenter/commodityAbility/repositories/batchAdd`);
}
const handleSubmit = async (value) => {
console.log(value, 'vvv')
const { code } = run({...value, inventory: value?.inventoryAmount || value?.inventoryRate})
if(code === 1000) {
modalRef.current.setVisible(false)
setTimeout(() => {
ref.current.reload()
}, 600)
}
}
const handleConfirm = () => {
modalSchemaAction.submit()
}
const help = (text: string, desc: string) => (<>
{text}&nbsp;
<Tooltip title={desc}>
<QuestionCircleOutlined />
</Tooltip>
</>)
const handleFormatter = (value) => {
// value => `${value}%`
console.log(value)
}
const handleParser = (value) => {
console.log(value)
}
const controllerBtns = <Space>
<Button
type="primary"
......@@ -152,7 +272,7 @@ const Repositories: React.FC<{}> = () => {
新建
</Button>
<Button onClick={handleBatchAdd}>批量新建</Button>
<Button>批量修改</Button>
<Button onClick={() => modalRef.current.setVisible(true)}>批量修改</Button>
</Space>
return (
......@@ -162,6 +282,7 @@ const Repositories: React.FC<{}> = () => {
columns={columns}
currentRef={ref}
tableProps={{ rowKey: 'id' }}
rowSelection={rowSelection}
fetchTableData={(params: any) => fetchData(params)}
controlRender={
<NiceForm
......@@ -189,6 +310,30 @@ const Repositories: React.FC<{}> = () => {
}
/>
</Card>
<ModalForm
modalTitle='批量修改仓位库存'
previewPlaceholder=' '
currentRef={modalRef}
schema={modalSchema}
actions={modalSchemaAction}
onSubmit={handleSubmit}
confirm={handleConfirm}
modalProps={{
confirmLoading: loading
}}
effects={($, ctx) => {
$('onFieldInit', 'type').subscribe(() => {
setTimeout(() => {
ctx.setFieldValue('type', 1)
}, 500)
})
}}
expressionScope={{
help,
handleParser,
handleFormatter,
}}
/>
</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