sku
This commit is contained in:
@@ -101,6 +101,29 @@
|
|||||||
"href": "page/email.html",
|
"href": "page/email.html",
|
||||||
"icon": "fa fa-info-circle",
|
"icon": "fa fa-info-circle",
|
||||||
"target": "_self"
|
"target": "_self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "属性管理",
|
||||||
|
"name": "attribute",
|
||||||
|
"href": "",
|
||||||
|
"icon": "fa fa-calendar",
|
||||||
|
"target": "_self",
|
||||||
|
"child": [
|
||||||
|
{
|
||||||
|
"title": "属性分类",
|
||||||
|
"name":"categories",
|
||||||
|
"href": "page/categories.html",
|
||||||
|
"icon": "fa fa-calendar",
|
||||||
|
"target": "_self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "属性列表",
|
||||||
|
"name":"attributes",
|
||||||
|
"href": "page/attribute.html",
|
||||||
|
"icon": "fa fa-calendar",
|
||||||
|
"target": "_self"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ body {
|
|||||||
}
|
}
|
||||||
.check,
|
.check,
|
||||||
.show,
|
.show,
|
||||||
|
.sku,
|
||||||
.edit {
|
.edit {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,247 @@
|
|||||||
|
layui.use(['form', 'table'], function () {
|
||||||
|
var $ = layui.jquery,
|
||||||
|
form = layui.form,
|
||||||
|
table = layui.table;
|
||||||
|
// 获取当前语言
|
||||||
|
var currentLang = localStorage.getItem('language') || 'zh';
|
||||||
|
var lang = langConfig[currentLang];
|
||||||
|
var operationBar = $('#currentTableBar').html();
|
||||||
|
if (operationBar) {
|
||||||
|
var newHtml = operationBar
|
||||||
|
.replace(/编辑/g, lang.carlist.operations.edit)
|
||||||
|
.replace(/删除/g, lang.carlist.operations.delete)
|
||||||
|
$('#currentTableBar').html(newHtml);
|
||||||
|
}
|
||||||
|
var toolbarDemo = $('#toolbarDemo').html();
|
||||||
|
if (toolbarDemo) {
|
||||||
|
var newHtmlt = toolbarDemo
|
||||||
|
.replace(/添加/g, lang.userlist.add)
|
||||||
|
$('#toolbarDemo').html(newHtmlt);
|
||||||
|
}
|
||||||
|
var tableInitb = table.render({
|
||||||
|
elem: '#currentTableId',
|
||||||
|
url: lang.baseUrl+'console/vehicle/new/attributes/list',
|
||||||
|
headers: {
|
||||||
|
Authorization: 'Bearer ' + sessionStorage.tokencar,
|
||||||
|
lang:localStorage.getItem('language')?localStorage.getItem('language'):"zh"
|
||||||
|
},
|
||||||
|
toolbar: '#toolbarDemo',
|
||||||
|
defaultToolbar: ['filter', 'exports', 'print', {
|
||||||
|
title: '提示',
|
||||||
|
layEvent: 'LAYTABLE_TIPS',
|
||||||
|
icon: 'layui-icon-tips'
|
||||||
|
}],
|
||||||
|
parseData: function(res) { //res 即为原始返回的数据
|
||||||
|
console.log(res)
|
||||||
|
return {
|
||||||
|
"code": 0, //解析接口状态
|
||||||
|
"msg": 'message', //解析提示文本
|
||||||
|
"count": res.data.meta.total, //解析数据长度
|
||||||
|
"data": res.data.list //解析数据列表
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cols: [[
|
||||||
|
{type: "checkbox"},
|
||||||
|
{field: 'id', title: 'ID', sort: true},
|
||||||
|
{field: 'attribute_name', title: lang.alllist.name},
|
||||||
|
{field: 'status',title:lang.alllist.status,
|
||||||
|
// templet: function(d){
|
||||||
|
// var img= '<input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">'
|
||||||
|
// return img;
|
||||||
|
// },
|
||||||
|
templet: function (d) {
|
||||||
|
form.on("switch(status)", function (data) {
|
||||||
|
let load = layer.load();
|
||||||
|
let postData = {};
|
||||||
|
postData.status = data.elem.checked ? 1 : 0;
|
||||||
|
postData.id = d.id;
|
||||||
|
postData.name = d.name;
|
||||||
|
self.brandupdate({
|
||||||
|
type:'post',
|
||||||
|
data: postData,
|
||||||
|
successCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(load);
|
||||||
|
},
|
||||||
|
failCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.closeAll('loading');
|
||||||
|
tableInitb.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
let checked = d['status'] === 1 ? "checked" : "";
|
||||||
|
return '<input type="checkbox" value="'+d.status+'" lay-filter="status" lay-skin="switch" lay-text="" '+checked+'/>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'created_at',title: lang.alllist.create_time},
|
||||||
|
{field: 'updated_at',title: lang.alllist.update_time},
|
||||||
|
{title: lang.alllist.operation, minWidth: 150, toolbar: '#currentTableBar', align: "center"}
|
||||||
|
]],
|
||||||
|
limits: [10, 15, 20, 25, 50, 100],
|
||||||
|
limit: 10,
|
||||||
|
page: true,
|
||||||
|
skin: 'line',
|
||||||
|
done: function(res, curr, count){
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 监听搜索操作
|
||||||
|
form.on('submit(data-search-btn)', function (data) {
|
||||||
|
var result = JSON.stringify(data.field);
|
||||||
|
|
||||||
|
table.reload('currentTableId', {
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
}
|
||||||
|
, where: {
|
||||||
|
name: data.field.name,
|
||||||
|
status: data.field.status,
|
||||||
|
}
|
||||||
|
}, 'data');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* toolbar监听事件
|
||||||
|
*/
|
||||||
|
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||||
|
if (obj.event === 'add') { // 监听添加操作
|
||||||
|
var index = layer.open({
|
||||||
|
title: lang.userlist.add,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['70%', '80%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/attributeadd.html',
|
||||||
|
yes: function (index, layero) {
|
||||||
|
var iframeWindow = window['layui-layer-iframe' + index]
|
||||||
|
, submitID = 'saveBtn'
|
||||||
|
, submit = layero.find('iframe').contents().find('#' + submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
const result = {};
|
||||||
|
if(field.input_type=='color'){
|
||||||
|
result.value = objentries(field,'color_code','value_name','color_code','value_name')
|
||||||
|
}else{
|
||||||
|
result.value = objentries1(field,'value_name','value_name')
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const key in field) {
|
||||||
|
if (!key.includes('[') && !key.includes(']')) {
|
||||||
|
result[key] = field[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.attributesadd({
|
||||||
|
type: 'post',
|
||||||
|
data: result,
|
||||||
|
successCallBack: function (res) {
|
||||||
|
layer.msg(res.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function (res) {
|
||||||
|
alert(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
} else if (obj.event === 'delete') { // 监听删除操作
|
||||||
|
var checkStatus = table.checkStatus('currentTableId')
|
||||||
|
, data = checkStatus.data;
|
||||||
|
layer.alert(JSON.stringify(data));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听表格复选框选择
|
||||||
|
table.on('checkbox(currentTableFilter)', function (obj) {
|
||||||
|
console.log(obj)
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('tool(currentTableFilter)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
|
||||||
|
var index = layer.open({
|
||||||
|
title:lang.audit.edit_title,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['70%', '80%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/attributeedit.html?id='+data.id,
|
||||||
|
yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'saveBtn'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
const result = {};
|
||||||
|
if(field.input_type=='color'){
|
||||||
|
result.value = objentriesedt(field,'color_code','value_name','idp','color_code','value_name','id')
|
||||||
|
}else{
|
||||||
|
result.value = objentriesedt1(field,'value_name','value_name','idp')
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const key in field) {
|
||||||
|
if (!key.includes('[') && !key.includes(']')) {
|
||||||
|
result[key] = field[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.attributesupdate({
|
||||||
|
type: 'post',
|
||||||
|
data: result,
|
||||||
|
successCallBack: function (res) {
|
||||||
|
layer.msg(res.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function (res) {
|
||||||
|
alert(res.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// console.log(field)
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}else if (obj.event === 'delete') {
|
||||||
|
layer.confirm(lang.audit.confirm_delete, function(index) {
|
||||||
|
self.attributesdelete({
|
||||||
|
type:'post',
|
||||||
|
data:{id:data.id},
|
||||||
|
successCallBack: function(result){
|
||||||
|
layer.msg(result.message, {
|
||||||
|
icon: 1,
|
||||||
|
time: 1000
|
||||||
|
});
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
@@ -0,0 +1,191 @@
|
|||||||
|
layui.use(['form', 'table'], function () {
|
||||||
|
var $ = layui.jquery,
|
||||||
|
form = layui.form,
|
||||||
|
table = layui.table;
|
||||||
|
// 获取当前语言
|
||||||
|
var currentLang = localStorage.getItem('language') || 'zh';
|
||||||
|
var lang = langConfig[currentLang];
|
||||||
|
var operationBar = $('#currentTableBar').html();
|
||||||
|
if (operationBar) {
|
||||||
|
var newHtml = operationBar
|
||||||
|
.replace(/编辑/g, lang.carlist.operations.edit)
|
||||||
|
.replace(/删除/g, lang.carlist.operations.delete)
|
||||||
|
$('#currentTableBar').html(newHtml);
|
||||||
|
}
|
||||||
|
var toolbarDemo = $('#toolbarDemo').html();
|
||||||
|
if (toolbarDemo) {
|
||||||
|
var newHtmlt = toolbarDemo
|
||||||
|
.replace(/添加/g, lang.userlist.add)
|
||||||
|
$('#toolbarDemo').html(newHtmlt);
|
||||||
|
}
|
||||||
|
var tableInitb = table.render({
|
||||||
|
elem: '#currentTableId',
|
||||||
|
url: lang.baseUrl+'console/vehicle/new/categories/list',
|
||||||
|
headers: {
|
||||||
|
Authorization: 'Bearer ' + sessionStorage.tokencar,
|
||||||
|
lang:localStorage.getItem('language')?localStorage.getItem('language'):"zh"
|
||||||
|
},
|
||||||
|
toolbar: '#toolbarDemo',
|
||||||
|
defaultToolbar: ['filter', 'exports', 'print', {
|
||||||
|
title: '提示',
|
||||||
|
layEvent: 'LAYTABLE_TIPS',
|
||||||
|
icon: 'layui-icon-tips'
|
||||||
|
}],
|
||||||
|
parseData: function(res) { //res 即为原始返回的数据
|
||||||
|
console.log(res)
|
||||||
|
return {
|
||||||
|
"code": 0, //解析接口状态
|
||||||
|
"msg": 'message', //解析提示文本
|
||||||
|
"count": res.data.meta.total, //解析数据长度
|
||||||
|
"data": res.data.list //解析数据列表
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cols: [[
|
||||||
|
{type: "checkbox"},
|
||||||
|
{field: 'id', title: 'ID', sort: true},
|
||||||
|
{field: 'category_name', title: lang.alllist.name},
|
||||||
|
{field: 'sort_order', title: lang.alllist.sort},
|
||||||
|
{field: 'created_at',title: lang.alllist.create_time},
|
||||||
|
{field: 'updated_at',title: lang.alllist.update_time},
|
||||||
|
{title: lang.alllist.operation, minWidth: 150, toolbar: '#currentTableBar', align: "center"}
|
||||||
|
]],
|
||||||
|
limits: [10, 15, 20, 25, 50, 100],
|
||||||
|
limit: 10,
|
||||||
|
page: true,
|
||||||
|
skin: 'line',
|
||||||
|
done: function(res, curr, count){
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 监听搜索操作
|
||||||
|
form.on('submit(data-search-btn)', function (data) {
|
||||||
|
var result = JSON.stringify(data.field);
|
||||||
|
|
||||||
|
table.reload('currentTableId', {
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
}
|
||||||
|
, where: {
|
||||||
|
category_name: data.field.category_name
|
||||||
|
}
|
||||||
|
}, 'data');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* toolbar监听事件
|
||||||
|
*/
|
||||||
|
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||||
|
if (obj.event === 'add') { // 监听添加操作
|
||||||
|
var index = layer.open({
|
||||||
|
title: lang.userlist.add,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['70%', '80%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/categoriesadd.html',
|
||||||
|
yes: function (index, layero) {
|
||||||
|
var iframeWindow = window['layui-layer-iframe' + index]
|
||||||
|
, submitID = 'saveBtn'
|
||||||
|
, submit = layero.find('iframe').contents().find('#' + submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
self.categoriesadd({
|
||||||
|
type: 'post',
|
||||||
|
data: data.field,
|
||||||
|
successCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function (result) {
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log(field)
|
||||||
|
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
} else if (obj.event === 'delete') { // 监听删除操作
|
||||||
|
var checkStatus = table.checkStatus('currentTableId')
|
||||||
|
, data = checkStatus.data;
|
||||||
|
layer.alert(JSON.stringify(data));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听表格复选框选择
|
||||||
|
table.on('checkbox(currentTableFilter)', function (obj) {
|
||||||
|
console.log(obj)
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('tool(currentTableFilter)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
|
||||||
|
var index = layer.open({
|
||||||
|
title:lang.audit.edit_title,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['70%', '80%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/categoriesedit.html?id='+data.id,
|
||||||
|
yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'saveBtn'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
self.categoriesupdate({
|
||||||
|
type:'post',
|
||||||
|
data:data.field,
|
||||||
|
successCallBack: function(result){
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}else if (obj.event === 'delete') {
|
||||||
|
layer.confirm(lang.audit.confirm_delete, function(index) {
|
||||||
|
self.categoriesdelete({
|
||||||
|
type:'post',
|
||||||
|
data:{id:data.id},
|
||||||
|
successCallBack: function(result){
|
||||||
|
layer.msg(result.message, {
|
||||||
|
icon: 1,
|
||||||
|
time: 1000
|
||||||
|
});
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
+11
-1
@@ -28,7 +28,10 @@
|
|||||||
"newcar":"New Car",
|
"newcar":"New Car",
|
||||||
"usedcar":"Used Car",
|
"usedcar":"Used Car",
|
||||||
"seo":"SEO",
|
"seo":"SEO",
|
||||||
"email":"Email"
|
"email":"Email",
|
||||||
|
"attribute":"Attribute",
|
||||||
|
"attributes":"Attribute List",
|
||||||
|
"categories":"Attribute Categories"
|
||||||
},
|
},
|
||||||
"homE": {
|
"homE": {
|
||||||
"welcome": "Welcome to our website",
|
"welcome": "Welcome to our website",
|
||||||
@@ -208,6 +211,11 @@
|
|||||||
"imgalt": "Image Description",
|
"imgalt": "Image Description",
|
||||||
"coveralt": "Cover Image Description"
|
"coveralt": "Cover Image Description"
|
||||||
},
|
},
|
||||||
|
"sku": {
|
||||||
|
"name": "Attribute name",
|
||||||
|
"value": "Attribute value",
|
||||||
|
"desc": "Attribute"
|
||||||
|
},
|
||||||
"alls": {
|
"alls": {
|
||||||
"title": "Title",
|
"title": "Title",
|
||||||
"title_placeholder": "Please enter title",
|
"title_placeholder": "Please enter title",
|
||||||
@@ -225,6 +233,8 @@
|
|||||||
"sort": "Sort",
|
"sort": "Sort",
|
||||||
"pleaseenter": "Please enter",
|
"pleaseenter": "Please enter",
|
||||||
"Belongingbrand": "Belonging Brand",
|
"Belongingbrand": "Belonging Brand",
|
||||||
|
"Belongingtype": "Category",
|
||||||
|
"Images": "Images",
|
||||||
"typeimg": "Type Image",
|
"typeimg": "Type Image",
|
||||||
"Imageratio":"Aspect ratio",
|
"Imageratio":"Aspect ratio",
|
||||||
"Imagesize":"Image size",
|
"Imagesize":"Image size",
|
||||||
|
|||||||
+11
-1
@@ -28,7 +28,10 @@
|
|||||||
"newcar":"Новые автомобили",
|
"newcar":"Новые автомобили",
|
||||||
"usedcar":"Б/у автомобили",
|
"usedcar":"Б/у автомобили",
|
||||||
"seo":"SEO",
|
"seo":"SEO",
|
||||||
"email":"Эл. почта"
|
"email":"Эл. почта",
|
||||||
|
"attribute":"Свойства",
|
||||||
|
"attributes":"Список атрибутов",
|
||||||
|
"categories":"Категории атрибутов"
|
||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
"welcome": "Добро пожаловать на наш сайт",
|
"welcome": "Добро пожаловать на наш сайт",
|
||||||
@@ -208,6 +211,11 @@
|
|||||||
"imgalt": "Описание изображения",
|
"imgalt": "Описание изображения",
|
||||||
"coveralt": "Описание обложки"
|
"coveralt": "Описание обложки"
|
||||||
},
|
},
|
||||||
|
"sku": {
|
||||||
|
"name": "Название атрибута",
|
||||||
|
"value": "Значение атрибута",
|
||||||
|
"desc": "Атрибут"
|
||||||
|
},
|
||||||
"alls": {
|
"alls": {
|
||||||
"title": "Заголовок",
|
"title": "Заголовок",
|
||||||
"title_placeholder": "Введите заголовок",
|
"title_placeholder": "Введите заголовок",
|
||||||
@@ -225,6 +233,8 @@
|
|||||||
"sort": "Сортировка",
|
"sort": "Сортировка",
|
||||||
"pleaseenter": "Пожалуйста, введите",
|
"pleaseenter": "Пожалуйста, введите",
|
||||||
"Belongingbrand": "Принадлежащий бренд",
|
"Belongingbrand": "Принадлежащий бренд",
|
||||||
|
"Belongingtype": "Категория",
|
||||||
|
"Images": "Изображения",
|
||||||
"typeimg": "Изображение типа",
|
"typeimg": "Изображение типа",
|
||||||
"Imageratio":"Соотношение сторон",
|
"Imageratio":"Соотношение сторон",
|
||||||
"Imagesize":"Размер изображения",
|
"Imagesize":"Размер изображения",
|
||||||
|
|||||||
+11
-1
@@ -28,7 +28,10 @@
|
|||||||
"newcar":"新车管理",
|
"newcar":"新车管理",
|
||||||
"usedcar":"二手车",
|
"usedcar":"二手车",
|
||||||
"seo":"SEO管理",
|
"seo":"SEO管理",
|
||||||
"email":"邮箱管理"
|
"email":"邮箱管理",
|
||||||
|
"attribute":"属性管理",
|
||||||
|
"attributes":"属性列表",
|
||||||
|
"categories":"属性分类"
|
||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
"welcome": "欢迎访问我们的网站",
|
"welcome": "欢迎访问我们的网站",
|
||||||
@@ -208,6 +211,11 @@
|
|||||||
"imgalt":"图片描述",
|
"imgalt":"图片描述",
|
||||||
"coveralt":"封面图描述"
|
"coveralt":"封面图描述"
|
||||||
},
|
},
|
||||||
|
"sku":{
|
||||||
|
"name":"属性名称",
|
||||||
|
"value":"属性值",
|
||||||
|
"desc":"属性"
|
||||||
|
},
|
||||||
"alls":{
|
"alls":{
|
||||||
"title": "标题",
|
"title": "标题",
|
||||||
"title_placeholder": "请输入标题",
|
"title_placeholder": "请输入标题",
|
||||||
@@ -225,6 +233,8 @@
|
|||||||
"sort": "排序",
|
"sort": "排序",
|
||||||
"pleaseenter":"请输入",
|
"pleaseenter":"请输入",
|
||||||
"Belongingbrand":"所属品牌",
|
"Belongingbrand":"所属品牌",
|
||||||
|
"Belongingtype":"所属分类",
|
||||||
|
"Images":"图片",
|
||||||
"typeimg":"类型图",
|
"typeimg":"类型图",
|
||||||
"Imageratio":"图片比例",
|
"Imageratio":"图片比例",
|
||||||
"Imagesize":"图片尺寸",
|
"Imagesize":"图片尺寸",
|
||||||
|
|||||||
+15
-3
@@ -16,10 +16,12 @@ layui.use(['form', 'table'], function () {
|
|||||||
.replace(/删除/g, lang.carlist.operations.delete)
|
.replace(/删除/g, lang.carlist.operations.delete)
|
||||||
.replace(/审核/g, lang.carlist.operations.check)
|
.replace(/审核/g, lang.carlist.operations.check)
|
||||||
.replace(/详情/g, lang.carlist.operations.show)
|
.replace(/详情/g, lang.carlist.operations.show)
|
||||||
|
.replace(/属性/g, lang.carlist.operations.sku)
|
||||||
.replace(/Edit/g, lang.carlist.operations.edit)
|
.replace(/Edit/g, lang.carlist.operations.edit)
|
||||||
.replace(/Delete/g, lang.carlist.operations.delete)
|
.replace(/Delete/g, lang.carlist.operations.delete)
|
||||||
.replace(/Check/g, lang.carlist.operations.check)
|
.replace(/Check/g, lang.carlist.operations.check)
|
||||||
.replace(/Details/g, lang.carlist.operations.show);
|
.replace(/Details/g, lang.carlist.operations.show)
|
||||||
|
.replace(/Sku/g, lang.carlist.operations.sku);
|
||||||
$('#currentTableBar').html(newHtml);
|
$('#currentTableBar').html(newHtml);
|
||||||
}
|
}
|
||||||
var toolbarDemo = $('#toolbarDemo').html();
|
var toolbarDemo = $('#toolbarDemo').html();
|
||||||
@@ -156,8 +158,8 @@ layui.use(['form', 'table'], function () {
|
|||||||
alert(result.message);
|
alert(result.message);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
console.log(datas)
|
// console.log(datas)
|
||||||
console.log(field)
|
// console.log(field)
|
||||||
|
|
||||||
});
|
});
|
||||||
submit.trigger('click');
|
submit.trigger('click');
|
||||||
@@ -250,6 +252,16 @@ layui.use(['form', 'table'], function () {
|
|||||||
area: ['60%', '85%'],
|
area: ['60%', '85%'],
|
||||||
content: '../page/table/newcarlistshow.html?id='+data.id
|
content: '../page/table/newcarlistshow.html?id='+data.id
|
||||||
});
|
});
|
||||||
|
}else if (obj.event === 'sku') { // 监听删除操作
|
||||||
|
var index = layer.open({
|
||||||
|
title: lang.carlist.operations.sku,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin: true,
|
||||||
|
shadeClose: false,
|
||||||
|
area: ['80%', '90%'],
|
||||||
|
content: '../page/sku.html?id='+data.id
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,225 @@
|
|||||||
|
layui.use(['form', 'table'], function () {
|
||||||
|
var $ = layui.jquery,
|
||||||
|
form = layui.form,
|
||||||
|
table = layui.table;
|
||||||
|
// 获取当前语言
|
||||||
|
var currentLang = localStorage.getItem('language') || 'zh';
|
||||||
|
var lang = langConfig[currentLang];
|
||||||
|
var operationBar = $('#currentTableBar').html();
|
||||||
|
if (operationBar) {
|
||||||
|
var newHtml = operationBar
|
||||||
|
.replace(/编辑/g, lang.carlist.operations.edit)
|
||||||
|
.replace(/删除/g, lang.carlist.operations.delete)
|
||||||
|
$('#currentTableBar').html(newHtml);
|
||||||
|
}
|
||||||
|
var toolbarDemo = $('#toolbarDemo').html();
|
||||||
|
if (toolbarDemo) {
|
||||||
|
var newHtmlt = toolbarDemo
|
||||||
|
.replace(/添加/g, lang.userlist.add)
|
||||||
|
$('#toolbarDemo').html(newHtmlt);
|
||||||
|
}
|
||||||
|
var tableInitb = table.render({
|
||||||
|
elem: '#currentTableId',
|
||||||
|
url: lang.baseUrl+'console/vehicle/new/sku/list?id='+getQueryString('id'),
|
||||||
|
headers: {
|
||||||
|
Authorization: 'Bearer ' + sessionStorage.tokencar,
|
||||||
|
lang:localStorage.getItem('language')?localStorage.getItem('language'):"zh"
|
||||||
|
},
|
||||||
|
toolbar: '#toolbarDemo',
|
||||||
|
defaultToolbar: ['filter', 'exports', 'print', {
|
||||||
|
title: '提示',
|
||||||
|
layEvent: 'LAYTABLE_TIPS',
|
||||||
|
icon: 'layui-icon-tips'
|
||||||
|
}],
|
||||||
|
parseData: function(res) { //res 即为原始返回的数据
|
||||||
|
console.log(res)
|
||||||
|
return {
|
||||||
|
"code": 0, //解析接口状态
|
||||||
|
"msg": 'message', //解析提示文本
|
||||||
|
"count": res.data.meta.total, //解析数据长度
|
||||||
|
"data": res.data.list //解析数据列表
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cols: [[
|
||||||
|
{type: "checkbox"},
|
||||||
|
{field: 'id', title: 'ID', sort: true},
|
||||||
|
{field: 'name', title: lang.alllist.name},
|
||||||
|
{field: 'status',title:lang.alllist.status,
|
||||||
|
// templet: function(d){
|
||||||
|
// var img= '<input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">'
|
||||||
|
// return img;
|
||||||
|
// },
|
||||||
|
templet: function (d) {
|
||||||
|
form.on("switch(status)", function (data) {
|
||||||
|
let load = layer.load();
|
||||||
|
let postData = {};
|
||||||
|
postData.status = data.elem.checked ? 1 : 0;
|
||||||
|
postData.id = d.id;
|
||||||
|
postData.name = d.name;
|
||||||
|
self.brandupdate({
|
||||||
|
type:'post',
|
||||||
|
data: postData,
|
||||||
|
successCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(load);
|
||||||
|
},
|
||||||
|
failCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.closeAll('loading');
|
||||||
|
tableInitb.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
let checked = d['status'] === 1 ? "checked" : "";
|
||||||
|
return '<input type="checkbox" value="'+d.status+'" lay-filter="status" lay-skin="switch" lay-text="" '+checked+'/>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{title: lang.alllist.operation, minWidth: 150, toolbar: '#currentTableBar', align: "center"}
|
||||||
|
]],
|
||||||
|
limits: [10, 15, 20, 25, 50, 100],
|
||||||
|
limit: 10,
|
||||||
|
page: true,
|
||||||
|
skin: 'line',
|
||||||
|
done: function(res, curr, count){
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 监听搜索操作
|
||||||
|
form.on('submit(data-search-btn)', function (data) {
|
||||||
|
var result = JSON.stringify(data.field);
|
||||||
|
|
||||||
|
table.reload('currentTableId', {
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
}
|
||||||
|
, where: {
|
||||||
|
name: data.field.name,
|
||||||
|
status: data.field.status,
|
||||||
|
}
|
||||||
|
}, 'data');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* toolbar监听事件
|
||||||
|
*/
|
||||||
|
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||||
|
if (obj.event === 'add') { // 监听添加操作
|
||||||
|
var index = layer.open({
|
||||||
|
title: 'SKU '+lang.userlist.add,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['80%', '90%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/skuadd.html?vehicle_id='+getQueryString('id'),
|
||||||
|
yes: function (index, layero) {
|
||||||
|
var iframeWindow = window['layui-layer-iframe' + index]
|
||||||
|
, submitID = 'saveBtn'
|
||||||
|
, submit = layero.find('iframe').contents().find('#' + submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
const result = regroupIndexedFields(field,'skuAttributes');
|
||||||
|
self.skuadd({
|
||||||
|
type: 'post',
|
||||||
|
data: result,
|
||||||
|
successCallBack: function (result) {
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function (result) {
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// console.log(result);
|
||||||
|
// console.log(field)
|
||||||
|
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
} else if (obj.event === 'delete') { // 监听删除操作
|
||||||
|
var checkStatus = table.checkStatus('currentTableId')
|
||||||
|
, data = checkStatus.data;
|
||||||
|
layer.alert(JSON.stringify(data));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听表格复选框选择
|
||||||
|
table.on('checkbox(currentTableFilter)', function (obj) {
|
||||||
|
console.log(obj)
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('tool(currentTableFilter)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
|
||||||
|
var index = layer.open({
|
||||||
|
title:'SKU '+lang.audit.edit_title,
|
||||||
|
type: 2,
|
||||||
|
shade: 0.2,
|
||||||
|
maxmin:true,
|
||||||
|
shadeClose: true,
|
||||||
|
area: ['80%', '90%'],
|
||||||
|
btn: [lang.audit.confirm, lang.audit.cancel],
|
||||||
|
content: '../page/table/skuedit.html?id='+data.id+'&vehicle_id='+getQueryString('id'),
|
||||||
|
yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'saveBtn'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field; //获取提交的字段
|
||||||
|
const result = regroupIndexedFields(field,'skuAttributes');
|
||||||
|
// console.log(result)
|
||||||
|
// console.log(field)
|
||||||
|
self.skuupdate({
|
||||||
|
type:'post',
|
||||||
|
data:result,
|
||||||
|
successCallBack: function(result){
|
||||||
|
layer.msg(result.message)
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).on("resize", function () {
|
||||||
|
layer.full(index);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}else if (obj.event === 'delete') {
|
||||||
|
layer.confirm(lang.audit.confirm_delete, function(index) {
|
||||||
|
self.skudelete({
|
||||||
|
type:'post',
|
||||||
|
data:{id:data.id},
|
||||||
|
successCallBack: function(result){
|
||||||
|
layer.msg(result.message, {
|
||||||
|
icon: 1,
|
||||||
|
time: 1000
|
||||||
|
});
|
||||||
|
tableInitb.reload()
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
+11
-7
@@ -1,8 +1,9 @@
|
|||||||
// 多语言配置
|
// 多语言配置
|
||||||
|
// var baseUrl = 'https://server.orzar.shop/'
|
||||||
|
var baseUrllang = "https://usedcar.server.hnxinyouhe.com/";
|
||||||
var langConfig = {
|
var langConfig = {
|
||||||
'zh': {
|
'zh': {
|
||||||
'baseUrl':"https://server.orzar.shop/",
|
'baseUrl':baseUrllang,
|
||||||
'select_placeholder': '请选择',
|
'select_placeholder': '请选择',
|
||||||
userlist:{
|
userlist:{
|
||||||
'search_info': '搜索信息',
|
'search_info': '搜索信息',
|
||||||
@@ -60,7 +61,8 @@ var langConfig = {
|
|||||||
'edit': '编辑',
|
'edit': '编辑',
|
||||||
'delete': '删除',
|
'delete': '删除',
|
||||||
'check': '审核',
|
'check': '审核',
|
||||||
'show': '详情'
|
'show': '详情',
|
||||||
|
'sku':"属性"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
audit:{
|
audit:{
|
||||||
@@ -138,7 +140,7 @@ var langConfig = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'en': {
|
'en': {
|
||||||
'baseUrl':"https://server.orzar.shop/",
|
'baseUrl':baseUrllang,
|
||||||
'select_placeholder': 'Please Select',
|
'select_placeholder': 'Please Select',
|
||||||
userlist:{
|
userlist:{
|
||||||
'search_info': 'Search Information',
|
'search_info': 'Search Information',
|
||||||
@@ -196,7 +198,8 @@ var langConfig = {
|
|||||||
'edit': 'Edit',
|
'edit': 'Edit',
|
||||||
'delete': 'Delete',
|
'delete': 'Delete',
|
||||||
'check': 'Check',
|
'check': 'Check',
|
||||||
'show': 'Details'
|
'show': 'Details',
|
||||||
|
'sku':'Attribute'
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
audit:{
|
audit:{
|
||||||
@@ -262,7 +265,7 @@ var langConfig = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'ru':{
|
'ru':{
|
||||||
"baseUrl": "https://server.orzar.shop/",
|
"baseUrl": baseUrllang,
|
||||||
"select_placeholder": "Выберите",
|
"select_placeholder": "Выберите",
|
||||||
"userlist": {
|
"userlist": {
|
||||||
"search_info": "Поиск информации",
|
"search_info": "Поиск информации",
|
||||||
@@ -320,7 +323,8 @@ var langConfig = {
|
|||||||
"edit": "Редактировать",
|
"edit": "Редактировать",
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
"check": "Проверить",
|
"check": "Проверить",
|
||||||
"show": "Подробности"
|
"show": "Подробности",
|
||||||
|
'sku':'Свойства'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"audit": {
|
"audit": {
|
||||||
|
|||||||
+82
-2
@@ -3,8 +3,8 @@ var ajax = null,queue = [];
|
|||||||
var isAjaxLock=false;
|
var isAjaxLock=false;
|
||||||
var Utils={}
|
var Utils={}
|
||||||
var userinfowifi='';
|
var userinfowifi='';
|
||||||
var baseUrl = "https://server.orzar.shop/";
|
// var baseUrl = "https://server.orzar.shop/";
|
||||||
// var baseUrl = "https://usedcar.server.hnxinyouhe.com/";
|
var baseUrl = "https://usedcar.server.hnxinyouhe.com/";
|
||||||
// var baseUrl = "http://192.168.50.6:8787/";
|
// var baseUrl = "http://192.168.50.6:8787/";
|
||||||
if(sessionStorage.wifiuserinfo){
|
if(sessionStorage.wifiuserinfo){
|
||||||
userinfowifi=JSON.parse(sessionStorage.wifiuserinfo)
|
userinfowifi=JSON.parse(sessionStorage.wifiuserinfo)
|
||||||
@@ -455,3 +455,83 @@ self.vehiclenewdelete = function(options){
|
|||||||
return ajax(options);
|
return ajax(options);
|
||||||
};
|
};
|
||||||
//邮箱管理
|
//邮箱管理
|
||||||
|
|
||||||
|
//属性管理
|
||||||
|
//属性分类
|
||||||
|
self.categoriesadd = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/categories/add";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.categoriesdetail = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/categories/"+options.data.id+"/detail"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.categoriesupdate = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/categories/"+options.data.id+"/update"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.categoriesdelete = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/categories/"+options.data.id+"/delete"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.categoriespreset = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/categories/preset";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
//属性列表
|
||||||
|
self.attributesadd = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/attributes/add";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.attributesdetail = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/attributes/"+options.data.id+"/detail"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.attributesupdate = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/attributes/"+options.data.id+"/update"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.attributesdelete = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/attributes/"+options.data.id+"/delete"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.attributespreset = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/attributes/preset";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.valuespreset = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/values/preset";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
//sku
|
||||||
|
self.skuadd = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/sku/add";
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.skudetail = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/sku/"+options.data.id+"/detail"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.skuupdate = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/sku/"+options.data.id+"/update"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
|
self.skudelete = function(options){
|
||||||
|
options = options ? options : {};
|
||||||
|
options.url = baseUrl+"console/vehicle/new/sku/"+options.data.id+"/delete"
|
||||||
|
return ajax(options);
|
||||||
|
};
|
||||||
@@ -8,6 +8,11 @@ $(".more-btn").click(function () {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
|
function getQueryString(name) {
|
||||||
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||||
|
var r = window.location.search.substr(1).match(reg);
|
||||||
|
if (r != null) return unescape(r[2]); return null;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 浏览页面顶部搜索框展开收回控制
|
* 浏览页面顶部搜索框展开收回控制
|
||||||
*/
|
*/
|
||||||
@@ -178,6 +183,85 @@ function seoselectfn(form,istrue){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//属性分类
|
||||||
|
function categoriespresetfn(form,istrue){
|
||||||
|
self.categoriespreset({
|
||||||
|
type:'get',
|
||||||
|
successCallBack: function(result){
|
||||||
|
$("#category_id").empty();
|
||||||
|
if(istrue){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$("#category_id").append("<option value='' data-i18n='select'></option>")
|
||||||
|
}
|
||||||
|
$.each(result.data,function(){
|
||||||
|
$("#category_id").append("<option value='"+this.id+"'>"+this.category_name+"</option>")
|
||||||
|
});
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
form.render();
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//属性
|
||||||
|
function attributespresetfn(form,istrue,context){
|
||||||
|
var $attributeSelect;
|
||||||
|
if (context) {
|
||||||
|
$attributeSelect = context.find(".attribute_id");
|
||||||
|
} else {
|
||||||
|
$attributeSelect = $(".attribute_id");
|
||||||
|
}
|
||||||
|
self.attributespreset({
|
||||||
|
type:'get',
|
||||||
|
successCallBack: function(result){
|
||||||
|
$attributeSelect.empty();
|
||||||
|
if(istrue){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$attributeSelect.append("<option data-img='' value='' data-i18n='select'></option>")
|
||||||
|
}
|
||||||
|
$.each(result.data,function(){
|
||||||
|
$attributeSelect.append("<option data-img='"+this.is_img+"' value='"+this.id+"'>"+this.attribute_name+"</option>")
|
||||||
|
});
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
form.render('select');
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function valuespresetfn(form,istrue,id,context){
|
||||||
|
var $valueSelect;
|
||||||
|
if (context) {
|
||||||
|
$valueSelect = context.find(".value_id");
|
||||||
|
} else {
|
||||||
|
$valueSelect = $(".value_id");
|
||||||
|
}
|
||||||
|
self.valuespreset({
|
||||||
|
type:'get',
|
||||||
|
data:{id:id},
|
||||||
|
successCallBack: function(result){
|
||||||
|
$valueSelect.empty();
|
||||||
|
if(istrue){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$valueSelect.append("<option value='' data-i18n='select'></option>")
|
||||||
|
}
|
||||||
|
$.each(result.data,function(){
|
||||||
|
$valueSelect.append("<option value='"+this.id+"'>"+this.value_name+"</option>")
|
||||||
|
});
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
form.render('select');
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 添加
|
// 添加
|
||||||
function addFeature(id,form,title,content,titlevalue1,contentvalue1,contentid) {
|
function addFeature(id,form,title,content,titlevalue1,contentvalue1,contentid) {
|
||||||
var index = $('#'+id+' .feature-item').length;
|
var index = $('#'+id+' .feature-item').length;
|
||||||
@@ -264,7 +348,25 @@ function addIntro(id,form,content,contentvalue,contentid) {
|
|||||||
window.i18n.updatePageContent();
|
window.i18n.updatePageContent();
|
||||||
form.render();
|
form.render();
|
||||||
}
|
}
|
||||||
|
function regroupIndexedFields(obj,arrKeyName = 'value') {
|
||||||
|
const value = [];
|
||||||
|
const rest = {};
|
||||||
|
|
||||||
|
Object.keys(obj).forEach(key => {
|
||||||
|
const match = key.match(/^(.+)\[(\d+)\]$/);
|
||||||
|
if (match) {
|
||||||
|
const field = match[1];
|
||||||
|
const idx = parseInt(match[2]);
|
||||||
|
if (!value[idx]) value[idx] = {};
|
||||||
|
value[idx][field] = obj[key];
|
||||||
|
} else {
|
||||||
|
rest[key] = obj[key];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 动态设置 key
|
||||||
|
rest[arrKeyName] = value.filter(item => item !== undefined);
|
||||||
|
return rest;
|
||||||
|
}
|
||||||
function objentries(field,id,id2,name,value){
|
function objentries(field,id,id2,name,value){
|
||||||
const banners = [];
|
const banners = [];
|
||||||
let i = 0;
|
let i = 0;
|
||||||
|
|||||||
+2
-2
@@ -157,8 +157,8 @@
|
|||||||
$(this).addClass('icon-check');
|
$(this).addClass('icon-check');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var baseUrl = "https://server.orzar.shop/";
|
// var baseUrl = "https://server.orzar.shop/";
|
||||||
// var baseUrl = "https://usedcar.server.hnxinyouhe.com/";
|
var baseUrl = "https://usedcar.server.hnxinyouhe.com/";
|
||||||
// 进行登录操作
|
// 进行登录操作
|
||||||
form.on('submit(login)', function (data) {
|
form.on('submit(login)', function (data) {
|
||||||
data = data.field;
|
data = data.field;
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>USED CAR</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../assets/css/public.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layuimini-container">
|
||||||
|
<div class="layuimini-main">
|
||||||
|
|
||||||
|
<fieldset class="table-search-fieldset">
|
||||||
|
<legend data-i18n="search_info"></legend>
|
||||||
|
<div style="margin: 10px 10px 10px 10px">
|
||||||
|
<form class="layui-form layui-form-pane" action="">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="name" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.status"></label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="status" class="layui-input">
|
||||||
|
<option value="" data-i18n="select"></option>
|
||||||
|
<option value="1" data-i18n="selectlist.status1"></option>
|
||||||
|
<option value="0" data-i18n="selectlist.status2"></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> <span data-i18n="btn.search"></span></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<script type="text/html" id="toolbarDemo">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
|
||||||
|
<!-- <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button> -->
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||||
|
|
||||||
|
<script type="text/html" id="currentTableBar">
|
||||||
|
<a class="edit" lay-event="edit">编辑</a>
|
||||||
|
<a class="delete" lay-event="delete">删除</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/tablei18n.js"></script>
|
||||||
|
<script src="../assets/js/i18n2.js"></script>
|
||||||
|
<script src="../assets/public.js"></script>
|
||||||
|
<script src="../assets/js/attribute.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>USED CAR</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../assets/css/public.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layuimini-container">
|
||||||
|
<div class="layuimini-main">
|
||||||
|
|
||||||
|
<fieldset class="table-search-fieldset">
|
||||||
|
<legend data-i18n="search_info"></legend>
|
||||||
|
<div style="margin: 10px 10px 10px 10px">
|
||||||
|
<form class="layui-form layui-form-pane" action="">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="category_name" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> <span data-i18n="btn.search"></span></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<script type="text/html" id="toolbarDemo">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
|
||||||
|
<!-- <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button> -->
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||||
|
|
||||||
|
<script type="text/html" id="currentTableBar">
|
||||||
|
<a class="edit" lay-event="edit">编辑</a>
|
||||||
|
<a class="delete" lay-event="delete">删除</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/tablei18n.js"></script>
|
||||||
|
<script src="../assets/js/i18n2.js"></script>
|
||||||
|
<script src="../assets/js/categories.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -74,9 +74,11 @@
|
|||||||
|
|
||||||
<script type="text/html" id="currentTableBar">
|
<script type="text/html" id="currentTableBar">
|
||||||
<a class="show" lay-event="show">详情</a>
|
<a class="show" lay-event="show">详情</a>
|
||||||
|
<a class="sku" lay-event="sku">属性</a>
|
||||||
{{# if(d.info_status==0){ }}
|
{{# if(d.info_status==0){ }}
|
||||||
<a class="check" lay-event="check">审核</a>
|
<a class="check" lay-event="check">审核</a>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
|
|
||||||
<a class="edit" lay-event="edit">编辑</a>
|
<a class="edit" lay-event="edit">编辑</a>
|
||||||
<a class="delete" lay-event="delete">删除</a>
|
<a class="delete" lay-event="delete">删除</a>
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>USED CAR</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../assets/css/public.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layuimini-container">
|
||||||
|
<div class="layuimini-main">
|
||||||
|
|
||||||
|
<fieldset class="table-search-fieldset">
|
||||||
|
<legend data-i18n="search_info"></legend>
|
||||||
|
<div style="margin: 10px 10px 10px 10px">
|
||||||
|
<form class="layui-form layui-form-pane" action="">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="name" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.status"></label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="status" class="layui-input">
|
||||||
|
<option value="" data-i18n="select"></option>
|
||||||
|
<option value="1" data-i18n="selectlist.status1"></option>
|
||||||
|
<option value="0" data-i18n="selectlist.status2"></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> <span data-i18n="btn.search"></span></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<script type="text/html" id="toolbarDemo">
|
||||||
|
<div class="layui-btn-container">
|
||||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
|
||||||
|
<!-- <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button> -->
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||||
|
|
||||||
|
<script type="text/html" id="currentTableBar">
|
||||||
|
<a class="edit" lay-event="edit">编辑</a>
|
||||||
|
<a class="delete" lay-event="delete">删除</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/tablei18n.js"></script>
|
||||||
|
<script src="../assets/js/i18n2.js"></script>
|
||||||
|
<script src="../assets/public.js"></script>
|
||||||
|
<script src="../assets/js/sku.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
.feature-item{
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="attribute_name" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="Belongingtype"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select id="category_id" name="category_id" class="layui-input">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label class="layui-form-label">是否必传图片</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="is_img" class="layui-input">
|
||||||
|
<option value="0">无图</option>
|
||||||
|
<option value="1">必传</option>
|
||||||
|
<option value="2">可选</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">类型</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="input_type" lay-filter="input_type" class="layui-input">
|
||||||
|
<option value="color">color</option>
|
||||||
|
<option value="text">text</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">属性值</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="feature-list" id="featureList" >
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-normal" id="addFeature">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.add"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.use(['form'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
$ = layui.$;
|
||||||
|
categoriespresetfn(form,true)
|
||||||
|
|
||||||
|
// 监听类型选择变化
|
||||||
|
form.on('select(input_type)', function(data){
|
||||||
|
var type = data.value;
|
||||||
|
// 清空之前的内容
|
||||||
|
$('#featureList').empty();
|
||||||
|
// 重新渲染表单
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加属性值
|
||||||
|
$('#addFeature').on('click', function(){
|
||||||
|
var type = $('select[name="input_type"]').val();
|
||||||
|
var index = $('#featureList .feature-item').length;
|
||||||
|
var html = `<div class="feature-item">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="value_name[${index}]" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
|
||||||
|
if(type === 'color') {
|
||||||
|
html += `<div class="layui-form-item color-value">
|
||||||
|
<label class="layui-form-label required">颜色值</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="color_code[${index}]" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
}
|
||||||
|
html+= `<div class="layui-input-block" style="margin-left: 0; text-align: right;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm delete-feature">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
||||||
|
</button>
|
||||||
|
</div>`
|
||||||
|
html += '</div>';
|
||||||
|
$('#featureList').append(html);
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 删除属性值按钮点击事件
|
||||||
|
$(document).on('click', '.delete-feature', function() {
|
||||||
|
var type = $('select[name="input_type"]').val();
|
||||||
|
$(this).closest('.feature-item').remove();
|
||||||
|
// 重新排序索引
|
||||||
|
$('#featureList .feature-item').each(function(index) {
|
||||||
|
$(this).find('input[name^="value_name"]').attr('name', 'value_name[' + index + ']');
|
||||||
|
if(type === 'color') {
|
||||||
|
$(this).find('input[name^="color_code"]').attr('name', 'color_code[' + index + ']');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
.feature-item{
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form" lay-filter="edit">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="id" id="idedt" value="" />
|
||||||
|
<input type="text" name="attribute_name" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="Belongingtype"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select id="category_id" name="category_id" class="layui-input">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label class="layui-form-label">是否必传图片</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="is_img" class="layui-input">
|
||||||
|
<option value="0">无图</option>
|
||||||
|
<option value="1">必传</option>
|
||||||
|
<option value="2">可选</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">类型</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="input_type" lay-filter="input_type" class="layui-input">
|
||||||
|
<option value="color">color</option>
|
||||||
|
<option value="text">text</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">属性值</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="feature-list" id="featureList" >
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-normal" id="addFeature">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.add"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.use(['form'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
$ = layui.$;
|
||||||
|
categoriespresetfn(form,true)
|
||||||
|
$("#idedt").val(getQueryString('id'))
|
||||||
|
self.attributesdetail({
|
||||||
|
type:'get',
|
||||||
|
data:{id:getQueryString('id')},
|
||||||
|
successCallBack: function(result){
|
||||||
|
if (result.code == 0) {
|
||||||
|
form.val('edit', result.data)
|
||||||
|
// 回显属性值
|
||||||
|
if(result.data.value && result.data.value.length > 0) {
|
||||||
|
result.data.value.forEach(function(item) {
|
||||||
|
var type = $('select[name="input_type"]').val();
|
||||||
|
var index = $('#featureList .feature-item').length;
|
||||||
|
var html = `<div class="feature-item">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="idp[${index}]" value="${item.id}" />
|
||||||
|
<input type="text" name="value_name[${index}]" data-i18n-placeholder="pleaseenter" value="${item.value_name}" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
if(type === 'color') {
|
||||||
|
html += `<div class="layui-form-item color-value">
|
||||||
|
<label class="layui-form-label required">颜色值</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="color_code[${index}]" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="${item.color_code}" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
}
|
||||||
|
html+= `<div class="layui-input-block" style="margin-left: 0; text-align: right;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm delete-feature">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
||||||
|
</button>
|
||||||
|
</div>`
|
||||||
|
html += '</div>';
|
||||||
|
$('#featureList').append(html);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
form.render();
|
||||||
|
};
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 监听类型选择变化
|
||||||
|
form.on('select(input_type)', function(data){
|
||||||
|
var type = data.value;
|
||||||
|
// 清空之前的内容
|
||||||
|
$('#featureList').empty();
|
||||||
|
// 重新渲染表单
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加属性值
|
||||||
|
$('#addFeature').on('click', function(){
|
||||||
|
var type = $('select[name="input_type"]').val();
|
||||||
|
var index = $('#featureList .feature-item').length;
|
||||||
|
var html = `<div class="feature-item">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="value_name[${index}]" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
|
||||||
|
if(type === 'color') {
|
||||||
|
html += `<div class="layui-form-item color-value">
|
||||||
|
<label class="layui-form-label required">颜色值</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="color_code[${index}]" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div></div>`
|
||||||
|
}
|
||||||
|
html+= `<div class="layui-input-block" style="margin-left: 0; text-align: right;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm delete-feature">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
||||||
|
</button>
|
||||||
|
</div>`
|
||||||
|
html += '</div>';
|
||||||
|
$('#featureList').append(html);
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
// 删除属性值按钮点击事件
|
||||||
|
$(document).on('click', '.delete-feature', function() {
|
||||||
|
var type = $('select[name="input_type"]').val();
|
||||||
|
$(this).closest('.feature-item').remove();
|
||||||
|
// 重新排序索引
|
||||||
|
$('#featureList .feature-item').each(function(index) {
|
||||||
|
$(this).find('input[name^="value_name"]').attr('name', 'value_name[' + index + ']');
|
||||||
|
if(type === 'color') {
|
||||||
|
$(this).find('input[name^="color_code"]').attr('name', 'color_code[' + index + ']');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="category_name" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sort"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="number" name="sort_order" value="0" data-i18n-placeholder="pleaseenter" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.use(['form'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
$ = layui.$;
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form" lay-filter="edit">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="id" id="idedt" value="" />
|
||||||
|
<input type="text" name="name" lay-verify="required" lay-reqtext="名称不能为空" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sort"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="number" name="sort" value="" data-i18n-placeholder="pleaseenter" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
function getQueryString(name) {
|
||||||
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||||
|
var r = window.location.search.substr(1).match(reg);
|
||||||
|
if (r != null) return unescape(r[2]); return null;
|
||||||
|
}
|
||||||
|
layui.use(['form'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
$ = layui.$;
|
||||||
|
form.render();
|
||||||
|
$("#idedt").val(getQueryString('id'))
|
||||||
|
self.categoriesdetail({
|
||||||
|
type:'get',
|
||||||
|
data:{id:getQueryString('id')},
|
||||||
|
successCallBack: function(result){
|
||||||
|
|
||||||
|
if (result.code == 0) {
|
||||||
|
form.val('edit', result.data)
|
||||||
|
form.render();
|
||||||
|
};
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
.img-3 {
|
||||||
|
max-width: 36px;
|
||||||
|
max-height: 36px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
.upload-item img{
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
.feature-item{
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="vehicle_id" id="vehicle_id">
|
||||||
|
<input type="text" name="name" lay-verify="required" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.status"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="checkbox" id="status" lay-filter="status" lay-skin="switch" lay-text="">
|
||||||
|
<input type="text" style="display:none" name="status" value="1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.desc"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="feature-list" id="attributelist">
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-normal" id="addAttribute">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.add"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.use(['form','upload'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
upload = layui.upload,
|
||||||
|
$ = layui.$;
|
||||||
|
layui.$("#status").attr("checked", layui.$('input[name="status"]').val() != 0);
|
||||||
|
layui.form.render();
|
||||||
|
layui.form.on("switch(status)", function(data) {
|
||||||
|
layui.$('input[name="status"]').val(this.checked ? 1 : 0);
|
||||||
|
});
|
||||||
|
$("#vehicle_id").val(getQueryString('vehicle_id'))
|
||||||
|
// 添加属性按钮点击事件
|
||||||
|
$('#addAttribute').on('click', function() {
|
||||||
|
var index = $('#attributelist .feature-item').length;
|
||||||
|
var html = `<div class="feature-item">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="attribute_id[${index}]" class="attribute_id layui-input" lay-filter="attributeSelect">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.value"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="value_id[${index}]" class="layui-input value_id" >
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item upload-image-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="Images"></label>
|
||||||
|
<div class="layui-input-block upload-item">
|
||||||
|
<img class="img-3" src="../../assets/images/noimg.png" alt="" />
|
||||||
|
<input type="text" style="display:none" name="img[${index}]" value="" />
|
||||||
|
<button type="button" class="layui-btn btnup"><i class="layui-icon"></i><span data-i18n="userlist.uploadig"></span></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block" style="margin-left: 0; text-align: right;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm delete-attribute">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
|
||||||
|
var $newAttribute = $(html);
|
||||||
|
$('#attributelist').append($newAttribute);
|
||||||
|
|
||||||
|
// 重新初始化上传按钮
|
||||||
|
$newAttribute.find('.btnup').each(function(index, item){
|
||||||
|
var $item = $(item).closest('.upload-item');
|
||||||
|
upload.render({
|
||||||
|
elem: item,
|
||||||
|
url: baseUrl + 'console/upload/image',
|
||||||
|
accept: 'images',
|
||||||
|
field: 'image',
|
||||||
|
done: function(res){
|
||||||
|
if(res.code == 0){
|
||||||
|
$item.find('img').attr('src',res.data.image_url);
|
||||||
|
$item.find('input').val(res.data.image_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
|
||||||
|
attributespresetfn(form, false, $newAttribute);
|
||||||
|
form.render();
|
||||||
|
|
||||||
|
// 默认隐藏图片上传模块
|
||||||
|
$newAttribute.find('.upload-image-item').hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听属性名称下拉框变化,attribute_id=1时显示图片上传模块,否则隐藏
|
||||||
|
form.on('select(attributeSelect)', function(data){
|
||||||
|
var $featureItem = $(data.elem).closest('.feature-item');
|
||||||
|
var selectedValue = data.value;
|
||||||
|
|
||||||
|
// 获取当前选中option的data-img属性
|
||||||
|
var $selectedOption = $(data.elem).find('option:selected');
|
||||||
|
var dataImg = $selectedOption.attr('data-img');
|
||||||
|
|
||||||
|
valuespresetfn(form, true, selectedValue, $featureItem);
|
||||||
|
// 清空图片上传内容
|
||||||
|
var $uploadItem = $featureItem.find('.upload-image-item .upload-item');
|
||||||
|
$uploadItem.find('img').attr('src', '../../assets/images/noimg.png');
|
||||||
|
$uploadItem.find('input[type="text"]').val('');
|
||||||
|
|
||||||
|
if (dataImg == '1'||dataImg == '2') {
|
||||||
|
$featureItem.find('.upload-image-item').show();
|
||||||
|
} else {
|
||||||
|
$featureItem.find('.upload-image-item').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 删除属性按钮点击事件
|
||||||
|
$(document).on('click', '.delete-attribute', function() {
|
||||||
|
$(this).closest('.feature-item').remove();
|
||||||
|
// 重新排序索引
|
||||||
|
$('#attributelist .feature-item').each(function(index) {
|
||||||
|
$(this).find('select[name^="attribute_id"]').attr('name', 'attribute_id[' + index + ']');
|
||||||
|
$(this).find('select[name^="value_id"]').attr('name', 'value_id[' + index + ']');
|
||||||
|
$(this).find('input[name^="img"]').attr('name', 'img[' + index + ']');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,243 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>layui</title>
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../lib/layui-v2.6.3/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="../../assets/css/public.css" media="all">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
.img-3 {
|
||||||
|
max-width: 36px;
|
||||||
|
max-height: 36px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
.upload-item img{
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
.feature-item{
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-form layuimini-form" lay-filter="edit">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="seach.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="id" id="idedt" value="" />
|
||||||
|
<input type="hidden" name="vehicle_id" id="vehicle_id" value="" />
|
||||||
|
<input type="text" name="name" lay-verify="required" data-i18n-placeholder="pleaseenter" value="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-form-text">
|
||||||
|
<label class="layui-form-label" data-i18n="seach.status"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="checkbox" id="status" lay-filter="status" lay-skin="switch" lay-text="">
|
||||||
|
<input type="text" style="display:none" name="status" value="1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.desc"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="feature-list" id="attributelist"></div>
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-normal" id="addAttribute">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.add"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<div class="layui-input-block bootm">
|
||||||
|
<input type="button" lay-submit lay-filter="saveBtn" id="saveBtn" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="../../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
|
||||||
|
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/main.js" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/public.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../../assets/js/i18n1.js"></script>
|
||||||
|
<script>
|
||||||
|
function getQueryString(name) {
|
||||||
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||||
|
var r = window.location.search.substr(1).match(reg);
|
||||||
|
if (r != null) return unescape(r[2]); return null;
|
||||||
|
}
|
||||||
|
layui.use(['form','upload'], function () {
|
||||||
|
var form = layui.form,
|
||||||
|
layer = layui.layer,
|
||||||
|
upload = layui.upload,
|
||||||
|
$ = layui.$;
|
||||||
|
form.render();
|
||||||
|
$("#idedt").val(getQueryString('id'))
|
||||||
|
$("#vehicle_id").val(getQueryString('vehicle_id'))
|
||||||
|
self.skudetail({
|
||||||
|
type:'get',
|
||||||
|
data:{id:getQueryString('id')},
|
||||||
|
successCallBack: function(result){
|
||||||
|
|
||||||
|
if (result.code == 0) {
|
||||||
|
var data = result.data;
|
||||||
|
form.val('edit', result.data)
|
||||||
|
form.render();
|
||||||
|
// 字段 状态 status
|
||||||
|
layui.use(["form"], function() {
|
||||||
|
layui.$("#status").attr("checked", layui.$('input[name="status"]').val() != 0);
|
||||||
|
layui.form.render();
|
||||||
|
layui.form.on("switch(status)", function(data) {
|
||||||
|
layui.$('input[name="status"]').val(this.checked ? 1 : 0);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
// 属性列表
|
||||||
|
$('#attributelist').empty();
|
||||||
|
(data.skuAttributes || []).forEach(function(item, idx){
|
||||||
|
renderAttributeItem(item, idx);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
},
|
||||||
|
failCallBack: function(result){
|
||||||
|
alert(result.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 动态添加属性项
|
||||||
|
function renderAttributeItem(data, index) {
|
||||||
|
var html = `<div class="feature-item">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.name"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="hidden" name="id[]" value="${data.id}">
|
||||||
|
<select name="attribute_id[${index}]" class="attribute_id layui-input" lay-filter="attributeSelect"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" data-i18n="sku.value"></label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<select name="value_id[${index}]" class="layui-input value_id"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item upload-image-item">
|
||||||
|
<label class="layui-form-label required" data-i18n="Images"></label>
|
||||||
|
<div class="layui-input-block upload-item">
|
||||||
|
<img class="img-3" src="${data && data.img_full ? data.img_full : '../../assets/images/noimg.png'}" alt="" />
|
||||||
|
<input type="text" style="display:none" name="img[${index}]" value="${data && data.img ? data.img : ''}" />
|
||||||
|
<button type="button" class="layui-btn btnup"><i class="layui-icon"></i><span data-i18n="userlist.uploadig"></span></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block" style="margin-left: 0; text-align: right;">
|
||||||
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm delete-attribute">
|
||||||
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
var $newAttribute = $(html);
|
||||||
|
$('#attributelist').append($newAttribute);
|
||||||
|
|
||||||
|
// 上传按钮
|
||||||
|
$newAttribute.find('.btnup').each(function(idx, item){
|
||||||
|
var $item = $(item).closest('.upload-item');
|
||||||
|
upload.render({
|
||||||
|
elem: item,
|
||||||
|
url: baseUrl + 'console/upload/image',
|
||||||
|
accept: 'images',
|
||||||
|
field: 'image',
|
||||||
|
done: function(res){
|
||||||
|
if(res.code == 0){
|
||||||
|
$item.find('img').attr('src',res.data.image_url);
|
||||||
|
$item.find('input').val(res.data.image_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
window.i18n.updatePageContent();
|
||||||
|
|
||||||
|
attributespresetfn(form, false, $newAttribute);
|
||||||
|
form.render();
|
||||||
|
|
||||||
|
// 默认隐藏图片上传模块
|
||||||
|
$newAttribute.find('.upload-image-item').hide();
|
||||||
|
|
||||||
|
// 属性名称和属性值回显
|
||||||
|
setTimeout(function() {
|
||||||
|
if(data && data.attribute_id){
|
||||||
|
$newAttribute.find('select[name^="attribute_id"]').val(data.attribute_id);
|
||||||
|
valuespresetfn(form, true, data.attribute_id, $newAttribute);
|
||||||
|
setTimeout(function(){
|
||||||
|
$newAttribute.find('select[name^="value_id"]').val(data.value_id);
|
||||||
|
form.render('select');
|
||||||
|
}, 200);
|
||||||
|
// 如果需要显示图片上传
|
||||||
|
if(data.img){
|
||||||
|
$newAttribute.find('.upload-image-item').show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加属性按钮
|
||||||
|
$('#addAttribute').on('click', function() {
|
||||||
|
var index = $('#attributelist .feature-item').length;
|
||||||
|
renderAttributeItem({}, index);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听属性名称下拉框变化
|
||||||
|
form.on('select(attributeSelect)', function(data){
|
||||||
|
var $featureItem = $(data.elem).closest('.feature-item');
|
||||||
|
var selectedValue = data.value;
|
||||||
|
var $selectedOption = $(data.elem).find('option:selected');
|
||||||
|
var dataImg = $selectedOption.attr('data-img');
|
||||||
|
valuespresetfn(form, true, selectedValue, $featureItem);
|
||||||
|
// 清空图片上传内容
|
||||||
|
var $uploadItem = $featureItem.find('.upload-image-item .upload-item');
|
||||||
|
$uploadItem.find('img').attr('src', '../../assets/images/noimg.png');
|
||||||
|
$uploadItem.find('input[type="text"]').val('');
|
||||||
|
if (dataImg == '1'||dataImg == '2') {
|
||||||
|
$featureItem.find('.upload-image-item').show();
|
||||||
|
} else {
|
||||||
|
$featureItem.find('.upload-image-item').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 删除属性按钮
|
||||||
|
$(document).on('click', '.delete-attribute', function() {
|
||||||
|
$(this).closest('.feature-item').remove();
|
||||||
|
// 重新排序索引
|
||||||
|
$('#attributelist .feature-item').each(function(index) {
|
||||||
|
$(this).find('select[name^="attribute_id"]').attr('name', 'attribute_id[' + index + ']');
|
||||||
|
$(this).find('select[name^="value_id"]').attr('name', 'value_id[' + index + ']');
|
||||||
|
$(this).find('input[name^="img"]').attr('name', 'img[' + index + ']');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(saveBtn)', function (data) {
|
||||||
|
var index = layer.alert(JSON.stringify(data.field), {
|
||||||
|
title: '最终的提交信息'
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
// 关闭弹出层
|
||||||
|
layer.close(index);
|
||||||
|
|
||||||
|
var iframeIndex = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.close(iframeIndex);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user