Initial commit
This commit is contained in:
Executable
+427
@@ -0,0 +1,427 @@
|
||||
$(".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();
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user