Commit 004f2c8f authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

feat(二次询价): 修改需求

parent 8d98d4ea
......@@ -7,6 +7,7 @@ import { PublicApi } from '@/services/api';
interface MemberRole {
memberRoleId: number;
memberRoleName: string;
roleType: number,
};
const Roles: React.FC = () => {
......
import React, { useRef } from 'react';
import React, { useRef, useState, useEffect } from 'react';
import Table from '@/pages/transaction/components/tableLayout';
import { history } from 'umi';
import { Tag, Button, Modal } from 'antd';
import { Tag, Button, Modal, Form, Select, Typography } from 'antd';
import { ColumnType } from 'antd/lib/table/interface';
import EyePreview from '@/components/EyePreview';
import moment from 'moment';
import { PublicApi } from '@/services/api';
import { INQUIRYSEARCHSCHEMA } from './schema';
import { EXTERNALSTATE_COLOR } from '@/pages/transaction/components/stateColor';
import { setAuth, setRouters } from '@/utils/auth';
import { setAuth, setRouters, getAuth } from '@/utils/auth';
import { isEmpty } from '@antv/util';
const InquirySearch = () => {
interface MemberRole {
memberRoleId: number;
memberRoleName: string;
roleType: number,
};
const InquirySearch = () => {
const reload = useRef<any>({});
const [form] = Form.useForm();
const [role, setRole] = useState<MemberRole[]>([]);
const [isModalVisible, setVisible] = useState<boolean>(false);
const [orderId, setOrderId] = useState<string>('');
const [isId, setIsId] = useState<number>()
const format = (text, fmt?: string) => {
return <>{moment(text).format(fmt || "YYYY-MM-DD HH:mm:ss")}</>
}
/** 二次询价 */
const secondInquiry = (id) => {
const handleFieldsAPI = (memberRoleId: number, id?) => {
PublicApi.postMemberLoginSwitchrole({
memberRoleId: 11,
}).then(res => {
memberRoleId,
}).then((res: any) => {
if (res.code !== 1000) {
return;
}
......@@ -34,6 +44,26 @@ const InquirySearch = () => {
}).catch(err => { })
}
/** 二次询价 */
const secondInquiry = (id, orderId) => {
const userInfo: any = getAuth() || {};
const roles = userInfo.roles.filter(_item => _item.roleType === 2);
setRole(roles);
setOrderId(orderId);
setIsId(id)
if (!isEmpty(roles)) {
if (roles.length === 1) {
handleFieldsAPI(roles[0].memberRoleId, id);
} else {
setVisible(true)
}
} else {
Modal.info({
content: '当前登录会员没有服务消费者角色,无法进行二次询价。'
})
}
}
const columns: ColumnType<any>[] = [
{
title: '询价单号',
......@@ -85,7 +115,7 @@ const InquirySearch = () => {
<Button disabled={record.isQuoted === 1} onClick={() => history.push(`/memberCenter/tranactionAbility/inquiryOffer/waitAddOffer/offer?id=${record.id}`)} type='link'>报价</Button>
)}
{(record.isShowSecondInquiry === true) && (
<Button type='link' onClick={() => secondInquiry(record.id)}>二次询价</Button>
<Button type='link' onClick={() => secondInquiry(record.id, record.inquiryListNo)}>二次询价</Button>
)}
{(record.isShowSecondInquiry === false) && (
<Button
......@@ -101,15 +131,58 @@ const InquirySearch = () => {
}
];
useEffect(() => {
if (isModalVisible) {
form.setFieldsValue({ 'memberRoleId': role[0].memberRoleId })
}
}, [isModalVisible])
const handleSubmit = () => {
form.validateFields().then(res => {
handleFieldsAPI(res.memberRoleId, isId)
})
}
return (
<Table
schema={INQUIRYSEARCHSCHEMA}
columns={columns}
effects="inquiryListNo"
fetch={PublicApi.getTransactionProductInquiryList}
reload={reload}
externalStatusFetch={PublicApi.getTransactionQuotationtInquiryExternalStateEnum()}
/>
<>
<Table
schema={INQUIRYSEARCHSCHEMA}
columns={columns}
effects="inquiryListNo"
fetch={PublicApi.getTransactionProductInquiryList}
reload={reload}
externalStatusFetch={PublicApi.getTransactionQuotationtInquiryExternalStateEnum()}
/>
{!isEmpty(role) && (
<Modal
title='选择会员角色'
visible={isModalVisible}
onOk={handleSubmit}
onCancel={() => setVisible(false)}
>
<Form
form={form}
layout='vertical'
>
<Form.Item>
当前询价单<Typography.Text type='danger'>{orderId}</Typography.Text>二次询价生成的询价单可通过会员角色:<Typography.Text type='danger'>{role[0].memberRoleName}</Typography.Text>进行查看。
</Form.Item>
<Form.Item
label='会员角色'
tooltip='二次询价的会员角色'
name='memberRoleId'
rules={[{ required: true, message: '请选择会员角色' }]}
>
<Select>
{role.map((_item, _i) => (
<Select.Option key={`role${_i}`} value={_item.memberRoleId}>{_item.memberRoleName}</Select.Option>
))}
</Select>
</Form.Item>
</Form>
</Modal>
)}
</>
)
}
......
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