Commit 1016e1c0 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

Merge branch 'dev' into test

parents 31629582 d650a5b4
...@@ -94,7 +94,7 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => { ...@@ -94,7 +94,7 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
cancel={() => setVisible(false)} cancel={() => setVisible(false)}
fetchTableData={(params) => fetchEqData(params)} fetchTableData={(params) => fetchEqData(params)}
rowSelection={rowSelection} rowSelection={rowSelection}
modalType='enquiryModel' modalType='inquiryByDefault'
tableProps={{ tableProps={{
rowKey: 'id' rowKey: 'id'
}} }}
......
...@@ -435,7 +435,6 @@ const Detail: React.FC<{}> = () => { ...@@ -435,7 +435,6 @@ const Detail: React.FC<{}> = () => {
key: 'brand', key: 'brand',
align: 'center' align: 'center'
}, },
// ...otherList,//不展示
{ {
title: '单位', title: '单位',
dataIndex: 'purchaseNuit', dataIndex: 'purchaseNuit',
...@@ -804,8 +803,6 @@ const Detail: React.FC<{}> = () => { ...@@ -804,8 +803,6 @@ const Detail: React.FC<{}> = () => {
} }
}) })
} else { } else {
PublicApi.postOrderQuotationAdd(values).then(res => { PublicApi.postOrderQuotationAdd(values).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
setTimeout(() => { setTimeout(() => {
......
...@@ -321,7 +321,7 @@ const Detail: React.FC<{}> = () => { ...@@ -321,7 +321,7 @@ const Detail: React.FC<{}> = () => {
let otherItem: any = {} let otherItem: any = {}
if (child === j.title) { if (child === j.title) {
otherItem['attributeId'] = j.key otherItem['attributeId'] = j.key
otherItem['attributeValue'] = v[child] otherItem['attributeValue'] = v[child].join(',');
productList.push(otherItem) productList.push(otherItem)
} }
}) })
......
...@@ -41,9 +41,9 @@ const EnquiryGoods: React.FC<queryProps> = (props) => { ...@@ -41,9 +41,9 @@ const EnquiryGoods: React.FC<queryProps> = (props) => {
arr.push({ arr.push({
productId: v.id, productId: v.id,
productName: v.name, productName: v.name,
inquiryListNo: v.customerCategoryName, category: v.customerCategoryName,
brand: v.brandName, brand: v.brandName,
nuit: v.unitName, unit: v.unitName,
purchaseQuantity: 1 purchaseQuantity: 1
}) })
...@@ -167,13 +167,13 @@ const EnquiryGoods: React.FC<queryProps> = (props) => { ...@@ -167,13 +167,13 @@ const EnquiryGoods: React.FC<queryProps> = (props) => {
dataIndex: 'productName', dataIndex: 'productName',
}, { }, {
title: '品类', title: '品类',
dataIndex: 'inquiryListNo', dataIndex: 'category',
}, { }, {
title: '品牌', title: '品牌',
dataIndex: 'brand', dataIndex: 'brand',
}, { }, {
title: '单位', title: '单位',
dataIndex: 'nuit', dataIndex: 'unit',
}, { }, {
title: '采购数量', title: '采购数量',
dataIndex: 'purchaseQuantity', dataIndex: 'purchaseQuantity',
......
...@@ -47,7 +47,7 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -47,7 +47,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
dataIndex: 'quotationAsTime', dataIndex: 'quotationAsTime',
render: (text: any, record: any) => format(text) render: (text: any, record: any) => format(text)
}, { }, {
title: '单据时间', title: '询价时间',
key: 'createTime', key: 'createTime',
dataIndex: 'createTime', dataIndex: 'createTime',
render: (text: any, record: any) => format(text) render: (text: any, record: any) => format(text)
......
...@@ -232,7 +232,7 @@ export const enquieryOfferSearchSchema: ISchema = { ...@@ -232,7 +232,7 @@ export const enquieryOfferSearchSchema: ISchema = {
}, },
"x-component-props":{ "x-component-props":{
placeholder:'搜索', placeholder:'询价单号',
align: 'flex-left', align: 'flex-left',
} }
} }
...@@ -264,7 +264,7 @@ export const enquieryOfferSearchSchema: ISchema = { ...@@ -264,7 +264,7 @@ export const enquieryOfferSearchSchema: ISchema = {
inquiryListMemberName:{ inquiryListMemberName:{
type:'string', type:'string',
"x-component-props":{ "x-component-props":{
placeholder:'询价会员' placeholder:'询价会员'
} }
}, },
voucherTime:{ voucherTime:{
......
...@@ -14,7 +14,7 @@ import NiceForm from '@/components/NiceForm'; ...@@ -14,7 +14,7 @@ import NiceForm from '@/components/NiceForm';
import { createFormActions } from '@formily/antd'; import { createFormActions } from '@formily/antd';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'; import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const'; import { FORM_FILTER_PATH } from '@/formSchema/const';
import { commonEnquieryOfferSchema } from '../schema'; import { inquiryQuoteSchema } from '../schema/pendingReview';
import { PublicApi } from '@/services/api'; import { PublicApi } from '@/services/api';
import AuditModal from '../components/auditModel'; import AuditModal from '../components/auditModel';
...@@ -38,7 +38,7 @@ const AddInquiryOrder: React.FC<{}> = () => { ...@@ -38,7 +38,7 @@ const AddInquiryOrder: React.FC<{}> = () => {
render: (text: any, record: any) => <EyePreview render: (text: any, record: any) => <EyePreview
url={`/memberCenter/tranactionAbility/inquiryQuote/addInquiryOrder/rfq/preview?id=${record.inquiryListId}`}>{text}</EyePreview> url={`/memberCenter/tranactionAbility/inquiryQuote/addInquiryOrder/rfq/preview?id=${record.inquiryListId}`}>{text}</EyePreview>
}, { }, {
title: '价单摘要', title: '报价价单摘要',
key: 'details', key: 'details',
dataIndex: 'details', dataIndex: 'details',
}, { }, {
...@@ -129,30 +129,11 @@ const AddInquiryOrder: React.FC<{}> = () => { ...@@ -129,30 +129,11 @@ const AddInquiryOrder: React.FC<{}> = () => {
</Menu> </Menu>
) )
//列表数据 //列表数据
// const data = {
// totalCount: 2,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// deliveryTime: '2020-10-13 13:59:00',
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = async (params: any) => { const fetchData = async (params: any) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
PublicApi.getOrderStayProductQuotationList({ ...params }).then(res => { PublicApi.getOrderStayProductQuotationList({ ...params }).then(res => {
resolve(res.data) resolve(res.data)
}) })
// setTimeout(() => {
// resolve(data)
// }, 500)
}) })
} }
...@@ -219,7 +200,7 @@ const AddInquiryOrder: React.FC<{}> = () => { ...@@ -219,7 +200,7 @@ const AddInquiryOrder: React.FC<{}> = () => {
useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH) useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
}} }}
expressionScope={{controllerBtns}} expressionScope={{controllerBtns}}
schema={commonEnquieryOfferSchema} schema={inquiryQuoteSchema}
> >
</NiceForm> </NiceForm>
} }
......
...@@ -12,7 +12,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte ...@@ -12,7 +12,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { filterInternalState, filterExternalState } from './../../common/statusList'; import { filterInternalState, filterExternalState } from './../../common/statusList';
import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../common/tableStatusList'; import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../common/tableStatusList';
import { FORM_FILTER_PATH } from '@/formSchema/const'; import { FORM_FILTER_PATH } from '@/formSchema/const';
import { pendingReviewSchema } from '../schema/pendingReview'; import { inquiryQuoteSchema } from '../schema/pendingReview';
import AuditModal from './auditModel'; import AuditModal from './auditModel';
import EyePreview from '@/components/EyePreview'; import EyePreview from '@/components/EyePreview';
...@@ -51,12 +51,12 @@ const ReviewList: React.FC<parmas> = (props) => { ...@@ -51,12 +51,12 @@ const ReviewList: React.FC<parmas> = (props) => {
const columns: ColumnType<any>[] = [ const columns: ColumnType<any>[] = [
...column, ...column,
{ {
title: '价单摘要', title: '价单摘要',
key: 'details', key: 'details',
dataIndex: 'details', dataIndex: 'details',
}, },
{ {
title: '询价会员', title: '询价会员',
key: 'memberName', key: 'memberName',
dataIndex: 'memberName', dataIndex: 'memberName',
}, },
...@@ -112,8 +112,8 @@ const ReviewList: React.FC<parmas> = (props) => { ...@@ -112,8 +112,8 @@ const ReviewList: React.FC<parmas> = (props) => {
// 搜索 // 搜索
const search = (values: any) => { const search = (values: any) => {
if (values.voucherTime) { if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st values.startDocumentsTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et values.endDocumentsTime = timeRange(values.voucherTime).et
delete values.voucherTime delete values.voucherTime
} }
ref.current.reload(values) ref.current.reload(values)
...@@ -147,12 +147,12 @@ const ReviewList: React.FC<parmas> = (props) => { ...@@ -147,12 +147,12 @@ const ReviewList: React.FC<parmas> = (props) => {
actions={formActions} actions={formActions}
onSubmit={values => search(values)} onSubmit={values => search(values)}
effects={($, actions) => { effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'inquiryListNo', FORM_FILTER_PATH) useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
}} }}
expressionScope={{ expressionScope={{
controllerBtns controllerBtns
}} }}
schema={pendingReviewSchema} schema={inquiryQuoteSchema}
> >
</NiceForm> </NiceForm>
} }
......
...@@ -34,7 +34,7 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -34,7 +34,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
key: 'details', key: 'details',
dataIndex: 'details', dataIndex: 'details',
}, { }, {
title: '询价会员', title: '询价会员',
key: 'memberName', key: 'memberName',
dataIndex: 'memberName', dataIndex: 'memberName',
}, { }, {
...@@ -77,8 +77,8 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -77,8 +77,8 @@ const EnquiryOrder: React.FC<{}> = (props) => {
// 搜索 // 搜索
const search = (values: any) => { const search = (values: any) => {
if (values.voucherTime) { if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st values.startDocumentsTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et values.endDocumentsTime = timeRange(values.voucherTime).et
delete values.voucherTime delete values.voucherTime
} }
ref.current.reload(values) ref.current.reload(values)
......
...@@ -11,7 +11,7 @@ import { createFormActions } from '@formily/antd'; ...@@ -11,7 +11,7 @@ import { createFormActions } from '@formily/antd';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch'; import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const'; import { FORM_FILTER_PATH } from '@/formSchema/const';
import EyePreview from '@/components/EyePreview'; import EyePreview from '@/components/EyePreview';
import { pendingReviewSchema } from '../schema/pendingReview'; import { inquiryQuoteSchema } from '../schema/pendingReview';
import { filterInternalState, filterExternalState } from './../../common/statusList'; import { filterInternalState, filterExternalState } from './../../common/statusList';
import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../common/tableStatusList'; import { quoteOrderInternalState, inquiryQuoteOuterState } from '../../common/tableStatusList';
import AuditModal from '../components/auditModel'; import AuditModal from '../components/auditModel';
...@@ -37,7 +37,7 @@ const PendingSubmit: React.FC<{}> = () => { ...@@ -37,7 +37,7 @@ const PendingSubmit: React.FC<{}> = () => {
render: (text: any, record: any) => <EyePreview render: (text: any, record: any) => <EyePreview
url={`/memberCenter/tranactionAbility/inquiryQuote/pendingSubmit/rfq/preview?id=${record.id}`}>{text}</EyePreview> url={`/memberCenter/tranactionAbility/inquiryQuote/pendingSubmit/rfq/preview?id=${record.id}`}>{text}</EyePreview>
}, { }, {
title: '价单摘要', title: '价单摘要',
key: 'details', key: 'details',
dataIndex: 'details', dataIndex: 'details',
}, { }, {
...@@ -150,12 +150,12 @@ const PendingSubmit: React.FC<{}> = () => { ...@@ -150,12 +150,12 @@ const PendingSubmit: React.FC<{}> = () => {
actions={formActions} actions={formActions}
onSubmit={values => handleSumbit(values)} onSubmit={values => handleSumbit(values)}
effects={($, actions) => { effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'inquiryListNo', FORM_FILTER_PATH) useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
}} }}
expressionScope={{ expressionScope={{
controllerBtns controllerBtns
}} }}
schema={pendingReviewSchema} schema={inquiryQuoteSchema}
> >
</NiceForm> </NiceForm>
} }
......
...@@ -35,7 +35,7 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -35,7 +35,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
render: (text: any, record: any) => <EyePreview render: (text: any, record: any) => <EyePreview
url={`/memberCenter/tranactionAbility/inquiryQuote/quoteOrder/rfq/preview?id=${record.inquiryListId}`}>{text}</EyePreview> url={`/memberCenter/tranactionAbility/inquiryQuote/quoteOrder/rfq/preview?id=${record.inquiryListId}`}>{text}</EyePreview>
}, { }, {
title: '价单摘要', title: '价单摘要',
key: 'details', key: 'details',
dataIndex: 'details', dataIndex: 'details',
}, { }, {
...@@ -81,8 +81,8 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -81,8 +81,8 @@ const EnquiryOrder: React.FC<{}> = (props) => {
// 搜索 // 搜索
const search = (values: any) => { const search = (values: any) => {
if (values.voucherTime) { if (values.voucherTime) {
values.startVoucherTime = timeRange(values.voucherTime).st values.startDocumentsTime = timeRange(values.voucherTime).st
values.endVoucherTime = timeRange(values.voucherTime).et values.endDocumentsTime = timeRange(values.voucherTime).et
delete values.voucherTime delete values.voucherTime
} }
ref.current.reload(values) ref.current.reload(values)
...@@ -101,7 +101,7 @@ const EnquiryOrder: React.FC<{}> = (props) => { ...@@ -101,7 +101,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
actions={formActions} actions={formActions}
onSubmit={values => search(values)} onSubmit={values => search(values)}
effects={($, actions) => { effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'inquiryListNo', FORM_FILTER_PATH) useStateFilterSearchLinkageEffect($, actions, 'quotationNo', FORM_FILTER_PATH)
FormEffectHooks.onFieldChange$('category').subscribe(state => { FormEffectHooks.onFieldChange$('category').subscribe(state => {
searchSelectGetSelectCategoryOptionEffect(actions, 'category') searchSelectGetSelectCategoryOptionEffect(actions, 'category')
}) })
......
...@@ -242,7 +242,7 @@ export const enquieryOfferSearchSchema: ISchema = { ...@@ -242,7 +242,7 @@ export const enquieryOfferSearchSchema: ISchema = {
}, },
"x-component-props":{ "x-component-props":{
placeholder:'搜索', placeholder:'询价单号搜索',
align: 'flex-left', align: 'flex-left',
} }
} }
...@@ -274,7 +274,13 @@ export const enquieryOfferSearchSchema: ISchema = { ...@@ -274,7 +274,13 @@ export const enquieryOfferSearchSchema: ISchema = {
memberName:{ memberName:{
type:'string', type:'string',
"x-component-props":{ "x-component-props":{
placeholder:'询价会员' placeholder:'被询价会员'
},
},
details:{
type:'string',
"x-component-props":{
placeholder:'询价单摘要'
}, },
}, },
voucherTime:{ voucherTime:{
...@@ -404,14 +410,14 @@ export const quoteFormSearch: ISchema = { ...@@ -404,14 +410,14 @@ export const quoteFormSearch: ISchema = {
type:'object', type:'object',
"x-component":'mega-layout', "x-component":'mega-layout',
properties:{ properties:{
inquiryListNo:{ quotationNo:{
type:'string', type:'string',
"x-component":"Search", "x-component":"Search",
"x-mega-props":{ "x-mega-props":{
}, },
"x-component-props":{ "x-component-props":{
placeholder:'搜索', placeholder:'报价单号',
align: 'flex-left', align: 'flex-left',
} }
} }
...@@ -440,12 +446,24 @@ export const quoteFormSearch: ISchema = { ...@@ -440,12 +446,24 @@ export const quoteFormSearch: ISchema = {
inline: true inline: true
}, },
properties:{ properties:{
inquiryListNo:{
type:'string',
"x-component-props":{
placeholder:'询价单号'
}
},
memberName:{ memberName:{
type:'string', type:'string',
"x-component-props":{ "x-component-props":{
placeholder:'询价会员' placeholder:'询价会员'
} }
}, },
details:{
type:'string',
"x-component-props":{
placeholder:'报价单摘要'
}
},
voucherTime:{ voucherTime:{
type:'string', type:'string',
"x-component-props":{ "x-component-props":{
......
import { ISchema} from '@formily/antd' import { ISchema } from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const' import { FORM_FILTER_PATH } from '@/formSchema/const'
import {TimeList} from '../../common/statusList' import { TimeList, filterExternalStateLabelList, filterInternalStateLabelList } from '../../common/statusList'
import TranactionRoute from 'config/routes/tranactionRoute' import TranactionRoute from 'config/routes/tranactionRoute'
/** /**
...@@ -9,85 +9,196 @@ import TranactionRoute from 'config/routes/tranactionRoute' ...@@ -9,85 +9,196 @@ import TranactionRoute from 'config/routes/tranactionRoute'
* @return {type} * @return {type}
*/ */
export const pendingReviewSchema: ISchema = { export const pendingReviewSchema: ISchema = {
type:'object', type: 'object',
properties:{ properties: {
megalayout:{ megalayout: {
type:'object', type: 'object',
"x-component":'mega-layout', "x-component": 'mega-layout',
"x-component-props":{ "x-component-props": {
grid:true grid: true
}, },
properties:{ properties: {
ctl:{ ctl: {
type:'object', type: 'object',
"x-component":"Children", "x-component": "Children",
"x-component-props":{ "x-component-props": {
children:"{{controllerBtns}}" children: "{{controllerBtns}}"
} }
}, },
inquiryListNo:{//报价单号 inquiryListNo: {//报价单号
type:'string', type: 'string',
"x-component":"Search", "x-component": "Search",
"x-mega-props":{ "x-mega-props": {
}, },
"x-component-props":{ "x-component-props": {
placeholder:'报价单搜索' placeholder: '报价单搜索'
} }
} }
} }
}, },
[FORM_FILTER_PATH]:{ [FORM_FILTER_PATH]: {
type:'object', type: 'object',
"x-component":"flex-layout", "x-component": "flex-layout",
"x-component-props":{ "x-component-props": {
rowStyle:{ rowStyle: {
flexWrap:'nowrap' flexWrap: 'nowrap'
}, },
colStyle:{ colStyle: {
marginLeft: 20 marginLeft: 20
} }
}, },
properties:{ properties: {
PRO_LAYOUT:{ PRO_LAYOUT: {
type:'object', type: 'object',
"x-component":'mega-layout', "x-component": 'mega-layout',
"x-mega-props":{ "x-mega-props": {
span: 5 span: 5
}, },
"x-component-props":{ "x-component-props": {
inline: true inline: true
}, },
properties:{ properties: {
details:{ details: {
type:'string', type: 'string',
"x-component-props":{ "x-component-props": {
placeholder:'询价单摘要' placeholder: '询价单摘要'
}
},
memberName: {
type: 'string',
"x-component-props": {
placeholder: '被询价会员'
}
},
voucherTime: {
type: 'string',
default: 0,
"x-component-props": {
placeholder: '请选择单据时间'
},
enum: TimeList
},
}
},
sumbit: {
"x-component": 'Submit',
"x-mega-props": {
span: 1
},
"x-component-props": {
children: '查询'
}
}
}
}
}
}
/**
* @description: 询价报价
* @param {type}
* @return {type}
*/
export const inquiryQuoteSchema: ISchema = {
type: 'object',
properties: {
megalayout: {
type: 'object',
"x-component": 'mega-layout',
"x-component-props": {
grid: true
},
properties: {
ctl: {
type: 'object',
"x-component": "Children",
"x-component-props": {
children: "{{controllerBtns}}"
}
},
quotationNo: {//报价单号
type: 'string',
"x-component": "Search",
"x-mega-props": {
},
"x-component-props": {
placeholder: '报价单号'
}
}
}
},
[FORM_FILTER_PATH]: {
type: 'object',
"x-component": "flex-layout",
"x-component-props": {
rowStyle: {
flexWrap: 'nowrap'
},
colStyle: {
marginLeft: 20
}
},
properties: {
PRO_LAYOUT: {
type: 'object',
"x-component": 'mega-layout',
"x-mega-props": {
span: 5
},
"x-component-props": {
inline: true
},
properties: {
inquiryListNo: {
type: 'string',
"x-component-props": {
placeholder: '询价单号'
}
},
details: {
type: 'string',
"x-component-props": {
placeholder: '报价单摘要'
} }
}, },
memberName:{ memberName: {
type: 'string',
"x-component-props": {
placeholder: '询价会员'
}
},
voucherTime: {
type: 'string',
"x-component-props": {
placeholder: '请选择单据时间'
},
enum: TimeList
},
externalState:{
type:'string', type:'string',
"x-component-props":{ "x-component-props":{
placeholder:'被询价会员' placeholder:'外部状态'
} },
enum: filterExternalStateLabelList
}, },
voucherTime:{ interiorState :{
type:'string', type:'string',
default: 0,
"x-component-props":{ "x-component-props":{
placeholder:'请选择单据时间' placeholder:'内部状态'
}, },
enum: TimeList enum: filterInternalStateLabelList
}, },
} }
}, },
sumbit:{ sumbit: {
"x-component":'Submit', "x-component": 'Submit',
"x-mega-props":{ "x-mega-props": {
span:1 span: 1
}, },
"x-component-props":{ "x-component-props": {
children:'查询' children: '查询'
} }
} }
} }
......
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