|
@@ -1,607 +1,607 @@
|
|
|
-<!DOCTYPE html>
|
|
|
-<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
- xsi:schemaLocation="https://www.thymeleaf.org ">
|
|
|
-<head>
|
|
|
- <title>采美365网-我的店铺-发布商品</title>
|
|
|
- <template th:replace="components/head-link"></template>
|
|
|
-
|
|
|
- <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
|
|
|
- <link th:href="@{/css/supplier-center/shop/release.css(v=${version})}" rel="stylesheet" type="text/css">
|
|
|
-
|
|
|
- <template th:replace="components/analysis"></template>
|
|
|
-</head>
|
|
|
-<body>
|
|
|
-<!-- 引用头部 -->
|
|
|
-<template th:replace="components/header"></template>
|
|
|
-
|
|
|
-<!-- 发布商品 -->
|
|
|
-<div id="releaseContainer">
|
|
|
- <div class="navLayout" v-cloak>
|
|
|
- <div v-if="isPC" class="crumbs">
|
|
|
- <span>我的采美</span>
|
|
|
- <span>></span>
|
|
|
- <span>我的店铺</span>
|
|
|
- <span>></span>
|
|
|
- <span>发布商品</span>
|
|
|
- </div>
|
|
|
- <div class="wrap clear">
|
|
|
- <!--左侧导航-->
|
|
|
- <template th:replace="supplier-center/components/tableft"></template>
|
|
|
- <div class="right">
|
|
|
- <div class="container shadow" @click.stop="touchmoveFn" >
|
|
|
- <div class="release-stepbox">
|
|
|
- <div class="stepSpan active">
|
|
|
- <p><span>1</span></p>
|
|
|
- <p>基本信息</p>
|
|
|
- </div>
|
|
|
- <div class="stepSpan" :class="activeNum == 1 || activeNum == 2 || activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
- <p><span>2</span></p>
|
|
|
- <p>销售信息</p>
|
|
|
- </div>
|
|
|
- <div class="stepSpan" :class="activeNum == 2 || activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
- <p><span>3</span></p>
|
|
|
- <p>上传图片</p>
|
|
|
- </div>
|
|
|
- <div class="stepSpan" :class="activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
- <p><span>4</span></p>
|
|
|
- <p>服务项目</p>
|
|
|
- </div>
|
|
|
- <div class="stepSpan" :class="activeNum == 4 ? 'active':''">
|
|
|
- <p><span>5</span></p>
|
|
|
- <p>新品展示</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-container clear" v-show="isRequest" :class="isRequest ? 'active' : ''" >
|
|
|
- <!--商品初始信息-->
|
|
|
- <div class="release-main-container clear" v-show="activeNum == 0">
|
|
|
- <div class="release-from none clear" >
|
|
|
- <div class="release-label"><span class="star">*</span>商品显示名:</div>
|
|
|
- <div class="release-input"><input class="input" v-model="releaseParams.name" maxlength="40" type="text" placeholder="请输入该商品在商城显示的名称" @blur="blur_name"></div>
|
|
|
- <div class="release-tips" v-show="vShow_Name">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from text">
|
|
|
- <P class="text">不超过40个汉字,请尽可能包含商品关键词,便于搜索</P>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>内部商品名:</div>
|
|
|
- <div class="release-input"><input class="input" v-model="releaseParams.aliasName" maxlength="40" type="text" placeholder="请输入该商品在您公司内部的名称" @blur="blur_aliasName"></div>
|
|
|
- <div class="release-tips" v-show="vShow_AliasName">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品属性:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio" @click="getclass(1)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="1"><i class="icon mIcon">产品</i></label>
|
|
|
- <label class="release-radio" @click="getclass(2)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="2" checked><i class="icon mIcon">仪器</i></label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_attribute">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.commodityType == 2">
|
|
|
- <div class="release-label"><span class="star">*</span>培训方式:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio" @click="choiceTrain(1)"><input type="radio" name="trainingMethod" v-model="releaseParams.trainingMethod" value="1"><i class="icon mIcon">线上培训</i></label>
|
|
|
- <label class="release-radio" @click="choiceTrain(2)"><input type="radio" name="trainingMethod" v-model="releaseParams.trainingMethod" value="2" checked><i class="icon mIcon">线下培训</i></label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_trainingMethod">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.commodityType == 2">
|
|
|
- <div class="release-label"><span class="star">*</span>培训费用:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio" @click="choiceTrainOutlay(1)"><input type="radio" name="trainingType" v-model="releaseParams.trainingType" value="1"><i class="icon mIcon">售价未包含</i></label>
|
|
|
- <label class="release-radio" @click="choiceTrainOutlay(2)"><input type="radio" name="trainingType" v-model="releaseParams.trainingType" value="2" checked><i class="icon mIcon">售价已包含</i></label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-input expen" v-if="releaseParams.trainingType == 1">
|
|
|
- <span class="span">¥</span>
|
|
|
- <input class="input" v-model="releaseParams.trainingFee" maxlength="40" type="number" placeholder="请填写包含食宿,交通等各项费用的培训总金额" @input="input_trainingFee">
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_trainingType">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品分类:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="select-main" :class="[isSelectActive == 1 ? 'border' : '']">
|
|
|
- <input class="select" v-model="selectText.bigTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('first')">
|
|
|
- <i class="mIcon selected"></i>
|
|
|
- <div class="option-main" v-if="isSelectActive == 1">
|
|
|
- <div class="option" v-for="x in classificationFirstList" :key="x.bigTypeID" @click="ChangeClassificationFirst(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="select-main" :class="[isSelectActive == 2 ? 'border' : '']" v-show="classificationTwoList!=''&&classificationTwoList!=null">
|
|
|
- <input class="select" v-model="selectText.smallTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('two')">
|
|
|
- <i class="mIcon selected"></i>
|
|
|
- <div class="option-main" v-if="isSelectActive == 2">
|
|
|
- <div class="option" v-for="x in classificationTwoList" :key="x.value" @click="ChangeClassificationTwo(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="select-main" :class="[isSelectActive == 3 ? 'border' : '']" v-show="classificationThreeList!=''&& classificationThreeList!=null">
|
|
|
- <input class="select" v-model="selectText.tinyTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('three')">
|
|
|
- <i class="mIcon selected"></i>
|
|
|
- <div class="option-main" v-if="isSelectActive == 3">
|
|
|
- <div class="option" v-for="x in classificationThreeList" :key="x.value" @click="ChangeClassificationThree(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_TinyTypeID">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品品牌:</div>
|
|
|
- <div class="release-input">
|
|
|
- <input class="input tags" type="text" v-model="releaseParams.brandName" maxlength="10" placeholder="请输入商品所属品牌" @input="bindBrandAssociationFn" >
|
|
|
- <div class="add-btn active" v-show="tagsList.length<6" @click="brandAssociationFn()">检测</div>
|
|
|
- <div class="release-opt" v-show="isBrandAssociation">
|
|
|
- <div class="opt-item" v-for="x in brandAssociationList" :key="x.id" @click="SelectChangeAssociationFn(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_BrandID">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="popup" v-show="isAddBrand" :class="isAddBrand ? 'active':''">
|
|
|
- <div class="popup-layer bran">
|
|
|
- <div class="popup-title"> <p>提交品牌</p> <i class="popup-close layui-layer-ico mIcon " @click="hideAddBrandPopup"></i></div>
|
|
|
- <div class="popup-content">
|
|
|
- <div class="popup-from clear"><span>商品品牌:</span><p class="popup-p">{{releaseParams.brandName}}</p></div>
|
|
|
- <div class="popup-from clear" style="margin-top: 10px">
|
|
|
- <span>品牌logo:</span>
|
|
|
- <div class="popup-upload">
|
|
|
- <div class="upload-file" v-if="brandImage!=''">
|
|
|
- <img :src="brandImage" alt="" class="upload-img">
|
|
|
- <i class="icon-del mIcon icon" @click="removeBrandImageFn"></i>
|
|
|
- </div>
|
|
|
- <div class="upload-file" v-else>
|
|
|
- <i class="icon-add mIcon "></i>
|
|
|
- <input ref="brandImage" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadBrandImagesFn">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="popup-from clear" style="margin-top: 10px">
|
|
|
- <span>品牌描述:</span>
|
|
|
- <div class="popup-textarea">
|
|
|
- <textarea name="" v-model="brandTextarea" cols="30" rows="10" maxlength="200" placeholder="请描述品牌信息,不超过200字"></textarea>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="popup-button">
|
|
|
- <div class="btn btn-confim" @click="confimAddBrandPopup">确定</div>
|
|
|
- <div class="btn btn-cancel" @click="hideAddBrandPopup">取消</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品类型:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="select-main" :class="[isSelectActive == 4 ? 'border' : '']">
|
|
|
- <input class="select" v-model="selectText.goodsType" type="text" readonly="readonly" placeholder="请选择商品类型" @click.stop.prevent="showOption('type')">
|
|
|
- <i class="mIcon selected"></i>
|
|
|
- <div class="option-main" v-if="isSelectActive == 4">
|
|
|
- <div class="option" v-for="x in goodsTypeList" :key="x.value" @click="SelectChangeTypeFn(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="select-main" :class="[isSelectActive == 5 ? 'border' : '']" v-if="releaseParams.productType == 2">
|
|
|
- <input class="select" v-model="selectText.apparatusType" type="text" readonly="readonly" placeholder="请选择器械类型" @click.stop.prevent="showOption('ratus')">
|
|
|
- <div class="option-main" v-if="isSelectActive == 5">
|
|
|
- <div class="option" v-for="x in apparatusTypeList" :key="x.value" @click="SelectChangeApparatusFn(x)">{{x.name}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_GoodsType">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
- <div class="release-label"><span class="star">*</span>资质证书:</div>
|
|
|
- <div class="release-input upload">
|
|
|
- <div class="upload-file" v-if="releaseParams.qualificationImg!=''">
|
|
|
- <img :src="releaseParams.qualificationImg" alt="" class="upload-img">
|
|
|
- <i class="icon-del mIcon icon" @click="removeQualificationsFn"></i>
|
|
|
- </div>
|
|
|
- <div class="upload-file" v-else>
|
|
|
- <i class="icon-add"></i>
|
|
|
- <input ref="inputer" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadQualificationsFn">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_QualificationImg">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
- <div class="release-label"><span class="star">*</span>证书编号:</div>
|
|
|
- <div class="release-input"><input class="input" v-model="releaseParams.qualificationNo" maxlength="50" type="text" placeholder="请完整输入证书上的编号" @blur="blur_qualificationNo"></div>
|
|
|
- <div class="release-tips" v-show="vShow_QualificationNo">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
- <div class="release-label"><span class="star">*</span>产品名称:</div>
|
|
|
- <div class="release-input"><input class="input" v-model="releaseParams.productName" maxlength="50" type="text" placeholder="请输入证书上的产品名称" @blur="blur_productName"></div>
|
|
|
- <div class="release-tips" v-show="vShow_ProductName">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.productType == 2" id="EffectiveDate">
|
|
|
- <div class="release-label"><span class="star">*</span>证书有效期:</div>
|
|
|
- <div class="release-input"><input class="input" type="date" style="width: 220px;" v-model="releaseParams.qualificationTime" maxlength="40" required="required"></div>
|
|
|
- <div class="release-tips" v-show="vShow_QualificationTime">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from none clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品标签:</div>
|
|
|
- <div class="release-input">
|
|
|
- <input class="input tags" v-model="tagsText" type="text" placeholder="请输入商品标签" maxlength="15" @focus="blur_tags">
|
|
|
- <div class="add-btn" v-show="tagsList.length<6" @click="addTag()">添加标签</div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_Tags">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from text">
|
|
|
- <P class="text" style="line-height: 24px;">简述商品功效和特性,最多可添加6个标签,每个标签字数不超过15个汉字(如:美白祛斑,消除皱纹)</P>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-show="tagsList.length>0">
|
|
|
- <div class="tags-main">
|
|
|
- <div class="item-tags" v-for="(item, index) in tagsList" :key="index">
|
|
|
- {{item.tag}}<i class="del-tags mIcon" @click="removeTags(index)"></i>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-<!-- <div class="release-from clear">-->
|
|
|
-<!-- <div class="release-label"><span class="star">*</span>包装规格:</div>-->
|
|
|
-<!-- <div class="release-input"><input class="input" v-model="releaseParams.unit" type="text" placeholder="请输入包装规格,如:台,30ml/瓶" @blur="blur_aliasUnit" maxlength="20"></div>-->
|
|
|
-<!-- <div class="release-tips" v-show="vShow_Unit">{{fromMessage}}</div>-->
|
|
|
-<!-- </div>-->
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label rightTxt">商品编码:</div>
|
|
|
- <div class="release-input"><input class="input" v-model="releaseParams.productCode" type="text" placeholder="建议输入商品编码"></div>
|
|
|
- </div>
|
|
|
- <div class="release-from none clear">
|
|
|
- <div class="release-label rightTxt">搜索关键词:</div>
|
|
|
- <div class="release-input">
|
|
|
- <input v-for="(item, index) in searchKeyList" :key="index" class="input keyword" type="text" :placeholder="item.placeholder" v-model="searchKeyList[index].value" maxlength="16">
|
|
|
- <a href="/supplier/goods/example.html" target="_blank" class="p" v-if="isPC">查看示例></a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from text shili" style="margin-bottom: 10px;">
|
|
|
- <P class="text" style="line-height: 24px;">{{keywordText}}</P>
|
|
|
- <a href="/supplier/goods/example.html" target="_blank" class="p" v-if="!(isPC)">查看示例</a>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label rightTxt">相关参数:</div>
|
|
|
- <div class="release-input clear">
|
|
|
- <div class="release-param" v-for="(item, index) in paramKeyList" :key="index">
|
|
|
- <input class="param-input" v-model="paramKeyList[index].paramsName" type="text" placeholder="参数名称" maxlength="10">
|
|
|
- <input class="param-input" v-model="paramKeyList[index].paramsContent" type="text" placeholder="参数信息" maxlength="50">
|
|
|
- <a href="javascript: void(0);" class="del-btn icon mIcon" v-show="index>0" @click="removeParamsFn"></a>
|
|
|
- </div>
|
|
|
- <a href="javascript: void(0);" class="add" @click="addParamsFn" v-if="isPC">添加参数<span>+</span></a>
|
|
|
- <a href="javascript: void(0);" class="add" @click="addParamsFn" V-else>添加参数</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="from-button">
|
|
|
- <a href="javascript: void(0);" class="btn next" @click="NextStep">下一步</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!--商品价格信息-->
|
|
|
- <div class="release-main-tips" v-show="activeNum == 1">
|
|
|
- 【采美】平台为采美网官方正品平台,包括采美网网站和采美采购商城小程序。其他平台为与采美网有紧密合作关系的平台,各项标准与采美平台一致,可拓宽您的销售渠道,请放心上架。
|
|
|
- </div>
|
|
|
- <div class="release-main-container" v-show="activeNum == 1">
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>上架平台:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <a class="release-radios"
|
|
|
- href="javascript: void(0);"
|
|
|
- v-for="(item, index) in platforms"
|
|
|
- :key="index"
|
|
|
- :class="item.isChecked ? 'active':''"
|
|
|
- @click="handleCheckedPlat(item,index)" >
|
|
|
- {{item.name}}
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="isPlatforms">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <template v-if="platformsFlag">
|
|
|
- <div class="release-from clear none">
|
|
|
- <div class="release-label active">【采美平台】</div>
|
|
|
- <div class="release-label"><span class="star">*</span>SKU种类:</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-from-tr">
|
|
|
- <div class="tr-labe"><span class="star">*</span>规格</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>市场价</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>售价</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>起订量</div>
|
|
|
- <div class="tr-labe none"><span class="star">*</span>库存</div>
|
|
|
- </div>
|
|
|
- <div class="release-from-td" v-for="(sku,index) in skuParams" :key="index">
|
|
|
- <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-icon">
|
|
|
- <i class="WEB-icon add" @click="addskuParamsFn(0,sku, index)" v-if="skuParams.length < 20 && index === 0"></i>
|
|
|
- <i class="WEB-icon del" @click="delskuParamsFn(0,sku, index)" v-if="skuParams.length > 1 && index !=0"></i>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="isSkuRule">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="platformsMallFlag">
|
|
|
- <div class="release-from clear none">
|
|
|
- <div class="release-label active">
|
|
|
- 【丽格集采联盟平台】
|
|
|
- <span class="release-label-btn" @click="handleCopySuk" v-if="releaseType !== 'edit' && platformsFlag">复制上方SKU数据</span>
|
|
|
- </div>
|
|
|
- <div class="release-label"><span class="star">*</span>SKU种类:</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-from-tr">
|
|
|
- <div class="tr-labe"><span class="star">*</span>规格</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>市场价</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>售价</div>
|
|
|
- <div class="tr-labe"><span class="star">*</span>起订量</div>
|
|
|
- <div class="tr-labe none"><span class="star">*</span>库存</div>
|
|
|
- </div>
|
|
|
- <div class="release-from-td" v-for="(sku,index) in mallSkusParams" :key="index">
|
|
|
- <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
|
|
|
- <div class="tr-icon">
|
|
|
- <i class="WEB-icon add" @click="addskuParamsFn(4,sku, index)" v-if="mallSkusParams.length < 20 && index === 0"></i>
|
|
|
- <i class="WEB-icon del" @click="delskuParamsFn(4,sku, index)" v-if="mallSkusParams.length > 1 && index !=0"></i>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="isMallSkuRule">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>售价是否含税:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio"><input type="radio" name="includedTax" v-model="releaseParams.includedTax" value="1" ><i class="icon mIcon">含税</i></label>
|
|
|
- <label class="release-radio"><input type="radio" name="includedTax" v-model="releaseParams.includedTax" value="0" checked><i class="icon mIcon">不含税</i></label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_includedTax">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-show="releaseParams.includedTax == 1 || releaseParams.includedTax == 0">
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props" >
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="1" @click="radioChangeInvoiceType">
|
|
|
- <i class="icon mIcon">开增值税专用发票</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="2" checked @click="radioChangeInvoiceType">
|
|
|
- <i class="icon mIcon">开增值税普通发票</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio" v-show="releaseParams.includedTax == 0">
|
|
|
- <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="3" checked @click="radioChangeInvoiceType">
|
|
|
- <i class="icon mIcon">不开发票</i>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-show="releaseParams.invoiceType != '3'">
|
|
|
- <div class="release-input">
|
|
|
- <span class="tax" :style="{color:'#FF0000'}">*</span>
|
|
|
- <span class="tax">税率:<span class="mg">{{releaseParams.taxPoint}}%</span></span>
|
|
|
- <a href="javascript: void(0);" class="edit-btn" @click="taxPonitEdit">修改</a>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_price">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="popup" v-show="isTaxPonitEditPopup" :class="isTaxPonitEditPopup?'active':''">
|
|
|
- <div class="popup-layer edit">
|
|
|
- <div class="popup-title"> <p>修改税率</p> <i class="popup-close layui-layer-ico mIcon" @click="hideTaxPonitEditPopup"></i></div>
|
|
|
- <div class="popup-content">
|
|
|
- <div class="popup-from"><span>税率:</span>
|
|
|
- <input type="number" v-model="releaseParams.taxPoint" maxlength="4" @ placeholder="请输入税率" @focus="blur_taxPoint"><span class="poze">%</span>
|
|
|
- </div>
|
|
|
- <div class="popup-tips" v-show="vShow_taxPoint">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="popup-button">
|
|
|
- <div class="btn btn-confim" @click="confimTaxPonitEditPopup">确定</div>
|
|
|
- <div class="btn btn-cancel" @click="hideTaxPonitEditPopup">取消</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>购买数量:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <div class="release-props" >
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="step" v-model="releaseParams.step" value="1" @click="radioChangeStep">
|
|
|
- <i class="icon mIcon">逐步增长</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="step" v-model="releaseParams.step" value="2" checked @click="radioChangeStep">
|
|
|
- <i class="icon mIcon">以起订量增长</i>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>物流方式:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="0" @click="radioChangeByFlag">
|
|
|
- <i class="icon mIcon">包邮</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="1" checked @click="radioChangeByFlag">
|
|
|
- <i class="icon mIcon">使用运费模板</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="2" checked @click="radioChangeByFlag">
|
|
|
- <i class="icon mIcon">到付</i>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear" v-if="releaseParams.freePostFlag === 1">
|
|
|
- <div class="release-label"><span class="star">*</span>选择模板:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <div class="release-select">
|
|
|
- <el-select v-model="releaseParams.freightTemplateId" placeholder="请选择" style="width: 320px;">
|
|
|
- <el-option
|
|
|
- v-for="freight in freightOptions"
|
|
|
- :key="freight.id"
|
|
|
- :label="freight.name"
|
|
|
- :value="freight.id">
|
|
|
- {{ freight.name }}
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="release-select-refresh">
|
|
|
- <el-button type="text" icon="el-icon-refresh-right" @click="handleRefresh" style="padding: 0 0;color: #333333;">刷新</el-button>
|
|
|
- </div>
|
|
|
- <div class="release-select-all">
|
|
|
- <a href="/supplier/freight.html" target="_blank">所有模板</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_freePostFlag">{{fromMessage}}</div>
|
|
|
- <div class="release-input-add">
|
|
|
- <el-button type="primary" @click="handleAddFreight">新增运费模板</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <template th:replace="supplier-center/components/freight-dialog"></template>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="from-button secondbtn">
|
|
|
- <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
- <a href="javascript: void(0);" class="btn next" @click="NextStep1">下一步</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!--商品信息-->
|
|
|
- <div class="release-main-container" v-show="activeNum == 2">
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>商品图片:</div>
|
|
|
- <div class="release-input upload image" id="uploadGoodsImages">
|
|
|
- <div class="upload-file" v-for="(item, index) in GoodsImagesList" :key="index"
|
|
|
- draggable="true"
|
|
|
- @dragstart="dragstart(item)"
|
|
|
- @dragenter="dragenter(item)"
|
|
|
- @dragend="dragend(item)"
|
|
|
- >
|
|
|
- <img :data-original='item' :src="item" :id="'uploadGoodsImages'+ index" :data-image="item" alt="" class="upload-img" @click="showViewerImageFn(index)">
|
|
|
- <i class="icon-del mIcon icon" @click="removeGoodsImagesFn(index)"></i>
|
|
|
- </div>
|
|
|
- <div class="upload-file" v-show="GoodsImagesList.length<5">
|
|
|
- <i class="icon-add mIcon"></i>
|
|
|
- <p class="add-text" v-if="!(isPC)">添加图片</p>
|
|
|
- <input ref="goodsImages" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadGoodsImagesFn">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_GoodsImages">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from text imgText" style="margin-bottom: 10px;">
|
|
|
- <P class="text" style="line-height: 24px;">最多上传<span class="em">5张</span>图片,可拖动图片改变位置,第一张默认为产品主图;仅支持
|
|
|
- <span class="em">JPG、GIF、JPEG</span>和<span class="em">BMP</span>格式,建议图片<span class="em">比例必须为1:1且分辨率必须在750*750以上,</span>
|
|
|
- <span class="em">每张图小于5M</span>;图片请避免全文字,否则有可能审核不通过</P>
|
|
|
-<!-- <P class="text" style="line-height: 24px;">仅支持<span class="em">JPG、GIF、JPEG</span>和<span class="em">BMP</span>格式,建议图片<span class="em">分辨率在750*750以上,</span></P>-->
|
|
|
-<!-- <P class="text" style="line-height: 24px;"><span class="em">每张图小于5M</span>;图片请避免全文字,否则有可能审核不通过</P>-->
|
|
|
- </div>
|
|
|
- <div class="release-from clear" style="margin-top: 30px;">
|
|
|
- <div class="release-label"><span class="star">*</span>商品详情:</div>
|
|
|
- <div class="release-input Editor">
|
|
|
- <textarea class="textarea" id="detailInfoEditor" v-html="releaseParams.detailInfo"></textarea >
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from text imgText" style="margin-bottom: 10px;">
|
|
|
- <P class="text" style="line-height: 24px;">建议图文并茂并按照<span class="em">产品介绍>产品功效>操作流程>效果分享>疗程建议>注意事项>产品证书</span>的顺序进行描述;</P>
|
|
|
- <P class="text" style="line-height: 24px;">上传图片时,对每张图都填写关键词描述,有利于商品的曝光。</P>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="from-button secondbtn">
|
|
|
- <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
- <a href="javascript: void(0);" class="btn next" @click="NextStep2">下一步</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-main-container" v-show="activeNum == 3">
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label">订购方案:</div>
|
|
|
- <div class="release-input Editor">
|
|
|
- <textarea class="textarea" id="orderInfoEditor" v-html="releaseParams.orderInfo" placeholder="建议从合作分成,活动形式两方面进行描述"></textarea >
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label">服务详情:</div>
|
|
|
- <div class="release-input Editor">
|
|
|
- <textarea class="textarea" id="severInfoEditor" v-html="releaseParams.serviceInfo" placeholder="建议从服务案例,美业年限,团队人数和资历认证各方面进行描述"></textarea >
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="from-button last secondbtn">
|
|
|
- <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
- <a href="javascript: void(0);" class="btn next" @click="NextStep3">下一步</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!--新品展示编辑-->
|
|
|
- <div class="release-main-container new" v-show="activeNum == 4">
|
|
|
- <div class="release-from text imgText">
|
|
|
- <P style="line-height: 24px;">采美商城已上线新品重点展示功能,新发布的商品有机会直接展示在网站首页,增加商品曝光量,展示时长为3个月。 您可为这个即将发布的商品选择是否参与新品展示。</P>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-label"><span class="star">*</span>新品展示:</div>
|
|
|
- <div class="release-input">
|
|
|
- <div class="release-props">
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="newProductType" v-model="releaseParams.newProductType" value="1" @click="radioChangeNewvalidFlag">
|
|
|
- <i class="icon mIcon">参与</i>
|
|
|
- </label>
|
|
|
- <label class="release-radio">
|
|
|
- <input type="radio" name="newProductType" v-model="releaseParams.newProductType" value="2" checked @click="radioChangeNewvalidFlag">
|
|
|
- <i class="icon mIcon">不参与</i>
|
|
|
- </label>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-tips" v-show="vShow_isNewProductType">{{fromMessage}}</div>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="release-image">
|
|
|
- <img src="/img/supplier/icon-hotimage.png" alt="新品展示">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="release-from text imgText">
|
|
|
- <P style="line-height: 24px;color: red;">请注意:</P>
|
|
|
- <P style="line-height: 24px;">最终能否展示在商城首页,需要经过采美审核人员进行审核(2-3个工作日),审核通过后才会展示。</P>
|
|
|
- </div>
|
|
|
- <div class="release-from clear">
|
|
|
- <div class="from-button last secondbtn">
|
|
|
- <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
- <a href="javascript: void(0);" class="btn next" @click="addReleaseGoodSubmitFn">提交</a>
|
|
|
- <a v-if="platformsFlag" href="javascript: void(0);" class="btn next" @click="addReleasePeview">预览商品</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="preview-container">
|
|
|
- <div class="preview-content">
|
|
|
- <img src="" class="preview-bigimg" alt="" style="border: 2px dashed #DBDBDB">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
-
|
|
|
-<!-- 引入底部 -->
|
|
|
-<template th:replace="components/footer"></template>
|
|
|
-<template th:replace="components/foot-link"></template>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/lib/ckeditor5-new/ckeditor.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/freightMixins.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/getInfoMixins.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/checkeMixins.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/releaseMixins.js(v=${version})}"></script>
|
|
|
-<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/release.js(v=${version})}"></script>
|
|
|
-
|
|
|
-</body>
|
|
|
-</html>
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
+ xsi:schemaLocation="https://www.thymeleaf.org ">
|
|
|
+<head>
|
|
|
+ <title>采美365网-我的店铺-发布商品</title>
|
|
|
+ <template th:replace="components/head-link"></template>
|
|
|
+
|
|
|
+ <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
|
|
|
+ <link th:href="@{/css/supplier-center/shop/release.css(v=${version})}" rel="stylesheet" type="text/css">
|
|
|
+
|
|
|
+ <template th:replace="components/analysis"></template>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+<!-- 引用头部 -->
|
|
|
+<template th:replace="components/header"></template>
|
|
|
+
|
|
|
+<!-- 发布商品 -->
|
|
|
+<div id="releaseContainer">
|
|
|
+ <div class="navLayout" v-cloak>
|
|
|
+ <div v-if="isPC" class="crumbs">
|
|
|
+ <span>我的采美</span>
|
|
|
+ <span>></span>
|
|
|
+ <span>我的店铺</span>
|
|
|
+ <span>></span>
|
|
|
+ <span>发布商品</span>
|
|
|
+ </div>
|
|
|
+ <div class="wrap clear">
|
|
|
+ <!--左侧导航-->
|
|
|
+ <template th:replace="supplier-center/components/tableft"></template>
|
|
|
+ <div class="right">
|
|
|
+ <div class="container shadow" @click.stop="touchmoveFn" >
|
|
|
+ <div class="release-stepbox">
|
|
|
+ <div class="stepSpan active">
|
|
|
+ <p><span>1</span></p>
|
|
|
+ <p>基本信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="stepSpan" :class="activeNum == 1 || activeNum == 2 || activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
+ <p><span>2</span></p>
|
|
|
+ <p>销售信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="stepSpan" :class="activeNum == 2 || activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
+ <p><span>3</span></p>
|
|
|
+ <p>上传图片</p>
|
|
|
+ </div>
|
|
|
+ <div class="stepSpan" :class="activeNum == 3 || activeNum == 4 ? 'active':''">
|
|
|
+ <p><span>4</span></p>
|
|
|
+ <p>服务项目</p>
|
|
|
+ </div>
|
|
|
+ <div class="stepSpan" :class="activeNum == 4 ? 'active':''">
|
|
|
+ <p><span>5</span></p>
|
|
|
+ <p>新品展示</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-container clear" v-show="isRequest" :class="isRequest ? 'active' : ''" >
|
|
|
+ <!--商品初始信息-->
|
|
|
+ <div class="release-main-container clear" v-show="activeNum == 0">
|
|
|
+ <div class="release-from none clear" >
|
|
|
+ <div class="release-label"><span class="star">*</span>商品显示名:</div>
|
|
|
+ <div class="release-input"><input class="input" v-model="releaseParams.name" maxlength="40" type="text" placeholder="请输入该商品在商城显示的名称" @blur="blur_name"></div>
|
|
|
+ <div class="release-tips" v-show="vShow_Name">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text">
|
|
|
+ <P class="text">不超过40个汉字,请尽可能包含商品关键词,便于搜索</P>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>内部商品名:</div>
|
|
|
+ <div class="release-input"><input class="input" v-model="releaseParams.aliasName" maxlength="40" type="text" placeholder="请输入该商品在您公司内部的名称" @blur="blur_aliasName"></div>
|
|
|
+ <div class="release-tips" v-show="vShow_AliasName">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品属性:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio" @click="getclass(1)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="1"><i class="icon mIcon">产品</i></label>
|
|
|
+ <label class="release-radio" @click="getclass(2)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="2" checked><i class="icon mIcon">仪器</i></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_attribute">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.commodityType == 2">
|
|
|
+ <div class="release-label"><span class="star">*</span>培训方式:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio" @click="choiceTrain(1)"><input type="radio" name="trainingMethod" v-model="releaseParams.trainingMethod" value="1"><i class="icon mIcon">线上培训</i></label>
|
|
|
+ <label class="release-radio" @click="choiceTrain(2)"><input type="radio" name="trainingMethod" v-model="releaseParams.trainingMethod" value="2" checked><i class="icon mIcon">线下培训</i></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_trainingMethod">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.commodityType == 2">
|
|
|
+ <div class="release-label"><span class="star">*</span>培训费用:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio" @click="choiceTrainOutlay(1)"><input type="radio" name="trainingType" v-model="releaseParams.trainingType" value="1"><i class="icon mIcon">售价未包含</i></label>
|
|
|
+ <label class="release-radio" @click="choiceTrainOutlay(2)"><input type="radio" name="trainingType" v-model="releaseParams.trainingType" value="2" checked><i class="icon mIcon">售价已包含</i></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-input expen" v-if="releaseParams.trainingType == 1">
|
|
|
+ <span class="span">¥</span>
|
|
|
+ <input class="input" v-model="releaseParams.trainingFee" maxlength="40" type="number" placeholder="请填写包含食宿,交通等各项费用的培训总金额" @input="input_trainingFee">
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_trainingType">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品分类:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="select-main" :class="[isSelectActive == 1 ? 'border' : '']">
|
|
|
+ <input class="select" v-model="selectText.bigTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('first')">
|
|
|
+ <i class="mIcon selected"></i>
|
|
|
+ <div class="option-main" v-if="isSelectActive == 1">
|
|
|
+ <div class="option" v-for="x in classificationFirstList" :key="x.bigTypeID" @click="ChangeClassificationFirst(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="select-main" :class="[isSelectActive == 2 ? 'border' : '']" v-show="classificationTwoList!=''&&classificationTwoList!=null">
|
|
|
+ <input class="select" v-model="selectText.smallTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('two')">
|
|
|
+ <i class="mIcon selected"></i>
|
|
|
+ <div class="option-main" v-if="isSelectActive == 2">
|
|
|
+ <div class="option" v-for="x in classificationTwoList" :key="x.value" @click="ChangeClassificationTwo(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="select-main" :class="[isSelectActive == 3 ? 'border' : '']" v-show="classificationThreeList!=''&& classificationThreeList!=null">
|
|
|
+ <input class="select" v-model="selectText.tinyTypeID" type="text" readonly="readonly" placeholder="请选择分类" @click.stop.prevent="showOption('three')">
|
|
|
+ <i class="mIcon selected"></i>
|
|
|
+ <div class="option-main" v-if="isSelectActive == 3">
|
|
|
+ <div class="option" v-for="x in classificationThreeList" :key="x.value" @click="ChangeClassificationThree(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_TinyTypeID">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品品牌:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <input class="input tags" type="text" v-model="releaseParams.brandName" maxlength="10" placeholder="请输入商品所属品牌" @input="bindBrandAssociationFn" >
|
|
|
+ <div class="add-btn active" v-show="tagsList.length<6" @click="brandAssociationFn()">检测</div>
|
|
|
+ <div class="release-opt" v-show="isBrandAssociation">
|
|
|
+ <div class="opt-item" v-for="x in brandAssociationList" :key="x.id" @click="SelectChangeAssociationFn(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_BrandID">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="popup" v-show="isAddBrand" :class="isAddBrand ? 'active':''">
|
|
|
+ <div class="popup-layer bran">
|
|
|
+ <div class="popup-title"> <p>提交品牌</p> <i class="popup-close layui-layer-ico mIcon " @click="hideAddBrandPopup"></i></div>
|
|
|
+ <div class="popup-content">
|
|
|
+ <div class="popup-from clear"><span>商品品牌:</span><p class="popup-p">{{releaseParams.brandName}}</p></div>
|
|
|
+ <div class="popup-from clear" style="margin-top: 10px">
|
|
|
+ <span>品牌logo:</span>
|
|
|
+ <div class="popup-upload">
|
|
|
+ <div class="upload-file" v-if="brandImage!=''">
|
|
|
+ <img :src="brandImage" alt="" class="upload-img">
|
|
|
+ <i class="icon-del mIcon icon" @click="removeBrandImageFn"></i>
|
|
|
+ </div>
|
|
|
+ <div class="upload-file" v-else>
|
|
|
+ <i class="icon-add mIcon "></i>
|
|
|
+ <input ref="brandImage" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadBrandImagesFn">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="popup-from clear" style="margin-top: 10px">
|
|
|
+ <span>品牌描述:</span>
|
|
|
+ <div class="popup-textarea">
|
|
|
+ <textarea name="" v-model="brandTextarea" cols="30" rows="10" maxlength="200" placeholder="请描述品牌信息,不超过200字"></textarea>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="popup-button">
|
|
|
+ <div class="btn btn-confim" @click="confimAddBrandPopup">确定</div>
|
|
|
+ <div class="btn btn-cancel" @click="hideAddBrandPopup">取消</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品类型:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="select-main" :class="[isSelectActive == 4 ? 'border' : '']">
|
|
|
+ <input class="select" v-model="selectText.goodsType" type="text" readonly="readonly" placeholder="请选择商品类型" @click.stop.prevent="showOption('type')">
|
|
|
+ <i class="mIcon selected"></i>
|
|
|
+ <div class="option-main" v-if="isSelectActive == 4">
|
|
|
+ <div class="option" v-for="x in goodsTypeList" :key="x.value" @click="SelectChangeTypeFn(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="select-main" :class="[isSelectActive == 5 ? 'border' : '']" v-if="releaseParams.productType == 2">
|
|
|
+ <input class="select" v-model="selectText.apparatusType" type="text" readonly="readonly" placeholder="请选择器械类型" @click.stop.prevent="showOption('ratus')">
|
|
|
+ <div class="option-main" v-if="isSelectActive == 5">
|
|
|
+ <div class="option" v-for="x in apparatusTypeList" :key="x.value" @click="SelectChangeApparatusFn(x)">{{x.name}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_GoodsType">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
+ <div class="release-label"><span class="star">*</span>资质证书:</div>
|
|
|
+ <div class="release-input upload">
|
|
|
+ <div class="upload-file" v-if="releaseParams.qualificationImg!=''">
|
|
|
+ <img :src="releaseParams.qualificationImg" alt="" class="upload-img">
|
|
|
+ <i class="icon-del mIcon icon" @click="removeQualificationsFn"></i>
|
|
|
+ </div>
|
|
|
+ <div class="upload-file" v-else>
|
|
|
+ <i class="icon-add"></i>
|
|
|
+ <input ref="inputer" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadQualificationsFn">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_QualificationImg">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
+ <div class="release-label"><span class="star">*</span>证书编号:</div>
|
|
|
+ <div class="release-input"><input class="input" v-model="releaseParams.qualificationNo" maxlength="50" type="text" placeholder="请完整输入证书上的编号" @blur="blur_qualificationNo"></div>
|
|
|
+ <div class="release-tips" v-show="vShow_QualificationNo">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.productType == 2">
|
|
|
+ <div class="release-label"><span class="star">*</span>产品名称:</div>
|
|
|
+ <div class="release-input"><input class="input" v-model="releaseParams.productName" maxlength="50" type="text" placeholder="请输入证书上的产品名称" @blur="blur_productName"></div>
|
|
|
+ <div class="release-tips" v-show="vShow_ProductName">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.productType == 2" id="EffectiveDate">
|
|
|
+ <div class="release-label"><span class="star">*</span>证书有效期:</div>
|
|
|
+ <div class="release-input"><input class="input" type="date" style="width: 220px;" v-model="releaseParams.qualificationTime" maxlength="40" required="required"></div>
|
|
|
+ <div class="release-tips" v-show="vShow_QualificationTime">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from none clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品标签:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <input class="input tags" v-model="tagsText" type="text" placeholder="请输入商品标签" maxlength="15" @focus="blur_tags">
|
|
|
+ <div class="add-btn" v-show="tagsList.length<6" @click="addTag()">添加标签</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_Tags">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text">
|
|
|
+ <P class="text" style="line-height: 24px;">简述商品功效和特性,最多可添加6个标签,每个标签字数不超过15个汉字(如:美白祛斑,消除皱纹)</P>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-show="tagsList.length>0">
|
|
|
+ <div class="tags-main">
|
|
|
+ <div class="item-tags" v-for="(item, index) in tagsList" :key="index">
|
|
|
+ {{item.tag}}<i class="del-tags mIcon" @click="removeTags(index)"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+<!-- <div class="release-from clear">-->
|
|
|
+<!-- <div class="release-label"><span class="star">*</span>包装规格:</div>-->
|
|
|
+<!-- <div class="release-input"><input class="input" v-model="releaseParams.unit" type="text" placeholder="请输入包装规格,如:台,30ml/瓶" @blur="blur_aliasUnit" maxlength="20"></div>-->
|
|
|
+<!-- <div class="release-tips" v-show="vShow_Unit">{{fromMessage}}</div>-->
|
|
|
+<!-- </div>-->
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label rightTxt">商品编码:</div>
|
|
|
+ <div class="release-input"><input class="input" v-model="releaseParams.productCode" type="text" placeholder="建议输入商品编码"></div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from none clear">
|
|
|
+ <div class="release-label rightTxt">搜索关键词:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <input v-for="(item, index) in searchKeyList" :key="index" class="input keyword" type="text" :placeholder="item.placeholder" v-model="item.value" maxlength="16">
|
|
|
+ <a href="/supplier/goods/example.html" target="_blank" class="p" v-if="isPC">查看示例></a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text shili" style="margin-bottom: 10px;">
|
|
|
+ <P class="text" style="line-height: 24px;">{{keywordText}}</P>
|
|
|
+ <a href="/supplier/goods/example.html" target="_blank" class="p" v-if="!(isPC)">查看示例</a>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label rightTxt">相关参数:</div>
|
|
|
+ <div class="release-input clear">
|
|
|
+ <div class="release-param" v-for="(item, index) in paramKeyList" :key="index">
|
|
|
+ <input class="param-input" v-model="item.paramsName" type="text" placeholder="参数名称" maxlength="10">
|
|
|
+ <input class="param-input" v-model="item.paramsContent" type="text" placeholder="参数信息" maxlength="50">
|
|
|
+ <a href="javascript: void(0);" class="del-btn icon mIcon" v-show="index>0" @click="removeParamsFn"></a>
|
|
|
+ </div>
|
|
|
+ <a href="javascript: void(0);" class="add" @click="addParamsFn" v-if="isPC">添加参数<span>+</span></a>
|
|
|
+ <a href="javascript: void(0);" class="add" @click="addParamsFn" V-else>添加参数</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="from-button">
|
|
|
+ <a href="javascript: void(0);" class="btn next" @click="NextStep">暂时保存并下一步</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--商品价格信息-->
|
|
|
+ <div class="release-main-tips" v-show="activeNum == 1">
|
|
|
+ 【采美】平台为采美网官方正品平台,包括采美网网站和采美采购商城小程序。其他平台为与采美网有紧密合作关系的平台,各项标准与采美平台一致,可拓宽您的销售渠道,请放心上架。
|
|
|
+ </div>
|
|
|
+ <div class="release-main-container" v-show="activeNum == 1">
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>上架平台:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <a class="release-radios"
|
|
|
+ href="javascript: void(0);"
|
|
|
+ v-for="(item, index) in platforms"
|
|
|
+ :key="index"
|
|
|
+ :class="item.isChecked ? 'active':''"
|
|
|
+ @click="handleCheckedPlat(item,index)" >
|
|
|
+ {{item.name}}
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="isPlatforms">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <template v-if="platformsFlag">
|
|
|
+ <div class="release-from clear none">
|
|
|
+ <div class="release-label active">【采美平台】</div>
|
|
|
+ <div class="release-label"><span class="star">*</span>SKU种类:</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-from-tr">
|
|
|
+ <div class="tr-labe"><span class="star">*</span>规格</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>市场价</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>售价</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>起订量</div>
|
|
|
+ <div class="tr-labe none"><span class="star">*</span>库存</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from-td" v-for="(sku,index) in skuParams" :key="index">
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-icon">
|
|
|
+ <i class="WEB-icon add" @click="addskuParamsFn(0,sku, index)" v-if="skuParams.length < 20 && index === 0"></i>
|
|
|
+ <i class="WEB-icon del" @click="delskuParamsFn(0,sku, index)" v-if="skuParams.length > 1 && index !=0"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="isSkuRule">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-if="platformsMallFlag">
|
|
|
+ <div class="release-from clear none">
|
|
|
+ <div class="release-label active">
|
|
|
+ 【丽格集采联盟平台】
|
|
|
+ <span class="release-label-btn" @click="handleCopySuk" v-if="releaseType !== 'edit' && platformsFlag">复制上方SKU数据</span>
|
|
|
+ </div>
|
|
|
+ <div class="release-label"><span class="star">*</span>SKU种类:</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-from-tr">
|
|
|
+ <div class="tr-labe"><span class="star">*</span>规格</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>市场价</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>售价</div>
|
|
|
+ <div class="tr-labe"><span class="star">*</span>起订量</div>
|
|
|
+ <div class="tr-labe none"><span class="star">*</span>库存</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from-td" v-for="(sku,index) in mallSkusParams" :key="index">
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
|
|
|
+ <div class="tr-icon">
|
|
|
+ <i class="WEB-icon add" @click="addskuParamsFn(4,sku, index)" v-if="mallSkusParams.length < 20 && index === 0"></i>
|
|
|
+ <i class="WEB-icon del" @click="delskuParamsFn(4,sku, index)" v-if="mallSkusParams.length > 1 && index !=0"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="isMallSkuRule">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>售价是否含税:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio"><input type="radio" name="includedTax" v-model="releaseParams.includedTax" value="1" ><i class="icon mIcon">含税</i></label>
|
|
|
+ <label class="release-radio"><input type="radio" name="includedTax" v-model="releaseParams.includedTax" value="0" checked><i class="icon mIcon">不含税</i></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_includedTax">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-show="releaseParams.includedTax == 1 || releaseParams.includedTax == 0">
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props" >
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="1" @click="radioChangeInvoiceType">
|
|
|
+ <i class="icon mIcon">开增值税专用发票</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="2" checked @click="radioChangeInvoiceType">
|
|
|
+ <i class="icon mIcon">开增值税普通发票</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio" v-show="releaseParams.includedTax == 0">
|
|
|
+ <input type="radio" name="invoiceType" v-model="releaseParams.invoiceType" value="3" checked @click="radioChangeInvoiceType">
|
|
|
+ <i class="icon mIcon">不开发票</i>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-show="releaseParams.invoiceType != '3'">
|
|
|
+ <div class="release-input">
|
|
|
+ <span class="tax" :style="{color:'#FF0000'}">*</span>
|
|
|
+ <span class="tax">税率:<span class="mg">{{releaseParams.taxPoint}}%</span></span>
|
|
|
+ <a href="javascript: void(0);" class="edit-btn" @click="taxPonitEdit">修改</a>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_price">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="popup" v-show="isTaxPonitEditPopup" :class="isTaxPonitEditPopup?'active':''">
|
|
|
+ <div class="popup-layer edit">
|
|
|
+ <div class="popup-title"> <p>修改税率</p> <i class="popup-close layui-layer-ico mIcon" @click="hideTaxPonitEditPopup"></i></div>
|
|
|
+ <div class="popup-content">
|
|
|
+ <div class="popup-from"><span>税率:</span>
|
|
|
+ <input type="number" v-model="releaseParams.taxPoint" maxlength="4" @ placeholder="请输入税率" @focus="blur_taxPoint"><span class="poze">%</span>
|
|
|
+ </div>
|
|
|
+ <div class="popup-tips" v-show="vShow_taxPoint">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="popup-button">
|
|
|
+ <div class="btn btn-confim" @click="confimTaxPonitEditPopup">确定</div>
|
|
|
+ <div class="btn btn-cancel" @click="hideTaxPonitEditPopup">取消</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>购买数量:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <div class="release-props" >
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="step" v-model="releaseParams.step" value="1" @click="radioChangeStep">
|
|
|
+ <i class="icon mIcon">逐步增长</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="step" v-model="releaseParams.step" value="2" checked @click="radioChangeStep">
|
|
|
+ <i class="icon mIcon">以起订量增长</i>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>物流方式:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="0" @click="radioChangeByFlag">
|
|
|
+ <i class="icon mIcon">包邮</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="1" checked @click="radioChangeByFlag">
|
|
|
+ <i class="icon mIcon">使用运费模板</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="freePostFlag" v-model="releaseParams.freePostFlag" :value="2" checked @click="radioChangeByFlag">
|
|
|
+ <i class="icon mIcon">到付</i>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" v-if="releaseParams.freePostFlag === 1">
|
|
|
+ <div class="release-label"><span class="star">*</span>选择模板:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <div class="release-select">
|
|
|
+ <el-select v-model="releaseParams.freightTemplateId" placeholder="请选择" style="width: 320px;">
|
|
|
+ <el-option
|
|
|
+ v-for="freight in freightOptions"
|
|
|
+ :key="freight.id"
|
|
|
+ :label="freight.name"
|
|
|
+ :value="freight.id">
|
|
|
+ {{ freight.name }}
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="release-select-refresh">
|
|
|
+ <el-button type="text" icon="el-icon-refresh-right" @click="handleRefresh" style="padding: 0 0;color: #333333;">刷新</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="release-select-all">
|
|
|
+ <a href="/supplier/freight.html" target="_blank">所有模板</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_freePostFlag">{{fromMessage}}</div>
|
|
|
+ <div class="release-input-add">
|
|
|
+ <el-button type="primary" @click="handleAddFreight">新增运费模板</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <template th:replace="supplier-center/components/freight-dialog"></template>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="from-button secondbtn">
|
|
|
+ <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
+ <a href="javascript: void(0);" class="btn next" @click="NextStep1">暂时保存并下一步</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--商品信息-->
|
|
|
+ <div class="release-main-container" v-show="activeNum == 2">
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品图片:</div>
|
|
|
+ <div class="release-input upload image" id="uploadGoodsImages">
|
|
|
+ <div class="upload-file" v-for="(item, index) in GoodsImagesList" :key="index"
|
|
|
+ draggable="true"
|
|
|
+ @dragstart="dragstart(item)"
|
|
|
+ @dragenter="dragenter(item)"
|
|
|
+ @dragend="dragend(item)"
|
|
|
+ >
|
|
|
+ <img :data-original='item' :src="item" :id="'uploadGoodsImages'+ index" :data-image="item" alt="" class="upload-img" @click="showViewerImageFn(index)">
|
|
|
+ <i class="icon-del mIcon icon" @click="removeGoodsImagesFn(index)"></i>
|
|
|
+ </div>
|
|
|
+ <div class="upload-file" v-show="GoodsImagesList.length<5">
|
|
|
+ <i class="icon-add mIcon"></i>
|
|
|
+ <p class="add-text" v-if="!(isPC)">添加图片</p>
|
|
|
+ <input ref="goodsImages" type="file" name="file" value="" class="input-file" accept="image/png,image/jpeg,image/gif,image/jpg" @change="uploadGoodsImagesFn">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_GoodsImages">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text imgText" style="margin-bottom: 10px;">
|
|
|
+ <P class="text" style="line-height: 24px;">最多上传<span class="em">5张</span>图片,可拖动图片改变位置,第一张默认为产品主图;仅支持
|
|
|
+ <span class="em">JPG、GIF、JPEG</span>和<span class="em">BMP</span>格式,建议图片<span class="em">比例必须为1:1且分辨率必须在750*750以上,</span>
|
|
|
+ <span class="em">每张图小于5M</span>;图片请避免全文字,否则有可能审核不通过</P>
|
|
|
+<!-- <P class="text" style="line-height: 24px;">仅支持<span class="em">JPG、GIF、JPEG</span>和<span class="em">BMP</span>格式,建议图片<span class="em">分辨率在750*750以上,</span></P>-->
|
|
|
+<!-- <P class="text" style="line-height: 24px;"><span class="em">每张图小于5M</span>;图片请避免全文字,否则有可能审核不通过</P>-->
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear" style="margin-top: 30px;">
|
|
|
+ <div class="release-label"><span class="star">*</span>商品详情:</div>
|
|
|
+ <div class="release-input Editor">
|
|
|
+ <textarea class="textarea" id="detailInfoEditor" v-html="releaseParams.detailInfo"></textarea >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text imgText" style="margin-bottom: 10px;">
|
|
|
+ <P class="text" style="line-height: 24px;">建议图文并茂并按照<span class="em">产品介绍>产品功效>操作流程>效果分享>疗程建议>注意事项>产品证书</span>的顺序进行描述;</P>
|
|
|
+ <P class="text" style="line-height: 24px;">上传图片时,对每张图都填写关键词描述,有利于商品的曝光。</P>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="from-button secondbtn">
|
|
|
+ <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
+ <a href="javascript: void(0);" class="btn next" @click="NextStep2">暂时保存并下一步</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-main-container" v-show="activeNum == 3">
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label">订购方案:</div>
|
|
|
+ <div class="release-input Editor">
|
|
|
+ <textarea class="textarea" id="orderInfoEditor" v-html="releaseParams.orderInfo" placeholder="建议从合作分成,活动形式两方面进行描述"></textarea >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label">服务详情:</div>
|
|
|
+ <div class="release-input Editor">
|
|
|
+ <textarea class="textarea" id="severInfoEditor" v-html="releaseParams.serviceInfo" placeholder="建议从服务案例,美业年限,团队人数和资历认证各方面进行描述"></textarea >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="from-button last secondbtn">
|
|
|
+ <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
+ <a href="javascript: void(0);" class="btn next" @click="NextStep3">暂时保存并下一步</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--新品展示编辑-->
|
|
|
+ <div class="release-main-container new" v-show="activeNum == 4">
|
|
|
+ <div class="release-from text imgText">
|
|
|
+ <P style="line-height: 24px;">采美商城已上线新品重点展示功能,新发布的商品有机会直接展示在网站首页,增加商品曝光量,展示时长为3个月。 您可为这个即将发布的商品选择是否参与新品展示。</P>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-label"><span class="star">*</span>新品展示:</div>
|
|
|
+ <div class="release-input">
|
|
|
+ <div class="release-props">
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="newProductType" v-model="releaseParams.newProductType" value="1" @click="radioChangeNewvalidFlag">
|
|
|
+ <i class="icon mIcon">参与</i>
|
|
|
+ </label>
|
|
|
+ <label class="release-radio">
|
|
|
+ <input type="radio" name="newProductType" v-model="releaseParams.newProductType" value="2" checked @click="radioChangeNewvalidFlag">
|
|
|
+ <i class="icon mIcon">不参与</i>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-tips" v-show="vShow_isNewProductType">{{fromMessage}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="release-image">
|
|
|
+ <img src="/img/supplier/icon-hotimage.png" alt="新品展示">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="release-from text imgText">
|
|
|
+ <P style="line-height: 24px;color: red;">请注意:</P>
|
|
|
+ <P style="line-height: 24px;">最终能否展示在商城首页,需要经过采美审核人员进行审核(2-3个工作日),审核通过后才会展示。</P>
|
|
|
+ </div>
|
|
|
+ <div class="release-from clear">
|
|
|
+ <div class="from-button last secondbtn">
|
|
|
+ <a href="javascript: void(0);" class="btn prev" @click="PrevStep">上一步</a>
|
|
|
+ <a href="javascript: void(0);" class="btn next" @click="addReleaseGoodSubmitFn">提交信息</a>
|
|
|
+ <a v-if="platformsFlag" href="javascript: void(0);" class="btn next" @click="addReleasePeview">预览商品</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="preview-container">
|
|
|
+ <div class="preview-content">
|
|
|
+ <img src="" class="preview-bigimg" alt="" style="border: 2px dashed #DBDBDB">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<!-- 引入底部 -->
|
|
|
+<template th:replace="components/footer"></template>
|
|
|
+<template th:replace="components/foot-link"></template>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/lib/ckeditor5-new/ckeditor.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/freightMixins.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/getInfoMixins.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/checkeMixins.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/releaseMixins.js(v=${version})}"></script>
|
|
|
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/release.js(v=${version})}"></script>
|
|
|
+
|
|
|
+</body>
|
|
|
+</html>
|