提交 f224b13e 作者: 郁骅焌

打包

上级 6b136df9
This source diff could not be displayed because it is too large. You can view the blob instead.
[data-v-10ab7d38] input::-webkit-inner-spin-button,[data-v-10ab7d38] input::-webkit-outer-spin-button{-webkit-appearance:none!important}[data-v-10ab7d38] input[type=number]{-moz-appearance:textfield!important}.image-url[data-v-10ab7d38] .el-radio__input{vertical-align:top}
\ No newline at end of file
[data-v-d354f5bc] input::-webkit-inner-spin-button,[data-v-d354f5bc] input::-webkit-outer-spin-button{-webkit-appearance:none!important}[data-v-d354f5bc] input[type=number]{-moz-appearance:textfield!important}.image-url[data-v-d354f5bc] .el-radio__input{vertical-align:top}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -283,3 +283,25 @@ $form-input-width: 688px; ...@@ -283,3 +283,25 @@ $form-input-width: 688px;
} }
} }
} }
// 带header的card
.header-card {
border-radius: 0;
.el-card__header {
padding-top: 7px;
}
.clearfix {
display: flex;
align-items: center;
justify-content: space-between;
.header-title {
// padding: 10px 0;
flex: auto;
}
}
}
...@@ -137,6 +137,64 @@ ...@@ -137,6 +137,64 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-form-item v-if="formData.couponType === 'team'" label="套餐名称" prop="mealTitle" class="form-common-input"
:rules="{
required: true, message: '请输入套餐名称', trigger: ['change', 'blur']
}"
>
<el-input v-model="formData.mealTitle" placeholder="请输入套餐名称" />
</el-form-item>
<el-form-item v-if="formData.couponType === 'team'" label="原价" prop="originalPrice" class="form-common-input"
:rules="{
required: true, message: '请输入原价', trigger: ['change', 'blur']
}"
>
<el-input type="number" v-model.number="formData.originalPrice" placeholder="请输入原价" />
</el-form-item>
<el-form-item v-if="formData.couponType === 'team'" label="折扣价" prop="presentPrice" class="form-common-input"
:rules="{
required: true, message: '请输入折扣价', trigger: ['change', 'blur']
}"
>
<el-input type="number" v-model.number="formData.presentPrice" placeholder="请输入折扣价" />
</el-form-item>
<el-form-item v-if="formData.couponType === 'team'" label="套餐备注" prop="mealRemarks" class="form-common-input">
<el-input type="textarea" rows="6" v-model="formData.mealRemarks" placeholder="请输入套餐备注" />
</el-form-item>
<template v-if="formData.couponType === 'team'">
<el-form-item>
<el-button type="primary" @click="handleAdd">新建分类</el-button>
</el-form-item>
<el-form-item v-for="(item, index) in couponDetailList" :key="index" class="form-common-input">
<el-card class="header-card" shadow="never">
<div slot="header" class="clearfix">
<span class="header-title">{{ item.category }}</span>
<el-button
size="small"
type="primary"
style="margin-left: 20px"
@click="handleEdit(index)"
>编辑</el-button>
<el-button
size="small"
type="danger"
@click="handleDelete(index)"
>删除</el-button>
</div>
<el-table :data="item.list" style="width: 100%;" size="small" border>
<el-table-column label="菜品" prop="foodName">
</el-table-column>
<el-table-column label="份数" prop="foodNum">
</el-table-column>
<el-table-column label="价格" prop="foodPrice">
</el-table-column>
</el-table>
</el-card>
</el-form-item>
</template>
<el-form-item label="状态" prop="couponStatus"> <el-form-item label="状态" prop="couponStatus">
<el-radio-group v-model="formData.couponStatus"> <el-radio-group v-model="formData.couponStatus">
<el-radio :label="'0'">正常</el-radio> <el-radio :label="'0'">正常</el-radio>
...@@ -149,6 +207,79 @@ ...@@ -149,6 +207,79 @@
<el-button @click="cancel">取消</el-button> <el-button @click="cancel">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogVisible"
width="780px"
append-to-body
destroy-on-close
>
<el-form ref="dialogFormRef" :model="chooseCouponDetail" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="分类:" prop="category"
:rules="{
required: true, message: '请输入分类', trigger: ['change', 'blur']
}"
>
<el-input v-model="chooseCouponDetail.category" placeholder="请输入分类" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="序号:" prop="sort"
:rules="{
required: true, message: '请输入序号', trigger: ['change', 'blur']
}"
>
<el-input type="number" v-model.number="chooseCouponDetail.sort" placeholder="请输入序号" />
</el-form-item>
</el-col>
</el-row>
<el-row style="margin-bottom: 20px;">
<el-button type="primary" @click="addFood">新增菜品</el-button>
</el-row>
<el-row v-for="(item, index) in chooseCouponDetail.list" :key="index">
<el-col :span="7">
<el-form-item label="菜名:" :prop="'list.' + index + '.foodName'"
:rules="{
required: true, message: '请输入菜品', trigger: ['change', 'blur']
}"
>
<el-input v-model="item.foodName" placeholder="请输入菜品" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="份数:" :prop="'list.' + index + '.foodNum'"
:rules="{
required: true, message: '请输入份数', trigger: ['change', 'blur']
}"
>
<el-input type="number" v-model.number="item.foodNum" placeholder="请输入份数" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="价格:" :prop="'list.' + index + '.foodPrice'"
:rules="{
required: true, message: '请输入价格', trigger: ['change', 'blur']
}"
>
<el-input type="number" v-model.number="item.foodPrice" placeholder="请输入价格" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitDialog">确 定</el-button>
<el-button @click="cleanDialog">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -165,7 +296,12 @@ export default { ...@@ -165,7 +296,12 @@ export default {
receiveDayChecked: false, receiveDayChecked: false,
grantChecked: false, grantChecked: false,
formData: {}, formData: {},
rules: {} rules: {},
couponDetailList: [],
chooseCouponDetail: {},
dialogTitle: '',
dialogVisible: false,
editIndex: 0
}; };
}, },
mounted() { mounted() {
...@@ -219,9 +355,31 @@ export default { ...@@ -219,9 +355,31 @@ export default {
this.grantChecked = false; this.grantChecked = false;
formData.grantNum = formData.grant; formData.grantNum = formData.grant;
} }
this.formData = formData; this.formData = formData;
this.couponDetailList = deepClone(formData.couponDetailList)
}); });
}, },
handleAdd() {
this.dialogTitle = '新增分类'
this.chooseCouponDetail = {
category: undefined,
sort: undefined,
list: []
}
// this.reset('dialogFormRef')
this.dialogVisible = true
},
handleEdit(index) {
this.editIndex = index
this.dialogTitle = '编辑分类'
const chooseCouponDetail = deepClone(this.couponDetailList[index])
this.chooseCouponDetail = chooseCouponDetail
this.dialogVisible = true
},
handleDelete(index) {
this.couponDetailList.splice(index, 1)
},
onSubmit() { onSubmit() {
this.$refs.formRef.validate((valid) => { this.$refs.formRef.validate((valid) => {
if (valid) { if (valid) {
...@@ -251,6 +409,13 @@ export default { ...@@ -251,6 +409,13 @@ export default {
pp.grant = pp.grantNum pp.grant = pp.grantNum
} }
if (pp.couponType === 'team') {
pp.couponDetailList = deepClone(this.couponDetailList)
pp.couponDetailList.forEach(item => {
item.goodsJson = JSON.stringify(item.list)
})
}
editCoupon(pp).then(res => { editCoupon(pp).then(res => {
this.$modal.msgSuccess('优惠券编辑成功') this.$modal.msgSuccess('优惠券编辑成功')
this.$tab.closeOpenPage() this.$tab.closeOpenPage()
...@@ -263,11 +428,36 @@ export default { ...@@ -263,11 +428,36 @@ export default {
}) })
} }
}); });
}, },
cancel() { cancel() {
this.$tab.closeOpenPage(); this.$tab.closeOpenPage();
this.$router.push({ name: "CouponList" }); this.$router.push({ name: "CouponList" });
},
addFood() {
this.chooseCouponDetail.list.push({
foodName: undefined,
foodNum: undefined,
foodPrice: undefined
})
},
submitDialog() {
this.$refs.dialogFormRef.validate((valid) => {
if (valid) {
const chooseCouponDetail = deepClone(this.chooseCouponDetail)
if (this.dialogTitle === '编辑分类') {
this.couponDetailList.splice(this.editIndex, 1, chooseCouponDetail)
} else {
this.couponDetailList.push(chooseCouponDetail)
}
this.dialogVisible = false
}
})
},
cleanDialog() {
this.dialogVisible = false
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论