Authored by 周奇琪

Merge branch 'develop' of git.dev.yoho.cn:platform/yohobuy-portal-fe into develop

all: package spmpackage gulptask
all: package spmpackage
package:
cd ./server/ && cnpm install -d
cd ./client && cnpm install -d
... ... @@ -7,6 +7,6 @@ spmpackage:
gulptask:
cd ./client && gulp build
start:
pm2 start ./server/app.js -n yohobuy-portal -i 0
pm2 delete yohobuy-portal && pm2 start ./server/app.js -n yohobuy-portal -i 0
restart:
pm2 restart yohobuy-portal
\ No newline at end of file
... ...
... ... @@ -30,7 +30,7 @@ var grid=function(options){
tabUrl: false
}
this.options=$.extend({}, defaults, options);
this.grid=$(options.el);
}
grid.prototype={
... ... @@ -39,6 +39,7 @@ grid.prototype={
init:function(url){
var g = this, p = this.options;
p.url=url;
g.grid=$(p.el);
g.grid.html(p.innerHtml);
g.table = $("table", g.grid);
g.thead = $("thead", g.grid);
... ... @@ -51,7 +52,7 @@ grid.prototype={
g.clear();
g.renderHead();
g.renderBody();
// g.renderTab();
g.bindEvent();
},
renderBody:function(){
var g = this, p = this.options;
... ... @@ -66,7 +67,12 @@ grid.prototype={
return;
} else {
g.clear();
g.ajax(_p);
if(typeof p.url=="string"){
g.ajax(_p);
}else{
g.__bodyClomun(p.url);
}
}
},
__getparams:function(){
... ... @@ -159,6 +165,7 @@ grid.prototype={
if (column.name) c.attr({ columnname: column.name });
var h_t = column.display || "";
c.html(h_t);
if(column.checkbox) c.html("<input type='checkbox' class='wqt_all' />");
return column.hidden?"":c;
},
ajax:function(param){
... ... @@ -238,7 +245,9 @@ grid.prototype={
if (!row || !col) return "";
var value = col.name ? row[col.name] : null;
var content = "";
if (col.render) {
if(col.checkbox){
content="<input type='checkbox' name='"+col.name+"' class='wqt_checkbox' data-index='"+row.__index+"'>";
}else if (col.render) {
content = col.render.call(g, row, value, col);
} else {
content = value;
... ... @@ -248,10 +257,35 @@ grid.prototype={
reload:function(param){
var g = this, p = this.options;
p.page=1;
// g.renderTab();
g.__bodyload();
},
bindEvent:function(){
var g = this, p = this.options;
//$(".wqt_all",g.grid).change(function(){
$(g.grid).on("change",".wqt_all",function(){
var selected=$(".wqt_all").prop("checked");
$(".wqt_checkbox").prop("checked",selected);
if(selected){
console.log(g.rows);
g.selected=g.rows;
}else{
g.selected.length=0;
}
});//g.selected
//$(".wqt_checkbox").prop("checked",true);
$(g.grid).on("change",".wqt_checkbox",function(){
$(".wqt_all").prop("checked",false);
g.selected.length=0;
$(".wqt_checkbox").each(function(){
var checked=$(this).prop("checked");
var index=$(this).data("index");
if(checked){
g.selected.push(g.rows[index]);
}
});
});
}
}
module.exports=grid;
... ...
... ... @@ -27,6 +27,8 @@ tab.prototype={
$(p.el).on("click","li",function(){
$(this).addClass('active').siblings().removeClass('active');
g.active=$(this).find("a").attr("columnname");
g.key = $(this).find("a").attr("key");
g.value = $(this).find("a").attr("value");
callback&&callback();
});
},
... ... @@ -36,9 +38,12 @@ tab.prototype={
var lis=[];
$(p.columns).each(function (i, column) {
var li = $("<li></li>");
var a=$("<a href='javascript:void(0);'></a>");
var a = $("<a href='javascript:void(0);'></a>");
if (column.name) a.attr({ columnname: column.name });
if (column.key) a.attr({ key: column.key});
if (column.value) a.attr({ value: column.value});
var h_t = column.display || "";
a.html(h_t);
... ...
... ... @@ -24,8 +24,9 @@ var util={
__tip:function(message,callback){
//danger
var options={};
options.class_name="growl-danger";
options.title=arguments[0];
if (arguments.length > 1) {
options.title=arguments[0];
if (typeof (arguments[1]) === "string") {
options.class_name="growl-"+arguments[1];
}else{
... ... @@ -38,10 +39,7 @@ var util={
lastargs&&lastargs();
},100)
}
} else {
console.log("__tip error");
return false;
};
}
options.sticky=false;
options.time=1000;
... ...
... ... @@ -17,7 +17,6 @@ var ENUM={
var t = new common.tab({
el:"#basicTab",
click:function(){
alert();
g.reload();
},
columns:[
... ... @@ -27,7 +26,8 @@ var ENUM={
{name:"3",display:"过期({3})"},
{name:"4",display:"作废({4})"},
{name:"all",display:"全部({all})"}
]}).init(ENUM.tips);
]
}).init(ENUM.tips);
//grid
var g = new common.grid({
... ... @@ -92,10 +92,8 @@ var ENUM={
data:g.options.parms()
},function(res){
for(var key in res.data){
ENUM.tips[key]=res.data[key];
}
t.init(ENUM.tips);
var __dt=$.extend({},ENUM.tips,res.data);
t.init(__dt);
},true);
},400);
}
... ... @@ -207,10 +205,10 @@ var ENUM={
var item=g.rows[$(this).data("index")];
var data=function(){
return {
id:item.id,
status:1,
operations:reason
};
id:item.id,
status:1,
operations:reason
};
}
Bll.definetoast("您确定要通过该申请吗?",data,function(){
return {auditTime:item.limitDateFrom};
... ...
... ... @@ -31,6 +31,22 @@ $('.leftpanel .nav .parent>a').click(function() {
return false;
});
var me={
setUrl:function(value){
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = "url" + "="+ escape (value) + ";expires=" + exp.toGMTString();
},
getUrl:function(){
var arr,reg=new RegExp("(^| )url=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
};
window.me=me;
$(".leftpanel .nav .children a").each(function(){
var attr=$(this).attr("href");
... ... @@ -38,5 +54,8 @@ $(".leftpanel .nav .children a").each(function(){
$(this).parents(".children").show();
$(this).parent("li").addClass("active");
$(this).parents(".parent").addClass("parent-focus");
window.me.setUrl(window.location.pathname);
}
});
\ No newline at end of file
});
... ...
... ... @@ -191,6 +191,7 @@ function createLevelTwoOption(parentId, selectedId) {
}
newClassVerification.submit(postUrl, function(option,that) {
option.beforeSend = function () {
$this.attr('disabled', 'disabled');
};
... ...
... ... @@ -9,22 +9,42 @@ var $ = require('jquery'),
edit = require('../common/edit');
require('../common/bootstrap-wysihtml5');
require('../util/datepicker');
require('../util/wangEditor');
var uploadImg = new edit('#coverImgBox');
//
uploadImg.init();
// var uploadImg = new edit('#coverImgBox');
// //
// uploadImg.init();
exports.init = function () {
/*var editor = new wangEditor('editor-container');
editor.config.menus = [
'source',
'|',
'img',
'vedio'
];
editor.create();*/
//日期插件
$('#saleTime').fdatepicker({
format: 'yyyy-mm-dd'
});
$('#saleTime').on('change', function() {
console.log($(this).val());
})
var $editor = $('#editor');
$('body').on('click', '#textDialog', function() {
common.dialog.confirm("添加文本",'<textarea id="text-editor"></textarea>',function(){
var textStr = $('#text-editor').val();
var $oText = $('<div class="quota-content quota-text" data-type="3"><span>' + textStr + '</span><a href="javascript:;" class="editor-delete btn btn-default">删除</a></div>');
$('.quota-text').html(textStr);
console.log(textStr);
$oText.appendTo($editor);
});
$('#text-editor').wysihtml5();
... ... @@ -34,52 +54,100 @@ exports.init = function () {
common.dialog.confirm("添加图片",common.util.__template($("#picDialogTemp").html(),{name:"图片"}),function(){
var imgStr = '<img src="http://img11.static.yhbimg.com/goodsimg/2015/07/07/08/01315b5bbfd72bc5b59fa2fda6c28b9ae6.jpg">';
var $oImg = $('<div class="quota-content quota-img" data-type="1">' + imgStr + '<a href="javascript:;" class="editor-delete btn btn-default">删除</a></div>');
$('.quota-img').html(imgStr);
$oImg.appendTo($editor);
});
return false;
});
$('body').on('click', '#videoDialog', function() {
common.dialog.confirm("添加视频",common.util.__template($("#picDialogTemp").html(),{name:"视频"}),function(){
var imgStr = '<img src="http://img11.static.yhbimg.com/goodsimg/2015/07/07/08/01315b5bbfd72bc5b59fa2fda6c28b9ae6.jpg">';
/*var imgStr = '<img src="http://img11.static.yhbimg.com/goodsimg/2015/07/07/08/01315b5bbfd72bc5b59fa2fda6c28b9ae6.jpg">';
var $oVideo = $('<div class="quota-imf"><img src="' + imgStr + '" alt="" /></div>');
$('.quota-video').html(imgStr);
$('.quota-video').html(imgStr);*/
});
return false;
});
// 添加品类表单验证
var limitAddForm = new edit("#limit-add-form");
// 表单验证
var limitAddForm = new edit("#limit-add-form");
limitAddForm.init();
$('.limit-add-btn').click(function () {
limitAddForm.init();
$('.limit-add-btn').click(function () {
var $this = $(this);
limitAddForm.submit('/limit/product/new', function(option,that) {
option.beforeSend = function () {
$this.attr('disabled', 'disabled');
};
option.success=function(res){
var $this = $(this);
console.log(res);
limitAddForm.submit($('#limit-add-form').attr('action'), function(option, that) {
option.beforeSend = function () {
$this.attr('disabled', 'disabled');
};
if (res.data.code === 200) {
option.success=function(res){
console.log(res);
if (res.data.code == 200) {
limitAddForm.$tip('提交成功');
$this.removeAttr('disabled');
limitAddForm.$tip('提交成功',function(){
//window.location.href = '/limit/product/index';
}, 'growl-success');
$this.removeAttr('disabled');
setTimeout(function () {
//window.location.href = '/erpproduct/sort/index';
}, 1000);
}
};
option.error=function(res){
console.log('error');
}
};
option.error=function(res){
limitAddForm.$tip(res.message);
$this.removeAttr('disabled');
};
//option.data.time = $('#saleTime').val();
option.data.attachmentContent = [];
option.data.attachmentContent.push({
attachUrl:option.data.coverImg,
isDefault: 1,
attachType: 1,
orderBy: 0
});
if ($('.quota-content').size() > 0) {
$('.quota-content').each(function(i) {
var type = $(this).data('type'),
content = '',
obj = {
attachType: type,
isDefault: 0,
orderBy: i
}
if (type == 3) {
content = $(this).find('span').text();
obj.intro = content;
} else if (type == 1) {
content = $(this).find('img').attr('src');
obj.attachUrl = content;
}
option.data.attachmentContent.push(obj)
});
}
console.log(option.data);
option.data.attachmentContent = JSON.stringify(option.data.attachmentContent);
option.data.saleTime = new Date(option.data.saleTime.replace('-',',')).getTime() / 1000;
});
};
\ No newline at end of file
});
$('#saleTime').val(function() {
if ($(this).data('time')) {
var date = new Date($(this).data('time') * 1000);
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
}
})
$('#limit-add-form').on('click', '.editor-delete', function() {
$(this).parents('.quota-content').remove();
});
... ...
/*
*@time: 2016/2/4
*@author: chenglong
*/
var $ = require('jquery'),
common=require('../common/common');
var edit = require('../common/edit');
var grid=require('../common/grid');
var baseNum = 1;
var ENUM={
status:{0:'待审核',1:'审核通过',2:'驳回',3:'过期',4:'作废'},//全部
tips:{"salenum":0,"notsalenum":0,"hotnum":0,"nothotnum":0,"all":0}
}
var t = new common.tab({
el:"#basicTab",
click:function(){
tableGird.reload();
},
columns:[
{name:"salenum", key: "saleFlag", value: "1", display:"已发售({salenum})"},
{name:"notsalenum", key: "saleFlag", value: "0", display:"未发售({notsalenum})"},
{name:"hotnum", key: "hotFlag", value: "1", display:"热门({hotnum})"},
{name:"nothotnum", key: "hotFlag", value: "0", display:"非热门({nothotnum})"},
{name:"all",display:"全部({all})"}
]
}).init(ENUM.tips);
var tableGird = new grid({
el:"#limit-table-box",
parms:function(){
var obj = {
productName:common.util.__input("product-name"),
productSkn:common.util.__input("skn"),
hotFlag: $('input[name="hotFlag"]:checked').val(),
saleFlag: $('input[name="saleFlag"]:checked').val(),
showFlag: $('input[name="showFlag"]:checked').val()
}
if (t.key) {
obj[t.key] = t.value;
}
return obj;
},
columns:[
{
display: "名称",
name: "productName"
}, {
display: "热门排序",
name: "hotSort",
render: function (item) {
if (item.orderBy === 'null') {
return '-';
} else {
return ('<input class="width50" type="text" value="'+ item.orderBy +'"/>');
}
}
}, {
display: "未发售排序",
name:"notSaleSort",
render: function (item) {
if (item.notSaleOrderBy === 'null') {
return '-';
} else {
return ('<input class="width50" type="text" value="'+ item.notSaleOrderBy +'"/>');
}
}
}, {
display: "封面图",
render: function(item){
return ('<img class="cover-img" src="'+item.attachUrl+'" />');
}
}, {
display:"SKN",
name:"productSkn"
}, {
display:"价格",
name:"price"
}, {
display:"发售日期",
name:"saleTime",
render: function(item) {
var date = new Date(item.saleTime * 1000);
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
}
}, {
display:"库存",
name:"inventory"
}, {
display:"是否发售",
name:"saleFlag",
render:function(items){
if (items.saleFlag) {
return '是';
} else {
return '否';
}
}
}, {
display:"是否热门",
name:"hotFlag",
render:function(items){
if (items.hotFlag) {
return '是';
} else {
return '否';
}
}
}, {
display:"是否开启",
name:"showFlag",
render:function(items){
if (items.showFlag) {
return '是';
} else {
return '否';
}
}
}, {
display:"操作",
render:function(items){
var HtmArr=[];
if (items.showFlag) {
HtmArr.push('<a href="javascript:;" data-id="' + items.id + '" class="btn btn-info btn-xs close-btn">关闭</a>');
} else {
HtmArr.push('<a href="javascript:;" data-id="' + items.id + '" class="btn btn-info btn-xs open-btn">开启</a>');
}
if (items.hotFlag) {
HtmArr.push('<a href="javascript:;" data-id="' + items.id + '" class="btn btn-warning btn-xs hot-cancel">取消热门</a>');
} else {
HtmArr.push('<a href="javascript:;" data-id="' + items.id + '" class="btn btn-warning btn-xs hot-btn">设为热门</a>');
}
HtmArr.push('<a href="/limit/edit/' + items.id + '" data-id="' + items.id + '" class="btn btn-info btn-xs">编辑</a>');
HtmArr.push('<a href="javascript:;" data-id="' + items.id + '" class="btn btn-danger btn-xs delete-btn">删除</a>');
return HtmArr.join('');
}
}
]
});
tableGird.init('/limit/product/page');
var loadtab=function(){
t.active=undefined;
setTimeout(function(){
common.util.__ajax({
url:'/limit/ajax/getCodeCount',
data:tableGird.options.parms()
},function(res){
for(var key in res.data){
ENUM.tips[key]=res.data[key];
}
t.init(ENUM.tips);
},true);
},400);
}
loadtab();
$("#filter-btn").click(function(){
loadtab();
tableGird.reload();
});
//开启商品
$('#limit-table-box').on('click', '.open-btn', function() {
var param = {
id: $(this).data('id'),
showFlag: '1'
}
common.util.__ajax({
url:'/limit/audit',
data:param
},function(res){
tableGird.reload();
});
});
//关闭商品
$('#limit-table-box').on('click', '.close-btn', function() {
var param = {
id: $(this).data('id'),
showFlag: '0'
}
common.util.__ajax({
url:'/limit/audit',
data:param
},function(res){
tableGird.reload();
});
});
//设为热门
$('#limit-table-box').on('click', '.hot-btn', function() {
var param = {
id: $(this).data('id'),
hotFlag: 1
}
common.util.__ajax({
url:'/limit/audit',
data:param
},function(res){
tableGird.reload();
});
});
//取消热门
$('#limit-table-box').on('click', '.hot-cancel', function() {
var param = {
id: $(this).data('id'),
hotFlag: 0
}
common.util.__ajax({
url:'/limit/audit',
data:param
},function(res){
tableGird.reload();
});
});
//删除商品
$('#limit-table-box').on('click', '.delete-btn', function() {
var param = {
id: $(this).data('id')
}
common.util.__ajax({
url:'/limit/delete',
data:param
},function(res){
tableGird.reload();
});
});
... ...
// 'use strict';
// var $ = require('jquery'),
// Handlebars = require('yoho.handlebars');
// var dropDown=require('../common/dropDown');
// var grid=require('../common/grid');
// require('../util/jquery.gritter');
// new dropDown({el:"#store-name",ajax:"shopsRest"});
// function __ajax(options,callback){
// $.ajax({
// type: 'POST',
// url: options.url,
// dataType: 'json',
// data:options.data||{},
// success: function(res) {
// res=res.data;
// if (res.code === 200) {
// $.gritter.add({
// title: options.msg||"提交成功",
// class_name: 'growl-success',
// sticky: false,
// time: '1000',
// after_open: function() {
// callback&&callback();
// }
// });
// setTimeout(function(){
// location.href="/supplier/storeadmin/index";
// },800)
// } else {
// $.gritter.add({
// title: '提交失败',
// class_name: 'growl-danger',
// sticky: false,
// time: '1000'
// });
// }
// }
// });
// }
// if($('#storelsit').length>0){
// $('#store-name option:selected').val($('#shopsId').text());
// $('#identity-type option:selected').val($('#identity').text());
// $('#manager-name option:selected').val($('#adminPid').text());
// }
// $('#identity-type').on('change',function(){
// $.ajax({
// url: '/supplier/storeadmin/managerName',
// dataType: "json",
// type: 'POST',
// data: {
// identity: $('#identity-type option:selected').val()
// },
// success: function(data) {
// $('#manager-name').html('');
// $.each(data.data.data,function(index){
// console.log(data.data.data[index].truename);
// $('#manager-name').append("<option value='"+data.data.data[index].pid+"'>"+data.data.data[index].truename+"</option>");
// })
// }
// })
// })
// $('#amdinAdd').on('click',function(){
// var that = this,
// shopsId = $('#store-name').val(),
// identityType = $('#identity-type').val(),
// managerName = $('#manager-name').val();
// __ajax({
// url: "/supplier/storeadmin/addguanxi",
// data:{
// shopsId:shopsId,
// adminPid:managerName,
// identity:identityType
// }
// },function(){
// g.reload();
// });
// })
'use strict';
var $ = require('jquery'),
common=require('../common/common');
new common.dropDown({el:"#store-name",ajax:"shopsRest"});
var e= new common.edit("#basicForm");
e.on("render",function(){
});
e.on("bind",function(){
$('#identity-type').on('change',function(){
common.util.__ajax({
url:'/supplier/storeadmin/managerName',
data:{
identity:$('#identity-type option:selected').val()
}
},function(res){
$('#manager-name').html('');
if(res.data&&res.data.length>0){
$.each(res.data,function(index,item){
$('#manager-name').append("<option value='"+item.pid+"'>"+item.truename+"</option>");
})
}
},true);
});
});
e.init();
$(".btn-info").click(function(){
common.util.__ajax({
url:'/supplier/storeadmin/addguanxi',
data:(function(){
var obj={
shopsId:$('#store-name').val(),
identity: $('#identity-type').val(),
adminPid:$('#manager-name').val()
};
for(var key in obj){
if(+obj[key]==-1){
return "请选择完所有的必填项!";
}
}
return obj;
})()
});
});
... ... @@ -13,8 +13,8 @@ var $ = require('jquery'),
{display:"更新时间",name:"updateTime"},
{display:"操作",name:"",render:function(item){
var HtmArr=[];
HtmArr.push('<a href="/supplier/store/adminupdate/'+item.id+'" class="btn btn-info btn-xs">编辑</a>');
HtmArr.push('<button type="button" data-index="'+item.__index+'" class="delete btn btn-danger btn-xs">删除</button>');
HtmArr.push('<a href="javascript:void(0);" data-index="'+item.__index+'" class="edit btn btn-info btn-xs">编辑</a>');
HtmArr.push('<a href="javascript:void(0);" data-index="'+item.__index+'" class="delete btn btn-danger btn-xs">删除</button>');
return HtmArr.join('');
}}
]
... ... @@ -31,11 +31,79 @@ var $ = require('jquery'),
g.reload();
});
});
},
selectManagerName:function(id,eqid){
common.util.__ajax({
url:'/supplier/storeadmin/managerName',
data:{
identity:id//$('#identity-type option:selected').val()
}
},function(res){
$('#manager-name').html('');
if(res.data&&res.data.length>0){
$.each(res.data,function(index,item){
var $option=$("<option></option>");
$option.attr("value",item.pid);
if(+item.pid==eqid){
$option.attr("selected","selected");
}
$option.html(item.truename);
$("#manager-name").append($option);
})
}
},true);
},
dialog:function(title,url,item){
common.dialog.confirm("创建店铺管理员关系",$("#template").html(),function(){
var data=function(){
var sn=$('#store-name').val();
var obj={
id:item.id,
shopsId:sn?sn:item.shopsId,
identity: $('#identity-type').val(),
adminPid:$('#manager-name').val()
};
console.log(obj);
for(var key in obj){
if(+obj[key]==-1){
return "请选择完所有的必填项!";
}
}
return obj;
}
common.util.__ajax({
url:url,
data:data()
},function(){
g.reload();
});
});
new common.dropDown({el:"#store-name",ajax:"shopsRest"});
//
$('#identity-type').on('change',function(){
Bll.selectManagerName($(this).val());
});
}
}
$('#basicTable').on('click', '.delete', function() {
var item=g.rows[$(this).data("index")];
Bll.toast("你确定要删除吗?",item.id);
});
$(document).on('click', '.add', function() {
Bll.dialog("创建店铺管理员关系",'/supplier/storeadmin/addguanxi',{});
});
$('#basicTable').on('click', '.edit', function() {
var item=g.rows[$(this).data("index")];
Bll.dialog("修改店铺管理员关系",'/supplier/storeadmin/updateguanxi',item);
//赋值
$("#store-name").val(item.shopsId);
$("#select2-store-name-container").text(item.shopName);
$('#identity-type').val(item.identity);
Bll.selectManagerName($('#identity-type option:selected').val(),item.adminPid);
});
... ...
// //商家管理
// 'use strict';
// var $ = require('jquery'),
// Handlebars = require('yoho.handlebars');
// var dropDown = require('../common/dropDown');
// var grid = require('../common/grid');
// var edit = require('../common/edit');
// require('../util/jquery.gritter');
// new edit('#shopLogo').init();
// $('.urlAdd').on('click',
// function() {
// var type = $(this).data('type'),
// inputAdd = '';
// switch (type) {
// case 0:
// inputAdd = '<input type="text" name="homepage" class="form-control" style="margin-bottom:15px;" placeholder="官方网址">';
// break;
// case 1:
// inputAdd = '<input type="text" name="homeurl" class="form-control" style="margin-bottom:15px;" placeholder="其他平台网址">';
// break;
// case 2:
// inputAdd = '<input type="text" name="homeaddresslist" class="form-control" style="margin-bottom:15px;" placeholder="代表实体店">';
// break;
// }
// $('.Add').eq(type).append(inputAdd);
// });
// new dropDown({
// el: "#shopNature"
// });
// new dropDown({
// el: "#shopsType"
// });
// new dropDown({
// el: "#brand-name",
// ajax: "brand"
// });
// $('#modalId').on('click',function(){
// if($('#shopsType').val()!= ''){
// $('#modal-id').modal('show')
// }else{
// alert('请选择店铺模式');
// }
// })
// $('#addBrand').on('click',function() {
// var storeModel = $('#shopsType').val();
// console.log();
// if (storeModel == 1) {
// if($('#updateBrand tbody tr').length>0){
// alert('单品店只能选择一个供应商');
// }else{
// $('#savebrand .checkbox').each(function() {
// if ($(this).prop('checked')) {
// var check = $(this).closest('tr').html();
// var brand = check.split('<td>')[check.split('<td>').length - 2];
// var supplier = check.split('<td>')[check.split('<td>').length - 1];
// var table = '<tr><td>' + brand + '<td>' + supplier + '<td><button type="button" class="delete btn btn-danger btn-xs">删除</button></td></tr>';
// $('#updateBrand tbody').append(table);
// }
// })
// }
// } else if (storeModel == 2){
// $('#savebrand .checkbox').each(function() {
// if ($(this).prop('checked')) {
// var check = $(this).closest('tr').html();
// var brand = check.split('<td>')[check.split('<td>').length - 2];
// var supplier = check.split('<td>')[check.split('<td>').length - 1];
// var table = '<tr><td>' + brand + '<td>' + supplier + '<td><button type="button" class="delete btn btn-danger btn-xs">删除</button></td></tr>';
// console.log(supplier);
// console.log($('#updateBrand tbody').html().indexOf(supplier));
// if($('#updateBrand tbody').html().indexOf(supplier)>1){
// alert('不能重复添加');
// }else{
// $('#updateBrand tbody').append(table);
// }
// }
// })
// }
// });
// var e = new edit("#storeForm");
// e.on("validate",
// function() {});
// if ($('#shopsId').val() > 0) {
// var submit = function(callback) {
// e.submit('/store/update',
// function(option) {
// option.success = function(res) {
// if (res.data.code == "200") {
// history.go(-1);
// } else {
// e.$tip(res.data.message);
// }
// return false;
// },
// option.error = function(res) {
// e.$tip(res.data.message);
// }
// callback && callback(option.data);
// });
// }
// } else {
// var submit = function(callback) {
// e.submit('/store/add',
// function(option) {
// option.success = function(res) {
// if (res.data.code == "200") {
// history.go(-1);
// } else {
// e.$tip(res.data.message);
// }
// return false;
// },
// option.error = function(res) {
// e.$tip(res.data.message);
// }
// callback && callback(option.data);
// });
// }
// }
// $(".check").click(function() {
// var shopsId = $('#shopsId').val();
// var onCheck = $(this).data('oncheck');
// var homepage = $("input[name='homepage']");
// var hplist = [];
// homepage.each(function(index) {
// hplist.push(homepage[index].value);
// });
// console.log('hplist:'+hplist);
// var homeurl = $("input[name='homeurl']");
// var homeurlist = [];
// homeurl.each(function(index) {
// homeurlist.push(homeurl[index].value);
// });
// console.log('homeurlist:'+homeurlist);
// var homeaddress = $("input[name='homeaddresslist']");
// var homeaddresslist = [];
// homeaddress.each(function(index) {
// homeaddresslist.push(homeaddress[index].value);
// });
// var updateBrand =$('#updateBrand tbody tr');
// var shopRelation=[];
// shopRelation.push('[')
// $.each(updateBrand,function (index) {
// shopRelation.push('{')
// shopRelation.push('"agreementEndTime":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.agreementendtime').val()+',');
// shopRelation.push('"brandId":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.brandid').val()+',');
// shopRelation.push('"supplierId":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.supplierid').val());
// if(index==updateBrand.length-1){
// shopRelation.push('}')
// }else{
// shopRelation.push('},')
// }
// });
// shopRelation.push(']')
// submit(function(data) {
// data.otherUrl= hplist.toString();
// data.websiteUrl = homeurlist.toString();
// data.shopAddress = homeaddresslist.toString();
// data.onCheck = onCheck;
// data.shopsId = shopsId;
// data.shopRelation = shopRelation.join('');
// });
// return false;
// });
// $(function() {
// if ($('#otherUrl').val().split(',').length > 1) {
// var homepage = $('#otherUrl').val().split(',');
// $.each(homepage,
// function() {
// $('#homepage').append('<input value="' + this + '" type="text" name="homepage" class="form-control" style="margin-bottom:15px;">')
// })
// }else{
// $('#homepage').append('<input type="text" value="'+$('#otherUrl').val()+'" name="homepage" class="form-control" style="margin-bottom:15px;">')
// }
// if ($('#websiteUrl').val().split(',').length > 1) {
// var websiteUrl = $('#websiteUrl').val().split(',');
// $.each(websiteUrl,
// function() {
// $('#homeurl').append('<input value="' + this + '" type="text" name="homeurl" class="form-control" style="margin-bottom:15px;">')
// })
// }else{
// $('#homeurl').append('<input type="text" value="'+$('#websiteUrl').val()+'" name="homeurl" class="form-control" style="margin-bottom:15px;">')
// }
// if ($('#shopAddress').val().split(',').length > 1) {
// var shopAddress = $('#shopAddress').val().split(',');
// $.each(shopAddress,
// function() {
// $('#homeaddress').append('<input value="' + this + '" type="text" name="homeaddresslist" class="form-control" style="margin-bottom:15px;">')
// })
// }else{
// $('#homeaddress').append('<input type="text" value="'+$('#shopAddress').val()+'" name="homeaddresslist" class="form-control" style="margin-bottom:15px;">')
// }
// });
// $('#brand-name').on('change',function() {
// $.ajax({
// url: '/supplier/storeadmin/supplierlist',
// dataType: "json",
// type: 'POST',
// data: {
// brandId: $('#brand-name').val()
// },
// success: function(data) {
// var savebrandlist = [];
// var brandselelt = $('#brand-name').find("option:selected").text();
// $.each(data.data.data,function(index) {
// savebrandlist.push('<tr>');
// savebrandlist.push('<td><input class="checkbox" type="checkbox"></td>');
// savebrandlist.push('<td>' + brandselelt + '</td>');
// savebrandlist.push('<td>' + data.data.data[index].supplierName);
// savebrandlist.push('<input type="hidden" class="agreementendtime" value="'+data.data.data[index].agreementEndTime+'">');
// savebrandlist.push('<input type="hidden" class="brandid" value="'+data.data.data[index].brandId+'">');
// savebrandlist.push('<input type="hidden" class="supplierid" value="'+data.data.data[index].supplierId+'">');
// savebrandlist.push('</td>');
// savebrandlist.push('</tr>')
// });
// $('#savebrand tbody').html(savebrandlist.join(''));
// }
// })
// })
// $('#updateBrand').on('click','.delete',function(){
// $(this).parents('tr').remove()
// })
//商家管理
'use strict';
var $ = require('jquery'),
Handlebars = require('yoho.handlebars');
var dropDown = require('../common/dropDown');
var grid = require('../common/grid');
var edit = require('../common/edit');
require('../util/jquery.gritter');
new edit('#shopLogo').init();
$('.urlAdd').on('click',
function() {
var type = $(this).data('type'),
inputAdd = '';
switch (type) {
case 0:
inputAdd = '<input type="text" name="homepage" class="form-control" style="margin-bottom:15px;" placeholder="官方网址">';
break;
case 1:
inputAdd = '<input type="text" name="homeurl" class="form-control" style="margin-bottom:15px;" placeholder="其他平台网址">';
break;
case 2:
inputAdd = '<input type="text" name="homeaddresslist" class="form-control" style="margin-bottom:15px;" placeholder="代表实体店">';
break;
common=require('../common/common');
var e=new common.edit("#storeForm");
var Bll={
toast:function(content,url,id){
common.dialog.confirm("温馨提示",content,function(){
common.util.__ajax({
url:url,
data:{shopsId:id}
},function(){
g.reload();
});
});
},
addInput:function(name,label,value){
var $input=$("<input />");
$input.attr("type","text");
$input.attr("name",name);
$input.attr("placeholder",label.replace(':',''));
$input.addClass("form-control");
$input.css("margin-bottom","15px");
value&&$input.val(value);
$("#"+name+"-list").append($input);
}
}
var g=new common.grid({
el:"#baseTable",
parms:function(){
return {brandId: $('#brandname').val()}
},
columns:[
{display:"选择","checkbox":true},
{display:"品牌",render:function(item){
item.brandName=$.trim($("#brandname").text().replace(/选择品牌/g,''));
return item.brandName;
}},
{display:"供应商",name:"supplierName"}
]
});
var g2=new common.grid({
el:"#updateBrand",
columns:[
{display:"品牌","name":"brandName"},
{display:"供应商","name":"supplierName"},
{display:"操作",render:function(item){
return '<button type="button" data-index="'+item.__index+'" class="delete btn btn-danger btn-xs">删除</button>';
}}
]
});
g2.__rows=[];
e.on("render",function(){
$("#otherUrl").add("#websiteUrl").add("#shopAddress").each(function(){
var label=$(this).parents(".form-group").find("label").text();
var name=$(this).attr("id");
var value=$(this).val()?$(this).val():'[]';
var data=JSON.parse(value);
if(data.length>0){
$.each(data,function(i,item){
Bll.addInput(name,label,item);
});
}else{
Bll.addInput(name,label);
}
$('.Add').eq(type).append(inputAdd);
});
new dropDown({
el: "#shopNature"
});
new dropDown({
el: "#shopsType"
});
new dropDown({
el: "#brand-name",
ajax: "brand"
(!!~$("#shopsType").val())?$("#modalId").prop("disabled",false):$("#modalId").prop("disabled",true);
//修改
if($("#shopRelationList").val()){
var a=JSON.parse($("#shopRelationList").val());
Array.prototype.push.apply(g2.__rows, a)
g2.init(g2.__rows);
}
});
e.on("bind",function(){
$(".urlAdd").click(function(){
var label=$(this).parents(".form-group").find("label").text();
var name=$(this).parent("div").next(":hidden").attr("id");
Bll.addInput(name,label);
});
$('#modalId').on('click',function(){
if($('#shopsType').val()!= ''){
$('#modal-id').modal('show')
}else{
alert('请选择店铺模式');
}
})
$('#addBrand').on('click',function() {
var storeModel = $('#shopsType').val();
console.log();
if (storeModel == 1) {
if($('#updateBrand tbody tr').length>0){
alert('单品店只能选择一个供应商');
}else{
$('#savebrand .checkbox').each(function() {
if ($(this).prop('checked')) {
var check = $(this).closest('tr').html();
var brand = check.split('<td>')[check.split('<td>').length - 2];
var supplier = check.split('<td>')[check.split('<td>').length - 1];
var table = '<tr><td>' + brand + '<td>' + supplier + '<td><button type="button" class="delete btn btn-danger btn-xs">删除</button></td></tr>';
$('#updateBrand tbody').append(table);
}
})
}
} else if (storeModel == 2){
$('#savebrand .checkbox').each(function() {
if ($(this).prop('checked')) {
var check = $(this).closest('tr').html();
var brand = check.split('<td>')[check.split('<td>').length - 2];
var supplier = check.split('<td>')[check.split('<td>').length - 1];
var table = '<tr><td>' + brand + '<td>' + supplier + '<td><button type="button" class="delete btn btn-danger btn-xs">删除</button></td></tr>';
console.log(supplier);
console.log($('#updateBrand tbody').html().indexOf(supplier));
if($('#updateBrand tbody').html().indexOf(supplier)>1){
alert('不能重复添加');
}else{
$('#updateBrand tbody').append(table);
}
}
})
}
$("#shopsType").change(function(){
(!!~$("#shopsType").val())?$("#modalId").prop("disabled",false):$("#modalId").prop("disabled",true);
});
var e = new edit("#storeForm");
e.on("validate",
function() {});
if ($('#shopsId').val() > 0) {
var submit = function(callback) {
e.submit('/store/update',
function(option) {
option.success = function(res) {
if (res.data.code == "200") {
history.go(-1);
} else {
e.$tip(res.data.message);
}
return false;
},
option.error = function(res) {
e.$tip(res.data.message);
}
callback && callback(option.data);
});
}
} else {
var submit = function(callback) {
e.submit('/store/add',
function(option) {
option.success = function(res) {
if (res.data.code == "200") {
history.go(-1);
} else {
e.$tip(res.data.message);
$("#modalId").click(function(){
//common.util.__template($("#template").html(),{})
common.dialog.confirm("添加供应商关系",$("#template").html(),function(){
console.log(g.selected);
$.each(g.selected,function(index,item){
//item.supplierId
var i=0;
$.each(g2.__rows,function(index1,item1){
if(item1.supplierId==item.supplierId){
i++;
}
return false;
},
option.error = function(res) {
e.$tip(res.data.message);
});
if(i==0){
g2.__rows.push(item);
}
callback && callback(option.data);
});
}
}
$(".check").click(function() {
var shopsId = $('#shopsId').val();
var onCheck = $(this).data('oncheck');
var homepage = $("input[name='homepage']");
var hplist = [];
homepage.each(function(index) {
hplist.push(homepage[index].value);
});
console.log('hplist:'+hplist);
var homeurl = $("input[name='homeurl']");
var homeurlist = [];
homeurl.each(function(index) {
homeurlist.push(homeurl[index].value);
});
console.log('homeurlist:'+homeurlist);
var homeaddress = $("input[name='homeaddresslist']");
var homeaddresslist = [];
homeaddress.each(function(index) {
homeaddresslist.push(homeaddress[index].value);
g2.init(g2.__rows);
});
var updateBrand =$('#updateBrand tbody tr');
var shopRelation=[];
shopRelation.push('[')
$.each(updateBrand,function (index) {
shopRelation.push('{')
shopRelation.push('"agreementEndTime":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.agreementendtime').val()+',');
shopRelation.push('"brandId":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.brandid').val()+',');
shopRelation.push('"supplierId":'+$('#updateBrand tbody tr').eq(index).find('td').eq(1).find('.supplierid').val());
if(index==updateBrand.length-1){
shopRelation.push('}')
}else{
shopRelation.push('},')
}
});
shopRelation.push(']')
submit(function(data) {
data.otherUrl= hplist.toString();
data.websiteUrl = homeurlist.toString();
data.shopAddress = homeaddresslist.toString();
data.onCheck = onCheck;
data.shopsId = shopsId;
data.shopRelation = shopRelation.join('');
new common.dropDown({
el: "#brandname",
ajax: "brand"
});
return false;
g.init("/supplier/storeadmin/supplierlist");
});
$(function() {
if ($('#otherUrl').val().split(',').length > 1) {
var homepage = $('#otherUrl').val().split(',');
$.each(homepage,
function() {
$('#homepage').append('<input value="' + this + '" type="text" name="homepage" class="form-control" style="margin-bottom:15px;">')
})
}else{
$('#homepage').append('<input type="text" value="'+$('#otherUrl').val()+'" name="homepage" class="form-control" style="margin-bottom:15px;">')
}
if ($('#websiteUrl').val().split(',').length > 1) {
var websiteUrl = $('#websiteUrl').val().split(',');
$.each(websiteUrl,
function() {
$('#homeurl').append('<input value="' + this + '" type="text" name="homeurl" class="form-control" style="margin-bottom:15px;">')
})
}else{
$('#homeurl').append('<input type="text" value="'+$('#websiteUrl').val()+'" name="homeurl" class="form-control" style="margin-bottom:15px;">')
}
$(document).on("change","#brandname",function(){
g.reload();
});
if ($('#shopAddress').val().split(',').length > 1) {
var shopAddress = $('#shopAddress').val().split(',');
$.each(shopAddress,
function() {
$('#homeaddress').append('<input value="' + this + '" type="text" name="homeaddresslist" class="form-control" style="margin-bottom:15px;">')
})
}else{
$('#homeaddress').append('<input type="text" value="'+$('#shopAddress').val()+'" name="homeaddresslist" class="form-control" style="margin-bottom:15px;">')
}
$("#updateBrand").on("click",".delete",function(){
delete g2.__rows[$(this).data("index")];
g2.reload();
});
$('#brand-name').on('change',function() {
$.ajax({
url: '/supplier/storeadmin/supplierlist',
dataType: "json",
type: 'POST',
data: {
brandId: $('#brand-name').val()
},
success: function(data) {
var savebrandlist = [];
var brandselelt = $('#brand-name').find("option:selected").text();
$.each(data.data.data,function(index) {
savebrandlist.push('<tr>');
savebrandlist.push('<td><input class="checkbox" type="checkbox"></td>');
savebrandlist.push('<td>' + brandselelt + '</td>');
savebrandlist.push('<td>' + data.data.data[index].supplierName);
savebrandlist.push('<input type="hidden" class="agreementendtime" value="'+data.data.data[index].agreementEndTime+'">');
savebrandlist.push('<input type="hidden" class="brandid" value="'+data.data.data[index].brandId+'">');
savebrandlist.push('<input type="hidden" class="supplierid" value="'+data.data.data[index].supplierId+'">');
savebrandlist.push('</td>');
savebrandlist.push('</tr>')
});
$('#savebrand tbody').html(savebrandlist.join(''));
});
e.init();
var submit=function(callback){
var _arr={
websiteUrl:[],
otherUrl:[],
shopAddress:[]
};
var urlRegx="[a-zA-z]+://[^s]*";
var _regx={
websiteUrl:urlRegx,
otherUrl:urlRegx
};
var _count=0;
for(var key in _arr){
$("#"+key+"-list").find("input:text").each(function(){
var _v=$.trim($(this).val());
if(_v){
if(_regx[key]){
var url=new RegExp(_regx[key]);
if(!url.test(_v)){
_count++;
return;
}
}
_arr[key].push(_v);
}
});
_arr[key]=JSON.stringify(_arr[key]);
}
if(_count>0){
common.util.__tip("网址输入错误");
return;
}
_arr.shopRelation=JSON.stringify(g2.rows);
if(!_arr.shopRelation){
common.util.__tip("请选择关联品牌:");
return;
}
e.submit($("#storeForm").attr("action"),function(option){
option.data=$.extend({},option.data,_arr);
console.log(option.data);
option.success=function(res){
res=res.data;
if(res.code=="200"){
e.$tip('提交成功',function(){
location.href=window.me.getUrl();
//window.history.go(-1);
},'growl-success');
}else{
e.$tip(res.message);
}
})
})
$('#updateBrand').on('click','.delete',function(){
$(this).parents('tr').remove()
})
\ No newline at end of file
return false;
},
option.error=function(res){
e.$tip("提交失败");
}
callback&&callback(option.data);
});
};
//提交
$(".btn-success").click(function(){
submit(function(item){
item.onCheck=1;
});
});
//暂存
$(".btn-cun").click(function(){
submit(function(item){
item.onCheck=0;
});
});
... ...
//商家管理
'use strict';
'use strict';
var $ = require('jquery'),
common=require('../common/common');
... ... @@ -20,6 +19,12 @@ var ENUM={// 审核状态;100 暂存 200 待审核 300 审核通过 900 驳
$('#filter-btn').on('click',function(){
g.reload();
});
$("#all-btn").click(function(){
$("#status").val("-1").trigger("change");;
$("#supplier-name").val("-1").trigger("change");;
$("#supplier-name").val("-1").trigger("change");;
g.reload();
});
var g=new common.grid({
el:'#basicTable',
parms:function(){
... ... @@ -49,18 +54,24 @@ var ENUM={// 审核状态;100 暂存 200 待审核 300 审核通过 900 驳
{display:"操作",name:"",render:function(item){
var HtmArr=[];
if(authority.info){
HtmArr.push('<a href="/supplier/store/infocmd/'+item.shopsId+'" class="btn btn-info btn-xs">查看</a>');
HtmArr.push('<a href="/supplier/store/infocmd/'+item.shopsId+'" href="javascript:void(0);" class="btn btn-info btn-xs">查看</a>');
}else{
HtmArr.push('<a href="/supplier/store/info/'+item.shopsId+'" class="btn btn-info btn-xs">查看</a>');
HtmArr.push('<a href="/supplier/store/info/'+item.shopsId+'" href="javascript:void(0);" class="btn btn-info btn-xs">查看</a>');
}
//创建
if(authority.create){
if(+item.checkStatus==100||+item.checkStatus==900){
HtmArr.push('<a href="/supplier/store/update/'+item.shopsId+'" href="javascript:void(0);" class="btn btn-success btn-xs">编辑</a>');
}
}
if(authority.btn){
HtmArr.push('<a href="/supplier/store/update/'+item.shopsId+'" class="btn btn-success btn-xs">编辑</a>');
HtmArr.push('<a href="/supplier/store/update/'+item.shopsId+'" href="javascript:void(0);" class="btn btn-success btn-xs">编辑</a>');
if(+item.status){
// 1开启 0 关闭
HtmArr.push('<button data-index="'+item.__index+'" class="closeshops btn btn-success btn-xs">开店</button>');
HtmArr.push('<a data-index="'+item.__index+'" href="javascript:void(0);" class="closeshops btn btn-success btn-xs">开店</a>');
}else{
HtmArr.push('<button data-index="'+item.__index+'" class="openshops btn btn-danger btn-xs">关店</button>');
HtmArr.push('<a data-index="'+item.__index+'" href="javascript:void(0);" class="openshops btn btn-danger btn-xs">关店</a>');
}
}
return HtmArr.join('');
... ...
//商家管理
'use strict';
var $ = require('jquery'),
common=require('../common/common');
var g=new grid({
el:'#storeadmin_Tabel',
columns:[
{display:"ID",name:"shopsId"},
{display:"店铺名称",name:"shopName"},
{display:"店铺管理员",name:"adminName"},
{display:"创建时间",name:"createTime"},
{display:"更新时间",name:"updateTime"},
{display:"操作",name:"",render:function(item){
return '<a href="/supplier/store/adminAdd/'+item.shopsId+'" class="btn btn-info btn-xs">编辑</a><button type="button" data-id="'+item.shopsId+'" class="delete btn btn-danger btn-xs">删除</button>'
}}
]
})
g.init($('#url').val());
if($('#otherUrl').val().split(',').length>1){
var otherUrl=$('#otherUrl').val().split(',');
console.log(otherUrl);
$.each(otherUrl,function(){
$('#otherUrlValue').append('<p>'+this+'</p>')
})
}
if($('#websiteUrl').val().split(',').length>1){
var websiteUrl=$('#websiteUrl').val().split(',');
$.each(websiteUrl,function(){
$('#websiteUrlValue').append('<p>'+this+'</p>')
})
}
if($('#shopAddress').val().split(',').length>1){
var shopAddress=$('#shopAddress').val().split(',');
$.each(shopAddress,function(){
$('#shopAddressValue').append('<p>'+this+'</p>')
})
}
... ... @@ -24,4 +24,35 @@ $('#basicTable').on('click', '#tongguo', function() {
$('#basicTable').on('click', '#bohui', function() {
Bll.toast("您确定要驳回审核吗?","/Shops/ShopsRest/checkReject");
});
\ No newline at end of file
});
var ENUM={
shopNature:{1:'旗舰店',2:'直营店'},
shopsType:{1:'单品店',2:'多品店'},
checkStatus:{100:'暂存',200:'审核中',300:'通过',900:'驳回'}
}
for(var key in ENUM){
var me=$("#"+key);
me.parent("div").html(ENUM[key][me.val()]);
}
$("#otherUrl").add("#websiteUrl").add("#shopAddress").each(function(){
var data=JSON.parse($(this).val());
var me=$(this).parent();
$.each(data,function(i,item){
me.append("<p>"+item+"</p>");
});
});
var g2=new common.grid({
el:"#baseTable",
columns:[
{display:"品牌","name":"brandName"},
{display:"供应商","name":"supplierName"}
]
});
if($("#shopRelationList").val()){
var a=JSON.parse($("#shopRelationList").val());
g2.init(a);
}
... ...
... ... @@ -2,6 +2,35 @@ var $=require('jquery');
var edit=require('../common/edit');
var e=new edit("#basicForm");
e.on("validate",function(){
var contactPhone=$.trim($("#contactPhone").val());
if(contactPhone){
if(!(/^1\d{10}$/.test(contactPhone))){
return "请输入正确的公司联系电话";
}
}
//phone
var phone=$.trim($("#phone").val());
if(phone){
if(!(/^1\d{10}$/.test(phone))){
return "请输入正确的联系人电话";
}
}
if(!phone&&!contactPhone){
return "请在公司联系电话,联系人电话至少填一个";
}
return true;
});
e.on("validate",function(){
var num=$.trim($("#phone").val());
if(num){
if(!(/^1\d{10}$/.test(num))){
return "请输入正确的联系人电话";
}
}
//phone
return true;
});
e.init();
var submit=function(callback,config){
e.submit($("#basicForm").attr("action"),function(option){
... ... @@ -9,7 +38,8 @@ var edit=require('../common/edit');
res=res.data;
if(res.code=="200"){
e.$tip(config.msg||"提交成功",function(){
location.href="/supplier/supplier/index";
location.href=window.me.getUrl();
},'growl-success');
}else{
e.$tip(res.message);
... ... @@ -27,15 +57,13 @@ var edit=require('../common/edit');
$("#btnTemporary").click(function(){
submit(function(data){
data.status=100;
},{msg:"添加成功"});
},{msg:"暂存成功"});
return false;
});
$("#btnReview").click(function(){
//到审核表
submit(function(data){
if(data.status==100){
data.operations=2;
}
data.operations?data.operations:data.operations=1;
data.status=200;
},{msg:"提交成功"});
return false;
... ...
... ... @@ -28,7 +28,7 @@ var ENUM={
id:common.util.__input("supplier-name"),
status:common.util.__input("status"),
timeSort:common.util.__input("time-sort"),
isFreeze:common.util.__input("isFreeze"),
isFreeze:common.util.__input("isFreeze")
};
},
columns:[
... ...
... ... @@ -37,21 +37,20 @@ var $ = require('jquery'),
//提交操作
$(document).on('click', '.btn-submit', function() {
Bll.toast("确定要审核通过吗?",function(){
return Bll.model({status:300});
return Bll.model({status:300,operations:2});
});
});
//提交驳回
$(document).on('click', '.btn-return', function() {
Bll.toast("确定要驳回审核吗?",function(){
return Bll.model({status:900});
return Bll.model({status:900,operations:1});
});
});
//冻结操作
$(document).on('click', '.btn-freeze', function() {
Bll.toast("确定要冻结审核吗?",function(){
return Bll.model({isFreeze:"Y"});
return Bll.model({isFreeze:"Y",operations:3});
});
});
... ... @@ -59,6 +58,8 @@ var $ = require('jquery'),
$(document).on('click', '.btn-recovery', function() {
var that = this;
Bll.toast("确定要解冻审核吗?",function(){
return Bll.model({isFreeze:"N"});
return Bll.model({isFreeze:"N",operations:4});
});
});
... ...
/*! wangEditor.js 2016-02-15 */
window.jQuery = require('jquery');
var define;!function(a){"function"==typeof define?define.amd?define("wangEditor",["jquery"],a):define.cmd?define(function(b,c,d){return a}):a(window.jQuery):a(window.jQuery)}(function(a){if(!a||!a.fn||!a.fn.jquery)return void alert("在引用wangEditor.js之前,先引用jQuery,否则无法使用 wangEditor");var b=function(b){var c=window.wangEditor;c&&b(c,a)};!function(a,b){if(!a.wangEditor){var c=function(a){var c=b("#"+a);if(1===c.length){var d=c[0].nodeName;("TEXTAREA"===d||"DIV"===d)&&(this.valueNodeName=d.toLowerCase(),this.$valueContainer=c,this.$prev=c.prev(),this.$parent=c.parent(),this.init())}};c.fn=c.prototype,c.$body=b("body"),c.$document=b(document),c.$window=b(a),c.userAgent=navigator.userAgent,c.getComputedStyle=a.getComputedStyle,c.w3cRange="function"==typeof document.createRange,c.hostname=location.hostname.toLowerCase(),c.websiteHost="wangeditor.github.io",c.isOnWebsite=c.hostname===c.websiteHost,c.docsite="http://www.kancloud.cn/wangfupeng/wangeditor2/113961",a.wangEditor=c,c.plugin=function(a){c._plugins||(c._plugins=[]),"function"==typeof a&&c._plugins.push(a)}}}(window,a),b(function(a,b){a.fn.init=function(){this.initDefaultConfig(),this.addEditorContainer(),this.addTxt(),this.addMenuContainer(),this.menus={},this.commandHooks()}}),b(function(a,b){a.fn.ready=function(a){this.readyFns||(this.readyFns=[]),this.readyFns.push(a)},a.fn.readyHeadler=function(){for(var a=this.readyFns;a.length;)a.shift().call(this)},a.fn.updateValue=function(){var a=this,b=a.$valueContainer,c=a.txt.$txt;if(b!==c){var d=c.html();b.val(d)}},a.fn.getInitValue=function(){var a=this,b=a.$valueContainer,c="",d=a.valueNodeName;return"div"===d?c=b.html():"textarea"===d&&(c=b.val()),c},a.fn.updateMenuStyle=function(){var a=this.menus;b.each(a,function(a,b){b.updateSelected()})},a.fn.enableMenusExcept=function(a){a=a||[],"string"==typeof a&&(a=[a]),b.each(this.menus,function(b,c){a.indexOf(b)>=0||c.disabled(!1)})},a.fn.disableMenusExcept=function(a){a=a||[],"string"==typeof a&&(a=[a]),b.each(this.menus,function(b,c){a.indexOf(b)>=0||c.disabled(!0)})},a.fn.hideDropPanelAndModal=function(){var a=this.menus;b.each(a,function(a,b){var c=b.dropPanel||b.dropList||b.modal;c&&c.hide&&c.hide()})}}),b(function(a,b){function c(){}var d=!a.w3cRange;a.fn.currentRange=function(a){return a?void(this._rangeData=a):this._rangeData},a.fn.collapseRange=function(a,b){b=b||"end",b="start"===b?!0:!1,a=a||this.currentRange(),a&&(a.collapse(b),this.currentRange(a))},a.fn.getRangeText=d?c:function(a){return(a=a||this.currentRange())?a.toString():void 0},a.fn.getRangeElem=d?c:function(a){a=a||this.currentRange();var b=a.commonAncestorContainer;return 1===b.nodeType?b:b.parentNode},a.fn.isRangeEmpty=d?c:function(a){return a=a||this.currentRange(),a&&a.startContainer&&a.startContainer===a.endContainer&&a.startOffset===a.endOffset?!0:!1},a.fn.saveSelection=d?c:function(a){var c,d,e=this,f=e.txt.$txt.get(0);a?c=a.commonAncestorContainer:(d=document.getSelection(),d.getRangeAt&&d.rangeCount&&(a=document.getSelection().getRangeAt(0),c=a.commonAncestorContainer)),c&&(b.contains(f,c)||f===c)&&e.currentRange(a)},a.fn.restoreSelection=d?c:function(a){var b;a=a||this.currentRange(),a&&(b=document.getSelection(),b.removeAllRanges(),b.addRange(a))},a.fn.restoreSelectionByElem=d?c:function(a,b){a&&(b=b||"end",this.setRangeByElem(a),"start"===b&&this.collapseRange(this.currentRange(),"start"),"end"===b&&this.collapseRange(this.currentRange(),"end"),this.restoreSelection())},a.fn.initSelection=d?c:function(){var a=this;if(!a.currentRange()){var b=a.txt.$txt,c=b.children().first();c.length&&a.restoreSelectionByElem(c.get(0))}},a.fn.setRangeByElem=d?c:function(a){var c=this,d=c.txt.$txt.get(0);if(a&&b.contains(d,a)){for(var e=a.firstChild;e&&3!==e.nodeType;)e=e.firstChild;for(var f=a.lastChild;f&&3!==f.nodeType;)f=f.lastChild;var g=document.createRange();e&&f?(g.setStart(e,0),g.setEnd(f,f.textContent.length)):(g.setStart(a,0),g.setEnd(a,0)),c.saveSelection(g)}}}),b(function(a,b){a.w3cRange||(a.fn.getRangeText=function(a){return(a=a||this.currentRange())?a.text:void 0},a.fn.getRangeElem=function(a){if(a=a||this.currentRange()){var b=a.parentElement();return 1===b.nodeType?b:b.parentNode}},a.fn.isRangeEmpty=function(a){return a=a||this.currentRange(),a&&a.text?!1:!0},a.fn.saveSelection=function(a){var c,d=this,e=d.txt.$txt.get(0);a?c=a.parentElement():(a=document.selection.createRange(),c="undefined"==typeof a.parentElement?null:a.parentElement()),c&&(b.contains(e,c)||e===c)&&d.currentRange(a)},a.fn.restoreSelection=function(a){var b,c=this;if(a=a||c.currentRange()){b=document.selection.createRange();try{b.setEndPoint("EndToEnd",a)}catch(d){}if(0===a.text.length)try{b.collapse(!1)}catch(d){}else b.setEndPoint("StartToStart",a);b.select()}})}),b(function(a,b){a.fn.commandHooks=function(){var a=this,c={};c.insertHtml=function(c){var d,e=b(c),f=a.getRangeElem();d=a.getLegalTags(f),d&&b(d).after(e)},a.commandHooks=c}}),b(function(a,b){a.fn.command=function(a,b,c,d){function e(){b&&(g.queryCommandSupported(b)?document.execCommand(b,!1,c):(f=g.commandHooks,b in f&&f[b](c)))}var f,g=this;this.customCommand(a,e,d)},a.fn.commandForElem=function(a,b,c,d,e){var f,g;"string"==typeof a?f=a:(f=a.selector,g=a.check);var h=this.getRangeElem();h=this.getSelfOrParentByName(h,f,g),h&&this.setRangeByElem(h),this.command(b,c,d,e)},a.fn.customCommand=function(a,b,c){function d(){e.hideDropPanelAndModal()}var e=this,f=e.currentRange();return f?(e.undoRecord(),this.restoreSelection(f),b.call(e),this.saveSelection(),this.restoreSelection(),c&&"function"==typeof c&&c.call(e),e.txt.insertEmptyP(),e.updateValue(),e.updateMenuStyle(),setTimeout(d,200),void(a&&a.preventDefault())):void(a&&a.preventDefault())},a.fn.queryCommandValue=function(a){var b="";try{b=document.queryCommandValue(a)}catch(c){}return b},a.fn.queryCommandState=function(a){var b=!1;try{b=document.queryCommandState(a)}catch(c){}return b},a.fn.queryCommandSupported=function(a){var b=!1;try{b=document.queryCommandSupported(a)}catch(c){}return b}}),b(function(a,b){function c(a){var c=this,d=b(a),e=!1;return d.each(function(){return this===c?(e=!0,!1):void 0}),e}var d;a.fn.getLegalTags=function(b){var c=this.config.legalTags;return c?this.getSelfOrParentByName(b,c):void a.error("配置项中缺少 legalTags 的配置")},a.fn.getSelfOrParentByName=function(a,e,f){if(a&&e){d||(d=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector),d||(d=c);for(var g=this.txt.$txt.get(0);a&&g!==a&&b.contains(g,a);){if(d.call(a,e)){if(!f)return a;if(f(a))return a}a=a.parentNode}}}}),b(function(a,b){function c(a,b){var c=b.val;null!=c&&(a.txt.$txt.html(c),a.updateValue())}var d=[],e=[],f=20;a.fn.undoRecord=function(){var a=this,b=a.txt.$txt,c=b.html(),g=e.length?e[0]:"";c!==g&&(d.length&&(d=[]),e.unshift({range:a.currentRange(),val:b.html()}),e.length>f&&e.pop())},a.fn.undo=function(){if(e.length){var a=e.shift();d.unshift(a),c(this,a)}},a.fn.redo=function(){if(d.length){var a=d.shift();e.unshift(a),c(this,a)}}}),b(function(a,b){a.fn.create=function(){var c=this;c.addMenus(),c.renderMenus(),c.renderMenuContainer(),c.renderTxt(),c.renderEditorContainer(),c.eventMenus(),c.eventMenuContainer(),c.eventTxt(),c.readyHeadler(),c.initSelection();var d=a._plugins;d&&d.length&&b.each(d,function(a,b){b.call(c)}),c.$txt=c.txt.$txt},a.fn.disable=function(){this.txt.$txt.removeAttr("contenteditable")},a.fn.enable=function(){this.txt.$txt.attr("contenteditable","true")}}),b(function(a,b){var c=function(a){this.editor=a,this.init()};c.fn=c.prototype,a.MenuContainer=c}),b(function(a,b){var c=a.MenuContainer;c.fn.init=function(){var a=this,c=b('<div class="wangEditor-menu-container clearfix"></div>');a.$menuContainer=c,a.changeShadow()},c.fn.changeShadow=function(){var a=this.$menuContainer,b=this.editor,c=b.txt.$txt;c.on("scroll",function(){c.scrollTop()>10?a.addClass("wangEditor-menu-shadow"):a.removeClass("wangEditor-menu-shadow")})}}),b(function(a,b){var c=a.MenuContainer;c.fn.render=function(){var a=this.$menuContainer,b=this.editor.$editorContainer;b.append(a)},c.fn.height=function(){var a=this.$menuContainer;return a.height()},c.fn.appendMenu=function(a,b){return this._addGroup(a),this._addOneMenu(b)},c.fn._addGroup=function(a){var c,d=this.$menuContainer;this.$currentGroup&&this.currentGroupIdx===a||(c=b('<div class="menu-group clearfix"></div>'),d.append(c),this.$currentGroup=c,this.currentGroupIdx=a)},c.fn._addOneMenu=function(a){var c=a.$domNormal,d=a.$domSelected,e=this.$currentGroup,f=b('<div class="menu-item clearfix"></div>');return d.hide(),f.append(c).append(d),e.append(f),f}}),b(function(a,b){var c=function(a){this.editor=a.editor,this.id=a.id,this.title=a.title,this.$domNormal=a.$domNormal,this.$domSelected=a.$domSelected||a.$domNormal,this.commandName=a.commandName,this.commandValue=a.commandValue,this.commandNameSelected=a.commandNameSelected||a.commandName,this.commandValueSelected=a.commandValueSelected||a.commandValue};c.fn=c.prototype,a.Menu=c}),b(function(a,b){var c=a.Menu;c.fn.initUI=function(){var c=this.editor,d=c.UI.menus,e=this.id,f=d[e];this.$domNormal&&this.$domSelected||(null==f&&(a.warn('editor.UI配置中,没有菜单 "'+e+'" 的UI配置,只能取默认值'),f=d["default"]),this.$domNormal=b(f.normal),/^\./.test(f.selected)?this.$domSelected=this.$domNormal.clone().addClass(f.selected.slice(1)):this.$domSelected=b(f.selected))}}),b(function(a,b){var c=a.Menu;c.fn.render=function(a){this.initUI();var b=this.editor,c=b.menuContainer,d=c.appendMenu(a,this),e=this.onRender;this._renderTip(d),e&&"function"==typeof e&&e.call(this)},c.fn._renderTip=function(a){function c(){i.show()}function d(){i.hide()}var e,f=this,g=f.editor,h=f.title,i=b('<div class="menu-tip"></div>');f.tipWidth||(e=b('<p style="opacity:0; filter:Alpha(opacity=0); position:absolute;">'+h+"</p>"),g.$editorContainer.append(e),g.ready(function(){var a=e.outerWidth()+5,b=i.outerWidth(),c=parseFloat(i.css("margin-left"),10);e.remove(),e=null,i.css({width:a,"margin-left":c+(b-a)/2}),f.tipWidth=a})),i.append(h),a.append(i);var j;a.find("a").on("mouseenter",function(a){f.active()||f.disabled()||(j=setTimeout(c,200))}).on("mouseleave",function(a){j&&clearTimeout(j),d()}).on("click",d)},c.fn.bindEvent=function(){var b=this,c=b.$domNormal,d=b.$domSelected,e=b.clickEvent;e||(e=function(c){var d=b.dropPanel||b.dropList||b.modal;if(d&&d.show)return void(d.isShowing?d.hide():d.show());var e,f,g=b.editor,h=b.selected;h?(e=b.commandNameSelected,f=b.commandValueSelected):(e=b.commandName,f=b.commandValue),e?g.command(c,e,f):(a.warn('菜单 "'+b.id+'" 未定义click事件'),c.preventDefault())});var f=b.clickEventSelected||e;c.click(function(a){b.disabled()||(e.call(b,a),b.updateSelected()),a.preventDefault()}),d.click(function(a){b.disabled()||(f.call(b,a),b.updateSelected()),a.preventDefault()})},c.fn.updateSelected=function(){var a=this,b=(a.editor,a.updateSelectedEvent);b||(b=function(){var a=this,b=a.editor,c=a.commandName,d=a.commandValue;if(d){if(b.queryCommandValue(c).toLowerCase()===d.toLowerCase())return!0}else if(b.queryCommandState(c))return!0;return!1});var c=b.call(a);c=!!c,a.changeSelectedState(c)},c.fn.changeSelectedState=function(a){var b=this,c=b.selected;if(null!=a&&"boolean"==typeof a){if(c===a)return;b.selected=a,a?(b.$domNormal.hide(),b.$domSelected.show()):(b.$domNormal.show(),b.$domSelected.hide())}},c.fn.active=function(a){return null==a?this._activeState:void(this._activeState=a)},c.fn.activeStyle=function(a){var b=(this.selected,this.$domNormal),c=this.$domSelected;a?(b.addClass("active"),c.addClass("active")):(b.removeClass("active"),c.removeClass("active")),this.active(a)},c.fn.disabled=function(a){if(null==a)return!!this._disabled;if(this._disabled!==a){var b=this.$domNormal,c=this.$domSelected;a?(b.addClass("disable"),c.addClass("disable")):(b.removeClass("disable"),c.removeClass("disable")),this._disabled=a}}}),b(function(a,b){var c=function(a,b,c){this.editor=a,this.menu=b,this.data=c.data,this.tpl=c.tpl,this.selectorForELemCommand=c.selectorForELemCommand,this.init()};c.fn=c.prototype,a.DropList=c}),b(function(a,b){var c=a.DropList;c.fn.init=function(){var a=this;a.initDOM(),a.bindEvent(),a.initHideEvent()},c.fn.initDOM=function(){var a,c,d=this,e=d.data,f=d.tpl||"<span>{#title}</span>",g=b('<div class="wangEditor-drop-list clearfix"></div>');b.each(e,function(d,e){a=f.replace(/{#commandValue}/gi,d).replace(/{#title}/gi,e),c=b('<a href="#" commandValue="'+d+'"></a>'),c.append(a),g.append(c)}),d.$list=g},c.fn.bindEvent=function(){var a=this,c=a.editor,d=a.menu,e=d.commandName,f=a.selectorForELemCommand,g=a.$list;g.on("click","a[commandValue]",function(a){var g=b(a.currentTarget).attr("commandValue");d.selected&&c.isRangeEmpty()&&f?c.commandForElem(f,a,e,g):c.command(a,e,g)})},c.fn.initHideEvent=function(){var c=this,d=c.$list.get(0);a.$body.on("click",function(a){var e,f=a.target,g=c.menu;e=g.selected?g.$domSelected.get(0):g.$domNormal.get(0),e===f||b.contains(e,f)||d===f||b.contains(d,f)||c.hide()}),a.$window.scroll(function(){c.hide()})}}),b(function(a,b){var c=a.DropList;c.fn._render=function(){var a=this,b=a.editor,c=a.$list;b.$editorContainer.append(c),a.rendered=!0},c.fn._position=function(){var a=this,b=a.$list,c=a.editor,d=a.menu,e=d.selected?d.$domSelected:d.$domNormal,f=e.offsetParent().position(),g=f.top,h=f.left,i=e.offsetParent().height(),j=e.offsetParent().width(),k=b.outerWidth(),l=c.txt.$txt.outerWidth(),m=g+i,n=h+j/2,o=0-j/2,p=n+k-l;p>-10&&(o=o-p-10),b.css({top:m,left:n,"margin-left":o})},c.fn.show=function(){var a=this,b=a.menu;if(a.rendered||a._render(),!a.isShowing){var c=a.$list;c.show(),a._position(),a.isShowing=!0,b.activeStyle(!0)}},c.fn.hide=function(){var a=this,b=a.menu;if(a.isShowing){var c=a.$list;c.hide(),a.isShowing=!1,b.activeStyle(!1)}}}),b(function(a,b){var c=function(a,b,c){this.editor=a,this.menu=b,this.$content=c.$content,this.width=c.width||200,this.height=c.height,this.init()};c.fn=c.prototype,a.DropPanel=c}),b(function(a,b){var c=a.DropPanel;c.fn.init=function(){var a=this;a.initDOM(),a.initHideEvent()},c.fn.initDOM=function(){var a=this,c=a.$content,d=a.width,e=a.height,f=b('<div class="wangEditor-drop-panel clearfix"></div>'),g=b('<div class="tip-triangle"></div>');f.css({width:d,height:e?e:"auto"}),f.append(g),f.append(c),a.$panel=f,a.$triangle=g},c.fn.initHideEvent=function(){var c=this,d=c.$panel.get(0);a.$body.on("click",function(a){var e,f=a.target,g=c.menu;e=g.selected?g.$domSelected.get(0):g.$domNormal.get(0),e===f||b.contains(e,f)||d===f||b.contains(d,f)||c.hide()}),a.$window.scroll(function(){c.hide()})}}),b(function(a,b){var c=a.DropPanel;c.fn._render=function(){var a=this,b=a.editor,c=a.$panel;b.$editorContainer.append(c),a.rendered=!0},c.fn._position=function(){var a=this,b=a.$panel,c=a.$triangle,d=a.editor,e=a.menu,f=e.selected?e.$domSelected:e.$domNormal,g=f.offsetParent().position(),h=g.top,i=g.left,j=f.offsetParent().height(),k=f.offsetParent().width(),l=b.outerWidth(),m=d.txt.$txt.outerWidth(),n=h+j,o=i+k/2,p=0-l/2,q=p;0-p>o-10&&(p=0-(o-10));var r=o+l+p-m;r>-10&&(p=p-r-10),b.css({top:n,left:o,"margin-left":p}),c.css({"margin-left":q-p-5})},c.fn.focusFirstInput=function(){var a=this,c=a.$panel;c.find("input[type=text],textarea").each(function(){var a=b(this);return null==a.attr("disabled")?(a.focus(),!1):void 0})},c.fn.show=function(){var b=this,c=b.menu;if(b.rendered||b._render(),!b.isShowing){var d=b.$panel;d.show(),b._position(),b.isShowing=!0,c.activeStyle(!0),a.w3cRange?b.focusFirstInput():a.placeholderForIE8(d)}},c.fn.hide=function(){var a=this,b=a.menu;if(a.isShowing){var c=a.$panel;c.hide(),a.isShowing=!1,b.activeStyle(!1)}}}),b(function(a,b){var c=function(){};c.fn=c.prototype,a.Modal=c}),b(function(a,b){var c=function(a){this.editor=a,this.init()};c.fn=c.prototype,a.Txt=c}),b(function(a,b){var c=a.Txt;c.fn.init=function(){var a,c=this,d=c.editor,e=d.$valueContainer,f=d.getInitValue();"DIV"===e.get(0).nodeName?(a=e,a.addClass("wangEditor-txt"),a.attr("contentEditable","true")):a=b('<div class="wangEditor-txt" contentEditable="true">'+f+"</div>"),d.ready(function(){c.insertEmptyP()}),c.$txt=a,c.contentEmptyHandle(),c.bindEnterForDiv(),c.bindTabEvent(),c.bindPasteFilter()},c.fn.contentEmptyHandle=function(){var a,c=this,d=c.editor,e=c.$txt;e.on("keyup",function(c){if(8===c.keyCode){var f=b.trim(e.html());f&&"<br>"!==f||(a=b("<p><br/></p>"),e.html(""),e.append(a),d.restoreSelectionByElem(a.get(0)))}})},c.fn.bindEnterForDiv=function(){function c(){if(d){var a=b("<p>"+d.html()+"</p>");d.after(a),d.remove()}}var d,e=(a.config.legalTags,this),f=e.editor,g=e.$txt;g.on("keydown keyup",function(a){if(13===a.keyCode){var e,g,h=f.getRangeElem(),i=f.getLegalTags(h);if(!i){if(i=f.getSelfOrParentByName(h,"div"),!i)return;e=b(i),"keydown"===a.type&&(d=e,setTimeout(c,0)),"keyup"===a.type&&(g=b("<p>"+e.html()+"</p>"),e.after(g),e.remove(),f.restoreSelectionByElem(g.get(0),"start"))}}})},c.fn.bindTabEvent=function(){var a=this,b=a.editor,c=a.$txt;c.on("keydown",function(a){9===a.keyCode&&b.queryCommandSupported("insertHtml")&&b.command(a,"insertHtml","&nbsp;&nbsp;&nbsp;&nbsp;")})},c.fn.bindPasteFilter=function(){function a(e){if(e&&e.nodeType&&e.nodeName){var f,g,h,i,j=e.nodeName.toLowerCase(),k=e.nodeType;if(3===k||1===k){if("a"===j&&e.href)return void(d=d+'<p><a href="'+e.href+'" >'+(e.textContent||e.innerHTML)+"</a></p>");if("img"===j&&e.src)return void(d=d+'<p><img src="'+e.src+'" style="max-width:100%"/></p>');if(/^h\d$/.test(j))return void(d=d+"<"+j+">"+(e.textContent||e.innerHTML)+"</"+j+">");if("table"===j||"ul"===j||"ol"===j)return f=b(c(e)),void(d+=b("<div></div>").append(f).html());if(3===k)return void(d=d+"<p>"+(e.textContent||e.innerHTML)+"</p>");if(g=e.childNodes,h=g.length)for(i=0;h>i;i++)a(g[i])}}}function c(a){var d=a.attributes||[],e=[];b.each(d,function(a,b){b&&2===b.nodeType&&e.push(b.nodeName)}),b.each(e,function(b,c){a.removeAttribute(c)});var f=a.childNodes;return f.length&&b.each(f,function(a,b){c(b)}),a}var d,e=this,f=e.editor,g=e.$txt;g.on("paste",function(c){if(f.config.pasteFilter){var e,g,h=c.clipboardData||c.originalEvent.clipboardData;if(h&&h.getData)e=h.getData("text/html"),g=b("<div>"+e+"</div>"),d="",a(g.get(0));else{if(!window.clipboardData||!window.clipboardData.getData)return;if(d=window.clipboardData.getData("text"),!d)return;d="<p>"+d+"</p>",d=d.replace((new RegExp("\n","g"),"</p><p>"))}d&&f.command(c,"insertHtml",d)}})}}),b(function(a,b){var c=a.Txt,d="propertychange change click keyup input paste";c.fn.render=function(){var a=this.$txt,b=this.editor.$editorContainer;b.append(a)},c.fn.initHeight=function(){var a=this.editor,b=a.$valueContainer.height(),c=a.menuContainer.height(),d=b-c;d=50>d?50:d,this.$txt.height(d)},c.fn.saveSelectionEvent=function(){var a=this.$txt,b=this.editor;a.on(d+" focus blur",function(a){b.saveSelection()}),a.on("mousedown",function(){a.on("mouseleave.saveSelection",function(a){b.saveSelection(),b.updateMenuStyle()})}).on("mouseup",function(){a.off("mouseleave.saveSelection")})},c.fn.updateValueEvent=function(){function a(){var a=e.html();c!==a&&(f.onchange&&"function"==typeof f.onchange&&f.onchange.call(f),f.updateValue(),c=a)}var b,c,e=this.$txt,f=this.editor;e.on(d,function(d){null==c&&(c=e.html()),b&&clearTimeout(b),b=setTimeout(a,100)})},c.fn.updateMenuStyleEvent=function(){var a=this.$txt,b=this.editor;a.on(d,function(a){b.updateMenuStyle()})},c.fn.insertEmptyP=function(){var a=this.$txt,c=a.children();return 0===c.length?void a.append(b("<p><br></p>")):void("<br>"!==c.last().html()&&a.append(b("<p><br></p>")))},c.fn.showHeightOnHover=function(){function a(a){i||(e.append(h),i=!0);var b=(g.position().top,g.outerHeight(),a.height()),c=a.position().top,d=parseInt(a.css("margin-top"),10),j=parseInt(a.css("padding-top"),10),k=parseInt(a.css("margin-bottom"),10),l=parseInt(a.css("padding-bottom"),10);c+f.height();h.css({height:b+j+d+l+k,top:c+f.height()})}function c(){i&&(h.remove(),i=!1)}var d=this.editor,e=d.$editorContainer,f=d.menuContainer,g=this.$txt,h=b('<i class="height-tip"><i>'),i=!1;g.on("mouseenter","ul,ol,blockquote,p,h1,h2,h3,h4,h5,table,pre",function(c){a(b(c.currentTarget))}).on("mouseleave",function(){c()})}}),b(function(a,b){Array.prototype.indexOf||(Array.prototype.indexOf=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},Array.prototype.lastIndexOf=function(a){var b=this.length;for(b-=1;b>=0;b--)if(this[b]===a)return b;return-1}),Date.now||(Date.now=function(){return(new Date).valueOf()});var c=window.console,d=function(){};b.each(["info","log","warn","error"],function(b,e){null==c?a[e]=d:a[e]=function(b){a.config&&a.config.printLog&&c[e]("wangEditor提示: "+b)}}),a.random=function(){return Math.random().toString().slice(2)},a.placeholder="placeholder"in document.createElement("input"),a.placeholderForIE8=function(c){a.placeholder||c.find("input[placeholder]").each(function(){var a=b(this),c=a.attr("placeholder");""===a.val()&&(a.css("color","#666"),a.val(c),a.on("focus.placeholder click.placeholder",function(){a.val(""),a.css("color","#333"),a.off("focus.placeholder click.placeholder")}))})}}),b(function(a,b){a.langs={},a.langs["zh-cn"]={bold:"粗体",underline:"下划线",italic:"斜体",forecolor:"文字颜色",bgcolor:"背景色",strikethrough:"删除线",eraser:"清空格式",source:"源码",quote:"引用",fontfamily:"字体",fontsize:"字号",head:"标题",orderlist:"有序列表",unorderlist:"无序列表",alignleft:"左对齐",aligncenter:"居中",alignright:"右对齐",link:"链接",text:"文本",submit:"提交",cancel:"取消",unlink:"取消链接",table:"表格",emotion:"表情",img:"图片",vedio:"视频",width:"宽",height:"高",location:"位置",loading:"加载中",searchlocation:"搜索位置",dynamicMap:"动态地图",clearLocation:"清除位置",langDynamicOneLocation:"动态地图只能显示一个位置",insertcode:"插入代码",undo:"撤销",redo:"重复",fullscreen:"全屏"},a.langs.en={bold:"Bold",underline:"Underline",italic:"Italic",forecolor:"Color",bgcolor:"Backcolor",strikethrough:"Strikethrough",eraser:"Eraser",source:"Codeview",quote:"Quote",fontfamily:"Font family",fontsize:"Font size",head:"Head",orderlist:"Ordered list",unorderlist:"Unordered list",alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",link:"Insert link",text:"Text",submit:"Submit",cancel:"Cancel",unlink:"Unlink",table:"Table",emotion:"Emotions",img:"Image",vedio:"Vedio",width:"width",height:"height",location:"Location",loading:"Loading",searchlocation:"search",dynamicMap:"Dynamic",clearLocation:"Clear",langDynamicOneLocation:"Only one location in dynamic map",insertcode:"Insert Code",undo:"Undo",redo:"Redo",fullscreen:"Full screnn"}}),b(function(a,b){a.config={},a.config.zindex=1e4,a.config.printLog=!0,a.config.menuFixed=0,a.config.jsFilter=!0,a.config.legalTags="p,h1,h2,h3,h4,h5,h6,blockquote,table,ul,ol,pre",a.config.lang=a.langs["zh-cn"],a.config.menus=["source","|","bold","underline","italic","strikethrough","eraser","forecolor","bgcolor","|","quote","fontfamily","fontsize","head","unorderlist","orderlist","alignleft","aligncenter","alignright","|","link","unlink","table","emotion","|","img","vedio","location","insertcode","|","undo","redo","fullscreen"],a.config.colors={"#880000":"暗红色","#800080":"紫色","#ff0000":"红色","#ff00ff":"鲜粉色","#000080":"深蓝色","#0000ff":"蓝色","#00ffff":"湖蓝色","#008080":"蓝绿色","#008000":"绿色","#808000":"橄榄色","#00ff00":"浅绿色","#ffcc00":"橙黄色","#808080":"灰色","#c0c0c0":"银色","#000000":"黑色","#ffffff":"白色"},a.config.familys=["宋体","黑体","楷体","微软雅黑","Arial","Verdana","Georgia","Times New Roman","Microsoft JhengHei","Trebuchet MS","Courier New","Impact","Comic Sans MS"],a.config.fontsizes={1:"10px",2:"13px",3:"16px",4:"19px",5:"22px",6:"25px",7:"28px"},a.config.emotions={"default":{title:"默认",size:18,imgs:["../static/emotions/default/1.gif","../static/emotions/default/2.gif","../static/emotions/default/3.gif","../static/emotions/default/4.gif","../static/emotions/default/5.gif","../static/emotions/default/6.gif","../static/emotions/default/7.gif","../static/emotions/default/8.gif","../static/emotions/default/9.gif","../static/emotions/default/10.gif","../static/emotions/default/11.gif","../static/emotions/default/12.gif","../static/emotions/default/13.gif","../static/emotions/default/14.gif","../static/emotions/default/15.gif","../static/emotions/default/16.gif","../static/emotions/default/17.gif","../static/emotions/default/18.gif","../static/emotions/default/19.gif","../static/emotions/default/20.gif","../static/emotions/default/21.gif","../static/emotions/default/22.gif","../static/emotions/default/23.gif","../static/emotions/default/24.gif","../static/emotions/default/25.gif","../static/emotions/default/26.gif","../static/emotions/default/27.gif","../static/emotions/default/28.gif","../static/emotions/default/29.gif","../static/emotions/default/30.gif","../static/emotions/default/31.gif","../static/emotions/default/32.gif","../static/emotions/default/33.gif","../static/emotions/default/34.gif","../static/emotions/default/35.gif","../static/emotions/default/36.gif","../static/emotions/default/37.gif","../static/emotions/default/38.gif","../static/emotions/default/39.gif","../static/emotions/default/40.gif","../static/emotions/default/41.gif","../static/emotions/default/42.gif","../static/emotions/default/43.gif","../static/emotions/default/44.gif","../static/emotions/default/45.gif","../static/emotions/default/46.gif","../static/emotions/default/47.gif","../static/emotions/default/48.gif","../static/emotions/default/49.gif","../static/emotions/default/50.gif"]},jinxing:{title:"金星",size:50,imgs:["../static/emotions/jinxing/1.gif","../static/emotions/jinxing/2.gif","../static/emotions/jinxing/3.gif","../static/emotions/jinxing/4.gif","../static/emotions/jinxing/5.gif","../static/emotions/jinxing/6.gif"]}},a.config.mapAk="TVhjYjq1ICT2qqL5LdS8mwas",a.config.uploadImgUrl="",a.config.uploadTimeout=2e4,a.config.pasteFilter=!0}),b(function(a,b){a.UI={},a.UI.menus={"default":{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-command"></i></a>',selected:".selected"},bold:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-bold"></i></a>',selected:".selected"},underline:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-underline"></i></a>',selected:".selected"},italic:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-italic"></i></a>',selected:".selected"},forecolor:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-pencil"></i></a>',selected:".selected"},bgcolor:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-brush"></i></a>',selected:".selected"},strikethrough:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-strikethrough"></i></a>',selected:".selected"},eraser:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-eraser"></i></a>',selected:".selected"},quote:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-quotes-left"></i></a>',selected:".selected"},source:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-code"></i></a>',selected:".selected"},fontfamily:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-font2"></i></a>',selected:".selected"},fontsize:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-text-height"></i></a>',selected:".selected"},head:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-header"></i></a>',selected:".selected"},orderlist:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-list-numbered"></i></a>',selected:".selected"},unorderlist:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-list-bullet"></i></a>',selected:".selected"},alignleft:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-align-left"></i></a>',selected:".selected"},aligncenter:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-align-center"></i></a>',selected:".selected"},alignright:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-align-right"></i></a>',selected:".selected"},link:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-link"></i></a>',selected:".selected"},unlink:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-unlink"></i></a>',selected:".selected"},table:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-table"></i></a>',selected:".selected"},emotion:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-happy"></i></a>',selected:".selected"},img:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-picture"></i></a>',selected:".selected"},vedio:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-play"></i></a>',selected:".selected"},location:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-location"></i></a>',selected:".selected"},insertcode:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-terminal"></i></a>',selected:".selected"},undo:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-ccw"></i></a>',selected:".selected"},redo:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-cw"></i></a>',selected:".selected"},fullscreen:{normal:'<a href="#" tabindex="-1"><i class="wangeditor-menu-img-enlarge2"></i></a>',selected:'<a href="#" tabindex="-1" class="selected"><i class="wangeditor-menu-img-shrink2"></i></a>'}}}),b(function(a,b){a.fn.initDefaultConfig=function(){var c=this;c.config=b.extend({},a.config),c.UI=b.extend({},a.UI)}}),b(function(a,b){a.fn.addEditorContainer=function(){this.$editorContainer=b('<div class="wangEditor-container"></div>')}}),b(function(a,b){a.fn.addTxt=function(){var b=this,c=new a.Txt(b);b.txt=c}}),b(function(a,b){a.fn.addMenuContainer=function(){var b=this;b.menuContainer=new a.MenuContainer(b)}}),b(function(a,b){a.createMenuFns=[],a.createMenu=function(b){a.createMenuFns.push(b)},a.fn.addMenus=function(){function c(a){return e.indexOf(a)>=0?!0:!1}var d=this,e=d.config.menus;b.each(a.createMenuFns,function(a,b){b.call(d,c)})}}),b(function(a,b){a.createMenu(function(b){var c="bold";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.bold,commandName:"Bold"});f.clickEventSelected=function(a){var b=d.isRangeEmpty();b?d.commandForElem("b,strong,h1,h2,h3,h4,h5",a,"Bold"):d.command(a,"Bold")},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="underline";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.underline,commandName:"Underline"});f.clickEventSelected=function(a){var b=d.isRangeEmpty();b?d.commandForElem("u,a",a,"Underline"):d.command(a,"Underline")},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="italic";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.italic,commandName:"Italic"});f.clickEventSelected=function(a){var b=d.isRangeEmpty();b?d.commandForElem("i",a,"Italic"):d.command(a,"Italic")},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(c){var d="forecolor";if(c(d)){var e=this,f=e.config.lang,g=e.config.colors,h=new a.Menu({editor:e,id:d,title:f.forecolor}),i=b("<div></div>");b.each(g,function(a,b){i.append(['<a href="#" class="color-item"',' title="'+b+'" commandValue="'+a+'" ',' style="color: '+a+'" ','><i class="wangeditor-menu-img-pencil"></i></a>'].join(""))}),i.on("click","a[commandValue]",function(a){var c=b(this),d=c.attr("commandValue");h.selected&&e.isRangeEmpty()?e.commandForElem("font[color]",a,"forecolor",d):e.command(a,"forecolor",d)}),h.dropPanel=new a.DropPanel(e,h,{$content:i,width:125}),h.updateSelectedEvent=function(){var a=e.getRangeElem();return a=e.getSelfOrParentByName(a,"font[color]"),a?!0:!1},e.menus[d]=h}})}),b(function(a,b){a.createMenu(function(c){function d(a){var b;return a&&a.style&&null!=a.style.cssText&&(b=a.style.cssText,b&&b.indexOf("background-color:")>=0)?!0:!1}var e="bgcolor";if(c(e)){var f=this,g=f.config.lang,h=f.config.colors,i=new a.Menu({editor:f,id:e,title:g.bgcolor}),j=b("<div></div>");b.each(h,function(a,b){j.append(['<a href="#" class="color-item"',' title="'+b+'" commandValue="'+a+'" ',' style="color: '+a+'" ','><i class="wangeditor-menu-img-brush"></i></a>'].join(""))}),j.on("click","a[commandValue]",function(a){var c=b(this),e=c.attr("commandValue");
i.selected&&f.isRangeEmpty()?f.commandForElem({selector:"span,font",check:d},a,"BackColor",e):f.command(a,"BackColor",e)}),i.dropPanel=new a.DropPanel(f,i,{$content:j,width:125}),i.updateSelectedEvent=function(){var a=f.getRangeElem();return a=f.getSelfOrParentByName(a,"span,font",d),a?!0:!1},f.menus[e]=i}})}),b(function(a,b){a.createMenu(function(b){var c="strikethrough";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.strikethrough,commandName:"StrikeThrough"});f.clickEventSelected=function(a){var b=d.isRangeEmpty();b?d.commandForElem("strike",a,"StrikeThrough"):d.command(a,"StrikeThrough")},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(c){var d="eraser";if(c(d)){var e=this,f=e.config.lang,g=new a.Menu({editor:e,id:d,title:f.eraser,commandName:"RemoveFormat"});g.clickEvent=function(a){function c(){var a,c,d,e,f,h,i,j=this;a=j.getRangeElem(),e=j.getSelfOrParentByName(a,"blockquote"),e&&(f=b(e),g=b("<p>"+f.text()+"</p>"),f.after(g).remove()),c=j.getSelfOrParentByName(a,"p,h1,h2,h3,h4,h5"),c&&(d=b(c),g=b("<p>"+d.text()+"</p>"),d.after(g).remove()),h=j.getSelfOrParentByName(a,"ul,ol"),h&&(i=b(h),g=b("<p>"+i.text()+"</p>"),i.after(g).remove())}function d(){var a=this;g&&a.restoreSelectionByElem(g.get(0))}var f=e.isRangeEmpty();if(!f)return void e.command(a,"RemoveFormat");var g;e.customCommand(a,c,d)},e.menus[d]=g}})}),b(function(a,b){a.createMenu(function(c){var d="source";if(c(d)){var e=this,f=e.config.lang,g=new a.Menu({editor:e,id:d,title:f.source});g.isShowCode=!1,g.clickEvent=function(a){var c=this,d=c.editor,e=d.txt.$txt,f=e.outerHeight(),h=e.height();c.$codeTextarea||(c.$codeTextarea=b('<textarea class="code-textarea"></textarea>'));var i=c.$codeTextarea;i.css({height:h,"margin-top":f-h}),i.val(e.html()),e.after(i).hide(),i.show(),g.isShowCode=!0,this.updateSelected(),d.disableMenusExcept("source")},g.clickEventSelected=function(a){var b,c=this,d=c.editor,e=d.txt.$txt,f=c.$codeTextarea;f&&(b=f.val(),d.config.jsFilter&&(b=b.replace(/<script[\s\S]*?<\/script>/gi,"")),e.html(b),f.after(e).hide(),e.show(),g.isShowCode=!1,this.updateSelected(),d.enableMenusExcept("source"))},g.updateSelectedEvent=function(){return this.isShowCode},e.menus[d]=g}})}),b(function(a,b){a.createMenu(function(c){var d="quote";if(c(d)){var e=this,f=e.config.lang,g=new a.Menu({editor:e,id:d,title:f.quote,commandName:"formatBlock",commandValue:"blockquote"});g.clickEvent=function(a){function c(){h=b("<p>"+f.text()+"</p>"),f.after(h).remove(),h.wrap("<blockquote>")}function d(){var a=this;h&&a.restoreSelectionByElem(h.get(0))}var f,g=e.getRangeElem();if(!g)return void a.preventDefault();var h,i=e.getSelfOrParentByName(g,"blockquote");return i?void a.preventDefault():(g=e.getLegalTags(g),f=b(g),f.text()?g?void e.customCommand(a,c,d):void e.command(a,"formatBlock","blockquote"):void 0)},g.clickEventSelected=function(a){function c(){var a,c;return a=b(g),c=a.children(),c.length?(c.each(function(c){var d=b(this);"P"===d.get(0).nodeName?a.after(d):a.after("<p>"+d.text()+"</p>"),h=d}),void a.remove()):void 0}function d(){var a=this;h&&a.restoreSelectionByElem(h.get(0))}var f,g,h;return f=e.getRangeElem(),(g=e.getSelfOrParentByName(f,"blockquote"))?void e.customCommand(a,c,d):void a.preventDefault()},g.updateSelectedEvent=function(){var a,b=this,c=b.editor;return a=c.getRangeElem(),a=c.getSelfOrParentByName(a,"blockquote"),a?!0:!1},e.menus[d]=g,e.ready(function(){var a=this,c=a.txt.$txt,d=!1;c.on("keydown",function(c){if(13!==c.keyCode)return void(d=!1);var e=a.getRangeElem();if(e=a.getSelfOrParentByName(e,"blockquote"),!e)return void(d=!1);if(!d)return void(d=!0);var f=a.getRangeElem(),g=b(f);g.length&&g.parent().after(g),a.restoreSelectionByElem(f,"start"),d=!1,c.preventDefault()})}),e.ready(function(){function a(){d&&d.remove()}function c(){if(d){var a=d.prev();a.length?e.restoreSelectionByElem(a.get(0)):e.initSelection()}}var d,e=this,f=e.txt.$txt;f.on("keydown",function(f){if(8===f.keyCode){var g=e.getRangeElem();if(g=e.getSelfOrParentByName(g,"blockquote")){d=b(g);var h=d.text();h||e.customCommand(f,a,c)}}})})}})}),b(function(a,b){a.createMenu(function(c){var d="fontfamily";if(c(d)){var e=this,f=e.config.lang,g=e.config.familys,h=new a.Menu({editor:e,id:d,title:f.fontfamily,commandName:"fontName"}),i={};b.each(g,function(a,b){i[b]=b});var j='<span style="font-family:{#commandValue};">{#title}</span>';h.dropList=new a.DropList(e,h,{data:i,tpl:j,selectorForELemCommand:"font[face]"}),h.updateSelectedEvent=function(){var a=e.getRangeElem();return a=e.getSelfOrParentByName(a,"font[face]"),a?!0:!1},e.menus[d]=h}})}),b(function(a,b){a.createMenu(function(b){var c="fontsize";if(b(c)){var d=this,e=d.config.lang,f=d.config.fontsizes,g=new a.Menu({editor:d,id:c,title:e.fontsize,commandName:"fontSize"}),h=f,i='<span style="font-size:{#title};">{#title}</span>';g.dropList=new a.DropList(d,g,{data:h,tpl:i,selectorForELemCommand:"font[size]"}),g.updateSelectedEvent=function(){var a=d.getRangeElem();return a=d.getSelfOrParentByName(a,"font[size]"),a?!0:!1},d.menus[c]=g}})}),b(function(a,b){a.createMenu(function(b){var c="head";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.head,commandName:"formatBlock"}),g={"<h1>":"标题1","<h2>":"标题2","<h3>":"标题3","<h4>":"标题4","<h5>":"标题5"},h="{#commandValue}{#title}";f.dropList=new a.DropList(d,f,{data:g,tpl:h}),f.updateSelectedEvent=function(){var a=d.getRangeElem();return a=d.getSelfOrParentByName(a,"h1,h2,h3,h4,h5"),a?!0:!1},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="unorderlist";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.unorderlist,commandName:"InsertUnorderedList"});d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="orderlist";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.orderlist,commandName:"InsertOrderedList"});d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="alignleft";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.alignleft,commandName:"JustifyLeft"});f.updateSelectedEvent=function(){var a=d.getRangeElem();return a=d.getSelfOrParentByName(a,"p,h1,h2,h3,h4,h5,li",function(a){var b;return a&&a.style&&null!=a.style.cssText&&(b=a.style.cssText,b&&/text-align:\s*left;/.test(b))?!0:!1}),a?!0:!1},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="aligncenter";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.aligncenter,commandName:"JustifyCenter"});f.updateSelectedEvent=function(){var a=d.getRangeElem();return a=d.getSelfOrParentByName(a,"p,h1,h2,h3,h4,h5,li",function(a){var b;return a&&a.style&&null!=a.style.cssText&&(b=a.style.cssText,b&&/text-align:\s*center;/.test(b))?!0:!1}),a?!0:!1},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="alignright";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.alignright,commandName:"JustifyRight"});f.updateSelectedEvent=function(){var a=d.getRangeElem();return a=d.getSelfOrParentByName(a,"p,h1,h2,h3,h4,h5,li",function(a){var b;return a&&a.style&&null!=a.style.cssText&&(b=a.style.cssText,b&&/text-align:\s*right;/.test(b))?!0:!1}),a?!0:!1},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(c){var d="link";if(c(d)){var e=this,f=e.config.lang,g=new a.Menu({editor:e,id:d,title:f.link}),h=b("<div></div>"),i=b('<div style="margin:20px 10px;" class="clearfix"></div>'),j=i.clone(),k=i.clone().css("margin","0 10px"),l=b('<input type="text" class="block" placeholder="'+f.text+'"/>'),m=b('<input type="text" class="block" placeholder="'+f.link+'"/>'),n=b('<button class="right">'+f.submit+"</button>"),o=b('<button class="right gray">'+f.cancel+"</button>");i.append(l),j.append(m),k.append(n).append(o),h.append(i).append(j).append(k),g.dropPanel=new a.DropPanel(e,g,{$content:h,width:300}),g.clickEvent=function(a){var b=this,c=b.dropPanel;if(c.isShowing)return void c.hide();l.val(""),m.val("");var d="",f=e.getRangeElem();f=e.getSelfOrParentByName(f,"a"),f&&(d=f.href||"");var g="",h=e.isRangeEmpty();h?f&&(g=f.textContent||f.innerHTML):g=e.getRangeText()||"",d&&m.val(d),g&&l.val(g),h?l.removeAttr("disabled"):l.attr("disabled",!0),c.show()},g.updateSelectedEvent=function(){var a=e.getRangeElem();return a=e.getSelfOrParentByName(a,"a"),a?!0:!1},o.click(function(a){a.preventDefault(),g.dropPanel.hide()}),n.click(function(c){c.preventDefault();var d,f,h,i,j,k,n=e.getRangeElem(),o=e.getSelfOrParentByName(n,"a"),p=e.isRangeEmpty(),q=e.txt.$txt,r="link"+a.random(),s=b.trim(m.val()),t=b.trim(l.val());return s?(t||(t=s),void(p?o?(d=b(o),h=function(){d.attr("href",s),d.text(t)},i=function(){var a=this;a.restoreSelectionByElem(o)},e.customCommand(c,h,i)):(f='<a href="'+s+'" target="_blank">'+t+"</a>",a.userAgent.indexOf("Firefox")>0&&(f+="<span>&nbsp;</span>"),e.command(c,"insertHtml",f)):(j=q.find("a"),j.attr(r,"1"),e.command(c,"createLink",s),k=q.find("a").not("["+r+"]"),k.attr("target","_blank"),j.removeAttr(r)))):void g.dropPanel.focusFirstInput()}),e.menus[d]=g}})}),b(function(a,b){a.createMenu(function(c){var d="unlink";if(c(d)){var e=this,f=e.config.lang,g=new a.Menu({editor:e,id:d,title:f.unlink,commandName:"unLink"});g.clickEvent=function(a){function c(){i.after(j).remove()}function d(){e.restoreSelectionByElem(j.get(0))}var f=e.isRangeEmpty();if(!f)return void e.command(a,"unLink");var g=e.getRangeElem(),h=e.getSelfOrParentByName(g,"a");if(!h)return void a.preventDefault();var i=b(h),j=b("<span>"+i.text()+"</span>");e.customCommand(a,c,d)},e.menus[d]=g}})}),b(function(a,b){a.createMenu(function(c){var d="table";if(c(d)){var e,f,g,h=this,i=h.config.lang,j=new a.Menu({editor:h,id:d,title:i.table}),k=b('<div style="font-size: 14px; color: #666; text-align:right;"></div>'),l=b('<table class="choose-table" style="margin-bottom:10px;margin-top:5px;">'),m=b("<span>0</span>"),n=b("<span> 行 </span>"),o=b("<span>0</span>"),p=b("<span> 列</span>");for(f=0;10>f;f++){for(e=b('<tr index="'+(f+1)+'">'),g=0;10>g;g++)e.append(b('<td index="'+(g+1)+'">'));l.append(e)}k.append(l),k.append(m).append(n).append(o).append(p),l.on("mouseenter","td",function(a){var c=b(a.currentTarget),d=c.attr("index"),e=c.parent(),f=e.attr("index");m.text(f),o.text(d),l.find("tr").each(function(){var a=b(this),c=a.attr("index");parseInt(c,10)<=parseInt(f,10)?a.find("td").each(function(){var a=b(this),c=a.attr("index");parseInt(c,10)<=parseInt(d,10)?a.addClass("active"):a.removeClass("active")}):a.find("td").removeClass("active")})}).on("mouseleave",function(a){l.find("td").removeClass("active")}),l.on("click","td",function(a){var c,d,e=b(a.currentTarget),f=e.attr("index"),g=e.parent(),i=g.attr("index"),j=parseInt(i,10),k=parseInt(f,10),l="\n<table>";for(c=0;j>c;c++){for(l+="\n <tr>",d=0;k>d;d++)l+="\n <td><span>&nbsp;</span></td>";l+="\n </tr>"}l+="\n</table>\n",h.command(a,"insertHtml",l)}),j.dropPanel=new a.DropPanel(h,j,{$content:k,width:181}),h.menus[d]=j}})}),b(function(a,b){a.createMenu(function(c){var d="emotion";if(c(d)){var e=this,f=e.config.lang,g=e.config.emotions,h=new a.Menu({editor:e,id:d,title:f.emotion}),i=b('<div class="panel-tab"></div>'),j=b('<div class="tab-container"></div>'),k=b('<div class="content-container"></div>');b.each(g,function(a,c){var d=c.title,e=c.size,f=c.imgs,g=b('<a href="#">'+d+" </a>");j.append(g);var h=b('<div class="content"></div>');k.append(h),b.each(f,function(a,c){var d=b('<a href="#" commandValue="'+c+'"></a>'),f=b("<img>");f.css({width:e+"px",height:e+"px"}),f.attr("_src",c),d.append(f),h.append(d)}),g.click(function(a){j.children().removeClass("selected"),k.children().removeClass("selected"),h.addClass("selected"),g.addClass("selected"),a.preventDefault()})}),i.append(j).append(k),j.children().first().addClass("selected"),k.children().first().addClass("selected"),k.on("click","a[commandValue]",function(a){var c=b(a.currentTarget),d=c.attr("commandValue");e.command(a,"InsertImage",d)}),h.dropPanel=new a.DropPanel(e,h,{$content:i,width:350}),h.clickEvent=function(c){var d=this,e=d.dropPanel;return e.isShowing?void e.hide():(e.show(),void(d.imgLoaded||(k.find("img").each(function(){var c=b(this),d=c.attr("_src");c.on("error",function(){a.error("加载不出表情图片 "+d)}),c.attr("src",d),c.removeAttr("_src")}),d.imgLoaded=!0)))},e.menus[d]=h}})}),b(function(a,b){function c(a,c,d){function e(){h.val("")}var f=a.config.lang,g=b('<div style="margin:20px 10px 10px 10px;"></div>'),h=b('<input type="text" class="block" placeholder="http://"/>');g.append(h);var i=b('<button class="right">'+f.submit+"</button>"),j=b('<button class="right gray">'+f.cancel+"</button>");d.append(g).append(i).append(j),j.click(function(a){a.preventDefault(),c.dropPanel.hide()}),i.click(function(c){c.preventDefault();var d=b.trim(h.val());if(!d)return void h.focus();var f='<img style="max-width:100%;" src="'+d+'"/>';a.command(c,"insertHtml",f,e)})}a.createMenu(function(d){function e(){n.click(function(a){l.children().removeClass("selected"),m.children().removeClass("selected"),p.addClass("selected"),n.addClass("selected"),a.preventDefault()}),o.click(function(b){l.children().removeClass("selected"),m.children().removeClass("selected"),q.addClass("selected"),o.addClass("selected"),b.preventDefault(),a.placeholder&&q.find("input[type=text]").focus()}),n.click()}function f(){l.remove(),p.remove(),q.addClass("selected")}var g="img";if(d(g)){var h=this,i=h.config.lang,j=new a.Menu({editor:h,id:g,title:i.img}),k=b('<div class="panel-tab"></div>'),l=b('<div class="tab-container"></div>'),m=b('<div class="content-container"></div>');k.append(l).append(m);var n=b('<a href="#">上传图片</a>'),o=b('<a href="#">网络图片</a>');l.append(n).append(o);var p=b('<div class="content"></div>');m.append(p);var q=b('<div class="content"></div>');m.append(q),c(h,j,q),j.dropPanel=new a.DropPanel(h,j,{$content:k,width:400}),h.menus[g]=j,h.ready(function(){var b=this,c=b.config,d=c.uploadImgUrl;return a.userAgent.indexOf("MSIE 8")>0?void f():void(d?(b.$uploadContent=p,e()):f())})}})}),b(function(a,b){a.createMenu(function(c){var d="vedio";if(c(d)){var e=this,f=e.config.lang,g=/^\s*(http:\/\/|https:\/\/).+(\.swf|\.ogg|\.mp4|\.webm)/i,h=new a.Menu({editor:e,id:d,title:f.vedio,commandName:"unLink"}),i=['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ',' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" ',' width="#{width}" ',' height="#{height}" >',' <param name="movie" ',' value="#{vedioUrl}" />',' <param name="allowFullScreen" value="true" />',' <param name="allowScriptAccess" value="always" />',' <param value="transparent" name="wmode" />',' <embed src="#{vedioUrl}"',' width="#{width}" ',' height="#{height}" ',' name="cc_8E6888CDEA7087C49C33DC5901307461" ',' allowFullScreen="true" ',' wmode="transparent" ',' allowScriptAccess="always" ',' pluginspage="http://www.macromedia.com/go/getflashplayer" ',' type="application/x-shockwave-flash"/>',"</object>","<p><br></p>"].join(""),j=['<video src="#{vedioUrl}" controls="controls" width="#{width}" height="#{height}">',"</video>","<p><br></p>"].join(""),k=b("<div></div>"),l=b('<div style="margin:20px 10px;"></div>'),m=b('<input type="text" class="block" placeholder="*.swf, *.mp4, *.ogg, *.webm"/>');l.append(m);var n=b('<div style="margin:20px 10px;"></div>'),o=b('<input type="text" value="480" style="width:50px;text-align:center;"/>'),p=b('<input type="text" value="360" style="width:50px;text-align:center;"/>');n.append("<span> "+f.width+" </span>").append(o).append("<span> px &nbsp;&nbsp;&nbsp;</span>").append("<span> "+f.height+" </span>").append(p).append("<span> px </span>");var q=b("<div></div>"),r=b('<button class="right">'+f.submit+"</button>"),s=b('<button class="right gray">'+f.cancel+"</button>");q.append(r).append(s),k.append(l).append(n).append(q),s.click(function(a){a.preventDefault(),m.val(""),h.dropPanel.hide()}),r.click(function(a){a.preventDefault();var c,d=b.trim(m.val()),f=parseInt(o.val()),k=parseInt(p.val());return d?g.test(d)?isNaN(f)||isNaN(k)?void alert("宽度或高度不是数字!"):(c=/.swf/i.test(d)?i.replace(/#{vedioUrl}/gi,d).replace(/#{width}/gi,f).replace(/#{height}/gi,k):j.replace(/#{vedioUrl}/gi,d).replace(/#{width}/gi,f).replace(/#{height}/gi,k),e.command(a,"insertHtml",c),void m.val("")):(alert("视频链接格式错误!"),void h.dropPanel.focusFirstInput()):void h.dropPanel.focusFirstInput()}),h.dropPanel=new a.DropPanel(e,h,{$content:k,width:400}),e.menus[d]=h}})}),b(function(a,b){var c=function(a){return"onkeyup"in a}(document.createElement("input"));a.baiduMapAk="TVhjYjq1ICT2qqL5LdS8mwas";var d=1;a.createMenu(function(e){function f(){q.val("")}var g="location";if(e(g)){if(d++>1)return void a.error("目前不支持在一个页面多个编辑器上同时使用地图,可通过自定义菜单配置去掉地图菜单");var h=this,i=h.config,j=i.lang,k=i.mapAk;h.mapData={};var l=h.mapData;l.markers=[],l.mapContainerId="map"+a.random(),l.clearLocations=function(){var a=l.map;a&&(a.clearOverlays(),l.markers=[])},l.searchMap=function(){var a=l.map;if(a){var b,c,d=window.BMap,e=p.val(),f=q.val();""!==e&&(f&&""!==f||a.centerAndZoom(e,11),f&&""!==f&&(b=new d.Geocoder,b.getPoint(f,function(b){b?(a.centerAndZoom(b,13),c=new d.Marker(b),a.addOverlay(c),c.enableDragging(),l.markers.push(c)):a.centerAndZoom(e,11)},e)))}},window.baiduMapCallBack=function(){function b(b){var d=b.name;e.setCenter(d),p.val(d),a.placeholder&&q.focus();var f,g;c?(g=function(a){"keyup"===a.type&&13===a.keyCode&&a.preventDefault(),f&&clearTimeout(f),f=setTimeout(l.searchMap,500)},p.on("keyup change paste",g),q.on("keyup change paste",g)):(g=function(){if(!n.is(":visible"))return void clearTimeout(f);var a="",b="",c=p.val(),d=q.val();(c!==a||d!==b)&&(l.searchMap(),a=c,b=d),f&&clearTimeout(f),f=setTimeout(g,1e3)},f=setTimeout(g,1e3))}var d=window.BMap;l.map||(l.map=new d.Map(l.mapContainerId));var e=l.map;e.centerAndZoom(new d.Point(116.404,39.915),11),e.addControl(new d.MapTypeControl),e.setCurrentCity("北京"),e.enableScrollWheelZoom(!0);var f=new d.LocalCity;f.get(b),e.addEventListener("click",function(a){var b=new d.Marker(new d.Point(a.point.lng,a.point.lat));e.addOverlay(b),b.enableDragging(),l.markers.push(b)})},l.loadMapScript=function(){var b=document.createElement("script");b.type="text/javascript",b.src="http://api.map.baidu.com/api?v=2.0&ak="+k+"&callback=baiduMapCallBack";try{document.body.appendChild(b)}catch(c){a.error("加载地图过程中发生错误")}},l.initMap=function(){window.BMap?window.baiduMapCallBack():l.loadMapScript()};var m=new a.Menu({editor:h,id:g,title:j.location});h.menus[g]=m;var n=b("<div></div>"),o=b('<div style="margin:10px 0;"></div>'),p=b('<input type="text"/>');p.css({width:"80px","text-align":"center"});var q=b('<input type="text"/>');q.css({width:"300px","margin-left":"10px"}).attr("placeholder",j.searchlocation);var r=b('<button class="right link">'+j.clearLocation+"</button>");o.append(r).append(p).append(q),n.append(o),r.click(function(a){q.val(""),q.focus(),l.clearLocations(),a.preventDefault()});var s=b('<div id="'+l.mapContainerId+'"></div>');s.css({height:"260px",width:"100%",position:"relative","margin-top":"10px",border:"1px solid #f1f1f1"});var t=b("<span>"+j.loading+"</span>");t.css({position:"absolute",width:"100px","text-align":"center",top:"45%",left:"50%","margin-left":"-50px"}),s.append(t),n.append(s);var u=b('<div style="margin:10px 0;"></div>'),v=b('<button class="right">'+j.submit+"</button>"),w=b('<button class="right gray">'+j.cancel+"</button>"),x=b('<label style="display:inline-block;margin-top:10px;color:#666;"></label>'),y=b('<input type="checkbox">');x.append(y).append('<span style="display:inline-block;margin-left:5px;"> '+j.dynamicMap+"</span>"),u.append(x).append(v).append(w),n.append(u),w.click(function(a){a.preventDefault(),f(),m.dropPanel.hide()}),v.click(function(a){a.preventDefault();var c,d,e,g=l.map,i=y.is(":checked"),k=l.markers,m=g.getCenter(),n=m.lng,o=m.lat,p=g.getZoom(),q=g.getSize(),r=q.width,s=q.height;if(d=i?"http://ueditor.baidu.com/ueditor/dialogs/map/show.html#":"http://api.map.baidu.com/staticimage?",d=d+"center="+n+","+o+"&zoom="+p+"&width="+r+"&height="+s,k.length>0&&(d+="&markers=",b.each(k,function(a,b){c=b.getPosition(),a>0&&(d+="|"),d=d+c.lng+","+c.lat})),i){if(k.length>1)return void alert(j.langDynamicOneLocation);d+="&markerStyles=l,A",e='<iframe class="ueditor_baidumap" src="{src}" frameborder="0" width="'+r+'" height="'+s+'"></iframe>',e=e.replace("{src}",d),h.command(a,"insertHtml",e,f)}else h.command(a,"insertHtml",'<img style="max-width:100%;" src="'+d+'"/>',f)}),m.dropPanel=new a.DropPanel(h,m,{$content:n,width:500}),m.onRender=function(){k===a.baiduMapAk&&a.warn("建议在配置中自定义百度地图的mapAk,否则可能影响地图功能,文档:"+a.docsite)},m.clickEvent=function(a){var b=this,c=b.dropPanel,d=!1;return c.isShowing?void c.hide():(l.map||(d=!0),l.initMap(),c.show(),void(d||q.focus()))}}})}),b(function(a,b){function c(){if(!(a.userAgent.indexOf("MSIE 8")>0)){var b=document.createElement("script");b.type="text/javascript",b.src="http://apps.bdimg.com/libs/highlight.js/9.1.0/highlight.min.js",document.body.appendChild(b)}}a.createMenu(function(d){function e(a){var c=b("<div></div>");c.css({margin:"15px 5px 5px 5px",height:"160px","text-align":"center"}),m.css({width:"100%",height:"100%",padding:"10px"}),m.on("keydown",function(a){9===a.keyCode&&a.preventDefault()}),c.append(m),a.append(c);var d=b("<div></div>"),e=b('<button class="right">'+i.submit+"</button>"),f=b('<button class="right gray">'+i.cancel+"</button>");d.append(e).append(f).append(n),a.append(d),f.click(function(a){a.preventDefault(),k.dropPanel.hide()});var g='<pre style="max-width:100%;overflow-x:auto;"><code{#langClass}>{#content}</code></pre>';e.click(function(a){function c(){var a;f&&(a=o.attr("class"),a!==f+" hljs"&&o.attr("class",f+" hljs")),o.html(e)}function d(){h.restoreSelectionByElem(q),j()}a.preventDefault();var e=m.val();if(!e)return void m.focus();var f=n?n.val():"",i="",j=function(){b("pre code").each(function(a,b){window.hljs&&window.hljs.highlightBlock(b)})};if(f&&(i=' class="'+f+' hljs"'),e=e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;"),!k.selected){var l=g.replace("{#langClass}",i).replace("{#content}",e);return void h.command(a,"insertHtml",l,j)}var o,p=h.getRangeElem(),q=h.getSelfOrParentByName(p,"pre");q&&(q=h.getSelfOrParentByName(p,"code")),q&&(o=b(q),h.customCommand(a,c,d))})}function f(){var a=h.getRangeElem(),b=h.getSelfOrParentByName(a,"code");b?h.disableMenusExcept("insertcode"):h.enableMenusExcept("insertcode")}var g="insertcode";if(d(g)){setTimeout(c,0);var h=this,i=h.config.lang,j=h.txt.$txt,k=new a.Menu({editor:h,id:g,title:i.insertcode});k.clickEvent=function(a){var c=this,d=c.dropPanel;if(d.isShowing)return void d.hide();m.val(""),d.show();var e=window.hljs;e&&e.listLanguages?(n.css({"margin-top":"9px","margin-left":"5px"}),b.each(e.listLanguages(),function(a,b){n.append('<option value="'+b+'">'+b+"</option>")})):n.hide()},k.clickEventSelected=function(a){var c=this,d=c.dropPanel;if(d.isShowing)return void d.hide();d.show();var e,f,g=h.getRangeElem(),i=h.getSelfOrParentByName(g,"pre");i&&(i=h.getSelfOrParentByName(g,"code")),i&&(e=b(i),m.val(e.text()),n&&(f=e.attr("class"),f&&n.val(f.split(" ")[0])))},k.updateSelectedEvent=function(){var a,b=this,c=b.editor;return a=c.getRangeElem(),a=c.getSelfOrParentByName(a,"pre"),a?!0:!1};var l=b("<div></div>"),m=b("<textarea></textarea>"),n=b("<select></select>");e(l),k.dropPanel=new a.DropPanel(h,k,{$content:l,width:500}),h.menus[g]=k,j.on("keydown",function(a){if(13===a.keyCode){var b=h.getRangeElem(),c=h.getSelfOrParentByName(b,"code");c&&h.command(a,"insertHtml","\n")}}),j.on("keydown click",function(a){setTimeout(f)})}})}),b(function(a,b){a.createMenu(function(b){var c="undo";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.undo});f.clickEvent=function(a){d.undo()},d.menus[c]=f,d.ready(function(){var a=this,b=a.txt.$txt;b.on("keydown",function(b){13===b.keyCode&&a.undoRecord()}),a.undoRecord()})}})}),b(function(a,b){a.createMenu(function(b){var c="redo";if(b(c)){var d=this,e=d.config.lang,f=new a.Menu({editor:d,id:c,title:e.redo});f.clickEvent=function(a){d.redo()},d.menus[c]=f}})}),b(function(a,b){a.createMenu(function(b){var c="fullscreen";if(b(c)){var d,e,f=this,g=f.config,h=g.zindex||1e4,i=g.lang,j=!1,k=new a.Menu({editor:f,id:c,title:i.fullscreen});k.clickEvent=function(b){var c=f.$editorContainer;c.addClass("wangEditor-fullscreen"),e=c.css("z-index"),c.css("z-index",h);var g=f.txt.$txt;d=g.height();var i=f.menuContainer;g.height(a.$window.height()-i.height()),f.menuContainer.$menuContainer.attr("style",""),j=!0,f.isFullScreen=!0},k.clickEventSelected=function(a){var b=f.$editorContainer;b.removeClass("wangEditor-fullscreen"),b.css("z-index",e);var c=f.txt.$txt;d&&c.height(d),j=!1,f.isFullScreen=!1},k.updateSelectedEvent=function(a){return j},f.menus[c]=k}})}),b(function(a,b){a.fn.renderMenus=function(){var a,c=this,d=c.menus,e=c.config.menus,f=(c.menuContainer,0);b.each(e,function(b,c){return"|"===c?void f++:(a=d[c],void(a&&a.render(f)))})}}),b(function(a,b){a.fn.renderMenuContainer=function(){var a=this,b=a.menuContainer;a.$editorContainer;b.render()}}),b(function(a,b){a.fn.renderTxt=function(){var a=this,b=a.txt;b.render(),a.ready(function(){b.initHeight()})}}),b(function(a,b){a.fn.renderEditorContainer=function(){var a,b,c=this,d=c.$valueContainer,e=c.$editorContainer,f=c.txt.$txt;d===f?(a=c.$prev,b=c.$parent,a&&a.length?a.after(e):b.prepend(e)):(d.after(e),d.hide())}}),b(function(a,b){a.fn.eventMenus=function(){var a=this.menus;b.each(a,function(a,b){b.bindEvent()})}}),b(function(a,b){a.fn.eventMenuContainer=function(){}}),b(function(a,b){a.fn.eventTxt=function(){var a=this.txt;a.saveSelectionEvent(),a.updateValueEvent(),a.updateMenuStyleEvent()}}),function(a,b,c){a.FileReader&&a.FormData&&b.plugin(function(){function c(b,c){var d,e=a.atob(b.split(",")[1]),f=new ArrayBuffer(e.length),g=new Uint8Array(f);for(d=0;d<e.length;d++)g[d]=e.charCodeAt(d);return new Blob([f],{type:c})}function d(a,c){var d=document.createElement("img");d.onload=function(){var e='<img src="'+a+'" style="max-width:100%;"/>';f.command(c,"insertHtml",e),b.log("已插入图片,地址 "+a),d=null},d.onerror=function(){b.error("使用返回的结果获取图片,发生错误。请确认以下结果是否正确:"+a),d=null},d.src=a}function e(a){if(a.lengthComputable){var b=a.loaded/a.total;f.showUploadProgress(b)}}var f=this,g=f.config,h=g.uploadImgUrl,i=g.uploadTimeout;h&&(f.xhrUploadImg=function(a){function g(){s&&clearTimeout(s),t&&t.abort&&t.abort(),j.preventDefault(),p&&p.call(f),b.log("上传超时,超时时间 "+i),alert("图片上传超时"),f.hideUploadProgress()}var j=a.event,k=a.base64,l=a.fileType||"image/png",m=a.name||"wangEditor_upload_file",n=a.successFn,o=a.errorFn,p=a.timeoutFn,q=a.failedFn,r="png";if(l.indexOf("/")>0&&l.split("/")[1]&&(r=l.split("/")[1]),b.isOnWebsite)return b.log("预览模拟上传"),void d(k,j);var s,t=new XMLHttpRequest,u=new FormData;t.onload=function(){s&&clearTimeout(s);var a=t.responseText;b.log("上传完成,返回结果为 "+a),0===a.indexOf("error|")?(b.warn("上传失败:"+a.split("|")[1]),q&&q.call(f),alert(a.split("|")[1])):(b.log("上传成功,即将插入编辑区域,结果为:"+a),d(a,j),n&&n.call(f)),f.hideUploadProgress()},t.onerror=function(){s&&clearTimeout(s),j.preventDefault(),b.error("发生错误"),alert("发生错误"),o&&o.call(f),f.hideUploadProgress()},t.upload.onprogress=e,u.append(m,c(k,l),b.random()+"."+r),t.open("POST",h,!0),t.send(u),s=setTimeout(g,i),b.log("开始上传...并开始超时计算")})})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){function a(){h.hide(),i=null}var b=this,d=b.menuContainer,e=d.height(),f=b.$editorContainer,g=f.width(),h=c('<div class="wangEditor-upload-progress"></div>');h.css({top:e+"px"}),f.append(h),b.showUploadProgress=function(a){i&&clearTimeout(i),h.show(),h.width(a*g)};var i;b.hideUploadProgress=function(b){i&&clearTimeout(i),b=b||750,i=setTimeout(a,b)}})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){var a,d=this,e=d.config,f=e.uploadImgUrl,g=e.uploadTimeout;if(f){var h=d.$uploadContent;if(h){var i=c('<div class="upload-icon-container"><i class="wangeditor-menu-img-upload"></i></div>');h.append(i);var j=new b.UploadFile({editor:d,uploadUrl:f,timeout:g,fileAccept:"image/*"});i.click(function(b){a=b,j.selectFiles()})}}})}(window,window.wangEditor,window.jQuery),function(a,b,c){if(a.FileReader&&a.FormData){var d=function(a){this.editor=a.editor,this.uploadUrl=a.uploadUrl,this.timeout=a.timeout,this.fileAccept=a.fileAccept,this.multiple=!0};d.fn=d.prototype,d.fn.clear=function(){this.$input.val(""),b.log("input value 已清空")},d.fn.render=function(){var a=this;if(!a._hasRender){b.log("渲染dom");var d=a.fileAccept,e=d?'accept="'+d+'"':"",f=a.multiple,g=f?'multiple="multiple"':"",h=c('<input type="file" '+e+" "+g+"/>"),i=c('<div style="visibility:hidden;"></div>');i.append(h),b.$body.append(i),h.on("change",function(b){a.selected(b,h.get(0))}),a.$input=h,a._hasRender=!0}},d.fn.selectFiles=function(){var a=this;b.log("使用 html5 方式上传"),a.render(),b.log("选择文件"),a.$input.click()},d.fn.selected=function(a,d){var e=this,f=d.files||[];0!==f.length&&(b.log("选中 "+f.length+" 个文件"),c.each(f,function(a,b){e.upload(b)}))},d.fn.upload=function(a){function c(){d.clear()}var d=this,e=d.editor,f=a.name||"",g=a.type||"",h=new FileReader;b.log("开始执行 "+f+" 文件的上传"),h.onload=function(a){b.log("已读取"+f+"文件");var d=a.target.result||this.result;e.xhrUploadImg({event:a,base64:d,fileType:g,name:"wangEditorH5File",successFn:c,errorFn:function(){c(),b.isOnWebsite&&alert("wangEditor官网暂时没有服务端,因此报错。实际项目中不会发生")},timeoutFn:function(){c(),b.isOnWebsite&&alert("wangEditor官网暂时没有服务端,因此超时。实际项目中不会发生")},failedFn:c})},h.readAsDataURL(a)},b.UploadFile=d}}(window,window.wangEditor,window.jQuery),function(a,b,c){if(!a.FileReader||!a.FormData){var d=function(a){this.editor=a.editor,this.uploadUrl=a.uploadUrl,this.timeout=a.timeout,this.fileAccept=a.fileAccept,this.multiple=!1};d.fn=d.prototype,d.fn.clear=function(){this.$input.val(""),b.log("input value 已清空")},d.fn.render=function(){var a=this;if(!a._hasRender){var d=a.uploadUrl;b.log("渲染dom");var e="iframe"+b.random(),f=c('<iframe name="'+e+'" id="'+e+'" frameborder="0" width="0" height="0"></iframe>'),g=a.multiple,h=g?'multiple="multiple"':"",i=c('<input type="file" '+h+' name="wangEditorFormFile"/>'),j=c('<form enctype="multipart/form-data" method="post" action="'+d+'" target="'+e+'"></form>'),k=c('<div style="visibility:hidden;"></div>');j.append(i).append(c('<input type="submit" value="form-img-submit"/>')),k.append(j),k.append(f),b.$body.append(k),i.on("change",function(b){a.selected(b,i.get(0))}),a.$input=i,a.$form=j,a.$iframe=f,a._hasRender=!0}},d.fn.selectFiles=function(){var a=this;b.log("使用 form 方式上传"),a.render(),b.log("选择文件"),a.$input.click()},d.fn.selected=function(a,c){function d(){j.onload=null,b.log("上传超时,已终止操作。超时时间为 "+l),f.clear()}var e,f=this,g=f.editor,h=f.$iframe,i=h.get(0),j=i.contentWindow,k=f.$form,l=f.timeout,m=c.value.toLowerCase(),n=m.slice(m.lastIndexOf(".")-m.length);return[".gif",".jpg","jpeg","bmp","png"].indexOf(n)<0?(alert("选择的文件不是图片"),void f.clear()):(i.onload=function(){e&&clearTimeout(e);var a,c=j.document.body.innerHTML;b.log("上传结束,返回结果为 "+c),0===c.indexOf("error|")?(b.log("上传失败:"+c.split("|")[1]),alert(c.split("|")[1])):(b.log("上传成功,开始下载"),a=document.createElement("img"),a.onload=function(){var b='<img src="'+c+'" style="max-width:100%"/>';g.command(event,"insertHtml",b),a=null},a.onerror=function(){b.error("使用返回的结果获取图片,发生错误。请确认以下结果是否正确:"+c),a=null},a.src=c),f.clear()},b.log("提交form,并开始超时计算,等待返回结果..."),k.submit(),e=setTimeout(d,l),!1)},b.UploadFile=d}}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){function d(){var a=/^data:(image\/\w+);base64/,d=i.find("img");b.log("粘贴后,检查到编辑器有"+d.length+"个图片。开始遍历图片,试图找到刚刚粘贴过来的图片"),c.each(d,function(){var d,h,i=this,j=c(i),k=j.attr("src");f.each(function(){return i===this?(d=!0,!1):void 0}),d||(b.log("找到一个粘贴过来的图片"),a.test(k)?(b.log("src 是 base64 格式,可以上传"),h=k.match(a)[1],g.xhrUploadImg({event:e,base64:k,
fileType:h,name:"wangEditorPasteFile"})):b.log("src 为 "+k+" ,不是 base64 格式,暂时不支持上传"),j.remove())}),b.log("遍历结束")}var e,f,g=this,h=g.txt,i=h.$txt,j=g.config,k=j.uploadImgUrl;k&&i.on("paste",function(h){e=h;var j,k,l=e.clipboardData||e.originalEvent.clipboardData;j=null==l?a.clipboardData&&a.clipboardData.getData("text"):l.getData("text"),j||(k=l&&l.items,k?(b.log("通过 data.items 得到了数据"),c.each(k,function(a,c){var d=c.type||"";if(!(d.indexOf("image")<0)){var f=c.getAsFile(),h=new FileReader;b.log("得到一个粘贴图片"),h.onload=function(a){b.log("读取到粘贴的图片");var c=a.target.result||this.result;g.xhrUploadImg({event:e,base64:c,fileType:d,name:"wangEditorPasteFile"})},h.readAsDataURL(f)}})):(b.log("未从 data.items 得到数据,使用检测粘贴图片的方式"),f=i.find("img"),b.log("粘贴前,检查到编辑器有"+f.length+"个图片"),setTimeout(d,0)))})})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){var a=this,d=a.txt,e=d.$txt,f=a.config,g=f.uploadImgUrl;g&&(b.$document.on("dragleave drop dragenter dragover",function(a){a.preventDefault()}),e.on("drop",function(d){d.preventDefault();var e=d.originalEvent,f=e.dataTransfer&&e.dataTransfer.files;f&&f.length&&c.each(f,function(c,e){var f=e.type,g=e.name;if(!(f.indexOf("image/")<0)){b.log("得到图片 "+g);var h=new FileReader;h.onload=function(c){b.log("读取到图片 "+g);var e=c.target.result||this.result;a.xhrUploadImg({event:d,base64:e,fileType:f,name:"wangEditorDragFile"})},h.readAsDataURL(e)}})}))})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){function a(){k||(d(),l.append(m).append(n).append(o).append(p),h.$editorContainer.append(l),k=!0)}function d(){function a(a,c){b&&h.customCommand(a,b,c)}var b;n.click(function(c){b=function(){g.remove()},a(c,function(){setTimeout(f,100)})}),p.click(function(c){b=function(){g.css({width:"100%"})},a(c,function(){setTimeout(e)})}),o.click(function(c){b=function(){g.css({width:"auto"})},a(c,function(){setTimeout(e)})})}function e(){if(null!=g){g.addClass("clicked");var a=g.position(),b=a.top,c=a.left,d=g.outerHeight(),e=g.outerWidth(),f=b+d,h=c,i=0,k=j.position().top,m=j.outerHeight();f>k+m&&(f=k+m),l.show();var n=l.outerWidth();i=e/2-n/2,l.css({top:f+5,left:h,"margin-left":i})}}function f(){null!=g&&(g.removeClass("clicked"),g=null,l.hide())}var g,h=this,i=h.txt,j=i.$txt,k=!1,l=c('<div class="txt-toolbar"></div>'),m=c('<div class="tip-triangle"></div>'),n=c('<a href="#"><i class="wangeditor-menu-img-trash-o"></i></a>'),o=c('<a href="#"><i class="wangeditor-menu-img-search-minus"></i></a>'),p=c('<a href="#"><i class="wangeditor-menu-img-search-plus"></i></a>');j.on("click","table",function(b){var d=c(b.currentTarget);return a(),g&&g.get(0)===d.get(0)?void setTimeout(f,100):(g=d,e(),b.preventDefault(),void b.stopPropagation())}).on("click keypress scroll",function(a){setTimeout(f,100)}),b.$body.on("click keypress scroll",function(a){setTimeout(f,100)})})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.userAgent.indexOf("MSIE 8")>0||b.plugin(function(){function a(){m||(d(),e(),o.append(p).append(q).append(r).append(s).append(t).append(u).append(v),j.$editorContainer.append(o).append(n),m=!0)}function d(){function a(a,c){b&&j.customCommand(a,b,c)}var b;q.click(function(c){b=function(){i.remove()},a(c,function(){setTimeout(g,100)})}),s.click(function(c){b=function(){var a=i.get(0),b=a.width,c=a.height;b=1.1*b,c=1.1*c,i.css({width:b+"px",height:c+"px"})},a(c,function(){setTimeout(f)})}),r.click(function(c){b=function(){var a=i.get(0),b=a.width,c=a.height;b=.9*b,c=.9*c,i.css({width:b+"px",height:c+"px"})},a(c,function(){setTimeout(f)})}),t.click(function(c){b=function(){i.css({"float":"left"})},a(c,function(){setTimeout(g,100)})}),v.click(function(c){b=function(){i.css({"float":"right"})},a(c,function(){setTimeout(g,100)})}),u.click(function(c){b=function(){i.css({"float":"none"})},a(c,function(){setTimeout(g,100)})})}function e(){function a(a){var b,g;b=a.pageX-c,g=a.pageY-d;var k=e+b,l=f+g;n.css({"margin-left":k,"margin-top":l});var m=h+b,o=j+g;i.css({width:m,height:o})}var c,d,e,f,h,j;n.on("mousedown",function(k){i&&(c=k.pageX,d=k.pageY,e=parseFloat(n.css("margin-left"),10),f=parseFloat(n.css("margin-top"),10),h=i.width(),j=i.height(),o.hide(),b.$document.on("mousemove._dragResizeImg",a),b.$document.on("mouseup._dragResizeImg",function(a){b.$document.off("mousemove._dragResizeImg"),b.$document.off("mouseup._dragResizeImg"),g(),n.css({"margin-left":e,"margin-top":f})}))})}function f(){if(null!=i){i.addClass("clicked");var a=i.position(),b=a.top,c=a.left,d=i.outerHeight(),e=i.outerWidth();n.css({top:b+d,left:c+e});var f=b+d,g=c,h=0,k=l.position().top,m=l.outerHeight();f>k+m?f=k+m:n.show(),o.show();var p=o.outerWidth();h=e/2-p/2,o.css({top:f+5,left:g,"margin-left":h}),j.disableMenusExcept()}}function g(){null!=i&&(i.removeClass("clicked"),i=null,o.hide(),n.hide(),j.enableMenusExcept())}function h(a){var b=!1;return c.each(w,function(d,e){var f=!1;return c.each(e.imgs,function(c,d){return a===d?(b=!0,f=!0,!1):void 0}),f?!1:void 0}),b}var i,j=this,k=j.txt,l=k.$txt,m=(j.$editorContainer,!1),n=c('<div class="img-drag-point"></div>'),o=c('<div class="txt-toolbar"></div>'),p=c('<div class="tip-triangle"></div>'),q=c('<a href="#"><i class="wangeditor-menu-img-trash-o"></i></a>'),r=c('<a href="#"><i class="wangeditor-menu-img-search-minus"></i></a>'),s=c('<a href="#"><i class="wangeditor-menu-img-search-plus"></i></a>'),t=c('<a href="#"><i class="wangeditor-menu-img-align-left"></i></a>'),u=c('<a href="#"><i class="wangeditor-menu-img-align-justify"></i></a>'),v=c('<a href="#"><i class="wangeditor-menu-img-align-right"></i></a>'),w=j.config.emotions;l.on("mousedown","img",function(a){a.preventDefault()}).on("click","img",function(b){var d=c(b.currentTarget),e=d.attr("src");if(e&&!h(e)){if(a(),i&&i.get(0)===d.get(0))return void setTimeout(g,100);i=d,f(),b.preventDefault(),b.stopPropagation()}}).on("click keypress scroll",function(a){setTimeout(g,100)})})}(window,window.wangEditor,window.jQuery),function(a,b,c){b.plugin(function(){var d=this,e=d.config.menuFixed;if(e!==!1&&"number"==typeof e){var f=parseFloat(b.$body.css("margin-top"),10);isNaN(f)&&(f=0);var g=d.$editorContainer,h=g.offset().top,i=g.outerHeight(),j=d.menuContainer.$menuContainer,k=j.css("position"),l=j.css("top"),m=j.width(),n=j.outerHeight(),o=j.offset().top;d.txt.$txt;b.$window.scroll(function(){if(!d.isFullScreen){var g=c(a).scrollTop();g>=o&&h+i>g+e+n+30?(j.css({position:"fixed",top:e}),j.width(m),b.$body.css({"margin-top":f+n})):(j.css({position:k,top:l}),j.css("width","100%"),b.$body.css({"margin-top":f}))}})}})}(window,window.wangEditor,window.jQuery),function(a,b){a.createMenu(function(c){var d="indent";if(c(d)){var e=this,f=new a.Menu({editor:e,id:d,title:"缩进",$domNormal:b('<a href="#" tabindex="-1"><i class="wangeditor-menu-img-indent-left"></i></a>'),$domSelected:b('<a href="#" tabindex="-1" class="selected"><i class="wangeditor-menu-img-indent-left"></i></a>')});f.clickEvent=function(a){function c(){d.css("text-indent","2em")}var d,f=e.getRangeElem(),g=e.getSelfOrParentByName(f,"p");return g?(d=b(g),void e.customCommand(a,c)):a.preventDefault()},f.clickEventSelected=function(a){function c(){d.css("text-indent","0")}var d,f=e.getRangeElem(),g=e.getSelfOrParentByName(f,"p");return g?(d=b(g),void e.customCommand(a,c)):a.preventDefault()},f.updateSelectedEvent=function(){var a,c,d=e.getRangeElem(),f=e.getSelfOrParentByName(d,"p");return f?(a=b(f),c=a.css("text-indent"),c&&"0px"!==c?!0:!1):!1},e.menus[d]=f}})}(window.wangEditor,window.jQuery),function(a,b){a.createMenu(function(c){var d="lineheight";if(c(d)){var e=this;e.commandHooks.lineHeight=function(a){var c=e.getRangeElem(),d=e.getSelfOrParentByName(c,"p,h1,h2,h3,h4,h5,pre");d&&b(d).css("line-height",a+"")};var f=new a.Menu({editor:e,id:d,title:"行高",commandName:"lineHeight",$domNormal:b('<a href="#" tabindex="-1"><i class="wangeditor-menu-img-arrows-v"></i></a>'),$domSelected:b('<a href="#" tabindex="-1" class="selected"><i class="wangeditor-menu-img-arrows-v"></i></a>')}),g={"1.0":"1.0倍",1.5:"1.5倍",1.8:"1.8倍","2.0":"2.0倍",2.5:"2.5倍","3.0":"3.0倍"},h='<span style="line-height:{#commandValue}">{#title}</span>';f.dropList=new a.DropList(e,f,{data:g,tpl:h}),e.menus[d]=f}})}(window.wangEditor,window.jQuery),b(function(a,b){a.info("本页面富文本编辑器由 wangEditor 提供 http://wangeditor.github.io/ ")})});
\ No newline at end of file
... ...
... ... @@ -7,4 +7,5 @@
@import url('css1.css');
@import url('index.css');
@import url('bootstrap-wysihtml5-0.0.2.css');
@import url('wysiwyg-color.css');
\ No newline at end of file
@import url('wysiwyg-color.css');
@import url('wangEditor.css');
\ No newline at end of file
... ...
.wangEditor-drop-list a,.wangEditor-drop-panel a,.wangEditor-menu-container a{text-decoration:none}.wangEditor-container .wangEditor-txt:focus,.wangEditor-container a:focus,.wangEditor-container button:focus,.wangEditor-container textarea:focus,.wangEditor-drop-panel button:focus,.wangEditor-drop-panel textarea:focus{outline:0}.wangEditor-container{position:relative;background-color:#fff;border:1px solid #ccc;z-index:1;width:100%}.wangEditor-container img,.wangEditor-container textarea{border:none}.wangEditor-container,.wangEditor-container *{margin:0;padding:0;box-sizing:border-box;line-height:1}.wangEditor-container .clearfix:after{content:'';display:table;clear:both}.wangEditor-container .height-tip{position:absolute;width:3px;background-color:#ccc;left:0;transition:top .2s}.wangEditor-container .txt-toolbar{position:absolute;background-color:#fff;padding:3px 5px;border-top:2px solid #666;box-shadow:1px 3px 3px #999;border-left:1px\9 solid\9 #ccc\9;border-bottom:1px\9 solid\9 #999\9;border-right:1px\9 solid\9 #999\9}.wangEditor-container .txt-toolbar .tip-triangle{display:block;position:absolute;width:0;height:0;border:5px solid;border-color:transparent transparent #666;top:-12px;left:50%;margin-left:-5px}.wangEditor-container .txt-toolbar a{color:#666;display:inline-block;margin:0 3px;padding:5px;text-decoration:none;border-radius:3px}.wangEditor-container .txt-toolbar a:hover{background-color:#f1f1f1}.wangEditor-container .img-drag-point{display:block;position:absolute;width:12px;height:12px;border-radius:50%;cursor:se-resize;background-color:#666;margin-left:-6px;margin-top:-6px;box-shadow:1px 1px 5px #999}.wangEditor-container .wangEditor-upload-progress{position:absolute;height:1px;background:#1e88e5;width:0;display:none;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}.wangEditor-fullscreen{position:fixed;top:0;bottom:0;left:0;right:0}.wangEditor-container .code-textarea{width:100%;font-size:14px;line-height:1.5;font-family:Verdana;color:#333}.wangEditor-menu-container{width:100%;border-bottom:1px solid #f1f1f1;background-color:#fff}.wangEditor-menu-container .menu-item .active,.wangEditor-menu-container .menu-item:hover{background-color:#f1f1f1}.wangEditor-menu-container .menu-group{float:left;padding:0 8px;border-right:1px solid #f1f1f1}.wangEditor-menu-container .menu-item{float:left;position:relative;text-align:center;height:31px;width:35px}.wangEditor-menu-container .menu-item a{display:block;text-align:center;color:#666;width:100%;padding:8px 0;font-size:.9em}.wangEditor-menu-container .menu-item .selected{color:#1e88e5}.wangEditor-menu-container .menu-item .disable{opacity:.5;filter:alpha(opacity=50)}.wangEditor-menu-container .menu-tip{position:absolute;z-index:20;width:60px;text-align:center;background-color:#666;color:#fff;padding:7px 0;font-size:12px;top:100%;left:50%;margin-left:-30px;border-radius:2px;box-shadow:1px 1px 5px #999;display:none}.wangEditor-menu-container .menu-tip-40{width:40px;margin-left:-20px}.wangEditor-menu-container .menu-tip-50{width:50px;margin-left:-25px}.wangEditor-menu-shadow{border-bottom-width:0;border-bottom:1px\9 solid\9 #f1f1f1\9;box-shadow:0 1px 3px #999}.wangEditor-container .wangEditor-txt{width:100%;text-align:left;padding:0 15px 15px;margin-top:5px;overflow-y:auto}.wangEditor-container .wangEditor-txt h1,.wangEditor-container .wangEditor-txt h2,.wangEditor-container .wangEditor-txt h3,.wangEditor-container .wangEditor-txt h4,.wangEditor-container .wangEditor-txt h5,.wangEditor-container .wangEditor-txt p{margin:10px 0;line-height:1.8}.wangEditor-container .wangEditor-txt ol,.wangEditor-container .wangEditor-txt ul{padding-left:20px}.wangEditor-container .wangEditor-txt img{cursor:pointer}.wangEditor-container .wangEditor-txt img.clicked,.wangEditor-container .wangEditor-txt table.clicked{box-shadow:1px 1px 10px #999}.wangEditor-container .wangEditor-txt pre code{line-height:1.5}.wangEditor-container .wangEditor-txt blockquote{display:block;border-left:8px solid #d0e5f2;padding:5px 10px;margin:10px 0;line-height:1.4;font-size:100%;background-color:#f1f1f1}.wangEditor-container .wangEditor-txt table{border:none;border-collapse:collapse}.wangEditor-container .wangEditor-txt table td,.wangEditor-container .wangEditor-txt table th{border:1px solid #f1f1f1;padding:3px 5px;min-width:50px;height:20px}.wangEditor-container .wangEditor-txt pre{border:1px solid #ccc;background-color:#f8f8f8;padding:10px;margin:5px 0;font-size:.8em;border-radius:3px}.wangEditor-drop-list,.wangEditor-drop-panel{z-index:10;box-shadow:1px 3px 3px #999;border-left:1px\9 solid\9 #ccc\9;border-bottom:1px\9 solid\9 #999\9;border-right:1px\9 solid\9 #999\9;position:absolute}.wangEditor-drop-list{display:none;background-color:#fff;overflow:hidden;transition:height .7s;border-top:1px solid #f1f1f1}.wangEditor-drop-list a{display:block;color:#666;padding:3px 5px}.wangEditor-drop-list a:hover{background-color:#f1f1f1}.wangEditor-drop-panel{display:none;padding:10px;font-size:14px;background-color:#fff;border-top:2px solid #666}.wangEditor-drop-panel .tip-triangle{display:block;position:absolute;width:0;height:0;border:5px solid;border-color:transparent transparent #666;top:-12px;left:50%;margin-left:-5px}.wangEditor-drop-panel input[type=text]{border:none;border-bottom:1px solid #ccc;font-size:14px;height:20px;color:#333;padding:3px 0}.wangEditor-drop-panel input[type=text]:focus{outline:0;border-bottom:2px solid #1e88e5}.wangEditor-drop-panel input[type=text].block{display:block;width:100%}.wangEditor-drop-panel textarea{border:1px solid #ccc}.wangEditor-drop-panel textarea:focus{border-color:#1e88e5}.wangEditor-drop-panel button{font-size:14px;color:#1e88e5;border:none;padding:10px;background-color:#fff;cursor:pointer;border-radius:3px}.wangEditor-drop-panel button:hover{background-color:#f1f1f1}.wangEditor-drop-panel button.right{float:right;margin-left:10px}.wangEditor-drop-panel button.gray{color:#999}.wangEditor-drop-panel button.link{padding:5px 10px}.wangEditor-drop-panel button.link:hover{background-color:#fff;text-decoration:underline}.wangEditor-drop-panel .color-item:hover,.wangEditor-drop-panel .list-menu-item:hover,.wangEditor-drop-panel .panel-tab .content-container .content a:hover{background-color:#f1f1f1}.wangEditor-drop-panel .color-item{display:block;float:left;width:25px;height:25px;text-align:center;padding:2px;border-radius:2px;text-decoration:underline}.wangEditor-drop-panel .list-menu-item{display:block;float:left;color:#333;padding:5px;border-radius:2px}.wangEditor-drop-panel table.choose-table{border:none;border-collapse:collapse}.wangEditor-drop-panel table.choose-table td{border:1px solid #f1f1f1;width:16px;height:12px}.wangEditor-drop-panel table.choose-table td.active{background-color:#f1f1f1;opacity:.5;filter:alpha(opacity=50)}.wangEditor-drop-panel .panel-tab .tab-container{margin-bottom:5px}.wangEditor-drop-panel .panel-tab .tab-container a{display:inline-block;color:#999;text-align:center;margin:0 5px;padding:5px}.wangEditor-drop-panel .panel-tab .tab-container a.selected{color:#1e88e5;border-bottom:2px solid #1e88e5}.wangEditor-drop-panel .panel-tab .content-container .content{display:none}.wangEditor-drop-panel .panel-tab .content-container .content a{display:inline-block;margin:2px;padding:2px;border-radius:2px}.hljs,.wangEditor-drop-panel .panel-tab .content-container .selected{display:block}.wangEditor-drop-panel .upload-icon-container{color:#ccc;text-align:center;margin:20px 20px 15px;padding:5px;font-size:65px;cursor:pointer;border:2px dotted #f1f1f1}.wangEditor-drop-panel .upload-icon-container:hover{color:#666;border-color:#ccc}@font-face{font-family:icomoon;src:url(../fonts/icomoon.eot?-qdfu1s);src:url(../fonts/icomoon.eot?#iefix-qdfu1s) format('embedded-opentype'),url(../fonts/icomoon.ttf?-qdfu1s) format('truetype'),url(../fonts/icomoon.woff?-qdfu1s) format('woff'),url(../fonts/icomoon.svg?-qdfu1s#icomoon) format('svg');font-weight:400;font-style:normal}body [class*=" wangeditor-menu-img-"],body [class^=wangeditor-menu-img-]{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body .wangeditor-menu-img-link:before{content:"\e800"}body .wangeditor-menu-img-unlink:before{content:"\e801"}body .wangeditor-menu-img-code:before{content:"\e802"}body .wangeditor-menu-img-cancel:before{content:"\e803"}body .wangeditor-menu-img-terminal:before{content:"\e804"}body .wangeditor-menu-img-angle-down:before{content:"\e805"}body .wangeditor-menu-img-font:before{content:"\e806"}body .wangeditor-menu-img-bold:before{content:"\e807"}body .wangeditor-menu-img-italic:before{content:"\e808"}body .wangeditor-menu-img-header:before{content:"\e809"}body .wangeditor-menu-img-align-left:before{content:"\e80a"}body .wangeditor-menu-img-align-center:before{content:"\e80b"}body .wangeditor-menu-img-align-right:before{content:"\e80c"}body .wangeditor-menu-img-list-bullet:before{content:"\e80d"}body .wangeditor-menu-img-indent-left:before{content:"\e80e"}body .wangeditor-menu-img-indent-right:before{content:"\e80f"}body .wangeditor-menu-img-list-numbered:before{content:"\e810"}body .wangeditor-menu-img-underline:before{content:"\e811"}body .wangeditor-menu-img-table:before{content:"\e812"}body .wangeditor-menu-img-eraser:before{content:"\e813"}body .wangeditor-menu-img-text-height:before{content:"\e814"}body .wangeditor-menu-img-brush:before{content:"\e815"}body .wangeditor-menu-img-pencil:before{content:"\e816"}body .wangeditor-menu-img-minus:before{content:"\e817"}body .wangeditor-menu-img-picture:before{content:"\e818"}body .wangeditor-menu-img-file-image:before{content:"\e819"}body .wangeditor-menu-img-cw:before{content:"\e81a"}body .wangeditor-menu-img-ccw:before{content:"\e81b"}body .wangeditor-menu-img-music:before{content:"\e911"}body .wangeditor-menu-img-play:before{content:"\e912"}body .wangeditor-menu-img-location:before{content:"\e947"}body .wangeditor-menu-img-happy:before{content:"\e9df"}body .wangeditor-menu-img-sigma:before{content:"\ea67"}body .wangeditor-menu-img-enlarge2:before{content:"\e98b"}body .wangeditor-menu-img-shrink2:before{content:"\e98c"}body .wangeditor-menu-img-newspaper:before{content:"\e904"}body .wangeditor-menu-img-camera:before{content:"\e90f"}body .wangeditor-menu-img-video-camera:before{content:"\e914"}body .wangeditor-menu-img-file-zip:before{content:"\e92b"}body .wangeditor-menu-img-stack:before{content:"\e92e"}body .wangeditor-menu-img-credit-card:before{content:"\e93f"}body .wangeditor-menu-img-address-book:before{content:"\e944"}body .wangeditor-menu-img-envelop:before{content:"\e945"}body .wangeditor-menu-img-drawer:before{content:"\e95c"}body .wangeditor-menu-img-download:before{content:"\e960"}body .wangeditor-menu-img-upload:before{content:"\e961"}body .wangeditor-menu-img-lock:before{content:"\e98f"}body .wangeditor-menu-img-unlocked:before{content:"\e990"}body .wangeditor-menu-img-wrench:before{content:"\e991"}body .wangeditor-menu-img-eye:before{content:"\e9ce"}body .wangeditor-menu-img-eye-blocked:before{content:"\e9d1"}body .wangeditor-menu-img-command:before{content:"\ea4e"}body .wangeditor-menu-img-font2:before{content:"\ea5c"}body .wangeditor-menu-img-libreoffice:before{content:"\eade"}body .wangeditor-menu-img-quotes-left:before{content:"\e977"}body .wangeditor-menu-img-strikethrough:before{content:"\ea65"}body .wangeditor-menu-img-desktop:before{content:"\f108"}body .wangeditor-menu-img-tablet:before{content:"\f10a"}body .wangeditor-menu-img-search-plus:before{content:"\f00e"}body .wangeditor-menu-img-search-minus:before{content:"\f010"}body .wangeditor-menu-img-trash-o:before{content:"\f014"}body .wangeditor-menu-img-align-justify:before{content:"\f039"}body .wangeditor-menu-img-arrows-v:before{content:"\f07d"}body .wangeditor-menu-img-sigma2:before{content:"\ea68"}body .wangeditor-menu-img-omega:before{content:"\e900"}.hljs{overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8;-webkit-text-size-adjust:none}.diff .hljs-header,.hljs-comment{color:#998;font-style:italic}.css .rule .hljs-keyword,.hljs-keyword,.hljs-request,.hljs-status,.hljs-subst,.hljs-winutils,.nginx .hljs-title{color:#333;font-weight:700}.hljs-hexcolor,.hljs-number,.ruby .hljs-constant{color:teal}.hljs-doctag,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#d14}.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#900;font-weight:700}.hljs-list .hljs-keyword,.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type,.tex .hljs-command,.vhdl .hljs-literal{color:#458;font-weight:700}.django .hljs-tag .hljs-keyword,.hljs-rule .hljs-property,.hljs-tag,.hljs-tag .hljs-title{color:navy;font-weight:400}.hljs-attribute,.hljs-name,.hljs-variable,.lisp .hljs-body{color:teal}.hljs-regexp{color:#009926}.clojure .hljs-keyword,.hljs-prompt,.hljs-symbol,.lisp .hljs-keyword,.ruby .hljs-symbol .hljs-string,.scheme .hljs-keyword,.tex .hljs-special{color:#990073}.hljs-built_in{color:#0086b3}.hljs-cdata,.hljs-doctype,.hljs-pi,.hljs-pragma,.hljs-preprocessor,.hljs-shebang{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}
\ No newline at end of file
... ...
No preview for this file type
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe800;" glyph-name="link" horiz-adv-x="950" d="M831.488 264.704q0 23.552-15.36 38.912l-118.784 118.784q-16.384 16.384-38.912 16.384-24.576 0-40.96-18.432 1.024-1.024 10.24-10.24t12.288-12.288 9.216-11.264 7.168-14.336 2.048-15.36q0-23.552-16.384-38.912t-38.912-16.384q-8.192 0-15.36 2.048t-14.336 7.168-11.264 9.216-12.288 12.288-10.24 10.24q-19.456-17.408-19.456-40.96t16.384-38.912l117.76-118.784q15.36-15.36 38.912-15.36 22.528 0 38.912 15.36l83.968 82.944q15.36 16.384 15.36 37.888zM430.080 668.16q0 22.528-15.36 38.912l-117.76 117.76q-16.384 16.384-38.912 16.384t-38.912-15.36l-83.968-83.968q-16.384-15.36-16.384-37.888t16.384-38.912l118.784-118.784q15.36-15.36 38.912-15.36t40.96 17.408q-2.048 2.048-11.264 11.264t-12.288 12.288-8.192 10.24-7.168 14.336-2.048 16.384q0 22.528 15.36 38.912t38.912 15.36q9.216 0 16.384-2.048t14.336-7.168 10.24-8.192 12.288-12.288 11.264-11.264q18.432 17.408 18.432 41.984zM942.080 264.704q0-68.608-49.152-115.712l-83.968-82.944q-47.104-48.128-115.712-48.128-69.632 0-116.736 49.152l-117.76 117.76q-47.104 48.128-47.104 116.736 0 69.632 50.176 118.784l-50.176 50.176q-49.152-50.176-118.784-50.176-68.608 0-116.736 48.128l-118.784 118.784q-48.128 48.128-48.128 116.736t48.128 115.712l83.968 83.968q48.128 47.104 116.736 47.104t116.736-48.128l116.736-118.784q48.128-47.104 48.128-115.712 0-70.656-50.176-119.808l50.176-50.176q49.152 50.176 118.784 50.176 68.608 0 116.736-48.128l118.784-118.784q48.128-48.128 48.128-116.736z" />
<glyph unicode="&#xe801;" glyph-name="unlink" horiz-adv-x="950" d="M250.88 233.984l-146.432-146.432q-5.12-5.12-13.312-5.12-6.144 0-13.312 5.12-5.12 5.12-5.12 13.312t5.12 13.312l146.432 145.408q6.144 5.12 13.312 5.12t13.312-5.12q5.12-5.12 5.12-12.288t-5.12-13.312zM347.136 210.432v-183.296q0-8.192-5.12-13.312t-13.312-5.12-12.288 5.12-5.12 13.312v183.296q0 8.192 5.12 13.312t12.288 5.12 13.312-5.12 5.12-13.312zM219.136 338.432q0-8.192-5.12-13.312t-13.312-5.12h-182.272q-8.192 0-13.312 5.12t-5.12 13.312 5.12 13.312 13.312 5.12h182.272q8.192 0 13.312-5.12t5.12-13.312zM942.080 264.704q0-68.608-49.152-115.712l-83.968-82.944q-47.104-48.128-115.712-48.128-69.632 0-116.736 49.152l-190.464 191.488q-12.288 11.264-24.576 31.744l137.216 10.24 155.648-156.672q15.36-15.36 38.912-15.36t38.912 15.36l83.968 82.944q15.36 16.384 15.36 37.888 0 23.552-15.36 38.912l-156.672 157.696 10.24 136.192q20.48-12.288 31.744-23.552l192.512-192.512q48.128-49.152 48.128-116.736zM588.8 678.4l-136.192-10.24-155.648 156.672q-16.384 16.384-38.912 16.384t-38.912-15.36l-83.968-83.968q-16.384-15.36-16.384-37.888t16.384-38.912l156.672-156.672-10.24-137.216q-20.48 12.288-32.768 24.576l-191.488 191.488q-48.128 49.152-48.128 116.736 0 68.608 48.128 115.712l83.968 83.968q48.128 47.104 116.736 47.104t116.736-48.128l190.464-191.488q12.288-12.288 23.552-32.768zM951.296 631.296q0-8.192-5.12-13.312t-13.312-5.12h-183.296q-8.192 0-13.312 5.12t-5.12 13.312 5.12 12.288 13.312 5.12h183.296q8.192 0 13.312-5.12t5.12-12.288zM640 941.568v-182.272q0-8.192-5.12-13.312t-13.312-5.12-13.312 5.12-5.12 13.312v182.272q0 8.192 5.12 13.312t13.312 5.12 13.312-5.12 5.12-13.312zM872.448 855.552l-146.432-146.432q-6.144-5.12-13.312-5.12t-12.288 5.12q-5.12 6.144-5.12 13.312t5.12 13.312l145.408 145.408q6.144 5.12 13.312 5.12t13.312-5.12q5.12-5.12 5.12-12.288t-5.12-13.312z" />
<glyph unicode="&#xe802;" glyph-name="code" horiz-adv-x="1097" d="M352.256 160.256l-28.672-28.672q-5.12-5.12-12.288-5.12t-13.312 5.12l-266.24 266.24q-6.144 6.144-6.144 13.312t6.144 13.312l266.24 266.24q5.12 6.144 13.312 6.144t12.288-6.144l28.672-28.672q6.144-5.12 6.144-13.312t-6.144-12.288l-224.256-225.28 224.256-224.256q6.144-6.144 6.144-13.312t-6.144-13.312zM690.176 770.56l-212.992-738.304q-2.048-7.168-9.216-11.264t-13.312-1.024l-34.816 9.216q-8.192 3.072-11.264 9.216t-2.048 14.336l212.992 737.28q3.072 8.192 9.216 11.264t13.312 2.048l35.84-10.24q7.168-2.048 11.264-9.216t1.024-13.312zM1065.984 397.824l-266.24-266.24q-6.144-5.12-13.312-5.12t-13.312 5.12l-28.672 28.672q-5.12 6.144-5.12 13.312t5.12 13.312l224.256 224.256-224.256 225.28q-5.12 5.12-5.12 12.288t5.12 13.312l28.672 28.672q6.144 6.144 13.312 6.144t13.312-6.144l266.24-266.24q5.12-5.12 5.12-13.312t-5.12-13.312z" />
<glyph unicode="&#xe803;" glyph-name="cancel" horiz-adv-x="804" d="M741.376 204.288q0-22.528-15.36-38.912l-77.824-77.824q-16.384-15.36-38.912-15.36t-38.912 15.36l-167.936 168.96-167.936-168.96q-16.384-15.36-38.912-15.36t-38.912 15.36l-77.824 77.824q-16.384 16.384-16.384 38.912t16.384 38.912l167.936 167.936-167.936 167.936q-16.384 16.384-16.384 38.912t16.384 38.912l77.824 77.824q16.384 16.384 38.912 16.384t38.912-16.384l167.936-167.936 167.936 167.936q16.384 16.384 38.912 16.384t38.912-16.384l77.824-77.824q15.36-15.36 15.36-38.912t-15.36-38.912l-167.936-167.936 167.936-167.936q15.36-15.36 15.36-38.912z" />
<glyph unicode="&#xe804;" glyph-name="terminal" horiz-adv-x="950" d="M333.824 397.824l-266.24-266.24q-5.12-5.12-12.288-5.12t-13.312 5.12l-28.672 28.672q-6.144 6.144-6.144 13.312t6.144 13.312l224.256 224.256-224.256 225.28q-6.144 5.12-6.144 12.288t6.144 13.312l28.672 28.672q5.12 6.144 13.312 6.144t12.288-6.144l266.24-266.24q6.144-5.12 6.144-13.312t-6.144-13.312zM951.296 136.704v-35.84q0-8.192-5.12-13.312t-13.312-5.12h-548.864q-8.192 0-13.312 5.12t-5.12 13.312v35.84q0 8.192 5.12 13.312t13.312 5.12h548.864q8.192 0 13.312-5.12t5.12-13.312z" />
<glyph unicode="&#xe805;" glyph-name="angle-down" horiz-adv-x="657" d="M614.4 539.136q0-7.168-6.144-13.312l-266.24-266.24q-5.12-5.12-13.312-5.12t-12.288 5.12l-266.24 266.24q-6.144 6.144-6.144 13.312t6.144 13.312l27.648 28.672q6.144 6.144 13.312 6.144t13.312-6.144l224.256-224.256 225.28 224.256q5.12 6.144 13.312 6.144t12.288-6.144l28.672-28.672q6.144-5.12 6.144-13.312z" />
<glyph unicode="&#xe806;" glyph-name="font" horiz-adv-x="950" d="M414.72 640.512l-97.28-257.024q18.432 0 77.824-1.024t91.136-1.024q11.264 0 32.768 1.024-49.152 144.384-104.448 258.048zM0 8.704l1.024 45.056q13.312 4.096 31.744 7.168t32.768 6.144 28.672 8.192 25.6 17.408 17.408 28.672l135.168 352.256 159.744 413.696h73.728q4.096-8.192 6.144-12.288l116.736-274.432q19.456-45.056 61.44-147.456t64.512-156.672q9.216-19.456 33.792-82.944t40.96-96.256q11.264-25.6 19.456-31.744 11.264-9.216 50.176-17.408t48.128-11.264q4.096-22.528 4.096-32.768 0-2.048-1.024-7.168t0-8.192q-35.84 0-108.544 5.12t-109.568 4.096q-43.008 0-122.88-4.096t-101.376-4.096q0 24.576 2.048 44.032l74.752 16.384q1.024 0 7.168 1.024t9.216 2.048 8.192 3.072 9.216 4.096 6.144 4.096 5.12 6.144 1.024 8.192q0 9.216-17.408 55.296t-40.96 101.376-24.576 57.344l-257.024 1.024q-14.336-33.792-44.032-111.616t-28.672-93.184q0-12.288 8.192-21.504t24.576-14.336 27.648-7.168 32.768-5.12 23.552-2.048q1.024-11.264 1.024-32.768 0-5.12-2.048-16.384-32.768 0-99.328 6.144t-99.328 6.144q-5.12 0-15.36-3.072t-12.288-2.048q-46.080-8.192-107.52-8.192z" />
<glyph unicode="&#xe807;" glyph-name="bold" horiz-adv-x="804" d="M317.44 90.624q41.984-18.432 79.872-18.432 215.040 0 215.040 191.488 0 65.536-23.552 103.424-15.36 24.576-35.84 41.984t-37.888 26.624-46.080 14.336-48.128 6.144-54.272 1.024q-40.96 0-57.344-6.144 0-29.696 0-90.112t-1.024-91.136q0-4.096 0-37.888t0-55.296 2.048-48.128 7.168-37.888zM309.248 517.632q23.552-4.096 62.464-4.096 47.104 0 81.92 7.168t62.464 25.6 41.984 51.2 15.36 80.896q0 39.936-16.384 69.632t-46.080 47.104-61.44 24.576-70.656 8.192q-28.672 0-74.752-7.168 0-28.672 3.072-86.016t2.048-87.040q0-15.36 0-46.080t-1.024-45.056q0-26.624 1.024-38.912zM0 8.704l1.024 54.272q9.216 2.048 49.152 9.216t60.416 15.36q4.096 7.168 7.168 15.36t4.096 19.456 4.096 18.432 1.024 21.504 0 19.456v36.864q0 561.152-12.288 585.728-2.048 5.12-12.288 8.192t-25.6 6.144-28.672 4.096-27.648 3.072-17.408 2.048l-2.048 47.104q56.32 1.024 194.56 6.144t212.992 5.12q13.312 0 38.912 0t38.912 0q39.936 0 77.824-7.168t73.728-24.576 61.44-39.936 41.984-60.416 16.384-77.824q0-29.696-9.216-55.296t-22.528-40.96-36.864-32.768-41.984-25.6-48.128-22.528q88.064-20.48 147.456-76.8t58.368-142.336q0-56.32-20.48-102.4t-53.248-74.752-78.848-48.128-93.184-27.648-100.352-8.192q-25.6 0-75.776 2.048t-75.776 1.024q-60.416 0-175.104-6.144t-132.096-7.168z" />
<glyph unicode="&#xe808;" glyph-name="italic" horiz-adv-x="585" d="M0 9.728l10.24 49.152q3.072 1.024 46.080 12.288t63.488 21.504q16.384 19.456 23.552 57.344 1.024 4.096 35.84 165.888t64.512 310.272 29.696 168.96v14.336q-13.312 7.168-30.72 11.264t-39.936 4.096-32.768 3.072l10.24 59.392q19.456-2.048 68.608-4.096t86.016-4.096 68.608-1.024q27.648 0 56.32 1.024t68.608 4.096 56.32 4.096q-2.048-22.528-10.24-51.2-17.408-6.144-58.368-16.384t-61.44-19.456q-5.12-10.24-8.192-23.552t-5.12-23.552-4.096-25.6-4.096-24.576q-15.36-83.968-50.176-239.616t-44.032-202.752q-1.024-5.12-7.168-32.768t-11.264-52.224-9.216-47.104-4.096-32.768l1.024-10.24q9.216-3.072 105.472-18.432-2.048-24.576-9.216-56.32-6.144 0-18.432-1.024t-18.432-1.024q-16.384 0-50.176 6.144t-49.152 6.144q-78.848 1.024-117.76 1.024-28.672 0-80.896-5.12t-69.632-6.144z" />
<glyph unicode="&#xe809;" glyph-name="header" d="M961.536 8.704q-25.6 0-75.776 2.048t-76.8 2.048q-24.576 0-74.752-2.048t-75.776-2.048q-14.336 0-21.504 12.288t-7.168 25.6q0 17.408 9.216 26.624t22.528 9.216 29.696 4.096 25.6 9.216q18.432 11.264 18.432 79.872v223.232q0 12.288-1.024 17.408-7.168 3.072-28.672 3.072h-385.024q-22.528 0-29.696-3.072 0-5.12 0-17.408l-1.024-211.968q0-80.896 21.504-94.208 9.216-5.12 26.624-7.168t32.768-2.048 25.6-8.192 11.264-26.624q0-14.336-7.168-26.624t-20.48-13.312q-26.624 0-79.872 2.048t-78.848 2.048q-24.576 0-72.704-2.048t-72.704-2.048q-13.312 0-20.48 12.288t-7.168 25.6q0 17.408 9.216 25.6t20.48 10.24 26.624 4.096 24.576 9.216q18.432 13.312 18.432 81.92l-1.024 31.744v464.896q0 2.048 1.024 14.336t0 21.504-1.024 21.504-2.048 24.576-4.096 20.48-6.144 18.432-9.216 10.24q-8.192 5.12-25.6 6.144t-29.696 2.048-23.552 7.168-10.24 26.624q0 14.336 6.144 26.624t20.48 13.312q26.624 0 79.872-2.048t78.848-2.048q23.552 0 72.704 2.048t71.68 2.048q14.336 0 21.504-13.312t7.168-26.624q0-17.408-9.216-25.6t-22.528-8.192-28.672-2.048-24.576-7.168q-19.456-12.288-19.456-92.16l1.024-182.272q0-12.288 0-18.432 7.168-2.048 22.528-2.048h399.36q14.336 0 21.504 2.048 1.024 6.144 1.024 18.432v182.272q0 79.872-19.456 92.16-10.24 6.144-33.792 7.168t-37.888 7.168-14.336 28.672q0 14.336 7.168 26.624t21.504 13.312q24.576 0 75.776-2.048t74.752-2.048q24.576 0 73.728 2.048t73.728 2.048q14.336 0 21.504-13.312t7.168-26.624q0-17.408-10.24-25.6t-22.528-8.192-29.696-2.048-24.576-7.168q-20.48-13.312-20.48-92.16l1.024-538.624q0-67.584 19.456-79.872 9.216-6.144 25.6-7.168t30.72-3.072 23.552-9.216 10.24-24.576q0-15.36-6.144-27.648t-20.48-13.312z" />
<glyph unicode="&#xe80a;" glyph-name="align-left" d="M1024 192v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-950.272q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h950.272q15.36 0 25.6-11.264t11.264-25.6zM804.864 411.136v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-731.136q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h731.136q15.36 0 25.6-11.264t11.264-25.6zM951.296 631.296v-73.728q0-14.336-11.264-25.6t-25.6-11.264h-877.568q-15.36 0-25.6 11.264t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h877.568q14.336 0 25.6-10.24t11.264-25.6zM731.136 850.432v-73.728q0-14.336-10.24-25.6t-25.6-10.24h-658.432q-15.36 0-25.6 10.24t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 11.264h658.432q14.336 0 25.6-11.264t10.24-25.6z" />
<glyph unicode="&#xe80b;" glyph-name="align-center" d="M1024 192v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-950.272q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h950.272q15.36 0 25.6-11.264t11.264-25.6zM804.864 411.136v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-512q-14.336 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h512q15.36 0 25.6-11.264t11.264-25.6zM951.296 631.296v-73.728q0-14.336-11.264-25.6t-25.6-11.264h-804.864q-14.336 0-25.6 11.264t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h804.864q14.336 0 25.6-10.24t11.264-25.6zM731.136 850.432v-73.728q0-14.336-10.24-25.6t-25.6-10.24h-366.592q-14.336 0-25.6 10.24t-10.24 25.6v73.728q0 14.336 10.24 25.6t25.6 11.264h366.592q14.336 0 25.6-11.264t10.24-25.6z" />
<glyph unicode="&#xe80c;" glyph-name="align-right" d="M1024 192v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-950.272q-15.36 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h950.272q15.36 0 25.6-11.264t11.264-25.6zM1024 411.136v-72.704q0-15.36-11.264-25.6t-25.6-11.264h-731.136q-14.336 0-25.6 11.264t-11.264 25.6v72.704q0 15.36 11.264 25.6t25.6 11.264h731.136q15.36 0 25.6-11.264t11.264-25.6zM1024 631.296v-73.728q0-14.336-11.264-25.6t-25.6-11.264h-877.568q-14.336 0-25.6 11.264t-11.264 25.6v73.728q0 14.336 11.264 25.6t25.6 10.24h877.568q15.36 0 25.6-10.24t11.264-25.6zM1024 850.432v-73.728q0-14.336-11.264-25.6t-25.6-10.24h-658.432q-14.336 0-25.6 10.24t-10.24 25.6v73.728q0 14.336 10.24 25.6t25.6 11.264h658.432q15.36 0 25.6-11.264t11.264-25.6z" />
<glyph unicode="&#xe80d;" glyph-name="list-bullet" d="M219.136 155.136q0-45.056-31.744-77.824t-77.824-31.744-77.824 31.744-31.744 77.824 31.744 77.824 77.824 31.744 77.824-31.744 31.744-77.824zM219.136 448q0-46.080-31.744-77.824t-77.824-31.744-77.824 31.744-31.744 77.824 31.744 77.824 77.824 31.744 77.824-31.744 31.744-77.824zM1024 210.432v-109.568q0-7.168-5.12-13.312t-13.312-5.12h-694.272q-8.192 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 12.288t13.312 6.144h694.272q7.168 0 13.312-6.144t5.12-12.288zM219.136 740.864q0-46.080-31.744-77.824t-77.824-31.744-77.824 31.744-31.744 77.824 31.744 77.824 77.824 31.744 77.824-31.744 31.744-77.824zM1024 503.296v-110.592q0-7.168-5.12-12.288t-13.312-5.12h-694.272q-8.192 0-13.312 5.12t-5.12 12.288v110.592q0 7.168 5.12 12.288t13.312 5.12h694.272q7.168 0 13.312-5.12t5.12-12.288zM1024 795.136v-109.568q0-7.168-5.12-12.288t-13.312-6.144h-694.272q-8.192 0-13.312 6.144t-5.12 12.288v109.568q0 8.192 5.12 13.312t13.312 5.12h694.272q7.168 0 13.312-5.12t5.12-13.312z" />
<glyph unicode="&#xe80e;" glyph-name="indent-left" d="M219.136 648.704v-328.704q0-7.168-5.12-13.312t-13.312-5.12q-7.168 0-12.288 5.12l-164.864 164.864q-5.12 5.12-5.12 13.312t5.12 13.312l164.864 163.84q5.12 5.12 12.288 5.12 8.192 0 13.312-5.12t5.12-13.312zM1024 210.432v-109.568q0-7.168-5.12-13.312t-13.312-5.12h-987.136q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 12.288t13.312 6.144h987.136q7.168 0 13.312-6.144t5.12-12.288zM1024 429.568v-109.568q0-7.168-5.12-13.312t-13.312-5.12h-621.568q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 13.312t13.312 5.12h621.568q7.168 0 13.312-5.12t5.12-13.312zM1024 648.704v-109.568q0-7.168-5.12-12.288t-13.312-6.144h-621.568q-7.168 0-13.312 6.144t-5.12 12.288v109.568q0 8.192 5.12 13.312t13.312 5.12h621.568q7.168 0 13.312-5.12t5.12-13.312zM1024 868.864v-109.568q0-8.192-5.12-13.312t-13.312-5.12h-987.136q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 12.288t13.312 6.144h987.136q7.168 0 13.312-6.144t5.12-12.288z" />
<glyph unicode="&#xe80f;" glyph-name="indent-right" d="M200.704 484.864q0-8.192-5.12-13.312l-163.84-164.864q-5.12-5.12-13.312-5.12-7.168 0-13.312 5.12t-5.12 13.312v328.704q0 8.192 5.12 13.312t13.312 5.12 13.312-5.12l163.84-163.84q5.12-5.12 5.12-13.312zM1024 210.432v-109.568q0-7.168-5.12-13.312t-13.312-5.12h-987.136q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 12.288t13.312 6.144h987.136q7.168 0 13.312-6.144t5.12-12.288zM1024 429.568v-109.568q0-7.168-5.12-13.312t-13.312-5.12h-621.568q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 13.312t13.312 5.12h621.568q7.168 0 13.312-5.12t5.12-13.312zM1024 648.704v-109.568q0-7.168-5.12-12.288t-13.312-6.144h-621.568q-7.168 0-13.312 6.144t-5.12 12.288v109.568q0 8.192 5.12 13.312t13.312 5.12h621.568q7.168 0 13.312-5.12t5.12-13.312zM1024 868.864v-109.568q0-8.192-5.12-13.312t-13.312-5.12h-987.136q-7.168 0-13.312 5.12t-5.12 13.312v109.568q0 7.168 5.12 12.288t13.312 6.144h987.136q7.168 0 13.312-6.144t5.12-12.288z" />
<glyph unicode="&#xe810;" glyph-name="list-numbered" d="M218.112 34.304q0-46.080-31.744-71.68t-76.8-26.624q-61.44 0-98.304 37.888l31.744 50.176q28.672-25.6 61.44-25.6 16.384 0 28.672 8.192t12.288 24.576q0 35.84-60.416 31.744l-14.336 31.744q4.096 6.144 18.432 24.576t24.576 31.744 20.48 21.504v1.024q-9.216 0-27.648-1.024t-27.648 0v-30.72h-60.416v87.040h190.464v-50.176l-54.272-66.56q28.672-6.144 46.080-27.648t17.408-50.176zM219.136 392.704v-91.136h-206.848q-4.096 20.48-4.096 30.72 0 29.696 14.336 53.248t31.744 38.912 37.888 27.648 31.744 24.576 14.336 25.6q0 14.336-9.216 22.528t-22.528 7.168q-25.6 0-46.080-32.768l-48.128 33.792q13.312 28.672 40.96 45.056t60.416 16.384q40.96 0 69.632-23.552t28.672-64.512q0-28.672-19.456-52.224t-43.008-36.864-43.008-28.672-20.48-30.72h72.704v34.816h60.416zM1024 210.432v-109.568q0-8.192-5.12-13.312t-13.312-5.12h-694.272q-8.192 0-13.312 5.12t-5.12 13.312v109.568q0 8.192 5.12 13.312t13.312 5.12h694.272q7.168 0 13.312-6.144t5.12-12.288zM219.136 724.48v-57.344h-191.488v57.344h61.44q0 22.528 0 69.632t1.024 68.608v7.168h-1.024q-5.12-10.24-28.672-30.72l-40.96 43.008 77.824 72.704h60.416v-230.4h61.44zM1024 503.296v-110.592q0-7.168-5.12-12.288t-13.312-5.12h-694.272q-8.192 0-13.312 5.12t-5.12 12.288v110.592q0 7.168 5.12 12.288t13.312 5.12h694.272q7.168 0 13.312-5.12t5.12-12.288zM1024 795.136v-109.568q0-7.168-5.12-12.288t-13.312-6.144h-694.272q-8.192 0-13.312 6.144t-5.12 12.288v109.568q0 8.192 5.12 13.312t13.312 5.12h694.272q7.168 0 13.312-5.12t5.12-13.312z" />
<glyph unicode="&#xe811;" glyph-name="underline" horiz-adv-x="878" d="M27.648 833.024q-21.504 1.024-25.6 2.048l-2.048 50.176q7.168 0 22.528 0 34.816 0 64.512-2.048 75.776-4.096 94.208-4.096 49.152 0 96.256 2.048 66.56 2.048 83.968 3.072 31.744 0 49.152 1.024l-1.024-8.192 1.024-36.864v-5.12q-33.792-5.12-70.656-5.12-33.792 0-45.056-14.336-7.168-7.168-7.168-74.752 0-8.192 0-18.432t0-15.36l1.024-131.072 8.192-159.744q3.072-70.656 28.672-114.688 20.48-33.792 55.296-53.248 50.176-26.624 100.352-26.624 59.392 0 109.568 16.384 31.744 10.24 56.32 28.672 27.648 20.48 37.888 36.864 20.48 31.744 29.696 64.512 12.288 41.984 12.288 131.072 0 45.056-2.048 73.728t-6.144 69.632-8.192 91.136l-2.048 33.792q-3.072 37.888-13.312 50.176-19.456 20.48-44.032 19.456l-57.344-1.024-8.192 2.048 1.024 49.152h48.128l116.736-6.144q44.032-2.048 112.64 6.144l10.24-2.048q3.072-21.504 3.072-28.672 0-4.096-2.048-17.408-25.6-7.168-48.128-8.192-41.984-6.144-45.056-9.216-8.192-9.216-8.192-23.552 0-4.096 0-15.36t1.024-17.408q5.12-11.264 13.312-226.304 3.072-111.616-9.216-174.080-8.192-43.008-23.552-69.632-21.504-36.864-63.488-70.656-43.008-32.768-104.448-50.176-62.464-19.456-145.408-19.456-95.232 0-162.816 26.624t-101.376 69.632q-34.816 43.008-48.128 111.616-9.216 45.056-9.216 135.168v190.464q0 107.52-9.216 121.856-14.336 20.48-83.968 21.504zM877.568 27.136v36.864q0 8.192-5.12 13.312t-13.312 5.12h-840.704q-8.192 0-13.312-5.12t-5.12-13.312v-36.864q0-8.192 5.12-13.312t13.312-5.12h840.704q8.192 0 13.312 5.12t5.12 13.312z" />
<glyph unicode="&#xe812;" glyph-name="table" horiz-adv-x="950" d="M292.864 173.568v109.568q0 8.192-5.12 13.312t-13.312 5.12h-183.296q-7.168 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h183.296q8.192 0 13.312 5.12t5.12 13.312zM292.864 392.704v110.592q0 7.168-5.12 12.288t-13.312 5.12h-183.296q-7.168 0-13.312-5.12t-5.12-12.288v-110.592q0-7.168 5.12-12.288t13.312-5.12h183.296q8.192 0 13.312 5.12t5.12 12.288zM584.704 173.568v109.568q0 8.192-5.12 13.312t-12.288 5.12h-183.296q-8.192 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h183.296q7.168 0 12.288 5.12t5.12 13.312zM292.864 612.864v109.568q0 8.192-5.12 13.312t-13.312 5.12h-183.296q-7.168 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h183.296q8.192 0 13.312 5.12t5.12 13.312zM584.704 392.704v110.592q0 7.168-5.12 12.288t-12.288 5.12h-183.296q-8.192 0-13.312-5.12t-5.12-12.288v-110.592q0-7.168 5.12-12.288t13.312-5.12h183.296q7.168 0 12.288 5.12t5.12 12.288zM877.568 173.568v109.568q0 8.192-5.12 13.312t-13.312 5.12h-182.272q-8.192 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h182.272q8.192 0 13.312 5.12t5.12 13.312zM584.704 612.864v109.568q0 8.192-5.12 13.312t-12.288 5.12h-183.296q-8.192 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h183.296q7.168 0 12.288 5.12t5.12 13.312zM877.568 392.704v110.592q0 7.168-5.12 12.288t-13.312 5.12h-182.272q-8.192 0-13.312-5.12t-5.12-12.288v-110.592q0-7.168 5.12-12.288t13.312-5.12h182.272q8.192 0 13.312 5.12t5.12 12.288zM877.568 612.864v109.568q0 8.192-5.12 13.312t-13.312 5.12h-182.272q-8.192 0-13.312-5.12t-5.12-13.312v-109.568q0-8.192 5.12-13.312t13.312-5.12h182.272q8.192 0 13.312 5.12t5.12 13.312zM951.296 795.136v-621.568q0-37.888-27.648-64.512t-64.512-26.624h-768q-36.864 0-64.512 26.624t-26.624 64.512v621.568q0 37.888 26.624 64.512t64.512 27.648h768q37.888 0 64.512-27.648t27.648-64.512z" />
<glyph unicode="&#xe813;" glyph-name="eraser" horiz-adv-x="1097" d="M512 155.136l192.512 220.16h-439.296l-192.512-220.16h439.296zM1090.56 770.56q9.216-19.456 6.144-40.96t-17.408-36.864l-512-585.728q-22.528-24.576-55.296-24.576h-439.296q-21.504 0-38.912 11.264t-27.648 31.744q-8.192 19.456-5.12 40.96t17.408 36.864l512 585.728q21.504 24.576 54.272 24.576h439.296q21.504 0 39.936-11.264t26.624-31.744z" />
<glyph unicode="&#xe814;" glyph-name="text-height" d="M996.352 155.136q19.456 0 24.576-10.24t-6.144-25.6l-72.704-92.16q-11.264-15.36-27.648-15.36t-27.648 15.36l-72.704 92.16q-11.264 15.36-6.144 25.6t23.552 10.24h46.080v585.728h-46.080q-18.432 0-23.552 10.24t6.144 25.6l72.704 92.16q11.264 15.36 27.648 15.36t27.648-15.36l72.704-92.16q11.264-15.36 6.144-25.6t-24.576-10.24h-45.056v-585.728h45.056zM46.080 886.272l30.72-15.36q7.168-3.072 120.832-3.072 25.6 0 75.776 1.024t74.752 1.024q21.504 0 61.44 0t61.44 0h167.936q3.072 0 12.288 0t11.264 0 9.216 1.024 10.24 5.12 8.192 10.24l24.576 1.024q2.048 0 7.168-1.024t8.192 0q1.024-63.488 1.024-191.488 0-46.080-2.048-62.464-22.528-8.192-38.912-10.24-14.336 24.576-31.744 72.704-1.024 5.12-6.144 27.648t-8.192 41.984-4.096 20.48q-3.072 4.096-7.168 7.168t-8.192 3.072-8.192 1.024-10.24 1.024-9.216-1.024q-9.216 0-37.888 1.024t-43.008 0-35.84-1.024-40.96-4.096q-5.12-46.080-4.096-76.8 0-54.272 1.024-222.208t1.024-260.096q0-9.216-1.024-40.96t0-52.224 7.168-38.912q22.528-12.288 70.656-24.576t68.608-21.504q2.048-22.528 2.048-28.672 0-8.192-1.024-16.384l-19.456-1.024q-44.032-1.024-124.928 5.12t-117.76 5.12q-28.672 0-87.040-5.12t-86.016-5.12q-2.048 29.696-2.048 29.696v5.12q9.216 15.36 34.816 24.576t56.32 17.408 45.056 15.36q10.24 23.552 10.24 218.112 0 58.368-1.024 173.056t-2.048 174.080v66.56q0 1.024 0 8.192t1.024 14.336-1.024 15.36-2.048 13.312-3.072 8.192q-6.144 7.168-92.16 7.168-18.432 0-53.248-7.168t-45.056-15.36q-11.264-7.168-19.456-40.96t-18.432-63.488-24.576-30.72q-23.552 15.36-31.744 25.6v218.112z" />
<glyph unicode="&#xe815;" glyph-name="brush" d="M922.624 960q39.936 0 70.656-26.624t29.696-66.56q0-35.84-25.6-86.016-189.44-359.424-266.24-430.080-55.296-52.224-123.904-52.224-72.704 0-123.904 53.248t-52.224 124.928q0 73.728 53.248 121.856l364.544 330.752q33.792 30.72 73.728 30.72zM403.456 369.152q22.528-43.008 60.416-74.752t86.016-43.008l1.024-40.96q2.048-121.856-73.728-197.632t-199.68-76.8q-69.632 0-123.904 26.624t-88.064 72.704-49.152 104.448-16.384 125.952q4.096-3.072 23.552-17.408t35.84-25.6 32.768-20.48 26.624-9.216q23.552 0 31.744 20.48 14.336 37.888 32.768 64.512t39.936 43.008 50.176 27.648 58.368 14.336 71.68 6.144z" />
<glyph unicode="&#xe816;" glyph-name="pencil" horiz-adv-x="878" d="M207.872 82.432l51.2 52.224-134.144 134.144-52.224-52.224v-61.44h73.728v-72.704h61.44zM505.856 612.864q0 12.288-12.288 12.288-5.12 0-9.216-4.096l-310.272-309.248q-4.096-4.096-4.096-10.24 0-12.288 13.312-12.288 5.12 0 9.216 4.096l310.272 309.248q3.072 4.096 3.072 10.24zM475.136 722.432l237.568-237.568-475.136-476.16h-237.568v238.592zM865.28 667.136q0-29.696-20.48-51.2l-95.232-95.232-237.568 238.592 95.232 94.208q20.48 21.504 51.2 21.504 29.696 0 52.224-21.504l134.144-134.144q20.48-22.528 20.48-52.224z" />
<glyph unicode="&#xe817;" glyph-name="minus" horiz-adv-x="804" d="M804.864 539.136v-109.568q0-22.528-16.384-38.912t-38.912-15.36h-694.272q-23.552 0-38.912 15.36t-16.384 38.912v109.568q0 23.552 16.384 38.912t38.912 16.384h694.272q22.528 0 38.912-16.384t16.384-38.912z" />
<glyph unicode="&#xe818;" glyph-name="picture" horiz-adv-x="1097" d="M365.568 631.296q0-46.080-31.744-77.824t-77.824-32.768-77.824 32.768-31.744 77.824 31.744 76.8 77.824 32.768 77.824-32.768 31.744-76.8zM951.296 411.136v-256h-804.864v109.568l182.272 183.296 92.16-91.136 291.84 291.84zM1005.568 813.568h-914.432q-7.168 0-12.288-5.12t-6.144-13.312v-694.272q0-8.192 6.144-13.312t12.288-5.12h914.432q7.168 0 13.312 5.12t5.12 13.312v694.272q0 7.168-5.12 13.312t-13.312 5.12zM1096.704 795.136v-694.272q0-37.888-26.624-64.512t-64.512-27.648h-914.432q-36.864 0-64.512 27.648t-26.624 64.512v694.272q0 37.888 26.624 64.512t64.512 27.648h914.432q37.888 0 64.512-27.648t26.624-64.512z" />
<glyph unicode="&#xe819;" glyph-name="file-image" horiz-adv-x="878" d="M838.656 742.912q16.384-16.384 27.648-43.008t11.264-51.2v-657.408q0-23.552-15.36-38.912t-38.912-16.384h-768q-23.552 0-38.912 16.384t-16.384 38.912v913.408q0 23.552 16.384 38.912t38.912 16.384h512q22.528 0 50.176-11.264t43.008-27.648zM584.704 882.176v-215.040h215.040q-5.12 16.384-12.288 23.552l-179.2 179.2q-6.144 7.168-23.552 12.288zM804.864 8.704v585.728h-237.568q-23.552 0-38.912 15.36t-16.384 38.912v238.592h-439.296v-878.592h732.16zM731.136 264.704v-182.272h-584.704v109.568l109.568 109.568 72.704-72.704 220.16 219.136zM256 375.296q-46.080 0-77.824 31.744t-31.744 77.824 31.744 77.824 77.824 31.744 77.824-31.744 31.744-77.824-31.744-77.824-77.824-31.744z" />
<glyph unicode="&#xe81a;" glyph-name="cw" horiz-adv-x="878" d="M877.568 813.568v-256q0-14.336-10.24-25.6t-26.624-11.264h-256q-23.552 0-32.768 23.552-10.24 22.528 7.168 38.912l78.848 78.848q-83.968 78.848-198.656 78.848-59.392 0-113.664-23.552t-93.184-62.464-63.488-93.184-22.528-113.664 22.528-113.664 63.488-93.184 93.184-62.464 113.664-23.552q67.584 0 128 29.696t102.4 83.968q4.096 6.144 13.312 7.168 8.192 0 14.336-5.12l77.824-78.848q5.12-4.096 6.144-11.264t-5.12-13.312q-61.44-75.776-150.528-116.736t-186.368-41.984q-89.088 0-171.008 34.816t-139.264 94.208-94.208 140.288-34.816 169.984 34.816 169.984 94.208 140.288 139.264 94.208 171.008 34.816q83.968 0 161.792-31.744t140.288-90.112l73.728 73.728q16.384 18.432 39.936 8.192 22.528-9.216 22.528-33.792z" />
<glyph unicode="&#xe81b;" glyph-name="ccw" horiz-adv-x="878" d="M877.568 448q0-89.088-34.816-169.984t-93.184-140.288-140.288-94.208-169.984-34.816q-98.304 0-187.392 41.984t-150.528 116.736q-4.096 6.144-4.096 13.312t5.12 11.264l77.824 78.848q6.144 5.12 14.336 5.12 9.216-1.024 13.312-7.168 41.984-54.272 102.4-83.968t129.024-29.696q59.392 0 112.64 23.552t94.208 62.464 62.464 93.184 22.528 113.664-22.528 113.664-62.464 93.184-94.208 62.464-112.64 23.552q-56.32 0-107.52-20.48t-92.16-58.368l78.848-78.848q17.408-16.384 8.192-38.912-10.24-23.552-33.792-23.552h-256q-15.36 0-25.6 11.264t-11.264 25.6v256q0 24.576 22.528 33.792 22.528 10.24 39.936-8.192l73.728-73.728q61.44 58.368 140.288 90.112t162.816 31.744q89.088 0 169.984-34.816t140.288-94.208 93.184-140.288 34.816-169.984z" />
<glyph unicode="&#xe900;" glyph-name="omega" d="M704 64h256l64 128v-256h-384v214.214c131.112 56.484 224 197.162 224 361.786 0 214.432-157.598 382.266-352 382.266-194.406 0-352-167.832-352-382.266 0-164.624 92.886-305.302 224-361.786v-214.214h-384v256l64-128h256v32.59c-187.63 66.46-320 227.402-320 415.41 0 247.424 229.23 448 512 448s512-200.576 512-448c0-188.008-132.37-348.95-320-415.41v-32.59z" />
<glyph unicode="&#xe904;" glyph-name="newspaper" d="M896 704v128h-896v-704c0-35.346 28.654-64 64-64h864c53.022 0 96 42.978 96 96v544h-128zM832 128h-768v640h768v-640zM128 640h640v-64h-640zM512 512h256v-64h-256zM512 384h256v-64h-256zM512 256h192v-64h-192zM128 512h320v-320h-320z" />
<glyph unicode="&#xe90f;" glyph-name="camera" d="M304 352c0-114.876 93.124-208 208-208s208 93.124 208 208-93.124 208-208 208-208-93.124-208-208zM960 704h-224c-16 64-32 128-96 128h-256c-64 0-80-64-96-128h-224c-35.2 0-64-28.8-64-64v-576c0-35.2 28.8-64 64-64h896c35.2 0 64 28.8 64 64v576c0 35.2-28.8 64-64 64zM512 68c-156.85 0-284 127.148-284 284 0 156.85 127.15 284 284 284 156.852 0 284-127.15 284-284 0-156.852-127.146-284-284-284zM960 512h-128v64h128v-64z" />
<glyph unicode="&#xe911;" glyph-name="music" d="M960 960h64v-736c0-88.366-100.29-160-224-160s-224 71.634-224 160c0 88.368 100.29 160 224 160 62.684 0 119.342-18.4 160-48.040v368.040l-512-113.778v-494.222c0-88.366-100.288-160-224-160s-224 71.634-224 160c0 88.368 100.288 160 224 160 62.684 0 119.342-18.4 160-48.040v624.040l576 128z" />
<glyph unicode="&#xe912;" glyph-name="play" d="M981.188 799.892c-143.632 20.65-302.332 32.108-469.186 32.108-166.86 0-325.556-11.458-469.194-32.108-27.53-107.726-42.808-226.75-42.808-351.892 0-125.14 15.278-244.166 42.808-351.89 143.638-20.652 302.336-32.11 469.194-32.11 166.854 0 325.552 11.458 469.186 32.11 27.532 107.724 42.812 226.75 42.812 351.89 0 125.142-15.28 244.166-42.812 351.892zM384.002 256v384l320-192-320-192z" />
<glyph unicode="&#xe914;" glyph-name="video-camera" d="M384 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM0 672c0 88.366 71.634 160 160 160s160-71.634 160-160c0-88.366-71.634-160-160-160s-160 71.634-160 160zM768 352v96c0 35.2-28.8 64-64 64h-640c-35.2 0-64-28.8-64-64v-320c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v96l256-160v448l-256-160zM640 192h-512v192h512v-192z" />
<glyph unicode="&#xe92b;" glyph-name="file-zip" d="M917.806 730.924c-22.208 30.292-53.174 65.7-87.178 99.704s-69.412 64.964-99.704 87.178c-51.574 37.82-76.592 42.194-90.924 42.194h-496c-44.112 0-80-35.888-80-80v-864c0-44.112 35.884-80 80-80h736c44.112 0 80 35.888 80 80v624c0 14.332-4.372 39.35-42.194 90.924v0 0zM785.374 785.374c30.7-30.7 54.8-58.398 72.58-81.374h-153.954v153.946c22.98-17.78 50.678-41.878 81.374-72.572v0 0zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16 0 0 495.956 0.002 496 0v-224c0-17.672 14.322-32 32-32h224v-624zM256 896h128v-64h-128v64zM384 832h128v-64h-128v64zM256 768h128v-64h-128v64zM384 704h128v-64h-128v64zM256 640h128v-64h-128v64zM384 576h128v-64h-128v64zM256 512h128v-64h-128v64zM384 448h128v-64h-128v64zM256 112c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-80v64h-128v-272zM448 192v-64h-128v64h128z" />
<glyph unicode="&#xe92e;" glyph-name="stack" d="M1024 640l-512 256-512-256 512-256 512 256zM512 811.030l342.058-171.030-342.058-171.030-342.058 171.030 342.058 171.030zM921.444 499.278l102.556-51.278-512-256-512 256 102.556 51.278 409.444-204.722zM921.444 307.278l102.556-51.278-512-256-512 256 102.556 51.278 409.444-204.722z" />
<glyph unicode="&#xe93f;" glyph-name="credit-card" d="M928 832h-832c-52.8 0-96-43.2-96-96v-576c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v576c0 52.8-43.2 96-96 96zM96 768h832c17.346 0 32-14.654 32-32v-96h-896v96c0 17.346 14.654 32 32 32zM928 128h-832c-17.346 0-32 14.654-32 32v288h896v-288c0-17.346-14.654-32-32-32zM128 320h64v-128h-64zM256 320h64v-128h-64zM384 320h64v-128h-64z" />
<glyph unicode="&#xe944;" glyph-name="address-book" d="M192 960v-1024h768v1024h-768zM576 703.67c70.51 0 127.67-57.16 127.67-127.67s-57.16-127.67-127.67-127.67-127.67 57.16-127.67 127.67 57.16 127.67 127.67 127.67v0zM768 192h-384v64c0 70.696 57.306 128 128 128v0h128c70.696 0 128-57.304 128-128v-64zM64 896h96v-192h-96v192zM64 640h96v-192h-96v192zM64 384h96v-192h-96v192zM64 128h96v-192h-96v192z" />
<glyph unicode="&#xe945;" glyph-name="envelop" d="M928 832h-832c-52.8 0-96-43.2-96-96v-640c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v640c0 52.8-43.2 96-96 96zM398.74 409.628l-270.74-210.892v501.642l270.74-290.75zM176.38 704h671.24l-335.62-252-335.62 252zM409.288 398.302l102.712-110.302 102.71 110.302 210.554-270.302h-626.528l210.552 270.302zM625.26 409.628l270.74 290.75v-501.642l-270.74 210.892z" />
<glyph unicode="&#xe947;" glyph-name="location" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 448c-106.040 0-192 85.96-192 192s85.96 192 192 192 192-85.96 192-192-85.96-192-192-192z" />
<glyph unicode="&#xe95c;" glyph-name="drawer" d="M1016.988 307.99l-256 320c-6.074 7.592-15.266 12.010-24.988 12.010h-448c-9.72 0-18.916-4.418-24.988-12.010l-256-320c-4.538-5.674-7.012-12.724-7.012-19.99v-288c0-35.346 28.654-64 64-64h896c35.348 0 64 28.654 64 64v288c0 7.266-2.472 14.316-7.012 19.99zM960 256h-224l-128-128h-192l-128 128h-224v20.776l239.38 299.224h417.24l239.38-299.224v-20.776zM736 448h-448c-17.672 0-32 14.328-32 32s14.328 32 32 32h448c17.674 0 32-14.328 32-32s-14.326-32-32-32zM800 320h-576c-17.672 0-32 14.326-32 32s14.328 32 32 32h576c17.674 0 32-14.326 32-32s-14.326-32-32-32z" />
<glyph unicode="&#xe960;" glyph-name="download" d="M512 384l256 256h-192v256h-128v-256h-192zM744.726 488.728l-71.74-71.742 260.080-96.986-421.066-157.018-421.066 157.018 260.080 96.986-71.742 71.742-279.272-104.728v-256l512-192 512 192v256z" />
<glyph unicode="&#xe961;" glyph-name="upload" d="M448 384h128v256h192l-256 256-256-256h192zM640 528v-98.712l293.066-109.288-421.066-157.018-421.066 157.018 293.066 109.288v98.712l-384-144v-256l512-192 512 192v256z" />
<glyph unicode="&#xe977;" glyph-name="quotes-left" d="M225 512c123.712 0 224-100.29 224-224 0-123.712-100.288-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.634-11.636-22.252-24.016-31.83-37.020 11.438 1.8 23.16 2.746 35.104 2.746zM801 512c123.71 0 224-100.29 224-224 0-123.712-100.29-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.636-11.636-22.254-24.016-31.832-37.020 11.44 1.8 23.16 2.746 35.106 2.746z" />
<glyph unicode="&#xe98b;" glyph-name="enlarge2" d="M1024 960v-416l-160 160-192-192-96 96 192 192-160 160zM448 288l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe98c;" glyph-name="shrink2" d="M448 384v-416l-160 160-192-192-96 96 192 192-160 160zM1024 864l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe98f;" glyph-name="lock" d="M592 512h-16v192c0 105.87-86.13 192-192 192h-128c-105.87 0-192-86.13-192-192v-192h-16c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h544c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48zM192 704c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-192h-256v192z" />
<glyph unicode="&#xe990;" glyph-name="unlocked" d="M768 896c105.87 0 192-86.13 192-192v-192h-128v192c0 35.29-28.71 64-64 64h-128c-35.29 0-64-28.71-64-64v-192h16c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48h-544c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h400v192c0 105.87 86.13 192 192 192h128z" />
<glyph unicode="&#xe991;" glyph-name="wrench" d="M1002.934 142.124l-460.552 394.76c21.448 40.298 33.618 86.282 33.618 135.116 0 159.058-128.942 288-288 288-29.094 0-57.172-4.332-83.646-12.354l166.39-166.39c24.89-24.89 24.89-65.62 0-90.51l-101.49-101.49c-24.89-24.89-65.62-24.89-90.51 0l-166.39 166.39c-8.022-26.474-12.354-54.552-12.354-83.646 0-159.058 128.942-288 288-288 48.834 0 94.818 12.17 135.116 33.62l394.76-460.552c22.908-26.724 62.016-28.226 86.904-3.338l101.492 101.492c24.888 24.888 23.386 63.994-3.338 86.902z" />
<glyph unicode="&#xe9ce;" glyph-name="eye" d="M512 768c-223.318 0-416.882-130.042-512-320 95.118-189.958 288.682-320 512-320 223.312 0 416.876 130.042 512 320-95.116 189.958-288.688 320-512 320zM764.45 598.296c60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-89.56 0-176.858 25.486-252.452 73.704-60.158 38.372-111.138 89.772-149.432 150.296 38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.86 7.3-9.96-27.328-15.41-56.822-15.41-87.596 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 30.774-5.452 60.268-15.408 87.598 3.978-2.378 7.938-4.802 11.858-7.302v0zM512 544c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.982 96-96z" />
<glyph unicode="&#xe9d1;" glyph-name="eye-blocked" d="M945.942 945.942c-18.746 18.744-49.136 18.744-67.882 0l-202.164-202.164c-51.938 15.754-106.948 24.222-163.896 24.222-223.318 0-416.882-130.042-512-320 41.122-82.124 100.648-153.040 173.022-207.096l-158.962-158.962c-18.746-18.746-18.746-49.136 0-67.882 9.372-9.374 21.656-14.060 33.94-14.060s24.568 4.686 33.942 14.058l864 864c18.744 18.746 18.744 49.138 0 67.884zM416 640c42.24 0 78.082-27.294 90.92-65.196l-121.724-121.724c-37.902 12.838-65.196 48.68-65.196 90.92 0 53.020 42.98 96 96 96zM110.116 448c38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.862 7.3-9.962-27.328-15.412-56.822-15.412-87.596 0-54.89 17.286-105.738 46.7-147.418l-60.924-60.924c-52.446 36.842-97.202 83.882-131.66 138.342zM768 518c0 27.166-4.256 53.334-12.102 77.898l-321.808-321.808c24.568-7.842 50.742-12.090 77.91-12.090 141.382 0 256 114.618 256 256zM830.026 670.026l-69.362-69.362c1.264-0.786 2.53-1.568 3.786-2.368 60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-38.664 0-76.902 4.76-113.962 14.040l-76.894-76.894c59.718-21.462 123.95-33.146 190.856-33.146 223.31 0 416.876 130.042 512 320-45.022 89.916-112.118 166.396-193.974 222.026z" />
<glyph unicode="&#xe9df;" glyph-name="happy" d="M512-64c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 864c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM512 361.24c115.95 0 226.23 30.806 320 84.92-14.574-178.438-153.128-318.16-320-318.16-166.868 0-305.422 139.872-320 318.304 93.77-54.112 204.050-85.064 320-85.064zM256 608c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96zM640 608c0 53.019 28.654 96 64 96s64-42.981 64-96c0-53.019-28.654-96-64-96s-64 42.981-64 96z" />
<glyph unicode="&#xea4e;" glyph-name="command" d="M736 64c-88.224 0-160 71.776-160 160v96h-128v-96c0-88.224-71.776-160-160-160s-160 71.776-160 160 71.776 160 160 160h96v128h-96c-88.224 0-160 71.776-160 160s71.776 160 160 160 160-71.776 160-160v-96h128v96c0 88.224 71.776 160 160 160s160-71.776 160-160-71.776-160-160-160h-96v-128h96c88.224 0 160-71.776 160-160s-71.774-160-160-160zM640 320v-96c0-52.934 43.066-96 96-96s96 43.066 96 96-43.066 96-96 96h-96zM288 320c-52.934 0-96-43.066-96-96s43.066-96 96-96 96 43.066 96 96v96h-96zM448 384h128v128h-128v-128zM640 576h96c52.934 0 96 43.066 96 96s-43.066 96-96 96-96-43.066-96-96v-96zM288 768c-52.934 0-96-43.066-96-96s43.066-96 96-96h96v96c0 52.934-43.064 96-96 96z" />
<glyph unicode="&#xea5c;" glyph-name="font2" d="M799.596 943.792c-90.526 0-148.62 16.208-241.848 16.208-301.284 0-441.792-171.584-441.792-345.872 0-102.678 48.64-136.458 144.564-136.458-6.758 14.864-18.914 31.080-18.914 104.034 0 204.010 77.006 263.458 175.636 267.51 0 0-80.918-793.374-315.778-888.542v-24.672h316.594l108.026 512h197.844l44.072 128h-214.908l51.944 246.19c59.446-12.156 117.542-24.316 167.532-24.316 62.148 0 118.894 18.914 149.968 162.126-37.826-12.16-78.362-16.208-122.94-16.208z" />
<glyph unicode="&#xea65;" glyph-name="strikethrough" d="M1024 448v-64h-234.506c27.504-38.51 42.506-82.692 42.506-128 0-70.878-36.66-139.026-100.58-186.964-59.358-44.518-137.284-69.036-219.42-69.036-82.138 0-160.062 24.518-219.42 69.036-63.92 47.938-100.58 116.086-100.58 186.964h128c0-69.382 87.926-128 192-128s192 58.618 192 128c0 69.382-87.926 128-192 128h-512v64h299.518c-2.338 1.654-4.656 3.324-6.938 5.036-63.92 47.94-100.58 116.086-100.58 186.964s36.66 139.024 100.58 186.964c59.358 44.518 137.282 69.036 219.42 69.036 82.136 0 160.062-24.518 219.42-69.036 63.92-47.94 100.58-116.086 100.58-186.964h-128c0 69.382-87.926 128-192 128s-192-58.618-192-128c0-69.382 87.926-128 192-128 78.978 0 154.054-22.678 212.482-64h299.518z" />
<glyph unicode="&#xea67;" glyph-name="sigma" d="M941.606 225.292l44.394 94.708h38l-64-384h-960v74.242l331.546 391.212-331.546 331.546v227h980l44-256h-34.376l-18.72 38.88c-35.318 73.364-61.904 89.12-138.904 89.12h-662l353.056-353.056-297.42-350.944h542.364c116.008 0 146.648 41.578 173.606 97.292z" />
<glyph unicode="&#xea68;" glyph-name="sigma2" d="M941.606 225.292l44.394 94.708h38l-64-384h-960v74.242l331.546 391.212-331.546 331.546v227h980l44-256h-34.376l-18.72 38.88c-35.318 73.364-61.904 89.12-138.904 89.12h-662l353.056-353.056-297.42-350.944h542.364c116.008 0 146.648 41.578 173.606 97.292z" />
<glyph unicode="&#xeade;" glyph-name="libreoffice" d="M534.626 937.372c-12.444 12.444-37.026 22.628-54.626 22.628h-384c-17.6 0-32-14.4-32-32v-960c0-17.6 14.4-32 32-32h768c17.6 0 32 14.4 32 32v576c0 17.6-10.182 42.182-22.626 54.626l-338.748 338.746zM832 0h-704v896h351.158c2.916-0.48 8.408-2.754 10.81-4.478l337.556-337.554c1.722-2.402 3.996-7.894 4.476-10.81v-543.158zM864 960h-192c-17.6 0-21.818-10.182-9.374-22.626l210.746-210.746c12.446-12.446 22.628-8.228 22.628 9.372v192c0 17.6-14.4 32-32 32z" />
<glyph unicode="&#xf00e;" glyph-name="search-plus" horiz-adv-x="951" d="M585.143 493.714v-36.571q0-7.429-5.429-12.857t-12.857-5.429h-128v-128q0-7.429-5.429-12.857t-12.857-5.429h-36.571q-7.429 0-12.857 5.429t-5.429 12.857v128h-128q-7.429 0-12.857 5.429t-5.429 12.857v36.571q0 7.429 5.429 12.857t12.857 5.429h128v128q0 7.429 5.429 12.857t12.857 5.429h36.571q7.429 0 12.857-5.429t5.429-12.857v-128h128q7.429 0 12.857-5.429t5.429-12.857zM658.286 475.428q0 105.714-75.143 180.857t-180.857 75.143-180.857-75.143-75.143-180.857 75.143-180.857 180.857-75.143 180.857 75.143 75.143 180.857zM950.857 0q0-30.286-21.429-51.714t-51.714-21.429q-30.857 0-51.429 21.714l-196 195.429q-102.286-70.857-228-70.857-81.714 0-156.286 31.714t-128.571 85.714-85.714 128.571-31.714 156.286 31.714 156.286 85.714 128.571 128.571 85.714 156.286 31.714 156.286-31.714 128.571-85.714 85.714-128.571 31.714-156.286q0-125.714-70.857-228l196-196q21.143-21.143 21.143-51.429z" />
<glyph unicode="&#xf010;" glyph-name="search-minus" horiz-adv-x="951" d="M585.143 493.714v-36.571q0-7.429-5.429-12.857t-12.857-5.429h-329.143q-7.429 0-12.857 5.429t-5.429 12.857v36.571q0 7.429 5.429 12.857t12.857 5.429h329.143q7.429 0 12.857-5.429t5.429-12.857zM658.286 475.428q0 105.714-75.143 180.857t-180.857 75.143-180.857-75.143-75.143-180.857 75.143-180.857 180.857-75.143 180.857 75.143 75.143 180.857zM950.857 0q0-30.286-21.429-51.714t-51.714-21.429q-30.857 0-51.429 21.714l-196 195.429q-102.286-70.857-228-70.857-81.714 0-156.286 31.714t-128.571 85.714-85.714 128.571-31.714 156.286 31.714 156.286 85.714 128.571 128.571 85.714 156.286 31.714 156.286-31.714 128.571-85.714 85.714-128.571 31.714-156.286q0-125.714-70.857-228l196-196q21.143-21.143 21.143-51.429z" />
<glyph unicode="&#xf014;" glyph-name="trash-o" horiz-adv-x="805" d="M292.571 530.286v-329.143q0-8-5.143-13.143t-13.143-5.143h-36.571q-8 0-13.143 5.143t-5.143 13.143v329.143q0 8 5.143 13.143t13.143 5.143h36.571q8 0 13.143-5.143t5.143-13.143zM438.857 530.286v-329.143q0-8-5.143-13.143t-13.143-5.143h-36.571q-8 0-13.143 5.143t-5.143 13.143v329.143q0 8 5.143 13.143t13.143 5.143h36.571q8 0 13.143-5.143t5.143-13.143zM585.143 530.286v-329.143q0-8-5.143-13.143t-13.143-5.143h-36.571q-8 0-13.143 5.143t-5.143 13.143v329.143q0 8 5.143 13.143t13.143 5.143h36.571q8 0 13.143-5.143t5.143-13.143zM658.286 116.571v541.714h-512v-541.714q0-12.571 4-23.143t8.286-15.429 6-4.857h475.429q1.714 0 6 4.857t8.286 15.429 4 23.143zM274.286 731.428h256l-27.429 66.857q-4 5.143-9.714 6.286h-181.143q-5.714-1.143-9.714-6.286zM804.571 713.143v-36.571q0-8-5.143-13.143t-13.143-5.143h-54.857v-541.714q0-47.429-26.857-82t-64.571-34.571h-475.429q-37.714 0-64.571 33.429t-26.857 80.857v544h-54.857q-8 0-13.143 5.143t-5.143 13.143v36.571q0 8 5.143 13.143t13.143 5.143h176.571l40 95.429q8.571 21.143 30.857 36t45.143 14.857h182.857q22.857 0 45.143-14.857t30.857-36l40-95.429h176.571q8 0 13.143-5.143t5.143-13.143z" />
<glyph unicode="&#xf039;" glyph-name="align-justify" d="M1024 182.857v-73.143q0-14.857-10.857-25.714t-25.714-10.857h-950.857q-14.857 0-25.714 10.857t-10.857 25.714v73.143q0 14.857 10.857 25.714t25.714 10.857h950.857q14.857 0 25.714-10.857t10.857-25.714zM1024 402.286v-73.143q0-14.857-10.857-25.714t-25.714-10.857h-950.857q-14.857 0-25.714 10.857t-10.857 25.714v73.143q0 14.857 10.857 25.714t25.714 10.857h950.857q14.857 0 25.714-10.857t10.857-25.714zM1024 621.714v-73.143q0-14.857-10.857-25.714t-25.714-10.857h-950.857q-14.857 0-25.714 10.857t-10.857 25.714v73.143q0 14.857 10.857 25.714t25.714 10.857h950.857q14.857 0 25.714-10.857t10.857-25.714zM1024 841.143v-73.143q0-14.857-10.857-25.714t-25.714-10.857h-950.857q-14.857 0-25.714 10.857t-10.857 25.714v73.143q0 14.857 10.857 25.714t25.714 10.857h950.857q14.857 0 25.714-10.857t10.857-25.714z" />
<glyph unicode="&#xf07d;" glyph-name="arrows-v" horiz-adv-x="439" d="M402.286 768q0-14.857-10.857-25.714t-25.714-10.857h-73.143v-585.143h73.143q14.857 0 25.714-10.857t10.857-25.714-10.857-25.714l-146.286-146.286q-10.857-10.857-25.714-10.857t-25.714 10.857l-146.286 146.286q-10.857 10.857-10.857 25.714t10.857 25.714 25.714 10.857h73.143v585.143h-73.143q-14.857 0-25.714 10.857t-10.857 25.714 10.857 25.714l146.286 146.286q10.857 10.857 25.714 10.857t25.714-10.857l146.286-146.286q10.857-10.857 10.857-25.714z" />
<glyph unicode="&#xf108;" glyph-name="desktop" horiz-adv-x="1097" d="M1024 384v475.429q0 7.429-5.429 12.857t-12.857 5.429h-914.286q-7.429 0-12.857-5.429t-5.429-12.857v-475.429q0-7.429 5.429-12.857t12.857-5.429h914.286q7.429 0 12.857 5.429t5.429 12.857zM1097.143 859.428v-621.714q0-37.714-26.857-64.571t-64.571-26.857h-310.857q0-21.143 9.143-44.286t18.286-40.571 9.143-24.857q0-14.857-10.857-25.714t-25.714-10.857h-292.571q-14.857 0-25.714 10.857t-10.857 25.714q0 8 9.143 25.143t18.286 40 9.143 44.571h-310.857q-37.714 0-64.571 26.857t-26.857 64.571v621.714q0 37.714 26.857 64.571t64.571 26.857h914.286q37.714 0 64.571-26.857t26.857-64.571z" />
<glyph unicode="&#xf10a;" glyph-name="tablet" horiz-adv-x="658" d="M365.714 146.286q0 14.857-10.857 25.714t-25.714 10.857-25.714-10.857-10.857-25.714 10.857-25.714 25.714-10.857 25.714 10.857 10.857 25.714zM585.143 237.714v548.571q0 7.429-5.429 12.857t-12.857 5.429h-475.429q-7.429 0-12.857-5.429t-5.429-12.857v-548.571q0-7.429 5.429-12.857t12.857-5.429h475.429q7.429 0 12.857 5.429t5.429 12.857zM658.286 786.286v-621.714q0-37.714-26.857-64.571t-64.571-26.857h-475.429q-37.714 0-64.571 26.857t-26.857 64.571v621.714q0 37.714 26.857 64.571t64.571 26.857h475.429q37.714 0 64.571-26.857t26.857-64.571z" />
</font></defs></svg>
\ No newline at end of file
... ...
No preview for this file type
No preview for this file type
exports.domain = require('../config/common.js').domain;
//exports.domain = require('../config/common.js').domain;
exports.domain = 'http://172.16.6.240:8080/platform';
//路由配置
... ... @@ -14,38 +15,177 @@ exports.res = [
// 【限购商品】ajax分页
route: '/limit/product/page',
method: 'POST',
url: '/limit/queryProductList',
isJsonRaw:true
url: '/limitProduct/getLimitProductList',
isJsonRaw:true,
params: [
{
name: 'hotFlag',
type: 'Number'
},{
name: 'saleFlag',
type: 'Number'
},{
name: 'showFlag',
type: 'Number'
},{
name: 'productName',
type: 'String'
},{
name: 'productSkn',
type: 'String'
},{
name: 'page',
type: 'Number'
},{
name: 'size',
type: 'Number'
}
]
},{
// 【限购商品】添加页面渲染
route: '/limit/product/add',
method: 'GET',
view: 'pages/limit/add',
src: '/product/limit-add',
isJsonRaw:true
isJsonRaw:true,
data: {
data: {},
action: '/limit/product/new'
}
},{
// 【限购商品】ajax添加
route: '/limit/product/new',
method: 'POST',
url: '/limit/newProduct',
url: '/limitProduct/addLimitProduct',
isJsonRaw:true,
params: [
{
name: 'batch',
name: 'productName',
type: 'String'
},
{
name: 'attachmentContent',
type: 'String'
},
{
name: 'batchNo',
type: 'Number'
},{
name: 'limitDate',
name: 'saleTime',
type: 'String'
},{
name: 'optionsStock',
type: 'number'
name: 'hotFlag',
type: 'Number'
},{
name:'orderBy',
type: 'Number'
},{
name:'hotSale',
name: 'notSaleOrderBy',
type: 'Number'
}
]
}, {
route: '/limit/edit/:id',
method: 'GET',
view: 'pages/limit/add',
url: '/limitProduct/getLimitProduct',
isJsonRaw:true,
data:{
action:"/limit/update",
type:"update"
},
src:'/product/limit-add',
params:[
{name:"id",type:"String"}
]
}, {
route: '/limit/update',
method: 'POST',
url: '/limitProduct/updateLimitProduct',
isJsonRaw: true,
params: [
{
name: 'id',
type: 'Number'
},
{
name: 'productName',
type: 'String'
},
{
name: 'attachmentContent',
type: 'String'
},
{
name: 'batchNo',
type: 'Number'
},{
name: 'notSaleSort',
name: 'saleTime',
type: 'String'
},{
name: 'hotFlag',
type: 'Number'
},{
name:'orderBy',
type: 'Number'
},{
name: 'notSaleOrderBy',
type: 'Number'
}
]
}, {
route: '/limit/ajax/getCodeCount',
method: 'POST',
url: '/limitProduct/getCountByStatus',
isJsonRaw: true,
params: [
{
name: 'hotFlag',
type: 'Number'
},{
name: 'saleFlag',
type: 'Number'
},{
name: 'showFlag',
type: 'Number'
},{
name: 'productName',
type: 'String'
},{
name: 'productSkn',
type: 'String'
}
]
}, {
route: '/limit/audit',
method: 'POST',
url: '/limitProduct/auditLimitProduct',
isJsonRaw: true,
params: [
{
name: 'id',
type: 'Number'
},
{
name: 'showFlag',
type: 'String'
},{
name: 'hotFlag',
type: 'Number'
}
]
}, {
route: '/limit/delete',
method: 'POST',
url: '/limitProduct/deleteLimitProduct',
isJsonRaw: true,
params: [
{
name: 'id',
type: 'Number'
}
]
}
];
\ No newline at end of file
}
];
... ...
... ... @@ -8,8 +8,14 @@ exports.res = [{
noApi:true,
data: {
gridurl:'/supplier/store/indexPage',
authority:'{"btn":false,"operationStatus":1,"checkStatusArr":"100,200,900"}',
add:true
authority:'{"btn":false,"info":false,"create":true,"operationStatus":1,"checkStatusArr":"100,200,900"}',
add:true,
pagetitle:{
level1title:"店铺管理",
level2title:"创建店铺管理",
level3title:"创建店铺列表"
},
dropCheckStatus:true
},
src:'/store/index'
},{
... ... @@ -20,7 +26,13 @@ exports.res = [{
noApi:true,
data: {
gridurl:'/supplier/store/index',
authority:'{"btn":true,"operationStatus":2,"checkStatusArr":"200,300,900"}' //300,200,900
authority:'{"btn":true,"operationStatus":2,"checkStatusArr":"200,300,900"}', //300,200,900
dropCheckStatus:true,
pagetitle:{
level1title:"店铺管理",
level2title:"创建店铺管理",
level3title:"店铺审核列表"
}
},
src:'/store/index',
},{
... ... @@ -32,7 +44,11 @@ exports.res = [{
data: {
gridurl:'/supplier/store/checkPage',
authority:'{"btn":false,"info":true,"operationStatus":0,"checkStatusArr":"200"}',
dropCheckStatus:"true"
pagetitle:{
level1title:"店铺管理",
level2title:"创建店铺管理",
level3title:"店铺信息列表"
}
},
src:'/store/index',
},{
... ... @@ -79,7 +95,8 @@ exports.res = [{
params:[{
name:'shopsId',
type:'String'
}]
}],
src:'/store/info'
}
,{
// 店铺详细信息页面渲染
... ... @@ -98,6 +115,24 @@ exports.res = [{
}
},
src:'/store/info'
},
{//审核通过
route: '/Shops/ShopsRest/checkShopPass',
method:"POST",
url:"/ShopsRest/checkShopPass",
isJsonRaw:true,
params:[
{name:"shopsId",type:"Number"}
]
},
{//驳回
route: '/Shops/ShopsRest/checkReject',
method:"POST",
url:"/ShopsRest/checkReject",
isJsonRaw:true,
params:[
{name:"shopsId",type:"Number"}
]
}
//*******************************
... ... @@ -107,13 +142,17 @@ exports.res = [{
// 修改店铺页面渲染
route: '/supplier/store/update/:shopsId',
method: 'GET',
view: 'pages/store/update',
view: 'pages/store/edit',
url:"/ShopsRest/getShopDetailById",
isJsonRaw:true,
params:[{
name:'shopsId',
type:'String'
}],
data:{
pageTitel:"修改店铺",
action:'/store/update',
},
src:'/store/edit'
},{
// 修改店铺页面提交
... ... @@ -125,14 +164,19 @@ exports.res = [{
{name:"shopsId",type:"Number"},
{name:"shopName",type:"String"},
{name:"shopDomain",type:"String"},
{name:"shopNature",type:"String"},
{name:"shopNature",type:"Number"},
{name:"websiteUrl",type:"String"},
{name:"otherUrl",type:"String"},
{name:"shopAddress",type:"String"},
{name:"createPid",type:"Number"},
{name:"shopsType",type:"Number"},
{name:"shopLogo",type:"String"},
{name:"shopIntro",type:"String"},
{name:"websiteUrl",type:"String"},
{name:"otherUrl",type:"String"},
{name:"shopAddress",type:"String"},
{name:"onCheck",type:"Number"},
{name:"shopRelation",type:"String"}
]
... ... @@ -140,13 +184,15 @@ exports.res = [{
// 新增店铺页面渲染
route: '/supplier/store/add',
method: 'GET',
view: 'pages/store/update',
view: 'pages/store/edit',
src:'/store/edit',
noApi:true,
data:{
pageTitel:"创建店铺",
action:'/store/add',
data:{},
add:true
data:{
shopId:0
}
}
}, {// 新增店铺数据
route: '/store/add',
... ... @@ -154,9 +200,10 @@ exports.res = [{
url: '/ShopsRest/addShops',
isJsonRaw: true,
params:[
{name:"shopId",type:"Number",def:0},
{name:"shopName",type:"String"},
{name:"shopDomain",type:"String"},
{name:"shopNature",type:"String"},
{name:"shopNature",type:"Number"},
{name:"createPid",type:"Number"},
{name:"shopsType",type:"Number"},
{name:"shopLogo",type:"String"},
... ... @@ -168,6 +215,10 @@ exports.res = [{
{name:"shopRelation",type:"String"}
]
}
//***********************************
,{
// 店铺管理员关系列表
... ... @@ -229,6 +280,18 @@ exports.res = [{
}],
src:'/store/adminedit'
},{
// 修改店铺管理员关系
route: '/supplier/storeadmin/updateguanxi',
method: 'POST',
url:"/ShopsAdminRest/updateAdminRalation",
isJsonRaw:true,
params:[
{name:"id",type:"Number"},
{name:"shopsId",type:"Number"},
{name:"adminPid",type:"Number"},
{name:"identity",type:"Number"}
]
},{
// 根据身份选择管理员
route: '/supplier/storeadmin/managerName',
method: 'POST',
... ... @@ -256,24 +319,6 @@ exports.res = [{
params:[
{name:"idName",type:"String"}
]
},
{//审核通过
route: '/Shops/ShopsRest/checkShopPass',
method:"POST",
url:"/ShopsRest/checkShopPass",
isJsonRaw:true,
params:[
{name:"shopsId",type:"Number"}
]
},
{//驳回
route: '/Shops/ShopsRest/checkReject',
method:"POST",
url:"/ShopsRest/checkReject",
isJsonRaw:true,
params:[
{name:"shopsId",type:"Number"}
]
}
]
... ...
... ... @@ -6,19 +6,19 @@ exports.uploadFile=function(req,res){
// TODO 代理上传
// 方法1
if(req.is("multipart/form-data")){
/*if(req.is("multipart/form-data")){
req.body.file=fs.createReadStream(req.files[req.body.filename].path);
request.post({url:domain+'/fileupload/upload',formData:req.body},function optionalCallback(err, httpResponse, body){
res.json(JSON.parse(body));
});
}else{
res.json({code:"500",message:"请求类型错误"});
}
// res.json({
// "code":200,
// "data" : "https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1444256491,538988776&fm=80",
// "message":"success"
// });
}*/
res.json({
"code":200,
"data" : "https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1444256491,538988776&fm=80",
"message":"success"
});
//方法2
// req.pipe(request.post(domain+'/fileupload/upload'))
... ...
... ... @@ -16,106 +16,129 @@
</div>
<div class="contentpanel">
<div class="form-horizontal" id="limit-add-form">
<div class="col-md-12">
<div class="panel-group">
<div class="pannel">
<div class="panel-heading">
<h3 class="panel-title">限购商品基本信息</h3>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row">
<div class="col-md-1 height40">限购码批次*</div>
<div class="col-md-1">
<input id="batch" type="text" class="form-control text-center" placeholder="">
</div>
<form id="limit-add-form" action="{{action}}">
{{# data}}
<div class="panel-group">
<div class="pannel">
<div class="panel-heading">
<h4>限购商品基本信息</h4>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row">
<div class="col-md-1 height40"><label>商品名称*:</label></div>
<div class="col-md-1">
<input id="productName" value="{{productName}}" type="text" class="form-control" style="width:280px;" placeholder="商品名称" required>
</div>
<div class="row mt20">
<div class="col-md-1 height40">发售日期*</div>
<div class="col-md-1">
<input id="limitDate" type="text" class="form-control text-center" placeholder="">
</div>
</div>
<div class="row">
<div class="col-md-1 height40"><label>限购码批次*:</label></div>
<div class="col-md-1">
<input id="batchNo" value="{{batchNo}}" type="text" class="form-control" style="width:280px;" placeholder="限购码批次" required>
</div>
</div>
<div class="row mt20">
<div class="col-md-1 height40"><label>发售日期*:</label></div>
<div class="col-md-1">
<input id="saleTime" data-time="{{saleTime}}" value="" type="text" class="form-control" style="width:280px;" placeholder="发售日期" readonly required>
</div>
</div>
</div>
</div>
</div>
<div class="pannel">
<div class="panel-heading">
<h3 class="panel-title">限购商品排序</h3>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row">
<div class="col-md-1 height40">是否热门*</div>
<div class="col-md-1">
<div class="radio pull-left mr15">
<label><input type="radio" name="optionsStock" value="1" checked=""></label>
</div>
<div class="radio pull-left">
<label><input type="radio" name="optionsStock" value="0"></label>
</div>
<input id="optionsStock" type="hidden" value="1" for="radio">
</div>
<div class="col-md-1 height40">
热门发售排序
</div>
<div class="col-md-1">
<input id="hotSale" type="text" class="form-control text-center" placeholder="">
</div>
<div class="col-md-1 height40">
未发售排序
</div>
<div class="col-md-1">
<input id="notSaleSort" type="text" class="form-control text-center" placeholder="">
</div>
<div class="pannel">
<div class="panel-heading">
<h4>限购商品排序</h4>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row">
<div class="col-md-2 height40">
<label>是否热门:</label>
<label class="radio-inline"><input type="radio" name="hotFlag" value="1"></label>
<input type="hidden" value="{{hotFlag}}" id="hotFlag" for="radio">
</div>
<div class="col-md-3 height40">
<label>热门发售排序:</label>
<label><input id="orderBy" value="{{orderBy}}" type="text" class="form-control" placeholder=""></label>
<p>(提示:数字越大越靠前)</p>
</div>
<div class="col-md-3 height40">
<label>未发售排序:</label>
<label><input id="notSaleOrderBy" value="{{notSaleOrderBy}}" type="text" class="form-control" placeholder=""></label>
</div>
</div>
</div>
</div>
</div>
<div class="pannel">
<div class="panel-heading">
<h3 class="panel-title">限量详情内容</h3>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row mb20">
<div class="col-md-1 height40">封面图*</div>
<div class="col-md-1" id="coverImgBox">
<input type="file" name="coverImg" id="coverImg"/>
</div>
</div>
<div class="pannel">
<div class="panel-heading">
<h4>限量详情内容</h4>
</div>
<div class="panel-collapse collapse in">
<div class="panel-body">
<div class="row mb20">
<h6><label>封面图*:</label></h6>
<div class="col-md-1" id="coverImgBox">
{{# attachment}}
{{#if isDefault}}
<input type="file" name="coverImg" id="coverImg" value="{{attachUrl}}" placeholder="封面图" required/>
{{/if}}
{{/ attachment}}
{{^ attachment}}
<input type="file" name="coverImg" id="coverImg" placeholder="封面图" required/>
{{/ attachment}}
<div class="row mb20">
<div class="col-md-12">
<div class="quota-text"></div>
<div class="quota-img"></div>
<div class="quota-video"></div>
</div>
</div>
</div>
<div class="row mb20">
<div id="editor" class="col-md-12">
<!-- <div class="quota-text"></div>
<div class="quota-img"></div>
<div class="quota-video"></div> -->
{{# attachment}}
{{#if attachUrl}}
{{#unless isDefault}}
<div class="quota-content quota-img" data-type="{{attachType}}"><img src="{{attachUrl}}" alt=""><a href="javascript:;" class="editor-delete btn btn-default">删除</a></div>
{{/unless}}
{{/if}}
<div class="row">
<div class="col-md-12">
<button class="btn btn-primary mr5" id="textDialog">文本</button>
<button class="btn btn-primary mr5" id="picDialog">图片</button>
<button class="btn btn-primary mr5" id="videoDialog">视频</button>
</div>
{{#if intro}}
<div class="quota-content quota-text" data-type="{{attachType}}"><span>{{intro}}</span><a href="javascript:;" class="editor-delete btn btn-default">删除</a></div>
{{/if}}
{{/ attachment}}
</div>
</div>
<div class="row mt20">
<div class="col-md-12">
<button class="btn btn-primary limit-add-btn">保存</button>
</div>
<div class="row">
<div class="col-md-12">
<button class="btn btn-primary mr5" id="textDialog">文本</button>
<button class="btn btn-primary mr5" id="picDialog">图片</button>
<button class="btn btn-primary mr5" id="videoDialog">视频</button>
</div>
</div>
<!-- <div class="row mb20" style="width: 800px;">
<h6><label>限量详情页内容:</label></h6>
<div id="editor-container" class="editor-container" style="height:200px"></div>
</div> -->
<div class="mt20">
<input id="limit-add-btn" class="btn btn-primary limit-add-btn" type="button" value="保存"></input>
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="id" value="{{id}}">
</form>
{{/ data}}
</div>
... ...
... ... @@ -16,72 +16,63 @@
</div>
<div class="contentpanel">
<form class="form-horizontal" action="">
<div class="row">
<div class="col-md-2">
<label class="control-label pull-left">关键词:</label>
<div class="label-leading pull-left">
<input class="form-control" type="text" />
</div>
</div>
<div class="col-md-2">
<label class="control-label pull-left">名称:</label>
<div class="label-leading pull-left">
<input class="form-control" type="text"/>
</div>
</div>
<div class="col-md-2">
<label class="control-label pull-left">SKN:</label>
<div class="label-leading pull-left">
<input class="form-control" type="text"/>
</div>
</div>
<div class="col-md-2">
<label class="control-label pull-left">热门:</label>
<div class="label-leading pull-left">
<div class="radio pull-left mr15">
<label><input type="radio" name="optionsStock" value="" checked=""></label>
<div class="panel panel-default" style="margin-bottom:10px;">
<div class="panel-heading">
<a href="/limit/product/add" class="btn btn-success "><i class="fa fa-plus"></i> 添加</a>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-2">
<label class="control-label pull-left">名称:</label>
<div class="label-leading pull-left">
<input id="product-name" class="form-control" type="text"/>
</div>
<div class="radio pull-left">
<label><input type="radio" name="optionsStock" value=""></label>
</div>
<div class="col-md-2">
<label class="control-label pull-left">SKN:</label>
<div class="label-leading pull-left">
<input id="skn" class="form-control" type="text"/>
</div>
</div>
</div>
<div class="col-md-2">
<label class="control-label pull-left">是否发售:</label>
<div class="label-leading pull-left">
<div class="radio pull-left mr15">
<label><input type="radio" name="optionsStock" value="" checked=""></label>
</div>
<div class="radio pull-left">
<label><input type="radio" name="optionsStock" value=""></label>
<div class="row" style="margin:10px 0;">
<div class="col-md-2">
<label class="control-label pull-left">热门:</label>
<div class="label-leading pull-left">
<label class="radio-inline"><input type="radio" name="hotFlag" value="1"></label>
<label class="radio-inline"><input type="radio" name="hotFlag" value="0"></label>
<input type="hidden" id="hotFlag" value="">
</div>
</div>
</div>
<div class="col-md-2">
<label class="control-label pull-left">是否开启:</label>
<div class="label-leading pull-left">
<div class="radio pull-left mr15">
<label><input type="radio" name="optionsStock" value="" checked=""></label>
<div class="col-md-2">
<label class="control-label pull-left">是否发售:</label>
<div class="label-leading pull-left">
<label class="radio-inline"><input type="radio" name="saleFlag" value="1"></label>
<label class="radio-inline"><input type="radio" name="saleFlag" value="0"></label>
</div>
<div class="radio pull-left">
<label><input type="radio" name="optionsStock" value=""></label>
</div>
<div class="col-md-2">
<label class="control-label pull-left">是否开启:</label>
<div class="label-leading pull-left">
<label class="radio-inline"><input type="radio" name="showFlag" value="1"></label>
<label class="radio-inline"><input type="radio" name="showFlag" value="0"></label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 mt20">
<button class="btn btn-primary pull-left mr20">筛选</button>
<button class="btn btn-primary pull-left mr20">全部</button>
<button class="btn btn-primary pull-left mr20">导出</button>
<div class="row">
<div class="col-md-12 mt20">
<button id="filter-btn" class="btn btn-primary pull-left mr20">筛选</button>
<a class="btn btn-primary pull-left mr20" href="">全部</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 mt20">
<div id="limit-table-box" class="table-responsive"></div>
</div>
<div class="row">
<div class="col-md-12 mt20">
<div class="dataTab_wrapper" id="basicTab"></div>
<div id="limit-table-box" class="table-responsive"></div>
</div>
</form>
</div>
</div>
... ...
... ... @@ -112,7 +112,7 @@
<label class="col-md-1 control-label">ID</label>
<div class="col-md-5">
<input id="editId" class="form-control" value="{{data.id}}" level="{{data.sortLevel}}" pid="{{data.parentId}}" type="text">
<input id="param" class="form-control" value="{{data.id}}" level="{{data.sortLevel}}" pid="{{data.parentId}}" type="text">
</div>
</div>
... ... @@ -120,7 +120,7 @@
<label class="col-md-1 control-label">parentID</label>
<div class="col-md-5">
<input id="parentId" class="form-control" value="" type="text">
<input id="parentId" class="form-control" value="{{data.parentId}}" type="text">
</div>
</div>
</form>
... ...
<div class="pageheader">
<div class="media">
<div class="pageicon pull-left">
<i class="fa fa-th-list"></i>
</div>
<div class="media-body">
<ul class="breadcrumb">
<li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
<li><a href="">店铺管理员关系管理</a></li>
<li>添加关系</li>
</ul>
<div>
<div style="width: 30%;float: left;">
<h4>添加关系</h4>
</div>
</div>
</div>
</div>
</div>
<!-- {{#data}}
<ul id="storelsit" style="display: none;">
<li id="shopsId">{{ shopsId}}</li>
<li id="adminPid">{{ adminPid}}</li>
<li id="identity">{{ identity}}</li>
</ul>
{{/data}} -->
<div class="contentpanel" id="basicForm">
<div class="panel panel-default" style="margin-bottom:10px;">
<div class="panel-heading">
筛选
</div>
<div class="panel-body">
<div class="row">
<div class="container-fluid">
<span class="col-sm-1 control-label">店铺列表</span>
<select name="supplier-name" id="store-name" style="width: 280px;" tabindex="-1" title="" class="select2-offscreen brandBtn-group brandBtn-group-lg" value="{{shopsId}}">
<option value="-1">店铺列表</option>
</select>
</div>
<div class="contentpanel" style="margin-top: 20px;">
<span class="col-sm-1 control-label">管理员筛选</span>
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">
<select name="store-type" id="identity-type" style="width: 280px;" tabindex="-1" title="" class="form-control" value="{{identity}}"><option value="-1" selected="selected">请选择身份</option>
<option value="1" data-valid="">品牌公司</option>
<option value="2" data-valid="">品牌经销商</option>
<option value="3" data-valid="">品牌代运营商</option>
<option value="4" data-valid="">有货品牌经理</option>
<option value="5" data-valid="">有货店铺运营</option>
<option value="6" data-valid="">有货商品运营</option>
<option value="7" data-valid="">有货平台运营</option>
</select>
</div>
<div class="col-sm-2">
<select name="time-sort" id="manager-name" tabindex="-1" title="" class="form-control" value="{{adminPid}}">
<option value="-1">选择管理员</option>
</select>
</div>
</div>
<div class="col-sm-3"></div>
<a id="amdinAdd" style="margin-top: 20px;" href="javascript:;" class="btn btn-info">保存</a>
</div>
</div>
</div>
</div>
... ... @@ -21,12 +21,9 @@
<div class="contentpanel">
<div class="panel panel-default" style="margin-bottom:10px;">
<div class="panel-heading">
筛选
</div>
<div class="panel-body">
<div class="row">
<a href="/supplier/storeadmin/adminAdd" class="btn btn-success"><i class="fa fa-plus"></i> 创建店铺管理员关系</a>
<a class="add btn btn-success"><i class="fa fa-plus"></i> 创建店铺管理员关系</a>
</div>
</div>
</div>
... ... @@ -37,3 +34,32 @@
</div>
</div>
</div>
<script type="text/template" id="template">
<div class="container-fluid">
<span class="col-sm-3 control-label">店铺列表</span>
<select name="supplier-name" id="store-name" style="width: 280px;" tabindex="-1" title="" class="select2-offscreen brandBtn-group brandBtn-group-lg" value="{{shopsId}}">
<option value="-1">店铺列表</option>
</select>
</div>
<div class="contentpanel">
<span class="col-sm-3 control-label">管理员筛选</span>
<div class="col-sm-4">
<select name="store-type" id="identity-type" tabindex="-1" title="" class="form-control" value="{{identity}}"><option value="-1" selected="selected">请选择身份</option>
<option value="1" data-valid="">品牌公司</option>
<option value="2" data-valid="">品牌经销商</option>
<option value="3" data-valid="">品牌代运营商</option>
<option value="4" data-valid="">有货品牌经理</option>
<option value="5" data-valid="">有货店铺运营</option>
<option value="6" data-valid="">有货商品运营</option>
<option value="7" data-valid="">有货平台运营</option>
</select>
</div>
<div class="col-sm-4">
<select name="time-sort" id="manager-name" tabindex="-1" title="" class="form-control" value="{{adminPid}}">
<option value="-1">选择管理员</option>
</select>
</div>
</div>
</div>
</script>
\ No newline at end of file
... ...
... ... @@ -7,20 +7,21 @@
<ul class="breadcrumb">
<li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
<li><a href="">店铺管理</a></li>
<li>创建店铺</li>
<li>{{pageTitel}}</li>
</ul>
<div>
<div style="width: 30%;float: left;">
<h4>创建店铺</h4>
<h4>{{pageTitel}}</h4>
</div>
</div>
</div>
</div>
</div>
{{#data}}
<form id="storeForm" role="form" class="form-horizontal form-bordered" method="post" action="{{action}}">
{{#data}}
<input type="hidden" id="shopsId" value="{{ shopsId}}">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="panel panel-default">
... ... @@ -31,10 +32,10 @@
<div class="row">
<div class="form-group">
<div class="col-sm-1 control-label">
<label>店铺名称:</label>
<label>店铺名称:<span class="red">*</span></label>
</div>
<div class="col-sm-9">
<input form="storeForm" name="shopName" id="shopName" type="text" class="form-control" value="{{ shopName}}" placeholder="店铺名称">
<input form="storeForm" name="shopName" id="shopName" type="text" class="form-control" value="{{ shopName}}" placeholder="店铺名称" required>
</div>
</div>
<div class="form-group">
... ... @@ -42,7 +43,7 @@
<label>店铺类型:</label>
</div>
<div class="col-sm-9">
<select name="shopNature" id="shopNature" value='{{shopNature}}' style="width: 280px;" tabindex="-1" title="" class="select2-offscreen brandBtn-group brandBtn-group-lg">
<select name="shopNature" id="shopNature" value='{{shopNature}}' class="form-control">
<option value="">店铺类型</option>
<option value="1">旗舰店</option>
<option value="2">直营店</option>
... ... @@ -51,11 +52,11 @@
</div>
<div class="form-group">
<div class="col-sm-1 control-label">
<label>店铺域名:</label>
<label>店铺域名:<span class="red">*</span></label>
</div>
<div class="col-sm-6">
<div class="input-group">
<input type="text" form="storeForm" name="shopDomain" id="shopDomain" class="form-control" value="{{ shopDomain}}" placeholder="店铺域名" aria-describedby="basic-addon2">
<input type="text" form="storeForm" name="shopDomain" id="shopDomain" class="form-control" value="{{ shopDomain}}" placeholder="店铺域名" aria-describedby="basic-addon2" required>
<span class="input-group-addon" id="basic-addon2">.yohobuy.com</span>
</div>
</div>
... ... @@ -65,35 +66,39 @@
<label>官方网址:</label>
</div>
<div class="col-sm-9">
<div id="homepage" class="input-group Add col-sm-6" style="float: left;">
<div id="websiteUrl-list" class="input-group Add col-sm-6" style="float: left;">
</div>
<input id="otherUrl" type="hidden" value="{{ otherUrl}}">
<button type="button" data-type="0" class="btn btn-info urlAdd" style="margin-left: 8px;">新增</button>
</div>
<input id="websiteUrl" type="hidden" value="{{ websiteUrl}}">
</div>
<div class="form-group">
<div class="col-sm-1 control-label">
<label>其他平台网址:</label>
</div>
<div class="col-sm-9">
<div id="homeurl"class="input-group Add col-sm-6 col-sm-6" style="float: left;">
<div id="otherUrl-list"class="input-group Add col-sm-6 col-sm-6" style="float: left;">
</div>
<input id="websiteUrl" type="hidden" value="{{ websiteUrl}}">
<button type="button" data-type="1" class="btn btn-info urlAdd" style="margin-left: 8px;">新增</button>
</div>
<input id="otherUrl" type="hidden" value="{{ otherUrl}}">
</div>
<div class="form-group">
<div class="col-sm-1 control-label">
<label>代表实体店:</label>
</div>
<div class="col-sm-9">
<div id="homeaddress" class="input-group Add col-sm-6" style="float: left;">
<div id="shopAddress-list" class="input-group Add col-sm-6" style="float: left;">
</div>
<input id="shopAddress" type="hidden" value="{{ shopAddress}}">
<button type="button" data-type="2" class="btn btn-info urlAdd" style="margin-left: 8px;">新增</button>
</div>
<input id="shopAddress" type="hidden" value="{{ shopAddress}}">
</div>
<div class="form-group">
<div class="col-sm-1 control-label">
... ... @@ -113,11 +118,13 @@
</div>
<div class="form-group">
<div class="col-sm-1 control-label">
<label>店铺模式:</label>
<label>店铺模式:
<span class="red">*</span>
</label>
</div>
<div class="col-sm-9">
<select name="shopsType" id="shopsType" value='{{shopsType}}' style="width: 280px;" tabindex="-1" title="" class="select2-offscreen brandBtn-group brandBtn-group-lg">
<option value="">店铺模式</option>
<select name="shopsType" id="shopsType" value='{{shopsType}}' class="form-control" required>
<option value="-1">店铺模式</option>
<option value="1">单品店</option>
<option value="2">多品店</option>
</select>
... ... @@ -126,52 +133,47 @@
<div class="form-group">
<div class="col-sm-1 control-label">
<label>关联品牌:</label>
<label>关联品牌:<span class="red">*</span></label>
</div>
<div class="col-sm-9">
<a class="btn btn-info" id="modalId">添加供应商</a>
<button type="button" class="btn btn-info" id="modalId">添加供应商</button>
</div>
</div>
<div class="form-group">
<div class="col-sm-8 col-sm-offset-1">
<table class="table table-hover" id='updateBrand'>
<thead>
<tr>
<th>品牌</th>
<th>供应商</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{{#shopRelationList}}
<tr>
<td>{{ brandName}}</td>
<td>{{ supplierName}}
<input type="hidden" class="agreementendtime" value="{{agreementEndTime}}">
<input type="hidden" class="brandid" value="{{brandId}}">
<input type="hidden" class="supplierid" value="{{supplierId}}">
</td>
<td>
<button type="button" class="delete btn btn-danger btn-xs">删除</button>
</td>
</tr>
{{/shopRelationList}}
</tbody>
</table>
<div class="col-sm-8 col-sm-offset-1">
<div id="updateBrand"></div>
</div>
<input type="hidden" id="shopRelationList" value="{{shopRelationList}}" />
</div>
<button type="button" data-oncheck='1' class="check btn btn-success">提交审核</button>
<button type="button" data-oncheck='2' class="check btn btn-info">暂存</button>
{{^checkStatus}}
<button type="button" data-oncheck='2' class="check btn btn-info btn-cun">暂存</button>
{{/checkStatus}}
<button onclick="history.go(-1);" type="button" class="btn btn-danger">取消</button>
</div>
</div>
</div>
</div>
</form>
{{/data}}
<div class="modal fade" id="modal-id">
</form>
<script type="text/template" id="template">
<div class="row">
<div class="form-group">
<select name="brandname" id="brandname" style="width: 280px" tabindex="-1" class="select2-offscreen">
<option value="-1">选择品牌</option>
</select>
</div>
<div class="form-group" style="height: 400px">
<div id="baseTable"></div>
</div>
</div>
</script>
<!-- <div class="modal fade" id="modal-id">
<div class="modal-dialog">
<div class="modal-content" id="saveBrand">
<div class="modal-header">
... ... @@ -203,4 +205,4 @@
</div>
</div>
</div>
</div>
\ No newline at end of file
</div> -->
\ No newline at end of file
... ...
... ... @@ -3,32 +3,35 @@
<div class="pageicon pull-left">
<i class="fa fa-th-list"></i>
</div>
{{#pagetitle}}
<div class="media-body">
<ul class="breadcrumb">
<li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
<li><a href="">创建店铺</a></li>
<li>创建店铺管理</li>
<li><a href="">{{level1title}}</a></li>
<li>{{level2title}}</li>
</ul>
<div>
<div style="width: 30%;float: left;">
<h4>店铺创建列表</h4>
<h4>{{level3title}}</h4>
</div>
</div>
</div>
{{/pagetitle}}
</div>
</div>
<div class="contentpanel">
<div class="panel panel-default" style="margin-bottom:10px;">
{{#add}}
<div class="panel-heading">
筛选
<a href="/supplier/store/add" class="btn btn-success"><i class="fa fa-plus"></i> 添加店铺</a>
</div>
{{/add}}
<div class="panel-body">
<div class="row">
{{#add}}
<a href="/supplier/store/add" class="btn btn-success"><i class="fa fa-plus"></i> 添加店铺</a>
{{/add}}
{{#dropCheckStatus}}
<select name="status" id="status" tabindex="-1" title="" class="select2-offscreen brandBtn-group">
<option value="-1" selected="">选择提交状态</option>
... ... @@ -50,6 +53,7 @@
{{/ supplierName}}
</select>
<a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a>
<a id="all-btn" href="javascript:;" class="btn btn-info">全部</a>
</div>
</div>
<input type="hidden" id="url" value="/supplier/store/indexPage">
... ...
... ... @@ -23,7 +23,7 @@
<div class="row">
<div class="col-md-offset-1 col-xs-10 col-sm-10 col-md-10 col-lg-10">
<div class="page-header">
<h4>查看供应商信息</h4>
<h4>查看店铺信息</h4>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺名称:</div>
... ... @@ -31,8 +31,10 @@
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺性质:</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"></div>
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺类型: </div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input type="hidden" id="shopNature" value="{{shopNature}}" />
</div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺域名:</div>
... ... @@ -40,22 +42,25 @@
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">官网地址:</div>
<div id='otherUrlValue' class="col-xs-8 col-sm-8 col-md-8 col-lg-8"></div>
<input id="otherUrl" type="hidden" value="{{ otherUrl}}">
<div id='otherUrlValue' class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input id="otherUrl" type="hidden" value="{{ otherUrl}}">
</div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">其他平台网址:</div>
<div id="websiteUrlValue" class="col-xs-8 col-sm-8 col-md-8 col-lg-8"></div>
<input id="websiteUrl" type="hidden" value="{{ websiteUrl}}">
<div id="websiteUrlValue" class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input id="websiteUrl" type="hidden" value="{{ websiteUrl}}">
</div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">代表实体店:</div>
<div id="shopAddressValue" class="col-xs-8 col-sm-8 col-md-8 col-lg-8"></div>
<input id="shopAddress" type="hidden" value="{{ shopAddress}}">
<div id="shopAddressValue" class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input id="shopAddress" type="hidden" value="{{ shopAddress}}">
</div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺logo:</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"><img src="{{ shopLogo}}"></div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8"><img src="{{ shopLogo}}" width="120" height="80"></div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺简介:</div>
... ... @@ -63,31 +68,19 @@
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺状态:</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">{{ shopsType}}</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input id="checkStatus" type="hidden" value="{{ checkStatus}}">
</div>
</div>
<div class="row show-grid">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">店铺模式:</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">{{ shopNature}}</div>
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">
<input id="shopsType" type="hidden" value="{{ shopsType}}">
</div>
</div>
<div class="row show-grid">
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
<table class="table table-bordered">
<thead>
<tr>
<th>品牌</th>
<th>供应商</th>
</tr>
</thead>
<tbody>
{{# shopRelationList}}
<tr>
<td>{{ brandName}}</td>
<td>{{ supplierName}}</td>
</tr>
{{/ shopRelationList}}
</tbody>
</table>
</div>
<div id="baseTable"></div>
<input type="hidden" id="shopRelationList" value="{{shopRelationList}}" />
</div>
{{# btn}}
<a class="btn btn-primary btn-xs" id="tongguo">审核通过</a>
... ... @@ -99,38 +92,3 @@
</div>
</div>
{{/data}}
<!-- <div class="modal fade" id="modal-id">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">温馨提示</h4>
</div>
<div class="modal-body">
您确定要通过审核吗?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">确定</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal-id">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">温馨提示</h4>
</div>
<div class="modal-body">
您确定要驳回审核吗?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">确定</button>
</div>
</div>
</div>
</div> -->
\ No newline at end of file
... ...
... ... @@ -29,37 +29,29 @@
<div class="panel-body">
<div class="row">
{{# if searchStatus}}
<div class="col-sm-2">
<select name="status" id="status" tabindex="-1" title="" class="select2-offscreen brandBtn-group">
<option value="-1" selected="">选择状态</option>
{{# each searchStatus}}
<option value="{{value}}">{{name}}</option>
{{/ each}}
</select>
</div>
{{/ if}}
<div class="col-sm-3">
<select name="supplier-name" id="supplier-name" tabindex="-1" title="" class="select2-offscreen brandBtn-group" placeholder="供应商名称" >
<option value="-1" selected="selected">供应商名称</option>
</select>
</div>
{{# searchSort}}
<div class="col-sm-2">
<select name="time-sort" id="time-sort" tabindex="-1" title="" class="select2-offscreen brandBtn-group">
<option value="-1" selected="">按时间排序</option>
<option value="asc">正序</option>
<option value="desc">倒序</option>
</select>
</div>
{{/searchSort}}
{{# searchIsfreez}}
<div class="col-sm-2">
<select name="isFreeze" id="isFreeze" tabindex="-1" title="" class="select2-offscreen brandBtn-group">
<option value="-1" selected="">生效状态</option>
<option value="N">生效中</option>
<option value="Y">已冻结</option>
</select>
</div>
{{/ searchIsfreez}}
<a id="filter-btn" href="javascript:;" class="btn btn-info">筛选</a>
<a id="all-btn" href="javascript:;" class="btn btn-info">全部</a>
... ...