DiverseYouthNightSchool/public/assets/js/backend/school/classes/teacher.js

269 lines
14 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'school/classes/teacher/index' + location.search,
add_url: 'school/classes/teacher/add'+ location.search,
edit_url: 'school/classes/teacher/edit'+ location.search,
del_url: 'school/classes/teacher/del',
multi_url: 'school/classes/teacher/multi',
import_url: 'school/classes/teacher/import',
url_url: 'school/classes/teacher/url',
lookminiqrcode_url: 'school/classes/teacher/lookminiqrcode',
miniqrcode_url: 'school/classes/teacher/miniqrcode',
table: 'school_teacher',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'weigh',
fixedColumns: true,
fixedRightNumber: 2,
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'manystore_id', title: __('Manystore_id')},
{field: 'shop_id', title: __('Shop_id')},
{field: 'user_id', title: __('User_id')},
{field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
{field: 'recommend', title: __('Recommend'), searchList: {"0":__('Recommend 0'),"1":__('Recommend 1')}, formatter: Table.api.formatter.normal},
{field: 'expert_image', title: __('Expert_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'weigh', title: __('Weigh'), operate: false},
{field: 'teacher_star', title: __('老师评分'),sortable:true},
{field: 'star_number', title: __('评价数'),sortable:true},
{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: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
{field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
{field: 'user.mobile', title: __('用户手机号'), operate: 'LIKE'},
{field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
{field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
{field: 'shop.logo', title: __('Shop.logo'), operate: 'LIKE'},
{field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'shop.province', title: __('Shop.province')},
{field: 'shop.city', title: __('Shop.city')},
{field: 'shop.district', title: __('Shop.district')},
{field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
{field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
{field: 'miniqrcode_link', title: __('微信小程序端展示'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'operate', title: __('Operate'), table: table , buttons: [
{name: 'url',
text: '查看小程序链接',
icon: 'fa fa-chain',
classname: 'btn btn-ajax',
url: $.fn.bootstrapTable.defaults.extend.url_url,
confirm: '查看小程序链接',
dropdown : '更多',
success: function (data, ret) {
//JS将内容放入复制板
try {
navigator.clipboard.writeText(ret.msg);
console.log('Text copied to clipboard');
Layer.alert("已自动复制内容 : " + ret.msg );
} catch (err) {
console.error('Failed to copy: ', err);
Layer.alert("浏览器不支持复制,请自行复制 : " + ret.msg );
}
$(".btn-refresh").trigger("click");
},
error: function (data, ret) {
Layer.alert(ret.msg);
return false;
},
// visible: function (row) {
// //显示条件 只能待入住订单
// if(row.status == '3'){
// return true;
// }
// return false;
// }
},
{
name: 'classes',
text: __('讲师的课程'),
title: __('讲师的课程'),
classname: 'btn btn-dialog',
icon: 'fa fa-leanpub',
dropdown : '更多',
url: classes_url,
callback: function (data) {
},
// visible: function (row) {
// return row.status == '2'||row.status == '3';
// }
},
{
name: 'evaluate',
text: __('查看用户评价'),
title: __('查看用户评价'),
classname: 'btn btn-dialog',
icon: 'fa fa-handshake-o',
dropdown : '更多',
url: evaluate_url,
callback: function (data) {
},
// visible: function (row) {
// return row.classes_evaluate_id;
// }
},
{
name: 'manystore',
text: __('查看机构'),
title: __('查看机构'),
classname: 'btn btn-dialog',
icon: 'fa fa-home',
dropdown : '更多',
url: manystore_url,
callback: function (data) {
},
// visible: function (row) {
// return row.classes_evaluate_id;
// }
},
], events: Table.api.events.operate, formatter: Table.api.formatter.operate},
// {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: 'school/classes/teacher/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: 'school/classes/teacher/restore',
refresh: true
},
{
name: 'Destroy',
text: __('Destroy'),
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
icon: 'fa fa-times',
url: 'school/classes/teacher/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 () {
$(document).on('click', '.btn-changeuser', function (event) {
var url = $(this).attr('data-url');
if(!url) return false;
var title = $(this).attr('title');
var width = $(this).attr('data-width');
var height = $(this).attr('data-height');
// var ids = $(this).attr('data-id');
var area = [$(window).width() > 800 ? (width?width:'800px') : '95%', $(window).height() > 600 ? (height?height:'600px') : '95%'];
var options = {
shadeClose: false,
shade: [0.3, '#393D49'],
area: area,
callback:function(ret){//回调方法需要在本页面Controller中增加方法监听且调用Fast.api.close(ret)传递结果;
Fast.api.close(ret);
}
};
Fast.api.open(url,title,options);
});
Form.api.bindevent($("form[role=form]"));
}
}
};
var evaluate_url= function (row,dom) {
return 'school/classes/evaluate/index?shop_id='+row.shop_id+ '&teacher_id='+row.id;
}
var classes_url= function (row,dom) {
return 'school/classes/classes_lib/index?shop_id='+row.shop_id+ '&teacher_id='+row.id;
}
var manystore_url = function (row,dom) {
return 'manystore/index/index?shop_id='+row.shop_id;
}
return Controller;
});