Commit b51bead2 authored by 张子雨's avatar 张子雨

对照接口文档,参数对接

parent 70238242
...@@ -448,10 +448,26 @@ class goodsManage extends Component { ...@@ -448,10 +448,26 @@ class goodsManage extends Component {
}; };
render() { render() {
const { visible, form, initData = {}, treeData, virtualTreeData } = this.props; // specListData
const { visible, form, initData = {}, treeData, virtualTreeData, specListData } = this.props;
// const specListData = [{
// "specName": "服务",
// "specId":"services",
// "specValues": [
// {
// "value": 1,
// "label": "七天无理由退货"
// },
// {
// "value": 2,
// "label": "2222"
// }
// ]
// }
// ]
const isEdit = Object.keys(initData).length !== 0; const isEdit = Object.keys(initData).length !== 0;
// 是否仅编辑卖点和服务 // 是否仅编辑卖点和服务
const isService = initData.state === 5; const isService = initData.state !== 4;
const { getFieldDecorator, getFieldsValue } = form; const { getFieldDecorator, getFieldsValue } = form;
getFieldDecorator('firstKeys', { initialValue: [] }); getFieldDecorator('firstKeys', { initialValue: [] });
getFieldDecorator('secondKeys', { initialValue: [] }); getFieldDecorator('secondKeys', { initialValue: [] });
...@@ -492,6 +508,12 @@ class goodsManage extends Component { ...@@ -492,6 +508,12 @@ class goodsManage extends Component {
if (isEdit && !initData.editData[0]?.firstSpec && !initData.editData[0]?.secondSpec) { if (isEdit && !initData.editData[0]?.firstSpec && !initData.editData[0]?.secondSpec) {
colorKeys = colorKeys.length > 1 ? colorKeys.filter(item => item !== 'null') : colorKeys; colorKeys = colorKeys.length > 1 ? colorKeys.filter(item => item !== 'null') : colorKeys;
} }
const optionsWithDisabled = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
{ label: 'Orange', value: 'Orange', disabled: false },
];
return ( return (
<Modal <Modal
title={initData.id ? '修改商品' : '新增商品'} title={initData.id ? '修改商品' : '新增商品'}
...@@ -511,7 +533,7 @@ class goodsManage extends Component { ...@@ -511,7 +533,7 @@ class goodsManage extends Component {
initialValue: productType, initialValue: productType,
rules: [{ required: true, message: '请选择商品类型' }], rules: [{ required: true, message: '请选择商品类型' }],
})( })(
<Radio.Group disabled={isEdit} onChange={this.bundleRadioChange}> <Radio.Group disabled={isEdit || isService} onChange={this.bundleRadioChange}>
{productTypeList.map(item => ( {productTypeList.map(item => (
<Radio key={item.value} value={item.value} disabled={item.disabled}> <Radio key={item.value} value={item.value} disabled={item.disabled}>
{item.label} {item.label}
...@@ -621,24 +643,27 @@ class goodsManage extends Component { ...@@ -621,24 +643,27 @@ class goodsManage extends Component {
<Col span={24}> <Col span={24}>
<FormItem label="商品卖点" labelCol={{ span: 2 }}> <FormItem label="商品卖点" labelCol={{ span: 2 }}>
{getFieldDecorator('name', { {getFieldDecorator('name', {
initialValue: initData.name, initialValue: initData.character,
})( })(
<Input <Input
style={{ width: 690 }} style={{ width: 690 }}
maxLength="50" maxLength={50}
placeholder="好的卖点信息有利于提高商品转化,限50字" placeholder="好的卖点信息有利于提高商品转化,限50字"
allowClear allowClear
/>, />,
)} )}
</FormItem> </FormItem>
</Col> </Col>
<Col span={24}> {specListData.length &&
<FormItem label="商品服务" labelCol={{ span: 2 }}> specListData.map((item, index) => (
{getFieldDecorator('name', { <Col span={24}>
initialValue: initData.name, <FormItem label={item.specName} labelCol={{ span: 2 }}>
})(<Checkbox>七天无理由退货</Checkbox>)} {getFieldDecorator(`${item.specId}`, {
</FormItem> initialValue: `initData.${item.specId}`,
</Col> })(<Checkbox.Group options={item.specValues} />)}
</FormItem>
</Col>
))}
</Row> </Row>
</Card> </Card>
<Card className={styles.card} bordered={false}> <Card className={styles.card} bordered={false}>
...@@ -652,7 +677,7 @@ class goodsManage extends Component { ...@@ -652,7 +677,7 @@ class goodsManage extends Component {
showSearch showSearch
style={{ width: 200 }} style={{ width: 200 }}
placeholder="请选择一级规格" placeholder="请选择一级规格"
disabled={isEdit && initData.firstSpecId} disabled={(isEdit && initData.firstSpecId) || isService}
onChange={(val, option) => onChange={(val, option) =>
this.specChange('first', option?.props.children, val) this.specChange('first', option?.props.children, val)
} }
...@@ -730,7 +755,7 @@ class goodsManage extends Component { ...@@ -730,7 +755,7 @@ class goodsManage extends Component {
<Select <Select
allowClear allowClear
showSearch showSearch
disabled={isEdit && initData.secondSpecId} disabled={(isEdit && initData.secondSpecId) || isService}
placeholder="请选择二级规格" placeholder="请选择二级规格"
style={{ width: 200 }} style={{ width: 200 }}
onChange={(val, option) => this.specChange('second', option?.props.children)} onChange={(val, option) => this.specChange('second', option?.props.children)}
......
...@@ -3,12 +3,13 @@ import React, { Component } from 'react'; ...@@ -3,12 +3,13 @@ import React, { Component } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout'; import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { connect } from 'dva'; import { connect } from 'dva';
import { sortBy } from 'lodash'; import { sortBy } from 'lodash';
import { da } from 'date-fns/locale';
import styles from './style.less'; import styles from './style.less';
import LocalStroage from '@/utils/localStorage'; import LocalStroage from '@/utils/localStorage';
import configApi from '../../../config/env.config'; import configApi from '../../../config/env.config';
import UpdateStock from './UpdateStock'; import UpdateStock from './UpdateStock';
import { spuDetail, categoryList, getVirtualCategory } from './service'; import { spuDetail, categoryList, getVirtualCategory, specList } from './service';
import LogModal from './LogModal'; import LogModal from './LogModal';
import CreateModal from './createModal'; import CreateModal from './createModal';
import { column, JDSHOPID } from './staticdata'; import { column, JDSHOPID } from './staticdata';
...@@ -27,11 +28,12 @@ class goodsManage extends Component { ...@@ -27,11 +28,12 @@ class goodsManage extends Component {
priceInfo: {}, priceInfo: {},
logVisible: false, logVisible: false,
previewVisible: false, previewVisible: false,
createVisible: true, // 新增or编辑普通商品modal createVisible: false, // 新增or编辑普通商品modal
selectedRowKeys: [], selectedRowKeys: [],
updateStockVisible: false, updateStockVisible: false,
initData: {}, initData: {},
createloading: false, createloading: false,
specListData: [],
}; };
currentLog = null; currentLog = null;
...@@ -44,6 +46,7 @@ class goodsManage extends Component { ...@@ -44,6 +46,7 @@ class goodsManage extends Component {
this.props.goodsManage.tableData = {}; this.props.goodsManage.tableData = {};
this.categoryList(); this.categoryList();
this.getVirtualCategory(); this.getVirtualCategory();
this.specList();
} }
handleSearch = page => { handleSearch = page => {
...@@ -104,7 +107,7 @@ class goodsManage extends Component { ...@@ -104,7 +107,7 @@ class goodsManage extends Component {
}); });
const { data, msg } = await spuDetail({ id: spuId }); const { data, msg } = await spuDetail({ id: spuId });
if (data) { if (data) {
data.state = 5; data.state = state;
data.pageProductType = productType; data.pageProductType = productType;
data.categoryId = data.thirdCategoryId; data.categoryId = data.thirdCategoryId;
data.firstSpecId = data.skuList[0].firstSpecId; data.firstSpecId = data.skuList[0].firstSpecId;
...@@ -236,6 +239,13 @@ class goodsManage extends Component { ...@@ -236,6 +239,13 @@ class goodsManage extends Component {
} }
}; };
specList = async () => {
const data = await specList();
if (data.code === '0000' && data.data.length) {
this.setState({ specListData: data.data });
}
};
render() { render() {
const { const {
goodsManage: { tableData = {} }, goodsManage: { tableData = {} },
...@@ -319,6 +329,7 @@ class goodsManage extends Component { ...@@ -319,6 +329,7 @@ class goodsManage extends Component {
shopList={this.filterShopList(this.shopList, Object.keys(this.state.initData).length)} shopList={this.filterShopList(this.shopList, Object.keys(this.state.initData).length)}
treeData={this.state.treeData} treeData={this.state.treeData}
virtualTreeData={this.state.virtualTreeData} virtualTreeData={this.state.virtualTreeData}
specListData={this.state.specListData}
></CreateModal> ></CreateModal>
<UpdateStock <UpdateStock
......
...@@ -148,3 +148,13 @@ export async function getVirtualCategory() { ...@@ -148,3 +148,13 @@ export async function getVirtualCategory() {
}); });
return data; return data;
} }
// 查询商品属性列表
export async function specList() {
// return request.get('/mock/389/product/spec', {
// prefix: 'http://yapi.quantgroups.com',
// })
return request.get('/product/api/merchant/spec', {
prefix: goodsApi,
});
}
...@@ -132,7 +132,7 @@ export function column() { ...@@ -132,7 +132,7 @@ export function column() {
render: (_, row) => ( render: (_, row) => (
<div> <div>
<p>{row.state >= 5 ? '审核通过' : _}</p> <p>{row.state >= 5 ? '审核通过' : _}</p>
<p>信息变更待审核</p> <p>{row.updateState || '_ _'}</p>
</div> </div>
), ),
}, },
...@@ -143,7 +143,7 @@ export function column() { ...@@ -143,7 +143,7 @@ export function column() {
align: 'center', align: 'center',
render: (_, row) => ( render: (_, row) => (
<div className={styles.actionBtn}> <div className={styles.actionBtn}>
{(row.state === 4 || row.state === 5) && ( {(row.state === 4 || (row.state === 5 && row.updateState !== 1)) && (
<Button <Button
key="edit" key="edit"
type="primary" type="primary"
......
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