|
@@ -1,39 +1,5 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
- <div class="table-page-search-wrapper" v-show="showDescBox">
|
|
|
|
- <a-row v-if="descDetail" type="flex" justify="start">
|
|
|
|
- <a-col span="6" style="padding: 6px;">
|
|
|
|
- <span>促销类型:</span>
|
|
|
|
- {{ descDetail.promotionRuleTypeDictValue||'--' }}
|
|
|
|
- </a-col>
|
|
|
|
- <a-col span="18" style="padding: 6px;">
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <span>促销门槛:</span>
|
|
|
|
- <div v-if="descDetail.gateFlag === '1'">
|
|
|
|
- {{ descDetail.gateInfo }}
|
|
|
|
- </div>
|
|
|
|
- <span v-else>无</span>
|
|
|
|
- </div>
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <div v-if="descDetail.promotionRuleType!='PROMO_PROD'&&descDetail.promotionRuleType!='BUY_PROD_GIVE_MONEY'">
|
|
|
|
- <span style="margin-left: 50px;">限制正价产品款数:</span>{{ descDetail.restrictCategory||'无' }}
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <span style="margin-left: 50px;">订单起订金额(元):</span>{{ descDetail.minOrderAmount||'无' }}
|
|
|
|
- <span style="margin-left: 50px;">活动经费上限(元):</span>{{ descDetail.upperLimitAmount||'无' }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </a-col>
|
|
|
|
- <a-col span="24" style="padding: 6px;">
|
|
|
|
- <div style="display: flex;">
|
|
|
|
- <span>促销规则:</span>
|
|
|
|
- <div class="ruleInfo" v-html="descDetail.ruleInfo"></div>
|
|
|
|
- </div>
|
|
|
|
- </a-col>
|
|
|
|
- </a-row>
|
|
|
|
- </div>
|
|
|
|
<!-- 筛选条件 -->
|
|
<!-- 筛选条件 -->
|
|
<div class="table-page-search-wrapper" style="margin:0" v-show="showSearchBox">
|
|
<div class="table-page-search-wrapper" style="margin:0" v-show="showSearchBox">
|
|
<a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
|
|
<a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
|
|
@@ -83,13 +49,12 @@
|
|
class="button-info"
|
|
class="button-info"
|
|
@click="showSearchBox=!showSearchBox" ><a-icon :type="showSearchBox?'close':'search'"/> 筛选</a-button>
|
|
@click="showSearchBox=!showSearchBox" ><a-icon :type="showSearchBox?'close':'search'"/> 筛选</a-button>
|
|
<!-- // 操作按钮 -->
|
|
<!-- // 操作按钮 -->
|
|
- <!-- <a-button type="link" class="button-info" @click="searchThreeStock" id="salesEdit-updateStock"><a-icon type="redo"/>第三方库存</a-button> -->
|
|
|
|
<a-dropdown>
|
|
<a-dropdown>
|
|
<a-menu slot="overlay" @click="handleMenuClick" :id="'salesEdit-menu-'+id">
|
|
<a-menu slot="overlay" @click="handleMenuClick" :id="'salesEdit-menu-'+id">
|
|
- <a-menu-item key="3" :disabled="disablePromo" :id="'salesEdit-menu-3-'+id">
|
|
|
|
|
|
+ <a-menu-item key="3" :id="'salesEdit-menu-3-'+id">
|
|
全部仓库设置
|
|
全部仓库设置
|
|
</a-menu-item>
|
|
</a-menu-item>
|
|
- <a-menu-item key="0" :disabled="disablePromo" :id="'salesEdit-menu-0-'+id">
|
|
|
|
|
|
+ <a-menu-item key="0" :id="'salesEdit-menu-0-'+id">
|
|
部分仓库设置
|
|
部分仓库设置
|
|
</a-menu-item>
|
|
</a-menu-item>
|
|
<a-menu-divider />
|
|
<a-menu-divider />
|
|
@@ -100,7 +65,7 @@
|
|
全部删除
|
|
全部删除
|
|
</a-menu-item>
|
|
</a-menu-item>
|
|
<a-menu-divider />
|
|
<a-menu-divider />
|
|
- <a-menu-item key="4" :disabled="disablePromo" :id="'salesEdit-menu-4-'+id">
|
|
|
|
|
|
+ <a-menu-item key="4" :id="'salesEdit-menu-4-'+id">
|
|
批量取消促销
|
|
批量取消促销
|
|
</a-menu-item>
|
|
</a-menu-item>
|
|
</a-menu>
|
|
</a-menu>
|
|
@@ -110,34 +75,6 @@
|
|
class="button-info"
|
|
class="button-info"
|
|
> 批量操作 <a-icon type="down" /> </a-button>
|
|
> 批量操作 <a-icon type="down" /> </a-button>
|
|
</a-dropdown>
|
|
</a-dropdown>
|
|
- <!-- 导入操作 -->
|
|
|
|
- <a-dropdown :disabled="disablePromo">
|
|
|
|
- <a-menu slot="overlay" @click="handleImportClick" :id="'salesEdit-menu-import-'+id">
|
|
|
|
- <a-menu-item :id="'salesEdit-menu-import-gate-'+id" key="GATE" v-if="promo&&promo.promotionRule&&promo.promotionRule.gateFlag==='1'">
|
|
|
|
- 导入门槛产品
|
|
|
|
- </a-menu-item>
|
|
|
|
- <a-menu-item :id="'salesEdit-menu-import-regular-'+id" key="REGULAR" v-if="promo&&promo.promotionRule&&promo.promotionRule.promotionRuleType!='PROMO_PROD'">
|
|
|
|
- 导入正价产品
|
|
|
|
- </a-menu-item>
|
|
|
|
- <a-menu-item :id="'salesEdit-menu-import-gift-'+id" key="GIFT" v-if="promo&&promo.promotionRule&&(promo.promotionRule.regularPromotionSameFlag==='0'||promo.promotionRule.scopeFlag==='0'||(promo.promotionRule.promotionRuleType=='BUY_PROD_GIVE_MONEY'&&promo.promotionRule.scopeFlag==='1'))">
|
|
|
|
- 导入促销产品
|
|
|
|
- </a-menu-item>
|
|
|
|
- <a-menu-item :id="'salesEdit-menu-import-discount-'+id" key="DISCOUNT" v-if="promo&&promo.promotionRule&&promo.promotionRule.promotionRuleType=='PROMO_PROD'">
|
|
|
|
- 导入特价产品
|
|
|
|
- </a-menu-item>
|
|
|
|
- </a-menu>
|
|
|
|
- <a-button
|
|
|
|
- :id="'salesEdit-menu-import-plaction-'+id"
|
|
|
|
- type="link"
|
|
|
|
- :class="disablePromo?'button-gray':'button-info'"
|
|
|
|
- > 导入产品 <a-icon type="down" /> </a-button>
|
|
|
|
- </a-dropdown>
|
|
|
|
- <a-button
|
|
|
|
- :id="'salesEdit-menu-newProduct-'+id"
|
|
|
|
- type="link"
|
|
|
|
- :class="disablePromo?'button-gray':'button-info'"
|
|
|
|
- :disabled="disablePromo"
|
|
|
|
- @click="openCpModal"><a-icon type="plus" /> 添加产品</a-button>
|
|
|
|
</a-col>
|
|
</a-col>
|
|
</a-row>
|
|
</a-row>
|
|
</div>
|
|
</div>
|
|
@@ -272,13 +209,6 @@
|
|
</template>
|
|
</template>
|
|
</s-table>
|
|
</s-table>
|
|
|
|
|
|
- <!-- 导入产品 -->
|
|
|
|
- <importGuideModal
|
|
|
|
- :openModal="openGuideModal"
|
|
|
|
- :params="{salesBillSn: $route.params.sn, salesPromoSn: promo.salesPromoSn}"
|
|
|
|
- :promoProductClz="promoProductClz"
|
|
|
|
- @close="closeGuideModel"
|
|
|
|
- @ok="hanldeImportOk" />
|
|
|
|
<!-- 仓库设置 -->
|
|
<!-- 仓库设置 -->
|
|
<setWarehouse :title="warehouseTit" :show="openWarehouseModal" @ok="chooseWarehouseOk" @cancel="openWarehouseModal=false"></setWarehouse>
|
|
<setWarehouse :title="warehouseTit" :show="openWarehouseModal" @ok="chooseWarehouseOk" @cancel="openWarehouseModal=false"></setWarehouse>
|
|
<!-- 换促销 -->
|
|
<!-- 换促销 -->
|
|
@@ -289,7 +219,6 @@
|
|
<script>
|
|
<script>
|
|
import { commonMixin } from '@/utils/mixin'
|
|
import { commonMixin } from '@/utils/mixin'
|
|
import { STable, VSelect } from '@/components'
|
|
import { STable, VSelect } from '@/components'
|
|
-import ImportGuideModal from './importGuideModal.vue'
|
|
|
|
import setWarehouse from './setWarehouse.vue'
|
|
import setWarehouse from './setWarehouse.vue'
|
|
import updateActiveModal from './updateActiveModal.vue'
|
|
import updateActiveModal from './updateActiveModal.vue'
|
|
import chooseWarehouse from '@/views/common/chooseWarehouse'
|
|
import chooseWarehouse from '@/views/common/chooseWarehouse'
|
|
@@ -303,8 +232,7 @@ import {
|
|
salesDetailDel,
|
|
salesDetailDel,
|
|
salesDetailBatchDel,
|
|
salesDetailBatchDel,
|
|
deleteAll,
|
|
deleteAll,
|
|
- updateWarehouse,
|
|
|
|
- salesBatchInsert
|
|
|
|
|
|
+ updateWarehouse
|
|
} from '@/api/salesDetailNew'
|
|
} from '@/api/salesDetailNew'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -313,8 +241,6 @@ export default {
|
|
components: {
|
|
components: {
|
|
STable,
|
|
STable,
|
|
VSelect,
|
|
VSelect,
|
|
- // 导入弹框组件
|
|
|
|
- ImportGuideModal,
|
|
|
|
chooseWarehouse,
|
|
chooseWarehouse,
|
|
setWarehouse, // 设置仓库组件
|
|
setWarehouse, // 设置仓库组件
|
|
ProductBrand, // 产品品牌组件
|
|
ProductBrand, // 产品品牌组件
|
|
@@ -327,6 +253,10 @@ export default {
|
|
default: false
|
|
default: false
|
|
},
|
|
},
|
|
newLoading: Boolean,
|
|
newLoading: Boolean,
|
|
|
|
+ activeList: {
|
|
|
|
+ type: Array,
|
|
|
|
+ default: () => []
|
|
|
|
+ },
|
|
// 详情数据
|
|
// 详情数据
|
|
detailData: {
|
|
detailData: {
|
|
type: Object,
|
|
type: Object,
|
|
@@ -359,7 +289,6 @@ export default {
|
|
// 加载数据方法 必须为 Promise 对象
|
|
// 加载数据方法 必须为 Promise 对象
|
|
loadData: parameter => {
|
|
loadData: parameter => {
|
|
this.disabled = true
|
|
this.disabled = true
|
|
- this.disablePromo = this.promo.disabled
|
|
|
|
this.queryParam.salesBillSn = this.salesBillSn || ''
|
|
this.queryParam.salesBillSn = this.salesBillSn || ''
|
|
this.getCount()
|
|
this.getCount()
|
|
return salesDetailList(Object.assign(parameter, this.queryParam, {
|
|
return salesDetailList(Object.assign(parameter, this.queryParam, {
|
|
@@ -392,9 +321,7 @@ export default {
|
|
})
|
|
})
|
|
},
|
|
},
|
|
showSearchBox: false, // 是否显示筛选条件
|
|
showSearchBox: false, // 是否显示筛选条件
|
|
- showDescBox: false, // 收起展开规则详细
|
|
|
|
openWarehouseModal: false, // 打开仓库设置
|
|
openWarehouseModal: false, // 打开仓库设置
|
|
- openGuideModal: false, // 导入产品引导
|
|
|
|
delLoading: false, // 删除logding
|
|
delLoading: false, // 删除logding
|
|
disabled: false, // 查询、重置按钮是否可操作
|
|
disabled: false, // 查询、重置按钮是否可操作
|
|
queryParam: {
|
|
queryParam: {
|
|
@@ -411,8 +338,6 @@ export default {
|
|
warehouseDataList: [], // 仓库列表数据
|
|
warehouseDataList: [], // 仓库列表数据
|
|
openUpActiveModal: false, // 更换促销活动弹框
|
|
openUpActiveModal: false, // 更换促销活动弹框
|
|
descDetail: null, // 规则详细数据
|
|
descDetail: null, // 规则详细数据
|
|
- promoProductClz: null, // 活动产品分类
|
|
|
|
- disablePromo: false, // 是否禁用活动
|
|
|
|
countData: null, // 统计信息
|
|
countData: null, // 统计信息
|
|
warehouseTit: '', // 仓库设置唐卡标题
|
|
warehouseTit: '', // 仓库设置唐卡标题
|
|
showStockCol: false // 第三方库存是否显示
|
|
showStockCol: false // 第三方库存是否显示
|
|
@@ -484,18 +409,6 @@ export default {
|
|
this.showStockCol = true
|
|
this.showStockCol = true
|
|
this.resetSearchForm()
|
|
this.resetSearchForm()
|
|
},
|
|
},
|
|
- // 显示规则详细
|
|
|
|
- showDesc (descDetail) {
|
|
|
|
- this.showDescBox = !this.showDescBox
|
|
|
|
- this.descDetail = descDetail
|
|
|
|
- this.descDetail.gateValue = Number(this.descDetail.gateValue).toFixed(2)
|
|
|
|
- this.descDetail.quotaAmount = Number(this.descDetail.quotaAmount).toFixed(2)
|
|
|
|
- this.$emit('showDesc', this.showDescBox)
|
|
|
|
- },
|
|
|
|
- // 打开产品弹框
|
|
|
|
- openCpModal () {
|
|
|
|
- this.$emit('openCpModal', 1, this.id, this.countData)
|
|
|
|
- },
|
|
|
|
// 表格选中项
|
|
// 表格选中项
|
|
rowSelectionFun (obj) {
|
|
rowSelectionFun (obj) {
|
|
this.rowSelectionInfo = obj || null
|
|
this.rowSelectionInfo = obj || null
|
|
@@ -506,10 +419,6 @@ export default {
|
|
this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
|
|
this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
|
|
this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
|
|
this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
|
|
},
|
|
},
|
|
- // 禁用活动
|
|
|
|
- disableActive (flag) {
|
|
|
|
- this.disablePromo = flag
|
|
|
|
- },
|
|
|
|
// 统计
|
|
// 统计
|
|
getCount () {
|
|
getCount () {
|
|
salesPromoDetailCount(Object.assign(this.queryParam, {
|
|
salesPromoDetailCount(Object.assign(this.queryParam, {
|
|
@@ -773,84 +682,6 @@ export default {
|
|
this.openUpActiveModal = false
|
|
this.openUpActiveModal = false
|
|
this.$refs.table.clearSelected()
|
|
this.$refs.table.clearSelected()
|
|
this.$refs.table.refresh(false)
|
|
this.$refs.table.refresh(false)
|
|
- },
|
|
|
|
- // 添加产品
|
|
|
|
- insterProduct (row, promotionFlag, promoProductClz) {
|
|
|
|
- // 防止多次添加产品
|
|
|
|
- if (this.isInster) { return }
|
|
|
|
- this.saveNewProduct(row, promotionFlag, promoProductClz)
|
|
|
|
- },
|
|
|
|
- // 保存添加的产品到销售列表
|
|
|
|
- saveNewProduct (row, promotionFlag, promoProductClz) {
|
|
|
|
- this.$message.loading('正在添加产品...', 1)
|
|
|
|
- this.isInster = true
|
|
|
|
- this.spinning = true
|
|
|
|
- const params = {
|
|
|
|
- salesPromoSn: this.promo.salesPromoSn,
|
|
|
|
- promoRuleSn: this.promo.promoRuleSn,
|
|
|
|
- promoSn: this.promo.promoSn,
|
|
|
|
- promoProductClz: promoProductClz,
|
|
|
|
- packQty: row.productPackQty,
|
|
|
|
- productSn: row.productSn,
|
|
|
|
- showCost: row.lastStockCost,
|
|
|
|
- price: row.productPrice,
|
|
|
|
- origPrice: row.origPrice,
|
|
|
|
- promotionGiftsAmount: 0,
|
|
|
|
- usePromotionGiftsAmount: 0,
|
|
|
|
- qty: row.salesNums,
|
|
|
|
- salesBillSn: this.detailData.salesBillSn,
|
|
|
|
- salesBillNo: this.detailData.salesBillNo,
|
|
|
|
- purchaseBillSn: this.detailData.purchaseBillSn,
|
|
|
|
- purchaseBillNo: this.detailData.purchaseBillNo,
|
|
|
|
- priceLevel: row.priceLevel,
|
|
|
|
- stockSn: row.stockSn,
|
|
|
|
- promotableFlag: row.isJoinActivityProduct || 0, // 可促销标记 有活动的传1,没活动的传0
|
|
|
|
- promotionFlag: promotionFlag, // 促销标记 正品传0,促销品传1
|
|
|
|
- warehouseSn: row.warehouseSn
|
|
|
|
- }
|
|
|
|
- salesDetailInsert(params).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
- this.$message.success('产品添加成功', 2.5)
|
|
|
|
- this.resetSearchForm(true)
|
|
|
|
- this.$emit('insterOk', 'promo')
|
|
|
|
- }
|
|
|
|
- this.spinning = false
|
|
|
|
- this.isInster = false
|
|
|
|
- }).catch(err => {
|
|
|
|
- this.isInster = false
|
|
|
|
- this.spinning = false
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- // 导入产品
|
|
|
|
- handleImportClick (e) {
|
|
|
|
- console.log(e)
|
|
|
|
- this.openGuideModal = true
|
|
|
|
- this.promoProductClz = e.key
|
|
|
|
- },
|
|
|
|
- // 关闭导入弹框
|
|
|
|
- closeGuideModel () {
|
|
|
|
- this.openGuideModal = false
|
|
|
|
- this.promoProductClz = ''
|
|
|
|
- },
|
|
|
|
- // 批量导入产品
|
|
|
|
- hanldeImportOk (data, salesPromoSn) {
|
|
|
|
- const params = {
|
|
|
|
- salesBillSn: this.detailData.salesBillSn,
|
|
|
|
- salesBillDetailList: data
|
|
|
|
- }
|
|
|
|
- // 活动导入
|
|
|
|
- if (salesPromoSn) {
|
|
|
|
- params.salesPromoSn = salesPromoSn
|
|
|
|
- params.promoRuleSn = this.promo.promoRuleSn
|
|
|
|
- params.promoProductClz = this.promoProductClz
|
|
|
|
- }
|
|
|
|
- salesBatchInsert(params).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
- this.$message.success('产品导入成功', 2.5)
|
|
|
|
- this.resetSearchForm(true)
|
|
|
|
- this.$emit('insterOk', 'promo')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|