提交 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;
}
}
}
// 带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 @@
</el-col>
</el-row>
</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-radio-group v-model="formData.couponStatus">
<el-radio :label="'0'">正常</el-radio>
......@@ -149,6 +207,79 @@
<el-button @click="cancel">取消</el-button>
</el-form-item>
</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>
</template>
......@@ -165,7 +296,12 @@ export default {
receiveDayChecked: false,
grantChecked: false,
formData: {},
rules: {}
rules: {},
couponDetailList: [],
chooseCouponDetail: {},
dialogTitle: '',
dialogVisible: false,
editIndex: 0
};
},
mounted() {
......@@ -219,9 +355,31 @@ export default {
this.grantChecked = false;
formData.grantNum = formData.grant;
}
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() {
this.$refs.formRef.validate((valid) => {
if (valid) {
......@@ -251,6 +409,13 @@ export default {
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 => {
this.$modal.msgSuccess('优惠券编辑成功')
this.$tab.closeOpenPage()
......@@ -263,11 +428,36 @@ export default {
})
}
});
},
cancel() {
this.$tab.closeOpenPage();
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论