1) 更新
This commit is contained in:
parent
ac026ca21e
commit
6bcce4a42a
|
@ -421,13 +421,12 @@ export const getIsRequireApproval = (id, data) => {
|
||||||
|
|
||||||
// //蓝色兄弟映射商品
|
// //蓝色兄弟映射商品
|
||||||
export const getProductInfoSelect = (params) => {
|
export const getProductInfoSelect = (params) => {
|
||||||
return req("get", baseurl + "/product/market/products", params);
|
// return req("get", baseurl + "/product/market/products", params);
|
||||||
|
return req(
|
||||||
// return req(
|
"get",
|
||||||
// "get",
|
"https://marketapi.1688sup.com" + "/product/market/products",
|
||||||
// "https://marketapi.1688sup.com" + "/product/market/products",
|
params
|
||||||
// params
|
);
|
||||||
// );
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 上传
|
// 上传
|
||||||
|
|
|
@ -152,12 +152,20 @@ function reducer(state, action) {
|
||||||
|
|
||||||
// 新建/编辑兑换弹窗
|
// 新建/编辑兑换弹窗
|
||||||
const UseExchangeCodePop = (props) => {
|
const UseExchangeCodePop = (props) => {
|
||||||
const { title, closeDraw, time, direct_reseller_id, showProductPop } = props;
|
const {
|
||||||
|
title,
|
||||||
|
closeDraw,
|
||||||
|
time,
|
||||||
|
direct_reseller_id,
|
||||||
|
showProductPop,
|
||||||
|
exChangeTableData,
|
||||||
|
} = props;
|
||||||
const code_info = useRef(null);
|
const code_info = useRef(null);
|
||||||
const code_rule = useRef(null);
|
const code_rule = useRef(null);
|
||||||
const [state, dispatch] = useReducer(reducer, initData);
|
const [state, dispatch] = useReducer(reducer, initData);
|
||||||
const [newGoodsBtnLoading, setNewGoodsBtnLoading] = useState(false);
|
const [newGoodsBtnLoading, setNewGoodsBtnLoading] = useState(false);
|
||||||
const [newGoldLoading, setNewGoldLoading] = useState(false);
|
const [newGoldLoading, setNewGoldLoading] = useState(false);
|
||||||
|
const [editTableBtn, setEditTableBtn] = useState(false);
|
||||||
const rulesForm = {
|
const rulesForm = {
|
||||||
code_name: [{ type: "required", message: "请输入兑换码名称" }],
|
code_name: [{ type: "required", message: "请输入兑换码名称" }],
|
||||||
issued: [
|
issued: [
|
||||||
|
@ -250,7 +258,6 @@ const UseExchangeCodePop = (props) => {
|
||||||
setNewGoldLoading(false);
|
setNewGoldLoading(false);
|
||||||
}
|
}
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
sessionStorage.setItem("productsList", JSON.stringify(res.data.data));
|
|
||||||
if (type === "addProduct") {
|
if (type === "addProduct") {
|
||||||
showProductPop({
|
showProductPop({
|
||||||
type: true,
|
type: true,
|
||||||
|
@ -271,7 +278,29 @@ const UseExchangeCodePop = (props) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const productEditShow = () => {};
|
const productEditShow = (rowData) => {
|
||||||
|
if (direct_reseller_id > 0) {
|
||||||
|
setEditTableBtn(true);
|
||||||
|
let param = {
|
||||||
|
reseller_id: direct_reseller_id,
|
||||||
|
};
|
||||||
|
getProductInfoSelect(param).then((res) => {
|
||||||
|
console.log("res =>", res);
|
||||||
|
setEditTableBtn(false);
|
||||||
|
if (res.code === 200) {
|
||||||
|
showProductPop({
|
||||||
|
type: true,
|
||||||
|
title: "编辑商品",
|
||||||
|
productData: res.data.data,
|
||||||
|
rowData: rowData,
|
||||||
|
addIsType: "addProduct",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Notify.error(`请添加映射分销商`);
|
||||||
|
}
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Drawer
|
<Drawer
|
||||||
|
@ -447,7 +476,7 @@ const UseExchangeCodePop = (props) => {
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem labelname="" prop="range" id="range">
|
<FormItem labelname="" prop="range" id="range">
|
||||||
<BlockLoading
|
<BlockLoading
|
||||||
loading={state.tableLoading}
|
loading={editTableBtn}
|
||||||
iconSize={16}
|
iconSize={16}
|
||||||
textSize={12}
|
textSize={12}
|
||||||
icon="circle"
|
icon="circle"
|
||||||
|
@ -457,7 +486,7 @@ const UseExchangeCodePop = (props) => {
|
||||||
headBackgroud="#f9fafc"
|
headBackgroud="#f9fafc"
|
||||||
isShowPageBar={false}
|
isShowPageBar={false}
|
||||||
spliteColor={"#fff"}
|
spliteColor={"#fff"}
|
||||||
tableData={state.tempdata}
|
tableData={exChangeTableData}
|
||||||
value={state.tempdata}
|
value={state.tempdata}
|
||||||
Column={Column2}
|
Column={Column2}
|
||||||
maxheight={200}
|
maxheight={200}
|
||||||
|
|
|
@ -318,7 +318,7 @@ function reducerPlanKey(state, action) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const UsePlanCardStep02 = forwardRef((props, ref) => {
|
const UsePlanCardStep02 = forwardRef((props, ref) => {
|
||||||
const { showExchangeCodePop, time } = props;
|
const { showExchangeCodePop } = props;
|
||||||
const exchangeColumn = [
|
const exchangeColumn = [
|
||||||
{
|
{
|
||||||
title: "兑换名称",
|
title: "兑换名称",
|
||||||
|
|
|
@ -126,11 +126,10 @@ const reducer = (state, action) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const UseProductForm = forwardRef((props, ref) => {
|
const UseProductForm = forwardRef((props, ref) => {
|
||||||
const { productData } = props;
|
const { productData, exChangeTableData } = props; // 所有的商品数据
|
||||||
const [model, dispatch] = useReducer(reducer, initState); // form 表单数据
|
const [model, dispatch] = useReducer(reducer, initState); // form 表单数据
|
||||||
const [productOption, setProductOption] = useState([]);
|
const [productOption, setProductOption] = useState([]);
|
||||||
const [cur_product, setCur_product] = useState({});
|
const [cur_product, setCur_product] = useState({});
|
||||||
const [productpic, setProductpic] = useState([]);
|
|
||||||
const [logoImg, setLogoImg] = useState([]); // 商品logo
|
const [logoImg, setLogoImg] = useState([]); // 商品logo
|
||||||
const [describeImg, setDescribe_url] = useState([]); // 商品图片
|
const [describeImg, setDescribe_url] = useState([]); // 商品图片
|
||||||
const [detail_url, setDetail_url] = useState([]); // 商品详情图
|
const [detail_url, setDetail_url] = useState([]); // 商品详情图
|
||||||
|
@ -143,6 +142,10 @@ const UseProductForm = forwardRef((props, ref) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
text: item.title,
|
text: item.title,
|
||||||
|
disabled:
|
||||||
|
exChangeTableData.findIndex((items) => {
|
||||||
|
return items.product_id === item.id;
|
||||||
|
}) > -1,
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -279,16 +282,37 @@ const UseProductForm = forwardRef((props, ref) => {
|
||||||
|
|
||||||
const submit = () => {
|
const submit = () => {
|
||||||
if (form1.current.validator()) {
|
if (form1.current.validator()) {
|
||||||
|
// logo 图片校验
|
||||||
|
if (logoImg.length <= 0) {
|
||||||
|
Notify.error(`请上传图片`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 商品图
|
||||||
|
if (describeImg.length <= 0) {
|
||||||
|
Notify.error(`请上传图片`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 图片校验
|
||||||
let param = {
|
let param = {
|
||||||
...model,
|
...model,
|
||||||
describe_url: describeImg.map((item) => {
|
describe_url: describeImg.map((item) => {
|
||||||
return item.src;
|
return item.src;
|
||||||
}),
|
}),
|
||||||
show_url: logoImg[0].src,
|
show_url: logoImg[0].src,
|
||||||
detail_url: detail_url[0].src,
|
upstream: "直连天下",
|
||||||
};
|
};
|
||||||
console.log("验证通过...", param);
|
|
||||||
|
// 商品详情图
|
||||||
|
if (detail_url.length > 0) {
|
||||||
|
param.detail_url = detail_url[0].src;
|
||||||
|
} else {
|
||||||
|
param.detail_url = "";
|
||||||
}
|
}
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
|
|
|
@ -18,22 +18,35 @@ import {
|
||||||
|
|
||||||
import UseProductForm from "@/components/UseProductForm/index";
|
import UseProductForm from "@/components/UseProductForm/index";
|
||||||
import KnockGold from "@/components/knockGold"; /* 立减金 */
|
import KnockGold from "@/components/knockGold"; /* 立减金 */
|
||||||
|
import { useEffect } from "react";
|
||||||
|
|
||||||
const UseProductPop = (props) => {
|
const UseProductPop = (props) => {
|
||||||
const { title, closeDraw, productData, addIsType } = props;
|
const {
|
||||||
|
title,
|
||||||
|
closeDraw,
|
||||||
|
productData,
|
||||||
|
addIsType,
|
||||||
|
getTableData,
|
||||||
|
exChangeTableData,
|
||||||
|
} = props;
|
||||||
const product = useRef(null);
|
const product = useRef(null);
|
||||||
const knockGold = useRef(null);
|
const knockGold = useRef(null);
|
||||||
const productSubmit = async () => {
|
const productSubmit = async () => {
|
||||||
let visible = false;
|
|
||||||
if (addIsType === "addProduct") {
|
if (addIsType === "addProduct") {
|
||||||
visible = await product.current.submit();
|
let res = await product.current.submit();
|
||||||
} else {
|
if (res) {
|
||||||
visible = await knockGold.current.submit();
|
getTableData(res);
|
||||||
|
closeDraw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const closeDrawPop = () => {
|
const closeDrawPop = () => {
|
||||||
closeDraw();
|
closeDraw();
|
||||||
};
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
console.log("productData =>", productData);
|
||||||
|
console.log("exChangeTableData =>", exChangeTableData);
|
||||||
|
}, []);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Drawer
|
<Drawer
|
||||||
|
@ -69,7 +82,11 @@ const UseProductPop = (props) => {
|
||||||
ref={knockGold}
|
ref={knockGold}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<UseProductForm productData={productData} ref={product} />
|
<UseProductForm
|
||||||
|
productData={productData}
|
||||||
|
exChangeTableData={exChangeTableData}
|
||||||
|
ref={product}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,6 +66,7 @@ const UseOneCopy = () => {
|
||||||
const [direct_reseller_id, setDirect_reseller_id] = useState(23377);
|
const [direct_reseller_id, setDirect_reseller_id] = useState(23377);
|
||||||
const [whiteStyle, setWhiteStyle] = useState(false);
|
const [whiteStyle, setWhiteStyle] = useState(false);
|
||||||
const [newPlanTime, setNewPlanTime] = useState([]);
|
const [newPlanTime, setNewPlanTime] = useState([]);
|
||||||
|
const [exChangeTableData, setExChangeTableData] = useState([]);
|
||||||
|
|
||||||
const [statePop, setStatePop] = useState({
|
const [statePop, setStatePop] = useState({
|
||||||
type: true,
|
type: true,
|
||||||
|
@ -137,6 +138,14 @@ const UseOneCopy = () => {
|
||||||
setStatePop({ type: false });
|
setStatePop({ type: false });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 改变商品table
|
||||||
|
const changeProductTable = (e) => {
|
||||||
|
let new_data = exChangeTableData.slice(0);
|
||||||
|
new_data.push(e);
|
||||||
|
console.log("new_data =>", new_data);
|
||||||
|
setExChangeTableData(new_data);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="plan-add">
|
<div className="plan-add">
|
||||||
<div className="plan-left">
|
<div className="plan-left">
|
||||||
|
@ -243,6 +252,7 @@ const UseOneCopy = () => {
|
||||||
direct_reseller_id={direct_reseller_id}
|
direct_reseller_id={direct_reseller_id}
|
||||||
showProductPop={(e) => setProductPop(e)}
|
showProductPop={(e) => setProductPop(e)}
|
||||||
closeDraw={() => closeDraw()}
|
closeDraw={() => closeDraw()}
|
||||||
|
exChangeTableData={exChangeTableData}
|
||||||
></UseExchangeCodePop>
|
></UseExchangeCodePop>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
|
@ -250,8 +260,10 @@ const UseOneCopy = () => {
|
||||||
<UseProductPop
|
<UseProductPop
|
||||||
title={productPop.title}
|
title={productPop.title}
|
||||||
productData={productPop.productData}
|
productData={productPop.productData}
|
||||||
|
exChangeTableData={exChangeTableData}
|
||||||
addIsType={productPop.addIsType}
|
addIsType={productPop.addIsType}
|
||||||
closeDraw={() => setProductPop({ type: false })}
|
closeDraw={() => setProductPop({ type: false })}
|
||||||
|
getTableData={(e) => changeProductTable(e)}
|
||||||
></UseProductPop>
|
></UseProductPop>
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue