<template> <div class="directorGoodsEdit"> <div class="head-title"> <span @click="CommonJump('directorGoodsList')" class="blue point">{{$t('objFill.v101.shangpinlieb')}}</span> / {{$t('objFill.v101.Rest.tianjiashanp')}} </div> <div style="background:#fff;margin-top:10px;padding:10px 20px 20px"> <el-form class="app-batch" :model="addMsg" :rules="rules" ref="addMsg" label-width="180px"> <el-tabs v-model="activeName"> <el-tab-pane :label="$t('objFill.v101.shangpinshez')" name="first"> <el-card shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('objFill.v101.xuanzhefle')}}</span> </div> <el-row> <el-col :span="12"> <el-form-item :label="$t('objFill.v101.shangjbm')"> <el-radio-group v-model="addMsg.GoodsPageType" @change="getGoodType(addMsg.GoodsPageType)"> <el-radio v-for="(item,index) in My_cateList" :key="index" :label="item.Id">{{item.Name}}</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item :label="$t('ground.shangpinfl')"> <template v-if=" addMsg.CategoryList && addMsg.CategoryList.length > 0 "> <el-tag type="warning" style="margin-right:10px;" @close="exitCheck(item, index)" v-for="(item, index) in addMsg.CategoryList" :key="index+'1'" closable>{{ item.CategoryName }} </el-tag> </template> <el-button type="primary" @click=" (flDig = true), (keepCategoryList = addMsg.CategoryList) " style="margin:0 10px;" size="small">{{$t('objFill.v101.xuanzhefle')}}</el-button> <span @click="CommonJump('addGoodsClass')" class="blue point">{{$t('objFill.v101.Rest.tianjiafenl')}}</span> </el-form-item> </el-col> </el-row> </el-card> <el-card style="margin-top:20px" shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('salesModule.BaseInfo')}}</span> </div> <el-row> <el-col :span="12"> <el-form-item :label="$t('objFill.v101.shangcspbma')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.zhincsczhqxxi')" placement="top" style="position: absolute;left: -22px;top:12px"> <i class="el-tooltip el-icon-info"></i> </el-tooltip> <el-input v-model="addMsg.Id" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append" @click="getcode()">{{$t('objFill.v101.huoqu')</el-button> </el-input> </el-form-item> <el-form-item :label="$t('MarketingActi.commName')" prop="Name"> <el-input v-model="addMsg.Name" size="small" :placeholder="$t('fnc.qsrneirong')" maxlength="100" show-word-limit> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.shangpinfbt')"> <el-input v-model="addMsg.SubName" size="small" :placeholder="$t('fnc.qsrneirong')" maxlength="100" show-word-limit> </el-input> </el-form-item> <el-form-item :label="$t('hotel.hotel_Supplier')" prop="SupplierId"> <el-select class="w150" style="margin-right: 10px;" v-model="SupplierId" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeSupplier'> <el-option v-for="item in options" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.v101.shangplbtdz')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.diyzwfmian')" placement="top" style="position: absolute;left: -22px;top:12px"> <i class="el-tooltip el-icon-info"></i> </el-tooltip> <p style="color:#c9c9c9;margin-bottom: 12px;"> {{$t('objFill.v101.diyzwsltqtwlb')}} </p> <div class="nav_Main"> <div class="nav_IconContent"> <draggable v-model="addMsg.CarouselImageList"> <div v-for="(item, index) in addMsg.CarouselImageList" :key="index+'2'" style="margin-right: 20px; position: relative; "> <div class="colapp-image" :style="{ backgroundImage: 'url(' + item.Path + ')' }"></div> <el-button @click="ClearCarouse(index)" class="delBtn" type="danger" icon="el-icon-close" circle></el-button> </div> </draggable> </div> <el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" :http-request="openChangeDig1" multiple> <div v-if="addMsg.CarouselImageList.length<9" class="add-image-btn 2222"> + {{$t('pub.addImg')}} </div> </el-upload> </div> </el-form-item> <el-form-item :label="$t('objFill.v101.shangpship')"> <el-input v-model="addMsg.VideoAddress" size="small" :placeholder="$t('fnc.qsrneirong')"> </el-input> <a v-if="addMsg.VideoAddress != ''" class="blue noline" :href="addMsg.VideoAddress" target="_blank">{{$t('objFill.v101.shiplianj')}}</a> </el-form-item> <el-form-item :label="$t('objFill.v101.zidinyfxbt')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.fenxghyzw')" placement="top" style="position: absolute;left: -22px;top:12px"> <i class="el-tooltip el-icon-info"></i> </el-tooltip> <el-input v-model="addMsg.CustomShareTitles" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"></el-input> <p class="blue point" @click="imgDig = true">{{$t('objFill.v101.chakantul')}}</p> </el-form-item> <el-form-item class="commonLabel discount" :label="$t('objFill.v101.zidyfxtup')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.fenzhyszwfxt')" placement="top-start" style="position: absolute;left: -22px;top:12px"> <i class="elzk el-tooltip el-icon-info"></i> </el-tooltip> <el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" :http-request="openChangeDig2"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.jianyccsel')" placement="top"> <el-button size="small">{{$t('ground.xuanzetupian')}}</el-button> </el-tooltip> </el-upload> <div class="app-gallery-item" style="position: relative;width: 100px;margin-top: 10px;border:none"> <img v-if=" !addMsg.CustomShareImage || addMsg.CustomShareImage == '' " src="../../../assets/img/default.png" style="width:80px;height:80px" alt="" /> <el-button @click="clearCustom" style="position: absolute;right: 6px;top: -10px;" v-if=" addMsg.CustomShareImage && addMsg.CustomShareImage != '' " size="mini" type="danger" icon="el-icon-close" circle></el-button> <img v-if="addMsg.CustomShareImage ||addMsg.CustomShareImage !=''" style="width:80px;height:80px" :src="addMsg.CustomShareImage" alt="" /> </div> <p style="margin-top:-15px" class="blue f12"> <span class="point" @click="imgDig = true">{{$t('objFill.v101.chakantul')}}</span> </p> </el-form-item> <el-form-item :label="$t('objFill.v101.zhibsp')"> <el-switch v-model="addMsg.IsLiveGoods" active-color="#409EFF" :active-value="1" :inactive-value="2"> </el-switch> </el-form-item> <el-form-item :label="$t('objFill.v101.shangjiazt')"> <el-switch v-model="addMsg.GoodsStatus" active-color="#409EFF" :active-value="1" :inactive-value="2"> </el-switch> </el-form-item> </el-col> </el-row> </el-card> <el-card style="margin-top:20px" shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('objFill.v101.fuwuxinxi')}}</span> </div> <el-row> <el-col :span="12"> <el-form-item :label="$t('objFill.v101.zhandian')" prop="SiteId"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.SiteId" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeSiteId'> <el-option v-for="item in SiteList" :key="item.ID" :label="item.SiteName" :value="item.ID"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.v101.guanlday')" prop="GuideId" v-if="addMsg.SiteId!=''"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.GuideId" size="small" :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in GuideList" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.v101.guanliancl')" prop="CarId"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.CarId" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeCarId'> <el-option v-for="item in CarList" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.v101.chelianyse')" prop="CarColorId" v-if="addMsg.CarId!=''"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.CarColorId" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeCarColorList'> <el-option v-for="item in CarColorList" :key="item.ID" :label="item.ColorName" :value="item.ID"> </el-option> </el-select> <!-- <img v-for="(item,index) in CarColorList" :key="item.ID" src="" alt="">--> </el-form-item> <el-form-item :label="$t('objFill.chepaihao')" prop="CarNumber"> <el-input v-model="addMsg.CarNumber" size="small" :placeholder="$t('objFill.qingshurucph')" class="input-with-select"> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.chelgmnfen')"> <el-input v-model="addMsg.CarBuyYear" size="small" :placeholder="$t('objFill.v101.qingsrclgmnfen')" class="input-with-select"> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.fuwuleix')" prop="CarType"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.CarType" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeEnumList'> <el-option v-for="item in EnumList" :key="item.Id" :label="item.Name" :value="item.Id"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('system.query_lineName')" v-if="EnumType==5" prop="LineName"> <el-input v-model="addMsg.LineName" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.shiyongts')" v-if="EnumType==3||EnumType==4||EnumType==5"> <el-select class="w150" style="margin-right: 10px;" v-model="addMsg.UseDay" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeSupplier'> <el-option v-for="item in DayList" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> </el-form-item> <el-form-item :label="$t('objFill.v101.guanlcshjdi')" v-if="EnumType==5"> <div flex="dir:left" style="flex-wrap: wrap;"> <div class="attr-list" v-for="(item,index) in LineCityScen" :key="index"> <el-input size="mini" v-model="item.Name" width="152px"></el-input> <i @click="Deleteggz(index)" class="el-icon-error close"></i> </div> <div> <span @click="addGgz()" class="blue f12">{{$t('objFill.v101.Rest.tianjiacshjd')}}</span> </div> </div> </el-form-item> <el-form-item :label="$t('objFill.v101.chengzuorshu')" prop="RideNum"> <el-input v-model="addMsg.RideNum" size="small" @keyup.native="checkInteger(addMsg,'RideNum')" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_people')}}</el-button> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.shifoupinche')" v-if="addMsg.CarType==5"> <el-radio v-model="addMsg.IsSpell" :label="1">{{$t('pub.yes')}}</el-radio> <el-radio v-model="addMsg.IsSpell" :label="2">{{$t('pub.no')}}</el-radio> </el-form-item> <el-form-item :label="$t('objFill.v101.Rest.tiqianyudts')" prop="AdvanceDay"> <el-input v-model="addMsg.AdvanceDay" size="small" @keyup.native="checkPrice(addMsg,'AdvanceDay')" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_day')}}</el-button> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.quyugmai')"> <el-switch v-model="addMsg.IsAreaBuy" active-color="#409EFF" :active-value="1" :inactive-value="0"> </el-switch> </el-form-item> <el-form-item v-if="addMsg.IsAreaBuy == 1" :label="$t('objFill.v101.yunxqygmai')"> <span v-if="addMsg.AreaList.length == 0" @click="addOf" class="blue point">+{{$t('objFill.v101.tianjiadqu')}}</span> <div v-if="addMsg.AreaList.length > 0" style="border: 1px solid #EBEEF5;padding:20px" flex="dir:left box:last"> <div> <div flex="dir:left" style="flex-wrap: wrap; width: 90%;"> <span>{{$t('system.quety_area')}}:</span> <el-tag v-for="item in addMsg.AreaList" :key="item.Id" type="info" style="margin:5px"> {{ item.AreaName }}</el-tag> </div> </div> <div> <img @click="editQy" src="../../../assets/img/userman/edit.png" alt="" /> <img @click="(addMsg.AreaList = []), (AreaList = [])" style="margin-left:15px" src="../../../assets/img/userman/del.png" alt="" /> </div> </div> </el-form-item> </el-col> </el-row> </el-card> <el-card style="margin-top:20px" shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('objFill.v101.jiagekcun')}}</span> </div> <el-row> <el-col :span="12"> <el-form-item :label="$t('system.table_rank')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.paixzyxykqi')" placement="top-start" style="position: absolute;left: -22px;top:12px"> <i class="elzk el-tooltip el-icon-info"></i> </el-tooltip> <el-input v-model="addMsg.Sort" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"></el-input> </el-form-item> <el-form-item :label="$t('objFill.soujia')" prop="SellingPrice"> <el-input v-model="addMsg.SellingPrice" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_yuan')}}</el-button> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.yuanjia')" prop="OriginalPrice"> <el-input v-model="addMsg.OriginalPrice" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_yuan')}}</el-button> </el-input> </el-form-item> <el-form-item :label="$t('objFill.chengbenjia')"> <el-input @change="getSuggestPrice" v-model="addMsg.CostPrice" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_yuan')}}</el-button> </el-input> <span v-if=" SuggestPriceInfo.Status && SuggestPriceInfo.Status == 1 " class="cred" style="position: absolute;width: 400px;margin-left: 15px;"> {{$t('objFill.v101.jianyilsj')}}:¥{{ SuggestPriceInfo.MPrice }} </span> </el-form-item> <!-- 判断是开启了粉象返佣 --> <el-form-item :label="$t('objFill.v101.FinancialModule.fanyongzje')" prop="Commission" v-if="FxState==1"> <el-input v-model="addMsg.Commission" @keyup.native="checkPrice(addMsg,'Commission')" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append">{{$t('hotel.hotel_yuan')}}</el-button> </el-input> </el-form-item> <el-form-item :label="$t('salesModule.bookDate')" class="is-required"> <el-select class="w120" style="margin-right: 10px;" v-model="dateMsg.DayType" size="small" :placeholder="$t('pub.pleaseSel')" @change='changeSupplier'> <el-option v-for="item in reserveList" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> <template v-if="dateMsg.DayType==1"> <div style="margin-left:30px;display:inline-block;"> {{$t('pub.date')}}: <el-date-picker class="w130" size="small" v-model="dateMsg.StartDate" type="date" value-format="yyyy-MM-dd" :picker-options="pickerBeginDateBefore" :placeholder="$t('admin.admin_choDate')"> </el-date-picker> - <el-date-picker class="w130" size="small" v-model="dateMsg.EndDate" value-format="yyyy-MM-dd" type="date" :picker-options="pickerBeginDateAfter" :placeholder="$t('admin.admin_choDate')"></el-date-picker> </div> </template> <template v-if="dateMsg.DayType==2"> <div style="margin-left:20px;display:inline-block;"> {{$t('ground.yuefen')}}: <el-date-picker v-model="dateMsg.Month" size="small" value-format="yyyy-MM" type="month" :placeholder="$t('op.ChoiceMonth')"> </el-date-picker> </div> </template> <template v-if="dateMsg.DayType==3"> <div style="display:inline-block;"> {{$t('pub.year')}}: <el-date-picker class="w90" size="small" v-model="dateMsg.Year" value-format="yyyy" type="year" :placeholder="$t('objFill.xuanzhenian')"> </el-date-picker> {{$t('ground.yuefen')}}: <el-select size="small" class="w90" v-model="dateMsg.Month"> <el-option :label="$t('objFill.yuefens')[0]" value="01"></el-option> <el-option :label="$t('objFill.yuefens')[1]" value="02"></el-option> <el-option :label="$t('objFill.yuefens')[2]" value="03"></el-option> <el-option :label="$t('objFill.yuefens')[3]" value="04"></el-option> <el-option :label="$t('objFill.yuefens')[4]" value="05"></el-option> <el-option :label="$t('objFill.yuefens')[5]" value="06"></el-option> <el-option :label="$t('objFill.yuefens')[6]" value="07"></el-option> <el-option :label="$t('objFill.yuefens')[7]" value="08"></el-option> <el-option :label="$t('objFill.yuefens')[8]" value="09"></el-option> <el-option :label="$t('objFill.yuefens')[9]" value="10"></el-option> <el-option :label="$t('objFill.yuefens')[10]" value="11"></el-option> <el-option :label="$t('objFill.yuefens')[11]" value="12"></el-option> </el-select> {{$t('objFill.v101.hote.zhou')}}: <el-select size="small" class="w100" v-model="dateMsg.Week"> <el-option :label="$t('objFill.v101.hote.weeks')[0]" value="0"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[1]" value="1"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[2]" value="2"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[3]" value="3"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[4]" value="4"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[5]" value="5"></el-option> <el-option :label="$t('objFill.v101.hote.weeks')[6]" value="6"></el-option> </el-select> </div> </template> <el-button size="small" type="primary" @click="SaveDate()">{{$t('fnc.tianjia')}}</el-button> </el-form-item> <el-form-item> <el-tag type="info" style="margin-right:20px;" closable @close="handleClose(index)" v-for="(SubItem,index) in subDateList" :key="index" size="small">{{SubItem}}</el-tag> </el-form-item> </el-col> </el-row> </el-card> <el-card style="margin-top:20px" shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('objFill.v101.yinxiaosz')}}</span> </div> <el-row> <el-col :span="12"> <el-form-item :label="$t('objFill.v101.jifenzso')"> <el-tooltip class="item" effect="dark" placement="top" style="position: absolute;left: -10px;top:12px"> <div slot="content"> {{$t('objFill.v101.yonghgwzsjf')[0]}}<br /> {{$t('objFill.v101.yonghgwzsjf')[1]}}<br /> {{$t('objFill.v101.yonghgwzsjf')[2]}}<br /> {{$t('objFill.v101.yonghgwzsjf')[3]}}<br /> </div> <i class="el-tooltip el-icon-info"></i> </el-tooltip> <el-input v-model="addMsg.IntegralPresent" style="width:100%;margin-left:15px" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <el-button slot="append"> {{$t('objFill.fen')}} <el-radio v-model="addMsg.IntegralPresentType" :label="2">{{$t('objFill.v101.gudinzhi')}}</el-radio> <el-radio v-model="addMsg.IntegralPresentType" :label="1">{{$t('objFill.v101.baifenbi')}}</el-radio> </el-button> </el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.jifendk')"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.rugszlzbzc')" placement="top" style="position: absolute;left: -10px;top:12px"> <i class="el-tooltip el-icon-info"></i> </el-tooltip> <el-input v-model="addMsg.PointsDeduction" style="width:100%;margin-left:15px" type="number" min="1" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"> <template slot="prepend">{{$t('objFill.v101.zuiddik')}}</template> <el-button slot="append"> {{$t('hotel.hotel_yuan')}} <el-radio v-model="addMsg.PointsDeductionType" :label="2">{{$t('objFill.v101.gudinzhi')}}</el-radio> <el-radio v-model="addMsg.PointsDeductionType" :label="1">{{$t('objFill.v101.baifenbi')}}</el-radio> </el-button> </el-input> </el-form-item> <el-form-item label-width="200px"> <el-checkbox v-model="addMsg.IsMultipleDeduction" :true-label="1" :false-label="2">{{$t('objFill.v101.yunxudjdik')}} </el-checkbox> </el-form-item> <el-form-item :label="$t('objFill.v101.guangci')"> <el-input v-model="addMsg.Advertising" style="width:100%;margin-left:15px" type="textarea" :rows="3" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select"></el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.biaoqianlix')"> <el-radio v-model="addMsg.MarketingLogo.iswords" :label="1">{{$t('objFill.v101.wenzimos')}}</el-radio> <el-radio v-model="addMsg.MarketingLogo.iswords" :label="2">{{$t('objFill.v101.tupianmos')}}</el-radio> <el-radio v-model="addMsg.MarketingLogo.iswords" :label="0">{{$t('objFill.v101.wumoshi')}}</el-radio> </el-form-item> <el-form-item :label="$t('objFill.v101.biaoqwzi')" v-if="addMsg.MarketingLogo.iswords==1"> <el-input v-model="addMsg.MarketingLogo.words" style="width:100%;margin-left:15px" size="small" :placeholder="$t('fnc.qsrneirong')" class="input-with-select" maxlength='10' show-word-limit></el-input> </el-form-item> <el-form-item :label="$t('objFill.v101.biaoqztys')" v-if="addMsg.MarketingLogo.iswords==1"> <el-color-picker style="width:100%;margin-left:15px" v-model="addMsg.MarketingLogo.wordsColor" show-alpha :predefine="predefineColors"> </el-color-picker> </el-form-item> <el-form-item :label="$t('objFill.v101.biaoqbjyse')" v-if="addMsg.MarketingLogo.iswords==1"> <el-color-picker style="width:100%;margin-left:15px" v-model="addMsg.MarketingLogo.wordsBack" show-alpha :predefine="predefineColors"> </el-color-picker> </el-form-item> <el-form-item class="commonLabel discount" :label="$t('objFill.v101.biaoqiantup')" v-if="addMsg.MarketingLogo.iswords==2"> <el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" :http-request="openChangeDig4"> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.jianycic')" placement="top"> <el-button size="small">{{$t('ground.xuanzetupian')}}</el-button> </el-tooltip> </el-upload> <div class="app-gallery-item" style="position: relative;width: 100px;margin-top: 10px;border:none"> <img v-if=" !addMsg.MarketingLogo.ico || addMsg.MarketingLogo.ico == '' " src="../../../assets/img/default.png" style="width:80px;height:80px" alt="" /> <el-button @click="addMsg.MarketingLogo.ico = ''" style="position: absolute;right: 6px;top: -10px;" v-if=" addMsg.MarketingLogo.ico && addMsg.MarketingLogo.ico != '' " size="mini" type="danger" icon="el-icon-close" circle></el-button> <img style="width:80px;height:80px" :src="addMsg.MarketingLogo.ico" alt="" /> </div> </el-form-item> </el-col> </el-row> </el-card> <el-card style="margin-top:20px" shadow="never"> <div slot="header" class="clearfix"> <span>{{$t('objFill.shangpingxq')}}</span> </div> <el-row> <el-col :span="242"> <!-- <UE style="width:750px;" :defaultMsg="defaultMsg" :config="config" :IsMultiple="true" ref="ue"></UE>--> <my-edit v-on:edit-value="addMsg.GoodsDetails = arguments[0]" v-bind:editValue="addMsg.GoodsDetails" v-bind:toolbarShow="toolbar" v-bind:referenceList="DefaultList" v-bind:placeholder="placeholder"></my-edit> </el-col> </el-row> </el-card> </el-tab-pane> <el-tab-pane :label="$t('objFill.v101.fenxiaojszhi')" name="second"> <el-form-item :label="$t('objFill.v101.shifkqddufx')"> <el-switch @change="HpChange" v-model="addMsg.SeparateDistribution" active-color="#409EFF" :active-value="1" :inactive-value="0"> </el-switch> </el-form-item> <template v-if="addMsg.SeparateDistribution == 1"> <el-form-item :label="$t('objFill.v101.fenxyjlxi')"> <el-radio v-model="addMsg.SeparateDistributionMoneyType" :label="2">{{$t('fnc.gdjine')}}</el-radio> <el-radio v-model="addMsg.SeparateDistributionMoneyType" :label="1">{{$t('objFill.v101.baifenbi')}}</el-radio> </el-form-item> <el-form-item class="111"> <div v-if="addMsg.SeparateDistributionType == 1" class="app-attr"> <div class="box"> <el-form-item label-width="90px" style="display:inline-block" :label="$t('objFill.v101.pilianszhi')"> <el-select style="width:130px" v-model="pusetVal" size="small"> <el-option v-for="(item, index) in butorInt" :label="`${index + 1}${$t('objFill.v101.jifenxiao')}`" :value="index + 1" :key="index+'8'"></el-option> </el-select> <el-input style="width:150px;position:relative;top:5px" size="small" v-model="ptinput" :placeholder="$t('fnc.qsrneirong')"> <el-button slot="append"> <span v-if="addMsg.SeparateDistributionMoneyType == 2">{{$t('hotel.hotel_yuan')}}</span> <span v-if="addMsg.SeparateDistributionMoneyType == 1">%</span> </el-button> </el-input> <el-button @click="PuSet" style="position:relative;" size="small" type="primary">{{$t('leader.leader_Set')}}</el-button> </el-form-item> </div> <el-table ref="table" :data="GradeCommissionList" border style="width: 100%" @selection-change="TbaleSelectionChange2"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column width="100" :label="$t('objFill.v101.activity.dengjimingc')"> <template slot-scope="scope"> <template v-for="(item2, index) in DropdownList"> <span :key="index+'9'" v-if="scope.row.DistributorGrade == item2.Id">{{ item2.Name }}</span> </template> </template> </el-table-column> <template v-for="(item, index) in butorIntList"> <el-table-column :key="index+'10'" :label="item.Name"> <template slot-scope="scope"> <span> <el-input v-model="scope.row.OneCommission" v-if="index == 0" size="small"> <el-button slot="append"> <span v-if=" addMsg.SeparateDistributionMoneyType == 2 ">{{$t('hotel.hotel_yuan')}}</span> <span v-if=" addMsg.SeparateDistributionMoneyType == 1 ">%</span> </el-button> </el-input> <el-input v-model="scope.row.TwoCommission" v-if="index == 1" size="small"> <el-button slot="append"> <span v-if=" addMsg.SeparateDistributionMoneyType == 2 ">{{$t('hotel.hotel_yuan')}}</span> <span v-if=" addMsg.SeparateDistributionMoneyType == 1 ">%</span> </el-button> </el-input> <el-input v-model="scope.row.ThreeCommission" v-if="index == 2" size="small"> <el-button slot="append"> <span v-if=" addMsg.SeparateDistributionMoneyType == 2 ">{{$t('hotel.hotel_yuan')}}</span> <span v-if=" addMsg.SeparateDistributionMoneyType == 1 ">%</span> </el-button> </el-input> </span> </template> </el-table-column> </template> </el-table> </div> </el-form-item> </template> <template v-if="hpState==1"> <table class="fen-table"> <thead> <tr> <th>{{$t('objFill.v101.jiesuanduix')}}</th> <th>{{$t('objFill.v101.jiescbmli')}}</th> <th>{{$t('objFill.v101.yujifanyje')}}</th> </tr> </thead> <tbody> <tr v-for="(x, i) in shareSettings" :key="i"> <td>{{x.GradeName}}</td> <td>{{x.cb}}({{x.CommissionRatio}}%)</td> <td>{{x.commission}}</td> </tr> </tbody> </table> <div class="fen-sumg"> <span style="margin-right:30px">{{$t('objFill.v101.zhikemjia')}}:{{addMsg.SellingPrice}}</span> <span style="margin-right:30px">{{$t('hotel.hotel_cost')}}:{{addMsg.CostPrice}}</span> <span style="margin-right:30px;color:red;">{{$t('objFill.v101.yujigslirun')}}:{{companyCommission}}</span> </div> </template> </el-tab-pane> <el-tab-pane :label="$t('objFill.v101.huiyjshez')" name="third"> <el-form-item :label="$t('objFill.v101.hifxshuyhgn')"> <el-switch v-model="addMsg.EnjoyMember" active-color="#409EFF" :active-value="1" :inactive-value="0"> </el-switch> </el-form-item> <el-form-item :label="$t('objFill.v101.shifddszhyjia')"> <el-switch v-model="addMsg.SeparateSetMember" active-color="#409EFF" :active-value="1" :inactive-value="0"> </el-switch> </el-form-item> <el-form-item v-if="addMsg.SeparateSetMember == 1 && huiyList.length == 0" :label="$t('objFill.v101.huiyjshez')"> <el-button @click="CommonJump('setMember')" size="small" type="danger">{{$t('objFill.v101.ruxszqxtjhyu')}}</el-button> </el-form-item> <el-form-item v-if="addMsg.SeparateSetMember == 1" :label="$t('objFill.v101.morgughyjsz')"> <template v-if="memberList1&&memberList1[0].GradePriceList.length>0"> <div v-for="(item, index) in memberList1[0].GradePriceList" :key="index+'15'"> <el-input style="width:700px" :placeholder="$t('fnc.qsrneirong')" v-model="item.MemberPrice" size="small" class="input-with-select"> <el-button slot="prepend">{{ item.MemberGrade }}{{$t('objFill.v101.jihuiyuan')}}</el-button> <el-button slot="append">{{$t('hotel.hotel_yuan')}}</el-button> </el-input> </div> </template> </el-form-item> </el-tab-pane> </el-tabs> </el-form> <div class="bottom-div" style="margin-top:20px"> <el-button size="small" type="primary" @click="Save('addMsg')" >{{$t('pub.saveBtn')}}</el-button> <!-- <el-button size="small">{{$t('sm.yulan')}}</el-button> --> </div> </div> <!-- 选择分类 --> <el-dialog custom-class="app-add-cat" :title="$t('objFill.v101.xuanzhefle')" :visible.sync="flDig" width="1100px"> <el-row> <el-col :span="8" style="padding:0 10px;box-sizing:border-box"> <h3 style="padding:15px 0">{{$t('objFill.v101.yijifenlei')}}</h3> <div class="app-goods-cat-list active"> <el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange"> <div v-for="(item, index) in fenleiData" :key="index+'19'" flex="dir:left box:first" class="cat-item" style="display: flex;align-items: center;"> <el-checkbox :label="item.Id"> <span style="display: none;">{{ item.Name }}</span> </el-checkbox> <div flex="box:last cross:center" style="display: flex;align-items: center;"> <span>{{ item.Name }}</span> <i v-if="item.ChildList.length > 0" @click="getChild2(item.ChildList)" class="el-icon-arrow-right"></i> </div> </div> </el-checkbox-group> </div> </el-col> <el-col v-show="childList2.length > 0" :span="8" style="padding:0 10px;box-sizing:border-box"> <h3 style="padding:15px 0">{{$t('objFill.v101.erjifenlei')}}</h3> <div class="app-goods-cat-list active"> <el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange"> <div v-for="(item, index) in childList2" :key="index+'20'" flex="dir:left box:first" class="cat-item" style="display: flex;align-items: center;"> <el-checkbox :label="item.Id"> <span style="display: none;">{{ item.Name }}</span> </el-checkbox> <div flex="box:last cross:center" style="display: flex;align-items: center;"> <span>{{ item.Name }}</span> <i v-if="item.ChildList.length > 0" @click="getChild3(item.ChildList)" class="el-icon-arrow-right"></i> </div> </div> </el-checkbox-group> </div> </el-col> <el-col v-show="childList3.length > 0" :span="8" style="padding:0 10px;box-sizing:border-box"> <h3 style="padding:15px 0">{{$t('objFill.v101.sanjifenlei')}}</h3> <div class="app-goods-cat-list active"> <el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange"> <div v-for="(item, index) in childList3" :key="index+'21'" flex="dir:left box:first" class="cat-item" style="display: flex;align-items: center;"> <el-checkbox :label="item.Id"> <span style="display: none;">{{ item.Name }}</span> </el-checkbox> <div flex="box:last cross:center" style="display: flex;align-items: center;"> <span>{{ item.Name }}</span> <i class="el-icon-arrow-right"></i> </div> </div> </el-checkbox-group> </div> </el-col> </el-row> <div class="tag-box"> <el-tag @close="exitCheck(item)" v-for="(item, index) in addMsg.CategoryList" :key="index+'22'" type="warning" closable style="margin-right:5px">{{ item.Name }}</el-tag> </div> <span slot="footer" class="dialog-footer"> <el-button size="small" @click=" (flDig = false), (addMsg.CategoryList = keepCategoryList), ExitCateList() ">{{$t('pub.cancelBtn')}}</el-button> <el-button @click="(flDig = false), getSuggestPrice()" size="small" type="primary">{{$t('pub.sureBtn')}}</el-button> </span> </el-dialog> <!-- 查看图例 --> <el-dialog :title="$t('objFill.v101.chakzidyfxtp')" :visible.sync="imgDig" width="30%"> <div class="center"> <img style=" width: 310px;height: 360px;" src="../../../assets/img/userman/app-share-name.png" alt="" /> </div> <span slot="footer" class="dialog-footer"> <el-button @click="imgDig = false" size="small" type="primary">{{$t('objFill.v101.header.wozhidl')}}</el-button> </span> </el-dialog> <!-- 选择图片 --> <el-dialog :title="$t('objFill.xuanzhewj')" :visible.sync="changeState" width="1240px"> <ChooseImg @SelectId="SelectId" :IsMultiple="true"></ChooseImg> </el-dialog> <!-- 选择视频 --> <el-dialog :title="$t('objFill.xuanzhewj')" :visible.sync="changeState1" width="1240px"> <Choosevideo @Selectvideo="Selectvideo"></Choosevideo> </el-dialog> <!-- 选择表单 --> <el-dialog :title="$t('objFill.v101.xuanzbdan')" top="2%" :visible.sync="choosebdDig" width="30%"> <div> <el-radio-group v-model="val1"> <el-radio @change="YfSelect1" style="padding-bottom:10px" class="yfradio" :label="{ Name: $t('objFill.v101.morenyunf'), Id: 0 }"> {{$t('objFill.v101.morenbdan')}} </el-radio> </el-radio-group> </div> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="(choosebdDig = false), (addMsg.FormsId = keepFormsId)">{{$t('pub.cancelBtn')}}</el-button> <el-button size="small" @click="choosebdDig = false" type="primary">{{$t('pub.sureBtn')}}</el-button> </span> </el-dialog> <!--区域--> <el-dialog custom-class="regionDig" :title="$t('system.quety_area')" :visible.sync="dialogFormVisible" width="950px"> <region_Choice @event1="change($event)" :List="AreaList" ref="child"></region_Choice> <div slot="footer" class="dialog-footer"> <el-button type="primary" size="small" @click="Addto">{{$t('pub.sureBtn')}}</el-button> </div> </el-dialog> </div> </template> <script> // import ChooseImg from "@/components/global/ChooseImg.vue"; // import Choosevideo from "@/components/global/Choosevideo.vue"; import region_Choice from "./view/regionChoice"; // import UE from "@/components/global/UE.vue"; import draggable from "vuedraggable"; import MyEdit from "../../EditTemplate.vue"; export default { components: { // ChooseImg, // Choosevideo, region_Choice, "my-edit": MyEdit, // UE, draggable }, data() { return { ComTreeList: [], thisType: 0, tableData: [], SpecificationList: [], SpecificationPriceList: [], speciDigActive: -1, newSpecificationValueList: [], SpecificationValueList: [], speciList: [], choosebdDig: false, val2: "", defaultMsg: "", config: { initialFrameWidth: null, initialFrameHeight: 350 }, dialogFormVisible: false, changeState1: false, changeState: false, imgDig: false, activeName: "first", flDig: false, addMsg: { Id: 0, CategoryList: [], //分类列表 Name: "", //商品名称 CarouselImageList: [], //轮播图 VideoAddress: "", //视频地址 CustomShareTitles: "", // 分享标题 CustomShareImage: "", //分享图片 GoodsStatus: 0, //商品状态 1销售中 2下架 IsLiveGoods: 2, //是否直播商品 1是 2否 Sort: 0, //排序 SellingPrice: 0, //销售价格 OriginalPrice: 0, //原价 CostPrice: 0, //成本价格 IsAreaBuy: 2, //是否区域购买 1是 2否 IntegralPresent: 0, //积分赠送 IntegralPresentType: 2, //积分赠送类型 PointsDeduction: 0, //积分抵扣 PointsDeductionType: 2, //积分抵扣类型 IsMultipleDeduction: 2, //是否可以多件累计抵扣 1是 2否 GoodsDetails: "", //商品描述 SeparateDistribution: 2, //分销 SeparateDistributionType: 1, SeparateDistributionMoneyType: 2, //默认显示固定金额 EnjoyMember: 1, //会员价 SeparateSetMember: 0, SupplierId: '', //供应商id Commission: 0, // 返佣总金额 (粉象模式开启 才显示) AreaList: [], //区域列表 DistributionCommissionList: [], //分销佣金 DistributionCommissionTreeList: [], MemberPriceList: [], //会员价格 Advertising: '', //广告词 SubName: '', //副标题 MarketingLogo: { //图标 iswords: 0, words: "", wordsColor: "", wordsBack: "", ico: "" }, SiteId: '', //站点id GuideId: '', //导游id CarId: '', //车辆id CarColorId: 2, //车辆颜色id CarNumber: '', //车牌号 CarBuyYear: '', //车购买年份 CarType: '', //服务类型 枚举 UseDay: 1, //使用天数 LineName: '', //线路名称 LineDescriptionList: [], //关联城市或景点 RideNum: 0, //乘坐人数 IsSpell: 2, //是否拼车 1是 2否 AdvanceDay: 0, // 提前预定天数 TargetDateStrList: [], GoodsPageType:0, //分类 0全部 1商城 2校园 // FormsId: -1, // FormsName: "", }, LineCityScen:[], //关联城市或景点 predefineColors: [ '#000000', '#FFFFFF', '#888888', '#FF4544', ], EnumType: 0, SupplierId: '', fenleiData: [], checkList: [], childList2: [], childList3: [], keepCategoryList: [], rules: { CategoryIdNew: [{ required: true, message: this.$t('objFill.v101.fenlbnwko'), trigger: "change" }], Name: [{ required: true, message: this.$t('ground.qingsrspmc'), trigger: "blur" }], SellingPrice: [{ required: true, message: this.$t('objFill.v101.qingsrspsjia'), trigger: "blur" }], OriginalPrice: [{ required: true, message: this.$t('objFill.v101.qingsruyjia'), trigger: "blur" }], Commission: [{ required: true, message: this.$t('objFill.v101.FinancialModule.fanyongzje'), trigger: "blur" }], CarNumber: [{ required: true, message: this.$t('objFill.qingshurucph'), trigger: "blur" }], UseDay: [{ required: true, message: this.$t('objFill.v101.qingsrsyots'), trigger: "blur" }], RideNum: [{ required: true, message: this.$t('objFill.v101.qingsrczrens'), trigger: "blur" }], AdvanceDay: [{ required: true, message: this.$t('objFill.v101.qingsrtiqydts'), trigger: "blur" }], LineName: [{ required: true, message: this.$t('system.ph_lineName'), trigger: "blur" }] }, SiteList: [], //站点列表 GuideList: [], //导游列表 CarList: [], //导游列表 CarColorList: [], //车辆颜色 EnumList: [], //服务列表 DayList: [{ 'ID': 0.5, 'Name': this.$t('objFill.halfday') }, { 'ID': 1, 'Name': this.$t('objFill.v101.tianshus')[0] }, { 'ID': 2, 'Name': this.$t('objFill.v101.tianshus')[1] }, { 'ID': 3, 'Name': this.$t('objFill.v101.tianshus')[2] }, { 'ID': 4, 'Name': this.$t('objFill.v101.tianshus')[3] }, { 'ID': 5, 'Name': this.$t('objFill.v101.tianshus')[4] }, { 'ID': 6, 'Name': this.$t('objFill.v101.tianshus')[5] }, { 'ID': 7, 'Name': this.$t('objFill.v101.tianshus')[6] }, ], reserveList: [{ 'ID': 1, 'Name': this.$t('objFill.v101.zhidqujian') }, { 'ID': 2, 'Name': this.$t('objFill.v101.anmeiyue') }, { 'ID': 3, 'Name': this.$t('objFill.v101.anmeizhou') }, ], reserveType: 1, imgType: 1, checkService: [], keepServiceList: [], ruleList: [], val: {}, val1: {}, AreaList: [], skuList: [], GoodsId: "", butorInt: 0, butorIntList: [], DropdownList: [], DistributionCommissionTreeList: [], disList1: [{ SpecificationSort: "", GradeCommissionList: [] }], disList2: [], GradeCommissionList: [], ggpl: "", ggplList: [], valpl: "", pusetVal: "", pusetList: [], ptinput: "", fxVal: "", gradeVal: "", xxVal: "", xxList: [], huiyList: [], memberList1: [{ Id: 0, SpecificationSort: "", GradePriceList: [] }], memberList2: [], memberinput: "", memberVal: "", memberCheck: [], imgListIndex1: 0, imgListIndex2: 0, NewCategoryList: [], hpState: 0, FxState: 0, SuggestPriceInfo: {}, shareSettings: [], companyCommission: 0, options: [], giveDate: false, //请求日期参数 dateMsg: { DayType: 1, //类型 StartDate: '', //开始时间 EndDate: '', //结束时间 Year: '', //年 Month: '', //月 Week: '' //周 }, pickerBeginDateBefore: { disabledDate: time => { if (this.dateMsg.EndDate == null) { return false; } else { let endTime = new Date(this.dateMsg.EndDate); return endTime.getTime() < time.getTime(); } } }, pickerBeginDateAfter: { disabledDate: time => { let startTime = new Date(this.dateMsg.StartDate); return startTime.getTime() >= time.getTime(); } }, subDateList: [], //日期数组 My_cateList:[], toolbar: { clean: true, font: false, //字体 narrative: false, //叙述, image:true, bold: true, //加粗 underline: true, //下划线 header1: true, //H1 header2: true, //H2 fontColor: true, //字体颜色 fontBackgroundColor: true, //背景颜色 }, DefaultList: [], placeholder: this.$t('pub.pleaseImport'), }; }, created() { if (this.$route.query.hpState) { this.hpState = this.$route.query.hpState; } if (this.$route.query.FxState) { this.FxState = this.$route.query.FxState; } this.gethuiyList(); this.getRule(); this.getSpeciList(); this.getDistributor(); this.getSupplierList() this.getAllGuideCarSiteList() this.getGuideCarList() //获取车辆下拉 this.getOrderListExportEnumList() this.getCateList(); }, mounted() { // this.$refs.ue.loadUe(); if (this.$route.query.GoodsId) { this.GoodsId = this.$route.query.GoodsId; this.getData(); }else{ this.getTree(); } }, methods: { initShareSettings() { let arr = []; this.addMsg.CategoryList.forEach(item => { item.Name = item.CategoryName; arr.push(item.CategoryId); }); let CategoryIds = arr.join(","); this.lxymallapipost( "/api/user/GetHpDistributorGoodsInfo", { CategoryIds: CategoryIds, CostPrice: "10" }, res => { if (res.data.resultCode == 1) { this.shareSettings = res.data.data.RatioList || [] this.calcCommission(0) } } ); }, calcCommission(t) { if (t == 0) { let maxratio = 0 let minratio = 100 if (this.shareSettings.length > 0) { this.shareSettings.forEach(x => { if (x.CommissionRatio > maxratio) { maxratio = x.CommissionRatio } }) } if (this.shareSettings.length > 0) { this.shareSettings.forEach(x => { x.cb = parseFloat(this.addMsg.CostPrice) / (1.00 - (parseFloat(x.CommissionRatio) / 100.00)) x.commission = (this.addMsg.SellingPrice - x.cb).toFixed(2) x.cb = x.cb.toFixed(2) if (x.CommissionRatio < minratio) { this.companyCommission = (this.addMsg.SellingPrice - (parseFloat(x.commission) + parseFloat(this .addMsg.CostPrice))).toFixed(2) minratio = x.CommissionRatio } }) } } }, HpChange() { if (this.FxState == 1) { this.Error(this.$t('objFill.v101.yikaqfxfxqpz')); this.addMsg.SeparateDistribution = 0; } else if (this.hpState == 1) { this.Error(this.$t('objFill.v101.yikaqhpfxqpz')); this.addMsg.SeparateDistribution = 0; } }, // HySet() { this.memberList2.forEach(item => { this.memberCheck.forEach(check => { if (item.Id == check.Id) { item.GradePriceList.forEach(list1 => { if (list1.MemberGrade == this.memberVal) { list1.MemberPrice = this.memberinput; } }); } }); }); }, TbaleSelectionChange4(val) { this.memberCheck = val; }, gethuiyList() { let msg = { Grade: 0, Name: "", Enabled: 1 }; this.lxymallapipost("/api/user/GetMemberGradeList", msg, res => { this.loading = false; if (res.data.resultCode == 1) { let pageData = res.data.data; this.huiyList = pageData; this.huiyList.forEach(item => { let obj = { Name: item.Name, MemberGrade: item.Grade, MemberPrice: 0 }; this.memberList1[0].GradePriceList.push(obj); }); } }); }, TbaleSelectionChange3(val) { this.xxList = val; }, PuSet() { this.GradeCommissionList.forEach(item => { this.pusetList.forEach(list => { if (item.DistributorGrade == list.DistributorGrade) { if (this.pusetVal == 1) { item.OneCommission = this.ptinput; } if (this.pusetVal == 2) { item.TwoCommission = this.ptinput; } if (this.pusetVal == 3) { item.ThreeCommission = this.ptinput; } } }); }); }, TbaleSelectionChange2(val) { this.pusetList = val; }, Save(formName) { this.$refs[formName].validate(valid => { if (valid) { // let content = this.$refs.ue.getUEContent(); // this.addMsg.GoodsDetails = content; if (this.addMsg.CategoryList.length == 0) { this.Error(this.$t('ground.qingxzspfl')); return false } //预定日期设置 this.addMsg.TargetDateStrList = this.subDateList; this.addMsg.LineDescriptionList=[]; if(this.LineCityScen.length>0){ this.LineCityScen.forEach(x=>{ this.addMsg.LineDescriptionList.push(x.Name); }) } if (this.addMsg.SeparateDistributionType == 1) { this.disList1 = [{ SpecificationSort: "", GradeCommissionList: this.GradeCommissionList }], this.addMsg.DistributionCommissionList = this.disList1; } if (this.addMsg.SeparateSetMember == 1) { this.addMsg.MemberPriceList = this.memberList1; this.addMsg.MemberPriceTreeList = this.memberList1; } // let mall_userInfo = JSON.parse(localStorage.mall_userInfo) // if (mall_userInfo.TenantId == 1 && mall_userInfo.MallBaseId == 1 && this.SupplierId == '') { // this.Error(this.$t('objFill.v101.qingxuanzhegys')+'!'); // return // } else { this.addMsg.SupplierId = this.SupplierId != '' ? this.SupplierId : 0; // } if (this.addMsg.PresentFXGrade == '') { //没选择的时候默认为0 this.addMsg.PresentFXGrade = 0 } //标签的判断和处理 if (this.addMsg.MarketingLogo.iswords == 0) { this.addMsg.MarketingLogo = { iswords: 0, words: "", wordsColor: "", wordsBack: "", ico: "" } } else if (this.addMsg.MarketingLogo.iswords == 1) { this.addMsg.MarketingLogo.ico = '' } else if (this.addMsg.MarketingLogo.iswords == 2) { this.addMsg.MarketingLogo.words = ''; this.addMsg.MarketingLogo.wordsColor = ''; this.addMsg.MarketingLogo.wordsBack = ''; } this.addMsg.MarketingLogo = JSON.stringify(this.addMsg.MarketingLogo) this.lxymallapipost("/api/GuideCar/SetGoodsInfo", this.addMsg, res => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.CommonJump("directorGoodsList"); } else { this.Error(res.data.message); } }); } else { return false; } }); }, getSpeciList() { let msg = { pageIndex: 1, pageSize: 999, Name: "", Id: 0, Content: "" }; this.lxymallapipost("/api/product/GetProductSpecificationPageList", msg, res => { if (res.data.resultCode == 1) { let pageData = res.data.data.pageData; this.speciList = pageData; this.speciList.forEach(item => { item.NewSpecList = []; item.checkAll = false; item.SpecList.forEach(val => { let obj = { Id: item.Id, Name: val }; item.NewSpecList.push(obj); }); }); } }); }, editQy() { this.dialogFormVisible = true; setTimeout(() => { this.$refs.child.Receive(this.AreaList); }, 1000); }, Addto() { this.addMsg.AreaList = []; this.AreaList.forEach(item => { let obj = { Id: item.RegionId, AreaId: item.RegionId, AreaName: item.RegionName }; this.addMsg.AreaList.push(obj); }); this.dialogFormVisible = false; }, addOf() { this.dialogFormVisible = true; this.AreaList = []; this.addMsg.AreaList = []; setTimeout(() => { this.$refs.child.Receive(this.AreaList); }, 1000); }, change(data) { this.AreaList = data; }, YfSelect1(val) { this.addMsg.FormsId = val.Id; this.addMsg.FormsName = val.Name; }, clearCustom() { this.addMsg.CustomShareImage = ""; }, Selectvideo(val) { this.addMsg.VideoAddress = val.Path; this.changeState1 = false; }, ClearCarouse(index) { this.addMsg.CarouselImageList.splice(index, 1); }, openggImg(item, index, item2, index2) { this.changeState = true; this.imgType = 3; this.imgListIndex1 = index; this.imgListIndex2 = index2; }, openChangeDig1(file){ this.UploadAttachment(1,file) }, openChangeDig2(file){ this.UploadAttachment(2,file) }, openChangeDig4(file){ this.UploadAttachment(4,file) }, openChangeDig(val) { }, //图片上传 UploadAttachment(val,file) { let newArr = []; newArr.push(file.file); let fileName = file.file.name; var path = "/Upload/DMC/"; this.UploadSelfFileT(path, newArr, x => { var str = x.data.FilePath; var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath; if(val == 1){ let obj = { Id: 0, Path:imgUrl , }; this.addMsg.CarouselImageList.push(obj); }else if(val == 2){ this.addMsg.CustomShareImage = imgUrl }else if(val == 4){ this.addMsg.MarketingLogo.ico = imgUrl } }); }, //选择图片 SelectId(msg) { let that = this; if (msg && msg.length > 0) { if (this.imgType == 1) { msg.forEach(item => { let obj = { Id: item.selectId, Path: that.getIconLink(item.url), }; this.addMsg.CarouselImageList.push(obj); }) } if (this.imgType == 2) { this.addMsg.CustomShareImage = that.getIconLink(msg[0].url); } if (this.imgType == 3) { let imgListIndex1 = this.imgListIndex1; let imgListIndex2 = this.imgListIndex2; this.SpecificationList[imgListIndex1].SpecificationValueList[ imgListIndex2 ].Image = that.getIconLink(msg[0].url); } if (this.imgType == 4) { that.addMsg.MarketingLogo.ico = that.getIconLink(msg[0].url) } } this.changeState = false; }, getChild3(ChildList) { this.childList3 = ChildList; }, getChild2(ChildList) { this.childList2 = ChildList; }, ExitCateList() { this.NewCategoryList = []; this.addMsg.CategoryList.forEach(item => { item.Name = item.CategoryName; this.NewCategoryList.push(item.CategoryId); }); }, handleCheckChange() { this.addMsg.CategoryList = []; this.NewCategoryList.forEach(list => { this.fenleiData.forEach(item => { if (list == item.Id) { item.CategoryId = item.Id; this.addMsg.CategoryList.push(item); } item.ChildList.forEach(item2 => { if (list == item2.Id) { item2.CategoryId = item2.Id; this.addMsg.CategoryList.push(item2); } item2.ChildList.forEach(item3 => { if (list == item3.Id) { item3.CategoryId = item3.Id; this.addMsg.CategoryList.push(item3); } }); }); }); }); }, exitCheck(item, index) { this.addMsg.CategoryList.forEach((list, k) => { if (list.Id == item.Id) { this.addMsg.CategoryList.splice(k, 1); } }); this.ExitCateList(); this.getSuggestPrice(); }, getTree() { let msg1 = { Id: 0, Name: "", Tier: 0, ParentId: 0, Enabled: 1, IsShow: 0, CategoryPageType:this.addMsg.GoodsPageType }; this.lxymallapipost("/api/product/GetProductCategoryTreeList", msg1, res => { if (res.data.resultCode == 1) { let pageData = res.data.data; this.fenleiData = pageData; this.fenleiData.forEach(item => { item.CategoryName = item.Name; item.ChildList.forEach(item2 => { item2.CategoryName = item2.Name; item2.ChildList.forEach(item3 => { item3.CategoryName = item3.Name; }); }); }); } }); }, getcode() { //编码获取详情 this.GoodsId = this.addMsg.Id; this.getData() }, getData() { this.lxymallapipost( "/api/GuideCar/GetGoodsInfo", { GoodsId: this.GoodsId }, res => { if (res.data.resultCode == 1) { this.addMsg = res.data.data; this.EnumType = this.addMsg.CarType; if (this.addMsg.SupplierId != 0) { this.SupplierId = this.addMsg.SupplierId; } if(this.addMsg.LineDescriptionList==null){ this.addMsg.LineDescriptionList=[]; } this.LineCityScen=[] if(this.addMsg.LineDescriptionList){ this.addMsg.LineDescriptionList.forEach(x=>{ this.LineCityScen.push({'Name':x}) }) } if (!this.$route.query.GoodsId) { this.addMsg.Id = 0 } if (this.addMsg.TargetDateList.length > 0) { this.addMsg.TargetDateList.forEach(x => { this.subDateList.push(x.Date.split('T')[0]) }) } this.getGuideCarGuideList(this.addMsg.SiteId) //导游下拉 this.initShareSettings(); this.ComTreeList = this.addMsg.DistributionCommissionTreeList; if (this.addMsg.SeparateDistributionType == 1) { this.disList1 = this.addMsg.DistributionCommissionTreeList; if (this.addMsg.DistributionCommissionTreeList.length > 0) { this.GradeCommissionList = this.addMsg.DistributionCommissionTreeList[0].GradeCommissionList; } } if(this.addMsg.MemberPriceTreeList.length>0){ this.memberList1 = this.addMsg.MemberPriceTreeList; } this.thisType = 1; this.disList1 = []; let objNew = { SpecificationSort: "", GradeCommissionList: this.GradeCommissionList }; this.disList1.push(objNew); // if (this.addMsg.GoodsDetails && this.addMsg.GoodsDetails != "") { // this.defaultMsg = this.addMsg.GoodsDetails; // } this.NewCategoryList = []; this.addMsg.CategoryList.forEach(item => { item.Name = item.CategoryName; this.NewCategoryList.push(item.CategoryId); }); if (this.hpState == 1) { this.addMsg.SeparateDistribution = 0; } if (this.addMsg.PresentFXGrade == 0) { this.addMsg.PresentFXGrade = '' } if (!this.addMsg.MarketingLogo || this.addMsg.MarketingLogo == null) { this.addMsg.MarketingLogo = { iswords: 0, words: "", wordsColor: "", wordsBack: "", ico: "" } } else { let MarketingLogo = JSON.parse(this.addMsg.MarketingLogo) let obj = MarketingLogo this.addMsg.MarketingLogo = obj } this.getSuggestPrice(); this.getFXDGradeList2(); this.getTree(); this.lxymallapipost("/api/GuideCar/GetGuideCarList", {}, res => { if (res.data.resultCode == 1) { var MyData = res.data.data; MyData.forEach(x => { if (x.ID == this.addMsg.CarId) { this.CarColorList = x.ColorList } }) } }); } else { this.Error(res.data.message); } } ); }, getSuggestPrice() { //获取和平分销商品建议价格 if (this.hpState == 1 && Number(this.addMsg.CostPrice) > 0) { let arr = []; this.addMsg.CategoryList.forEach(item => { item.Name = item.CategoryName; arr.push(item.CategoryId); }); let CategoryIds = arr.join(","); let msg = { CategoryIds: CategoryIds, CostPrice: this.addMsg.CostPrice }; this.lxymallapipost("/api/user/GetHpGoodsSuggestPrice", msg, res => { if (res.data.resultCode == 1) { this.SuggestPriceInfo = res.data.data; } }); } }, getRule() { let msg1 = { pageIndex: 1, pageSize: 999, RulesName: "" }; this.lxymallapipost("/api/MallBase/GetLogisticsRulesPage", msg1, res => { if (res.data.resultCode == 1) { let pageData = res.data.data.pageData; this.ruleList = pageData; } }); }, getDistributor() { this.loading = true; this.lxymallapipost("/api/user/GetDistributorBasicsInfo", {}, res => { this.loading = false; if (res.data.resultCode == 1) { this.butorInt = res.data.data.DistributorTier; this.butorIntList = []; let textName = this.$t('objFill.v101.jifenxiao') for (let i = 0; i < res.data.data.DistributorTier; i++) { let msg = { Name: i + 1 + textName }; this.butorIntList.push(msg); } this.GetDropdownList(); } }); }, GetDropdownList() { let msg = { Id: 0, Grade: 0, Name: "", Enabled: 1 }; this.lxymallapipost("/api/user/GetDistributorGradeDropdownList", msg, res => { this.DropdownList = JSON.parse(JSON.stringify(res.data.data)); let msg = { Grade: 0, GradeCommissionList: [], Name: this.$t('objFill.v101.morendengji'), SpecificationSort: "", Id: 0 }; this.DropdownList.unshift(msg); this.disList1.GradeCommissionList = []; this.disList1.SpecificationSort = ""; this.DropdownList.forEach(item => { item.GradeCommissionList = []; item.SpecificationSort = ""; for (let i = 0; i < this.butorInt; i++) { let obj = { DistributorGrade: item.Id, OneCommission: 0, TwoCommission: 0, ThreeCommission: 0 }; item.GradeCommissionList.push(obj); } }); this.DropdownList = JSON.parse(JSON.stringify(this.DropdownList)); if ( !this.$route.query.GoodsId || (this.addMsg.DistributionCommissionTreeList && this.addMsg.DistributionCommissionTreeList.length == 0) || this.thisType == 1 ) { this.GradeCommissionList = []; this.DropdownList.forEach(item => { let obj2 = { DistributorGrade: item.Id, OneCommission: 0, TwoCommission: 0, ThreeCommission: 0, Name: item.Name }; this.GradeCommissionList.push(obj2); }); this.GradeCommissionList = JSON.parse( JSON.stringify(this.GradeCommissionList) ); this.disList2 = []; if (this.$route.query.GoodsId) { if (this.addMsg.SeparateDistributionType == 1) { this.disList1 = this.addMsg.DistributionCommissionTreeList; if (this.addMsg.DistributionCommissionTreeList.length > 0) { this.GradeCommissionList = this.addMsg.DistributionCommissionTreeList[0].GradeCommissionList; } } } else { this.disList1 = []; let objNew = { SpecificationSort: "", GradeCommissionList: this.GradeCommissionList }; this.disList1.push(objNew); } this.skuList = []; } }); }, changeSupplier(val) { }, addGgz() { let obj = { Name: '' } this.LineCityScen.push(obj); }, Deleteggz(index) { this.LineCityScen.splice(index, 1) }, changeSiteId(val) { this.getGuideCarGuideList(val) //导游下拉 this.addMsg.GuideId = '' }, changeCarId(val) { this.addMsg.CarColorId = ''; this.CarList.forEach(x => { if (x.ID == val) { this.CarColorList = x.ColorList } }) }, changeCarColorList(val) { }, changeEnumList(val) { this.EnumType = val }, getSupplierList() { this.lxymallapipost("/api/Supplier/GetSupplierAllList", {}, res => { this.loading = false; if (res.data.resultCode == 1) { this.options = res.data.data; } }); }, getAllGuideCarSiteList() { //获取站点下拉 this.lxymallapipost("/api/GuideCar/GetAllGuideCarSiteList", {}, res => { if (res.data.resultCode == 1) { this.SiteList = res.data.data } }); }, getGuideCarList() { this.lxymallapipost("/api/GuideCar/GetGuideCarList", {}, res => { if (res.data.resultCode == 1) { this.CarList = res.data.data; } }); }, getOrderListExportEnumList() { //获取服务类型枚举列表 this.lxymallapipost("/api/GuideCar/GetOrderListExportEnumList", {}, res => { if (res.data.resultCode == 1) { this.EnumList = res.data.data; } }); }, getGuideCarGuideList(ID) { this.lxymallapipost("/api/GuideCar/GetGuideCarGuideList", { SiteId: ID }, res => { if (res.data.resultCode == 1) { this.GuideList = res.data.data } }); }, getFXDGradeList2() { //获取粉象等级下拉列表 this.lxymallapipost("/api/user/GetFXDistributorGradeList", { GradeName: '' }, res => { if (res.data.resultCode == 1) { if (res.data.data != null) { res.data.data.forEach(x => { if (x.Id == this.addMsg.PresentFXGrade) { if (x.IsGuest == 3) { this.giveDate = true; } else { this.giveDate = false; this.addMsg.PresentFXMonth = 0; } } }) } } }); }, //追加日期 SaveDate() { this.lxymallapipost("/api/GuideCar/GetGoodsTargetDateList", this.dateMsg, res => { if (res.data.resultCode == 1) { var myArr = res.data.data; //遍历当前数组 for (var i = 0; i < myArr.length; i++) { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (this.subDateList.indexOf(myArr[i]) == -1) { this.subDateList.push(myArr[i]); } } //日期升序排列 this.subDateList.sort(function (a, b) { return Date.parse(a) - Date.parse(b); }); } else { this.Error(res.data.message); } }); }, //删除标签 handleClose(index) { this.subDateList.splice(index, 1); }, //获取上架版面下拉 getCateList(){ this.lxymallapipost("/api/Product/GoodsPageTypeEnumList", {}, res => { if (res.data.resultCode == 1) { this.My_cateList=res.data.data; }else{ this.Error(res.data.message); } }); }, //选择上架版面 getGoodType(num){ if(num!=0){ this.addMsg.CategoryList=[]; } this.getTree() } } }; </script> <style> .app-attr-group .close { position: absolute; top: -4px; right: -4px; font-size: 16px; cursor: pointer; } .directorGoodsEdit .el-image { position: relative; display: inline-block; overflow: hidden; } .directorGoodsEdit .pendSelect { width: 100px; } .directorGoodsEdit .el-table th>.cell { padding-left: 20px !important; } .directorGoodsEdit .app-attr .box { line-height: 64px; border-top: 1px solid #e8eaee; border-left: 1px solid #e8eaee; border-right: 1px solid #e8eaee; padding: 0 16px; } .speciDig .tpl-scrollbar .el-checkbox { display: flex; -webkit-align-items: center; align-items: center; padding: 10px 0; } .speciDig .tpl-scrollbar { height: calc(440px - 44px - 10px); } .speciDig .tpl-box .tpl-head { padding: 0 20px; font-size: 15px; color: #909399; margin-bottom: 10px; line-height: 44px; background: #f5f7fa; } .speciDig .tpl-box { width: 300px; height: 440px; } .directorGoodsEdit .app-attr-group .attr-jt { background: #ffffff; width: 6px; height: 6px; border-top: 1px solid rgb(235, 238, 245); border-right: 1px solid #ebeef5; transform: rotate(-45deg); -o-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); position: absolute; top: -5px; } .directorGoodsEdit .app-attr-group .img-box { position: relative; height: 100px; width: 100px; margin-top: 8px; border: 1px solid #ebeef5; } .directorGoodsEdit .close { position: absolute; top: -4px; right: -4px; font-size: 16px; cursor: pointer; } .directorGoodsEdit .attr-list { display: inline-block; margin-right: 10px; margin-bottom: 10px; position: relative; cursor: move; } .directorGoodsEdit .box-grow-0 { min-width: 0; -webkit-box-flex: 0; -webkit-flex-grow: 0; -ms-flex-positive: 0; flex-grow: 0; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; } .directorGoodsEdit .app-attr-group .del-img { height: 20px; width: 20px; cursor: pointer; } .directorGoodsEdit .app-attr-group .bg { height: 44px; padding: 0 10px; background: #f8f8f8; } .regionDig .regionChoice .item_b { margin-bottom: 10px; } .directorGoodsEdit .app-attr-group .bg { height: 44px; padding: 0 10px; background: #f8f8f8; } .directorGoodsEdit .app-attr-group { border: 1px solid #ebeef5; padding: 10px; } .directorGoodsEdit .delBtn { position: absolute; right: -8px; top: -8px; padding: 4px 4px !important; } .directorGoodsEdit .add-image-btn { width: 100px; height: 100px; line-height: 100px; color: #419efb; border: 1px solid #e2e2e2; cursor: pointer; text-align: center; } .directorGoodsEdit .colapp-image { background-size: cover; background-position: center center; width: 100px; height: 100px; border-radius: 0%; } .directorGoodsEdit .el-form-item__label { padding-right: 26px; } .app-add-cat .el-checkbox-group { font-size: 14px !important; } .app-add-cat .el-checkbox { margin-right: 0; } .app-add-cat .el-dialog__body { padding: 10px 20px !important; } .app-add-cat .tag-box .tag-item { margin-right: 5px; } .app-add-cat .tag-box { margin: 20px 0; } .app-add-cat .app-goods-cat-list .active { background: #fafafa; } .app-add-cat .app-goods-cat-list .cat-item { cursor: pointer; padding: 5px 10px; } .app-add-cat .app-goods-cat-list { border: 1px solid #e8eaee; border-radius: 5px; margin-top: -5px; padding: 10px 0; overflow: scroll; height: 400px; } .directorGoodsEdit .bottom-div { border-top: 1px solid #e3e3e3; position: fixed; bottom: 0; background-color: #ffffff; z-index: 999; padding: 10px; width: 80%; } .directorGoodsEdit .fen-table { width: 100%; border-collapse: collapse; border-spacing: 0; border: 1px solid #eee; } .directorGoodsEdit .fen-table td, .directorGoodsEdit .fen-table th { border: 1px solid #eee; padding: 10px 0; padding-left: 10px; } .directorGoodsEdit .fen-table td { font-size: 12px; } .directorGoodsEdit .fen-table th { background: #ddd; font-weight: 500; } .directorGoodsEdit .fen-sumg { margin: 20px 0; font-size: 12px; } @media (max-width:1920px) and (min-width:1300px) { .directorGoodsEdit .el-col-12 { width: 50%; } } @media (max-width:1910px) and (min-width:1200px) { .directorGoodsEdit .el-col-12 { width: 66.66667%; } } @media (max-width:1199px) and (min-width:200px) { .directorGoodsEdit .el-col-12 { width: 80%; } } .edui1_imagescale img { max-width: 100%; } .directorGoodsEdit .nav_Main { display: flex; flex-wrap: wrap; justify-content: flex-start; } .directorGoodsEdit .nav_IconContent { display: flex; flex-wrap: wrap; justify-content: flex-start; } .directorGoodsEdit .nav_IconContent div>div { display: inline-block; } .directorGoodsEdit .w90 { width: 90px !important; } .directorGoodsEdit .w130 { width: 130px !important; } .directorGoodsEdit .ql-toolbar.ql-snow .ql-formats { margin-right: 5px; line-height: 24px; } </style>