|
@@ -99,7 +99,7 @@
|
|
|
</template>
|
|
|
<!-- 市价特价 -->
|
|
|
<template slot="cityPrice" slot-scope="text, record">
|
|
|
- <div v-if="record.dataSourceOrigin=='1'">
|
|
|
+ <div v-if="record.dataSourceOrigin=='1'">
|
|
|
<a-input-number
|
|
|
size="small"
|
|
|
style="width:75%;"
|
|
@@ -129,18 +129,18 @@
|
|
|
</template>
|
|
|
<!-- 特约特价 -->
|
|
|
<template slot="specialPrice" slot-scope="text, record">
|
|
|
- <div v-if="record.dataSourceOrigin=='1'">
|
|
|
- <a-input-number
|
|
|
- size="small"
|
|
|
- style="width:75%;"
|
|
|
- v-model="record.specialDiscountPrice"
|
|
|
- :min="0"
|
|
|
- :step="1"
|
|
|
- :precision="2"
|
|
|
- placeholder="请输入"
|
|
|
- :max="record.specialPrice"
|
|
|
- @blur="e=>calculatePrice(e.target.value,record.productScopeSn,'special')"/>
|
|
|
- </div>
|
|
|
+ <div v-if="record.dataSourceOrigin=='1'">
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ style="width:75%;"
|
|
|
+ v-model="record.specialDiscountPrice"
|
|
|
+ :min="0"
|
|
|
+ :step="1"
|
|
|
+ :precision="2"
|
|
|
+ placeholder="请输入"
|
|
|
+ :max="record.specialPrice"
|
|
|
+ @blur="e=>calculatePrice(e.target.value,record.productScopeSn,'special')"/>
|
|
|
+ </div>
|
|
|
<span v-else>--</span>
|
|
|
</template>
|
|
|
<!-- 特约折扣 -->
|
|
@@ -193,9 +193,15 @@
|
|
|
<a-button id="tableType1-add" type="primary" class="button-gray" @click="handleAddRow">+新增一行</a-button>
|
|
|
</div>
|
|
|
<!-- 选择产品品牌 -->
|
|
|
- <chooseBrandModal :openModal="openBrandModal" :chooseData="chooseBrand" @close="openBrandModal=false" @ok="handleBrandOk" />
|
|
|
+ <chooseBrandModal ref="brandBox" :openModal="openBrandModal" :chooseData="chooseBrand" @close="openBrandModal=false" @ok="handleBrandOk" />
|
|
|
<!-- 选择产品分类 -->
|
|
|
- <chooseTypeModal :openModal="openTypeModal" :linkageStatus="false" :chooseData="chooseType" @close="openTypeModal=false" @ok="handleTypeOk" />
|
|
|
+ <chooseTypeModal
|
|
|
+ ref="typeBox"
|
|
|
+ :openModal="openTypeModal"
|
|
|
+ :linkageStatus="false"
|
|
|
+ :chooseData="chooseType"
|
|
|
+ @close="openTypeModal=false"
|
|
|
+ @ok="handleTypeOk" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -258,7 +264,7 @@ export default {
|
|
|
},
|
|
|
// 新增产品 数据
|
|
|
setSourceData (list) {
|
|
|
- this.dataSource=this.dataSource.concat(list)
|
|
|
+ this.dataSource = this.dataSource.concat(list)
|
|
|
},
|
|
|
// 新增一行
|
|
|
handleAddRow () {
|
|
@@ -268,7 +274,7 @@ export default {
|
|
|
if (res.status == 200) {
|
|
|
const newData = {
|
|
|
productScopeSn: res.data,
|
|
|
- dataSourceOrigin:'0',
|
|
|
+ dataSourceOrigin: '0',
|
|
|
productTypeArr: [],
|
|
|
productTypeList: [],
|
|
|
productBrandArr: [],
|
|
@@ -289,6 +295,9 @@ export default {
|
|
|
addClassifyTag (pos, row) {
|
|
|
this.classifyTagIndex = pos
|
|
|
this.openTypeModal = true
|
|
|
+ this.chooseType = this.handleRowData(row)
|
|
|
+ const getArr = this.setTypeShowData()
|
|
|
+ this.$refs.typeBox.handleAllDisabled(getArr)
|
|
|
},
|
|
|
handleTypeOk (mainArr) {
|
|
|
const classifyArr = []
|
|
@@ -336,8 +345,14 @@ export default {
|
|
|
},
|
|
|
// 添加产品品牌
|
|
|
addBrandTag (pos, row) {
|
|
|
- this.brandTagIndex = pos
|
|
|
- this.openBrandModal = true
|
|
|
+ const _this = this
|
|
|
+ _this.brandTagIndex = pos
|
|
|
+ // 每行品牌都是唯一滴
|
|
|
+ const dataList = _this.setShowData('Brand')
|
|
|
+ _this.openBrandModal = true
|
|
|
+ const echoData = _this.handleEchoData('Brand', row.productBrandList)
|
|
|
+ _this.chooseBrand = echoData
|
|
|
+ _this.$refs.brandBox.handleDisabled(dataList)
|
|
|
},
|
|
|
handleBrandOk (conList) {
|
|
|
const newConList = conList.map(con => {
|
|
@@ -348,6 +363,70 @@ export default {
|
|
|
this.dataSource[this.brandTagIndex].productBrandArr = conList
|
|
|
this.dataSource[this.brandTagIndex].productBrandList = newConList
|
|
|
},
|
|
|
+ // 获取回显禁用数据
|
|
|
+ setShowData (name) {
|
|
|
+ const _this = this
|
|
|
+ const snArr = []
|
|
|
+ _this.dataSource.forEach(item => {
|
|
|
+ if (item['product' + name + 'List'] && item['product' + name + 'List'].length > 0) {
|
|
|
+ item['product' + name + 'List'].forEach(con => {
|
|
|
+ const newName = name === 'This' ? '' : name
|
|
|
+ snArr.push(con['product' + newName + 'Sn'])
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return snArr
|
|
|
+ },
|
|
|
+ handleEchoData (name, conArr) {
|
|
|
+ conArr.map(item => {
|
|
|
+ if (name === 'This') {
|
|
|
+ item.code = item.productCode
|
|
|
+ item.goodsSn = item.productSn
|
|
|
+ } else {
|
|
|
+ item.goodsSn = item['product' + name + 'Sn']
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return conArr
|
|
|
+ },
|
|
|
+ handleRowData (row) {
|
|
|
+ const echoData = []
|
|
|
+ row.productTypeList.forEach(item => {
|
|
|
+ for (const i in item) {
|
|
|
+ const newObj = {
|
|
|
+ goodsSn: item[i]
|
|
|
+ }
|
|
|
+ if (i === 'productTypeSn1') {
|
|
|
+ newObj.disabled = true
|
|
|
+ } else {
|
|
|
+ newObj.disableCheckbox = true
|
|
|
+ }
|
|
|
+ echoData.push(newObj)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return echoData
|
|
|
+ },
|
|
|
+ setTypeShowData () {
|
|
|
+ const _this = this
|
|
|
+ const snArr = []
|
|
|
+ _this.dataSource.forEach(item => {
|
|
|
+ if (item.productTypeList && item.productTypeList.length > 0) {
|
|
|
+ item.productTypeList.forEach(con => {
|
|
|
+ for (const i in con) {
|
|
|
+ const newObj = {
|
|
|
+ goodsSn: con[i]
|
|
|
+ }
|
|
|
+ if (i === 'productTypeSn1') {
|
|
|
+ newObj.disabled = true
|
|
|
+ } else {
|
|
|
+ newObj.disableCheckbox = true
|
|
|
+ }
|
|
|
+ snArr.push(newObj)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return snArr
|
|
|
+ },
|
|
|
getResultVal () {
|
|
|
const resultObj = JSON.parse(JSON.stringify(this.dataSource))
|
|
|
resultObj.map(item => {
|