Files
nuttyreading-master-html/src/views/modules/course/catalogue-price.vue

402 lines
11 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<el-dialog
:title="'修改关联商品价格'"
:close-on-click-modal="false"
:visible.sync="visible"
@close="handlereset"
>
<el-form
:model="dataForm"
:rules="dataRule"
ref="dataForm"
label-width="100px"
>
<el-form-item label="目录名称" prop="title">
{{ dataForm.title }}
<!-- <el-input
v-model=""
placeholder="目录名称"
disabled
></el-input> -->
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="类型" prop="type">
<div v-if="dataForm.type == 0">免费</div>
<div v-if="dataForm.type == 1">普通收费</div>
<div v-if="dataForm.type == 2">超v课程</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="目录价格" prop="type">
<span
>半年:
<span style="font-weight: bold;margin-right: 20px;">
¥{{ dataForm.halfFee }}</span
>
</span>
<span
>全年:
<span style="font-weight: bold;">
¥{{ dataForm.fee }}</span
></span
>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="6">
<el-form-item label="商品原价" prop="halfFee">
<span style="color: rgb(255, 91, 54);font-weight: bold;">
{{ dataForm.yearType == 0 ? dataForm.halfFee : dataForm.fee }}
</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="修改后价格" prop="halfFee">
<el-input
v-model="dataForm.currentFee"
placeholder="修改价格"
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<div
style="height: 40px;display: flex;
align-items: center;justify-content: flex-end;"
>
<el-switch
v-model="dataForm.yearType"
active-color="#13ce66"
:active-value="1"
:inactive-value="0"
active-text="全年"
inactive-text="半年"
@change="handleChangeYearType"
>
</el-switch>
</div>
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="关联商品" prop="splits">
<el-radio-group v-model="dataForm.productId">
<el-radio
:label="item.productId"
border
v-for="(item,i) in goodsList"
:key="i"
style="width: 100%;"
>{{ item.productName }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handlereset">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
import global from "../../common/common.vue"; //引入共用组间
export default {
data() {
return {
// 1111
linkList: [{ label: "半年", value: 0 }, { label: "一年", value: 1 }],
baseUrl: global.baseUrl,
goodsList: [],
currentGoodsList: [],
visible: false,
typeList: [
{
//类型0免费1普通收费2超v课程
dictType: 0,
dictValue: "免费"
},
{
dictType: 1,
dictValue: "普通收费"
},
{
dictType: 2,
dictValue: "超v课程"
}
],
needCreateList: [
{
////是否同步创建商品0否1是
dictType: 0,
dictValue: "否"
},
{
dictType: 1,
dictValue: "是"
}
],
medicaldesBookTypeList: [
{
dictType: 1,
dictValue: "中医基础"
},
{
dictType: 2,
dictValue: "中医经典"
},
{
dictType: 3,
dictValue: "各家学说"
},
{
dictType: 4,
dictValue: "中医临床"
},
{
dictType: 5,
dictValue: "文学"
},
{
dictType: 6,
dictValue: "哲学"
}
],
props: {
dictType: "",
dictValue: ""
},
gushuList: [],
authorList: [],
restaurants: [],
author: "",
publisherList: [],
fileList: [],
fileListNovel: [],
dialogImageUrl: "",
dialogVisible: false,
dataForm: {
oldFee: 0
},
splitsTypeList: [],
dataRule: {}
};
},
created() {
this.getBookList();
this.loadAll();
},
mounted() {
// this.restaurants = this.loadAll();
},
methods: {
handleChangeYearType(e) {
this.$forceUpdate()
// this.productId = "";
console.log("e at line 235:", e);
if (e == 0) {
// this.dataForm.oldFee = this.dataForm.halfFee;
// this.dataForm.currentFee = JSON.parse(JSON.stringify(this.dataForm.halfFee));
} else if (e == 1) {
// this.dataForm.oldFee = this.dataForm.fee;
// this.dataForm.currentFee = JSON.parse(JSON.stringify(this.dataForm.fee));
}
},
changeType(e) {
console.log("e at line 256:", e);
if (e == 0) {
this.dataForm.content = "";
} else {
this.dataForm.url = "";
}
},
init(row, courseid) {
console.log("row2", row);
this.dataForm = { ...row } || {};
this.dataForm.courseId = courseid || "";
this.visible = true;
// this.dataForm.currentFee = this.dataForm.halfFee;
// this.dataForm.old = this.dataForm.halfFee;
this.dataForm.yearType = 0;
this.$forceUpdate();
if (row.productList && row.productList.length > 0) {
this.goodsList = [...row.productList];
// this.currentGoodsList = this.goodsList.filter(e =>
// e.productName.includes("半年")
// );
}
},
// 表单提交
dataFormSubmit() {
console.log("11111", this.dataForm.medicaldesBookType);
// if (this.dataForm.medicaldesBookType.length == 0) {
// this.$message.error("请选择图书类型");
// return
// }
this.$refs["dataForm"].validate(valid => {
if (valid) {
if (!this.dataForm.currentFee) {
this.$message.error("请输入价格");
return;
}
if (!this.dataForm.productId) {
this.$message.error("请选择关联的商品");
return;
}
this.$http({
url: this.$http.adornUrl("/master/course/changeCatalogueFee"),
method: "post",
data: this.$http.adornData({
catalogueId: this.dataForm.id,
type: this.dataForm.yearType, //0半年1全年
fee: this.dataForm.currentFee,
productId: this.dataForm.productId
// courseId: this.dataForm.courseId || undefined,
// id: this.dataForm.id || undefined,
// title: this.dataForm.title,
// type: this.dataForm.type, //类型0免费1普通收费2超v课程
// halfFee: this.dataForm.halfFee, //半年价格
// fee: this.dataForm.fee, //全年价格
// sort: this.dataForm.sort,
// needCreate: this.dataForm.needCreate //是否同步创建商品0否1是
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.$message({
message: "操作成功",
type: "success",
duration: 1500,
onClose: () => {
this.visible = false;
this.$emit("refreshDataList");
}
});
} else {
this.$message.error(data.msg);
}
});
}
});
},
handlePicSuccess(res, file) {
if (res.msg == "success") {
this.dataForm.images = res.url;
this.$message.success("上传成功");
} else {
this.$message.error("上传失败");
}
},
//图书分类
getBookList() {
this.$http({
url: this.$http.adornUrl("/book/sysdictdata/selectByType/book_type"),
method: "get"
// params: this.$http.adornParams({
// 'type': 'book_type',
// })
}).then(({ data }) => {
console.log(data);
// this.bookList = data.dataList
});
// 获取图书拆分类型
this.$http({
url: this.$http.adornUrl("/book/sysdictdata/selectByType/splitsType"),
method: "get"
}).then(({ data }) => {
this.splitsTypeList = data.dataList;
});
// 获取古书
this.$http({
url: this.$http.adornUrl("/book/book/getAncientBooks"),
method: "post"
}).then(({ data }) => {
this.gushuList = data.books;
});
},
handleRemove(file) {
this.dataForm.images = "";
},
handlePictureCardPreview(file) {
this.dataForm.images = file.url;
this.dialogVisible = true;
},
handleDownload(file) {
console.log(file);
},
handlereset() {
(this.fileList = []), (this.fileListNovel = []), (this.visible = false);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${
files.length
} 个文件,共选择了 ${files.length + fileList.length} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
handleRemoveNovel(file) {
this.dataForm.novel = "";
},
handleNovelSuccess(file) {
this.dataForm.novel = file.url;
},
// querySearch(queryString, cb) {
// var restaurants = this.restaurants;
// var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// // 调用 callback 返回建议列表的数据
// console.log(results)
// cb(results);
// },
// createFilter(queryString) {
// return (restaurant) => {
// return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
// };
// },
loadAll() {
this.$http({
url: this.$http.adornUrl("/book/author/bookAuthorList"),
method: "get"
}).then(({ data }) => {
this.authorList = data.list;
});
this.$http({
url: this.$http.adornUrl("/book/publisher/publisherList"),
method: "get"
}).then(({ data }) => {
this.publisherList = data.list;
});
}
// handleSelect(item) {
// this.dataForm.authorId = item.id
// console.log(item);
// }
}
};
</script>
<style lang="less" scoped>
/deep/.el-radio.is-bordered + .el-radio.is-bordered {
margin-left: 0 !important;
margin-top: 10px !important;
}
</style>