<template>
|
<GlobalWindow
|
:title="title"
|
width="600px"
|
:visible.sync="visible"
|
:confirm-working="isWorking"
|
@confirm="confirm"
|
>
|
<el-form :model="form" ref="form" :rules="rules">
|
<el-form-item label="卡券类型" prop="category">
|
<el-input v-model="form.category" placeholder="请输入卡券类型" disabled v-trim/>
|
</el-form-item>
|
<el-form-item label="商品名称" prop="productName">
|
<el-input v-model="form.productName" placeholder="请输入商品名称" disabled v-trim/>
|
</el-form-item>
|
<el-form-item label="售卖价格" prop="price">
|
<el-input v-model="form.price" placeholder="请输入售卖价格" disabled v-trim/>
|
</el-form-item>
|
<el-form-item label="售卖状态" prop="onlineStatus">
|
<el-select v-model="form.onlineStatus" disabled placeholder="请选择售卖状态">
|
<el-option label="售卖中" :value="1"></el-option>
|
<el-option label="已下架" :value="2"></el-option>
|
<el-option label="封禁" :value="3"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="关联套餐" prop="outId">
|
<el-select v-model="form.outId" clearable placeholder="请选择关联套餐">
|
<el-option
|
v-for="item in list"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import { comboListPost } from '@/api/business/combo.js'
|
import { bindDiscount } from '@/api/business/douyinProduct.js'
|
|
export default {
|
name: 'ProductConfigurationWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow },
|
data () {
|
return {
|
// 表单数据
|
form: {
|
id: null,
|
productId: '',
|
category: '',
|
productName: '',
|
price: '',
|
onlineStatus: '',
|
outId: ''
|
},
|
// 验证规则
|
rules: {
|
},
|
list: []
|
}
|
},
|
created () {
|
this.config({
|
api: '/business/douyinProduct',
|
'field.id': 'id'
|
})
|
},
|
methods: {
|
open (title, target) {
|
this.title = title
|
this.getComboLists()
|
this.visible = true
|
// 新建
|
if (target == null) {
|
this.$nextTick(() => {
|
this.$refs.form.resetFields()
|
this.form[this.configData['field.id']] = null
|
})
|
return
|
}
|
// 编辑
|
this.$nextTick(() => {
|
for (const key in this.form) {
|
this.form[key] = target[key]
|
}
|
})
|
},
|
getComboLists () {
|
comboListPost({
|
model: {},
|
capacity: 9999,
|
page: 1
|
}).then(res => {
|
this.list = res.records || []
|
})
|
},
|
confirm () {
|
this.$refs.form.validate(valid => {
|
if (valid) {
|
this.isWorking = true
|
bindDiscount({ id: this.form.id, discountId: this.form.outId }).then(res => {
|
if (res.code === 200) {
|
this.visible = false
|
this.$tip.apiSuccess('配置成功')
|
this.$emit('success')
|
}
|
}).catch(e => {
|
this.$tip.apiFailed(e)
|
}).finally(() => {
|
this.isWorking = false
|
})
|
}
|
})
|
}
|
}
|
}
|
</script>
|