Commit 6d3e201c authored by Bill's avatar Bill

Merge branch 'dev-srm' of 10.0.0.22:lingxi/lingxi-business-paltform into dev-srm

parents 448be474 443ef2a8
......@@ -448,9 +448,17 @@ const MemberRoute: RouterChild = {
noMargin: true,
component: '@/pages/member/memberQuery/applyMember',
},
// 会员信息变更
// 会员信息-变更(入库信息)
{
path: '/memberCenter/memberAbility/profile/query/modify',
path: '/memberCenter/memberAbility/profile/query/changeDeposit',
name: 'changeMember',
hideInMenu: true,
noMargin: true,
component: '@/pages/member/memberQuery/applyMember',
},
// 会员信息-修改(入库信息)
{
path: '/memberCenter/memberAbility/profile/query/modifyDeposit',
name: 'modifyMember',
hideInMenu: true,
noMargin: true,
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-18 17:36:53
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-29 16:18:42
* @LastEditTime: 2021-07-03 18:41:39
* @Description: 会员相关常量
*/
......@@ -53,7 +53,7 @@ export const MEMBER_TYPE = {
/**
* 待提交审核
*/
export const MEMBER_OUTER_TO_PLATFORM_VERIFY = 1;
export const MEMBER_OUTER_STATUS_TO_PLATFORM_VERIFY = 1;
/**
* 待平台审核
*/
......
......@@ -139,7 +139,8 @@ export default {
'menu.memberAbility.memberProfile.memberQueryDetail.changedInfo': '变更信息',
'menu.memberAbility.memberProfile.memberUpdate': '修改注册信息',
'menu.memberAbility.memberProfile.addSubRole': '新建会员角色',
'menu.memberAbility.memberProfile.modifyMember': '变更会员信息',
'menu.memberAbility.memberProfile.changeMember': '变更会员信息',
'menu.memberAbility.memberProfile.modifyMember': '修改会员信息',
'menu.memberAbility.memberProfile.applyMember': '申请会员',
'menu.memberAbility.memberRuleConfiguration': '会员规则配置',
'menu.memberAbility.memberRuleConfiguration.memberLevel': '会员等级',
......
......@@ -27,6 +27,7 @@ import {
MEMBER_INNER_STATUS_MODIFY_PASSED,
MEMBER_INNER_STATUS_MODIFY_NOT_PASSED,
PLATFORM_MEMBER_INNER_STATUS_TO_BE_COMMIT,
PLATFORM_MEMBER_INNER_STATUS_COMMIT_NOT_PASSED,
PLATFORM_MEMBER_INNER_STATUS_TO_BE_VERIFY_STEP1,
PLATFORM_MEMBER_INNER_STATUS_VERIFY_STEP1_NOT_PASSED,
......@@ -36,7 +37,7 @@ import {
PLATFORM_MEMBER_INNER_STATUS_VERIFY_NOT_PASSED,
PLATFORM_MEMBER_INNER_STATUS_VERIFY_PASSED,
MEMBER_OUTER_TO_PLATFORM_VERIFY,
MEMBER_OUTER_STATUS_TO_PLATFORM_VERIFY,
MEMBER_OUTER_STATUS_PLATFORM_VERIFYING,
MEMBER_OUTER_STATUS_PLATFORM_VERIFY_PASSED,
MEMBER_OUTER_STATUS_PLATFORM_VERIFY_NOT_PASSED,
......@@ -70,7 +71,7 @@ export const MEMBER_STATUS_TAG_MAP = {
// 会员外部状态 StatusTag map
export const MEMBER_OUTER_STATUS_TYPE = {
[MEMBER_OUTER_TO_PLATFORM_VERIFY]: 'default',
[MEMBER_OUTER_STATUS_TO_PLATFORM_VERIFY]: 'default',
[MEMBER_OUTER_STATUS_PLATFORM_VERIFYING]: 'warning',
[MEMBER_OUTER_STATUS_PLATFORM_VERIFY_PASSED]: 'success',
[MEMBER_OUTER_STATUS_PLATFORM_VERIFY_NOT_PASSED]: 'danger',
......@@ -107,6 +108,7 @@ export const MEMBER_INNER_STATUS_BADGE_COLOR = {
[MEMBER_INNER_STATUS_MODIFY_PASSED]: 'green',
[MEMBER_INNER_STATUS_MODIFY_NOT_PASSED]: 'red',
[PLATFORM_MEMBER_INNER_STATUS_TO_BE_COMMIT]: 'grey',
[PLATFORM_MEMBER_INNER_STATUS_COMMIT_NOT_PASSED]: 'red',
[PLATFORM_MEMBER_INNER_STATUS_TO_BE_VERIFY_STEP1]: 'orange',
[PLATFORM_MEMBER_INNER_STATUS_VERIFY_STEP1_NOT_PASSED]: 'red',
......
......@@ -2,10 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 16:52:48
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-03 14:50:48
* @LastEditTime: 2021-07-05 10:40:46
* @Description: 申请会员
*/
import React, { useState, useEffect, useRef } from 'react';
import { RouteComponentProps } from 'react-router-dom';
import { history, Prompt } from 'umi';
import { Button, Spin, Space, message } from 'antd';
import { Checkbox, DatePicker, Radio } from '@formily/antd-components';
......@@ -87,7 +88,8 @@ const {
const onStepNext$ = createEffectHook('onStepNext');
const onStepPrevious$ = createEffectHook('onStepPrevious');
const MemberQueryApplyMember: React.FC = () => {
const MemberQueryApplyMember: React.FC<RouteComponentProps> = (props: any) => {
const { route } = props;
const { upperMemberId, upperRoleId, validateId } = usePageStatus();
const [ticktack, setTicktack] = useState(countDownLen);
const [currenStep, setCurrenStep] = useState(!validateId ? 0 : 1);
......@@ -209,8 +211,8 @@ const MemberQueryApplyMember: React.FC = () => {
return;
}
PublicApi.postMemberAbilityInfoApply({
upperMemberId,
upperRoleId,
upperMemberId: upperMemberId as number,
upperRoleId: upperRoleId as number,
depositDetails: step3,
...commonPayload,
}).then(res => {
......@@ -225,7 +227,7 @@ const MemberQueryApplyMember: React.FC = () => {
});
} else {
PublicApi.postMemberAbilityInfoDepositDetailUpdate({
validateId,
validateId: validateId as number,
detail: step3,
...commonPayload,
}).then(res => {
......@@ -249,7 +251,7 @@ const MemberQueryApplyMember: React.FC = () => {
}}
onBack={() => history.goBack()}
backIcon={<ReutrnEle description="返回" />}
title={`${!validateId ? '申请' : '变更'}会员`}
title={`${!validateId ? '申请' : route.name === 'changeMember' ? '变更' : '修改'}会员`}
extra={(
<Space>
{currenStep === 0 && !validateId ? (
......@@ -355,7 +357,7 @@ const MemberQueryApplyMember: React.FC = () => {
expressionScope={{
currenStep,
ComingAgreement: <ComingAgreement richText={agreement} />,
RegisterInfo: <RegisterInfo upperMemberId={upperMemberId} upperRoleId={upperRoleId} />,
RegisterInfo: <RegisterInfo upperMemberId={upperMemberId as number} upperRoleId={upperRoleId as number} />,
SubmitSuccess: <SubmitSuccess />,
}}
effects={($, actions) => {
......@@ -378,7 +380,7 @@ const MemberQueryApplyMember: React.FC = () => {
useBusinessEffects($, actions, 'step4.qualities');
}}
schema={schema(depositInfo, validateId)}
schema={schema(depositInfo, validateId as number)}
/>
</MellowCard>
</PageHeaderWrapper>
......
......@@ -15,10 +15,12 @@ import { createFormActions } from '@formily/antd';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { MEMBER_LEVEL_TYPE_PLATFORM } from '@/constants/member';
import EyePreview from '@/components/EyePreview';
import NiceForm from '@/components/NiceForm';
import StatusTag from '@/components/StatusTag';
import { PublicApi } from '@/services/api';
import { GetMemberAbilityInfoPageResponseDetail } from '@/services/MemberV2Api';
import useSpliceArray from '@/hooks/useSpliceArray';
import { querySchema } from './schema';
import {
......@@ -38,9 +40,14 @@ const MemberQuery: React.FC<{}> = () => {
return res.data;
};
// 跳转修改会员信息页面
const handleJumpModify = record => {
history.push(`/memberCenter/memberAbility/profile/query/modify?validateId=${record.validateId}`);
// 跳转变更会员入库信息
const handleJumpChangeDeposit = record => {
history.push(`/memberCenter/memberAbility/profile/query/changeDeposit?validateId=${record.validateId}`);
};
// 跳转修改会员入库信息
const handleJumpModifyDeposit = record => {
history.push(`/memberCenter/memberAbility/profile/query/modifyDeposit?validateId=${record.validateId}`);
};
// 跳转修改注册信息页面
......@@ -48,7 +55,7 @@ const MemberQuery: React.FC<{}> = () => {
history.push(`/memberCenter/memberAbility/profile/query/update?validateId=${record.validateId}`);
};
const defaultColumns: ColumnType<any>[] = [
const defaultColumns: ColumnType<GetMemberAbilityInfoPageResponseDetail>[] = [
{
title: '会员归属',
dataIndex: 'name',
......@@ -116,15 +123,16 @@ const MemberQuery: React.FC<{}> = () => {
record.showModify && (
<Button
type="link"
onClick={() => handleJumpModify(record)}
onClick={() => handleJumpChangeDeposit(record)}
>
变更
</Button>
)
}
{/* 商户会员、渠道会员 且外部审核状态为不通过才可以 再次申请 */}
{/* 上级是平台会员,且外部审核状态为不通过才可以 修改注册资料 */}
{
record.showUpdate && (
record.levelTypeEnum === MEMBER_LEVEL_TYPE_PLATFORM && record.showUpdate && (
<Button
type="link"
onClick={() => handleJumpUpdate(record)}
......@@ -133,6 +141,24 @@ const MemberQuery: React.FC<{}> = () => {
</Button>
)
}
{/* 上级是非平台会员,且外部审核状态为不通过才可以 修改入库资料 */}
{
record.levelTypeEnum !== MEMBER_LEVEL_TYPE_PLATFORM && record.showUpdate && (
<Button
type="link"
onClick={() => handleJumpModifyDeposit(record)}
>
修改
</Button>
)
}
<Button
type="link"
onClick={() => handleJumpModifyDeposit(record)}
>
修改
</Button>
</>
),
},
......
......@@ -62,6 +62,7 @@ export const selectBidSchema: ISchema = {
inline: false,
rowStyle: {
justifyContent: 'start',
rowGap: 20
},
colStyle: {
marginRight: 20
......
......@@ -95,8 +95,8 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
span: 8,
fieldList: [
{ title: '投标编号:', name: 'code', render: () => _data['code'] },
{ title: '外部状态:', name: 'submitTenderOutStatus', render: (text) => TenderOutStateTexts[_data['submitTenderOutStatus']]},
{ title: '内部状态:', name: 'submitTenderInStatus', render: (text) => TenderInStateTexts[_data['submitTenderInStatus']] },
{ title: '外部状态:', name: 'submitTenderOutStatusValue', render: () => _data['submitTenderOutStatusValue']},
{ title: '内部状态:', name: 'submitTenderInStatusValue', render: () => _data['submitTenderInStatusValue']},
{ title: '投标项目:', name: 'projectName' },
]
},
......
......@@ -26,7 +26,7 @@ export const processLogResponses = (resData) => {
id: item.taskStep,
name: item.taskName,
operationRole: item.memberRoleName,
isActive: item.taskStep < currentOuterStep
isActive: currentOuterStep === 0 ? true : (item.taskStep < currentOuterStep)
}))
const subTasks = externalTasks.filter(item => item.taskStep === currentOuterStep)
const interiorLogs = subTasks.length ? subTasks[0]['subTasks'].map(item => ({
......
......@@ -131,7 +131,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
</Col>
<Col span={6}>
<div className={style.childrenContent}>
<p><span>品牌:</span>{data.brand.name}</p>
<p><span>品牌:</span>{data?.brand?.name}</p>
</div>
</Col>
{/* <Col span={3}>
......
......@@ -8,7 +8,7 @@ export const tableListSchema: ISchema = {
type: 'string',
"x-component": 'SearchFilter',
'x-component-props': {
placeholder: '请输入标编号',
placeholder: '请输入标编号',
align: 'flex-end',
},
},
......
......@@ -31,18 +31,18 @@ const ReadyAddTender:React.FC<ReadyAddTenderProps> = (props) => {
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.submitTenderInStatus !== TenderInsideWorkState.Not_Submitted_Check_Submit_Tender)
if(!rowSelectionCtl.selectRow.length) return message.error('请先选择投标')
if (canBitch) {
// if (canBitch) {
const { code } = await run({idList: rowSelectionCtl.selectedRowKeys})
if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else {
message.error('只能提交待提交审核投标的投标')
}
// } else {
// message.error('只能提交待提交审核投标的投标')
// }
}
return <PageHeaderWrapper>
......
......@@ -67,7 +67,7 @@ const SecondCheckedTender:React.FC<SecondCheckedTenderProps> = (props) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'orderNo',
'submitTenderCode',
FORM_FILTER_PATH,
);
},
......
import { ISchema } from '@formily/antd';
import { FORM_FILTER_PATH } from '@/formSchema/const';
// import { OrderTypeMap } from '@/constants/order';
export const tableListSchema: ISchema = {
type: 'object',
properties: {
orderNo: {
submitTenderCode: {
type: 'string',
"x-component": 'SearchFilter',
'x-component-props': {
placeholder: '请输入订单编号',
placeholder: '请输入投标编号',
align: 'flex-end',
},
},
......@@ -19,39 +18,35 @@ export const tableListSchema: ISchema = {
'x-component-props': {
inline: true,
colStyle: {
marginLeft: 20
}
marginRight: 20
},
},
properties: {
orderThe: {
inviteTenderCode: {
type: 'string',
'x-component-props': {
placeholder: '请输入订单摘要',
}
placeholder: '请输入招标编号',
},
},
"supplyMembersName": {
projectName: {
type: 'string',
"x-component-props": {
placeholder: '请输入供应会员名称'
'x-component-props': {
placeholder: '请输入招标项目',
}
},
"type": {
type: 'string',
"x-component-props": {
placeholder: '请选择订单类型'
},
// enum: Object.keys(OrderTypeMap).map(item => ({
// label: OrderTypeMap[item],
// value: item,
// }))
},
"[startCreateTime,endCreateTime]": {
"[startTime,endTime]": {
type: 'array',
"x-component": 'DateRangePickerUnix',
'x-component-props': {
placeholder: ['开始时间','结束时间'],
placeholder: ['发布开始时间','发布结束时间'],
},
},
inviteTenderMemberName: {
type: 'string',
'x-component-props': {
placeholder: '请输入招标会员',
}
},
submit: {
'x-component': 'Submit',
'x-component-props': {
......
......@@ -28,6 +28,8 @@ const defaultCategoryData = { index: 0, firstId: 0, secondId: 0, thirdlyId: 0, f
const PurchasInfo: React.FC<PurchasInfoPropsType> = (props) => {
const { siteUrl, siteId } = props.SiteStore
const [resUrl, setResUrl] = useState<string>('');
const [door, setDoor] = useState<string>('');
const [formIsHalfFilledOut, setFormIsHalfFilledOut] = useState(false)
const [form] = Form.useForm()
const [allMallList, setAllMallList] = useState([])
......@@ -320,7 +322,7 @@ const PurchasInfo: React.FC<PurchasInfoPropsType> = (props) => {
slideshowBOList: result
})
}
/**
const handleMallSelectChange = (mallId: number) => {
setShopId(mallId)
console.log(mallId, shopInfo)
......@@ -362,10 +364,6 @@ const PurchasInfo: React.FC<PurchasInfoPropsType> = (props) => {
return result
}
const handleFormValueChange = () => {
setFormIsHalfFilledOut(true)
}
const getSelectMallStoreUrl = () => {
if (!shopInfo) {
return null
......@@ -382,6 +380,16 @@ const PurchasInfo: React.FC<PurchasInfoPropsType> = (props) => {
}
return null
}
*/
const handleFormValueChange = () => {
setFormIsHalfFilledOut(true)
}
/** 获取店铺链接 */
const handleMallSelectChange = (val, option) => {
setDoor(option.children);
setResUrl(`${siteUrl}${option.url}`)
}
return (
<PageHeaderWrapper
......@@ -541,13 +549,17 @@ const PurchasInfo: React.FC<PurchasInfoPropsType> = (props) => {
<Select allowClear value={shopId} className={styles.form_item} onChange={handleMallSelectChange}>
{
allMallList.map(item => (
<Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
<Select.Option key={item.id} value={item.id} url={item.url}>{item.name}</Select.Option>
))
}
</Select>
{
getSelectMallStoreUrl()
}
{resUrl && (
<div className={styles.shop_url}>
<span>当前{door}链接:</span>
<label>{resUrl}</label>
<CopyOutlined className={styles.copy_icon} onClick={() => handleCopyLinke(resUrl)} />
</div>
)}
</Form.Item>
</TabPane>
<TabPane tab='首页轮播图' key='2' forceRender>
......
......@@ -123,7 +123,7 @@ const Material: React.FC<Iprops> = (props: any) => {
dataIndex: 'category',
render: (text: any, record: any, index: number) => (
<>
{ materielMode === 1 && (
{Array.isArray(record.ids) ? (
<Form.Item
style={{ margin: 0 }}
name={`category_${index + 1}`}
......@@ -139,17 +139,17 @@ const Material: React.FC<Iprops> = (props: any) => {
notFoundContent={<Spin size="small" />}
/>
</Form.Item>
)}
{ materielMode === 2 && (
) : (
<Form.Item
style={{ margin: 0 }}
name={`category_${index + 1}`}
initialValue={text}
rules={[{ required: true, message: '请输入' }]}
>
<Input onChange={(e) => handleEdit(e, 'category', index)} />
<Input onChange={(e) => handleEdit(e, 'category', index)} />
</Form.Item>
)}
</>
),
},
......@@ -220,6 +220,7 @@ const Material: React.FC<Iprops> = (props: any) => {
/** 添加列表 */
const fetchTableList = (data: any) => {
if (Object.keys(data).length > 0) {
console.log(data, 98)
setDataSource([...dataSource, data]);
setFlag(false);
}
......
......@@ -54,6 +54,7 @@ export const evaluateSchema: ISchema = {
comment: {
type: 'string',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
......@@ -54,6 +54,7 @@ export const evaluateSchema: ISchema = {
comment: {
type: 'string',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
......@@ -54,7 +54,8 @@ export const evaluateSchema: ISchema = {
},
comment: {
type: 'string',
title: '评价',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
......@@ -54,6 +54,7 @@ export const evaluateSchema: ISchema = {
comment: {
type: 'string',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
......@@ -54,6 +54,7 @@ export const evaluateSchema: ISchema = {
comment: {
type: 'string',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-23 17:00:24
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-01-13 10:16:27
* @LastEditTime: 2021-07-03 18:49:30
* @Description:
*/
import { ISchema } from '@formily/antd';
......@@ -55,6 +55,7 @@ export const evaluateSchema: ISchema = {
comment: {
type: 'string',
title: '评价',
required: true,
'x-component': 'TextArea',
'x-component-props': {
rows: 4,
......
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