427 lines
13 KiB
JavaScript
Executable File
427 lines
13 KiB
JavaScript
Executable File
$(".more-btn").click(function () {
|
|
if ($(".more-container").is(":hidden")) {
|
|
$(".more-container").removeClass('layui-hide'); //如果元素为隐藏,则将它显现
|
|
$(".more-btn").html('<i class="fa fa-angle-double-up"></i><span data-i18n="userlist.retract"></span>')
|
|
} else {
|
|
$(".more-container").addClass('layui-hide'); //如果元素为显现,则将其隐藏
|
|
$(".more-btn").html('<i class="fa fa-angle-double-down"></i><span data-i18n="userlist.expand"></span>')
|
|
}
|
|
return false;
|
|
})
|
|
/**
|
|
* 浏览页面顶部搜索框展开收回控制
|
|
*/
|
|
function toggleSearchFormShow()
|
|
{
|
|
let $ = layui.$;
|
|
let items = $('.top-search-from .layui-form-item');
|
|
if (items.length <= 2) {
|
|
if (items.length <= 1) $('.top-search-from').parent().parent().remove();
|
|
return;
|
|
}
|
|
let btns = $('.top-search-from .toggle-btn a');
|
|
let toggle = toggleSearchFormShow;
|
|
if (typeof toggle.hide === 'undefined') {
|
|
btns.on('click', function () {
|
|
toggle();
|
|
});
|
|
}
|
|
let countPerRow = parseInt($('.top-search-from').width()/$('.layui-form-item').width());
|
|
if (items.length <= countPerRow) {
|
|
return;
|
|
}
|
|
btns.removeClass('layui-hide');
|
|
toggle.hide = !toggle.hide;
|
|
if (toggle.hide) {
|
|
for (let i = countPerRow - 1; i < items.length - 1; i++) {
|
|
$(items[i]).hide();
|
|
}
|
|
return $('.top-search-from .toggle-btn a:last').addClass('layui-hide');
|
|
}
|
|
items.show();
|
|
$('.top-search-from .toggle-btn a:first').addClass('layui-hide');
|
|
}
|
|
|
|
layui.$(function () {
|
|
toggleSearchFormShow();
|
|
});
|
|
|
|
function brandpresetfn(form,istrue){
|
|
self.brandpreset({
|
|
type:'get',
|
|
successCallBack: function(result){
|
|
$("#brand").empty();
|
|
if(istrue){
|
|
modelpresetfn(form,istrue,result.data[0].id)
|
|
}else{
|
|
$("#brand").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#brand").append("<option value='"+this.id+"'>"+this.name+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
function modelpresetfn(form,istrue,id){
|
|
self.modelpreset({
|
|
type:'get',
|
|
data:{brand_id:id},
|
|
successCallBack: function(result){
|
|
$("#model").empty();
|
|
if(istrue){
|
|
|
|
}else{
|
|
$("#model").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#model").append("<option value='"+this.id+"'>"+this.name+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
function typespresetfn(form,istrue){
|
|
self.typespreset({
|
|
type:'get',
|
|
successCallBack: function(result){
|
|
$("#vehicle_type").empty();
|
|
if(istrue){
|
|
|
|
}else{
|
|
$("#vehicle_type").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#vehicle_type").append("<option value='"+this.id+"'>"+this.name+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
function energypresetfn(form,istrue){
|
|
self.energypreset({
|
|
type:'get',
|
|
successCallBack: function(result){
|
|
$("#vehicle_energy").empty();
|
|
if(istrue){
|
|
|
|
}else{
|
|
$("#vehicle_energy").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#vehicle_energy").append("<option value='"+this.id+"'>"+this.name+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
function locationpresetfn(form,istrue){
|
|
self.locationpreset({
|
|
type:'get',
|
|
successCallBack: function(result){
|
|
$("#location").empty();
|
|
if(istrue){
|
|
|
|
}else{
|
|
$("#location").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#location").append("<option value='"+this.id+"'>"+this.name+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
function seoselectfn(form,istrue){
|
|
self.seoselect({
|
|
type:'get',
|
|
successCallBack: function(result){
|
|
$("#page").empty();
|
|
if(istrue){
|
|
|
|
}else{
|
|
$("#page").append("<option value='' data-i18n='select'></option>")
|
|
}
|
|
$.each(result.data,function(){
|
|
$("#page").append("<option value='"+this.name+"'>"+this.value+"</option>")
|
|
});
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
},
|
|
failCallBack: function(result){
|
|
alert(result.message);
|
|
}
|
|
})
|
|
}
|
|
// 添加
|
|
function addFeature(id,form,title,content,titlevalue1,contentvalue1,contentid) {
|
|
var index = $('#'+id+' .feature-item').length;
|
|
var titlevalue=titlevalue1?titlevalue1:''
|
|
var contentvalue=contentvalue1?contentvalue1:''
|
|
var contentids=contentid?contentid:''
|
|
var html = `
|
|
<div class="feature-item" style="margin-bottom: 15px; padding: 15px; border: 1px solid #e6e6e6; border-radius: 4px;">
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label" data-i18n="alls.title"></label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="title[${index}]" data-i18n-placeholder="alls.title_placeholder" value="${titlevalue}" class="layui-input">
|
|
<input type="hidden" name="idt[${index}]" value="${contentids}" />
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label" data-i18n="alls.content"></label>
|
|
<div class="layui-input-block">
|
|
<textarea name="content[${index}]" data-i18n-placeholder="alls.content_placeholder" class="layui-textarea" style="min-height: 80px;">${contentvalue}</textarea>
|
|
</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-feature">
|
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
$('#'+id).append(html);
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
}
|
|
function addFeature1(id,form,title,content,titlevalue1,contentvalue1,contentid) {
|
|
var index = $('#'+id+' .feature-item1').length;
|
|
var titlevalue=titlevalue1?titlevalue1:''
|
|
var contentvalue=contentvalue1?contentvalue1:''
|
|
var contentids=contentid?contentid:''
|
|
var html = `
|
|
<div class="feature-item1" style="margin-bottom: 15px; padding: 15px; border: 1px solid #e6e6e6; border-radius: 4px;">
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label" data-i18n="alls.problem"></label>
|
|
<div class="layui-input-block">
|
|
<input type="hidden" name="idp[${index}]" value="${contentids}" />
|
|
<input type="text" name="titlep[${index}]" data-i18n-placeholder="alls.problem_placeholder" value="${titlevalue}" class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label" data-i18n="alls.answer"></label>
|
|
<div class="layui-input-block">
|
|
<textarea name="contentp[${index}]" data-i18n-placeholder="alls.answer_placeholder" class="layui-textarea" style="min-height: 80px;">${contentvalue}</textarea>
|
|
</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-feature">
|
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
$('#'+id).append(html);
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
}
|
|
function addIntro(id,form,content,contentvalue,contentid) {
|
|
var index = $('#'+id+' .intro-item').length;
|
|
var contentvalues = contentvalue?contentvalue:''
|
|
var contentids = contentid?contentid:''
|
|
var html = `
|
|
<div class="intro-item" style="margin-bottom: 15px; padding: 15px; border: 1px solid #e6e6e6; border-radius: 4px;">
|
|
<div class="layui-form-item">
|
|
<div class="layui-input-block" style="margin-left: 0;">
|
|
<input type="hidden" name="idc[${index}]" value="${contentids}" />
|
|
<textarea name="intro[${index}]" data-i18n-placeholder="alls.introduce_placeholder" class="layui-textarea" style="min-height: 100px;">${contentvalues}</textarea>
|
|
</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-intro">
|
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
$('#'+id).append(html);
|
|
window.i18n.updatePageContent();
|
|
form.render();
|
|
}
|
|
|
|
function objentries(field,id,id2,name,value){
|
|
const banners = [];
|
|
let i = 0;
|
|
while (field[`${id}[${i}]`] !== undefined) {
|
|
var obj={};
|
|
obj[name] = field[`${id}[${i}]`]
|
|
obj[value] = field[`${id2}[${i}]`] || ""
|
|
banners.push(obj);
|
|
i++;
|
|
}
|
|
return banners;
|
|
}
|
|
function objentriesedt(field,id,id2,id3,name,value,idc){
|
|
const banners = [];
|
|
let i = 0;
|
|
while (field[`${id}[${i}]`] !== undefined) {
|
|
var obj={};
|
|
obj[name] = field[`${id}[${i}]`]
|
|
obj[value] = field[`${id2}[${i}]`] || ""
|
|
obj[idc] = field[`${id3}[${i}]`] || ""
|
|
banners.push(obj);
|
|
i++;
|
|
}
|
|
return banners;
|
|
}
|
|
function objentries1(field,id,name,cid){
|
|
const banners = [];
|
|
let i = 0;
|
|
while (field[`${id}[${i}]`] !== undefined) {
|
|
var obj={};
|
|
obj[name] = field[`${id}[${i}]`]
|
|
if(cid){
|
|
obj['id'] = field[`${cid}[${i}]`]
|
|
}
|
|
banners.push(obj);
|
|
i++;
|
|
}
|
|
return banners;
|
|
}
|
|
function transformDataall(obj){
|
|
const result = {};
|
|
for (const key in obj) {
|
|
if (!key.includes('[') && !key.includes(']')) {
|
|
result[key] = obj[key];
|
|
}
|
|
}
|
|
result['trait'] = objentries(obj,'title',"content",'title',"content")
|
|
result['asked'] = objentries(obj,'titlep',"contentp",'title',"content")
|
|
result['album'] = objentries(obj,'pic',"alt",'pic',"alt")
|
|
result['content'] = objentries1(obj,'intro',"content")
|
|
return result;
|
|
}
|
|
function transformDataalledt(obj,brand){
|
|
const result = {};
|
|
for (const key in obj) {
|
|
if (!key.includes('[') && !key.includes(']')) {
|
|
result[key] = obj[key];
|
|
}
|
|
}
|
|
if(brand){
|
|
result['traits'] = objentriesedt(obj,'title',"content","idt",'title',"content",'id')
|
|
result['banners'] = objentriesedt(obj,'pic',"alt","idimg",'pic',"alt",'id')
|
|
}else{
|
|
result['trait'] = objentriesedt(obj,'title',"content","idt",'title',"content",'id')
|
|
result['asked'] = objentriesedt(obj,'titlep',"contentp","idp",'title',"content",'id')
|
|
result['album'] = objentriesedt(obj,'pic',"alt","idimg",'pic',"alt",'id')
|
|
result['content'] = objentries1(obj,'intro',"content",'idc')
|
|
}
|
|
return result;
|
|
}
|
|
function transformData(originalData) {
|
|
// 提取 banners 数据
|
|
const banners = [];
|
|
let i = 0;
|
|
while (originalData[`pic[${i}]`] !== undefined) {
|
|
banners.push({
|
|
pic: originalData[`pic[${i}]`],
|
|
alt: originalData[`alt[${i}]`] || ""
|
|
});
|
|
i++;
|
|
}
|
|
|
|
// 提取 traits 数据
|
|
const traits = [];
|
|
let j = 0;
|
|
while (originalData[`title[${j}]`] !== undefined) {
|
|
traits.push({
|
|
title: originalData[`title[${j}]`] || "",
|
|
content: originalData[`content[${j}]`] || ""
|
|
});
|
|
j++;
|
|
}
|
|
// 构建最终结果
|
|
const result = {
|
|
name: originalData.name || "",
|
|
status: originalData.status || "",
|
|
logo: originalData.logo || "",
|
|
image: originalData.image || "",
|
|
toppic: originalData.toppic || "",
|
|
descpic: originalData.descpic || "",
|
|
desc: originalData.desc || "",
|
|
toppic_alt: originalData.toppic_alt || "",
|
|
descpic_alt: originalData.descpic_alt || "",
|
|
logo_alt: originalData.logo_alt || "",
|
|
banners: banners,
|
|
traits: traits
|
|
};
|
|
return result;
|
|
}
|
|
|
|
function uploadimage(upload,baseUrl){
|
|
// 图片上传
|
|
upload.render({
|
|
elem: '#albumUpload',
|
|
url: baseUrl + 'console/upload/image',
|
|
multiple: true,
|
|
accept: 'images',
|
|
acceptMime: 'image/*',
|
|
field: 'image',
|
|
before: function(obj) {
|
|
// 预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
|
|
obj.preview(function(index, file, result) {
|
|
// 生成唯一的图片ID
|
|
var imgId = 'img_' + new Date().getTime() + '_' + index;
|
|
$('#albumList').append(`
|
|
<div class="upload-itemm" style="display: inline-block; margin: 10px;" data-index="${index}">
|
|
<img src="${result}" alt="" id="${imgId}" class="img-3">
|
|
<input type="hidden" name="pic[]" value="">
|
|
<input type="text" class="layui-input" data-i18n-placeholder="brand.image_desc" style="margin: 5px 0px;height: 30px;" name="alt[]">
|
|
<button type="button" class="layui-btn layui-btn-danger layui-btn-xs delete-img">
|
|
<i class="layui-icon"></i><span data-i18n="btn.delete"></span>
|
|
</button>
|
|
</div>
|
|
`);
|
|
// 应用多语言
|
|
window.i18n.updatePageContent();
|
|
});
|
|
},
|
|
done: function(res, index, upload) {
|
|
// 上传完毕回调
|
|
if (res.code == 0) {
|
|
// 上传成功,设置图片地址
|
|
console.log(res.data.image_name);
|
|
// 通过data-index属性找到对应的元素
|
|
$('.upload-itemm[data-index="' + index + '"]').find('input[name="pic[]"]').val(
|
|
res.data.image_name);
|
|
} else {
|
|
layer.msg('上传失败');
|
|
}
|
|
},
|
|
error: function() {
|
|
layer.msg('上传失败');
|
|
}
|
|
});
|
|
|
|
// 删除图片
|
|
$(document).on('click', '.delete-img', function() {
|
|
$(this).closest('.upload-itemm').remove();
|
|
});
|
|
} |