|
@@ -7,9 +7,9 @@
|
|
|
<a id="salesEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
|
|
|
<span style="margin: 0 15px;color: #666;font-weight: bold;">单号:{{ detailData&&detailData.salesBillNo }}</span>
|
|
|
<span v-if="detailData&&detailData.salesBillNoSource">(原:{{ detailData&&detailData.salesBillNoSource || '--' }})</span>
|
|
|
- <span style="margin-left:15px;color:#00aaff;cursor:pointer;" @click="showDetail=!showDetail">
|
|
|
- <a-icon title="查看信息" type="eye"/> 查看信息
|
|
|
- </span>
|
|
|
+ <a-button type="link" class="button-default" @click="showDetail=!showDetail">
|
|
|
+ <a-icon :type="showDetail ? 'eye-invisible' : 'eye'"/> {{ showDetail?'隐藏':'查看' }}信息
|
|
|
+ </a-button>
|
|
|
</template>
|
|
|
</a-page-header>
|
|
|
<!-- 单据详情 -->
|
|
@@ -35,6 +35,7 @@
|
|
|
ref="productNormalList"
|
|
|
@insterOk="insterActiveOk"
|
|
|
@openCpModal="openProductModal"
|
|
|
+ :showTotal="activeList.length>0"
|
|
|
:detailData="detailData"
|
|
|
:warehouseSn="warehouseSn"
|
|
|
:salesBillSn="salesBillSn"></productNormalList>
|
|
@@ -79,16 +80,24 @@
|
|
|
<div v-if="detailData">
|
|
|
<div class="totalPrice">总售价:¥<span>{{ toThousands(detailData.totalAmount) }}</span></div>
|
|
|
<div>
|
|
|
- 产品总款数:<strong>{{ detailData.totalCategory }}</strong>;
|
|
|
- 总数量:<strong>{{ detailData.totalQty }}</strong>;
|
|
|
- <span style="margin-right:10px;">优惠金额:<strong>¥{{ toThousands(detailData.totalLossAmount) }}</strong></span>
|
|
|
+ 产品总款数:<strong style="margin-right: 10px;"> {{ detailData.totalCategory }} </strong>
|
|
|
+ 总数量:<strong> {{ detailData.totalQty }} </strong>
|
|
|
+ <span style="margin:0 0 0 10px;" v-if="detailData.totalLossAmount">优惠金额:¥<strong>{{ toThousands(detailData.totalLossAmount) }}</strong></span>
|
|
|
<a-popover title="优惠明细" @visibleChange="(visible)=>{visible&&getPromYhDetail()}">
|
|
|
- <a-button shape="round" size="small">优惠明细</a-button>
|
|
|
+ <a-button shape="round" size="small" v-if="detailData.totalLossAmount">优惠明细</a-button>
|
|
|
<div slot="content">
|
|
|
<div v-if="yhDetail">
|
|
|
- <div class="yhdetail" style="min-width:300px;margin-bottom: 5px;" v-for="(item,index) in yhDetail.promoMapList" :key="index">
|
|
|
+ <div
|
|
|
+ class="yhdetail"
|
|
|
+ style="min-width:300px;margin-bottom: 5px;"
|
|
|
+ v-for="(item,index) in yhDetail.promoMapList"
|
|
|
+ :key="index">
|
|
|
<div class="yhdetail-h" style="font-weight: bold;font-size:14px;">{{ item.title }}</div>
|
|
|
- <div style="padding-left:10px;" v-for="(sitem,sindex) in item.promoRuleMapList" :key="sindex">
|
|
|
+ <div style="padding-left:10px;"
|
|
|
+ v-for="(sitem,sindex) in item.promoRuleMapList"
|
|
|
+ :key="sindex"
|
|
|
+ v-if="sitem.lossAmount"
|
|
|
+ >
|
|
|
<div style="display: flex;justify-content: space-between;">
|
|
|
<span>{{sitem.promotionRuleTypeDictValue}}:</span>
|
|
|
<strong>¥{{ toThousands(sitem.lossAmount) }}</strong>
|
|
@@ -133,6 +142,12 @@
|
|
|
:totalAmount="updataData.totalAmount"
|
|
|
@ok="updatePrice"
|
|
|
@cancel="priceUpdateModal=false"></setPriceModal>
|
|
|
+ <!-- 新活动窗口 -->
|
|
|
+ <newPromoModal
|
|
|
+ :show="showNewActiveModal"
|
|
|
+ :salesBillSn="salesBillSn"
|
|
|
+ :newActiveList="newActiveList"
|
|
|
+ ></newPromoModal>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -142,7 +157,8 @@ import productList from './comps/productList.vue'
|
|
|
import productNormalList from './comps/productNormalList.vue'
|
|
|
import chooseProduct from './comps/chooseProduct.vue'
|
|
|
import setPriceModal from './setPriceModal.vue'
|
|
|
-import { salesDisablePromo, salesChangePromo, salesDetailAddPromo } from '@/api/salesDetailNew'
|
|
|
+import newPromoModal from './newPromoModal.vue'
|
|
|
+import { salesDisablePromo, salesChangePromo } from '@/api/salesDetailNew'
|
|
|
import { salesDetailBySn,salesPromoQueryCount, salesWriteSubmit, submitCheck, updateBatch, salesPromoQueryList, salesQueryUnPartPromo,salesPromoValidaSubmit } from '@/api/salesNew'
|
|
|
export default {
|
|
|
name: 'SalesNewEdit',
|
|
@@ -151,7 +167,8 @@ export default {
|
|
|
setPriceModal,
|
|
|
productList,
|
|
|
chooseProduct,
|
|
|
- productNormalList
|
|
|
+ productNormalList,
|
|
|
+ newPromoModal
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
@@ -171,7 +188,8 @@ export default {
|
|
|
showCpModal: false,
|
|
|
cpCurRefId: '',
|
|
|
disabledActiveOption: null,
|
|
|
- yhDetail: null
|
|
|
+ yhDetail: null,
|
|
|
+ showNewActiveModal: false
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -218,10 +236,10 @@ export default {
|
|
|
// 获取销售单参与的活动列表
|
|
|
async getActiveList(){
|
|
|
const hasNewActive = await salesQueryUnPartPromo({ salesBillSn: this.$route.params.sn }).then(res => res.data)
|
|
|
- this.newActiveList = hasNewActive
|
|
|
// 有新活动
|
|
|
if(hasNewActive.length){
|
|
|
- this.showNewActiveModal(hasNewActive)
|
|
|
+ this.newActiveList = hasNewActive
|
|
|
+ this.showNewActiveModal=true
|
|
|
}
|
|
|
this.activeList = await salesPromoQueryList({ salesBillSn: this.$route.params.sn }).then(res => res.data || [])
|
|
|
this.activeList.map(item => {
|
|
@@ -229,42 +247,8 @@ export default {
|
|
|
this.activeDesKey['search-'+item.promoRuleSn] = false
|
|
|
})
|
|
|
},
|
|
|
- // 新活动确认弹框
|
|
|
- showNewActiveModal(data){
|
|
|
- const _this = this
|
|
|
- let arr = []
|
|
|
- let promoSnList = []
|
|
|
- data.map(item => {
|
|
|
- arr.push(item.title)
|
|
|
- promoSnList.push(item.promotionSn)
|
|
|
- })
|
|
|
- this.$confirm({
|
|
|
- title: '新活动提醒',
|
|
|
- centered: true,
|
|
|
- class:'confirm-center',
|
|
|
- content: <div>
|
|
|
- <div style="padding:10px 0;text-align:center;">
|
|
|
- 系统发布新的促销活动:
|
|
|
- </div>
|
|
|
- <div style="text-align:center;color:#00aaff;">{arr.join(',')}</div>
|
|
|
- <div style="padding:10px 0;text-align:center;">
|
|
|
- 是否将现有产品识别到新的活动中吗?
|
|
|
- </div>
|
|
|
- </div>,
|
|
|
- onOk() {
|
|
|
- salesDetailAddPromo({
|
|
|
- "salesBillSn": _this.salesBillSn,
|
|
|
- "promoSnList": promoSnList
|
|
|
- }).then(res => {
|
|
|
- if(res.status == 200){
|
|
|
- _this.pageInit()
|
|
|
- }else{
|
|
|
- _this.showNewActiveModal(_this.newActiveList)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- onCancel() {},
|
|
|
- });
|
|
|
+ showNewActiveOk(){
|
|
|
+ this.pageInit()
|
|
|
},
|
|
|
// 添加产品,包括正常和活动的产品
|
|
|
closeProductModal(){
|