Commit 0b6edb15 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

feat: 新增商品页面添加删除SKU组合行功能

parent 019249fb
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
"@umijs/plugin-esbuild": "^1.0.1", "@umijs/plugin-esbuild": "^1.0.1",
"@umijs/preset-react": "1.x", "@umijs/preset-react": "1.x",
"@umijs/test": "^3.2.0", "@umijs/test": "^3.2.0",
"antd": "^4.15.1", "antd": "4.15.1",
"antd-dayjs-webpack-plugin": "^1.0.6", "antd-dayjs-webpack-plugin": "^1.0.6",
"antd-img-crop": "^3.12.0", "antd-img-crop": "^3.12.0",
"babel-plugin-lodash": "^3.3.4", "babel-plugin-lodash": "^3.3.4",
......
...@@ -669,6 +669,7 @@ export default { ...@@ -669,6 +669,7 @@ export default {
'commodity.products.addProductsItem.priceAttributeForm.option':'Operation', 'commodity.products.addProductsItem.priceAttributeForm.option':'Operation',
'commodity.products.addProductsItem.priceAttributeForm.button.1':'Set points', 'commodity.products.addProductsItem.priceAttributeForm.button.1':'Set points',
'commodity.products.addProductsItem.priceAttributeForm.button.2':'Set price', 'commodity.products.addProductsItem.priceAttributeForm.button.2':'Set price',
'commodity.products.addProductsItem.priceAttributeForm.button.3' : 'Delete',
'commodity.products.addProductsItem.priceAttributeForm.id':'Specification ID', 'commodity.products.addProductsItem.priceAttributeForm.id':'Specification ID',
'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate':'Sub-unit price rate', 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate':'Sub-unit price rate',
'commodity.products.addProductsItem.priceAttributeForm.form.unitId':'Unit', 'commodity.products.addProductsItem.priceAttributeForm.form.unitId':'Unit',
......
...@@ -670,6 +670,7 @@ export default { ...@@ -670,6 +670,7 @@ export default {
'commodity.products.addProductsItem.priceAttributeForm.option' : '조작하다', 'commodity.products.addProductsItem.priceAttributeForm.option' : '조작하다',
'commodity.products.addProductsItem.priceAttributeForm.button.1' : '포인트 설정', 'commodity.products.addProductsItem.priceAttributeForm.button.1' : '포인트 설정',
'commodity.products.addProductsItem.priceAttributeForm.button.2' : '설정 가격', 'commodity.products.addProductsItem.priceAttributeForm.button.2' : '설정 가격',
'commodity.products.addProductsItem.priceAttributeForm.button.3' : '지우다',
'commodity.products.addProductsItem.priceAttributeForm.id' : '사양 ID', 'commodity.products.addProductsItem.priceAttributeForm.id' : '사양 ID',
'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' : '부단가율', 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' : '부단가율',
'commodity.products.addProductsItem.priceAttributeForm.form.unitId' : '유닛', 'commodity.products.addProductsItem.priceAttributeForm.form.unitId' : '유닛',
......
...@@ -670,6 +670,7 @@ export default { ...@@ -670,6 +670,7 @@ export default {
'commodity.products.addProductsItem.priceAttributeForm.option' : '操作', 'commodity.products.addProductsItem.priceAttributeForm.option' : '操作',
'commodity.products.addProductsItem.priceAttributeForm.button.1' : '设置积分', 'commodity.products.addProductsItem.priceAttributeForm.button.1' : '设置积分',
'commodity.products.addProductsItem.priceAttributeForm.button.2' : '设置价格', 'commodity.products.addProductsItem.priceAttributeForm.button.2' : '设置价格',
'commodity.products.addProductsItem.priceAttributeForm.button.3' : '删除',
'commodity.products.addProductsItem.priceAttributeForm.id' : '规格ID', 'commodity.products.addProductsItem.priceAttributeForm.id' : '规格ID',
'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' : '副单价率', 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' : '副单价率',
'commodity.products.addProductsItem.priceAttributeForm.form.unitId' : '单位', 'commodity.products.addProductsItem.priceAttributeForm.form.unitId' : '单位',
......
...@@ -284,11 +284,12 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -284,11 +284,12 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
_col.push({ _col.push({
title: intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.option' }), title: intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.option' }),
dataIndex: 'option', dataIndex: 'option',
width: 100, width: 200,
render: (text, record) => { render: (text, record) => {
return ( return (
<> <>
<Button type='link' onClick={() => clickSetPrice(record)}>{planPrice === 3 ? intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.button.1' }) : intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.button.2' })}</Button> <Button type='link' onClick={() => clickSetPrice(record)}>{planPrice === 3 ? intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.button.1' }) : intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.button.2' })}</Button>
<Button type='link' onClick={() => deleteSetPrice(record)}>{intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.button.3' })}</Button>
</> </>
) )
} }
...@@ -406,7 +407,10 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -406,7 +407,10 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
/* 生成传输数据 */ /* 生成传输数据 */
const constructedPrarams = () => { const constructedPrarams = () => {
let _paramsArray: any[] = []; let _paramsArray: any[] = [];
Array.isArray(combineAttributeArray) ? combineAttributeArray.map((item, index) => { // 非数组情况下默认无组合 从table数据中获取 // 当属性减少的时候 这个combine数组还是之前的 /* code1 */ // console.log(combineAttributeArray, _tableDataSource, tableDataSource)
// 以table数据行数为基准遍历,适应属性组合行被删除
Array.isArray(combineAttributeArray) ? _tableDataSource.map((_tb, index) => { /* code1 */
let item = combineAttributeArray[index]
let _tempArr: any = [] let _tempArr: any = []
Array.isArray(item) ? item.forEach((_item, _index) => { /* code2 */ Array.isArray(item) ? item.forEach((_item, _index) => { /* code2 */
if(_item) { if(_item) {
...@@ -415,7 +419,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -415,7 +419,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
id: attributeObjArr[_index].customerAttributeId, id: attributeObjArr[_index].customerAttributeId,
name: attributeObjArr[_index].attributeName name: attributeObjArr[_index].attributeName
} }
// @fixed bug: 属性名称相同的情况下 只找第一个元素 会出现id异常
let filterData = null let filterData = null
for (let i = 0; i < attributeValObjArr.length; i++) { for (let i = 0; i < attributeValObjArr.length; i++) {
const element = attributeValObjArr[i] const element = attributeValObjArr[i]
...@@ -425,7 +428,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -425,7 +428,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
} }
} }
_tempObject.customerAttributeValue = { _tempObject.customerAttributeValue = {
// @fixed bug: 属性名称相同的情况下 只找第一个元素 会出现id异常
id: filterData?.id ? filterData.id : null, id: filterData?.id ? filterData.id : null,
value: _item value: _item
} }
...@@ -450,14 +452,14 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -450,14 +452,14 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
unitPrice: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.unitPrice' })], unitPrice: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.unitPrice' })],
priceRate: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' })], priceRate: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' })],
id: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.id' })], id: _tableDataSource[index] && _tableDataSource[index][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.id' })],
}) /*带上货品id 带上单价*/ })
}) : _paramsArray.push({ }) : _paramsArray.push({
goodsId: _tableDataSource[0] ? _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.goodsName' })] : 0, goodsId: _tableDataSource[0] ? _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.goodsName' })] : 0,
attributeAndValueList: [], attributeAndValueList: [],
unitPrice: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.unitPrice' })], unitPrice: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.unitPrice' })],
priceRate: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' })], priceRate: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.assistantUniquePriceRate' })],
id: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.id' })], id: _tableDataSource[0] && _tableDataSource[0][intl.formatMessage({ id: 'commodity.products.addProductsItem.priceAttributeForm.id' })],
}) /*带上货品id 带上单价*/ /* code1 end */ }) /* code1 end */
setPriceAttributeParams(_paramsArray) setPriceAttributeParams(_paramsArray)
// console.log(_paramsArray, '_paramsArray') // console.log(_paramsArray, '_paramsArray')
} }
...@@ -511,6 +513,13 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => { ...@@ -511,6 +513,13 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
priceForm.setFieldsValue({ isMemberPrice: false }) priceForm.setFieldsValue({ isMemberPrice: false })
} }
const deleteSetPrice = (record) => {
let newTabeData = [..._tableDataSource]
newTabeData.splice(record['索引'], 1)
_tableDataSource = newTabeData
setTableDataSource(_tableDataSource)
}
const confirmPrice = () => { const confirmPrice = () => {
setPriceForm.validateFields().then(v => { setPriceForm.validateFields().then(v => {
setPriceModalVisible(false) setPriceModalVisible(false)
......
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