汪总电商平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

484 lines
21 KiB

<style>
#cxselect-example .form-group {
margin: 10px 0;
}
[v-cloak] {display: none;}
.wanl-specs .add-option{
width: 250px;
margin-bottom: 17px;
}
.wanl-specs .add-option .input-group-addon{
color: #fff;
background-color: #2c3e50;
}
.wanl-specs .panel .row{
margin: 5px 0;
}
.wanl-specs .panel .remove {
display: none;
position: absolute;
z-index: 2;
width: 18px;
height: 18px;
font-size: 14px;
line-height: 16px;
color: #fff;
text-align: center;
cursor: pointer;
background: rgba(0,0,0,.3);
border-radius: 50%;
}
.wanl-specs .panel .panel-heading {
position: relative;
}
.wanl-specs .panel .panel-heading .remove {
right: 10px;
top: 10px;
}
.wanl-specs .panel .panel-heading:hover .remove {
display:block;
}
.wanl-specs .panel .wanl-specs-tag{
background-color: #f8f8f8;
position: relative;
padding: 6px 10px;
display: inline-block;
margin-right: 10px;
text-align: center;
border-radius: 2px;
cursor: pointer;
}
.wanl-specs .panel .wanl-specs-tag .remove {
top: -5px;
right: -5px;
}
.wanl-specs .panel .wanl-specs-tag:hover .remove{
display:block;
}
.wanl-specs .batch .input-group{
margin: 15px 0;
width: 66%;
}
.sp_result_area{
z-index: 10000;
}
.form-inline .form-control{
padding-right: 100px;
}
.input-sm{
padding: 5px 0;
text-align: center;
}
.sp_container {
margin-right: 3px;
}
.panel-intro > .panel-heading {
position: sticky;
top: 0;
z-index: 9999;
}
.wanl-attribute {
display: flex;
flex-wrap: wrap;
background: #f5f5f5;
border: 1px solid #ddd;
border-radius: 3px;
}
.wanl-attribute>div{
width: 50%;
}
/* 1.0.8升级 */
.wanl_sku_img{
margin-bottom: 0;
border: 1px solid #d2d6de;
}
.wanl_sku_img img{
width: 28px;
height: 28px;
}
.wanl_sku_img .skuUpload{
width: 28px;
height: 28px;
line-height: 28px;
text-align: center;
}
.wanl_sku_img .skuUpload i{
color: #777;
}
</style>
{if condition="($row.brand == 0) OR ($row.shopsort == 0) OR ($row.freight == 0) OR empty($row.config.sendPhoneNum) OR empty($row.config.returnPhoneNum)"}
<div class="alert alert-danger-light">
<strong>暂不可发布商品:</strong>
{in name="row.brand" value="0"}<p> 系统中没有任何品牌,请到【总后台】> 多用户商城 > 商品管理 > 品牌管理添加。</p>{/in}
{in name="row.shopsort" value="0"}<p> 尚未创建 “店铺分类”,请 <a class="btn-shopsort" href="#">点击创建</a></p>{/in}
{in name="row.freight" value="0"}<p> 尚未创建 “运费模板”,请 <a class="btn-freight" href="#">点击创建</a></p>{/in}
{empty name="row.config.sendPhoneNum"}<p> 尚未填写完整 “寄件人信息”,请 <a class="btn-send" href="#">点击填写</a> 寄件人信息。</p>{/empty}
{empty name="row.config.returnPhoneNum"}<p> 尚未填写完整 “退货信息”,请 <a class="btn-return" href="#">点击填写</a> 退货信息。</p>{/empty}
</div>
{/if}
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basics">基础信息</a></li>
<li><a href="#sale">销售信息</a></li>
<li><a href="#wanlinfo">图文描述</a></li>
<li><a href="#payment">支付信息</a></li>
<li><a href="#logistics">物流信息</a></li>
<li><a href="#service">售后信息</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding" id="cxselect-example">
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div id="app" v-cloak>
<div class="row" id="basics">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">基础信息</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text" placeholder="请输入宝贝标题">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Category_id')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<select id="c-category_1" data-rule="required" v-model="categoryOne" class="form-control" @change="getCategory(1)">
<option :value="key" v-for="(item,key) in categoryList" :key="item.id">{{item.name}}</option>
</select>
<select id="c-category_2" data-rule="required" v-if="categoryOne != null && categoryList[categoryOne].childlist.length != 0" v-model="categoryTwo" class="form-control" @change="getCategory()">
<option :value="key" v-for="(item,key) in categoryList[categoryOne].childlist" :key="item.id">{{item.name}}</option>
</select>
<select id="c-category_3" data-rule="required" v-if="categoryTwo != null && categoryList[categoryOne].childlist[categoryTwo].childlist.length != 0" v-model="categoryThree" class="form-control" @change="getCategory()">
<option :value="key" v-for="(item,key) in categoryList[categoryOne].childlist[categoryTwo].childlist" :key="item.id">{{item.name}}</option>
</select>
<select id="c-category_4" data-rule="required" v-if="categoryThree != null && categoryList[categoryOne].childlist[categoryTwo].childlist[categoryThree].childlist.length != 0" v-model="categoryFour" class="form-control" @change="getCategory()">
<option :value="key" v-for="(item,key) in categoryList[categoryOne].childlist[categoryTwo].childlist[categoryThree].childlist" :key="item.id">{{item.name}}</option>
</select>
<select id="c-category_5" data-rule="required" v-if="categoryFour != null && categoryList[categoryOne].childlist[categoryTwo].childlist[categoryThree].childlist[categoryFour].childlist.length != 0" v-model="categoryFive" class="form-control" @change="getCategory()">
<option :value="key" v-for="(item,key) in categoryList[categoryOne].childlist[categoryTwo].childlist[categoryThree].childlist[categoryFour].childlist" :key="item.id">{{item.name}}</option>
</select>
<input class="form-control" name="row[category_id]" type="hidden" :value="categoryId">
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('宝贝品牌')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-brand_id" data-rule="required"
data-source="wanlshop/brand/selectpage"
class="form-control selectpage"
name="row[brand_id]"
type="text" placeholder="点击获取品牌列表">
<div class="input-group-addon no-border no-padding">
<span><button type="button" class="btn btn-danger btn-brand" >{:__('申请品牌')}</button></span>
</div>
</div>
</div>
</div>
<div class="form-group" v-if="attributeData.length != 0">
<label class="control-label col-xs-12 col-sm-2">{:__('类目属性')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="wanl-attribute">
<div class="form-group" v-for="(item,index) in attributeData" :key="index">
<label for="inputPassword" class="col-sm-3 control-label">{{item.name}}</label>
<div class="col-sm-9">
<select :id="'c-attribute_' + item.name" :name="'row[attribute]['+item.name+']'" data-rule="required" class="form-control">
<option :value="data.name" v-for="(data,key) in item.value" :key="key">{{data.name}}</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="sale">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">销售信息</div>
<div class="panel-body">
<div class="form-group wanl-specs">
<label class="control-label col-xs-12 col-sm-2">{:__('产品属性')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group add-option">
<input type="text" class="form-control" ref="specs-name" placeholder="多个产品属性以空格隔开">
<span class="input-group-addon pointer" @click="spuAdd">新增属性</span>
</div>
<div class="panel panel-default" v-for="(item, i) in spu" :key="i">
<header class="panel-heading">
<b>{{item}}</b>
<span class="remove" title="移除" @click="spuRemove(i)">×</span>
</header>
<div class="row">
<div class="col-md-5 col-sm-5 col-xs-5">
<div class="input-group">
<input type="text" class="form-control" :ref="'specs-name-' + i" placeholder="多规格以空格隔开">
<span class="input-group-addon pointer" @click="skuAdd(i)"><i class="fa fa-plus"></i></span>
</div>
</div>
<div class="col-md-7 col-sm-7 col-xs-7">
<div class="wanl-specs-tag" v-for="(v, j) in spuItem[i]" :key="j">
{{v}}<span class="remove" title="移除" @click="skuRemove(i, j)">×</span>
</div>
</div>
</div>
</div>
<div>
<div v-for="itemm in sku">
<input type="hidden" name="row[sku][]" v-model="itemm" />
</div>
<input type="hidden" name="row[spu]" v-model="spu" />
<div v-for="items in spuItem">
<input type="hidden" name="row[spuItem][]" v-model="items" />
</div>
</div>
<div class="row" v-show="sku.length">
<div class="col-md-12">
<table class="table table-bordered">
<thead>
<tr class="info text-info">
<th v-for="item in spu"> {{item}} </th>
<th width="40">图片</th>
<th width="80">原价</th>
<th width="80">现价</th>
<th width="80">库存</th>
<th width="80">重量(k)</th>
<th width="80">编码</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in sku" :key="index">
<td v-for="v in item">{{v}}</td>
<td>
<input type="hidden" name="row[thumbnail][]" v-model="skuImg[index]" v-if="skuImg[index]">
<input type="file" :id="'skuImg' + index" accept="image/*" @change="changeImage($event, index)" style="display:none" >
<label :for="'skuImg' + index" class="wanl_sku_img">
<img :src="cdnurl(skuImg[index])" v-if="skuImg[index]">
<div class="skuUpload" v-else>
<i class="fa fa-picture-o"></i>
</div>
</label>
</td>
<td> <input type="number" data-rule="required" name="row[market_price][]" class="input-sm form-control wanl-market_price"> </td>
<td> <input type="number" data-rule="required" name="row[price][]" class="input-sm form-control wanl-price"> </td>
<td> <input type="number" data-rule="required" name="row[stocks][]" class="input-sm form-control wanl-stock"></td>
<td> <input type="number" name="row[weigh][]" class="input-sm form-control wanl-weigh"></td>
<td> <input type="text" name="row[sn][]" class="input-sm form-control wanl-sn"></td>
</tr>
</tbody>
</table>
<div @click="skuBatch()">
<span v-if="batch == 0">
是否要批量设置?
</span>
<span v-else>
取消批量设置?
</span>
</div>
</div>
</div>
<div class="batch" v-show="batch == 1">
<div class="input-group">
<div class="input-group-addon">原价 ¥</div>
<input type="number" class="form-control" id="batch-market_price" placeholder="一键设置原价">
<div class="input-group-addon" onclick="batchSet('market_price')">批量设置</div>
</div>
<div class="input-group">
<div class="input-group-addon">现价 ¥</div>
<input type="number" class="form-control" id="batch-price" placeholder="一键设置现价">
<div class="input-group-addon" onclick="batchSet('price')">批量设置</div>
</div>
<div class="input-group">
<div class="input-group-addon">库存</div>
<input type="number" class="form-control" id="batch-stock" placeholder="一键设置库存">
<div class="input-group-addon" onclick="batchSet('stock')">批量设置</div>
</div>
<div class="input-group">
<div class="input-group-addon">重量</div>
<input type="number" class="form-control" id="batch-weigh" placeholder="一键设置重量">
<div class="input-group-addon" onclick="batchSet('weigh')">批量设置</div>
</div>
<div class="input-group">
<div class="input-group-addon">编码</div>
<input type="text" class="form-control" id="batch-sn" placeholder="一键设置编码">
<div class="input-group-addon" onclick="batchSet('sn')">批量设置</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="wanlinfo">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">图文描述</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" type="text" placeholder="请上传宝贝主图">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-image"></span>
</div>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Images')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-images" data-rule="required" class="form-control" size="50" name="row[images]" type="text" placeholder="请上传宝贝相册">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-images"></span>
</div>
<ul class="row list-inline plupload-preview" id="p-images"></ul>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-description" data-rule="required" class="form-control" name="row[description]" type="text" placeholder="请输入宝贝描述">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" data-rule="required" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('店铺中分类')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-shop_category_id" data-rule="required"
data-source="wanlshop/shopsort"
data-params='{"isTree":1}'
data-multiple="true"
data-pagination="true"
data-page-size="1"
class="form-control selectpage"
name="row[shop_category_id]"
type="text"
placeholder="点击选择店铺分类">
<div class="input-group-addon no-border no-padding">
<span><button type="button" class="btn btn-danger btn-shopsort" >{:__('新建分类')}</button></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="payment">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">支付信息</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Stock')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-stock" data-rule="required" class="form-control selectpicker" name="row[stock]">
{foreach name="stockList" item="vo"}
<option value="{$key}">{$vo}</option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="logistics">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">物流信息</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Freight_id')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-freight_id" data-rule="required" data-source="wanlshop/freight" class="form-control selectpage" name="row[freight_id]" type="text" placeholder="点击选择运费模板">
<div class="input-group-addon no-border no-padding">
<span><button type="button" class="btn btn-danger btn-freight" >{:__('新建模板')}</button></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="service">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">售后信息</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="radio">
{foreach name="statusList" item="vo"}
<label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="normal"}checked{/in} /> {$vo}</label>
{/foreach}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group layer-footer">
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>