Commit 377c76e9 authored by libin's avatar libin

seo字段添加

parent e18ff9e6
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="车型简介" prop="intro"> <el-form-item label="车型简介" prop="intro">
<el-input class="cx" v-model="form.intro" rows="9" type="textarea" placeholder="请输入车型简介" ></el-input> <el-input class="cx" v-model="form.intro" rows="9" type="textarea" placeholder="请输入车型简介"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -156,16 +156,40 @@ ...@@ -156,16 +156,40 @@
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:on-progress="uploadProcess" :on-progress="uploadProcess"
list-type="picture"> list-type="picture">
<div slot="tip" class="el-upload__tip"> <span style="color: red;">建议尺寸:320*228px</span></div> <div slot="tip" class="el-upload__tip"><span style="color: red;">建议尺寸:320*228px</span></div>
<el-progress v-show="imgFlag == true" type="circle" :percentage="percent" style="margin-top: 20px"></el-progress> <el-progress v-show="imgFlag == true" type="circle" :percentage="percent"
<img v-if="$utils.isString(form.coverPic) && !$utils.isEmpty(form.coverPic) && !imgFlag" :src="form.coverPic" style="width:300px;max-height:300px;"> style="margin-top: 20px"></el-progress>
<i v-else-if="!imgFlag" class="el-icon-plus avatar-uploader-icon" style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i> <img v-if="$utils.isString(form.coverPic) && !$utils.isEmpty(form.coverPic) && !imgFlag" :src="form.coverPic"
style="width:300px;max-height:300px;">
<i v-else-if="!imgFlag" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="alt"> <el-form-item label="alt">
<el-input v-model="form.alt" type="text" placeholder="请输入描述"></el-input> <el-input v-model="form.alt" type="text" placeholder="请输入替代文本"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="img-title">
<el-input v-model="form.imgTitle" type="text" placeholder="请输入图片title"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="img-keyword">
<el-input v-model="form.imgKeyword" type="text" placeholder="请输入图片关键字"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="img-desc">
<el-input v-model="form.imgDesc" type="text" placeholder="请输入图片描述"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -178,10 +202,13 @@ ...@@ -178,10 +202,13 @@
:on-success="handlePosterSuccess" :on-success="handlePosterSuccess"
:on-progress="uploadPosterProcess" :on-progress="uploadPosterProcess"
list-type="picture"> list-type="picture">
<div slot="tip" class="el-upload__tip"> <span style="color: red;">建议尺寸:320*228px</span></div> <div slot="tip" class="el-upload__tip"><span style="color: red;">建议尺寸:320*228px</span></div>
<el-progress v-show="imgPosterFlag == true" type="circle" :percentage="percent_poster" style="margin-top: 20px"></el-progress> <el-progress v-show="imgPosterFlag == true" type="circle" :percentage="percent_poster"
<img v-if="$utils.isString(form.posterBackground) && !$utils.isEmpty(form.posterBackground)&& !imgPosterFlag" :src="form.posterBackground" style="width:300px;max-height:300px;"> style="margin-top: 20px"></el-progress>
<i v-else-if="!imgPosterFlag" class="el-icon-plus avatar-uploader-icon" style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i> <img v-if="$utils.isString(form.posterBackground) && !$utils.isEmpty(form.posterBackground)&& !imgPosterFlag"
:src="form.posterBackground" style="width:300px;max-height:300px;">
<i v-else-if="!imgPosterFlag" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="轮播图" :style="{display:'block'}"> <el-form-item label="轮播图" :style="{display:'block'}">
...@@ -202,7 +229,8 @@ ...@@ -202,7 +229,8 @@
<el-tab-pane label="车型详情" name="first"> <el-tab-pane label="车型详情" name="first">
<!--<Editor @input="handelIncrease" :value="form.modelsDetails" :myQuillEditor="'myQuillEditor'"></Editor>--> <!--<Editor @input="handelIncrease" :value="form.modelsDetails" :myQuillEditor="'myQuillEditor'"></Editor>-->
<div class="editor-container" v-if="activeName2=='first'"> <div class="editor-container" v-if="activeName2=='first'">
<UE :editorId="activeName2" :defaultMsg="form.modelsDetails" :config=config ref="ue" @ready="editorReadyEvent"></UE> <UE :editorId="activeName2" :defaultMsg="form.modelsDetails" :config=config ref="ue"
@ready="editorReadyEvent"></UE>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -216,14 +244,14 @@ ...@@ -216,14 +244,14 @@
<!--配置弹框--> <!--配置弹框-->
<el-dialog :title="modalTitle" :visible.sync="configDialogVisible"> <el-dialog :title="modalTitle" :visible.sync="configDialogVisible">
<el-form label-width="90px"> <el-form label-width="90px">
<el-form-item v-if="configItem.parent.isMore==0"> <el-form-item v-if="configItem.parent.isMore==0">
<el-radio-group v-model="childName"> <el-radio-group v-model="childName">
<el-radio v-for="item in configItemChildren" :key="item.id" :label="item.id">{{item.name}}</el-radio> <el-radio v-for="item in configItemChildren" :key="item.id" :label="item.id">{{item.name}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="configItem.parent.isMore==1"> <el-form-item v-if="configItem.parent.isMore==1">
<el-checkbox-group v-model="childNameLists"> <el-checkbox-group v-model="childNameLists">
<el-checkbox v-for="item in configItemChildren" :key="item.id" :label="item.id">{{item.name}}</el-checkbox> <el-checkbox v-for="item in configItemChildren" :key="item.id" :label="item.id">{{item.name}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -236,9 +264,9 @@ ...@@ -236,9 +264,9 @@
<!--关键标签弹框--> <!--关键标签弹框-->
<el-dialog title="关键标签编辑" :visible.sync="keywordDialogVisible"> <el-dialog title="关键标签编辑" :visible.sync="keywordDialogVisible">
<el-form label-width="90px"> <el-form label-width="90px">
<el-checkbox-group v-model="selectedLabel"> <el-checkbox-group v-model="selectedLabel">
<el-checkbox v-for="item in canSelectLabel" :key="item.id" :label="item.id">{{item.name}}</el-checkbox> <el-checkbox v-for="item in canSelectLabel" :key="item.id" :label="item.id">{{item.name}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelHandelLabel">取 消</el-button> <el-button @click="cancelHandelLabel">取 消</el-button>
...@@ -248,682 +276,697 @@ ...@@ -248,682 +276,697 @@
</div> </div>
</template> </template>
<style> <style>
textarea{ textarea {
display: none; display: none;
} }
.el-upload-list{
.el-upload-list {
display: flex; display: flex;
width: 100px; width: 100px;
} }
.el-upload-list li{
.el-upload-list li {
margin-left: 10px; margin-left: 10px;
} }
</style> </style>
<script> <script>
// import Editor from "../../modal/editorTool";//富文本 // import Editor from "../../modal/editorTool";//富文本
import UE from '../../modal/Ueditor';//百度ue富文本 import UE from '../../modal/Ueditor';//百度ue富文本
import { import {
getOneTypeById, getOneTypeById,
getAllParentLabel, getAllParentLabel,
getLabelList, getLabelList,
updateVehicleModel, updateVehicleModel,
addVehicleModel addVehicleModel
} from 'api/vehicleType'; } from 'api/vehicleType';
import rsCode from '../../../utils/rsCode'; import rsCode from '../../../utils/rsCode';
import { import {
getToken getToken
} from '../../../utils/auth'; } from '../../../utils/auth';
import {mapGetters} from 'vuex'; import {mapGetters} from 'vuex';
import ElRow from "element-ui/packages/row/src/row"; import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col"; import ElCol from "element-ui/packages/col/src/col";
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue"; import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import ElRadio from "../../../../node_modules/element-ui/packages/radio/src/radio.vue"; import ElRadio from "../../../../node_modules/element-ui/packages/radio/src/radio.vue";
export default { export default {
props: ["oneRow", "title", "brandlist", "numberList","vehicleTypeList_btn_edit"], props: ["oneRow", "title", "brandlist", "numberList", "vehicleTypeList_btn_edit"],
name: 'upkeepDialog', name: 'upkeepDialog',
components: { components: {
ElRadio, ElRadio,
ElFormItem, ElFormItem,
ElCol, ElCol,
ElRow, ElRow,
UE UE
}, },
data() { data() {
return { return {
imgPosterFlag:false, imgPosterFlag: false,
percent_poster:0, percent_poster: 0,
BASE_API: process.env.BASE_API, BASE_API: process.env.BASE_API,
percent: 0,//上传进度 percent: 0,//上传进度
imgFlag: false, imgFlag: false,
config: { config: {
initialFrameWidth: null, initialFrameWidth: null,
initialFrameHeight: 350 initialFrameHeight: 350
},
labelList: [],//全部车型标签
fileList2: [],
activeName2: '',//房车详情
form: {
alt: '',
imgTitle: undefined,
imgKeyword: undefined,
imgDesc: undefined,
pPrice: 0,//普通会员
hPrice: 0,//黄金会员
zPrice: 0,//钻石会员
name: undefined,//房车名称
config: "",//房车配置
keyword: "",//房车关键标签
modelsDetails: "",//房车详情
modelParam: "",//房车参数
picture: "",//轮播图
price: 0,//租车价格
deposit: 20000,//总押金
vioDeposit: 0,//违章押金
hotSign: "2",//热门车型 1、热门 2、非热门
rentDiscountStatus: "0",//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
rentDiscountPrice: 0,//租车优惠价格 固定优化价格
buyPrice: 0,//购买价格
intro: ''
},
showDestinationVisible: false,//编辑目的地
showPathWayVisible: false,//编辑途径地
rules: {
name: {
type: 'string',
required: true,
message: '请输入车型名称',
trigger: 'blur'
}
},
checkList: [],//已选中的标签
allCompanies: {},
allCompaniesArr: [],
oneTypeDialogVisible: false,
allUpkeepItems: null,
dialogStatus: undefined,
allLabelList: [],//全部标签
showName: "",
configDialogVisible: false,//配置弹框
modalTitle: "修改房车配置",
configItem: {parent: {isMore: 0}},//待编辑配置数据
configItemChildren: [],//待配置的二级标签
childNameLists: [],
childName: "",
totalLabel: [],//关键标签id
canSelectLabel: [],//可选择的二级标签
selectedLabel: [],//已选中的标签
keywordDialogVisible: false,//关键标签弹框
}
}, },
labelList:[],//全部车型标签 created() {
fileList2:[],
activeName2: '',//房车详情
form: {
alt:'',
pPrice:0,//普通会员
hPrice:0,//黄金会员
zPrice:0,//钻石会员
name: undefined,//房车名称
config: "",//房车配置
keyword: "",//房车关键标签
modelsDetails: "",//房车详情
modelParam: "",//房车参数
picture: "",//轮播图
price: 0,//租车价格
deposit: 20000,//总押金
vioDeposit: 0,//违章押金
hotSign: "2",//热门车型 1、热门 2、非热门
rentDiscountStatus:"0",//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
rentDiscountPrice: 0,//租车优惠价格 固定优化价格
buyPrice: 0,//购买价格
intro:''
}, },
showDestinationVisible: false,//编辑目的地 watch: {
showPathWayVisible: false,//编辑途径地 oneTypeDialogVisible(newValue, oldValue) {
rules: { if (!newValue) {
name: { this.cleanForm();
type: 'string', }
required: true, },
message: '请输入车型名称', },
trigger: 'blur' mounted() {
this.cleanForm();
this.getAllTag();
this.oneTypeDialogVisible = true;
},
computed: {
...mapGetters([
'elements',
'vehicleWarningMsgType'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
} }
}, },
checkList:[],//已选中的标签 methods: {
allCompanies: {}, changeConfig() {
allCompaniesArr: [], console.log(this.configItemChildren);
oneTypeDialogVisible: false, },
allUpkeepItems: null,
dialogStatus: undefined,
allLabelList: [],//全部标签
showName: "",
configDialogVisible: false,//配置弹框
modalTitle: "修改房车配置",
configItem: {parent:{isMore: 0}},//待编辑配置数据
configItemChildren:[],//待配置的二级标签
childNameLists: [],
childName:"",
totalLabel: [],//关键标签id
canSelectLabel: [],//可选择的二级标签
selectedLabel: [],//已选中的标签
keywordDialogVisible: false,//关键标签弹框
}
},
created() {
},
watch: {
oneTypeDialogVisible(newValue, oldValue){
if(!newValue){
this.cleanForm();
}
},
},
mounted() {
this.cleanForm();
this.getAllTag();
this.oneTypeDialogVisible = true;
},
computed: {
...mapGetters([
'elements',
'vehicleWarningMsgType'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
}
},
methods: {
changeConfig(){
console.log(this.configItemChildren);
},
/**
* 获取全部一级、二级分类数据
* */
getAllTag() {
let listQuery = {sort: 1, page:1,limit:10};
let that = this;
getLabelList(listQuery).then(response => {
let listRs = undefined;
if (!this.$utils.isEmpty(response.data)) {
listRs = response.data;
response.data.map(function(item){
item.childName = [];
})
}
this.labelList = listRs;
if(this.title == "编辑"){
let row = this.oneRow;
this.getOne(row.id);
} else {
this.activeName2 = "first";
let tagArr = [];
this.labelList.map(function(iitem){
if(iitem.children.length >0){
tagArr.push(iitem.children[0].id);
}
});
this.form.brand = this.brandlist[0].id;
this.form.number = this.numberList[0].id;
this.labelList.map(function(iitem){
let p = [];
let pp = [];
let aa = [];
iitem.childNameLists =[];
iitem.children.map(function (c) {
tagArr.map(function (ii) {
if(c.id == ii){
p.push(c);
aa.push(c.name);
pp.push(c.id);
}
});
});
iitem.childNameList = p;
iitem.childNameLists = pp;
iitem.selectChild = aa.join(",");
});
/** /**
* 关键标签可选的二级分类 * 获取全部一级、二级分类数据
* */ * */
let labelArr = []; getAllTag() {
that.labelList.map(function (i) { let listQuery = {sort: 1, page: 1, limit: 10};
i.childNameLists.map(function (ii) { let that = this;
labelArr.push(ii) getLabelList(listQuery).then(response => {
}); let listRs = undefined;
}); if (!this.$utils.isEmpty(response.data)) {
that.totalLabel = labelArr; listRs = response.data;
let canSelectLabel = []; response.data.map(function (item) {
that.labelList.map(function (i) { item.childName = [];
i.children.map(function (ic) { })
that.totalLabel.map(function (c) { }
if(ic.id == c){ this.labelList = listRs;
canSelectLabel.push(ic); if (this.title == "编辑") {
} let row = this.oneRow;
}) this.getOne(row.id);
}) } else {
}); this.activeName2 = "first";
this.canSelectLabel = canSelectLabel; let tagArr = [];
this.labelList.map(function (iitem) {
if (iitem.children.length > 0) {
tagArr.push(iitem.children[0].id);
}
});
this.form.brand = this.brandlist[0].id;
this.form.number = this.numberList[0].id;
this.labelList.map(function (iitem) {
let p = [];
let pp = [];
let aa = [];
iitem.childNameLists = [];
iitem.children.map(function (c) {
tagArr.map(function (ii) {
if (c.id == ii) {
p.push(c);
aa.push(c.name);
pp.push(c.id);
}
});
});
iitem.childNameList = p;
iitem.childNameLists = pp;
iitem.selectChild = aa.join(",");
});
/**
* 关键标签可选的二级分类
* */
let labelArr = [];
that.labelList.map(function (i) {
i.childNameLists.map(function (ii) {
labelArr.push(ii)
});
});
that.totalLabel = labelArr;
let canSelectLabel = [];
that.labelList.map(function (i) {
i.children.map(function (ic) {
that.totalLabel.map(function (c) {
if (ic.id == c) {
canSelectLabel.push(ic);
}
})
})
});
this.canSelectLabel = canSelectLabel;
this.form.config = tagArr.join(","); this.form.config = tagArr.join(",");
} }
});
},
/**
* 封面图上传进度
* */
uploadProcess(event, file, fileList) {
this.imgFlag = true;
console.log(event.percent);
this.percent = Math.floor(event.percent);
},
/**
* 海报背景图上传进度
* */
uploadPosterProcess(event, file, fileList) {
this.imgPosterFlag = true;
console.log(event.percent);
this.percent_poster = Math.floor(event.percent);
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file){
this.percent = 0;
this.imgFlag = false;
this.form.coverPic = res.data;
},
/**
* 海报背景上传
* **/
handlePosterSuccess(res, file){
this.percent_poster = 0;
this.imgPosterFlag = false;
this.form.posterBackground = res.data;
},
/**
* 创建
* */
create(formName){
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
let params = {
number: this.form.number,//乘卧数量
brand: this.form.brand,//房车品牌
name: this.form.name,//房车名称
config: this.totalLabel.join(","),//房车配置
keyword: this.form.keyword,//房车关键标签
modelsDetails: this.form.modelsDetails,//房车详情
modelParam: JSON.stringify(this.form.modelParam),//房车参数
picture: this.form.picture,//轮播图
coverPic: this.form.coverPic,//封面图
posterBackground: this.form.posterBackground,//海报背景
price: this.form.price,//租车价格
deposit: this.form.deposit,//总押金
vioDeposit: this.form.vioDeposit,
hotSign: this.form.hotSign,//热门车型
rentDiscountStatus: this.form.rentDiscountStatus,//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
buyPrice: this.form.buyPrice,//购买价格
alt:this.form.alt,//seo 标签优化
intro:this.form.intro
};
if(this.form.rentDiscountStatus == 2){
params.rentDiscountPrice = this.form.pPrice+","+this.form.hPrice+","+this.form.zPrice//租车优惠价格 固定优化价格
}
console.log(params);
console.log(this.form);
addVehicleModel(params).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
}); });
this.$emit("oneDialogEvent", true); },
} else { /**
this.$notify({ * 封面图上传进度
title: '创建失败', * */
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!', uploadProcess(event, file, fileList) {
type: 'error', this.imgFlag = true;
duration: 2000 console.log(event.percent);
this.percent = Math.floor(event.percent);
},
/**
* 海报背景图上传进度
* */
uploadPosterProcess(event, file, fileList) {
this.imgPosterFlag = true;
console.log(event.percent);
this.percent_poster = Math.floor(event.percent);
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file) {
this.percent = 0;
this.imgFlag = false;
this.form.coverPic = res.data;
},
/**
* 海报背景上传
* **/
handlePosterSuccess(res, file) {
this.percent_poster = 0;
this.imgPosterFlag = false;
this.form.posterBackground = res.data;
},
/**
* 创建
* */
create(formName) {
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
let params = {
number: this.form.number,//乘卧数量
brand: this.form.brand,//房车品牌
name: this.form.name,//房车名称
config: this.totalLabel.join(","),//房车配置
keyword: this.form.keyword,//房车关键标签
modelsDetails: this.form.modelsDetails,//房车详情
modelParam: JSON.stringify(this.form.modelParam),//房车参数
picture: this.form.picture,//轮播图
coverPic: this.form.coverPic,//封面图
posterBackground: this.form.posterBackground,//海报背景
price: this.form.price,//租车价格
deposit: this.form.deposit,//总押金
vioDeposit: this.form.vioDeposit,
hotSign: this.form.hotSign,//热门车型
rentDiscountStatus: this.form.rentDiscountStatus,//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
buyPrice: this.form.buyPrice,//购买价格
alt: this.form.alt,//seo 标签优化
intro: this.form.intro,
imgTitle: this.form.imgTitle,
imgKeyword: this.form.imgKeyword,
imgDesc: this.form.imgDesc,
};
if (this.form.rentDiscountStatus == 2) {
params.rentDiscountPrice = this.form.pPrice + "," + this.form.hPrice + "," + this.form.zPrice//租车优惠价格 固定优化价格
}
console.log(params);
console.log(this.form);
addVehicleModel(params).then(response => {
if (response.status === 200) {
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
this.$emit("oneDialogEvent", true);
} else {
this.$notify({
title: '创建失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
} else {
return;
}
}); });
} },
}); /**
} else { * 编辑
return; * */
} update(formName) {
}); const set = this.$refs;
}, set[formName].validate(valid => {
/** if (valid) {
* 编辑 let params = {
* */ id: this.form.id,
update(formName){ number: this.form.number,//乘卧数量
const set = this.$refs; brand: this.form.brand,//房车品牌
set[formName].validate(valid => { name: this.form.name,//房车名称
if (valid) { config: this.totalLabel.join(","),//房车配置
let params = { keyword: this.form.keyword,//房车关键标签
id: this.form.id, modelsDetails: this.form.modelsDetails,//房车详情
number: this.form.number,//乘卧数量 modelParam: JSON.stringify(this.form.modelParam),//房车参数
brand: this.form.brand,//房车品牌 picture: this.form.picture,//轮播图
name: this.form.name,//房车名称 price: this.form.price,//租车价格
config: this.totalLabel.join(","),//房车配置 coverPic: this.form.coverPic,//封面图
keyword: this.form.keyword,//房车关键标签 posterBackground: this.form.posterBackground,//海报背景
modelsDetails: this.form.modelsDetails,//房车详情 deposit: this.form.deposit,//总押金
modelParam: JSON.stringify(this.form.modelParam),//房车参数 vioDeposit: this.form.vioDeposit,
picture: this.form.picture,//轮播图 hotSign: this.form.hotSign,//热门车型
price: this.form.price,//租车价格 rentDiscountStatus: this.form.rentDiscountStatus,//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
coverPic: this.form.coverPic,//封面图
posterBackground: this.form.posterBackground,//海报背景
deposit: this.form.deposit,//总押金
vioDeposit: this.form.vioDeposit,
hotSign: this.form.hotSign,//热门车型
rentDiscountStatus: this.form.rentDiscountStatus,//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
// rentDiscountPrice:this.form.pPrice+","+this.form.hPrice+","+this.form.zPrice,//租车优惠价格 固定优化价格 // rentDiscountPrice:this.form.pPrice+","+this.form.hPrice+","+this.form.zPrice,//租车优惠价格 固定优化价格
buyPrice: this.form.buyPrice,//购买价格 buyPrice: this.form.buyPrice,//购买价格
alt:this.form.alt,//seo 标签优化 alt: this.form.alt,//seo 标签优化
intro:this.form.intro intro: this.form.intro,
}; imgTitle: this.form.imgTitle,
if(this.form.rentDiscountStatus == 2){ imgKeyword: this.form.imgKeyword,
params.rentDiscountPrice = this.form.pPrice+","+this.form.hPrice+","+this.form.zPrice//租车优惠价格 固定优化价格 imgDesc: this.form.imgDesc,
} };
console.log(params); if (this.form.rentDiscountStatus == 2) {
console.log(this.form); params.rentDiscountPrice = this.form.pPrice + "," + this.form.hPrice + "," + this.form.zPrice//租车优惠价格 固定优化价格
updateVehicleModel(params).then(response => { }
if (response.status === 200) { console.log(params);
this.$notify({ console.log(this.form);
title: '成功', updateVehicleModel(params).then(response => {
message: '编辑成功', if (response.status === 200) {
type: 'success', this.$notify({
duration: 2000 title: '成功',
message: '编辑成功',
type: 'success',
duration: 2000
});
this.$emit("oneDialogEvent", true);
} else {
this.$notify({
title: '编辑失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
} else {
return;
}
}); });
this.$emit("oneDialogEvent", true); },
} else { /**
this.$notify({ * 关闭编辑车型
title: '编辑失败', */
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!', cancel() {
type: 'error', this.cleanForm();
duration: 2000 this.$emit("oneDialogEvent", false);
},
/**
* 编辑关键标签
* */
editLabe() {
this.keywordDialogVisible = true;
},
/**
* 删除房车参数
* */
delModelParam(index) {
this.form.modelParam.splice(index, 1);
},
/**
* 添加房车参数
* */
addModelParam() {
console.log(this.form.modelParam);
let c = {
key: "",
val: ""
};
this.form.modelParam.push(c);
},
/**
* 关闭关键标签配置
* */
cancelHandelLabel() {
this.keywordDialogVisible = false;
},
/**
* 更新关键标签
* */
updateLabel() {
let that = this;
this.keywordDialogVisible = false;
console.log(this.selectedLabel);
let a = [];
that.labelList.map(function (i) {
i.children.map(function (cc) {
that.selectedLabel.map(function (ii) {
if (ii == cc.id) {
a.push(cc.name);
}
})
});
}); });
} that.form.keyword = a.join(",");
}); },
} else { /**
return; * 关闭房车配置弹框
} * */
}); cancelHandel() {
}, this.configDialogVisible = false;
/** },
* 关闭编辑车型 /**
*/ * 更新房车配置弹框
cancel(){ * **/
this.cleanForm(); updateConfig() {
this.$emit("oneDialogEvent", false); let that = this;
}, this.configDialogVisible = false;
/** if (this.configItem.parent.isMore == 0) {
* 编辑关键标签 //单选
* */ console.log(this.childName);
editLabe(){ that.labelList.map(function (i) {
this.keywordDialogVisible = true; if (i.parent.id == that.configItem.parent.id) {
}, i.children.map(function (ic) {
/** if (ic.id == that.childName) {
* 删除房车参数 i.selectChild = ic.name;
* */ let a = [];
delModelParam(index){ i.childNameLists[0] = that.childName;
this.form.modelParam.splice(index, 1); }
}, })
/** }
* 添加房车参数 });
* */ console.log(that.labelList);
addModelParam(){ } else {
console.log(this.form.modelParam); if (this.childNameLists.length <= 0) {
let c = { return;
key: "", }
val:"" //多选
}; console.log(this.childNameLists);
this.form.modelParam.push(c); that.labelList.map(function (i) {
}, let a = [];
/** if (i.parent.id == that.configItem.parent.id) {
* 关闭关键标签配置 i.children.map(function (ic) {
* */ that.childNameLists.map(function (cc) {
cancelHandelLabel(){ if (cc == ic.id) {
this.keywordDialogVisible = false; a.push(ic.name);
}, }
/** });
* 更新关键标签 i.selectChild = a.join(",");
* */ i.childNameLists = that.childNameLists;
updateLabel(){ })
let that = this; }
this.keywordDialogVisible = false; });
console.log(this.selectedLabel);
let a = [];
that.labelList.map(function (i) {
i.children.map(function (cc) {
that.selectedLabel.map(function (ii) {
if (ii == cc.id) {
a.push(cc.name);
}
})
});
});
that.form.keyword = a.join(",");
},
/**
* 关闭房车配置弹框
* */
cancelHandel(){
this.configDialogVisible = false;
},
/**
* 更新房车配置弹框
* **/
updateConfig(){
let that = this;
this.configDialogVisible = false;
if(this.configItem.parent.isMore == 0){
//单选
console.log(this.childName);
that.labelList.map(function (i) {
if(i.parent.id == that.configItem.parent.id){
i.children.map(function (ic) {
if(ic.id == that.childName){
i.selectChild = ic.name;
let a = [];
i.childNameLists[0] = that.childName;
} }
}) let labelArr = [];
} let labelStr = that.form.keyword.split(",");
}); that.labelList.map(function (i) {
console.log(that.labelList); i.childNameLists.map(function (ii) {
} else{ labelArr.push(ii)
if(this.childNameLists.length<=0){ });
return;
}
//多选
console.log(this.childNameLists);
that.labelList.map(function (i) {
let a = [];
if(i.parent.id == that.configItem.parent.id){
i.children.map(function (ic) {
that.childNameLists.map(function (cc) {
if(cc == ic.id){
a.push(ic.name);
}
});
i.selectChild = a.join(",");
i.childNameLists = that.childNameLists;
})
}
});
}
let labelArr = [];
let labelStr = that.form.keyword.split(",");
that.labelList.map(function (i) {
i.childNameLists.map(function (ii) {
labelArr.push(ii)
});
// let c = i.selectChild.split(","); // let c = i.selectChild.split(",");
// c.map(function (cc) { // c.map(function (cc) {
// labelStr.push(cc); // labelStr.push(cc);
// }) // })
}); });
this.totalLabel = labelArr;//房车配置选中的全部标签id this.totalLabel = labelArr;//房车配置选中的全部标签id
// that.form.keyword = labelStr.join(","); // that.form.keyword = labelStr.join(",");
that.form.keyword = "";// 改变房车配置时,清空关键标签显示的文字 that.form.keyword = "";// 改变房车配置时,清空关键标签显示的文字
that.selectedLabel = [];// 改变房车配置时,清空关键标签选中的id that.selectedLabel = [];// 改变房车配置时,清空关键标签选中的id
let canSelectLabel = []; let canSelectLabel = [];
that.labelList.map(function (i) { that.labelList.map(function (i) {
i.children.map(function (ic) { i.children.map(function (ic) {
that.totalLabel.map(function (c) { that.totalLabel.map(function (c) {
if(ic.id == c){ if (ic.id == c) {
canSelectLabel.push(ic); canSelectLabel.push(ic);
} }
}) })
}) })
}); });
this.canSelectLabel = canSelectLabel;//房车配置选中的全部标签,供关键标签选择使用 this.canSelectLabel = canSelectLabel;//房车配置选中的全部标签,供关键标签选择使用
console.log(this.canSelectLabel); console.log(this.canSelectLabel);
console.log(this.totalLabel); console.log(this.totalLabel);
console.log(that.form.keyword); console.log(that.form.keyword);
}, },
/** /**
* editConfig * editConfig
* */ * */
editConfig(item){ editConfig(item) {
this.configDialogVisible = true; this.configDialogVisible = true;
this.childNameLists = []; this.childNameLists = [];
this.childName = undefined; this.childName = undefined;
this.modalTitle = item.parent.name; this.modalTitle = item.parent.name;
item.childNameList.map(function(ii){ item.childNameList.map(function (ii) {
ii.showName = ii.id; ii.showName = ii.id;
}); });
this.configItem = item;//待编辑配置信息 this.configItem = item;//待编辑配置信息
this.configItemChildren = item.children;//待配置的二级标签 this.configItemChildren = item.children;//待配置的二级标签
this.childNameLists = item.childNameLists; this.childNameLists = item.childNameLists;
this.childName = item.childNameLists[0]; this.childName = item.childNameLists[0];
console.log(item); console.log(item);
}, },
/** /**
* 获取一条车型数据 * 获取一条车型数据
* */ * */
getOne(id){ getOne(id) {
let that = this; let that = this;
getOneTypeById(id).then(response => { getOneTypeById(id).then(response => {
let item = response.data; let item = response.data;
let pic = item.picture.split(","); let pic = item.picture.split(",");
//轮播 //轮播
let fileList2 = []; let fileList2 = [];
pic.map(function(pp){ pic.map(function (pp) {
let p = { let p = {
url: pp url: pp
}; };
fileList2.push(p); fileList2.push(p);
}); });
this.fileList2 = fileList2; this.fileList2 = fileList2;
let yhPrice = item.rentDiscountPrice?item.rentDiscountPrice.split(","):[]; let yhPrice = item.rentDiscountPrice ? item.rentDiscountPrice.split(",") : [];
if(item.rentDiscountPrice) { if (item.rentDiscountPrice) {
item.pPrice = yhPrice.length>=1?parseInt(yhPrice[0]):0; item.pPrice = yhPrice.length >= 1 ? parseInt(yhPrice[0]) : 0;
item.hPrice = yhPrice.length>=2?parseInt(yhPrice[1]):0; item.hPrice = yhPrice.length >= 2 ? parseInt(yhPrice[1]) : 0;
item.zPrice = yhPrice.length>=3?parseInt(yhPrice[2]):0; item.zPrice = yhPrice.length >= 3 ? parseInt(yhPrice[2]) : 0;
} }
item.rentDiscountStatus = item.rentDiscountStatus+""; item.rentDiscountStatus = item.rentDiscountStatus + "";
item.hotSign = item.hotSign+""; item.hotSign = item.hotSign + "";
item.brand = item.brand*1; item.brand = item.brand * 1;
item.number = item.number*1; item.number = item.number * 1;
item.modelParam = JSON.parse(item.modelParam); item.modelParam = JSON.parse(item.modelParam);
let tagArr = response.data.config.split(","); let tagArr = response.data.config.split(",");
this.labelList.map(function(iitem){ this.labelList.map(function (iitem) {
let p = []; let p = [];
let pp = []; let pp = [];
let aa = []; let aa = [];
iitem.childNameLists =[]; iitem.childNameLists = [];
iitem.children.map(function (c) { iitem.children.map(function (c) {
tagArr.map(function (ii) { tagArr.map(function (ii) {
if(c.id == ii){ if (c.id == ii) {
p.push(c); p.push(c);
aa.push(c.name); aa.push(c.name);
pp.push(c.id); pp.push(c.id);
}
});
});
iitem.childNameList = p;
iitem.childNameLists = pp;
iitem.selectChild = aa.join(",");
});
/**
* 关键标签可选的二级分类
* */
let labelArr = [];
that.labelList.map(function (i) {
i.childNameLists.map(function (ii) {
labelArr.push(ii)
});
});
that.totalLabel = labelArr;
let canSelectLabel = [];
that.labelList.map(function (i) {
i.children.map(function (ic) {
that.totalLabel.map(function (c) {
if (ic.id == c) {
canSelectLabel.push(ic);
}
})
})
});
this.canSelectLabel = canSelectLabel;
response.data.hotSign = response.data.hotSign ? response.data.hotSign : "2";
this.form = response.data;
this.activeName2 = "first";
})
},
/**
* 深拷贝
*/
objDeepCopy(source) {
var sourceCopy = source instanceof Array ? [] : {};
for (var item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
} }
}); return sourceCopy;
}); },
iitem.childNameList = p; querySearch(queryString, cb) {
iitem.childNameLists = pp; let selectArry = [];
iitem.selectChild = aa.join(","); this.allCompaniesArr.map(function (item) {
}); item.value = item.name;
/** selectArry.push(item);
* 关键标签可选的二级分类 });
* */ this.selectArry = selectArry;
let labelArr = []; var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
that.labelList.map(function (i) { // 调用 callback 返回建议列表的数据
i.childNameLists.map(function (ii) { cb(results);
labelArr.push(ii) },
}); /**
}); * 富文本内容
that.totalLabel = labelArr; * @param step
let canSelectLabel = []; */
that.labelList.map(function (i) { editorReadyEvent(instance) {
i.children.map(function (ic) { let t = this;
that.totalLabel.map(function (c) { instance.addListener('contentChange', () => {
if(ic.id == c){ t.form.modelsDetails = instance.getContent();
canSelectLabel.push(ic); });
},
/**
* 删除banner
* */
handleRemove(file, fileList) {
let list = [];
fileList.map(function (item) {
if (item.url != file.url) {
list.push(item);
}
});
this.fileList2 = list;
let arr = [];
let picture = this.form.picture.split(",");
picture.map(function (item) {
if (item != file.url) {
arr.push(item);
}
});
this.form.picture = arr.join(",");
},
/**
* banner上传
* */
handleBannerSuccess(res, file) {
this.fileList2.push({url: res.data});
let c = [];
this.fileList2.map(function (i) {
c.push(i.url);
});
this.form.picture = c.join(",");
},
/**
* 清空旅游弹框数据
*/
cleanForm() {
this.activeName2 = "";
this.form = {
name: undefined,//房车名称
config: "",//房车配置
keyword: "",//房车关键标签
modelsDetails: "",//房车详情
modelParam: [],//房车参数
picture: "",//轮播图
price: 0,//租车价格
deposit: 20000,//总押金
vioDeposit: 0,//违章押金
hotSign: "2",//热门车型 1、热门 2、非热门
rentDiscountStatus: "0",//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
rentDiscountPrice: "",//租车优惠价格 固定优化价格
buyPrice: 0,//购买价格
posterBackground: '',//海报背景
alt: '',
imgTitle: undefined,
imgKeyword: undefined,
imgDesc: undefined,
} }
}) }
})
});
this.canSelectLabel = canSelectLabel;
response.data.hotSign = response.data.hotSign? response.data.hotSign: "2";
this.form = response.data;
this.activeName2 = "first";
})
},
/**
* 深拷贝
*/
objDeepCopy (source) {
var sourceCopy = source instanceof Array ? [] : {};
for (var item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
}
return sourceCopy;
},
querySearch(queryString, cb) {
let selectArry = [];
this.allCompaniesArr.map(function(item){
item.value = item.name;
selectArry.push(item);
});
this.selectArry = selectArry;
var results = queryString ? selectArry.filter(this.createFilter(queryString)) : selectArry;
// 调用 callback 返回建议列表的数据
cb(results);
},
/**
* 富文本内容
* @param step
*/
editorReadyEvent(instance){
let t = this;
instance.addListener('contentChange', () => {
t.form.modelsDetails = instance.getContent();
});
},
/**
* 删除banner
* */
handleRemove(file, fileList){
let list = [];
fileList.map(function(item){
if(item.url != file.url){
list.push(item);
}
});
this.fileList2 = list;
let arr = [];
let picture = this.form.picture.split(",");
picture.map(function(item){
if(item != file.url){
arr.push(item);
}
});
this.form.picture = arr.join(",");
},
/**
* banner上传
* */
handleBannerSuccess(res, file){
this.fileList2.push({url: res.data});
let c = [];
this.fileList2.map(function (i) {
c.push(i.url);
});
this.form.picture = c.join(",");
},
/**
* 清空旅游弹框数据
*/
cleanForm() {
this.activeName2 = "";
this.form = {
name: undefined,//房车名称
config: "",//房车配置
keyword: "",//房车关键标签
modelsDetails: "",//房车详情
modelParam: [],//房车参数
picture: "",//轮播图
price: 0,//租车价格
deposit: 20000,//总押金
vioDeposit: 0,//违章押金
hotSign: "2",//热门车型 1、热门 2、非热门
rentDiscountStatus:"0",//租车优惠状态 0--没有优惠;1--会员折扣;2--固定值
rentDiscountPrice: "",//租车优惠价格 固定优化价格
buyPrice: 0,//购买价格
posterBackground:'',//海报背景
alt:'',
} }
}
} }
}
</script> </script>
<style> <style>
.flex-aic{ .flex-aic {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.left-item{ .left-item {
width: 300px; width: 300px;
border-left: 1px solid #999; border-left: 1px solid #999;
border-right: 1px solid #999; border-right: 1px solid #999;
border-bottom: 1px solid #999; border-bottom: 1px solid #999;
padding: 3px; padding: 3px;
} }
.right-item{
width:400px; .right-item {
width: 400px;
border-right: 1px solid #999; border-right: 1px solid #999;
border-bottom: 1px solid #999; border-bottom: 1px solid #999;
padding: 3px; padding: 3px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment