diff --git a/src/pages/plan/key/edit.js b/src/pages/plan/key/edit.js index 155b3412..b1a220b0 100644 --- a/src/pages/plan/key/edit.js +++ b/src/pages/plan/key/edit.js @@ -1,6 +1,7 @@ +/*此页面 创建中 进行中 审核驳回可编辑 */ + import React from 'react' import { deWeightThree } from '../../../utils' - import { Radio, Card, @@ -149,15 +150,37 @@ export default class acclist extends React.Component { this.setState({ plan_id: req.plan_id }) - this.setState({ pagetitle: '编辑key' }) req.code_batch = req.code_batch ? req.code_batch : [] + this.setState({ pagetitle: '编辑key' }) + + /* 转换数据结构 */ + // req.code_batch.map((item) => { + // item.product?.legal?.map((item1) => { + // item1.type = 1 + // item1.only = item1.product_id + // item1.upstream = '直连天下' + // }) + // item.product?.reduce?.map((item1) => { + // item1.type = 2 + // item1.only = item1.channel_activity_id + // item1.upstream = item.channel === '1' ? '支付宝' : '微信' //上游 + // item1.origin = item1 + // }) + // item.product = [...item.product?.legal, ...item.product?.reduce] + // }) + let temp = [] for (let i = 0; i < req.code_batch.length; i++) { let code_batch = req.code_batch[i] let range = [] for (let j = 0; j < code_batch.product.length; j++) { let product = code_batch.product[j] - range.push(product.product_name) + /* 区分立减金和商品 */ + if (product.type === 1) { + range.push(product.product_name) + } else { + range.push(product.channel) + } } req.code_batch[i].disabled = true req.code_batch[i].checked = true @@ -168,12 +191,36 @@ export default class acclist extends React.Component { if (approval_id > 0) { getApprovalsInfo(approval_id).then((res) => { handelResponse(res, (req, msg) => { + /*当为创建中和审核驳回时 转换数据结构 */ + req.code_batch.map((item) => { + item.product.legal.map((item1) => { + item1.type = 1 + item1.only = item1.product_id + item1.upstream = '直连天下' + }) + item.product.reduce.map((item1) => { + item1.type = 2 + item1.only = item1.channel_activity_id + item1.upstream = item.channel === '1' ? '支付宝' : '微信' //上游 + item1.origin = item1 + }) + item.product = [ + ...item.product.legal, + ...item.product.reduce + ] + }) + for (let i = 0; i < req.code_batch.length; i++) { let code_batch = req.code_batch[i] let range = [] for (let j = 0; j < code_batch.product.length; j++) { let product = code_batch.product[j] - range.push(product.product_name) + /* 区分立减金和商品 */ + if (product.type === 1) { + range.push(product.product_name) + } else { + range.push(product.channel) + } } req.code_batch[i].disabled = false req.code_batch[i].checked = false @@ -443,7 +490,8 @@ export default class acclist extends React.Component { contract_price: item.price, //单价 official_price: item.denomination, //官方价 quantity: (item.all_budget / item.denomination).toFixed(0), //总库存 - edit: 'edit' + edit: 'edit', + origin: item } }) @@ -559,6 +607,7 @@ export default class acclist extends React.Component { if (item.type === 2) { obj.channel_activity_id = item.channel_activity_id //批次号 obj.effectDate = item.effectDate //有效时间 + obj.origin = item.origin // 原始数据 } obj.only = item.only obj.type = item.type @@ -628,6 +677,29 @@ export default class acclist extends React.Component { let formdata = selection.filter((item) => { return !item.hasOwnProperty('disabled') || item.disabled == false }) + + // 转换数据 + let dataCopy = _.cloneDeep(formdata) + dataCopy.map((item) => { + item.products = item.product + }) + + dataCopy.map((item) => + item.products.map(() => { + item.product = { + legal: item.products.filter((item2) => item2.type === 1), + reduce: item.products + .filter((item3) => item3.type === 2) + .map((item4) => item4.origin) + } + }) + ) + + dataCopy.map((item) => { + delete item.products + }) + + //除了创建中 编辑key if (this.state.isEdit) { this.setState({ audit_visible: false }) let approval_id = sessionStorage.getItem('approval_id') @@ -644,7 +716,7 @@ export default class acclist extends React.Component { } if (req.status == 2 || req.status == 3) { let selection = this.refs.bindObj.getSelectData() - let formdata = selection.filter((item) => { + let dataCopy = selection.filter((item) => { return ( !item.hasOwnProperty('disabled') || item.disabled == false ) @@ -652,7 +724,7 @@ export default class acclist extends React.Component { let id = sessionStorage.getItem('keybatch_id') let data = { - code_batch: formdata, + code_batch: dataCopy, reseller_id: this.state.reseller.id, reseller_name: this.state.reseller.name, company_name: this.state.reseller.company_name, @@ -686,7 +758,7 @@ export default class acclist extends React.Component { if (this.state.key_status != 1) { let id = sessionStorage.getItem('keybatch_id') let data = { - code_batch: formdata, + code_batch: dataCopy, reseller_id: this.state.reseller.id, reseller_name: this.state.reseller.name, company_name: this.state.reseller.company_name, @@ -720,7 +792,7 @@ export default class acclist extends React.Component { merge_stock: this.state.model.merge_stock, mobile_excel: this.state.mobile_excel, mobile_repeat: this.state.mobile_repeat, - code_batch: formdata, + code_batch: dataCopy, reseller_id: this.state.reseller.id, reseller_name: this.state.reseller.name, company_name: this.state.reseller.company_name, @@ -781,6 +853,7 @@ export default class acclist extends React.Component { // }) } } else { + //创建中 编辑key let data = { batch_name: this.state.model.batch_name, style: this.state.model.style, @@ -791,7 +864,7 @@ export default class acclist extends React.Component { merge_stock: this.state.model.merge_stock, mobile_excel: this.state.mobile_excel, mobile_repeat: this.state.mobile_repeat, - code_batch: formdata, + code_batch: dataCopy, reseller_id: this.state.reseller.id, reseller_name: this.state.reseller.name, company_name: this.state.reseller.company_name, @@ -943,6 +1016,7 @@ export default class acclist extends React.Component { } rowItemClick(row, rowIndex) { + debugger let codeInfo = { //数据模型不可少 code_name: row.title, @@ -1060,14 +1134,13 @@ export default class acclist extends React.Component { if (this.state.direct_reseller_id > 0) { /* 区分立减金 */ if (row.type === 2) { - const temp = JSON.parse(sessionStorage.getItem('knockGoldData')) - const editData = temp.filter( - (item) => item.channel_activity_id === row.only - ) - + // const temp = JSON.parse(sessionStorage.getItem('knockGoldData')) + // const editData = temp.filter( + // (item) => item.channel_activity_id === row.only + // ) this.setState({ product_title: '编辑立减金', - productData: editData[0], + productData: row.origin, addIsType: 'addKnockGold', drawerVisible2: true })