Commit 3024ed24 authored by LeeJiancong's avatar LeeJiancong

'对接系统匹配提交和回显,对接需求单查询的详情状态等'

parent a019fcf2
......@@ -2,7 +2,7 @@
* @Author: LeeJiancong
* @Date: 2020-08-01 11:06:09
* @LastEditors: LeeJiancong
* @LastEditTime: 2020-08-24 17:31:43
* @LastEditTime: 2020-09-09 14:47:02
*/
export const TimeList = [
{
......@@ -30,3 +30,65 @@ export const TimeList = [
label: '一年前', value: 7
}
]
/**
* @description: 需求单发布状态筛选
* @param {type}
* @return {type} 内
*/
export const filterExternalStateList = [
{
text: '提交需求单', value: 1
},
{
text: '审核需求单', value: 2
},
{
text: '提交报价单', value: 3
},
{
text: '确认报价单', value: 4
},
{
text: '完成', value: 5
},
{
text: '审核不通过', value: 6
},
{
text: '取消报价单', value: 7
}
]
/**
* @description: 需求单发布状态筛选
* @param {type}
* @return {type} 内
*/
export const filterInteriorStateList = [
{
text: '新增需求单', value: 1
},
{
text: '审核需求单一级', value: 2
},
{
text: '审核需求单二级', value: 3
},
{
text: '提交需求单', value: 4
},
{
text: '完成', value: 5
},
{
text: '审核不通过', value: 6
},
{
text: '取消需求单', value: 7
}
]
import React, { Component,ReactNode } from 'react';
import {Badge} from 'antd'
/**
* @description: 一级
* @param {type}
* @return {type}
*/
export const interiorState = (text:any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="待提交审核" />:
......@@ -9,6 +15,12 @@ export const interiorState = (text:any) => {
return component;
}
/**
* @description: 二级
* @param {type}
* @return {type}
*/
export const interiorStateTwo = (text:any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="待提交审核" />:
......@@ -16,4 +28,38 @@ export const interiorStateTwo = (text:any) => {
text === 4 ? component = <Badge status='success' text="审核通过" />:
component = <Badge status='error' text="审核不通过" />
return component;
}
/**
* @description: 专用需求发布的需求单查询
* @param {type}
* @return {type} 内
*/
export const enquirySearchInteriorState = (text:any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="新增需求单" />:
text === 2 ? component = <Badge color="#FFC400" text="审核需求单一级" />:
text === 3 ? component = <Badge color="#FFC400" text="审核需求单二级" />:
text === 4 ? component = <Badge status='processing' text="提交需求单" />:
text === 5 ? component = <Badge status='success' text="完成" />:
text === 6 ? component = <Badge status='error' text="审核不通过" />:
component = <Badge status="default" text="取消需求单" />
return component;
}
/**
* @description: 专用需求发布的需求单查询
* @param {type}
* @return {type} 外
*/
export const enquirySearchexternalState = (text:any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="提交需求单" />:
text === 2 ? component = <Badge color="#FFC400" text="审核需求单" />:
text === 3 ? component = <Badge status='default' text="提交报价单" />:
text === 4 ? component = <Badge status='processing' text="确认报价单" />:
text === 5 ? component = <Badge status='success' text="完成" />:
text === 6 ? component = <Badge status='error' text="审核不通过" />:
component = <Badge status="default" text="取消报价单" />
return component;
}
\ No newline at end of file
......@@ -3,7 +3,7 @@
* @Date: 2020-08-24 11:32:05
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-08 16:53:26
* @LastEditTime: 2020-09-09 14:36:46
*/
import React, { Component, useEffect, useState, ReactNode, useRef } from 'react';
import { Row, Col, Modal, Table, Tooltip, Input, Select, Button, Popconfirm, Card, Tag, Badge, Steps, Tabs, } from 'antd'
......@@ -20,7 +20,7 @@ import {PageStatus,usePageStatus} from '@/hooks/usePageStatus'
import { dockingColumn,externalColumn,interiorColumn } from '../../common/detailFormColumnType'
import moment from 'moment'
import style from './index.less'
import {interiorState,interiorStateTwo} from '../../common/tableStatusList'
import {interiorState,interiorStateTwo,enquirySearchInteriorState,enquirySearchexternalState} from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
const { Step } = Steps
const { TabPane } = Tabs
......@@ -255,62 +255,6 @@ const detailInfo: React.FC<{}> = () => {
}
]
/**
* @description:
* @param {type}
* @return {type}
*/
const columns: ColumnType<any>[] = [
{
title: '序号',
dataIndex: 'operatorRoleId',
align: 'center',
key: 'operatorRoleId',
},
{
title: '操作角色',
dataIndex: 'operatorRoleName',
align: 'center',
key: 'operatorRoleName',
},
{
title: '状态',
dataIndex: 'status',
align: 'left',
key: 'status',
render: (text: number, record: any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="待提交" /> :
text === 2 ? component = <Badge status='processing' text="待确认" /> :
text === 3 ? component = <Badge status='success' text="接受物流单" /> :
component = <Badge status='error' text="不接受物流单" />
return component;
},
},
{
title: '操作',
dataIndex: 'type',
align: 'center',
key: 'type',
render: (text: number, record: any) =>
<>{text === 1 ? '提交物流单' : '确认物流单'}</>
},
{
title: '操作时间',
dataIndex: 'operateTime',
align: 'center',
key: 'operateTime',
render: (text: any, record: any) => <>{moment(text).format('YYYY-MM-DD HH:mm:ss')}</>
},
{
title: '审核意见',
dataIndex: 'remark',
align: 'center',
key: 'remark',
width: 300
},
];
//在这做逻辑判断 判断路由 是由哪个页面进来的
useEffect(() => {
......@@ -552,9 +496,10 @@ const detailInfo: React.FC<{}> = () => {
<div className={style['headerMain-left-option']}>
<div>外部状态:</div>
<div>
{
dataInfo.externalState == 1 ? <><span style={statuStyle.default}>待提交需求单</span></> :
dataInfo.status == 3 ? <><span style={statuStyle.warn}>审核不通过需求单</span></> :
dataInfo.externalState == 3 ? <><span style={statuStyle.warn}>审核不通过需求单</span></> :
''
}
</div>
......@@ -564,7 +509,8 @@ const detailInfo: React.FC<{}> = () => {
<div>
{
pagetype === 1 ? interiorState(dataInfo.interiorState) :
pagetype === 2 || pagetype == 3? interiorStateTwo(dataInfo.interiorState) : ''
pagetype === 2 || pagetype == 3? interiorStateTwo(dataInfo.interiorState) :
enquirySearchInteriorState(dataInfo.interiorState)//4
}
</div>
......
......@@ -3,7 +3,7 @@
* @Date: 2020-08-28 10:07:45
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-01 15:45:57
* @LastEditTime: 2020-09-09 16:39:14
*/
import React, { Component, useState, useEffect } from 'react';
import { Modal, Button, Form, Radio, AutoComplete,Tabs, Input, Select,Checkbox } from 'antd'
......@@ -38,7 +38,7 @@ const layout = {
* @return {type}
*/
const comfirmDialog: React.FC<Params> = (props) => {
console.log('数据',props.sourceData)
// console.log('数据',props.sourceData)
const [form] = Form.useForm()
const [placeOfOriginList, setplaceOfOriginList] = useState([])//产地
const handleCancel = () => {
......@@ -67,8 +67,6 @@ const comfirmDialog: React.FC<Params> = (props) => {
}
const renderTabPanchildren = (item: any) => {
console.log('子项',item)
return (
<>
{
......
......@@ -3,7 +3,7 @@
* @Date: 2020-08-24 11:39:11
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-08 17:37:24
* @LastEditTime: 2020-09-09 14:48:31
*/
/**
* @description: 组件描述: 一级 二级 待提交需求单
......@@ -34,16 +34,18 @@ import {
} from 'god/dist/src/standard-table/TableController';
import EyePreview from '@/components/EyePreview';
import StatusSwitch from '@/components/StatusSwitch';
import {interiorState,interiorStateTwo} from '../../common/tableStatusList'
import {interiorState,interiorStateTwo,
enquirySearchInteriorState,enquirySearchexternalState} from '../../common/tableStatusList'
import statuStyle from '../../common/colorTag'
import NiceForm from '@/components/NiceForm';
import {timeRange} from '@/utils/index'
import {filterInteriorStateList,filterExternalStateList} from './../../common/statusList'
import moment from 'moment'
import { createFormActions, FormEffectHooks } from '@formily/antd';
import {PageStatus} from '@/hooks/usePageStatus'
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { enquierySchema } from '../schema';
import { enquierySchema,enquierySearchSchema } from '../schema';
import { PublicApi } from '@/services/api';
import { values, action } from 'mobx';
export interface listParams{
......@@ -72,7 +74,7 @@ const List:React.FC<{listParams}> = (props) => {
* @return {type}
*/
const handleToDetail= (id) => {
history.push(`/memberCenter/tranactionAbility/enquirySubmit/viewEnquiryDetail?page_type=${props.type}&id=${id}`)
history.push(`/memberCenter/tranactionAbility/enquirySubmit/viewEnquiryDetail?page_type=${4}&id=${id}`)
}
const columns : ColumnType<any>[] = [
......@@ -123,32 +125,24 @@ const List:React.FC<{listParams}> = (props) => {
key:'externalState',
dataIndex:'externalState',
align:'center',
render: (text: any, reconds) => {
let component: ReactNode = null
if (text == 3) {
component = <><span style={statuStyle.warn}>审核不通过需求单</span></>
}else if (text == 1) {
component = <><span style={statuStyle.default}>待提交需求单</span></>
}
return component
}
filters: filterExternalStateList,
filterMultiple: false,
onFilter: (value, record) => record.externalState === value,
render: (text: any, reconds) =>
enquirySearchexternalState(text)
},
{
title:'内部状态',
key:'interiorState',
dataIndex:'interiorState',
align:'center',
align:'left',
filters: filterInteriorStateList,
filterMultiple: false,
onFilter: (value, record) => record.interiorState === value,
render:(text:any) =>
interiorState(text)
},
{
title:'操作',
key:'options',
dataIndex:'options',
align:'center'
enquirySearchInteriorState(text)
}
]
......@@ -209,7 +203,7 @@ const List:React.FC<{listParams}> = (props) => {
columns={columns}
tableProps={{rowKew:'id'}}
fetchTableData={(params: any) => fetchData(params)}
rowSelection={rowSelection}
// rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
......@@ -217,10 +211,7 @@ const List:React.FC<{listParams}> = (props) => {
effects={($,actions) => {
useStateFilterSearchLinkageEffect($,actions,'requisitionFormNo',FORM_FILTER_PATH)
}}
expressionScope={{
controllerBtns
}}
schema={enquierySchema}
schema={enquierySearchSchema}
>
</NiceForm>
......
import { ISchema} from '@formily/antd'
import { FORM_FILTER_PATH } from '@/formSchema/const'
import {TimeList} from '../../common/statusList'
import TranactionRoute from 'config/routes/tranactionRoute'
/**
* @description: 公用
* @param {type}
* @return {type}
*/
export const enquierySchema: ISchema = {
type:'object',
properties:{
......@@ -89,21 +96,83 @@ export const enquierySchema: ISchema = {
}
}
/**
* @description: 需求发布查询
* @param {type}
* @return {type}
*/
export const enquierySearchSchema: ISchema = {
type:'object',
properties:{
megalayout:{
type:'object',
"x-component":'mega-layout',
properties:{
requisitionFormNo:{
type:'string',
"x-component":"Search",
"x-mega-props":{
},
"x-component-props":{
placeholder:'搜索',
align: 'flex-left',
}
}
}
},
[FORM_FILTER_PATH]:{
type:'object',
"x-component":"flex-layout",
"x-component-props":{
rowStyle:{
justifyContent: 'flex-start',
flexWrap:'nowrap'
},
colStyle:{//改变间隔
marginRight: 20
}
},
properties:{
PRO_LAYOUT:{
type:'object',
"x-component":'mega-layout',
"x-mega-props":{
span: 5
},
"x-component-props":{
inline: true
},
properties:{
category:{
type:'string',
"x-component-props":{
placeholder:'请选择品类'
},
enum:[]
},
voucherTime:{
type:'string',
default: 0,
"x-component-props":{
placeholder:'请选择单据时间'
},
enum: TimeList
},
}
},
sumbit:{
"x-component":'Submit',
"x-mega-props":{
span: 1
},
"x-component-props":{
children:'查询'
}
}
}
}
}
}
......@@ -3,7 +3,7 @@
* @Date: 2020-08-24 11:39:29
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-08 15:57:50
* @LastEditTime: 2020-09-09 16:33:55
*/
import React, { Component, useState, useEffect } from 'react'
import ReactDOM from 'react-dom'
......@@ -43,7 +43,7 @@ import RroductModal from '../components/productModal'
import { PATTERN_MAPS } from '@/constants/regExp'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PageStatus, usePageStatus } from '@/hooks/usePageStatus'
import { dockingColumn, externalColumn, interiorColumn } from '../../common/detailFormColumnType'
import { externalColumn, interiorColumn } from '../../common/detailFormColumnType'
import statuStyle from '../../common/colorTag'
import { interiorState } from '../../common/tableStatusList'
import {
......@@ -113,20 +113,6 @@ const RowStyleLayout = styled(props => <div {...props} />)`
color: #42526E;
}
`
// // 将获取的商城转化为可用类型
// const getShopTypeMap = (() => {
// return GlobalConfig.web.shopInfo.reduce((prev, next) => {
// const shopTypeEnumValue = SHOP_TYPES.find(v => v.value === next.type)
// if (!shopTypeEnumValue) {
// return prev
// }
// if (!prev.find(v => v.value === shopTypeEnumValue.value)) {
// prev.push(shopTypeEnumValue)
// }
// return prev
// }, [])
// })()
const actions = createFormActions()
const layout = {
labelCol: {
......@@ -162,6 +148,34 @@ const fetchMemberList = async (params) => {
const init = {
deliveryTime: ''
}
//用来模拟 系统匹配
const coList = [
{
id: 1,
memberName:'会员',
levelTag:'青铜',
memberId:1,
state: 1
},
{
id: 2,
memberName:'会员',
levelTag:'青铜',
memberId:2,
state: 1
},
{
id: 3,
memberName:'会员',
levelTag:'青铜',
memberId: 3,
state: 0
}
]
const Detail: React.FC<{}> = () => {
const [tabForm] = Form.useForm()
......@@ -439,10 +453,17 @@ const Detail: React.FC<{}> = () => {
title: '需求发送状态',
dataIndex: 'state',
key: 'state',
align: 'center'
align: 'center',
render:(text:any,records,index) =>
<Switch defaultChecked={text ? true : false} size="small" onChange={(checked) => {
console.log(checked);
dockingList[index].state = checked? 1 : 0
setdockingList([...dockingList])
}} />
}
]
const equiryColumns: ColumnType<any>[] = [
{
......@@ -525,7 +546,6 @@ const Detail: React.FC<{}> = () => {
useEffect(() => {
console.log(GlobalConfig.web.shopInfo)
let shopList = GlobalConfig.web.shopInfo.filter(v => v.type == 1).map(
v => v
)
......@@ -587,11 +607,13 @@ const Detail: React.FC<{}> = () => {
* @param {type}
* @return {type}
*/
if (id) {
PublicApi.getOrderRequisitionFormDetails({ id: id }).then(res => {
if (res.code === 1000) {
let data = res.data
let areaCodeList = []
let _plattype = data.type ;
setplatType(data.type)
setgoodIds(data.shopIds)
setsumitGoods(data.shopIds)
......@@ -614,6 +636,20 @@ const Detail: React.FC<{}> = () => {
setrequisitionFormAddress(areaCodeList)
setinitialValues(data)
tabForm.resetFields()
console.log('platType',platType)
//需求单对接列表
PublicApi.getOrderRequisitionFormDemandDockingList({ id: id }).then(res => {
if (res.code === 1000) {
let { data } = res.data
if(_plattype == 2){//系统匹配
setdockingList(data)
}else if(_plattype == 3){//会员
setmemberList(data)
}
}
})
}
})
......@@ -654,11 +690,8 @@ const Detail: React.FC<{}> = () => {
setproductSource([...source])
}
})
// PublicApi.getOrderRequisitionFormProductList({ id: id }).then(res => {
// if (res.code === 1000) {
// let { data } = res
// }
// })
}
......@@ -832,11 +865,11 @@ const Detail: React.FC<{}> = () => {
// values['voucherTime'] = null
values['memberIds'] = []// memberRowCtl.selectedRowKeys
if (platType == 3) {
values['memberIds'] = memberList.filter((v) => v.state).map(v => {
values['memberIds'] = memberList.filter((v) => v.state == true).map(v => {
return v.memberId
})
} else if (platType == 2) {
values['memberIds'] = dockingList.filter((v) => v.state).map(v => {
values['memberIds'] = dockingList.filter((v) => v.state === 1).map(v => {
return v.memberId
})
}
......@@ -962,6 +995,11 @@ const Detail: React.FC<{}> = () => {
}
}
/**
* @description: 会员列表
* @param {type}
* @return {type}
*/
const switchState = (text, record, index) => {
console.log(66, text, record, index)
return <Switch defaultChecked={text ? true : false} size="small" onChange={(checked) => {
......@@ -970,6 +1008,8 @@ const Detail: React.FC<{}> = () => {
setmemberList([...memberList])
}} />
}
return (
<PageHeaderWrapper
onBack={() => history.goBack()}
......@@ -1348,7 +1388,4 @@ const Detail: React.FC<{}> = () => {
)
}
export default Detail
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