|
@@ -22,25 +22,26 @@
|
|
|
<a-row :gutter="24">
|
|
|
<a-row>
|
|
|
<a-col :span="12">
|
|
|
- <a-form-model-item label="活动名称" prop="activeName">
|
|
|
- <a-input id="redPacket-activeName" allowClear v-model.trim="form.activeName" placeholder="请输入活动名称"/>
|
|
|
+ <a-form-model-item label="活动名称" prop="ruleName">
|
|
|
+ <a-input id="redPacket-ruleName" allowClear :maxLength="100" v-model.trim="form.ruleName" placeholder="请输入活动名称(最多100个字符)"/>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <a-col :span="12">
|
|
|
+ <!-- <a-col :span="12">
|
|
|
<a-form-model-item label="活动截止时间" prop="activeTime" help="活动成发布后即刻开始,无需设置开始时间">
|
|
|
<a-input id="redPacket-time" style="width: 70%;margin-right:10px;" allowClear v-model.trim="form.activeTime" placeholder="请输入活动截止时间(精确到小时)"/>
|
|
|
<a-checkbox>永久</a-checkbox>
|
|
|
</a-form-model-item>
|
|
|
- </a-col>
|
|
|
+ </a-col> -->
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-col :span="24">
|
|
|
- <a-form-model-item label="参与货架" prop="settleType" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
- <a-button type="link" @click="openModal=true">点击选择</a-button>
|
|
|
+ <a-form-model-item label="参与货架" prop="joinNum" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
+ <span v-if="form.joinNum">已选{{ form.joinNum }}货架</span>
|
|
|
+ <a-button type="link" class="button-info" @click="openModal=true">点击选择</a-button>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
- <a-row>
|
|
|
+ <!-- <a-row>
|
|
|
<a-col :span="24">
|
|
|
<a-form-model-item label="活动范围" prop="activeOrg" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
<div style="color:#999">修配易码通用户下单后可获得红包奖励</div>
|
|
@@ -51,14 +52,14 @@
|
|
|
/>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- </a-row>
|
|
|
+ </a-row> -->
|
|
|
<a-row>
|
|
|
<a-col :span="24">
|
|
|
- <a-form-model-item label="客服微信" prop="remark" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
+ <a-form-model-item label="客服微信" prop="serviceQrcode" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
<Upload
|
|
|
class="upload"
|
|
|
- v-model="form.storeImage"
|
|
|
- ref="storeImage"
|
|
|
+ v-model="form.serviceQrcode"
|
|
|
+ ref="serviceQrcode"
|
|
|
:fileSize="10"
|
|
|
:maxNums="1"
|
|
|
@remove="removeImage"
|
|
@@ -70,8 +71,8 @@
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-col :span="24">
|
|
|
- <a-form-model-item label="备注" prop="remark" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
- <a-textarea :rows="4" placeholder="请输入备注"></a-textarea>
|
|
|
+ <a-form-model-item label="备注" :label-col="{span: 3}" :wrapper-col="{span: 20}">
|
|
|
+ <a-textarea :rows="4" v-model="form.remarks" :maxLength="150" placeholder="请输入备注(最多150字符)"></a-textarea>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -84,14 +85,14 @@
|
|
|
</div>
|
|
|
</a-card>
|
|
|
<!-- 选择货架弹窗 -->
|
|
|
- <shelfModal :visible="openModal" :checkedList="pageInfo" @close="openModal=false"></shelfModal>
|
|
|
+ <shelfModal ref="shelfModal" :checkedList="form.ruleStoreList" :visible="openModal" @close="openModal=false" @ok="chooseShelf"></shelfModal>
|
|
|
</a-spin>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { VSelect, Upload } from '@/components'
|
|
|
-import { shelfDetail, shelfSettleRuleSave, settleRuleDetail } from '@/api/shelf.js'
|
|
|
+import { rewardRuleDetail, rewardRuleCreate, rewardRuleModify } from '@/api/redPacket.js'
|
|
|
import shelfModal from './shelfModal.vue'
|
|
|
import { toThousands } from '@/libs/tools.js'
|
|
|
export default {
|
|
@@ -105,30 +106,18 @@ export default {
|
|
|
wrapperCol: { span: 14 }
|
|
|
},
|
|
|
plainOptions: [{ label: '货架订单', value: '1' }],
|
|
|
- settleInfo: null, // 结算详情
|
|
|
- settlementType: '', // 结算方式
|
|
|
pageInfo: null,
|
|
|
- images: [], // 货架图片
|
|
|
form: {
|
|
|
- settleType: undefined, // 结算方式
|
|
|
- creditLimit: '', // 授信额度
|
|
|
- creditWarnLimit: '', // 结算提醒金额
|
|
|
- settleDay: undefined, // 每月结算日
|
|
|
- warnBeforeDays: undefined, // 结算提醒提前天数
|
|
|
- limitFlag: 0, // 是否限制使用
|
|
|
- bondFlag: '', // 是否缴纳保证金
|
|
|
- bondAmount: '' // 保证金金额
|
|
|
+ ruleName: '', // 活动名称
|
|
|
+ joinNum: '', // 参与数
|
|
|
+ ruleStoreList: [], // 参与门店
|
|
|
+ serviceQrcode: '', // 客服二维码图片
|
|
|
+ remarks: ''
|
|
|
},
|
|
|
- dateList: [{ id: 1, name: 1 }, { id: 2, name: 2 }, { id: 3, name: 3 }, { id: 4, name: 4 }, { id: 5, name: 5 }, { id: 6, name: 6 }, { id: 7, name: 7 }, { id: 8, name: 8 }, { id: 9, name: 9 }, { id: 10, name: 10 }, { id: 11, name: 11 }, { id: 12, name: 12 }, { id: 13, name: 13 }, { id: 14, name: 14 }, { id: 15, name: 15 }, { id: 16, name: 16 }, { id: 17, name: 17 }, { id: 18, name: 18 }, { id: 19, name: 19 }, { id: 20, name: 20 }, { id: 21, name: 21 }, { id: 22, name: 22 }, { id: 23, name: 23 }, { id: 24, name: 24 }, { id: 25, name: 25 }],
|
|
|
- dateTXList: [{ id: 1, name: 1 }, { id: 2, name: 2 }, { id: 3, name: 3 }, { id: 4, name: 4 }, { id: 5, name: 5 }, { id: 6, name: 6 }, { id: 7, name: 7 }, { id: 8, name: 8 }, { id: 9, name: 9 }, { id: 10, name: 10 }],
|
|
|
rules: {
|
|
|
- settleType: [ { required: true, message: '请选择结算方式', trigger: 'change' } ],
|
|
|
- creditLimit: [ { required: true, message: '请输入授信额度', trigger: 'blur' } ],
|
|
|
- creditWarnLimit: [{ required: true, message: '请输入结算提醒金额', trigger: 'blur' }],
|
|
|
- settleDay: [ { required: true, message: '请选择每月结算日期', trigger: 'change' } ],
|
|
|
- warnBeforeDays: [ { required: true, message: '请选择每月结算提醒提前的日期', trigger: 'change' } ],
|
|
|
- bondFlag: [ { required: true, message: '请选择是否缴纳保证金', trigger: 'change' }],
|
|
|
- bondAmount: [ { required: true, message: '请输入保证金金额', trigger: 'blur' }]
|
|
|
+ ruleName: [ { required: true, message: '请输入活动名称', trigger: 'change' } ],
|
|
|
+ joinNum: [ { required: true, message: '请选择参与货架', trigger: 'blur' } ],
|
|
|
+ serviceQrcode: [ { required: true, message: '请上传客服二维码图片', trigger: 'change' } ]
|
|
|
},
|
|
|
// 表头
|
|
|
columns: [
|
|
@@ -148,36 +137,49 @@ export default {
|
|
|
methods: {
|
|
|
handleBack () {
|
|
|
this.form = {
|
|
|
- settleType: undefined, // 结算方式
|
|
|
- creditLimit: '', // 授信额度
|
|
|
- creditWarnLimit: '', // 结算提醒金额
|
|
|
- settleDay: undefined, // 每月结算日
|
|
|
- warnBeforeDays: undefined, // 结算提醒提前天数
|
|
|
- limitFlag: 0, // 是否限制使用
|
|
|
- bondFlag: '', // 是否缴纳保证金
|
|
|
- bondAmount: '' // 保证金金额
|
|
|
+ ruleName: '', // 活动名称
|
|
|
+ joinNum: '', // 参与数
|
|
|
+ ruleStoreList: [], // 参与门店
|
|
|
+ serviceQrcode: '', // 客服二维码图片
|
|
|
+ remarks: ''
|
|
|
}
|
|
|
this.$refs.ruleForm.resetFields()
|
|
|
this.$router.push({ name: 'redPacketList' })
|
|
|
},
|
|
|
// 图片上传
|
|
|
changeImage (file) {
|
|
|
- this.form.storeImage = file
|
|
|
+ this.form.serviceQrcode = file
|
|
|
},
|
|
|
removeImage () {
|
|
|
- this.form.storeImage = ''
|
|
|
- this.$refs.storeImage.setFileList('')
|
|
|
+ this.form.serviceQrcode = ''
|
|
|
+ this.$refs.serviceQrcode.setFileList('')
|
|
|
+ },
|
|
|
+ chooseShelf (data) {
|
|
|
+ this.form.ruleStoreList = data
|
|
|
+ this.openModal = false
|
|
|
+ this.form.joinNum = data.length
|
|
|
},
|
|
|
// 活动详情
|
|
|
getDetail () {
|
|
|
this.spinning = true
|
|
|
- shelfDetail({
|
|
|
- shelfSn: this.$route.params.sn
|
|
|
+ rewardRuleDetail({
|
|
|
+ rewardRuleSn: this.$route.params.sn
|
|
|
}).then(res => {
|
|
|
if (res.status == 200) {
|
|
|
- this.pageInfo = Object.assign({}, res.data)
|
|
|
- } else {
|
|
|
- this.pageInfo = null
|
|
|
+ const storeList = []
|
|
|
+ res.data.rewardRuleStoreList.map(item => {
|
|
|
+ storeList.push({
|
|
|
+ shelfSn: item.shelfSn
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.form = {
|
|
|
+ ruleName: res.data.ruleName, // 活动名称
|
|
|
+ joinNum: res.data.joinNum, // 参与数
|
|
|
+ ruleStoreList: storeList, // 参与门店
|
|
|
+ serviceQrcode: res.data.serviceQrcode, // 客服二维码图片
|
|
|
+ remarks: res.data.remarks,
|
|
|
+ rewardRuleSn: res.data.rewardRuleSn
|
|
|
+ }
|
|
|
}
|
|
|
this.spinning = false
|
|
|
})
|
|
@@ -188,13 +190,9 @@ export default {
|
|
|
this.$refs.ruleForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
const params = Object.assign({}, _this.form)
|
|
|
- if (this.isEdit) {
|
|
|
- params.shelfSn = this.pageInfo.shelfSn
|
|
|
- params.storeSn = this.pageInfo.storeSn
|
|
|
- params.dealerSn = this.pageInfo.dealerSn
|
|
|
- }
|
|
|
+ const fun = !this.isEdit ? rewardRuleCreate : rewardRuleModify
|
|
|
_this.spinning = true
|
|
|
- shelfSettleRuleSave(params).then(res => {
|
|
|
+ fun(params).then(res => {
|
|
|
if (res.status == 200) {
|
|
|
_this.$message.success(res.message)
|
|
|
setTimeout(function () {
|