<div class="layui-fluid layui-anim febs-anim" id="febs-sc-muse" lay-title="内容编辑">
|
<div class="layui-row febs-container">
|
<div class="layui-col-md12">
|
<div class="layui-fluid" id="sc-muse-update">
|
<form class="layui-form" action="" lay-filter="sc-muse-update-form">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<ul class="layui-tab-title">
|
<li class="layui-this">基础信息</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<blockquote class="layui-elem-quote blue-border">基础信息</blockquote>
|
<!-- 隐藏的 ID 项 -->
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label">ID:</label>
|
<div class="layui-input-block">
|
<input type="text" name="id" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">布料:</label>
|
<div class="layui-input-block">
|
<div id="sc-cloth"></div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">尺码:</label>
|
<div class="layui-input-block">
|
<div id="sc-size"></div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">工艺:</label>
|
<div class="layui-input-block">
|
<div id="sc-art"></div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-form-item multi-rule-table">
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<blockquote class="layui-elem-quote blue-border">正面图案</blockquote>
|
|
<div class="layui-col-lg6">
|
<label class="layui-form-label">图案:</label>
|
<div class="layui-input-block">
|
<div id="sc-pattern"></div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn" id="testPattern" >添加</button>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<div class="layui-input-block">
|
<table id="multiPattern" lay-filter="multiPattern"></table>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-form-item multi-rule-table">
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<blockquote class="layui-elem-quote blue-border">反面图案</blockquote>
|
|
<div class="layui-col-lg6">
|
<label class="layui-form-label">图案:</label>
|
<div class="layui-input-block">
|
<div id="sc-location"></div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn" id="testLocation" >添加</button>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<div class="layui-input-block">
|
<table id="multiLocation" lay-filter="multiLocation"></table>
|
</div>
|
</div>
|
</div>
|
|
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<button class="layui-btn" lay-submit="" lay-filter="sc-muse-update-form-submit" id="submit">保存</button>
|
</div>
|
</form>
|
</div>
|
</div>
|
</div>
|
</div>
|
<style>
|
.blue-border {
|
border-left-color: #2db7f5;
|
font-size: 18px;
|
}
|
|
.layui-table-cell {
|
height: auto;
|
}
|
|
</style>
|
<script type="text/html" id="toolbar">
|
<div class="layui-btn-container">
|
<button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button>
|
</div>
|
</script>
|
|
<script type="text/html" id="tablePatternImgUpload">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="skuPatternImg{{d.index}}">上传
|
</button>
|
</br>
|
<img class="layui-upload-img" id="imagePatternUrls{{d.index}}" style="width: 100px; display:none;"
|
src="{{d.skuPatternImage}}">
|
<input type="text" id="skuPatternImage{{d.index}}" name="skuPatternImage{{d.index}}" autoComplete="off" value="{{d.skuPatternImage}}"
|
class="layui-input febs-hide">
|
</div>
|
</script>
|
|
<script type="text/html" id="tableLocationImgUpload">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="skuLocationImg{{d.index}}">上传
|
</button>
|
</br>
|
<img class="layui-upload-img" id="imageLocationUrls{{d.index}}" style="width: 100px; display:none;"
|
src="{{d.skuLocationImage}}">
|
<input type="text" id="skuLocationImage{{d.index}}" name="skuLocationImage{{d.index}}" autoComplete="off" value="{{d.skuLocationImage}}"
|
class="layui-input febs-hide">
|
</div>
|
</script>
|
<!-- 表格操作栏 end -->
|
<script data-th-inline="javascript">
|
layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () {
|
var $ = layui.jquery,
|
febs = layui.febs,
|
layer = layui.layer,
|
table = layui.table,
|
formSelects = layui.formSelects,
|
treeSelect = layui.treeSelect,
|
form = layui.form,
|
laydate = layui.laydate,
|
eleTree = layui.eleTree,
|
$view = $('#sc-muse-update'),
|
layedit = layui.layedit,
|
socialMuse = [[${socialMuse}]],
|
upload = layui.upload,
|
validate = layui.validate,
|
element = layui.element;
|
|
form.render();
|
formSelects.render();
|
|
var patternSet = xmSelect.render({
|
|
el: '#sc-pattern',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
febs.get(ctx + 'admin/clothesType/allPattern/' + socialMuse.typeId, null, function(res) {
|
patternSet.update({
|
data : res.data,
|
autoRow: true,
|
});
|
})
|
|
$('#testPattern').on('click', function (){
|
let patternChoice = patternSet.getValue();
|
console.log(patternChoice);
|
if(patternChoice == null || patternChoice == ""){
|
febs.alert.warn('请选择图案');
|
return false;
|
}
|
for (let i = 0; i < patternChoice.length; i++) {
|
let data = {};
|
data.patternId = patternChoice[i].id;
|
data.patternName = patternChoice[i].name;
|
addTablePatternDate(data);
|
}
|
});
|
|
var patternData=[];
|
var tableInitPattern = table.render({
|
elem: '#multiPattern'
|
,limit:999
|
,toolbar:"#toolbar"
|
,defaultToolbar:[]
|
,cols:[[//表头
|
|
{type: 'checkbox'},
|
{field: 'patternId', title: '正面ID', width:200,edit:'text'},
|
{field: 'patternName', title: '正面图案', width:200,edit:'text'},
|
{field: 'patternText', title: '文字', width:200,edit:'text'},
|
{templet: '#tablePatternImgUpload', title: '图案', width:150},
|
{field: 'skuPatternImage', title: '图案地址'},
|
]]
|
,data: []
|
|
});
|
|
table.on('toolbar(multiPattern)', function(obj){
|
var data = obj.data;
|
var hasData = table.cache['multiPattern'];
|
var checkData = table.checkStatus('multiPattern').data;
|
|
if (checkData.length <= 0) {
|
febs.alert.warn('请选择删除数据');
|
return;
|
}
|
if(obj.event === 'delSku'){
|
for (let i = 0; i < checkData.length; i++) {
|
var delData = checkData[i];
|
for (let j = 0; j < hasData.length; j++) {
|
if (hasData[j].index == delData.index) {
|
hasData.splice(j, 1);
|
break;
|
}
|
}
|
}
|
|
for (let i = 0; i < hasData.length; i++) {
|
hasData[i].index = i + 1;
|
}
|
|
patternData=hasData;
|
reloadPatternTable(hasData);
|
}
|
});
|
|
function addTablePatternDate(data) {
|
var hasData = table.cache['multiPattern'];
|
|
data.index = hasData.length + 1;
|
patternData.push(data);
|
|
reloadPatternTable(patternData);
|
return data.index;
|
}
|
|
function reloadPatternTable(data) {
|
table.reload('multiPattern', {
|
data : data
|
});
|
|
for (let i = 0; i < data.length; i++) {
|
if (data[i].skuPatternImage) {
|
$('#imagePatternUrls' + (i + 1)).css('display', 'block');
|
}
|
// 重新绑定图片上传
|
bindPatternUpload(i + 1);
|
}
|
}
|
|
table.on('edit(multiPattern)', function(obj){
|
var value = obj.value //得到修改后的值
|
,data = obj.data //得到所在行所有键值
|
,field = obj.field; //得到字段
|
|
for (let i = 0; i < patternData.length; i++) {
|
if (patternData[i].index == data.index) {
|
patternData[i] = data;
|
}
|
}
|
});
|
|
function bindPatternUpload(index) {
|
// 普通图片上传
|
upload.render({
|
elem: '#skuPatternImg' + index
|
, url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
, done: function (res) {
|
febs.alert.success(res.data.src);
|
$('#imagePatternUrls' + index).attr('src', res.data.src);
|
$('#imagePatternUrls' + index).css('display', 'block');
|
$('#skuPatternImage' + index).val(res.data.src);
|
|
|
for (let i = 0; i < patternData.length; i++) {
|
if (patternData[i].index == index) {
|
patternData[i].skuPatternImage = res.data.src;
|
}
|
}
|
|
reloadPatternTable(patternData);
|
}
|
});
|
}
|
|
var locationSet = xmSelect.render({
|
|
el: '#sc-location',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
|
febs.get(ctx + 'admin/clothesType/allLocation/' + socialMuse.typeId, null, function(res) {
|
locationSet.update({
|
data : res.data,
|
autoRow: true,
|
});
|
})
|
|
$('#testLocation').on('click', function (){
|
let locationChoice = locationSet.getValue();
|
console.log(locationChoice);
|
if(locationChoice == null || locationChoice == ""){
|
febs.alert.warn('请选择图案');
|
return false;
|
}
|
for (let i = 0; i < locationChoice.length; i++) {
|
let data = {};
|
data.locationId = locationChoice[i].id;
|
data.locationName = locationChoice[i].name;
|
addTableLocationDate(data);
|
}
|
});
|
|
var locationData=[];
|
var tableInitLocation = table.render({
|
elem: '#multiLocation'
|
,limit:999
|
,toolbar:"#toolbar"
|
,defaultToolbar:[]
|
,cols:[[//表头
|
|
{type: 'checkbox'},
|
{field: 'locationId', title: '反面ID', width:200,edit:'text'},
|
{field: 'locationName', title: '反面图案', width:200,edit:'text'},
|
{field: 'locationText', title: '文字', width:200,edit:'text'},
|
{templet: '#tableLocationImgUpload', title: '图案', width:150},
|
{field: 'skuLocationImage', title: '图案地址'},
|
]]
|
,data: []
|
|
});
|
|
table.on('toolbar(multiLocation)', function(obj){
|
var data = obj.data;
|
var hasData = table.cache['multiLocation'];
|
var checkData = table.checkStatus('multiLocation').data;
|
|
if (checkData.length <= 0) {
|
febs.alert.warn('请选择删除数据');
|
return;
|
}
|
if(obj.event === 'delSku'){
|
for (let i = 0; i < checkData.length; i++) {
|
var delData = checkData[i];
|
for (let j = 0; j < hasData.length; j++) {
|
if (hasData[j].index == delData.index) {
|
hasData.splice(j, 1);
|
break;
|
}
|
}
|
}
|
|
for (let i = 0; i < hasData.length; i++) {
|
hasData[i].index = i + 1;
|
}
|
|
locationData=hasData;
|
reloadLocationTable(hasData);
|
}
|
});
|
|
function addTableLocationDate(data) {
|
var hasData = table.cache['multiLocation'];
|
|
data.index = hasData.length + 1;
|
locationData.push(data);
|
|
reloadLocationTable(locationData);
|
return data.index;
|
}
|
|
function reloadLocationTable(data) {
|
table.reload('multiLocation', {
|
data : data
|
});
|
|
for (let i = 0; i < data.length; i++) {
|
if (data[i].skuLocationImage) {
|
$('#imageLocationUrls' + (i + 1)).css('display', 'block');
|
}
|
// 重新绑定图片上传
|
bindLocationUpload(i + 1);
|
}
|
}
|
|
table.on('edit(multiLocation)', function(obj){
|
var value = obj.value //得到修改后的值
|
,data = obj.data //得到所在行所有键值
|
,field = obj.field; //得到字段
|
|
for (let i = 0; i < locationData.length; i++) {
|
if (locationData[i].index == data.index) {
|
locationData[i] = data;
|
}
|
}
|
});
|
|
function bindLocationUpload(index) {
|
// 普通图片上传
|
upload.render({
|
elem: '#skuLocationImg' + index
|
, url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
, done: function (res) {
|
febs.alert.success(res.data.src);
|
$('#imageLocationUrls' + index).attr('src', res.data.src);
|
$('#imageLocationUrls' + index).css('display', 'block');
|
$('#skuLocationImage' + index).val(res.data.src);
|
|
|
for (let i = 0; i < locationData.length; i++) {
|
if (locationData[i].index == index) {
|
locationData[i].skuLocationImage = res.data.src;
|
}
|
}
|
|
reloadLocationTable(locationData);
|
}
|
});
|
}
|
|
|
//图片上传
|
upload.render({
|
elem: '#patternImageUploadButton'
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,accept: 'file' //普通文件
|
,size: 10240 //限制文件大小,单位 KB
|
,before: function(obj){
|
//预读本地文件示例,不支持ie8
|
obj.preview(function(index, file, result){
|
$('#patternImageUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
|
});
|
}
|
,done: function(res){
|
$("#patternImage").val(res.data.src);
|
}
|
});
|
|
let scArt = xmSelect.render({
|
el: '#sc-art',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
|
febs.get(ctx + 'admin/clothesType/allArt/' + socialMuse.typeId, null, function(res) {
|
scArt.update({
|
data : res.data,
|
autoRow: true,
|
});
|
})
|
|
let scSize = xmSelect.render({
|
el: '#sc-size',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
|
febs.get(ctx + 'admin/clothesType/allSize/' + socialMuse.typeId, null, function(res) {
|
scSize.update({
|
data : res.data,
|
autoRow: true,
|
});
|
})
|
|
let scCloth = xmSelect.render({
|
el: '#sc-cloth',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
|
febs.get(ctx + 'admin/clothesType/allCloth/' + socialMuse.typeId, null, function(res) {
|
scCloth.update({
|
data : res.data,
|
autoRow: true,
|
});
|
|
|
setTimeout(() => {
|
initSocialUpdateValue();
|
}, 500);
|
})
|
|
function initSocialUpdateValue() {
|
if (!socialMuse) {
|
console.warn("数据为空,无法初始化表单!");
|
return;
|
}
|
|
form.val("sc-muse-update-form", {
|
"id": socialMuse.id,
|
});
|
|
|
var artList = [];
|
artList.push(socialMuse.artId);
|
scArt.setValue(artList);
|
|
var sizeList = [];
|
sizeList.push(socialMuse.sizeId);
|
scSize.setValue(sizeList);
|
|
var clothList = [];
|
clothList.push(socialMuse.clothId);
|
scCloth.setValue(clothList);
|
|
var patternDataList = socialMuse.patternData;
|
if (patternDataList) {
|
for (let i = 0; i < patternDataList.length; i++) {
|
patternDataList[i].index = i+1;
|
}
|
patternData = patternDataList;
|
reloadPatternTable(patternData);
|
}
|
|
var locationDataList = socialMuse.locationData;
|
if (locationDataList) {
|
for (let i = 0; i < locationDataList.length; i++) {
|
locationDataList[i].index = i+1;
|
}
|
locationData = locationDataList;
|
reloadLocationTable(locationData);
|
}
|
|
}
|
|
|
|
|
|
|
form.on('submit(sc-muse-update-form-submit)', function (data) {
|
data.field.artId = scArt.getValue('valueStr');
|
data.field.sizeId = scSize.getValue('valueStr');
|
|
data.field.patternData = patternData;
|
data.field.locationData = locationData;
|
|
data.field.clothId = scCloth.getValue('valueStr');
|
$.ajax({
|
'url':ctx + 'admin/clothesType/socialMuseUpdate',
|
'type':'post',
|
'dataType':'json',
|
'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
|
'traditional': true,//ajax传递数组必须添加属性
|
'data':JSON.stringify(data.field),
|
'success':function (data) {
|
if(data.code==200){
|
layer.closeAll();
|
febs.alert.success(data.message);
|
$('#febs-sc').find('#query').click();
|
}else{
|
febs.alert.warn(data.message);
|
}
|
},
|
'error':function () {
|
febs.alert.warn('服务器繁忙');
|
}
|
})
|
return false;
|
});
|
|
});
|
</script>
|