init commit
This commit is contained in:
213
public/assets/js/backend/wdsxh/activity/activity.js
Normal file
213
public/assets/js/backend/wdsxh/activity/activity.js
Normal file
@@ -0,0 +1,213 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/activity/activity/index' + location.search,
|
||||
add_url: 'wdsxh/activity/activity/add',
|
||||
edit_url: 'wdsxh/activity/activity/edit',
|
||||
del_url: 'wdsxh/activity/activity/del',
|
||||
multi_url: 'wdsxh/activity/activity/multi',
|
||||
import_url: 'wdsxh/activity/activity/import',
|
||||
table: 'wdsxh_activity',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'fees', title: __('Fees'), operate:'BETWEEN'},
|
||||
{field: 'organizing_method', title: __('Organizing_method'), searchList: {"1":__('Organizing_method 1'),"2":__('Organizing_method 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'apply_time', title: __('Apply_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'is_verifying', title: __('Is_verifying'), searchList: {"1":__('Is_verifying 1'),"2":__('Is_verifying 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'applet_activity_qrcode_path', title: __('Applet_activity_qrcode_path'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'points_status', title: __('Points_status'), searchList: {"1":__('Points_status 1'),"2":__('Points_status 2'),"3":__('Points_status 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'list',
|
||||
text: __('报名列表'),
|
||||
title: __('报名列表'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/activity/activity_apply?activity_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'verification_qr_code',
|
||||
text: __('公众号签到二维码'),
|
||||
title: __('公众号签到二维码'),
|
||||
classname: 'btn btn-xs bg-olive btn-dialog',
|
||||
icon: 'fa fa-qrcode',
|
||||
extend: 'data-area=["40%","60%"]',
|
||||
url: 'wdsxh/activity/activity/verification_qr_code',
|
||||
visible: function (row) {
|
||||
if(Config.wananchi_appid !== null && Config.wananchi_appid !== undefined && Config.wananchi_appid !== '' && row.is_verifying == '1' && row.verification_method == 1 && row.state != '3'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'verification_applet_code',
|
||||
text: __('小程序签到二维码'),
|
||||
title: __('小程序签到二维码'),
|
||||
classname: 'btn btn-xs bg-black btn-dialog',
|
||||
icon: 'fa fa-qrcode',
|
||||
extend: 'data-area=["40%","60%"]',
|
||||
url: 'wdsxh/activity/activity/verification_applet_code',
|
||||
visible: function (row) {
|
||||
if(Config.applet_appid !== null && Config.applet_appid !== undefined && Config.applet_appid !== '' && row.is_verifying == '1' && row.verification_method == 1 && row.state != '3'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'fieldset',
|
||||
text: __('自定义报名字段'),
|
||||
title: __('自定义报名字段'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/activity/activity_fieldset/fieldset',
|
||||
visible: function (row) {
|
||||
if(row.apply_field_state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'certificate_design',
|
||||
text: __('设置证书'),
|
||||
title: __('设置证书'),
|
||||
classname: 'btn btn-xs btn-success btn-dialog',
|
||||
icon: 'fa fa-certificate',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/activity/certificate_design/index',
|
||||
visible: function (row) {
|
||||
// 只有启用单独证书时才显示按钮
|
||||
if(row.certificate_enabled == '1'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
verification_qr_code: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[organizing_method]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.address').addClass('hide');
|
||||
$('.url').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.url').addClass('hide');
|
||||
$('.address').removeClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
$(document).on('change','input[name="row[is_verifying]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1"://需要核销
|
||||
$('.verification_method').removeClass('hide');
|
||||
break;
|
||||
case "2"://不需要核销
|
||||
$('.verification_method').addClass('hide');
|
||||
$('.verifying_wechat_ids').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
$(document).on('change','input[name="row[verification_method]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1"://核销方式:自动签到
|
||||
$('.verifying_wechat_ids').addClass('hide');
|
||||
break;
|
||||
case "2"://核销方式:管理员核销
|
||||
$('.verifying_wechat_ids').removeClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
$(document).on('change','input[name="row[points_status]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1"://能活动积分
|
||||
$('.points').removeClass('hide');
|
||||
break;
|
||||
case "2"://不能活动积分
|
||||
$('.points').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
$(document).on('change','input[name="row[certificate_enabled]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1"://启用单独证书
|
||||
$('.certificate_data').removeClass('hide');
|
||||
break;
|
||||
case "2"://使用统一证书
|
||||
$('.certificate_data').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
97
public/assets/js/backend/wdsxh/activity/activity_apply.js
Normal file
97
public/assets/js/backend/wdsxh/activity/activity_apply.js
Normal file
@@ -0,0 +1,97 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/activity/activity_apply/index' + location.search + '&activity_id=' + Config.activity_id,
|
||||
add_url: 'wdsxh/activity/activity_apply/add?activity_id=' + Config.activity_id,
|
||||
multi_url: 'wdsxh/activity/activity_apply/multi',
|
||||
import_url: 'wdsxh/activity/activity_apply/import',
|
||||
table: 'wdsxh_activity_apply',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
// {checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order_no', title: '订单号', operate: false},
|
||||
{field: 'wechat.nickname', title: '用户昵称', operate: 'LIKE'},
|
||||
{field: 'wechat.avatar', title: '用户头像', operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'wechat.mobile', title: '用户电话', operate: false},
|
||||
{field: 'activity.name', title: __('Activity.name'), operate: 'LIKE'},
|
||||
{field: 'activity.start_time', title: __('Activity.start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'activity.end_time', title: __('Activity.end_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'activity.fees', title: __('Activity.fees'), operate:'BETWEEN'},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3'),"4":__('State 4'),"5":__('State 5')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'pay_time', title: __('付款时间'), operate:false},
|
||||
{field: 'is_sign_in', title: __('Is_sign_in'), searchList: {"1":__('Is_sign_in 1'),"2":__('Is_sign_in 2'),"3":__('Is_sign_in 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'field_data_details',
|
||||
text: __('报名信息'),
|
||||
title: __('报名信息'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/activity/activity_apply/field_data_details',
|
||||
visible: function (row) {
|
||||
if(row.show_field_data == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["80%", "80%"]);
|
||||
})
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/activity_seluser?activity_id='+ Config.activity_id,'选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
field_data_details: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
14
public/assets/js/backend/wdsxh/activity/activity_config.js
Normal file
14
public/assets/js/backend/wdsxh/activity/activity_config.js
Normal file
@@ -0,0 +1,14 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'clipboard', 'designer', 'jquery-contextMenu', 'jquery-form', 'jquery-lazyload', 'poster', 'wdsxh-colorpicker'], function ($, undefined, Backend, Table, Form, Clipboard, Designer, jqueryContextMenu, jqueryForm, jqueryLazyload, poster, colorpicker) {
|
||||
var Controller = {
|
||||
index: function () {
|
||||
$(".panel-body").show()
|
||||
$("#loading").hide()
|
||||
$("#faupload-image").data("upload-success", function (data) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
$(".bg").prop("src", url);
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
console.log(data)
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
64
public/assets/js/backend/wdsxh/activity/activity_fieldset.js
Normal file
64
public/assets/js/backend/wdsxh/activity/activity_fieldset.js
Normal file
@@ -0,0 +1,64 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/join_config/index' + location.search,
|
||||
multi_url: 'wdsxh/member/join_config/multi',
|
||||
table: 'wdsxh_member_join_config',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'type', title: __('Type'), searchList: {"1":__('Type 1'),"2":__('Type 2'),"3":__('Type 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{
|
||||
field: 'operate',
|
||||
width: "150px",
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'fieldset',
|
||||
text: __('自定义登记字段'),
|
||||
title: __('自定义登记字段'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/join_config/fieldset',
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
},
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
fieldset: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'clipboard', 'designer', 'jquery-contextMenu', 'jquery-form', 'jquery-lazyload', 'poster', 'wdsxh-colorpicker'], function ($, undefined, Backend, Table, Form, Clipboard, Designer, jqueryContextMenu, jqueryForm, jqueryLazyload, poster, colorpicker) {
|
||||
var Controller = {
|
||||
index: function () {
|
||||
$(".panel-body").show()
|
||||
$("#loading").hide()
|
||||
$("#faupload-image").data("upload-success", function (data) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
$(".bg").prop("src", url);
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
console.log(data)
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
122
public/assets/js/backend/wdsxh/activity/refund.js
Normal file
122
public/assets/js/backend/wdsxh/activity/refund.js
Normal file
@@ -0,0 +1,122 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/activity/refund/index' + location.search,
|
||||
// del_url: 'wdsxh/activity/refund/del',
|
||||
table: 'wdsxh_activity_refund',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
// {checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order.order_no', title: '订单号', operate: 'LIKE'},
|
||||
{field: 'activity.name', title: '活动名称', operate: 'LIKE'},
|
||||
{field: 'wechat.nickname', title: '用户昵称', operate: 'LIKE'},
|
||||
{field: 'wechat.avatar', title: '用户头像', operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'wechat.mobile', title: '用户电话', operate: 'LIKE'},
|
||||
{field: 'activity.fees', title: '报名费用', operate: false},
|
||||
{field: 'order.pay_amount', title: '退款费用', operate: false},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'dispose_time', title: __('Dispose_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{
|
||||
field: 'buttons',
|
||||
width: "120px",
|
||||
title: __('操作'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'agree',
|
||||
text: __('确认退款'),
|
||||
title: __('确认退款'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
icon: 'fa fa-check',
|
||||
url: 'wdsxh/activity/refund/agree',
|
||||
confirm: '确认并同意退款?退款后费用将原路退回',
|
||||
visible:function (row){
|
||||
if(row.state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'refuse',
|
||||
text: __('拒绝退款'),
|
||||
title: __('拒绝退款'),
|
||||
classname: 'btn btn-xs btn-info btn-danger btn-dialog',
|
||||
icon: 'fa fa-close',
|
||||
url: 'wdsxh/activity/refund/refuse',
|
||||
visible: function (row) {
|
||||
if(row.state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
// {
|
||||
// name: 'del',
|
||||
// icon: 'fa fa-trash',
|
||||
// title: __('删除'),
|
||||
// text: __('删除'),
|
||||
// extend: 'data-toggle="tooltip"',
|
||||
// classname: 'btn btn-xs btn-danger btn-delone'
|
||||
// }
|
||||
],
|
||||
formatter: Table.api.formatter.buttons
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
agree: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
refuse: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
138
public/assets/js/backend/wdsxh/album.js
Normal file
138
public/assets/js/backend/wdsxh/album.js
Normal file
@@ -0,0 +1,138 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/album/index' + location.search,
|
||||
add_url: 'wdsxh/album/add',
|
||||
edit_url: 'wdsxh/album/edit',
|
||||
del_url: 'wdsxh/album/del',
|
||||
multi_url: 'wdsxh/album/multi',
|
||||
import_url: 'wdsxh/album/import',
|
||||
table: 'wdsxh_album',
|
||||
},
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'release_date', title: __('Release_date'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'type', title: __('Type'), searchList: {"1":__('Type 1'),"2":__('Type 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/album/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/album/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/album/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
album_config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.images').removeClass('hide');
|
||||
$('.video').addClass('hide');
|
||||
$('.image').addClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.image').removeClass('hide');
|
||||
$('.video').removeClass('hide');
|
||||
$('.images').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
195
public/assets/js/backend/wdsxh/article/article.js
Normal file
195
public/assets/js/backend/wdsxh/article/article.js
Normal file
@@ -0,0 +1,195 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/article/article/index' + location.search,
|
||||
add_url: 'wdsxh/article/article/add',
|
||||
edit_url: 'wdsxh/article/article/edit',
|
||||
del_url: 'wdsxh/article/article/del',
|
||||
multi_url: 'wdsxh/article/article/multi',
|
||||
import_url: 'wdsxh/article/article/import',
|
||||
table: 'wdsxh_article',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'wdsxharticlecat.name', title: __('文章分类'), operate: false},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE'},
|
||||
{field: 'release', title: __('Release'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
// 使用更精确的表单选择器
|
||||
var $form = $("form#edit-form, form#add-form, form[role=form]");
|
||||
|
||||
// 先移除表单的默认提交行为,改为通过按钮点击处理
|
||||
$form.attr('onsubmit', 'return false;');
|
||||
|
||||
Form.api.bindevent($form, {
|
||||
beforeSubmit: function (form) {
|
||||
var $filesInput = $('#c-files');
|
||||
var $hidden = $('#c-filesjson');
|
||||
if ($filesInput.length === 0 || $hidden.length === 0) return true;
|
||||
var urlsStr = $.trim($filesInput.val());
|
||||
if (urlsStr === '') {
|
||||
$hidden.val('');
|
||||
return true;
|
||||
}
|
||||
var urls = urlsStr.split(/\s*,\s*/);
|
||||
var namesJsonStr = ($("textarea[name='row[filesdata]']").val() || '').trim();
|
||||
var namesData = [];
|
||||
try {
|
||||
namesData = namesJsonStr ? JSON.parse(namesJsonStr) : [];
|
||||
} catch (e) {
|
||||
namesData = [];
|
||||
}
|
||||
var arr = [];
|
||||
for (var i = 0; i < urls.length; i++) {
|
||||
var url = urls[i];
|
||||
if (!url) continue;
|
||||
var name = '';
|
||||
if (namesData[i] && namesData[i].name) {
|
||||
name = $.trim(namesData[i].name);
|
||||
}
|
||||
if (!name) {
|
||||
Toastr.error('附件名称不能为空');
|
||||
return false;
|
||||
}
|
||||
arr.push({ url: url, name: name });
|
||||
}
|
||||
$hidden.val(JSON.stringify(arr));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// 添加额外的表单提交验证
|
||||
$form.on("submit", function (e) {
|
||||
console.log('表单提交事件触发'); // 添加调试日志
|
||||
var $filesInput = $('#c-files');
|
||||
if ($filesInput.length === 0) return true;
|
||||
var urlsStr = $.trim($filesInput.val());
|
||||
if (urlsStr === '') return true;
|
||||
var urls = urlsStr.split(/\s*,\s*/);
|
||||
var namesJsonStr = ($("textarea[name='row[filesdata]']").val() || '').trim();
|
||||
var namesData = [];
|
||||
try {
|
||||
namesData = namesJsonStr ? JSON.parse(namesJsonStr) : [];
|
||||
} catch (e) {
|
||||
namesData = [];
|
||||
}
|
||||
console.log('附件数量:', urls.length); // 添加调试日志
|
||||
console.log('名称数据:', namesData); // 添加调试日志
|
||||
for (var i = 0; i < urls.length; i++) {
|
||||
if (!(namesData[i] && $.trim(namesData[i].name))) {
|
||||
console.log('第', i+1, '个附件名称为空'); // 添加调试日志
|
||||
Toastr.error('附件名称不能为空');
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
// 添加更强制的方法阻止表单提交
|
||||
if (e.cancelable !== false) {
|
||||
e.preventDefault();
|
||||
}
|
||||
// 返回false并阻止事件冒泡
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
// 添加按钮点击事件作为主要的验证层
|
||||
$form.find('button[type="submit"]').on('click', function (e) {
|
||||
console.log('提交按钮点击事件触发'); // 添加调试日志
|
||||
var $filesInput = $('#c-files');
|
||||
if ($filesInput.length === 0) {
|
||||
// 如果没有附件输入框,直接提交表单
|
||||
console.log('没有附件输入框,直接提交表单');
|
||||
return true;
|
||||
}
|
||||
var urlsStr = $.trim($filesInput.val());
|
||||
if (urlsStr === '') {
|
||||
// 如果没有附件,直接提交表单
|
||||
console.log('没有附件,直接提交表单');
|
||||
return true;
|
||||
}
|
||||
var urls = urlsStr.split(/\s*,\s*/);
|
||||
var namesJsonStr = ($("textarea[name='row[filesdata]']").val() || '').trim();
|
||||
var namesData = [];
|
||||
try {
|
||||
namesData = namesJsonStr ? JSON.parse(namesJsonStr) : [];
|
||||
} catch (e) {
|
||||
namesData = [];
|
||||
}
|
||||
console.log('按钮点击验证 - 附件数量:', urls.length); // 添加调试日志
|
||||
console.log('按钮点击验证 - 名称数据:', namesData); // 添加调试日志
|
||||
for (var i = 0; i < urls.length; i++) {
|
||||
if (!(namesData[i] && $.trim(namesData[i].name))) {
|
||||
console.log('按钮点击验证 - 第', i+1, '个附件名称为空'); // 添加调试日志
|
||||
Toastr.error('附件名称不能为空');
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 验证通过,移除onsubmit属性并允许表单正常提交
|
||||
console.log('验证通过,允许表单提交');
|
||||
$form.removeAttr('onsubmit');
|
||||
return true;
|
||||
});
|
||||
$(document).on('change','input[name="row[type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.linktext').addClass('hide');
|
||||
$('.release').removeClass('hide');
|
||||
$('.read_num').removeClass('hide');
|
||||
$('.teletext').removeClass('hide');
|
||||
$('.files').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.linktext').removeClass('hide');
|
||||
$('.release').addClass('hide');
|
||||
$('.read_num').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
$('.files').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
59
public/assets/js/backend/wdsxh/article/article_cat.js
Normal file
59
public/assets/js/backend/wdsxh/article/article_cat.js
Normal file
@@ -0,0 +1,59 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/article/article_cat/index' + location.search,
|
||||
add_url: 'wdsxh/article/article_cat/add',
|
||||
edit_url: 'wdsxh/article/article_cat/edit',
|
||||
del_url: 'wdsxh/article/article_cat/del',
|
||||
multi_url: 'wdsxh/article/article_cat/multi',
|
||||
import_url: 'wdsxh/article/article_cat/import',
|
||||
table: 'wdsxh_article_cat',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'),align: 'left',formatter: Controller.api.formatter.title},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
formatter: {
|
||||
title: function (value, row, index) {
|
||||
value = value.toString().replace(/(&|&)nbsp;/g, ' ');
|
||||
return !row.ismenu || row.status == 'hidden' ? "<span class='text-primary'>" + value + "</span>" : value;
|
||||
}
|
||||
},
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
90
public/assets/js/backend/wdsxh/banner.js
Normal file
90
public/assets/js/backend/wdsxh/banner.js
Normal file
@@ -0,0 +1,90 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/banner/index' + location.search,
|
||||
add_url: 'wdsxh/banner/add',
|
||||
edit_url: 'wdsxh/banner/edit',
|
||||
del_url: 'wdsxh/banner/del',
|
||||
multi_url: 'wdsxh/banner/multi',
|
||||
import_url: 'wdsxh/banner/import',
|
||||
table: 'wdsxh_banner',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'jump_type', title: __('Jump_type'), searchList: {"1":__('Jump_type 1'),"2":__('Jump_type 2'),"3":__('Jump_type 3'),"4":__('Jump_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.toggle},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$("#c-jump_link").data("format-item", function(row){
|
||||
return row.name + " 【" + row.url+"】";
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[jump_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.page-url').removeClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "3":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').removeClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "4":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').removeClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
14
public/assets/js/backend/wdsxh/business/association.js
Normal file
14
public/assets/js/backend/wdsxh/business/association.js
Normal file
@@ -0,0 +1,14 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
165
public/assets/js/backend/wdsxh/business/business.js
Normal file
165
public/assets/js/backend/wdsxh/business/business.js
Normal file
@@ -0,0 +1,165 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/business/business/index' + location.search,
|
||||
add_url: 'wdsxh/business/business/add',
|
||||
edit_url: 'wdsxh/business/business/edit',
|
||||
del_url: 'wdsxh/business/business/del',
|
||||
multi_url: 'wdsxh/business/business/multi',
|
||||
import_url: 'wdsxh/business/business/import',
|
||||
table: 'wdsxh_business',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'category.name', title: __('分类名称'), operate:false},
|
||||
{field: 'member.name', title: __('发布人名称'), operate:false},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'three_adopt',
|
||||
text: __('通过'),
|
||||
title: __('通过申请'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/business/business/three_adopt',
|
||||
confirm: '确认并同意申请?',
|
||||
visible:function(row){
|
||||
if(row['state']==1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'three_reject',
|
||||
text:'驳回',
|
||||
classname: 'btn btn-xs btn-primary btn-warning btn-view btn-dialog',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/business/business/three_reject',
|
||||
visible:function(row){
|
||||
if(row['state']==1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
refresh:true
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/business/business/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/business/business/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/business/business/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
three_reject:function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
business_config:function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
116
public/assets/js/backend/wdsxh/business/category.js
Normal file
116
public/assets/js/backend/wdsxh/business/category.js
Normal file
@@ -0,0 +1,116 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/business/category/index' + location.search,
|
||||
add_url: 'wdsxh/business/category/add',
|
||||
edit_url: 'wdsxh/business/category/edit',
|
||||
del_url: 'wdsxh/business/category/del',
|
||||
multi_url: 'wdsxh/business/category/multi',
|
||||
import_url: 'wdsxh/business/category/import',
|
||||
table: 'wdsxh_business_category',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/business/category/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/business/category/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/business/category/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
49
public/assets/js/backend/wdsxh/company_goods.js
Normal file
49
public/assets/js/backend/wdsxh/company_goods.js
Normal file
@@ -0,0 +1,49 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/company_goods/index' + location.search,
|
||||
edit_url: 'wdsxh/company_goods/edit',
|
||||
del_url: 'wdsxh/company_goods/del',
|
||||
multi_url: 'wdsxh/company_goods/multi',
|
||||
import_url: 'wdsxh/company_goods/import',
|
||||
table: 'wdsxh_company_goods',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
56
public/assets/js/backend/wdsxh/config.js
Normal file
56
public/assets/js/backend/wdsxh/config.js
Normal file
@@ -0,0 +1,56 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form','wdsxh-colorpicker'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
|
||||
//选择颜色
|
||||
var colorpickerObj = null;
|
||||
$(document).on("click", ".colorpicker", function () {
|
||||
var that = this;
|
||||
var input_id = $(that).data("input-id") ? $(that).data("input-id") : "";
|
||||
var color = $("#" + input_id).val();
|
||||
|
||||
if (!colorpickerObj) {
|
||||
colorpickerObj = Colorpicker.create({
|
||||
el: "colorpicker",
|
||||
color: color ? color : 'rgba(0,0,0)',
|
||||
allMode: 'hex',
|
||||
change: function (elem, rgba, hex) {
|
||||
$("#" + input_id).val(hex);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
colorpickerObj.color = color ? color : 'rgba(0,0,0)';
|
||||
// 调用 Colorpicker 库中提供的方法来重新渲染颜色选择器
|
||||
colorpickerObj.render();
|
||||
}
|
||||
// 显示颜色选择器
|
||||
colorpickerObj.show();
|
||||
});
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[jump_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1"://小程序客服
|
||||
$('.jump_link').addClass('hide');
|
||||
$('.call_mobile').addClass('hide');
|
||||
break;
|
||||
case "2"://拨打电话
|
||||
$('.jump_link').addClass('hide');
|
||||
$('.call_mobile').removeClass('hide');
|
||||
break;
|
||||
case "3"://外部链接
|
||||
$('.call_mobile').addClass('hide');
|
||||
$('.jump_link').removeClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
100
public/assets/js/backend/wdsxh/corporate/card.js
Normal file
100
public/assets/js/backend/wdsxh/corporate/card.js
Normal file
@@ -0,0 +1,100 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/corporate/card/index' + location.search,
|
||||
edit_url: 'wdsxh/corporate/card/edit',
|
||||
del_url: 'wdsxh/corporate/card/del',
|
||||
table: 'wdsxh_corporate_card',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'share_title', title: __('Share_title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'company_name', title: __('Company_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'company_position', title: __('Company_position'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'company_address', title: __('Company_address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'wechat_number', title: __('Wechat_number'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'is_default', title: __('Is_default'), searchList: {"1":__('Is_default 1'),"2":__('Is_default 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'is_hide_avatar', title: __('Is_hide_avatar'), searchList: {"1":__('Is_hide_avatar 1'),"2":__('Is_hide_avatar 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'is_wechat_number_public', title: __('Is_wechat_number_public'), searchList: {"1":__('Is_wechat_number_public 1'),"2":__('Is_wechat_number_public 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'details',
|
||||
text: __('查看详情'),
|
||||
title: __('查看详情'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
url: 'wdsxh/corporate/card/details',
|
||||
extend: 'data-area=["80%","80%"]',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
details: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('body').on('click', '[data-tips-image]', function () {
|
||||
var img = new Image();
|
||||
var imgWidth = this.getAttribute('data-width') || '480px';
|
||||
img.onload = function () {
|
||||
var $content = $(img).appendTo('body').css({background: '#fff', width: imgWidth, height: 'auto'});
|
||||
Layer.open({
|
||||
type: 1, area: imgWidth, title: false, closeBtn: 1,
|
||||
skin: 'layui-layer-nobg', shadeClose: true, content: $content,
|
||||
end: function () {
|
||||
$(img).remove();
|
||||
},
|
||||
success: function () {
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
img.onerror = function (e) {
|
||||
|
||||
};
|
||||
img.src = this.getAttribute('data-tips-image') || this.src;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
116
public/assets/js/backend/wdsxh/corporate/card_background.js
Normal file
116
public/assets/js/backend/wdsxh/corporate/card_background.js
Normal file
@@ -0,0 +1,116 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/corporate/card_background/index' + location.search,
|
||||
add_url: 'wdsxh/corporate/card_background/add',
|
||||
edit_url: 'wdsxh/corporate/card_background/edit',
|
||||
del_url: 'wdsxh/corporate/card_background/del',
|
||||
multi_url: 'wdsxh/corporate/card_background/multi',
|
||||
import_url: 'wdsxh/corporate/card_background/import',
|
||||
table: 'wdsxh_corporate_card_background',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'font_color', title: __('FontColor'), searchList: {"#5A5B6E":__('Black'),"#FFFFFF":__('White')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/corporate/card_background/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/corporate/card_background/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/corporate/card_background/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
80
public/assets/js/backend/wdsxh/dashboard.js
Normal file
80
public/assets/js/backend/wdsxh/dashboard.js
Normal file
@@ -0,0 +1,80 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 基于准备好的dom,初始化echarts实例
|
||||
var myChart = Echarts.init(document.getElementById('echart'), 'walden');
|
||||
|
||||
// 指定图表的配置项和数据
|
||||
var option = {
|
||||
title: {
|
||||
text: '',
|
||||
subtext: ''
|
||||
},
|
||||
color: [
|
||||
"#18d1b1",
|
||||
"#3fb1e3",
|
||||
"#626c91",
|
||||
"#a0a7e6",
|
||||
"#c4ebad",
|
||||
"#96dee8"
|
||||
],
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: [__('Register user')]
|
||||
},
|
||||
toolbox: {
|
||||
show: false,
|
||||
feature: {
|
||||
magicType: {show: true, type: ['stack', 'tiled']},
|
||||
saveAsImage: {show: true}
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: Config.column
|
||||
},
|
||||
yAxis: {},
|
||||
grid: [{
|
||||
left: 'left',
|
||||
top: 'top',
|
||||
right: '10',
|
||||
bottom: 30
|
||||
}],
|
||||
series: [{
|
||||
name: __('Register user'),
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
areaStyle: {
|
||||
normal: {}
|
||||
},
|
||||
lineStyle: {
|
||||
normal: {
|
||||
width: 1.5
|
||||
}
|
||||
},
|
||||
data: Config.userdata
|
||||
}]
|
||||
};
|
||||
|
||||
// 使用刚指定的配置项和数据显示图表。
|
||||
myChart.setOption(option);
|
||||
|
||||
$(window).resize(function () {
|
||||
myChart.resize();
|
||||
});
|
||||
|
||||
$(document).on("click", ".btn-refresh", function () {
|
||||
setTimeout(function () {
|
||||
myChart.resize();
|
||||
}, 0);
|
||||
});
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
return Controller;
|
||||
});
|
||||
158
public/assets/js/backend/wdsxh/demand.js
Normal file
158
public/assets/js/backend/wdsxh/demand.js
Normal file
@@ -0,0 +1,158 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/demand/index' + location.search,
|
||||
del_url: 'wdsxh/demand/del',
|
||||
table: 'wdsxh_demand',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{
|
||||
field: 'wechat.nickname',
|
||||
title: __('Wdsxh_user_id'),
|
||||
formatter: function (value, row, index) {
|
||||
if (row.is_anonymity == 1) {
|
||||
return '***'; // 这里是一个简单的示例,实际情况下需要根据需求进行处理
|
||||
// return '用户匿名提交'; // 显示提示信息
|
||||
} else if (row.is_anonymity == 2) {
|
||||
return value; // 其他状态保持原样显示
|
||||
}
|
||||
}
|
||||
},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'is_anonymity', title: __('Is_anonymity'), searchList: {"1":__('Is_anonymity 1'),"2":__('Is_anonymity 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'processing_time', title: __('Processing_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
text:'反馈详情',
|
||||
name: 'details',
|
||||
title: '订单详情',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/demand/details',
|
||||
extend:'data-area=["95%","95%"]',
|
||||
},
|
||||
{
|
||||
name: 'processing',
|
||||
text: __('处理'),
|
||||
title: __('处理'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax bg-olive',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/demand/processing',
|
||||
confirm: '确认处理?',
|
||||
visible:function (row){
|
||||
if(row.status == 2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/demand/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/demand/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/demand/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
727
public/assets/js/backend/wdsxh/diy_page.js
Normal file
727
public/assets/js/backend/wdsxh/diy_page.js
Normal file
@@ -0,0 +1,727 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/diy_page/index' + location.search,
|
||||
add_url: 'wdsxh/diy_page/add',
|
||||
edit_url: 'wdsxh/diy_page/edit',
|
||||
del_url: 'wdsxh/diy_page/del',
|
||||
multi_url: 'wdsxh/diy_page/multi',
|
||||
import_url: 'wdsxh/diy_page/import',
|
||||
table: 'wdsxh_diy_page',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{ checkbox: true },
|
||||
{ field: 'id', title: __('Id') },
|
||||
{
|
||||
field: 'page_name',
|
||||
title: __('Page Name')
|
||||
},
|
||||
{ field: 'status', title: __('Status'), searchList: { "home": __('Status home'), "custom": __('Status custom') }, formatter: Table.api.formatter.status },
|
||||
{ field: 'createtime', title: __('Createtime'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: Table.api.formatter.datetime },
|
||||
{ field: 'updatetime', title: __('Updatetime'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: Table.api.formatter.datetime },
|
||||
{
|
||||
field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate, buttons: [
|
||||
{
|
||||
name: 'adopt',
|
||||
text: '设为首页',
|
||||
title: '设为首页',
|
||||
confirm: '页面类型确认设为首页吗?',
|
||||
classname: 'btn btn-xs btn-info btn-view btn-ajax',
|
||||
url: 'wdsxh/diy_page/set_home',
|
||||
hidden: function (row) {
|
||||
if (row.status != 'home') {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
refresh: true
|
||||
},
|
||||
],
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
new Vue({
|
||||
el: '#diy',
|
||||
data: {
|
||||
// 默认组件数据
|
||||
defaultData: defaultData,
|
||||
// 模板数据
|
||||
pageData: pageData,
|
||||
// 已选组件索引
|
||||
selectedIndex: -1,
|
||||
// 当前组件数据
|
||||
currentData: {},
|
||||
// 选择弹窗是否显示
|
||||
selectVisible: false,
|
||||
// 选择弹窗数据
|
||||
selectData: null,
|
||||
// 选择弹窗选中类型
|
||||
selectType: 'Custom',
|
||||
// 选择弹窗选中回调事件
|
||||
selectCallback: null,
|
||||
// 选择弹窗表单数据
|
||||
selectForm: {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
},
|
||||
// 文章分类列表
|
||||
articleCategoryList: [],
|
||||
// 供需分类列表
|
||||
demandCategoryList: [],
|
||||
},
|
||||
created() {
|
||||
$("#diy").show()
|
||||
$("#loading").hide()
|
||||
this.pageData.page.activeName = "first"
|
||||
this.getArticleCategory()
|
||||
this.getDemandCategory()
|
||||
},
|
||||
methods: {
|
||||
// 添加组件
|
||||
handleAdd(type) {
|
||||
this.pageData.items.push(JSON.parse(JSON.stringify(defaultData[type])));
|
||||
this.handleEdit(this.pageData.items.length - 1);
|
||||
setTimeout(() => {
|
||||
const listContainer = document.querySelector(".main-center .scroll-drag")
|
||||
listContainer.scrollTop = listContainer.scrollHeight;
|
||||
}, 50);
|
||||
},
|
||||
// 编辑组件
|
||||
handleEdit(index) {
|
||||
this.selectedIndex = index;
|
||||
this.currentData = {}
|
||||
this.$nextTick(() => {
|
||||
this.currentData = this.selectedIndex == -1 ? this.pageData.page : this.pageData.items[this.selectedIndex];
|
||||
if (!this.currentData.activeName) this.currentData.activeName = "first"
|
||||
if (this.currentData.type == "richTextDiy") {
|
||||
this.$nextTick(() => {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('#richTextDiy').on('change', () => {
|
||||
this.currentData.params.content = $('#richTextDiy').val()
|
||||
});
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 拖动组件
|
||||
handleDrag(event) {
|
||||
this.handleEdit(event.newIndex);
|
||||
},
|
||||
// 获取当前时间
|
||||
getCurrentDate() {
|
||||
const date = new Date();
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
const hours = String(date.getHours()).padStart(2, '0');
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
},
|
||||
// 重置颜色
|
||||
handleResetColor(source, key, color) {
|
||||
source[key] = color;
|
||||
},
|
||||
// 选择图片
|
||||
handleSelectImage(source, index, type = "image/") {
|
||||
parent.Fast.api.open(`general/attachment/select?element_id=&multiple=true&mimetype=${type}*`, __('Choose'), {
|
||||
callback: (data) => {
|
||||
if (data.multiple) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
this.$set(source, index, url)
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除图片
|
||||
handleDeleteImage(source, index) {
|
||||
this.$set(source, index, "")
|
||||
},
|
||||
// 获取文章分类
|
||||
getArticleCategory() {
|
||||
$.post('wdsxh/diy_page/get_article_category', {}, (res) => {
|
||||
this.articleCategoryList = res.rows
|
||||
});
|
||||
},
|
||||
// 选择文章分类
|
||||
handleSelectArticleCategory(source, event) {
|
||||
if (event) {
|
||||
const index = this.articleCategoryList.findIndex(item => item.id == event)
|
||||
if (index > -1) source.categoryName = this.articleCategoryList[index].name
|
||||
else source.categoryName = ""
|
||||
} else {
|
||||
source.categoryName = ""
|
||||
}
|
||||
},
|
||||
// 获取供需分类
|
||||
getDemandCategory() {
|
||||
$.post('wdsxh/diy_page/get_demand_category', {}, (res) => {
|
||||
this.demandCategoryList = res.rows
|
||||
});
|
||||
},
|
||||
// 选择文章分类
|
||||
handleSelectDemandCategory(source, event) {
|
||||
if (event) {
|
||||
const index = this.demandCategoryList.findIndex(item => item.id == event)
|
||||
if (index > -1) source.categoryName = this.demandCategoryList[index].name
|
||||
else source.categoryName = ""
|
||||
} else {
|
||||
source.categoryName = ""
|
||||
}
|
||||
},
|
||||
// 选择组件类型
|
||||
handleSelectType(source) {
|
||||
this.selectCallback = (type, row) => {
|
||||
source['link'] = null;
|
||||
switch (type) {
|
||||
case 'Custom':
|
||||
var path = row.path
|
||||
if (row.parameter) {
|
||||
if (path.indexOf("?") > -1) path += "&" + row.parameter
|
||||
else path += "?" + row.parameter
|
||||
}
|
||||
source['link'] = { type: type, title: row.title, path: path, };
|
||||
break;
|
||||
case 'Inlay':
|
||||
source['link'] = { type: type, title: row.title, path: row.path };
|
||||
break;
|
||||
case 'Editor':
|
||||
var content = $("#Editor").val()
|
||||
source['link'] = { type: type, title: row.name, pageTitle: this.selectForm.title, content: content };
|
||||
break;
|
||||
case 'WXMp':
|
||||
source['link'] = { type: type, title: row.name, appid: this.selectForm.appid, path: this.selectForm.path };
|
||||
break;
|
||||
case 'Outside':
|
||||
source['link'] = { type: type, title: row.name, url: this.selectForm.protocol + this.selectForm.url };
|
||||
break;
|
||||
case 'Phone':
|
||||
source['link'] = { type: type, title: row.name, phone: this.selectForm.phone };
|
||||
break;
|
||||
case 'Service':
|
||||
source['link'] = { type: type, title: row.name };
|
||||
break;
|
||||
case 'Member':
|
||||
source['link'] = { type: type, title: '会员:' + row.name, id: row.id };
|
||||
break;
|
||||
case 'Article':
|
||||
source['link'] = { type: type, title: '文章:' + row.title, id: row.id, link_type: row.type, link_url: row.link };
|
||||
break;
|
||||
case 'Activity':
|
||||
source['link'] = { type: type, title: '活动:' + row.name, id: row.id };
|
||||
break;
|
||||
case 'Goods':
|
||||
source['link'] = { type: type, title: '商品:' + row.name, id: row.id };
|
||||
break;
|
||||
}
|
||||
this.selectVisible = false;
|
||||
}
|
||||
$.post('wdsxh/diy_page/select_url_pro', {}, (res) => {
|
||||
this.selectData = res.rows;
|
||||
this.selectForm = {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
}
|
||||
if (source['link']) {
|
||||
this.selectType = source['link'].type
|
||||
if (source['link'].type === 'Custom') {
|
||||
let index = this.selectData.Custom.list.findIndex((item) => {
|
||||
if (source['link'].path.indexOf(item.path) > -1) {
|
||||
return true
|
||||
}
|
||||
})
|
||||
if (index > -1) {
|
||||
let selectLink = this.selectData.Custom.list[index]
|
||||
this.$delete(this.selectData.Custom.list, index)
|
||||
let selectPath = source['link'].path.split(selectLink.path)[1]
|
||||
if (selectPath[0] == "?" || selectPath[0] == "&") {
|
||||
this.$set(selectLink, "parameter", selectPath.slice(1))
|
||||
}
|
||||
this.selectData.Custom.list.unshift(selectLink)
|
||||
this.selectData.Custom.list = [...this.selectData.Custom.list]
|
||||
}
|
||||
} else if (source['link'].type === 'WXMp') {
|
||||
this.selectForm.appid = source['link'].appid;
|
||||
this.selectForm.path = source['link'].path;
|
||||
} else if (source['link'].type === 'Outside') {
|
||||
if (source['link'].url && source['link'].url.substring(0, 5) == "http:") {
|
||||
this.selectForm.protocol = 'http://';
|
||||
this.selectForm.url = source['link'].url.split('http://')[1];
|
||||
} else if (source['link'].url && source['link'].url.substring(0, 5) == "https") {
|
||||
this.selectForm.protocol = 'https://';
|
||||
this.selectForm.url = source['link'].url.split('https://')[1];
|
||||
} else {
|
||||
this.selectForm.protocol = '';
|
||||
this.selectForm.url = source['link'].url;
|
||||
}
|
||||
} else if (source['link'].type === 'Phone') {
|
||||
this.selectForm.phone = source['link'].phone
|
||||
}
|
||||
} else {
|
||||
this.selectType = "Custom"
|
||||
$("#Editor").val("")
|
||||
}
|
||||
this.selectVisible = true;
|
||||
this.$nextTick(() => {
|
||||
if (source['link'] && source['link'].type === 'Editor') {
|
||||
$("#Editor").val(source['link'].content)
|
||||
this.selectForm.title = source['link'].pageTitle
|
||||
this.selectForm.content = source['link'].content
|
||||
}
|
||||
Controller.api.bindevent();
|
||||
})
|
||||
});
|
||||
},
|
||||
// 改变选择框类型
|
||||
tabChange(e) {
|
||||
if (e.name == "Editor") {
|
||||
this.$nextTick(() => {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('#Editor').on('change', () => {
|
||||
this.selectForm.content = $('#Editor').val()
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
// 添加组件内容项目
|
||||
handleAddItem() {
|
||||
this.currentData.data.push(JSON.parse(JSON.stringify(defaultData[this.currentData.type].data[0])));
|
||||
},
|
||||
// 删除组件内容项目
|
||||
handleDeleteItem(index) {
|
||||
if (this.pageData.items[this.selectedIndex].data.length > 1) {
|
||||
this.pageData.items[this.selectedIndex].data.splice(index, 1);
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '至少保留一个项目',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
// 向上移动组件
|
||||
handleMoveUp(index) {
|
||||
if (index > 0) {
|
||||
[this.pageData.items[index], this.pageData.items[index - 1]] = [this.pageData.items[index - 1], this.pageData.items[index]];
|
||||
this.selectedIndex = index - 1
|
||||
}
|
||||
},
|
||||
// 向下移动组件
|
||||
handleMoveDown(index) {
|
||||
if (index < this.pageData.items.length - 1) {
|
||||
[this.pageData.items[index], this.pageData.items[index + 1]] = [this.pageData.items[index + 1], this.pageData.items[index]];
|
||||
this.selectedIndex = index + 1
|
||||
}
|
||||
},
|
||||
// 复制组件
|
||||
handleCopy(index) {
|
||||
this.pageData.items.push(JSON.parse(JSON.stringify(this.pageData.items[index])));
|
||||
this.handleEdit(this.pageData.items.length - 1);
|
||||
setTimeout(() => {
|
||||
const listContainer = document.querySelector(".main-center .scroll-drag")
|
||||
listContainer.scrollTop = listContainer.scrollHeight;
|
||||
}, 50);
|
||||
},
|
||||
// 删除组件
|
||||
handleDelete(index) {
|
||||
this.$delete(this.pageData.items, index)
|
||||
this.selectedIndex = -1;
|
||||
},
|
||||
// 提交数据
|
||||
handleSubmit() {
|
||||
if (this.pageData.items.length) {
|
||||
this.pageData.page.activeName = undefined
|
||||
for (var i in this.pageData.items) {
|
||||
this.pageData.items[i].activeName = undefined
|
||||
}
|
||||
$.post('', { data: JSON.stringify(this.pageData) }, (res) => {
|
||||
if (res.code == 1) {
|
||||
parent.window.$(".btn-refresh").trigger("click");
|
||||
Toastr.success(res.msg);
|
||||
return setTimeout(() => {
|
||||
Fast.api.close({});
|
||||
}, 1000);
|
||||
}
|
||||
return Toastr.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '至少添加一个组件',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
new Vue({
|
||||
el: '#diy',
|
||||
data: {
|
||||
// 默认组件数据
|
||||
defaultData: defaultData,
|
||||
// 模板数据
|
||||
pageData: pageData,
|
||||
// 已选组件索引
|
||||
selectedIndex: -1,
|
||||
// 当前组件数据
|
||||
currentData: {},
|
||||
// 选择弹窗是否显示
|
||||
selectVisible: false,
|
||||
// 选择弹窗数据
|
||||
selectData: null,
|
||||
// 选择弹窗选中类型
|
||||
selectType: 'Custom',
|
||||
// 选择弹窗选中回调事件
|
||||
selectCallback: null,
|
||||
// 选择弹窗表单数据
|
||||
selectForm: {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
},
|
||||
// 文章分类列表
|
||||
articleCategoryList: [],
|
||||
// 供需分类列表
|
||||
demandCategoryList: [],
|
||||
},
|
||||
created() {
|
||||
$("#diy").show()
|
||||
$("#loading").hide()
|
||||
this.pageData.page.activeName = "first"
|
||||
this.getArticleCategory()
|
||||
this.getDemandCategory()
|
||||
},
|
||||
methods: {
|
||||
// 添加组件
|
||||
handleAdd(type) {
|
||||
this.pageData.items.push(JSON.parse(JSON.stringify(defaultData[type])));
|
||||
this.handleEdit(this.pageData.items.length - 1);
|
||||
setTimeout(() => {
|
||||
const listContainer = document.querySelector(".main-center .scroll-drag")
|
||||
listContainer.scrollTop = listContainer.scrollHeight;
|
||||
}, 50);
|
||||
},
|
||||
// 编辑组件
|
||||
handleEdit(index) {
|
||||
this.selectedIndex = index;
|
||||
this.currentData = {}
|
||||
this.$nextTick(() => {
|
||||
this.currentData = this.selectedIndex == -1 ? this.pageData.page : this.pageData.items[this.selectedIndex];
|
||||
if (!this.currentData.activeName) this.currentData.activeName = "first"
|
||||
if (this.currentData.type == "richTextDiy") {
|
||||
this.$nextTick(() => {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('#richTextDiy').on('change', () => {
|
||||
this.currentData.params.content = $('#richTextDiy').val()
|
||||
});
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 拖动组件
|
||||
handleDrag(event) {
|
||||
this.handleEdit(event.newIndex);
|
||||
},
|
||||
// 获取当前时间
|
||||
getCurrentDate() {
|
||||
const date = new Date();
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
const hours = String(date.getHours()).padStart(2, '0');
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
},
|
||||
// 重置颜色
|
||||
handleResetColor(source, key, color) {
|
||||
source[key] = color;
|
||||
},
|
||||
// 选择图片
|
||||
handleSelectImage(source, index, type = "image/") {
|
||||
parent.Fast.api.open(`general/attachment/select?element_id=&multiple=true&mimetype=${type}*`, __('Choose'), {
|
||||
callback: (data) => {
|
||||
if (data.multiple) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
this.$set(source, index, url)
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除图片
|
||||
handleDeleteImage(source, index) {
|
||||
this.$set(source, index, "")
|
||||
},
|
||||
// 获取文章分类
|
||||
getArticleCategory() {
|
||||
$.post('wdsxh/diy_page/get_article_category', {}, (res) => {
|
||||
this.articleCategoryList = res.rows
|
||||
});
|
||||
},
|
||||
// 选择文章分类
|
||||
handleSelectArticleCategory(source, event) {
|
||||
if (event) {
|
||||
const index = this.articleCategoryList.findIndex(item => item.id == event)
|
||||
if (index > -1) source.categoryName = this.articleCategoryList[index].name
|
||||
else source.categoryName = ""
|
||||
} else {
|
||||
source.categoryName = ""
|
||||
}
|
||||
},
|
||||
// 获取供需分类
|
||||
getDemandCategory() {
|
||||
$.post('wdsxh/diy_page/get_demand_category', {}, (res) => {
|
||||
this.demandCategoryList = res.rows
|
||||
});
|
||||
},
|
||||
// 选择文章分类
|
||||
handleSelectDemandCategory(source, event) {
|
||||
if (event) {
|
||||
const index = this.demandCategoryList.findIndex(item => item.id == event)
|
||||
if (index > -1) source.categoryName = this.demandCategoryList[index].name
|
||||
else source.categoryName = ""
|
||||
} else {
|
||||
source.categoryName = ""
|
||||
}
|
||||
},
|
||||
// 选择组件类型
|
||||
handleSelectType(source) {
|
||||
this.selectCallback = (type, row) => {
|
||||
source['link'] = null;
|
||||
switch (type) {
|
||||
case 'Custom':
|
||||
var path = row.path
|
||||
if (row.parameter) {
|
||||
if (path.indexOf("?") > -1) path += "&" + row.parameter
|
||||
else path += "?" + row.parameter
|
||||
}
|
||||
source['link'] = { type: type, title: row.title, path: path, };
|
||||
break;
|
||||
case 'Inlay':
|
||||
source['link'] = { type: type, title: row.title, path: row.path };
|
||||
break;
|
||||
case 'Editor':
|
||||
var content = $("#Editor").val()
|
||||
source['link'] = { type: type, title: row.name, pageTitle: this.selectForm.title, content: content };
|
||||
break;
|
||||
case 'WXMp':
|
||||
source['link'] = { type: type, title: row.name, appid: this.selectForm.appid, path: this.selectForm.path };
|
||||
break;
|
||||
case 'Outside':
|
||||
source['link'] = { type: type, title: row.name, url: this.selectForm.protocol + this.selectForm.url };
|
||||
break;
|
||||
case 'Phone':
|
||||
source['link'] = { type: type, title: row.name, phone: this.selectForm.phone };
|
||||
break;
|
||||
case 'Service':
|
||||
source['link'] = { type: type, title: row.name };
|
||||
break;
|
||||
case 'Member':
|
||||
source['link'] = { type: type, title: '会员:' + row.name, id: row.id };
|
||||
break;
|
||||
case 'Article':
|
||||
source['link'] = { type: type, title: '文章:' + row.title, id: row.id, link_type: row.type, link_url: row.link };
|
||||
break;
|
||||
case 'Activity':
|
||||
source['link'] = { type: type, title: '活动:' + row.name, id: row.id };
|
||||
break;
|
||||
case 'Goods':
|
||||
source['link'] = { type: type, title: '商品:' + row.name, id: row.id };
|
||||
break;
|
||||
}
|
||||
this.selectVisible = false;
|
||||
}
|
||||
$.post('wdsxh/diy_page/select_url_pro', {}, (res) => {
|
||||
this.selectData = res.rows;
|
||||
this.selectForm = {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
}
|
||||
if (source['link']) {
|
||||
this.selectType = source['link'].type
|
||||
|
||||
if (source['link'].type === 'Custom') {
|
||||
let index = this.selectData.Custom.list.findIndex((item) => {
|
||||
if (source['link'].path.indexOf(item.path) > -1) {
|
||||
return true
|
||||
}
|
||||
})
|
||||
if (index > -1) {
|
||||
let selectLink = this.selectData.Custom.list[index]
|
||||
this.$delete(this.selectData.Custom.list, index)
|
||||
let selectPath = source['link'].path.split(selectLink.path)[1]
|
||||
if (selectPath[0] == "?" || selectPath[0] == "&") {
|
||||
this.$set(selectLink, "parameter", selectPath.slice(1))
|
||||
}
|
||||
this.selectData.Custom.list.unshift(selectLink)
|
||||
this.selectData.Custom.list = [...this.selectData.Custom.list]
|
||||
}
|
||||
} else if (source['link'].type === 'WXMp') {
|
||||
this.selectForm.appid = source['link'].appid;
|
||||
this.selectForm.path = source['link'].path;
|
||||
} else if (source['link'].type === 'Outside') {
|
||||
if (source['link'].url && source['link'].url.substring(0, 5) == "http:") {
|
||||
this.selectForm.protocol = 'http://';
|
||||
this.selectForm.url = source['link'].url.split('http://')[1];
|
||||
} else if (source['link'].url && source['link'].url.substring(0, 5) == "https") {
|
||||
this.selectForm.protocol = 'https://';
|
||||
this.selectForm.url = source['link'].url.split('https://')[1];
|
||||
} else {
|
||||
this.selectForm.protocol = '';
|
||||
this.selectForm.url = source['link'].url;
|
||||
}
|
||||
} else if (source['link'].type === 'Phone') {
|
||||
this.selectForm.phone = source['link'].phone
|
||||
}
|
||||
} else {
|
||||
this.selectType = "Custom"
|
||||
$("#Editor").val("")
|
||||
}
|
||||
this.selectVisible = true;
|
||||
this.$nextTick(() => {
|
||||
if (source['link'] && source['link'].type === 'Editor') {
|
||||
$("#Editor").val(source['link'].content)
|
||||
this.selectForm.title = source['link'].pageTitle
|
||||
this.selectForm.content = source['link'].content
|
||||
}
|
||||
Controller.api.bindevent();
|
||||
})
|
||||
});
|
||||
},
|
||||
// 改变选择框类型
|
||||
tabChange(e) {
|
||||
if (e.name == "Editor") {
|
||||
this.$nextTick(() => {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('#Editor').on('change', () => {
|
||||
this.selectForm.content = $('#Editor').val()
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
// 添加组件内容项目
|
||||
handleAddItem() {
|
||||
this.currentData.data.push(JSON.parse(JSON.stringify(defaultData[this.currentData.type].data[0])));
|
||||
},
|
||||
// 删除组件内容项目
|
||||
handleDeleteItem(index) {
|
||||
if (this.pageData.items[this.selectedIndex].data.length > 1) {
|
||||
this.pageData.items[this.selectedIndex].data.splice(index, 1);
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '至少保留一个项目',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
// 向上移动组件
|
||||
handleMoveUp(index) {
|
||||
if (index > 0) {
|
||||
[this.pageData.items[index], this.pageData.items[index - 1]] = [this.pageData.items[index - 1], this.pageData.items[index]];
|
||||
this.selectedIndex = index - 1
|
||||
}
|
||||
},
|
||||
// 向下移动组件
|
||||
handleMoveDown(index) {
|
||||
if (index < this.pageData.items.length - 1) {
|
||||
[this.pageData.items[index], this.pageData.items[index + 1]] = [this.pageData.items[index + 1], this.pageData.items[index]];
|
||||
this.selectedIndex = index + 1
|
||||
}
|
||||
},
|
||||
// 复制组件
|
||||
handleCopy(index) {
|
||||
this.pageData.items.push(JSON.parse(JSON.stringify(this.pageData.items[index])));
|
||||
this.handleEdit(this.pageData.items.length - 1);
|
||||
setTimeout(() => {
|
||||
const listContainer = document.querySelector(".main-center .scroll-drag")
|
||||
listContainer.scrollTop = listContainer.scrollHeight;
|
||||
}, 50);
|
||||
},
|
||||
// 删除组件
|
||||
handleDelete(index) {
|
||||
this.$delete(this.pageData.items, index)
|
||||
this.selectedIndex = -1;
|
||||
},
|
||||
// 提交数据
|
||||
handleSubmit() {
|
||||
if (this.pageData.items.length) {
|
||||
this.pageData.page.activeName = undefined
|
||||
for (var i in this.pageData.items) {
|
||||
this.pageData.items[i].activeName = undefined
|
||||
}
|
||||
$.post('', { data: JSON.stringify(this.pageData) }, (res) => {
|
||||
if (res.code == 1) {
|
||||
parent.window.$(".btn-refresh").trigger("click");
|
||||
Toastr.success(res.msg);
|
||||
return setTimeout(() => {
|
||||
Fast.api.close({});
|
||||
}, 1000);
|
||||
}
|
||||
return Toastr.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '至少添加一个组件',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
select_home_mode: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
54
public/assets/js/backend/wdsxh/faq.js
Normal file
54
public/assets/js/backend/wdsxh/faq.js
Normal file
@@ -0,0 +1,54 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/faq/index' + location.search,
|
||||
add_url: 'wdsxh/faq/add',
|
||||
edit_url: 'wdsxh/faq/edit',
|
||||
del_url: 'wdsxh/faq/del',
|
||||
multi_url: 'wdsxh/faq/multi',
|
||||
import_url: 'wdsxh/faq/import',
|
||||
table: 'wdsxh_faq',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
82
public/assets/js/backend/wdsxh/institution/institution.js
Normal file
82
public/assets/js/backend/wdsxh/institution/institution.js
Normal file
@@ -0,0 +1,82 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/institution/institution/index' + location.search,
|
||||
add_url: 'wdsxh/institution/institution/add',
|
||||
edit_url: 'wdsxh/institution/institution/edit',
|
||||
del_url: 'wdsxh/institution/institution/del',
|
||||
multi_url: 'wdsxh/institution/institution/multi',
|
||||
import_url: 'wdsxh/institution/institution/import',
|
||||
table: 'wdsxh_institution',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'icon', title: __('Icon'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'level_list',
|
||||
text: '级别列表',
|
||||
title: '级别列表',
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
url: 'wdsxh/institution/level?institution_id={id}',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
{
|
||||
name: 'member_list',
|
||||
text: '成员列表',
|
||||
title: '成员列表',
|
||||
classname: 'btn btn-xs btn-info btn-dialog bg-olive',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/institution/member?institution_id={id}',
|
||||
refresh:true,
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
institution_config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,73 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/institution/institution_member_apply/index' + location.search,
|
||||
table: 'wdsxh_institution_member_apply',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'usermember.name', title: '会员名称'},
|
||||
{field: 'institution.name', title: __('Institution.name'), operate: 'LIKE'},
|
||||
{field: 'level.level_name', title: __('Level.level_name'), operate: 'LIKE'},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'handle_time', title: __('Handle_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'handle',
|
||||
text: __('审核'),
|
||||
title: __('审核'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/institution/institution_member_apply/handle',
|
||||
visible:function(row){
|
||||
if(row['state'] == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
handle: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
64
public/assets/js/backend/wdsxh/institution/level.js
Normal file
64
public/assets/js/backend/wdsxh/institution/level.js
Normal file
@@ -0,0 +1,64 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/institution/level/index' + location.search + '&institution_id=' + Config.institution_id,
|
||||
add_url: 'wdsxh/institution/level/add?institution_id=' + Config.institution_id,
|
||||
edit_url: 'wdsxh/institution/level/edit?institution_id=' + Config.institution_id,
|
||||
del_url: 'wdsxh/institution/level/del',
|
||||
multi_url: 'wdsxh/institution/level/multi',
|
||||
import_url: 'wdsxh/institution/level/import',
|
||||
table: 'wdsxh_institution_level',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'institution.name', title: __('Institution.name'), operate: 'LIKE'},
|
||||
{field: 'level_name', title: __('Level_name'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'member_list',
|
||||
text: '成员列表',
|
||||
title: '成员列表',
|
||||
classname: 'btn btn-xs btn-info btn-dialog bg-olive',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/institution/member?level_id={id}',
|
||||
refresh:true,
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
66
public/assets/js/backend/wdsxh/institution/member.js
Normal file
66
public/assets/js/backend/wdsxh/institution/member.js
Normal file
@@ -0,0 +1,66 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/institution/member/index' + location.search + '&institution_id=' + Config.institution_id + '&level_id=' + Config.level_id,
|
||||
add_url: 'wdsxh/institution/member/add?institution_id=' + Config.institution_id + '&level_id=' + Config.level_id,
|
||||
edit_url: 'wdsxh/institution/member/edit?institution_id=' + Config.institution_id + '&level_id=' + Config.level_id,
|
||||
del_url: 'wdsxh/institution/member/del',
|
||||
multi_url: 'wdsxh/institution/member/multi',
|
||||
import_url: 'wdsxh/institution/member/import',
|
||||
table: 'wdsxh_institution_member',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'usermember.name', title: __('Member_id')},
|
||||
{field: 'usermember.mobile', title: '会员手机号', operate: 'LIKE'},
|
||||
{field: 'institution.name', title: __('Institution.name'), operate: 'LIKE'},
|
||||
{field: 'level.level_name', title: __('Level.level_name'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'member_expire_status', title: __('会员状态'), searchList: {"1":__('正常'),"2":__('已过期')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$("#c-level_id").data("params", function(){
|
||||
console.log($("#c-institution_id").val());
|
||||
return {custom: {institution_id: $('input[name="row[institution_id]"]').val()}};
|
||||
});
|
||||
$(document).on("change", "#c-institution_id_text", function () {
|
||||
$("#c-level_id_text").val('');
|
||||
});
|
||||
|
||||
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
210
public/assets/js/backend/wdsxh/jielong.js
Normal file
210
public/assets/js/backend/wdsxh/jielong.js
Normal file
@@ -0,0 +1,210 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/jielong/index' + location.search,
|
||||
add_url: 'wdsxh/jielong/add',
|
||||
edit_url: 'wdsxh/jielong/edit',
|
||||
del_url: 'wdsxh/jielong/del',
|
||||
multi_url: 'wdsxh/jielong/multi',
|
||||
import_url: 'wdsxh/jielong/import',
|
||||
table: 'wdsxh_jielong',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
// fixedColumns: true,
|
||||
// fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'member_name', title: __('发布人名称'), operate: false},
|
||||
{field: 'type', title: __('Type'), searchList: {"1":__('Type 1'),"2":__('Type 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'expire_time', title: __('Expire_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
// {field: 'member_ids', title: __('Member_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
// {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'applet_jielong_qrcode_path', title: __('Applet_jielong_qrcode_path'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'copy_relay',
|
||||
text: __('复制接龙'),
|
||||
title: __('复制接龙'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
icon: 'fa fa-floppy-o',
|
||||
url: 'wdsxh/jielong/copy_relay',
|
||||
confirm: '确认复制此条接龙信息?',
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'list',
|
||||
text: __('反馈信息'),
|
||||
title: __('反馈信息'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
url: 'wdsxh/jielong/lists?jielong_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/jielong/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/jielong/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/jielong/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
lists: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/jielong/lists'+ location.search,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
// fixedColumns: true,
|
||||
// fixedRightNumber: 1,
|
||||
search:false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
visible: false,
|
||||
columns: [
|
||||
[
|
||||
// {checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('会员名称'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'images', title: __('图片'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
|
||||
{field: 'content', title: __('内容'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'status', title: __('参加状态'), searchList: {"1":__('参加'),"2":__('不参加'),"3":__('参加其他')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.MemberIds').addClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.MemberIds').removeClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
54
public/assets/js/backend/wdsxh/link.js
Normal file
54
public/assets/js/backend/wdsxh/link.js
Normal file
@@ -0,0 +1,54 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/link/index' + location.search,
|
||||
add_url: 'wdsxh/link/add',
|
||||
edit_url: 'wdsxh/link/edit',
|
||||
del_url: 'wdsxh/link/del',
|
||||
multi_url: 'wdsxh/link/multi',
|
||||
import_url: 'wdsxh/link/import',
|
||||
table: 'wdsxh_link',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'url', title: __('Url'), operate: 'LIKE', formatter: Table.api.formatter.url},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.toggle},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
150
public/assets/js/backend/wdsxh/mall/banner.js
Normal file
150
public/assets/js/backend/wdsxh/mall/banner.js
Normal file
@@ -0,0 +1,150 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/banner/index' + location.search,
|
||||
add_url: 'wdsxh/mall/banner/add',
|
||||
edit_url: 'wdsxh/mall/banner/edit',
|
||||
del_url: 'wdsxh/mall/banner/del',
|
||||
multi_url: 'wdsxh/mall/banner/multi',
|
||||
import_url: 'wdsxh/mall/banner/import',
|
||||
table: 'wdsxh_mall_banner',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'jump_type', title: __('Jump_type'), searchList: {"0":__('Jump_type 0'),"1":__('Jump_type 1'),"2":__('Jump_type 2'),"3":__('Jump_type 3'),"4":__('Jump_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.toggle},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/mall/banner/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/mall/banner/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/mall/banner/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$("#c-jump_link").data("format-item", function(row){
|
||||
return row.name + " 【" + row.url+"】";
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[jump_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.page-url').removeClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "4":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').removeClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "3":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').removeClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
116
public/assets/js/backend/wdsxh/mall/express.js
Normal file
116
public/assets/js/backend/wdsxh/mall/express.js
Normal file
@@ -0,0 +1,116 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/express/index' + location.search,
|
||||
add_url: 'wdsxh/mall/express/add',
|
||||
edit_url: 'wdsxh/mall/express/edit',
|
||||
del_url: 'wdsxh/mall/express/del',
|
||||
multi_url: 'wdsxh/mall/express/multi',
|
||||
import_url: 'wdsxh/mall/express/import',
|
||||
table: 'wdsxh_mall_express',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'brief_introduction', title: __('Brief_introduction'), operate: false},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/mall/express/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/mall/express/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/mall/express/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
116
public/assets/js/backend/wdsxh/mall/freight_rules.js
Normal file
116
public/assets/js/backend/wdsxh/mall/freight_rules.js
Normal file
@@ -0,0 +1,116 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/freight_rules/index' + location.search,
|
||||
add_url: 'wdsxh/mall/freight_rules/add',
|
||||
edit_url: 'wdsxh/mall/freight_rules/edit',
|
||||
del_url: 'wdsxh/mall/freight_rules/del',
|
||||
multi_url: 'wdsxh/mall/freight_rules/multi',
|
||||
import_url: 'wdsxh/mall/freight_rules/import',
|
||||
table: 'wdsxh_mall_freight_rules',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'min', title: __('Min')},
|
||||
{field: 'max', title: __('Max')},
|
||||
{field: 'price', title: __('Price'), operate:'BETWEEN'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/mall/freight_rules/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/mall/freight_rules/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/mall/freight_rules/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
124
public/assets/js/backend/wdsxh/mall/goods.js
Normal file
124
public/assets/js/backend/wdsxh/mall/goods.js
Normal file
@@ -0,0 +1,124 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/goods/index' + location.search,
|
||||
add_url: 'wdsxh/mall/goods/add',
|
||||
edit_url: 'wdsxh/mall/goods/edit',
|
||||
del_url: 'wdsxh/mall/goods/del',
|
||||
multi_url: 'wdsxh/mall/goods/multi',
|
||||
import_url: 'wdsxh/mall/goods/import',
|
||||
table: 'wdsxh_mall_goods',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'category.name', title: __('Category_id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'recommend_image', title: __('Recommend_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'price', title: __('Price'), operate:'BETWEEN'},
|
||||
{field: 'ot_price', title: __('Ot_price'), operate:'BETWEEN'},
|
||||
{field: 'is_hot', title: __('Is_hot'), searchList: {"1":__('Is_hot 1'),"0":__('Is_hot 0')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/mall/goods/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/mall/goods/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/mall/goods/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
118
public/assets/js/backend/wdsxh/mall/goods_category.js
Normal file
118
public/assets/js/backend/wdsxh/mall/goods_category.js
Normal file
@@ -0,0 +1,118 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/goods_category/index' + location.search,
|
||||
add_url: 'wdsxh/mall/goods_category/add',
|
||||
edit_url: 'wdsxh/mall/goods_category/edit',
|
||||
del_url: 'wdsxh/mall/goods_category/del',
|
||||
multi_url: 'wdsxh/mall/goods_category/multi',
|
||||
import_url: 'wdsxh/mall/goods_category/import',
|
||||
table: 'wdsxh_single_category',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'pid', title: __('Pid'), operate: false},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/mall/goods_category/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/mall/goods_category/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/mall/goods_category/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
136
public/assets/js/backend/wdsxh/mall/order.js
Normal file
136
public/assets/js/backend/wdsxh/mall/order.js
Normal file
@@ -0,0 +1,136 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/order/index' + location.search,
|
||||
table: 'wdsxh_mall_order',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
|
||||
{field: 'real_name', title: __('Real_name'), operate: 'LIKE'},
|
||||
{field: 'user_phone', title: __('User_phone'), operate: 'LIKE'},
|
||||
{field: 'user_address', title: __('User_address'), operate: 'LIKE'},
|
||||
// {field: 'cart_ids', title: __('Cart_ids'), operate: 'LIKE'},
|
||||
{field: 'number', title: '下单数量', operate: false},
|
||||
{field: 'state', title: __('State'), searchList: {"1":__('待付款'),"2":__('待发货'),"3":__('待收货'),"4":__('已完成'),"5":__('支付失败'),"6":__('已取消'),"-1":__('退款中'),"-2":__('已退款')}, formatter: Table.api.formatter.status},
|
||||
{field: 'pay_price', title: __('Pay_price'), operate:'BETWEEN'},
|
||||
// {field: 'pay_postage', title: __('Pay_postage'), operate:'BETWEEN'},
|
||||
{field: 'paid', title: __('Paid'), searchList: {"1":__('未付款'),"2":__('已付款')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'delivery_method', title: __('Delivery_method'), searchList: {"1":__('Delivery_method 1'),"2":__('Delivery_method 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'pick_up_code', title: __('Pick_up_code'), operate: 'LIKE'},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'delivery',
|
||||
text:'发货',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
extend:'data-area=["80%","80%"]',
|
||||
url: 'wdsxh/mall/order/delivery',
|
||||
visible:function(row){
|
||||
if(row['state']==2 && row['delivery_method']==1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
refresh:true
|
||||
},
|
||||
{
|
||||
text:'订单详情',
|
||||
name: 'goods_details',
|
||||
title: '订单详情',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/mall/order/goods_details',
|
||||
extend:'data-area=["95%","95%"]',
|
||||
},
|
||||
{
|
||||
name: 'confirm_self_pickup',
|
||||
text: __('确认自提'),
|
||||
title: __('确认自提'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax bg-green',
|
||||
url: 'wdsxh/mall/order/confirm_self_pickup',
|
||||
confirm: '确认确认自提?操作后将确认收货',
|
||||
visible:function (row){
|
||||
if(row.delivery_method == 2 && row.state == '2'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'confirm_receipt',
|
||||
text: __('确认收货'),
|
||||
title: __('确认收货'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax bg-olive',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/mall/order/confirm_receipt',
|
||||
confirm: '确认收货?',
|
||||
visible:function (row){
|
||||
if(row.state == '3' && row.delivery_method == 1 && row.paid == '2'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
confirm_self_pickup: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
delivery: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
122
public/assets/js/backend/wdsxh/mall/refund.js
Normal file
122
public/assets/js/backend/wdsxh/mall/refund.js
Normal file
@@ -0,0 +1,122 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/mall/refund/index' + location.search,
|
||||
del_url: 'wdsxh/mall/refund/del',
|
||||
table: 'wdsxh_mall_order_refund',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order_no', title: __('退款单号')},
|
||||
{field: 'real_name', title: __('用户名称'),operate:false},
|
||||
{field: 'refund_price', title: __('Refund_price'), operate:false},
|
||||
{field: 'refund_time', title: __('Refund_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'refund_reason', title: __('Refund_reason'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'refund_express_no', title: __('Refund_express_no'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'add_express_no_time', title: __('Add_express_no_time'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'three_adopt',
|
||||
text: __('通过'),
|
||||
title: __('通过申请'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/mall/refund/three_adopt',
|
||||
confirm: '确认并同意退款申请?',
|
||||
visible:function(row){
|
||||
if(row['refund_status']==2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'three_reject',
|
||||
text: __('驳回'),
|
||||
title: __('驳回申请'),
|
||||
classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
|
||||
url: 'wdsxh/mall/refund/three_reject',
|
||||
confirm: '确认并驳回退款申请?',
|
||||
visible:function(row){
|
||||
if(row['refund_status']==2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'refund',
|
||||
text: __('已收到商品,同意退款'),
|
||||
title: __('已收到商品,同意退款'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/mall/refund/refund',
|
||||
confirm: '确认并已收到商品,同意退款申请?',
|
||||
visible:function(row){
|
||||
if(row['refund_status']==4){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
25
public/assets/js/backend/wdsxh/mall/self_pickup.js
Normal file
25
public/assets/js/backend/wdsxh/mall/self_pickup.js
Normal file
@@ -0,0 +1,25 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[self_pickup_status]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.address').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.address').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
29
public/assets/js/backend/wdsxh/member/apply/apply.js
Normal file
29
public/assets/js/backend/wdsxh/member/apply/apply.js
Normal file
@@ -0,0 +1,29 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
examine: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
offline_examine: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[state]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "2":
|
||||
$('.reject').addClass('hide');
|
||||
break;
|
||||
case "3":
|
||||
$('.reject').removeClass('hide');
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
142
public/assets/js/backend/wdsxh/member/apply/company.js
Normal file
142
public/assets/js/backend/wdsxh/member/apply/company.js
Normal file
@@ -0,0 +1,142 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/apply/company/index' + location.search,
|
||||
del_url: 'wdsxh/member/apply/apply/del',
|
||||
examine_url: 'wdsxh/member/apply/apply/examine',
|
||||
table: 'wdsxh_member_apply',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'company_name', title: __('Company_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'company_logo', title: __('Company_logo'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.image},
|
||||
{field: 'company_position', title: __('Company_position'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'state', title: __('State'), visible: false, searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3'),"4":__('State 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'child_state', title: __('State'), searchList: {"1":'待审核',"2":'已驳回',"3":'待付款',"4":'线下待审核',"5":'线下已驳回',"6":'已通过'}, formatter: Table.api.formatter.normal},
|
||||
{field: 'examine_name', title: '审核人', operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'examine',
|
||||
text: __('入会审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'offline_examine',
|
||||
text: __('线下审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/offline_examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 4){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'details',
|
||||
text: __('详情'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state != '1' && row.child_state != '4'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'del',
|
||||
text: __('删除'),
|
||||
title: __('删除'),
|
||||
classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
|
||||
url: 'wdsxh/member/apply/apply/del',
|
||||
confirm: '确认删除吗?',
|
||||
visible:function(row){
|
||||
if(row['child_state'] !='6'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
142
public/assets/js/backend/wdsxh/member/apply/organize.js
Normal file
142
public/assets/js/backend/wdsxh/member/apply/organize.js
Normal file
@@ -0,0 +1,142 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/apply/organize/index' + location.search,
|
||||
del_url: 'wdsxh/member/apply/apply/del',
|
||||
examine_url: 'wdsxh/member/apply/apply/examine',
|
||||
table: 'wdsxh_member_apply',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'organize_name', title: __('Organize_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'organize_logo', title: __('Organize_logo'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.image},
|
||||
{field: 'organize_position', title: __('Organize_position'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'state', title: __('State'), visible: false, searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3'),"4":__('State 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'child_state', title: __('State'), searchList: {"1":'待审核',"2":'已驳回',"3":'待付款',"4":'线下待审核',"5":'线下已驳回',"6":'已通过'}, formatter: Table.api.formatter.normal},
|
||||
{field: 'examine_name', title: '审核人', operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'examine',
|
||||
text: __('入会审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'offline_examine',
|
||||
text: __('线下审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/offline_examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 4){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'details',
|
||||
text: __('详情'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state != '1' && row.child_state != '4'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'del',
|
||||
text: __('删除'),
|
||||
title: __('删除'),
|
||||
classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
|
||||
url: 'wdsxh/member/apply/apply/del',
|
||||
confirm: '确认删除吗?',
|
||||
visible:function(row){
|
||||
if(row['child_state'] !='6'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
140
public/assets/js/backend/wdsxh/member/apply/person.js
Normal file
140
public/assets/js/backend/wdsxh/member/apply/person.js
Normal file
@@ -0,0 +1,140 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/apply/person/index' + location.search,
|
||||
del_url: 'wdsxh/member/apply/apply/del',
|
||||
examine_url: 'wdsxh/member/apply/apply/examine',
|
||||
table: 'wdsxh_member_apply',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'native_place', title: __('Native_place'), operate: 'LIKE'},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'state', title: __('State'), visible: false, searchList: {"1":__('State 1'),"2":__('State 2'),"3":__('State 3'),"4":__('State 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'child_state', title: __('State'), searchList: {"1":'待审核',"2":'已驳回',"3":'待付款',"4":'线下待审核',"5":'线下已驳回',"6":'已通过'}, formatter: Table.api.formatter.normal},
|
||||
{field: 'examine_name', title: '审核人', operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'examine',
|
||||
text: __('入会审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'offline_examine',
|
||||
text: __('线下审核'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/offline_examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state == 4){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$(".btn-refresh").trigger("click");
|
||||
return true;
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Layer.alert(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'details',
|
||||
text: __('详情'),
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/apply/apply/examine',
|
||||
visible: function (row) {
|
||||
if(row.child_state != '1' && row.child_state != '4'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'del',
|
||||
text: __('删除'),
|
||||
title: __('删除'),
|
||||
classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
|
||||
url: 'wdsxh/member/apply/apply/del',
|
||||
confirm: '确认删除吗?',
|
||||
visible:function(row){
|
||||
if(row['child_state'] !='6'){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
57
public/assets/js/backend/wdsxh/member/cert.js
Normal file
57
public/assets/js/backend/wdsxh/member/cert.js
Normal file
@@ -0,0 +1,57 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/cert/index' + location.search,
|
||||
add_url: 'wdsxh/member/cert/add',
|
||||
edit_url: 'wdsxh/member/cert/edit',
|
||||
del_url: 'wdsxh/member/cert/del',
|
||||
multi_url: 'wdsxh/member/cert/multi',
|
||||
import_url: 'wdsxh/member/cert/import',
|
||||
table: 'wdsxh_cert',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'member_name', title: __('Member_id'), operate: false},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'number', title: __('Number'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'channel', title: __('Channel'), searchList: {"1":__('Channel 1'),"2":__('Channel 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
237
public/assets/js/backend/wdsxh/member/company.js
Normal file
237
public/assets/js/backend/wdsxh/member/company.js
Normal file
@@ -0,0 +1,237 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/company/index' + location.search,
|
||||
add_url: 'wdsxh/member/company/add',
|
||||
edit_url: 'wdsxh/member/company/edit',
|
||||
del_url: 'wdsxh/member/company/del',
|
||||
multi_url: 'wdsxh/member/company/multi',
|
||||
import_url: 'wdsxh/member/company/import',
|
||||
table: 'wdsxh_member',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
$(document).on("click", ".btn-export", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
var page = table.bootstrapTable('getData');
|
||||
var all = table.bootstrapTable('getOptions').totalRows;
|
||||
console.log(ids, page, all);
|
||||
Layer.confirm("请选择导出的选项", {
|
||||
title: '导出数据',
|
||||
btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],
|
||||
success: function (layero, index) {
|
||||
$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
|
||||
}
|
||||
, yes: function (index, layero) {
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn2: function (index, layero) {
|
||||
var ids = [];
|
||||
$.each(page, function (i, j) {
|
||||
ids.push(j.id);
|
||||
});
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn3: function (index, layero) {
|
||||
submitForm("all");
|
||||
return false;
|
||||
}
|
||||
})
|
||||
});
|
||||
var submitForm = function (ids) {
|
||||
// 确保隐藏表单存在
|
||||
var $form = $("#exportHiddenForm");
|
||||
if ($form.length === 0) {
|
||||
$form = $("<form id='exportHiddenForm' method='post' target='_blank' style='display:none;'></form>");
|
||||
$form.attr('action', Fast.api.fixurl("wdsxh/member/company/export"));
|
||||
$form.append("<input type='hidden' name='ids' />");
|
||||
$form.append("<input type='hidden' name='filter' />");
|
||||
$form.append("<input type='hidden' name='op' />");
|
||||
$form.append("<input type='hidden' name='search' />");
|
||||
$form.append("<input type='hidden' name='columns' />");
|
||||
$("body").append($form);
|
||||
}
|
||||
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
console.log(options);
|
||||
var columns = [];
|
||||
$.each(options.columns[0], function (i, j) {
|
||||
if (j.field && !j.checkbox && j.visible && j.field != 'operate') {
|
||||
columns.push(j.field);
|
||||
}
|
||||
});
|
||||
var search = options.queryParams({});
|
||||
$("input[name=search]", $form).val(options.searchText);
|
||||
$("input[name=ids]", $form).val(ids);
|
||||
var _filter = search.filter || {};
|
||||
var _op = search.op || {};
|
||||
if (typeof _filter !== 'string') {
|
||||
_filter = JSON.stringify(_filter);
|
||||
}
|
||||
if (typeof _op !== 'string') {
|
||||
_op = JSON.stringify(_op);
|
||||
}
|
||||
$("input[name=filter]", $form).val(_filter);
|
||||
$("input[name=op]", $form).val(_op);
|
||||
$("input[name=columns]", $form).val(columns.join(','));
|
||||
$form[0].submit();
|
||||
};
|
||||
|
||||
$(document).on("click", ".import_template", function () {
|
||||
Fast.api.ajax({
|
||||
url:'wdsxh/member/company/import_template',
|
||||
}, function(data, ret){
|
||||
//成功的回调
|
||||
var $a = $("<a>");
|
||||
$a.attr("href", data.file);
|
||||
$a.attr("download", data.filename);
|
||||
$("body").append($a);
|
||||
$a[0].click();
|
||||
$a.remove();
|
||||
return false;
|
||||
}, function(data, ret){
|
||||
alert(ret.msg);
|
||||
//失败的回调
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'native_place', title: __('Native_place'), operate: 'LIKE'},
|
||||
{field: 'industry.name', title: __('Industry.name'), operate: 'LIKE'},
|
||||
{field: 'company_name', title: __('Company_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'company_logo', title: __('Company_logo'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.image},
|
||||
{field: 'company_position', title: __('Company_position'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'join_time', title: __('Join_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'expire_time', title: __('Expire_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'list',
|
||||
text: __('产品维护'),
|
||||
title: __('产品维护'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/company_goods?member_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 会员消息通知按钮点击事件
|
||||
$(document).on("click", ".btn-member-notification", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
if (ids.length === 0) {
|
||||
Layer.msg("请至少选择一个会员");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 打开通知表单弹窗
|
||||
Fast.api.open('wdsxh/member/person/send_notification?ids=' + ids.join(','), '发送会员消息通知', {
|
||||
area: ['800px', '600px'],
|
||||
callback: function (data) {
|
||||
table.bootstrapTable('refresh');
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
edit: function () {
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 监听用户输入框变化,当清空时同时清空隐藏字段
|
||||
$(document).on('input', '#c-user', function() {
|
||||
if ($(this).val() === '') {
|
||||
$('#c-uid').val('');
|
||||
}
|
||||
});
|
||||
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
send_notification: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
54
public/assets/js/backend/wdsxh/member/industry_category.js
Normal file
54
public/assets/js/backend/wdsxh/member/industry_category.js
Normal file
@@ -0,0 +1,54 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/industry_category/index' + location.search,
|
||||
add_url: 'wdsxh/member/industry_category/add',
|
||||
edit_url: 'wdsxh/member/industry_category/edit',
|
||||
del_url: 'wdsxh/member/industry_category/del',
|
||||
multi_url: 'wdsxh/member/industry_category/multi',
|
||||
import_url: 'wdsxh/member/industry_category/import',
|
||||
table: 'wdsxh_member_industry_category',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'icon', title: __('Icon'), operate: 'LIKE', formatter: Table.api.formatter.image},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
67
public/assets/js/backend/wdsxh/member/join_config.js
Normal file
67
public/assets/js/backend/wdsxh/member/join_config.js
Normal file
@@ -0,0 +1,67 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/join_config/index' + location.search,
|
||||
edit_url: 'wdsxh/member/join_config/edit',
|
||||
table: 'wdsxh_member_join_config',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{
|
||||
field: 'operate',
|
||||
width: "150px",
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'fieldset',
|
||||
text: __('自定义登记字段'),
|
||||
title: __('自定义登记字段'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/member/join_config/fieldset',
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
},
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
fieldset: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
56
public/assets/js/backend/wdsxh/member/level.js
Normal file
56
public/assets/js/backend/wdsxh/member/level.js
Normal file
@@ -0,0 +1,56 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/level/index' + location.search,
|
||||
add_url: 'wdsxh/member/level/add',
|
||||
edit_url: 'wdsxh/member/level/edit',
|
||||
del_url: 'wdsxh/member/level/del',
|
||||
multi_url: 'wdsxh/member/level/multi',
|
||||
import_url: 'wdsxh/member/level/import',
|
||||
table: 'wdsxh_member_level',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'fees', title: __('Fees'), operate:'BETWEEN'},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
146
public/assets/js/backend/wdsxh/member/member.js
Normal file
146
public/assets/js/backend/wdsxh/member/member.js
Normal file
@@ -0,0 +1,146 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
member: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/member/member' + location.search,
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: '昵称', operate: 'LIKE'},
|
||||
{field: 'avatar', title: '头像', operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'createtime', title: '注册时间', operate:false},
|
||||
{field: 'level_name', title: '级别', operate: false},
|
||||
{field: 'join_time', title: '加入时间', operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
seluser:function(){
|
||||
Table.api.init({
|
||||
extend: {
|
||||
}
|
||||
});
|
||||
var table = $("#table");
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/member/member/seluser' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'createtime',
|
||||
search:false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
visible: false,
|
||||
showExport: false,
|
||||
searchFormVisible: true,
|
||||
sortOrder:'desc',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('ID'), sortable: true,operate: false},
|
||||
{field: 'avatar', title: __('头像'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},
|
||||
{field: 'nickname', title: __('昵称'), operate: 'LIKE'},
|
||||
{field: 'mobile', title: __('手机号'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('创建时间'),operate: false, formatter: Table.api.formatter.datetime, addclass: 'datetimerange', sortable: true},
|
||||
{
|
||||
field: 'buttons',
|
||||
width: "80px",
|
||||
title: __('操作'),
|
||||
text: __('操作'),
|
||||
table: table,
|
||||
operate: false,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'ajax',
|
||||
text: __('选择'),
|
||||
title: __('选择'),
|
||||
classname: 'btn btn-xs btn-primary btn-magic btn-click',
|
||||
icon: 'fa fa-check',
|
||||
click:function (obj,row) {
|
||||
console.log(row);
|
||||
Fast.api.close(row);
|
||||
}
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.buttons
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
activity_seluser:function(){
|
||||
Table.api.init({
|
||||
extend: {
|
||||
}
|
||||
});
|
||||
var table = $("#table");
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/member/member/activity_seluser' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'createtime',
|
||||
search:false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
visible: false,
|
||||
showExport: false,
|
||||
searchFormVisible: true,
|
||||
sortOrder:'desc',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('ID'), sortable: true,operate: false},
|
||||
{field: 'avatar', title: __('头像'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},
|
||||
{field: 'nickname', title: __('昵称'), operate: 'LIKE'},
|
||||
{field: 'mobile', title: __('手机号'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('创建时间'),operate: false, formatter: Table.api.formatter.datetime, addclass: 'datetimerange', sortable: true},
|
||||
{
|
||||
field: 'buttons',
|
||||
width: "80px",
|
||||
title: __('操作'),
|
||||
text: __('操作'),
|
||||
table: table,
|
||||
operate: false,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'ajax',
|
||||
text: __('选择'),
|
||||
title: __('选择'),
|
||||
classname: 'btn btn-xs btn-primary btn-magic btn-click',
|
||||
icon: 'fa fa-check',
|
||||
click:function (obj,row) {
|
||||
console.log(row);
|
||||
Fast.api.close(row);
|
||||
}
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.buttons
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
237
public/assets/js/backend/wdsxh/member/organize.js
Normal file
237
public/assets/js/backend/wdsxh/member/organize.js
Normal file
@@ -0,0 +1,237 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/organize/index' + location.search,
|
||||
add_url: 'wdsxh/member/organize/add',
|
||||
edit_url: 'wdsxh/member/organize/edit',
|
||||
del_url: 'wdsxh/member/organize/del',
|
||||
multi_url: 'wdsxh/member/organize/multi',
|
||||
import_url: 'wdsxh/member/organize/import',
|
||||
table: 'wdsxh_member',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
$(document).on("click", ".btn-export", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
var page = table.bootstrapTable('getData');
|
||||
var all = table.bootstrapTable('getOptions').totalRows;
|
||||
console.log(ids, page, all);
|
||||
Layer.confirm("请选择导出的选项", {
|
||||
title: '导出数据',
|
||||
btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],
|
||||
success: function (layero, index) {
|
||||
$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
|
||||
}
|
||||
, yes: function (index, layero) {
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn2: function (index, layero) {
|
||||
var ids = [];
|
||||
$.each(page, function (i, j) {
|
||||
ids.push(j.id);
|
||||
});
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn3: function (index, layero) {
|
||||
submitForm("all");
|
||||
return false;
|
||||
}
|
||||
})
|
||||
});
|
||||
var submitForm = function (ids) {
|
||||
// 确保隐藏表单存在
|
||||
var $form = $("#exportHiddenForm");
|
||||
if ($form.length === 0) {
|
||||
$form = $("<form id='exportHiddenForm' method='post' target='_blank' style='display:none;'></form>");
|
||||
$form.attr('action', Fast.api.fixurl("wdsxh/member/organize/export"));
|
||||
$form.append("<input type='hidden' name='ids' />");
|
||||
$form.append("<input type='hidden' name='filter' />");
|
||||
$form.append("<input type='hidden' name='op' />");
|
||||
$form.append("<input type='hidden' name='search' />");
|
||||
$form.append("<input type='hidden' name='columns' />");
|
||||
$("body").append($form);
|
||||
}
|
||||
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
console.log(options);
|
||||
var columns = [];
|
||||
$.each(options.columns[0], function (i, j) {
|
||||
if (j.field && !j.checkbox && j.visible && j.field != 'operate') {
|
||||
columns.push(j.field);
|
||||
}
|
||||
});
|
||||
var search = options.queryParams({});
|
||||
$("input[name=search]", $form).val(options.searchText);
|
||||
$("input[name=ids]", $form).val(ids);
|
||||
var _filter = search.filter || {};
|
||||
var _op = search.op || {};
|
||||
if (typeof _filter !== 'string') {
|
||||
_filter = JSON.stringify(_filter);
|
||||
}
|
||||
if (typeof _op !== 'string') {
|
||||
_op = JSON.stringify(_op);
|
||||
}
|
||||
$("input[name=filter]", $form).val(_filter);
|
||||
$("input[name=op]", $form).val(_op);
|
||||
$("input[name=columns]", $form).val(columns.join(','));
|
||||
$form[0].submit();
|
||||
};
|
||||
|
||||
$(document).on("click", ".import_template", function () {
|
||||
Fast.api.ajax({
|
||||
url:'wdsxh/member/organize/import_template',
|
||||
}, function(data, ret){
|
||||
//成功的回调
|
||||
var $a = $("<a>");
|
||||
$a.attr("href", data.file);
|
||||
$a.attr("download", data.filename);
|
||||
$("body").append($a);
|
||||
$a[0].click();
|
||||
$a.remove();
|
||||
return false;
|
||||
}, function(data, ret){
|
||||
alert(ret.msg);
|
||||
//失败的回调
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'native_place', title: __('Native_place'), operate: 'LIKE'},
|
||||
{field: 'industry.name', title: __('Industry.name'), operate: 'LIKE'},
|
||||
{field: 'organize_name', title: __('Organize_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'organize_logo', title: __('Organize_logo'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.image},
|
||||
{field: 'organize_position', title: __('Organize_position'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'join_time', title: __('Join_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'expire_time', title: __('Expire_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'list',
|
||||
text: __('产品维护'),
|
||||
title: __('产品维护'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/company_goods?member_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 会员消息通知按钮点击事件
|
||||
$(document).on("click", ".btn-member-notification", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
if (ids.length === 0) {
|
||||
Layer.msg("请至少选择一个会员");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 打开通知表单弹窗
|
||||
Fast.api.open('wdsxh/member/person/send_notification?ids=' + ids.join(','), '发送会员消息通知', {
|
||||
area: ['800px', '600px'],
|
||||
callback: function (data) {
|
||||
table.bootstrapTable('refresh');
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
edit: function () {
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 监听用户输入框变化,当清空时同时清空隐藏字段
|
||||
$(document).on('input', '#c-user', function() {
|
||||
if ($(this).val() === '') {
|
||||
$('#c-uid').val('');
|
||||
}
|
||||
});
|
||||
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
send_notification: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
49
public/assets/js/backend/wdsxh/member/pay.js
Normal file
49
public/assets/js/backend/wdsxh/member/pay.js
Normal file
@@ -0,0 +1,49 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/pay/index' + location.search,
|
||||
table: 'wdsxh_member_pay',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order_no', title: '订单号', operate: 'LIKE'},
|
||||
{field: 'wechat.nickname', title: '昵称', operate: false},
|
||||
{field: 'wechat.avatar', title: '头像', operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'member.name', title: '姓名', operate: 'LIKE'},
|
||||
{field: 'level.name', title: '入会级别', operate: 'LIKE'},
|
||||
{field: 'fees', title: __('Fees'), operate:'BETWEEN'},
|
||||
{field: 'paid', title: __('Paid'), operate: false, searchList: {"1":__('Paid 1'),"2":__('Paid 2'),"4":__('Paid 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'pay_time', title: __('Pay_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'pay_method', title: '缴费方式', searchList: {"2":'微信支付',"3":'线下缴费',"4":'后台添加'}, formatter: Table.api.formatter.normal},
|
||||
{field: 'pay_voucher', title: '缴费凭证', operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
]
|
||||
]
|
||||
});
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
216
public/assets/js/backend/wdsxh/member/person.js
Normal file
216
public/assets/js/backend/wdsxh/member/person.js
Normal file
@@ -0,0 +1,216 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/person/index' + location.search,
|
||||
add_url: 'wdsxh/member/person/add',
|
||||
edit_url: 'wdsxh/member/person/edit',
|
||||
del_url: 'wdsxh/member/person/del',
|
||||
multi_url: 'wdsxh/member/person/multi',
|
||||
import_url: 'wdsxh/member/person/import',
|
||||
table: 'wdsxh_member',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
$(document).on("click", ".btn-export", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
var page = table.bootstrapTable('getData');
|
||||
var all = table.bootstrapTable('getOptions').totalRows;
|
||||
console.log(ids, page, all);
|
||||
Layer.confirm("请选择导出的选项", {
|
||||
title: '导出数据',
|
||||
btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],
|
||||
success: function (layero, index) {
|
||||
$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
|
||||
}
|
||||
, yes: function (index, layero) {
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn2: function (index, layero) {
|
||||
var ids = [];
|
||||
$.each(page, function (i, j) {
|
||||
ids.push(j.id);
|
||||
});
|
||||
submitForm(ids.join(","));
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn3: function (index, layero) {
|
||||
submitForm("all");
|
||||
return false;
|
||||
}
|
||||
})
|
||||
});
|
||||
var submitForm = function (ids) {
|
||||
// 确保隐藏表单存在
|
||||
var $form = $("#exportHiddenForm");
|
||||
if ($form.length === 0) {
|
||||
$form = $("<form id='exportHiddenForm' method='post' target='_blank' style='display:none;'></form>");
|
||||
$form.attr('action', Fast.api.fixurl("wdsxh/member/person/export"));
|
||||
$form.append("<input type='hidden' name='ids' />");
|
||||
$form.append("<input type='hidden' name='filter' />");
|
||||
$form.append("<input type='hidden' name='op' />");
|
||||
$form.append("<input type='hidden' name='search' />");
|
||||
$form.append("<input type='hidden' name='columns' />");
|
||||
$("body").append($form);
|
||||
}
|
||||
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
console.log(options);
|
||||
var columns = [];
|
||||
$.each(options.columns[0], function (i, j) {
|
||||
if (j.field && !j.checkbox && j.visible && j.field != 'operate') {
|
||||
columns.push(j.field);
|
||||
}
|
||||
});
|
||||
var search = options.queryParams({});
|
||||
$("input[name=search]", $form).val(options.searchText);
|
||||
$("input[name=ids]", $form).val(ids);
|
||||
var _filter = search.filter || {};
|
||||
var _op = search.op || {};
|
||||
if (typeof _filter !== 'string') {
|
||||
_filter = JSON.stringify(_filter);
|
||||
}
|
||||
if (typeof _op !== 'string') {
|
||||
_op = JSON.stringify(_op);
|
||||
}
|
||||
$("input[name=filter]", $form).val(_filter);
|
||||
$("input[name=op]", $form).val(_op);
|
||||
$("input[name=columns]", $form).val(columns.join(','));
|
||||
$form[0].submit();
|
||||
};
|
||||
|
||||
$(document).on("click", ".import_template", function () {
|
||||
Fast.api.ajax({
|
||||
url:'wdsxh/member/person/import_template',
|
||||
}, function(data, ret){
|
||||
//成功的回调
|
||||
var $a = $("<a>");
|
||||
$a.attr("href", data.file);
|
||||
$a.attr("download", data.filename);
|
||||
$("body").append($a);
|
||||
$a[0].click();
|
||||
$a.remove();
|
||||
return false;
|
||||
}, function(data, ret){
|
||||
alert(ret.msg);
|
||||
//失败的回调
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'native_place', title: __('Native_place'), operate: 'LIKE'},
|
||||
{field: 'industry.name', title: __('Industry.name'), operate: 'LIKE'},
|
||||
{field: 'join_time', title: __('Join_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'expire_time', title: __('Expire_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
table.on('post-body.bs.table', function (e, settings, json, xhr) {
|
||||
$(".btn-editone,.btn-edit,.btn-add").data("area", ["100%", "100%"]);
|
||||
});
|
||||
|
||||
// 会员消息通知按钮点击事件
|
||||
$(document).on("click", ".btn-member-notification", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
if (ids.length === 0) {
|
||||
Layer.msg("请至少选择一个会员");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 打开通知表单弹窗
|
||||
Fast.api.open('wdsxh/member/person/send_notification?ids=' + ids.join(','), '发送会员消息通知', {
|
||||
area: ['800px', '600px'],
|
||||
callback: function (data) {
|
||||
table.bootstrapTable('refresh');
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
edit: function () {
|
||||
$(document).on('click','#select-user',function () {
|
||||
Fast.api.open('wdsxh/member/member/seluser','选择用户',{
|
||||
area:['80%','95%'],
|
||||
callback:function(data){
|
||||
console.log(data);
|
||||
if(data){
|
||||
$('#c-uid').val(data.id);
|
||||
$('#c-user').val(data.nickname);
|
||||
}else{
|
||||
Layer.alert("请选择用户");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 监听用户输入框变化,当清空时同时清空隐藏字段
|
||||
$(document).on('input', '#c-user', function() {
|
||||
if ($(this).val() === '') {
|
||||
$('#c-uid').val('');
|
||||
}
|
||||
});
|
||||
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
send_notification: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
80
public/assets/js/backend/wdsxh/member/promotion.js
Normal file
80
public/assets/js/backend/wdsxh/member/promotion.js
Normal file
@@ -0,0 +1,80 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/member/promotion/index' + location.search,
|
||||
table: 'wdsxh_member_promotion',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'member.id', title: '会员ID'},
|
||||
{field: 'member.name', title: __('Member.name'), operate: 'LIKE'},
|
||||
{field: 'member.avatar', title: __('Member.avatar'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'member.mobile', title: __('Member.mobile'), operate: 'LIKE'},
|
||||
{field: 'level_name', title: __('Member.member_level_id'), operate: false},
|
||||
{field: 'member.join_time', title: __('Member.join_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'user',
|
||||
text: '普通用户',
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
url: 'wdsxh/user/wechat/user?wechat_id={wechat_id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'member',
|
||||
text: '商协会员',
|
||||
title: __('查看'),
|
||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
url: 'wdsxh/member/member/member?wechat_id={wechat_id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
28
public/assets/js/backend/wdsxh/member/set.js
Normal file
28
public/assets/js/backend/wdsxh/member/set.js
Normal file
@@ -0,0 +1,28 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$(document).on('change','input[name="row[expire_time_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.fixed_date').addClass('hide');
|
||||
$('.days').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.days').addClass('hide');
|
||||
$('.fixed_date').removeClass('hide');
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,61 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/message/message_notification/index' + location.search,
|
||||
multi_url: 'wdsxh/message/message_notification/multi',
|
||||
import_url: 'wdsxh/message/message_notification/import',
|
||||
table: 'wdsxh_message_notification',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'list',
|
||||
text: __('发送列表'),
|
||||
title: __('发送列表'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/message/message_notification_member_id?notification_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,44 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/message/message_notification_member_id/index' + location.search,
|
||||
multi_url: 'wdsxh/message/message_notification_member_id/multi',
|
||||
import_url: 'wdsxh/message/message_notification_member_id/import',
|
||||
table: 'wdsxh_message_notification_member_id',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'member.name', title: __('Member.name'), operate: 'LIKE'},
|
||||
{field: 'member.avatar', title: __('Member.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'member.mobile', title: __('Member.mobile'), operate: 'LIKE'},
|
||||
{field: 'member.member_level_name', title: __('Member.member_level_name'), operate: 'LIKE'},
|
||||
{field: 'send_status', title: __('Send_status'), searchList: {"1":__('Send_status 1'),"2":__('Send_status 2')}, formatter: Table.api.formatter.normal},
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
55
public/assets/js/backend/wdsxh/pc_banner.js
Normal file
55
public/assets/js/backend/wdsxh/pc_banner.js
Normal file
@@ -0,0 +1,55 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/pc_banner/index' + location.search,
|
||||
add_url: 'wdsxh/pc_banner/add',
|
||||
edit_url: 'wdsxh/pc_banner/edit',
|
||||
del_url: 'wdsxh/pc_banner/del',
|
||||
multi_url: 'wdsxh/pc_banner/multi',
|
||||
import_url: 'wdsxh/pc_banner/import',
|
||||
table: 'wdsxh_pc_banner',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
15
public/assets/js/backend/wdsxh/pc_business_association.js
Normal file
15
public/assets/js/backend/wdsxh/pc_business_association.js
Normal file
@@ -0,0 +1,15 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
291
public/assets/js/backend/wdsxh/person_center_diy_page.js
Normal file
291
public/assets/js/backend/wdsxh/person_center_diy_page.js
Normal file
@@ -0,0 +1,291 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
var Controller = {
|
||||
index: function () {
|
||||
new Vue({
|
||||
el: '#diy',
|
||||
data: {
|
||||
// 页面数据
|
||||
pageData: pageData,
|
||||
// 默认数据
|
||||
defaultData: defaultData,
|
||||
// 已选页面样式
|
||||
selectPageStyle: {},
|
||||
// 已选组件索引
|
||||
selectedIndex: -1,
|
||||
// 当前组件数据
|
||||
currentData: {},
|
||||
// 当前日期
|
||||
currentDate: "",
|
||||
// 选择弹窗是否显示
|
||||
selectVisible: false,
|
||||
// 选择弹窗数据
|
||||
selectData: null,
|
||||
// 选择弹窗选中类型
|
||||
selectType: 'Custom',
|
||||
// 选择弹窗选中回调事件
|
||||
selectCallback: null,
|
||||
// 选择弹窗表单数据
|
||||
selectForm: {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
},
|
||||
// 标题栏样式
|
||||
titleBarStyle: {
|
||||
background: "rgba(255, 255, 255, 0)",
|
||||
color: "",
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getCurrentDate()
|
||||
this.getPageStyle()
|
||||
$("#diy").show()
|
||||
$("#loading").hide()
|
||||
},
|
||||
methods: {
|
||||
// 获取已选页面样式
|
||||
getPageStyle() {
|
||||
var index = this.pageData.pageStyle.findIndex(item => {
|
||||
if (item.layout == this.pageData.pageLayout) return true
|
||||
})
|
||||
if (index === -1) index = 0
|
||||
this.selectPageStyle = JSON.parse(JSON.stringify(this.pageData.pageStyle[index]))
|
||||
},
|
||||
// 获取当前时间
|
||||
getCurrentDate() {
|
||||
const date = new Date();
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
this.currentDate = `${year}/${month}/${day}`;
|
||||
},
|
||||
// 编辑组件
|
||||
handleEdit(index) {
|
||||
this.selectedIndex = index;
|
||||
this.currentData = {}
|
||||
this.$nextTick(() => {
|
||||
if (this.selectedIndex == -1) {
|
||||
this.currentData = this.selectPageStyle;
|
||||
} else {
|
||||
this.currentData = this.pageData.items[this.selectedIndex];
|
||||
if (!this.currentData.activeName) this.currentData.activeName = "first"
|
||||
}
|
||||
})
|
||||
},
|
||||
// 拖动组件
|
||||
handleDrag(event) {
|
||||
this.handleEdit(event.newIndex);
|
||||
},
|
||||
// 重置颜色
|
||||
handleResetColor(source, key, color) {
|
||||
source[key] = color;
|
||||
},
|
||||
// 选择图片
|
||||
handleSelectImage(source, index, type = "image/") {
|
||||
parent.Fast.api.open(`general/attachment/select?element_id=&multiple=true&mimetype=${type}*`, __('Choose'), {
|
||||
callback: (data) => {
|
||||
if (data.multiple) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
source[index] = url;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除图片
|
||||
handleDeleteImage(source, index) {
|
||||
source[index] = "";
|
||||
},
|
||||
// 选择组件类型
|
||||
handleSelectType(source) {
|
||||
this.selectCallback = (type, row) => {
|
||||
source['link'] = null;
|
||||
switch (type) {
|
||||
case 'Custom':
|
||||
var path = row.path
|
||||
if (row.parameter) {
|
||||
if (path.indexOf("?") > -1) path += "&" + row.parameter
|
||||
else path += "?" + row.parameter
|
||||
}
|
||||
source['link'] = { type: type, title: row.title, path: path, };
|
||||
break;
|
||||
case 'Editor':
|
||||
var content = $("#Editor").val()
|
||||
source['link'] = { type: type, title: row.name, pageTitle: this.selectForm.title, content: content };
|
||||
break;
|
||||
case 'WXMp':
|
||||
source['link'] = { type: type, title: row.name, appid: this.selectForm.appid, path: this.selectForm.path };
|
||||
break;
|
||||
case 'Outside':
|
||||
source['link'] = { type: type, title: row.name, url: this.selectForm.protocol + this.selectForm.url };
|
||||
break;
|
||||
case 'Phone':
|
||||
source['link'] = { type: type, title: row.name, phone: this.selectForm.phone };
|
||||
break;
|
||||
case 'Service':
|
||||
source['link'] = { type: type, title: row.name };
|
||||
break;
|
||||
}
|
||||
this.selectVisible = false;
|
||||
}
|
||||
$.post('wdsxh/person_center_diy_page/select_url_pro', {}, (res) => {
|
||||
this.selectData = res.rows;
|
||||
this.selectForm = {
|
||||
title: "",
|
||||
content: "",
|
||||
appid: '',
|
||||
path: '',
|
||||
protocol: '',
|
||||
url: '',
|
||||
phone: '',
|
||||
}
|
||||
if (source['link']) {
|
||||
this.selectType = source['link'].type
|
||||
|
||||
if (source['link'].type === 'Custom') {
|
||||
let index = this.selectData.Custom.list.findIndex((item) => {
|
||||
if (source['link'].path.indexOf(item.path) > -1) {
|
||||
return true
|
||||
}
|
||||
})
|
||||
if (index > -1) {
|
||||
let selectLink = this.selectData.Custom.list[index]
|
||||
this.$delete(this.selectData.Custom.list, index)
|
||||
let selectPath = source['link'].path.split(selectLink.path)[1]
|
||||
if (selectPath[0] == "?" || selectPath[0] == "&") {
|
||||
this.$set(selectLink, "parameter", selectPath.slice(1))
|
||||
}
|
||||
this.selectData.Custom.list.unshift(selectLink)
|
||||
this.selectData.Custom.list = [...this.selectData.Custom.list]
|
||||
}
|
||||
} else if (source['link'].type === 'WXMp') {
|
||||
this.selectForm.appid = source['link'].appid;
|
||||
this.selectForm.path = source['link'].path;
|
||||
} else if (source['link'].type === 'Outside') {
|
||||
if (source['link'].url && source['link'].url.substring(0, 5) == "http:") {
|
||||
this.selectForm.protocol = 'http://';
|
||||
this.selectForm.url = source['link'].url.split('http://')[1];
|
||||
} else if (source['link'].url && source['link'].url.substring(0, 5) == "https") {
|
||||
this.selectForm.protocol = 'https://';
|
||||
this.selectForm.url = source['link'].url.split('https://')[1];
|
||||
} else {
|
||||
this.selectForm.protocol = '';
|
||||
this.selectForm.url = source['link'].url;
|
||||
}
|
||||
} else if (source['link'].type === 'Phone') {
|
||||
this.selectForm.phone = source['link'].phone
|
||||
}
|
||||
} else {
|
||||
this.selectType = "Custom"
|
||||
$("#Editor").val("")
|
||||
}
|
||||
this.selectVisible = true;
|
||||
this.$nextTick(() => {
|
||||
if (source['link'] && source['link'].type === 'Editor') {
|
||||
$("#Editor").val(source['link'].content)
|
||||
this.selectForm.title = source['link'].pageTitle
|
||||
this.selectForm.content = source['link'].content
|
||||
}
|
||||
Controller.api.bindevent();
|
||||
})
|
||||
});
|
||||
},
|
||||
// 改变选择框类型
|
||||
tabChange(e) {
|
||||
if (e.name == "Editor") {
|
||||
this.$nextTick(() => {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$('#Editor').on('change', () => {
|
||||
this.selectForm.content = $('#Editor').val()
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
// 添加组件内容项目
|
||||
handleAddItem() {
|
||||
this.currentData.data.push({
|
||||
imgUrl: '/assets/addons/wdsxh/img/menu.png',
|
||||
link: null,
|
||||
text: '导航标题',
|
||||
});
|
||||
},
|
||||
// 删除组件内容项目
|
||||
handleDeleteItem(index) {
|
||||
if (this.pageData.items[this.selectedIndex].data.length > 1) {
|
||||
this.pageData.items[this.selectedIndex].data.splice(index, 1);
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '至少保留一个项目',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
// 监听页面滚动
|
||||
handleScroll(e) {
|
||||
const scrollTop = e.target.scrollTop
|
||||
if (scrollTop > 100) {
|
||||
this.titleBarStyle.background = "#fff"
|
||||
this.titleBarStyle.color = "black"
|
||||
} else {
|
||||
let opacity = parseFloat(scrollTop / 100).toFixed(4)
|
||||
this.titleBarStyle.background = "rgba(255, 255, 255, " + opacity + ")"
|
||||
if (scrollTop > 30) {
|
||||
this.titleBarStyle.color = "black"
|
||||
} else {
|
||||
this.titleBarStyle.color = ""
|
||||
}
|
||||
}
|
||||
},
|
||||
// 重置数据
|
||||
handleReset() {
|
||||
this.$confirm('此操作将重置为系统默认样式,将导致已设置样式被覆盖,是否继续?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
const data = JSON.parse(JSON.stringify(this.defaultData))
|
||||
this.pageData.pageTitle = data.pageTitle
|
||||
this.pageData.pageStyle = data.pageStyle
|
||||
this.pageData.items = data.items
|
||||
this.getPageStyle()
|
||||
this.handleEdit(-1)
|
||||
}).catch(() => { })
|
||||
},
|
||||
// 提交数据
|
||||
handleSubmit() {
|
||||
var submitData = JSON.parse(JSON.stringify(this.pageData))
|
||||
var index = submitData.pageStyle.findIndex(item => {
|
||||
if (item.layout == submitData.pageLayout) return true
|
||||
})
|
||||
if (index === -1) index = 0
|
||||
submitData.pageStyle[index] = JSON.parse(JSON.stringify(this.selectPageStyle))
|
||||
for (var i in submitData.items) {
|
||||
submitData.items[i].activeName = undefined
|
||||
}
|
||||
$.post('', { data: JSON.stringify(submitData) }, (res) => {
|
||||
if (res.code == 1) {
|
||||
Toastr.success(res.msg);
|
||||
this.pageData = submitData
|
||||
this.getCurrentDate()
|
||||
this.getPageStyle()
|
||||
return
|
||||
}
|
||||
return Toastr.error(res.msg);
|
||||
});
|
||||
},
|
||||
}
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
14
public/assets/js/backend/wdsxh/points/config.js
Normal file
14
public/assets/js/backend/wdsxh/points/config.js
Normal file
@@ -0,0 +1,14 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
52
public/assets/js/backend/wdsxh/points/express.js
Normal file
52
public/assets/js/backend/wdsxh/points/express.js
Normal file
@@ -0,0 +1,52 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/points/express/index' + location.search,
|
||||
add_url: 'wdsxh/points/express/add',
|
||||
edit_url: 'wdsxh/points/express/edit',
|
||||
del_url: 'wdsxh/points/express/del',
|
||||
import_url: 'wdsxh/points/express/import',
|
||||
table: 'wdsxh_points_express',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
135
public/assets/js/backend/wdsxh/points/goods.js
Normal file
135
public/assets/js/backend/wdsxh/points/goods.js
Normal file
@@ -0,0 +1,135 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/points/goods/index' + location.search,
|
||||
add_url: 'wdsxh/points/goods/add',
|
||||
edit_url: 'wdsxh/points/goods/edit',
|
||||
del_url: 'wdsxh/points/goods/del',
|
||||
multi_url: 'wdsxh/points/goods/multi',
|
||||
import_url: 'wdsxh/points/goods/import',
|
||||
table: 'wdsxh_points_goods',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'points', title: __('Points'), operate: false},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/points/goods/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/points/goods/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/points/goods/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
var form = $("form[role=form]");
|
||||
|
||||
// 先拦截提交按钮的点击事件(优先级最高)
|
||||
form.find("button[type='submit']").on("click", function(e) {
|
||||
var points = parseFloat($("#c-points").val());
|
||||
|
||||
if (isNaN(points) || points <= 0) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
Layer.msg('积分必须大于0', {icon: 2, time: 2000});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
// 绑定表单事件
|
||||
Form.api.bindevent(form);
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
81
public/assets/js/backend/wdsxh/points/order.js
Normal file
81
public/assets/js/backend/wdsxh/points/order.js
Normal file
@@ -0,0 +1,81 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/points/order/index' + location.search,
|
||||
table: 'wdsxh_points_order',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
|
||||
{field: 'goods_info.name', title: __('Goods_info.name'), operate: false},
|
||||
{field: 'goods_info.image', title: __('Goods_info.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'points', title: __('Goods_info.points'), operate: false},
|
||||
{field: 'number', title: __('Number')},
|
||||
{field: 'real_name', title: __('Real_name'), operate: 'LIKE'},
|
||||
{field: 'user_phone', title: __('User_phone'), operate: 'LIKE'},
|
||||
{field: 'user_address', title: __('User_address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'state', title: __('State'), searchList: {"2":__('State 2'),"3":__('State 3'),"4":__('State 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'total_points', title: __('Total_points')},
|
||||
{field: 'redemption_time', title: __('Redemption_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'delivery',
|
||||
text:'发货',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
extend:'data-area=["80%","80%"]',
|
||||
url: 'wdsxh/points/order/delivery',
|
||||
visible:function(row){
|
||||
if(row['state']==2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
refresh:true
|
||||
},
|
||||
{
|
||||
text:'订单详情',
|
||||
name: 'details',
|
||||
title: '订单详情',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/points/order/details',
|
||||
extend:'data-area=["95%","95%"]',
|
||||
},
|
||||
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
delivery: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
98
public/assets/js/backend/wdsxh/points/ranking.js
Normal file
98
public/assets/js/backend/wdsxh/points/ranking.js
Normal file
@@ -0,0 +1,98 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/points/ranking/index' + location.search,
|
||||
table: 'wdsxh_user_wechat_points_log',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
commonSearch: false,
|
||||
visible: true,
|
||||
showToggle: false,
|
||||
showColumns: true,
|
||||
search:false,
|
||||
showExport: true,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('会员Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'level.name', title: __('Level.name'), operate: 'LIKE'},
|
||||
{field: 'wechat.points', title: __('Points'), operate: false},
|
||||
// {field: 'before', title: __('Before')},
|
||||
// {field: 'after', title: __('After')},
|
||||
// {field: 'memo', title: __('Memo'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
// {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
|
||||
buttons:[
|
||||
{
|
||||
name: 'list',
|
||||
text: __('积分日志'),
|
||||
title: __('积分日志'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
url: 'wdsxh/points/user_wechat_points_log/index?wechat_id={wechat_id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
},
|
||||
extend: 'data-area=["70%","70%"]',
|
||||
},
|
||||
{
|
||||
name: 'agree',
|
||||
text: __('一键清零'),
|
||||
title: __('一键清零'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
icon: 'fa fa-check',
|
||||
url: 'wdsxh/points/ranking/one_click_reset',
|
||||
confirm: '确认一键清零?操作后将清零',
|
||||
visible:function (row){
|
||||
if(row.wechat.points > 0){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
one_click_reset: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
@@ -0,0 +1,50 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/points/user_wechat_points_log/index' + location.search,
|
||||
table: 'wdsxh_user_wechat_points_log',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
commonSearch: false,
|
||||
visible: false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
search:false,
|
||||
showExport: false,
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'points', title: __('Points')},
|
||||
{field: 'before', title: __('Before')},
|
||||
{field: 'after', title: __('After')},
|
||||
{field: 'memo', title: __('Memo'), operate: 'LIKE', table: table, class: 'autocontent'},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'change', title: __('Change'), searchList: {"1":__('Change 1'),"2":__('Change 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'source', title: __('Source'), searchList: {"1":__('Source 1'),"2":__('Source 2'),"3":__('Source 3'),"4":__('Source 4'),"5":__('Source 5')}, formatter: Table.api.formatter.normal},
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
53
public/assets/js/backend/wdsxh/questionnaire/category.js
Normal file
53
public/assets/js/backend/wdsxh/questionnaire/category.js
Normal file
@@ -0,0 +1,53 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/category/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/category/add',
|
||||
edit_url: 'wdsxh/questionnaire/category/edit',
|
||||
del_url: 'wdsxh/questionnaire/category/del',
|
||||
multi_url: 'wdsxh/questionnaire/category/multi',
|
||||
import_url: 'wdsxh/questionnaire/category/import',
|
||||
table: 'wdsxh_questionnaire_category',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
155
public/assets/js/backend/wdsxh/questionnaire/questionnaire.js
Normal file
155
public/assets/js/backend/wdsxh/questionnaire/questionnaire.js
Normal file
@@ -0,0 +1,155 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/questionnaire/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/questionnaire/add',
|
||||
edit_url: 'wdsxh/questionnaire/questionnaire/edit',
|
||||
del_url: 'wdsxh/questionnaire/questionnaire/del',
|
||||
multi_url: 'wdsxh/questionnaire/questionnaire/multi',
|
||||
import_url: 'wdsxh/questionnaire/questionnaire/import',
|
||||
table: 'wdsxh_questionnaire',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent'},
|
||||
{field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'applet_questionnaire_qrcode_path', title: __('Applet_questionnaire_qrcode_path'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'topic',
|
||||
text: __('题目管理'),
|
||||
title: __('题目管理'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/questionnaire/topic/index?questionnaire_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'topic',
|
||||
text: __('问卷提交'),
|
||||
title: __('问卷提交'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/questionnaire/render/index?questionnaire_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/questionnaire/questionnaire/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/questionnaire/questionnaire/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/questionnaire/questionnaire/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
120
public/assets/js/backend/wdsxh/questionnaire/render.js
Normal file
120
public/assets/js/backend/wdsxh/questionnaire/render.js
Normal file
@@ -0,0 +1,120 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/render/index' + location.search,
|
||||
table: 'wdsxh_questionnaire_render',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
// 从 URL 参数中获取 questionnaire_id
|
||||
function getQuestionnaireIdFromUrl() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
return urlParams.get('questionnaire_id');
|
||||
}
|
||||
$(document).on("click", ".btn-export", function () {
|
||||
var ids = Table.api.selectedids(table);
|
||||
var page = table.bootstrapTable('getData');
|
||||
var all = table.bootstrapTable('getOptions').totalRows;
|
||||
console.log(ids, page, all);
|
||||
|
||||
var questionnaireId = getQuestionnaireIdFromUrl();
|
||||
|
||||
Layer.confirm("请选择导出的选项<form action='" + Fast.api.fixurl("wdsxh/questionnaire/render/export?questionnaire_id=") + questionnaireId + "' method='post' target='_blank'><input type='hidden' name='ids' value='' /><input type='hidden' name='filter' ><input type='hidden' name='op'><input type='hidden' name='search'><input type='hidden' name='columns'></form>", {
|
||||
title: '导出数据',
|
||||
btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],
|
||||
success: function (layero, index) {
|
||||
$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
|
||||
}
|
||||
, yes: function (index, layero) {
|
||||
submitForm(ids.join(","), layero);
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn2: function (index, layero) {
|
||||
var ids = [];
|
||||
$.each(page, function (i, j) {
|
||||
ids.push(j.id);
|
||||
});
|
||||
submitForm(ids.join(","), layero);
|
||||
return false;
|
||||
}
|
||||
,
|
||||
btn3: function (index, layero) {
|
||||
submitForm("all", layero);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
});
|
||||
var submitForm = function (ids, layero) {
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
console.log(options);
|
||||
var columns = [];
|
||||
$.each(options.columns[0], function (i, j) {
|
||||
if (j.field && !j.checkbox && j.visible && j.field != 'operate') {
|
||||
columns.push(j.field);
|
||||
}
|
||||
});
|
||||
var search = options.queryParams({});
|
||||
$("input[name=search]", layero).val(options.searchText);
|
||||
$("input[name=ids]", layero).val(ids);
|
||||
$("input[name=filter]", layero).val(search.filter);
|
||||
$("input[name=op]", layero).val(search.op);
|
||||
$("input[name=columns]", layero).val(columns.join(','));
|
||||
$("form", layero).submit();
|
||||
};
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
// fixedColumns: true,
|
||||
// fixedRightNumber: 1,
|
||||
search:false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
visible: false,
|
||||
showExport:false,
|
||||
commonSearch:false,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'wechat_id', title: __('Wechat_id')},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
text:'问卷详情',
|
||||
name: 'details',
|
||||
title: '问卷详情',
|
||||
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
||||
icon: 'fa',
|
||||
url: 'wdsxh/questionnaire/render/details',
|
||||
extend:'data-area=["95%","95%"]',
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
175
public/assets/js/backend/wdsxh/questionnaire/topic.js
Normal file
175
public/assets/js/backend/wdsxh/questionnaire/topic.js
Normal file
@@ -0,0 +1,175 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/topic/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/topic/add?questionnaire_id=' + Config.questionnaire_id,
|
||||
edit_url: 'wdsxh/questionnaire/topic/edit',
|
||||
del_url: 'wdsxh/questionnaire/topic/del',
|
||||
multi_url: 'wdsxh/questionnaire/topic/multi',
|
||||
import_url: 'wdsxh/questionnaire/topic/import',
|
||||
table: 'wdsxh_questionnaire_topic',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'topic', title: __('Topic'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'type', title: __('Type'), searchList: {"text":__('Type text'),"number":__('Type number'),"radio":__('Type radio'),"checkbox":__('Type checkbox'),"select":__('Type select'),"date":__('Type date'),"time":__('Type time'),"datetime":__('Type datetime'),"textarea":__('Type textarea'),"image":__('Type image'),"images":__('Type images')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/questionnaire/topic/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/questionnaire/topic/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/questionnaire/topic/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change', 'input[name="row[type]"]', function () {
|
||||
var type = $("input[name='row[type]']:checked").val();
|
||||
switch (type) {
|
||||
case "radio":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').removeClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "checkbox":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').removeClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "select":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "text":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "number":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "datetime":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "textarea":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "images":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('change', 'input[name="row[is_explain]"]', function () {
|
||||
var type = $("input[name='row[is_explain]']:checked").val();
|
||||
switch (type) {
|
||||
case "1":
|
||||
$('.explain').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.explain').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
88
public/assets/js/backend/wdsxh/quickmenu.js
Normal file
88
public/assets/js/backend/wdsxh/quickmenu.js
Normal file
@@ -0,0 +1,88 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/quickmenu/index' + location.search,
|
||||
add_url: 'wdsxh/quickmenu/add',
|
||||
edit_url: 'wdsxh/quickmenu/edit',
|
||||
del_url: 'wdsxh/quickmenu/del',
|
||||
multi_url: 'wdsxh/quickmenu/multi',
|
||||
import_url: 'wdsxh/quickmenu/import',
|
||||
table: 'wdsxh_quickmenu',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'icon', title: __('Icon'), operate: false, formatter: Table.api.formatter.image},
|
||||
{field: 'skip_type', title: __('Skip_type'), searchList: {"1":__('Skip_type 1'),"2":__('Skip_type 2'),"3":__('Skip_type 3'),"4":__('Skip_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$("#c-path").data("format-item", function(row){
|
||||
return row.name + " 【" + row.url+"】";
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[skip_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.page-url').removeClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').removeClass('hide');
|
||||
break;
|
||||
case "3":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').removeClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "4":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').removeClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
88
public/assets/js/backend/wdsxh/tabbar.js
Normal file
88
public/assets/js/backend/wdsxh/tabbar.js
Normal file
@@ -0,0 +1,88 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/tabbar/index' + location.search,
|
||||
add_url: 'wdsxh/tabbar/add',
|
||||
edit_url: 'wdsxh/tabbar/edit',
|
||||
del_url: 'wdsxh/tabbar/del',
|
||||
multi_url: 'wdsxh/tabbar/multi',
|
||||
import_url: 'wdsxh/tabbar/import',
|
||||
table: 'wdsxh_tabbar',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'jump_type', title: __('Jump_type'), searchList: {"0":__('Jump_type 0'),"1":__('Jump_type 1'),"2":__('Jump_type 2'),"3":__('Jump_type 3'),"4":__('Jump_type 4')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'icon', title: __('Icon'), operate: false, formatter: Table.api.formatter.image},
|
||||
{field: 'selicon', title: __('Selicon'), operate: false, formatter: Table.api.formatter.image},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
$("#c-jump_link").data("format-item", function(row){
|
||||
return row.name + " 【" + row.url+"】";
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change','input[name="row[jump_type]"]',function (){
|
||||
var type=$(this).val();
|
||||
switch (type){
|
||||
case "1":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.page-url').removeClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "4":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').addClass('hide');
|
||||
$('.wxapp').removeClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
case "3":
|
||||
$('.page-url').addClass('hide');
|
||||
$('.outer-url').removeClass('hide');
|
||||
$('.wxapp').addClass('hide');
|
||||
$('.teletext').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
100
public/assets/js/backend/wdsxh/upgrade.js
Normal file
100
public/assets/js/backend/wdsxh/upgrade.js
Normal file
@@ -0,0 +1,100 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
Controller.api.bindevent();
|
||||
|
||||
$(document).on("click", ".top-box-button", function (event) {
|
||||
$.post('wdsxh/upgrade/check', { old_version: Config.old_version, name: Config.name }, function (result) {
|
||||
console.log(result); // 调试输出
|
||||
|
||||
if (result.code === 1) {
|
||||
var window_bg = document.getElementsByClassName("renew-popup")[0];
|
||||
var log_content = result.data.log_content;
|
||||
$(".title-num").text(result.data.new_version);
|
||||
$(".info-title").text(result.data.introduction);
|
||||
$("#log").html(log_content);
|
||||
window_bg.style.display = "block";
|
||||
|
||||
} else if (result.code === 2) {
|
||||
Toastr.error(result.msg);
|
||||
} else if (result.code === 3) {
|
||||
Toastr.error('请先绑定授权编码');
|
||||
} else {
|
||||
var window_bg = document.getElementsByClassName("latest-popup")[0];
|
||||
$("#latest-version").text(Config.old_version + '已是最新版本');
|
||||
window_bg.style.display = "block";
|
||||
window.onclick = function (event) {
|
||||
if (event.target == window_bg) {
|
||||
event.target.style.display = "none";
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
$(document).on("click", ".info-button", function () {
|
||||
var window_bg = document.getElementsByClassName("renew-popup")[0];
|
||||
window_bg.style.display = "block";
|
||||
var index = layer.load(2, { //icon0-2 加载中,页面显示不同样式
|
||||
// shade: [0.4, '#000'], //0.4为透明度 ,#000 为颜色
|
||||
content: "更新中",
|
||||
success: function (layero) {
|
||||
layero.find('.layui-layer-content').css({
|
||||
'padding-top': '40px',//图标与样式会重合,这样设置可以错开
|
||||
'width': '200px'//文字显示的宽度
|
||||
});
|
||||
}
|
||||
});
|
||||
$.post('wdsxh/upgrade/update', { old_version: Config.old_version,name: Config.name }, function (result) {
|
||||
if (result.code === 1) {
|
||||
Toastr.success('升级成功');
|
||||
layer.close(index);
|
||||
// window_bg.style.display = "none"
|
||||
return setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else if(result.code === 2) {
|
||||
layer.close(index);
|
||||
return Toastr.error(result.msg);
|
||||
} else {
|
||||
layer.close(index);
|
||||
return Toastr.error(result.msg);
|
||||
|
||||
}
|
||||
//return Toastr.error(result.msg);
|
||||
});
|
||||
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var index; // 在作用域内声明
|
||||
|
||||
$(document).on("click", ".top-box-button-code", function () {
|
||||
var inputValue = $('.top-box-name-code').val();
|
||||
console.log(inputValue); // 打印到控制台以确认是否获取到值
|
||||
$.post('wdsxh/upgrade/code_edit', {
|
||||
code: inputValue,name: Config.name
|
||||
}, function (result) {
|
||||
if (result.code === 1) {
|
||||
Toastr.success('绑定成功');
|
||||
layer.close(index);
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else {
|
||||
layer.close(index);
|
||||
Toastr.error(result.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
101
public/assets/js/backend/wdsxh/user/user.js
Normal file
101
public/assets/js/backend/wdsxh/user/user.js
Normal file
@@ -0,0 +1,101 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/user/user/index',
|
||||
del_url: 'wdsxh/user/user/del',
|
||||
multi_url: 'wdsxh/user/user/multi',
|
||||
table: 'user',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'user.id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id'), sortable: true},
|
||||
// {field: 'username', title: __('Username'), operate: 'LIKE'},
|
||||
{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},
|
||||
{field: 'channel', title: __('注册来源'), operate: false, searchList: {"1":__('微信小程序'),"2":__('微信公众号')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
|
||||
{field: 'set_admin', title: __('Set_admin'), operate: false, searchList: {"1":__('Set_admin 1'),"2":__('Set_admin 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'jointime', title: __('Jointime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
|
||||
{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'pass_through',
|
||||
text: __('设为管理员'),
|
||||
title: __('设为管理员'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/user/wechat/pass_through',
|
||||
confirm: '确认设此用为管理员?',
|
||||
visible:function(row){
|
||||
if(row['set_admin']==2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'cancellation',
|
||||
text: __('取消管理员'),
|
||||
title: __('取消管理员'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/user/wechat/cancellation',
|
||||
confirm: '确认并取消此用户的管理权限?',
|
||||
visible:function(row){
|
||||
if(row['set_admin']==1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
123
public/assets/js/backend/wdsxh/user/wechat.js
Normal file
123
public/assets/js/backend/wdsxh/user/wechat.js
Normal file
@@ -0,0 +1,123 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/user/wechat/index' + location.search,
|
||||
table: 'wdsxh_user_wechat',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
|
||||
{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
|
||||
{field: 'avatar', title: __('Avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'set_admin', title: __('Set_admin'), searchList: {"1":__('Set_admin 1'),"2":__('Set_admin 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'channel', title: __('Channel'), searchList: {"1":__('Channel 1'),"2":__('Channel 2')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'pass_through',
|
||||
text: __('设为管理员'),
|
||||
title: __('设为管理员'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/user/wechat/pass_through',
|
||||
confirm: '确认设此用为管理员?',
|
||||
visible:function(row){
|
||||
if(row['set_admin']==2){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'cancellation',
|
||||
text: __('取消管理员'),
|
||||
title: __('取消管理员'),
|
||||
classname: 'btn btn-xs btn-info btn-magic btn-ajax',
|
||||
url: 'wdsxh/user/wechat/cancellation',
|
||||
confirm: '确认并取消此用户的管理权限?',
|
||||
visible:function(row){
|
||||
if(row['set_admin']==1){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
},
|
||||
success: function (data, ret) {
|
||||
$("#table").bootstrapTable('refresh',{});
|
||||
},
|
||||
error: function (data, ret) {
|
||||
Toastr.error(ret.msg);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
user: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/user/wechat/user' + location.search,
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'nickname', title: '昵称', operate: 'LIKE'},
|
||||
{field: 'avatar', title: '头像', operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'createtime', title: '注册时间', operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
39
public/assets/js/backend/wdsxh/willbrand.js
Normal file
39
public/assets/js/backend/wdsxh/willbrand.js
Normal file
@@ -0,0 +1,39 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'clipboard', 'designer', 'jquery-contextMenu', 'jquery-form', 'jquery-lazyload', 'poster', 'wdsxh-colorpicker'], function ($, undefined, Backend, Table, Form, Clipboard, Designer, jqueryContextMenu, jqueryForm, jqueryLazyload, poster, colorpicker) {
|
||||
var Controller = {
|
||||
index: function () {
|
||||
$(".panel-body").show()
|
||||
$("#loading").hide()
|
||||
$("#faupload-image").data("upload-success", function (data) {
|
||||
var url = Fast.api.cdnurl(data.url);
|
||||
$(".bg").prop("src", url);
|
||||
});
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
console.log(data)
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"), function (data, ret) {
|
||||
Toastr.success("成功");
|
||||
}, function (data, ret) {
|
||||
Toastr.success("失败");
|
||||
}, function (success, error) {
|
||||
var data = getPosterData();
|
||||
$('#poster-data').val(JSON.stringify(data));
|
||||
Form.api.submit(this, success, error);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
Reference in New Issue
Block a user