|
@@ -6,7 +6,7 @@
|
|
|
<a-row :gutter="15">
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="活动名称">
|
|
|
- <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.shelfName" placeholder="请输入活动名称"/>
|
|
|
+ <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.rewardRuleName" placeholder="请输入活动名称"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
@@ -27,29 +27,29 @@
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="员工姓名">
|
|
|
- <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.shelfName" placeholder="请输入员工姓名"/>
|
|
|
+ <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.userName" placeholder="请输入员工姓名"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="员工手机号码">
|
|
|
- <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.shelfName" placeholder="请输入员工手机号码"/>
|
|
|
+ <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.userMobile" placeholder="请输入员工手机号码"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="订单编号">
|
|
|
- <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.shelfName" placeholder="请输入员工手机号码"/>
|
|
|
+ <a-input id="redPacket-orderNo" allowClear v-model.trim="queryParam.orderNo" placeholder="请输入员工手机号码"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="订单类型">
|
|
|
- <v-select id="redPacket-state" code="SHELF_STATE" v-model="queryParam.state" allowClear placeholder="请选择订单类型"></v-select>
|
|
|
+ <v-select id="redPacket-orderType" code="REWARD_BIZ_TYPE" v-model="queryParam.orderType" allowClear placeholder="请选择订单类型"></v-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
+ <!-- <a-col :md="6" :sm="24">
|
|
|
<a-form-item label="iSCM销售单号">
|
|
|
- <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.shelfName" placeholder="请输入iSCM销售单号"/>
|
|
|
+ <a-input id="redPacket-shelfName" allowClear v-model.trim="queryParam.bizNo" placeholder="请输入iSCM销售单号"/>
|
|
|
</a-form-item>
|
|
|
- </a-col>
|
|
|
+ </a-col> -->
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="红包奖励时间">
|
|
|
<rangeDate ref="rangeDate" @change="dateChange" />
|
|
@@ -57,14 +57,14 @@
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-item label="红包发放状态">
|
|
|
- <v-select id="redPacket-state" code="SHELF_STATE" v-model="queryParam.state" allowClear placeholder="请选择红包发放状态"></v-select>
|
|
|
+ <v-select id="redPacket-rewardStatus" code="REWARD_SEND_STATUS" v-model="queryParam.rewardStatus" allowClear placeholder="请选择红包发放状态"></v-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
|
<a-col :md="6" :sm="24" style="margin-bottom: 10px;">
|
|
|
<a-button type="primary" @click="$refs.table.refresh(true)" id="redPacket-search">查询</a-button>
|
|
|
<a-button type="" @click="reset" id="gredPacket-reset" style="margin-left: 10px;">重置</a-button>
|
|
|
- <a-button type="primary" class="button-warning" id="gredPacket-export" style="margin-left: 10px;">导出</a-button>
|
|
|
+ <a-button type="primary" @click="exportFile" class="button-warning" id="gredPacket-export" style="margin-left: 10px;">导出</a-button>
|
|
|
<a @click="advanced=!advanced" style="margin-left: 8px">
|
|
|
{{ advanced ? '收起' : '展开' }}
|
|
|
<a-icon :type="advanced ? 'up' : 'down'"/>
|
|
@@ -73,15 +73,15 @@
|
|
|
</a-row>
|
|
|
</a-form>
|
|
|
<div class="table-operator">
|
|
|
- <a-button type="primary" class="button-error">批量标记已发</a-button>
|
|
|
+ <a-button type="primary" class="button-error" @click="plPublish">批量标记已发</a-button>
|
|
|
<span v-if="totalChoose">已选{{ totalChoose }}项</span>
|
|
|
</div>
|
|
|
<a-alert type="info" style="margin-bottom:10px">
|
|
|
<div slot="message">
|
|
|
- 售价总计:<strong>{{ totalData&&(totalData.totalRecord || totalData.totalRecord==0) ? totalData.totalRecord : '--' }}</strong>;
|
|
|
- 成本总计:<strong>{{ totalData&&(totalData.totalCategory || totalData.totalCategory==0) ? totalData.totalCategory : '--' }}</strong>;
|
|
|
- 毛利总计:<strong>{{ totalData&&(totalData.totalQty || totalData.totalQty==0) ? totalData.totalQty : '--' }}</strong>;
|
|
|
- 红包金额总计:<strong>{{ totalData&&(totalData.totalPushedQty || totalData.totalPushedQty==0) ? totalData.totalPushedQty : '--' }}</strong>;
|
|
|
+ 售价总计:<strong>{{ totalData&&(totalData.totalTerminalPrice || totalData.totalTerminalPrice==0) ? totalData.totalTerminalPrice : '--' }}</strong>;
|
|
|
+ 成本总计:<strong>{{ totalData&&(totalData.totalCityPrice || totalData.totalCityPrice==0) ? totalData.totalCityPrice : '--' }}</strong>;
|
|
|
+ 毛利总计:<strong>{{ totalData&&(totalData.totalGrossAmount || totalData.totalGrossAmount==0) ? totalData.totalGrossAmount : '--' }}</strong>;
|
|
|
+ 红包金额总计:<strong>{{ totalData&&(totalData.totalRewardAmount || totalData.totalRewardAmount==0) ? totalData.totalRewardAmount : '--' }}</strong>;
|
|
|
</div>
|
|
|
</a-alert>
|
|
|
</div>
|
|
@@ -92,7 +92,7 @@
|
|
|
size="small"
|
|
|
rowKey="id"
|
|
|
:columns="columns"
|
|
|
- :row-selection="{ columnWidth: 40 }"
|
|
|
+ :row-selection="{ columnWidth: 40, getCheckboxProps: record => ({ props: { disabled: record.rewardStatus!='un_paid' } })}"
|
|
|
@rowSelection="rowSelectionFun"
|
|
|
:data="loadData"
|
|
|
:scroll="{ y: tableHeight, x: 1900 }"
|
|
@@ -104,6 +104,7 @@
|
|
|
<template slot="rewardStatus" slot-scope="text, record">
|
|
|
<span v-if="record.rewardStatus=='un_paid'" style="color: #ffaa00;">{{ text }}</span>
|
|
|
<span v-else-if="record.rewardStatus=='paid'" style="color: #55aa00;">{{ text }}</span>
|
|
|
+ <span v-else style="color: #ff0000;">{{ text }}</span>
|
|
|
</template>
|
|
|
<template slot="action" slot-scope="text, record">
|
|
|
<a-button v-if="record.rewardStatus=='un_paid'" size="small" type="link" class="button-info" @click="handlePublish(record)">标记已发</a-button>
|
|
@@ -119,7 +120,8 @@
|
|
|
|
|
|
<script>
|
|
|
import { STable, VSelect } from '@/components'
|
|
|
-import { rewardOrderQueryPage, rewardOrderCancel, cancelRewardBatch, exportRewardOrder, rewardOrderGiveReward, rewardOrderGiveRewardBatch } from '@/api/rewardOrder.js'
|
|
|
+import { rewardOrderQueryPage, rewardOrderCancel, cancelRewardBatch, exportRewardOrder, rewardOrderGiveReward, rewardOrderGiveRewardBatch, rewardOrderQueryCount } from '@/api/rewardOrder.js'
|
|
|
+import { hdExportExcel } from '@/libs/exportExcel'
|
|
|
import dealerList from '@/views/common/dealerList.vue'
|
|
|
import storeList from '@/views/common/storeList.vue'
|
|
|
import rangeDate from '@/views/common/rangeDate.vue'
|
|
@@ -135,10 +137,19 @@ export default {
|
|
|
tableHeight: 0,
|
|
|
// 查询参数
|
|
|
queryParam: {
|
|
|
- state: '', // 货架状态
|
|
|
- settleType: '' // 结算状态
|
|
|
+ rewardRuleName: '',
|
|
|
+ shelfName: '',
|
|
|
+ userName: '',
|
|
|
+ userMobile: '',
|
|
|
+ orderNo: '',
|
|
|
+ orderType: undefined,
|
|
|
+ bizNo: '',
|
|
|
+ rewardStatus: undefined,
|
|
|
+ beginDate: '',
|
|
|
+ endDate: ''
|
|
|
},
|
|
|
itemData: null, // 编辑行数据
|
|
|
+ totalData: null,
|
|
|
// 表头
|
|
|
columns: [
|
|
|
{ title: '序号', dataIndex: 'no', width: '60px', align: 'center' },
|
|
@@ -162,7 +173,8 @@ export default {
|
|
|
// 加载数据方法 必须为 Promise 对象
|
|
|
loadData: parameter => {
|
|
|
this.spinning = true
|
|
|
- return rewardOrderQueryPage(Object.assign(parameter, this.queryParam)).then(res => {
|
|
|
+ const params = Object.assign(parameter, this.queryParam)
|
|
|
+ return rewardOrderQueryPage(params).then(res => {
|
|
|
let data
|
|
|
if (res.status == 200) {
|
|
|
data = res.data
|
|
@@ -172,6 +184,7 @@ export default {
|
|
|
_item.no = no + i + 1
|
|
|
}
|
|
|
}
|
|
|
+ this.getCount(params)
|
|
|
this.spinning = false
|
|
|
return data
|
|
|
})
|
|
@@ -185,6 +198,11 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ getCount (params) {
|
|
|
+ rewardOrderQueryCount(params).then(res => {
|
|
|
+ this.totalData = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
// 表格选中项
|
|
|
rowSelectionFun (obj) {
|
|
|
this.rowSelectionInfo = obj || null
|
|
@@ -205,13 +223,19 @@ export default {
|
|
|
// 重置
|
|
|
reset () {
|
|
|
this.queryParam = {
|
|
|
- shelfName: '', // 货架名称
|
|
|
- state: undefined// 货架状态
|
|
|
+ rewardRuleName: '',
|
|
|
+ shelfName: '',
|
|
|
+ userName: '',
|
|
|
+ userMobile: '',
|
|
|
+ orderNo: '',
|
|
|
+ orderType: undefined,
|
|
|
+ bizNo: '',
|
|
|
+ rewardStatus: undefined,
|
|
|
+ beginDate: '',
|
|
|
+ endDate: ''
|
|
|
}
|
|
|
if (this.advanced) {
|
|
|
this.$refs.rangeDate.resetDate()
|
|
|
- this.queryParam.beginDate = ''
|
|
|
- this.queryParam.endDate = ''
|
|
|
}
|
|
|
this.$refs.table.refresh(true)
|
|
|
},
|
|
@@ -226,6 +250,23 @@ export default {
|
|
|
this.spinning = false
|
|
|
})
|
|
|
},
|
|
|
+ // 批量发布
|
|
|
+ plPublish () {
|
|
|
+ if (this.totalChoose) {
|
|
|
+ this.spinning = true
|
|
|
+ rewardOrderGiveRewardBatch({
|
|
|
+ idList: this.rowSelectionInfo.selectedRowKeys
|
|
|
+ }).then(res => {
|
|
|
+ if (res.status == 200) {
|
|
|
+ this.$message.success(res.message)
|
|
|
+ this.$refs.table.refresh()
|
|
|
+ }
|
|
|
+ this.spinning = false
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message.warning('请选择要批量标记为发布的活动!')
|
|
|
+ }
|
|
|
+ },
|
|
|
// 详情
|
|
|
viewDetail (row) {
|
|
|
this.itemData = row
|
|
@@ -252,6 +293,14 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ // 导出
|
|
|
+ exportFile () {
|
|
|
+ const _this = this
|
|
|
+ _this.spinning = true
|
|
|
+ hdExportExcel(exportRewardOrder, this.queryParam, '红包活动统计', function () {
|
|
|
+ _this.spinning = false
|
|
|
+ })
|
|
|
+ },
|
|
|
pageInit () {
|
|
|
const _this = this
|
|
|
_this.$refs.table.refresh()
|