优化兑换码模块代码
This commit is contained in:
parent
d90f8b6dc4
commit
2c6707d618
|
@ -40,7 +40,7 @@ import { Column2, rulesInfo, codeInfo, init } from "./utils"
|
|||
const initArray = (targetNum) => {
|
||||
return Array.from({ length: targetNum }, (_, index) => index)
|
||||
}
|
||||
|
||||
let code_batch_id = ""
|
||||
export default class exchangeAdd extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
@ -49,6 +49,7 @@ export default class exchangeAdd extends React.Component {
|
|||
|
||||
componentDidMount() {
|
||||
const isState = ~~sessionStorage.getItem("isState") /*复制1 编辑2 */
|
||||
code_batch_id = ~~sessionStorage.getItem("code_id") /* 兑换码id */
|
||||
this.setState({ isState })
|
||||
if (isState === 1) {
|
||||
/* 复制 */
|
||||
|
@ -63,7 +64,6 @@ export default class exchangeAdd extends React.Component {
|
|||
|
||||
/* 编辑处理数据 */
|
||||
editFunction() {
|
||||
let code_batch_id = sessionStorage.getItem("code_id")
|
||||
let approval_id = sessionStorage.getItem("approval_id")
|
||||
let approval_status = sessionStorage.getItem("approval_status")
|
||||
if (Number(approval_id) > 0) {
|
||||
|
@ -281,222 +281,70 @@ export default class exchangeAdd extends React.Component {
|
|||
|
||||
/* 复制处理数据 */
|
||||
copyFunction() {
|
||||
let code_batch_id = sessionStorage.getItem("code_id")
|
||||
let approval_id = sessionStorage.getItem("approval_id")
|
||||
let approval_status = sessionStorage.getItem("approval_status")
|
||||
/* 被复制得兑换码id */
|
||||
let copy_code_id = ~~sessionStorage.getItem("copy_code_id")
|
||||
if (Number(approval_id) > 0) {
|
||||
//此处为审核中
|
||||
getApprovalsInfo(approval_id)
|
||||
.then((res) => {
|
||||
handelResponse(
|
||||
res,
|
||||
(req, msg) => {
|
||||
let resller_obj = {
|
||||
id: req.reseller_id,
|
||||
name: req.reseller_name,
|
||||
company_name: req.company_name,
|
||||
receive_email: req.receive_email
|
||||
}
|
||||
getCodesDetail(code_batch_id)
|
||||
.then((res) => {
|
||||
handelResponse(
|
||||
res,
|
||||
(req, msg) => {
|
||||
let reqCopy = _.cloneDeep(req)
|
||||
const resData = this.transFormData(reqCopy)
|
||||
reqCopy.goods = resData
|
||||
let codeInfo = {
|
||||
code_name: reqCopy.title /* 兑换码名称 count++ */,
|
||||
issued: reqCopy.quantity,
|
||||
stock: reqCopy.stock,
|
||||
describe: reqCopy.describe,
|
||||
date_time: [reqCopy.begin_time, reqCopy.end_time],
|
||||
range: reqCopy.goods
|
||||
}
|
||||
|
||||
//获取分销商
|
||||
getReseller(req.reseller_id).then((res) => {
|
||||
handelResponse(res, (req1, msg) => {
|
||||
req1.receive_email = req1.contact_email[0]
|
||||
this.setState({ reseller: req1 })
|
||||
this.setState({ phone_list: req1.contact_phone })
|
||||
this.setState({ email_list: req1.contact_email })
|
||||
this.setState({
|
||||
direct_reseller_id: req1.direct_reseller_id
|
||||
})
|
||||
this.setState({ plan_time: reqCopy.plan.end_time })
|
||||
//获取分销商
|
||||
getReseller(reqCopy.plan.reseller_id).then((res) => {
|
||||
handelResponse(res, (req1, msg) => {
|
||||
req1.receive_email = req1.contact_email[0]
|
||||
this.setState({
|
||||
reseller: req1,
|
||||
phone_list: req1.contact_phone,
|
||||
email_list: req1.contact_email,
|
||||
direct_reseller_id: req1.direct_reseller_id
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
this.setState({ reseller: resller_obj })
|
||||
this.setState({ isload: true, codeInfo: codeInfo })
|
||||
_.map(reqCopy.goods, (res) => {
|
||||
res.checked = true
|
||||
return res
|
||||
})
|
||||
this.setState({ tempdata: reqCopy.goods || [] })
|
||||
|
||||
req.update_product = [...this.transFormData1(req.update_product)]
|
||||
req.new_product = [...this.transFormData1(req.new_product, true)]
|
||||
|
||||
let codeInfo = {
|
||||
code_name: req.title,
|
||||
issued: req.quantity,
|
||||
stock: req.stock,
|
||||
describe: req.describe,
|
||||
date_time: [req.begin_time, req.end_time],
|
||||
range: req.update_product
|
||||
let a1 = reqCopy.goods.map((item) => {
|
||||
let obj = {
|
||||
...item,
|
||||
in: true
|
||||
}
|
||||
return obj
|
||||
})
|
||||
sessionStorage.setItem("productData", JSON.stringify(a1))
|
||||
sessionStorage.setItem("knockGoldData", JSON.stringify(a1))
|
||||
|
||||
if (req.new_product.length > 0) {
|
||||
req.new_product = _.map(req.new_product, (item) => {
|
||||
item.checked = false
|
||||
return item
|
||||
})
|
||||
codeInfo.range = codeInfo.range.concat(req.new_product)
|
||||
}
|
||||
|
||||
let new_ids = _.map(req.new_product, (o) => {
|
||||
return o.only
|
||||
})
|
||||
|
||||
this.setState({ new_product: new_ids })
|
||||
let delete_product = req.delete_product
|
||||
let payment_direction = req.payment_direction
|
||||
getCodesDetail(code_batch_id)
|
||||
.then((res) => {
|
||||
handelResponse(
|
||||
res,
|
||||
(req, msg) => {
|
||||
codeInfo.stock = req.stock
|
||||
this.setState({ plan_time: req.plan.end_time })
|
||||
let reqCopy = _.cloneDeep(req)
|
||||
const resData = this.transFormData(reqCopy)
|
||||
this.setState({ oldTable: resData })
|
||||
let deleteArr = []
|
||||
|
||||
for (let i = 0; i < delete_product.length; i++) {
|
||||
let deleteData = resData.find(
|
||||
(o) => o.only == delete_product[i]
|
||||
)
|
||||
deleteData.checked = false
|
||||
deleteArr.push(deleteData)
|
||||
}
|
||||
this.setState({ codeInfo: codeInfo })
|
||||
this.setState({ isload: true })
|
||||
codeInfo.range = codeInfo.range.concat(deleteArr)
|
||||
let table = _.map(codeInfo.range, (res) => {
|
||||
let obj = resData.find((o) => o.only == res.only)
|
||||
|
||||
res.usage = obj ? obj.usage : 0
|
||||
res.stock = obj ? obj.stock : res.quantity - res.usage
|
||||
res.checked = res.hasOwnProperty("checked")
|
||||
? res.checked
|
||||
: true
|
||||
if (approval_status == 7 && obj) {
|
||||
res.checked = true
|
||||
}
|
||||
|
||||
return res
|
||||
})
|
||||
|
||||
this.setState({ deleteProduct: [] })
|
||||
|
||||
this.setState({ tempdata: codeInfo.range })
|
||||
|
||||
let arr = []
|
||||
let temp = []
|
||||
_.map(codeInfo.range, (res) => {
|
||||
let obj = {}
|
||||
obj.key = res.only
|
||||
obj.text = res.product_name
|
||||
if (new_ids.indexOf(res.only) < 0) {
|
||||
this.state.oldProduct.push(res.id)
|
||||
}
|
||||
if (
|
||||
table.find((o) => o.only == res.only).checked == true
|
||||
) {
|
||||
temp.push(obj)
|
||||
}
|
||||
arr.push(obj)
|
||||
return obj
|
||||
})
|
||||
|
||||
this.setState({ rankoptions: arr })
|
||||
this.setState({ rank: temp })
|
||||
|
||||
if (payment_direction) {
|
||||
let index =
|
||||
this.state.payment_direction.indexOf(
|
||||
payment_direction
|
||||
)
|
||||
this.setState({ paytype: index + 1 })
|
||||
}
|
||||
sessionStorage.setItem(
|
||||
"productData",
|
||||
JSON.stringify(codeInfo.range)
|
||||
)
|
||||
sessionStorage.setItem(
|
||||
"knockGoldData",
|
||||
JSON.stringify(codeInfo.range)
|
||||
)
|
||||
},
|
||||
(err) => {}
|
||||
)
|
||||
})
|
||||
.catch((err) => {})
|
||||
},
|
||||
(err) => {}
|
||||
)
|
||||
})
|
||||
.catch((err) => {})
|
||||
} else {
|
||||
getCodesDetail(code_batch_id)
|
||||
.then((res) => {
|
||||
handelResponse(
|
||||
res,
|
||||
(req, msg) => {
|
||||
let reqCopy = _.cloneDeep(req)
|
||||
const resData = this.transFormData(reqCopy)
|
||||
reqCopy.goods = resData
|
||||
let codeInfo = {
|
||||
code_name: reqCopy.title /* 兑换码名称 count++ */,
|
||||
issued: reqCopy.quantity,
|
||||
stock: reqCopy.stock,
|
||||
describe: reqCopy.describe,
|
||||
date_time: [reqCopy.begin_time, reqCopy.end_time],
|
||||
range: reqCopy.goods
|
||||
}
|
||||
|
||||
this.setState({ plan_time: reqCopy.plan.end_time })
|
||||
//获取分销商
|
||||
getReseller(reqCopy.plan.reseller_id).then((res) => {
|
||||
handelResponse(res, (req1, msg) => {
|
||||
req1.receive_email = req1.contact_email[0]
|
||||
this.setState({ reseller: req1 })
|
||||
this.setState({ phone_list: req1.contact_phone })
|
||||
this.setState({ email_list: req1.contact_email })
|
||||
this.setState({
|
||||
direct_reseller_id: req1.direct_reseller_id
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
this.setState({ codeInfo: codeInfo })
|
||||
this.setState({ isload: true })
|
||||
_.map(reqCopy.goods, (res) => {
|
||||
res.checked = true
|
||||
return res
|
||||
})
|
||||
this.setState({ tempdata: reqCopy.goods || [] })
|
||||
|
||||
let a1 = reqCopy.goods.map((item) => {
|
||||
let obj = {
|
||||
...item,
|
||||
in: true
|
||||
}
|
||||
return obj
|
||||
})
|
||||
sessionStorage.setItem("productData", JSON.stringify(a1))
|
||||
sessionStorage.setItem("knockGoldData", JSON.stringify(a1))
|
||||
|
||||
let arr = []
|
||||
_.map(reqCopy.goods, (res) => {
|
||||
let obj = {}
|
||||
obj.key = res.only
|
||||
obj.text = res.product_name
|
||||
obj.id = res.id
|
||||
this.state.oldProduct.push(res.id)
|
||||
arr.push(obj)
|
||||
return obj
|
||||
})
|
||||
this.setState({ rankoptions: arr })
|
||||
this.setState({ rank: arr })
|
||||
},
|
||||
(err) => {}
|
||||
)
|
||||
})
|
||||
.catch((err) => {})
|
||||
}
|
||||
let arr = []
|
||||
_.map(reqCopy.goods, (res) => {
|
||||
let obj = {}
|
||||
obj.key = res.only
|
||||
obj.text = res.product_name
|
||||
obj.id = res.id
|
||||
this.state.oldProduct.push(res.id)
|
||||
arr.push(obj)
|
||||
return obj
|
||||
})
|
||||
this.setState({ rankoptions: arr, rank: arr })
|
||||
},
|
||||
(err) => {}
|
||||
)
|
||||
})
|
||||
.catch((err) => {})
|
||||
}
|
||||
|
||||
// 立减金 加款后 商品范围列表数据进行变动
|
||||
|
@ -647,14 +495,9 @@ export default class exchangeAdd extends React.Component {
|
|||
}
|
||||
|
||||
buildData() {
|
||||
let code_batch_id = sessionStorage.getItem("code_id")
|
||||
|
||||
let range = []
|
||||
_.map(this.state.rank, (o) => {
|
||||
// if(this.state.oldProduct.indexOf(o.key) < 0)
|
||||
// {
|
||||
range.push(o.text)
|
||||
// }
|
||||
})
|
||||
let selectData = this.refs.tempdata.getSelectData()
|
||||
let addProduct = selectData.filter((o) => {
|
||||
|
@ -760,7 +603,6 @@ export default class exchangeAdd extends React.Component {
|
|||
return
|
||||
}
|
||||
|
||||
let code_batch_id = sessionStorage.getItem("code_id")
|
||||
let { data } = this.buildData()
|
||||
putCodesBatch(code_batch_id, data).then((res) => {
|
||||
handelResponse(
|
||||
|
@ -794,7 +636,6 @@ export default class exchangeAdd extends React.Component {
|
|||
Notify.error("还有图片上传中,不可提交")
|
||||
return
|
||||
}
|
||||
let code_batch_id = sessionStorage.getItem("code_id")
|
||||
let { data, addProduct, updateProduct } = this.buildData()
|
||||
|
||||
if ([...updateProduct, ...addProduct].length < 1) {
|
||||
|
|
|
@ -173,15 +173,14 @@ export default class acclist extends React.Component {
|
|||
JSON.stringify(param.keyBatch.plan)
|
||||
)
|
||||
sessionStorage.setItem("keybatch_id", param.key_batch_id)
|
||||
sessionStorage.setItem("copy_code_id", param.id)
|
||||
sessionStorage.setItem("key_reseller_id", param.keyBatch.plan.reseller_id)
|
||||
sessionStorage.setItem("approval_id", param.keyBatch.approval_id)
|
||||
} else if (type === 2) {
|
||||
activerou[0].pagetitle = "编辑"
|
||||
activerou[0].items[1].name = `编辑:${param.title}兑换码的商品范围列表`
|
||||
sessionStorage.setItem("code_id", param.id)
|
||||
}
|
||||
|
||||
sessionStorage.setItem("code_id", param?.id)
|
||||
sessionStorage.setItem("isState", type)
|
||||
sessionStorage.setItem("breaknav", JSON.stringify(activerou))
|
||||
sessionStorage.setItem("pathname2", "/home/exchangecode-exchangecodeAdd")
|
||||
|
|
Loading…
Reference in New Issue