|
@@ -62,11 +62,22 @@
|
|
|
<div class="main-title">
|
|
|
<div class="title">可置换产品信息</div>
|
|
|
<div>
|
|
|
+ <el-radio-group v-model="isEquivalent" :disabled="orderList.length">
|
|
|
+ <el-radio
|
|
|
+ v-for="item in [
|
|
|
+ { label: '同价置换', value: 0 },
|
|
|
+ { label: '非同价置换', value: 1 }
|
|
|
+ ]"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.value"
|
|
|
+ >{{ item.label }}</el-radio
|
|
|
+ >
|
|
|
+ </el-radio-group>
|
|
|
<el-button size="mini" type="primary" @click="openKeGoodsDialog">选择机型</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="table">
|
|
|
- <el-table :data="keGoodsList" border fit highlight-current-row stripe>
|
|
|
+ <el-table v-show="isEquivalent === 0" :data="keGoodsList" border fit highlight-current-row stripe>
|
|
|
<el-table-column
|
|
|
align="left"
|
|
|
label="物料编码"
|
|
@@ -108,6 +119,100 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+ <el-table v-show="isEquivalent === 1" :data="keGoodsList" border fit highlight-current-row stripe>
|
|
|
+ <el-table-column align="left" label="销售类型" prop="saleTypeCode" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.saleTypeCode"
|
|
|
+ placeholder="请选择"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="handleChange($event, scope.row)"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in saleList" :key="item.saleCode" :label="item.saleName" :value="item.saleCode">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="物料编码"
|
|
|
+ prop="number"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="产品编码"
|
|
|
+ prop="oldNumber"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="产品名称"
|
|
|
+ prop="name"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="规格型号"
|
|
|
+ prop="specification"
|
|
|
+ min-width="350"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="left" label="置换单价" prop="price" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ type="number"
|
|
|
+ v-model.number="scope.row.price"
|
|
|
+ placeholder="请输入"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ @change=""
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="格力折扣" prop="discAmount" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ type="number"
|
|
|
+ v-model.number="scope.row.discAmount"
|
|
|
+ placeholder="请输入"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ @change=""
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="返利类型" prop="walletRebateId" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.walletRebateId"
|
|
|
+ placeholder="请选择"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="handleChangeRebate($event, scope.row)"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in rebateSaletypelist"
|
|
|
+ :key="item.walletRebateId"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.walletRebateId"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="操作" min-width="100" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" @click="deleteKeGoodsList(scope.$index)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</div>
|
|
|
|
|
|
<div class="main-title">
|
|
@@ -200,7 +305,7 @@
|
|
|
<el-table-column
|
|
|
align="left"
|
|
|
label="销售类型"
|
|
|
- prop="saleTypeName"
|
|
|
+ prop="ke_saleTypeName"
|
|
|
min-width="160"
|
|
|
show-overflow-tooltip
|
|
|
></el-table-column>
|
|
@@ -221,7 +326,7 @@
|
|
|
<el-table-column
|
|
|
align="right"
|
|
|
label="单价"
|
|
|
- prop="price"
|
|
|
+ prop="ke_price"
|
|
|
min-width="100"
|
|
|
show-overflow-tooltip
|
|
|
></el-table-column>
|
|
@@ -233,7 +338,7 @@
|
|
|
<el-table-column
|
|
|
align="left"
|
|
|
label="返利类型"
|
|
|
- prop="rebateWalletName"
|
|
|
+ prop="ke_rebateWalletName"
|
|
|
min-width="100"
|
|
|
show-overflow-tooltip
|
|
|
></el-table-column>
|
|
@@ -251,7 +356,7 @@
|
|
|
<el-table-column
|
|
|
align="right"
|
|
|
label="格力折扣"
|
|
|
- prop="discAmount"
|
|
|
+ prop="ke_discAmount"
|
|
|
min-width="100"
|
|
|
show-overflow-tooltip
|
|
|
></el-table-column>
|
|
@@ -591,7 +696,26 @@
|
|
|
<el-input v-model="orderDialog_screenForm.customerNumber" placeholder="请输入经销商编号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="12" :sm="6" :lg="6" class="tr">
|
|
|
+ <el-col :xs="12" :sm="6" :lg="6">
|
|
|
+ <el-form-item prop="priceType" label="价格类型">
|
|
|
+ <el-select
|
|
|
+ v-model="orderDialog_screenForm.priceType"
|
|
|
+ placeholder="请选择价格类型"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in priceTypeLilst"
|
|
|
+ :key="item.priceTypeId"
|
|
|
+ :label="item.priceTypeName"
|
|
|
+ :value="item.priceTypeName"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="24" class="tr">
|
|
|
<el-form-item label="">
|
|
|
<el-button @click="resetOrderDialogScreenForm">清空</el-button>
|
|
|
<el-button type="primary" @click="submitOrderDialogScreenForm">搜索</el-button>
|
|
@@ -726,6 +850,13 @@
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="left"
|
|
|
+ label="价格类型"
|
|
|
+ prop="priceType"
|
|
|
+ min-width="250"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
label="可被置换数量"
|
|
|
prop="refundableQty"
|
|
|
min-width="100"
|
|
@@ -756,8 +887,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { getTypeList } from '@/api/common.js'
|
|
|
+import { getProductPriceListV2 } from '@/api/priceType.js'
|
|
|
+import { getWalletRebateSaletypelist } from '@/api/policy_list'
|
|
|
import { getGoodsList, getOrderList, addDisplace } from '@/api/supply/displace'
|
|
|
-
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -797,7 +930,8 @@ export default {
|
|
|
orderDialog_screenForm: {
|
|
|
id: '',
|
|
|
customerName: '',
|
|
|
- customerNumber: ''
|
|
|
+ customerNumber: '',
|
|
|
+ priceType: ''
|
|
|
},
|
|
|
orderDialog_list: [],
|
|
|
orderDialog_selection: [],
|
|
@@ -809,11 +943,37 @@ export default {
|
|
|
{ label: '基础产品价格表', value: '1' },
|
|
|
{ label: '家用产品价格表', value: '2' },
|
|
|
{ label: '商用产品价格表', value: '3' }
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ isEquivalent: 0,
|
|
|
+ saleList: [],
|
|
|
+ rebateSaletypelist: [],
|
|
|
+ priceTypeLilst: []
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
- created() {},
|
|
|
+ watch: {
|
|
|
+ keGoodsList: {
|
|
|
+ deep: true,
|
|
|
+ handler: function (val, oal) {
|
|
|
+ if (this.orderList.length && this.type === 2) {
|
|
|
+ this.orderList.forEach(item => {
|
|
|
+ item.ke_materialName = val[0].name
|
|
|
+ item.ke_specification = val[0].specification
|
|
|
+ item.ke_refundableQty = ''
|
|
|
+ item.ke_saleTypeName = val[0].saleTypeName
|
|
|
+ item.ke_saleTypeCode = val[0].saleTypeCode
|
|
|
+ item.ke_saleTypeId = val[0].saleTypeId
|
|
|
+ item.ke_price = val[0].price
|
|
|
+ item.ke_rebateWalletName = val[0].rebateWalletName
|
|
|
+ item.ke_walletRebateId = val[0].walletRebateId
|
|
|
+ item.ke_discAmount = val[0].discAmount
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getTypeList()
|
|
|
+ },
|
|
|
|
|
|
methods: {
|
|
|
// 切换置换类型
|
|
@@ -829,7 +989,49 @@ export default {
|
|
|
return true // 不禁用
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+ handleChange(e, row) {
|
|
|
+ if (e) {
|
|
|
+ const item = this.saleList.find(k => e == k.saleCode)
|
|
|
+ if (Object.keys(item).length) {
|
|
|
+ this.$set(row, 'saleTypeName', item.saleName)
|
|
|
+ this.$set(row, 'saleTypeCode', item.saleCode)
|
|
|
+ this.$set(row, 'saleTypeId', item.id)
|
|
|
+ }
|
|
|
+ this.getWalletRebateSaletypelist(e)
|
|
|
+ } else {
|
|
|
+ this.$set(row, 'saleTypeName', '')
|
|
|
+ this.$set(row, 'saleTypeCode', '')
|
|
|
+ this.$set(row, 'saleTypeId', '')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleChangeRebate(e, row) {
|
|
|
+ if (e) {
|
|
|
+ const item = this.rebateSaletypelist.find(k => e == k.walletRebateId)
|
|
|
+ if (Object.keys(item).length) {
|
|
|
+ this.$set(row, 'rebateWalletName', item.name)
|
|
|
+ this.$set(row, 'walletRebateId', item.walletRebateId)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$set(row, 'rebateWalletName', '')
|
|
|
+ this.$set(row, 'walletRebateId', '')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getTypeList() {
|
|
|
+ getTypeList({ pageNum: 1, pageSize: -1 }).then(res => {
|
|
|
+ this.saleList = res.data.records
|
|
|
+ })
|
|
|
+ return this.saleList
|
|
|
+ },
|
|
|
+ getWalletRebateSaletypelist(saleTypeCode) {
|
|
|
+ getWalletRebateSaletypelist({ pageNum: 1, pageSize: -1, saleTypeCode, status: 1 }).then(res => {
|
|
|
+ this.rebateSaletypelist = res.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getProductPriceListV2() {
|
|
|
+ getProductPriceListV2({ pageNum: 1, pageSize: -1 }).then(res => {
|
|
|
+ this.priceTypeLilst = res.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
// 获取列表 - 被置换产品
|
|
|
getBeiGoodsList() {
|
|
|
getGoodsList({
|
|
@@ -1018,6 +1220,13 @@ export default {
|
|
|
}
|
|
|
// 批量置换(单选)
|
|
|
else {
|
|
|
+ this.$set(item, 'saleTypeName', '')
|
|
|
+ this.$set(item, 'saleTypeCode', '')
|
|
|
+ this.$set(item, 'saleTypeId', '')
|
|
|
+ this.$set(item, 'price', 0)
|
|
|
+ this.$set(item, 'discAmount', 0)
|
|
|
+ this.$set(item, 'rebateWalletName', '')
|
|
|
+ this.$set(item, 'walletRebateId', '')
|
|
|
this.keGoodsList = [item]
|
|
|
}
|
|
|
this.closeKeGoodsDialog()
|
|
@@ -1069,6 +1278,7 @@ export default {
|
|
|
}
|
|
|
this.orderDialog_show = true
|
|
|
this.getOrderList()
|
|
|
+ this.getProductPriceListV2()
|
|
|
},
|
|
|
|
|
|
// 关闭弹窗 - 被置换订单
|
|
@@ -1114,6 +1324,13 @@ export default {
|
|
|
item.ke_materialName = this.keGoodsList[0].name
|
|
|
item.ke_specification = this.keGoodsList[0].specification
|
|
|
item.ke_refundableQty = ''
|
|
|
+ item.ke_saleTypeName = this.keGoodsList[0].saleTypeName
|
|
|
+ item.ke_saleTypeCode = this.keGoodsList[0].saleTypeCode
|
|
|
+ item.ke_saleTypeId = this.keGoodsList[0].saleTypeId
|
|
|
+ item.ke_price = this.keGoodsList[0].price
|
|
|
+ item.ke_rebateWalletName = this.keGoodsList[0].rebateWalletName
|
|
|
+ item.ke_walletRebateId = this.keGoodsList[0].walletRebateId
|
|
|
+ item.ke_discAmount = this.keGoodsList[0].discAmount
|
|
|
})
|
|
|
this.orderList = this.orderList.concat(orderList)
|
|
|
}
|
|
@@ -1144,6 +1361,10 @@ export default {
|
|
|
|
|
|
let params = {
|
|
|
type: this.type,
|
|
|
+ newDiscAmount: this.keGoodsList[0].discAmount,
|
|
|
+ newPrice: this.keGoodsList[0].price,
|
|
|
+ saleTypeId: this.keGoodsList[0].saleTypeId,
|
|
|
+ walletId2: this.keGoodsList[0].walletRebateId,
|
|
|
newMaterialIds: this.keGoodsList.map(item => {
|
|
|
return item.id
|
|
|
}),
|
|
@@ -1155,6 +1376,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+ console.log(params, 999)
|
|
|
addDisplace(params).then(res => {
|
|
|
this.$successMsg('提交成功')
|
|
|
this.resetForm()
|
|
@@ -1184,9 +1406,9 @@ export default {
|
|
|
padding-left: 10px;
|
|
|
font-weight: 600;
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .el-radio-group {
|
|
|
- margin-left: 30px;
|
|
|
- }
|
|
|
+.el-radio-group {
|
|
|
+ margin: 0 30px;
|
|
|
}
|
|
|
</style>
|