You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
316 lines
11 KiB
316 lines
11 KiB
// JavaScript Document
|
|
var defaultGoodsList = new Array();
|
|
for(var i=0;i<4;i++){
|
|
var obj = new Object();
|
|
obj.id = 0;
|
|
obj.title = "商品标题";
|
|
obj.img = IMG_PATH +'/default_goods_pic.jpg';
|
|
obj.market_price = 0.00;
|
|
obj.stock_num = 0.00;
|
|
obj.url = "";
|
|
defaultGoodsList.push(obj);
|
|
}
|
|
var defaultCaseList = new Array();
|
|
for(var i=0;i<3;i++){
|
|
var obj = new Object();
|
|
obj.picId = 0;
|
|
obj.pic = IMG_PATH+"/no_cover_pic_s.png";
|
|
obj.url = "";
|
|
obj.title = "";
|
|
defaultCaseList.push(obj);
|
|
}
|
|
var app = angular.module('app', []).controller('commonCtrl', function($scope) {
|
|
var id= $('input[name="id"]').val();
|
|
if(id && activeModels!=''){
|
|
$scope.activeModules = JSON.parse(activeModels);
|
|
}else{
|
|
$scope.activeModules = [{"id":"header","name":"\u5fae\u9875\u9762\u6807\u9898","params":{"title":"","description":"","bgColor":"#fff"},"issystem":1,"index":0,"displayorder":"0"}];
|
|
if(useFor=="goodsDetail"){
|
|
$scope.activeModules.push({"id":"goodsdetail","name":"商品详情页","params":{},"issystem":1,"index":0,"disable":1,"displayorder":"0"});
|
|
}else if(useFor=="userCenter"){
|
|
$scope.activeModules.push({"id":"usercenter","name":"个人详情页","params":{},"issystem":1,"disable":1,"index":0,"displayorder":"0"});
|
|
}else if(useFor=="index"){
|
|
$scope.activeModules.push({"id":"fixedmodule","name":"首页","params":{'title':'首页固定模块','desc':'商城基本信息,商城LOGO,推荐商品和分类'},"issystem":1,"disable":1,"index":0,"displayorder":"0"});
|
|
}else if(useFor=="cart"){
|
|
$scope.activeModules.push({"id":"fixedmodule","name":"购物车页","params":{'title':'购物车固定模块','desc':'我的购物车列表'},"issystem":1,"disable":1,"index":0,"displayorder":"0"});
|
|
}else if(useFor=="orderlist"){
|
|
$scope.activeModules.push({"id":"fixedmodule","name":"订单列表页","params":{'title':'订单固定模块','desc':'我的订单列表'},"issystem":1,"disable":1,"index":0,"displayorder":"0"});
|
|
}
|
|
}
|
|
$scope.activeItem = $scope.activeModules[0];
|
|
$scope.editors = ['header'];
|
|
$scope.modules = [
|
|
{"id":"richtext","name":"富文本","params":{"content":"",'bgColor':'','color':'','fontsize':'','align':''},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"goods","name":"商品","params":{"list_style":1,'hasTestData':1,'show_price':1,'show_btn':1,"goods_list":defaultGoodsList},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"banner","name":"幻灯片","params":{"show_cursor":1,"show_title":1,"is_auto":1,'banner_list':new Array()},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"piclist","name":"图片","params":{"list_style":1,"show_title":0,'pic_list':new Array()},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"blank","name":"辅助空白","params":{"height":10},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"title","name":"标题","params":{"title":"","subtitle":"",'bgColor':'','maincolor':'','subcolor':'','align':''},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"textnav","name":"文本导航","params":{"title":"",'bgColor':'','color':'','text_nav_list':new Array()},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"picnav","name":"图片导航","params":{"title":"",'nav_style':2,'pic_nav_list':new Array()},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"searchgoods","name":"商品搜索","params":{},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"blankline","name":"辅助线","params":{'borderWidth':1,'borderColor':'#ccc','borderStyle':'dotted'},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"case","name":"橱窗","params":{'title':'','contentTitle':'','content':'','style':2,'show_title':1,'pic_list':defaultCaseList},"issystem":0,"index":0,"displayorder":"0"},
|
|
{"id":"notice","name":"公告","params":{'content':'','bgColor':'','color':''},"issystem":0,"index":0,"displayorder":"0"}
|
|
];
|
|
$scope.addItem = function(id){
|
|
try{
|
|
|
|
//var addItem = jQuery.extend(true,{}, $scope.getModelById(id));
|
|
var addItem = angular.copy($scope.getModelById(id));
|
|
addItem.index = $scope.activeModules.length;
|
|
$scope.activeModules.push(addItem);
|
|
$scope.activeItem = addItem;
|
|
$scope.initWidget(id);
|
|
setTimeout(function(){
|
|
$scope.initEditorTop(addItem.index);
|
|
},100);
|
|
if($scope.UEditor && id =="richtext"){
|
|
$scope.UEditor.setContent($scope.activeItem.params.content);
|
|
}
|
|
|
|
}catch(e){
|
|
|
|
}
|
|
}
|
|
$scope.editItem = function(mudule){
|
|
$scope.activeItem = mudule;
|
|
var tempId = mudule.id;
|
|
$scope.initWidget(tempId);
|
|
setTimeout(function(){
|
|
$scope.initEditorTop(mudule.index);
|
|
},100);
|
|
if($scope.UEditor && tempId=="richtext"){
|
|
$scope.UEditor.setContent($scope.activeItem.params.content==""?'<p></p>':$scope.activeItem.params.content);
|
|
}
|
|
}
|
|
$scope.UEditor = null;
|
|
$scope.initWidget = function(id){
|
|
if($.inArray(id, $scope.editors)<0){
|
|
$scope.editors.push(id);
|
|
setTimeout(function(){
|
|
|
|
if(id=="richtext"){
|
|
$scope.UEditor = $.Editor.initEditor(
|
|
'diy_editor_richcontent',
|
|
editorUrl.ue_upimg,
|
|
editorUrl.ue_mgimg,
|
|
editorUrl.get_article_style
|
|
)
|
|
if($scope.UEditor){
|
|
$scope.UEditor.addListener("contentChange",function(){
|
|
$scope.activeItem.params.content = $scope.UEditor.getContent();
|
|
$('.temp_click').click();
|
|
});
|
|
}
|
|
}
|
|
|
|
},200)
|
|
}
|
|
}
|
|
$scope.deleteItem = function(mudule){
|
|
$scope.activeModules.remove(mudule);
|
|
for(var i=0;i<$scope.activeModules.legnth;i++){
|
|
$scope.activeModules[i].index = i;
|
|
}
|
|
if(mudule == $scope.activeItem){
|
|
$scope.activeItem = $scope.activeModules[0];
|
|
}
|
|
|
|
}
|
|
$scope.initEditorTop =function(index){
|
|
var oTop = $('#module-'+index).offset().top;
|
|
var nTop = $('.app_inner').offset().top;
|
|
$('#editor'+$scope.activeItem.id).css({'margin-top':oTop-nTop});
|
|
}
|
|
$scope.getModelById = function(id){
|
|
var tempItem = new Object();
|
|
for(var m in $scope.modules){
|
|
if($scope.modules[m].id==id){
|
|
tempItem = $scope.modules[m];
|
|
break;
|
|
}
|
|
}
|
|
return tempItem;
|
|
}
|
|
$scope.submitForm =function(){
|
|
var url = $('#form').attr('action');
|
|
var id = $('input[name="id"]').val();
|
|
$.post(url,
|
|
{
|
|
id:id,
|
|
title:$scope.activeModules[0].params.title,
|
|
desc:$scope.activeModules[0].params.description,
|
|
config:encodeURIComponent(JSON.stringify($scope.activeModules))
|
|
},
|
|
function(data){
|
|
if(data){
|
|
updateAlert('提交成功!','success');
|
|
setTimeout(function(){
|
|
window.location.href = data.url;
|
|
},300);
|
|
}
|
|
}
|
|
)
|
|
}
|
|
$scope.colorPicker = function($event){
|
|
try{
|
|
var ele = $($event.toElement);
|
|
var top = ele.offset().top;
|
|
var left = ele.offset().left;
|
|
var w = ele.width();
|
|
var h = ele.height();
|
|
ele.addClass('active-color');
|
|
$('.colpick').show().css({'top':top+h,'left':left+w});
|
|
}catch(e){
|
|
|
|
}
|
|
}
|
|
$('.color_picker_hide').colpick({
|
|
colorScheme:'white',
|
|
submitText:"确定",
|
|
layout:'rgbhex',
|
|
color:'ff8800',
|
|
onSubmit:function(hsb,hex,rgb,el) {
|
|
$scope.activeItem.params[$('.active-color').data('color')] = '#'+hex;
|
|
$('.active-color').css('background-color', '#'+hex);
|
|
$(el).colpickHide();
|
|
$('.active-color').removeClass('active-color');
|
|
$('.temp_click').click();
|
|
}
|
|
})
|
|
//添加商品
|
|
$scope.addGoodsDialog = function(dataUrl){
|
|
$.Wei.openSelectGoods(dataUrl,function(goodsList){
|
|
if(goodsList.length>0){
|
|
if($scope.activeItem.params.hasTestData==1){
|
|
$scope.activeItem.params.goods_list = new Array();
|
|
}
|
|
for(var i=0;i<goodsList.length;i++){
|
|
$scope.activeItem.params.goods_list.push(goodsList[i]);
|
|
}
|
|
$scope.activeItem.params.hasTestData = 0;
|
|
//console.log($scope.activeItem.params.goods_list);
|
|
$('.temp_click').click();
|
|
}
|
|
});
|
|
}
|
|
//删除商品
|
|
$scope.deleteGoods = function(obj){
|
|
$scope.activeItem.params.goods_list.remove(obj);
|
|
}
|
|
|
|
//添加幻灯片
|
|
$scope.addBanner = function(){
|
|
var obj = new Object();
|
|
obj.pic = IMG_PATH+"/no_cover_pic_s.png";
|
|
obj.picId = 0;
|
|
obj.title = "";
|
|
obj.url = "";
|
|
$scope.activeItem.params.banner_list.push(obj);
|
|
}
|
|
$scope.addBannerPic = function(obj){
|
|
$.Wei.uploadImgDialog(1,function(data){
|
|
obj.pic = data[0].src;
|
|
obj.picId = data[0].id;
|
|
$('.temp_click').click();
|
|
})
|
|
}
|
|
$scope.deleteBanner = function(obj){
|
|
$scope.activeItem.params.banner_list.remove(obj);
|
|
}
|
|
$scope.tempClick = function($event){
|
|
//TODo nothing
|
|
}
|
|
$scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {
|
|
//下面是在table render完成后执行的js
|
|
//try{
|
|
//console.log('init done!')
|
|
//$.Wei.initBanner(false,5000);
|
|
$("#modules").dragsort('destroy');
|
|
$("#modules").dragsort({
|
|
itemSelector: ".js-sorttable", dragSelector: ".js-sorttable", dragBetween: true, placeHolderTemplate: "<div class='.js-sorttable'></div>",dragSelectorExclude:'.aciton_wrap',dragEnd: function() {$(".js-sorttable").attr('style','')}
|
|
});
|
|
//}catch(e){
|
|
|
|
//}
|
|
});
|
|
}).controller('picListController', function($scope) {
|
|
//添加图片
|
|
$scope.addPicList = function(){
|
|
var obj = new Object();
|
|
obj.pic = IMG_PATH+"/no_cover_pic_s.png";
|
|
obj.picId = 0;
|
|
obj.title = "";
|
|
obj.url = "";
|
|
$scope.activeItem.params.pic_list.push(obj);
|
|
}
|
|
$scope.addPicListPic = function(obj){
|
|
$.Wei.uploadImgDialog(1,function(data){
|
|
obj.pic = data[0].src;
|
|
obj.picId = data[0].id;
|
|
$('.temp_click').click();
|
|
//console.log($scope.activeItem.params.pic_list);
|
|
})
|
|
}
|
|
$scope.deletePicListPic = function(obj){
|
|
$scope.activeItem.params.pic_list.remove(obj);
|
|
}
|
|
}).controller('textNavListController',function($scope){
|
|
$scope.addTextNav = function(){
|
|
var obj = new Object();
|
|
obj.title = "";
|
|
obj.url = "";
|
|
$scope.activeItem.params.text_nav_list.push(obj);
|
|
}
|
|
$scope.deleteTextNav = function(b){
|
|
$scope.activeItem.params.text_nav_list.remove(b);
|
|
}
|
|
}).controller('picNavController',function($scope){
|
|
$scope.addPicNav = function(){
|
|
var obj = new Object();
|
|
obj.title = "";
|
|
obj.url = "";
|
|
obj.pic = IMG_PATH+"/no_cover_pic_s.png";
|
|
obj.picId = 0;
|
|
$scope.activeItem.params.pic_nav_list.push(obj);
|
|
}
|
|
$scope.addPicNavPic = function(obj){
|
|
$.Wei.uploadImgDialog(1,function(data){
|
|
obj.pic = data[0].src;
|
|
obj.picId = data[0].id;
|
|
$('.temp_click').click();
|
|
//console.log($scope.activeItem.params.pic_list);
|
|
})
|
|
}
|
|
$scope.deletePicNav = function(b){
|
|
$scope.activeItem.params.pic_nav_list.remove(b);
|
|
}
|
|
}).controller('caseController',function($scope){
|
|
$scope.addCasePic = function(obj){
|
|
$.Wei.uploadImgDialog(1,function(data){
|
|
obj.pic = data[0].src;
|
|
obj.picId = data[0].id;
|
|
$('.temp_click').click();
|
|
//console.log($scope.activeItem.params.pic_list);
|
|
})
|
|
}
|
|
})
|
|
app.directive('onFinishRenderFilters', function ($timeout) {
|
|
return {
|
|
restrict: 'A',
|
|
link: function(scope, element, attr) {
|
|
if (scope.$last === true) {
|
|
$timeout(function() {
|
|
scope.$emit('ngRepeatFinished');
|
|
});
|
|
}
|
|
}
|
|
};
|
|
});
|
|
app.filter('to_trusted', ['$sce', function($sce){
|
|
return function(text) {
|
|
return $sce.trustAsHtml(text);
|
|
};
|
|
}]);
|
|
angular.bootstrap(document, ['app']);
|