diff --git a/application/admin/view/workers/worker/index.html b/application/admin/view/workers/worker/index.html
index cfc788f..40df389 100644
--- a/application/admin/view/workers/worker/index.html
+++ b/application/admin/view/workers/worker/index.html
@@ -21,12 +21,19 @@
{:__('Edit')}
{:__('Delete')}
+
+
+
+
diff --git a/public/assets/js/backend/workers/worker.js b/public/assets/js/backend/workers/worker.js
index 98bde9f..fe67b77 100644
--- a/public/assets/js/backend/workers/worker.js
+++ b/public/assets/js/backend/workers/worker.js
@@ -1,189 +1,286 @@
-define(['jquery', 'bootstrap', 'backend', 'table', 'form','jstree'],
+define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jstree'],
function ($, undefined, Backend, Table, Form) {
- $.jstree.core.prototype.get_all_checked = function (full) {
- var obj = this.get_selected(), i, j;
- for (i = 0, j = obj.length; i < j; i++) {
- obj = obj.concat(this.get_node(obj[i]).parents);
- }
- obj = $.grep(obj, function (v, i, a) {
- return v != '#';
- });
- obj = obj.filter(function (itm, i, a) {
- return i == a.indexOf(itm);
- });
- return full ? $.map(obj, $.proxy(function (i) {
- return this.get_node(i);
- }, this)) : obj;
- };
- var Controller = {
- index: function () {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- index_url: 'workers/worker/index' + location.search,
- add_url: 'workers/worker/add',
- edit_url: 'workers/worker/edit',
- del_url: 'workers/worker/del',
- multi_url: 'workers/worker/multi',
- import_url: 'workers/worker/import',
- table: 'worker',
- }
- });
-
- 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: 'admin.username', title:'创建人'},
- {field: 'name', title: __('Name'), operate: 'LIKE'},
- {field: 'type', title: '师傅归属', searchList: {"1":'自营',"2":'非自营','3':'新师傅'},
- formatter: Table.api.formatter.status,},
- {field: 'tel', title: __('Tel'), operate: 'LIKE'},
- {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"0":__('Status 0')}, formatter: Table.api.formatter.status},
- //{field: 'area_id', title: __('Area_id')},
- //{field: 'lng', title: __('Lng'), operate:'BETWEEN'},
- //{field: 'lat', title: __('Lat'), operate:'BETWEEN'},
- {field: 'area.short_merge_name', title: __('Area.short_merge_name'), searchable:false},
- {field: 'deposit_amount', title: __('Deposit_amount'), operate:'BETWEEN'},
- {field: 'star', title: __('Star'), operate:'BETWEEN'},
- {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
- {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
- {field: 'operate', title: __('Operate'),
- buttons:[
- {
- name: 'edit',
- text: "修改",
- icon: 'fa fa-pencil',
- title: __('Edit'),
- extend: 'data-toggle="tooltip" data-container="body"',
- classname: 'btn btn-xs btn-info btn-editone',
- },
- {
- name: 'del',
- text: "删除",
- icon: 'fa fa-trash',
- title: __('Delete'),
- extend: 'data-toggle="tooltip"',
- classname: 'btn btn-xs btn-danger btn-delone',
- },
- ],
- table: table, events: Table.api.events.operate,
- formatter: Table.api.formatter.operate}
- ]
- ]
- });
- $("#c-city-search").on("cp:updated", function() {
- var citypicker = $(this).data("citypicker");
- var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
- // table.bootstrapTable('refresh',{query: {area_code: code}});
- $('#area_id').val(code);
- });
- $("#search_btn").on("click", function() {
- table.bootstrapTable('refresh',{
- url:$.fn.bootstrapTable.defaults.extend.index_url +'&' + getQueryData(),
- });
- });
- function getQueryData(){
- return $('#select-form').serialize();
+ $.jstree.core.prototype.get_all_checked = function (full) {
+ var obj = this.get_selected(), i, j;
+ for (i = 0, j = obj.length; i < j; i++) {
+ obj = obj.concat(this.get_node(obj[i]).parents);
}
-
-
-
- $("#reset_btn").on("click", function() {
- $("#c-city-search").citypicker('reset');
- $("#area_id").val('');
- $("#citem").val('').selectpicker('refresh');
- $("#keyword").val('');
- table.bootstrapTable('refresh',{
- url:$.fn.bootstrapTable.defaults.extend.index_url +'?' + getQueryData(),
- });
+ obj = $.grep(obj, function (v, i, a) {
+ return v != '#';
});
- Form.events.citypicker($("#select-form"));
-
-
- // 为表格绑定事件
- Table.api.bindevent(table);
- Form.events.citypicker($("form"));
- },
- add: function () {
- $("#c-city").on("cp:updated", function() {
- var citypicker = $(this).data("citypicker");
- var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
- $("#area_id").val(code);
+ obj = obj.filter(function (itm, i, a) {
+ return i == a.indexOf(itm);
});
- const urlParams = new URLSearchParams(window.location.search);
- const type = urlParams.get('type');
- if (type) {
- const select = document.getElementById('worker_type');
- if (select) {
- select.value = type;
- }
- }
- Controller.api.bindevent();
- },
- edit: function () {
- Controller.api.bindevent();
- },
- api: {
- bindevent: function () {
- Form.api.bindevent($("form[role=form]"),null,null,function () {
- if ($("#treeview").length > 0) {
- var r = $("#treeview").jstree("get_all_checked");
- $("input[name='row[rules]']").val(r.join(','));
+ return full ? $.map(obj, $.proxy(function (i) {
+ return this.get_node(i);
+ }, this)) : obj;
+ };
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'workers/worker/index' + location.search,
+ add_url: 'workers/worker/add',
+ edit_url: 'workers/worker/edit',
+ del_url: 'workers/worker/del',
+ multi_url: 'workers/worker/multi',
+ import_url: 'workers/worker/import',
+ table: 'worker',
}
- return true;
});
- //渲染权限节点树
- //销毁已有的节点树
- $("#treeview").jstree("destroy");
- Controller.api.rendertree(nodeData);
- //全选和展开
- $(document).on("click", "#checkall", function () {
- $("#treeview").jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
- });
- $(document).on("click", "#expandall", function () {
- $("#treeview").jstree($(this).prop("checked") ? "open_all" : "close_all");
- });
- $("select[name='row[pid]']").trigger("change");
- },
- rendertree: function (content) {
- $("#treeview")
- .on('redraw.jstree', function (e) {
- $(".layer-footer").attr("domrefresh", Math.random());
- })
- .jstree({
- "themes": {"stripes": true},
- "checkbox": {
- "keep_selected_style": false,
- },
- "types": {
- "root": {
- "icon": "fa fa-folder-open",
+
+ 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: 'admin.username', title: '创建人'},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {
+ field: 'type', title: '师傅归属', searchList: {"1": '自营', "2": '非自营', '3': '新师傅'},
+ formatter: Table.api.formatter.status,
},
- "menu": {
- "icon": "fa fa-folder-open",
+ {field: 'tel', title: __('Tel'), operate: 'LIKE'},
+ {
+ field: 'status',
+ title: __('Status'),
+ searchList: {"1": __('Status 1'), "0": __('Status 0')},
+ formatter: Table.api.formatter.status
},
- "file": {
- "icon": "fa fa-file-o",
+ //{field: 'area_id', title: __('Area_id')},
+ //{field: 'lng', title: __('Lng'), operate:'BETWEEN'},
+ //{field: 'lat', title: __('Lat'), operate:'BETWEEN'},
+ {field: 'area.short_merge_name', title: __('Area.short_merge_name'), searchable: false},
+ {field: 'deposit_amount', title: __('Deposit_amount'), operate: 'BETWEEN'},
+ {field: 'star', title: __('Star'), operate: 'BETWEEN'},
+ {
+ field: 'create_time',
+ title: __('Create_time'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ autocomplete: false
+ },
+ {
+ field: 'update_time',
+ title: __('Update_time'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ autocomplete: false
+ },
+ {
+ field: 'operate', title: __('Operate'),
+ buttons: [
+ {
+ name: 'edit',
+ text: "修改",
+ icon: 'fa fa-pencil',
+ title: __('Edit'),
+ extend: 'data-toggle="tooltip" data-container="body"',
+ classname: 'btn btn-xs btn-info btn-editone',
+ },
+ {
+ name: 'del',
+ text: "删除",
+ icon: 'fa fa-trash',
+ title: __('Delete'),
+ extend: 'data-toggle="tooltip"',
+ classname: 'btn btn-xs btn-danger btn-delone',
+ },
+ ],
+ table: table, events: Table.api.events.operate,
+ formatter: Table.api.formatter.operate
}
- },
- "plugins": ["checkbox", "types"],
- "core": {
- 'check_callback': true,
- "data": content
- }
+ ]
+ ]
+ });
+ $("#c-city-search").on("cp:updated", function () {
+ var citypicker = $(this).data("citypicker");
+ var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
+ // table.bootstrapTable('refresh',{query: {area_code: code}});
+ $('#area_id').val(code);
+ });
+ $("#search_btn").on("click", function () {
+ table.bootstrapTable('refresh', {
+ url: $.fn.bootstrapTable.defaults.extend.index_url + '&' + getQueryData(),
});
+ });
+
+ function getQueryData() {
+ return $('#select-form').serialize();
+ }
+
+
+ $("#reset_btn").on("click", function () {
+ $("#c-city-search").citypicker('reset');
+ $("#area_id").val('');
+ $("#citem").val('').selectpicker('refresh');
+ $("#keyword").val('');
+ table.bootstrapTable('refresh', {
+ url: $.fn.bootstrapTable.defaults.extend.index_url + '?' + getQueryData(),
+ });
+ });
+ Form.events.citypicker($("#select-form"));
+
+ // 批量修改状态事件
+ $(document).on("click", ".btn-change-status-off", function () {
+ var ids = Table.api.selectedids(table);
+ if (ids.length === 0) {
+ Toastr.error("请选择至少一条记录");
+ return;
+ }
+ layer.confirm('是否全部冻结', function () {
+ Fast.api.ajax({
+ url: 'workers/worker/status',
+ type: "POST",
+ contentType: 'application/json',
+ data: JSON.stringify({
+ ids,
+ status: 0
+ }),
+ success:function (){
+ layer.closeAll();
+ Toastr.info('操作成功');
+ table.bootstrapTable("refresh");
+ }
+ });
+ });
+ }); // 批量修改状态事件
+ $(document).on("click", ".btn-change-status-on", function () {
+ var ids = Table.api.selectedids(table);
+ if (ids.length === 0) {
+ Toastr.error("请选择至少一条记录");
+ return;
+ }
+ layer.confirm('是否全部激活', function () {
+ $.ajax({
+ url: 'workers/worker/status',
+ type: "POST",
+ contentType: 'application/json',
+ data: JSON.stringify({
+ ids,
+ status: 1
+ }),
+ success:function (){
+ layer.closeAll();
+ Toastr.info('操作成功');
+ table.bootstrapTable("refresh");
+ }
+ });
+ });
+ });
+ $(document).on("click", ".btn-change-type", function () {
+ var ids = Table.api.selectedids(table);
+ if (ids.length === 0) {
+ Toastr.error("请选择至少一条记录");
+ return;
+ }
+ layer.confirm('批量修改类型', function () {
+ $.ajax({
+ url: 'workers/worker/status',
+ type: "POST",
+ contentType: 'application/json',
+ data: JSON.stringify({
+ ids,
+ status: 1
+ }),
+ success:function (){
+ layer.closeAll();
+ Toastr.info('操作成功');
+ table.bootstrapTable("refresh");
+ }
+ });
+ });
+ });
+
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ Form.events.citypicker($("form"));
+ },
+ add: function () {
+ $("#c-city").on("cp:updated", function () {
+ var citypicker = $(this).data("citypicker");
+ var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
+ $("#area_id").val(code);
+ });
+ const urlParams = new URLSearchParams(window.location.search);
+ const type = urlParams.get('type');
+ if (type) {
+ const select = document.getElementById('worker_type');
+ if (select) {
+ select.value = type;
+ }
+ }
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ $("#c-city").on("cp:updated", function () {
+ var citypicker = $(this).data("citypicker");
+ var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
+ $("#area_id").val(code);
+ });
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"), null, null, function () {
+ if ($("#treeview").length > 0) {
+ var r = $("#treeview").jstree("get_all_checked");
+ $("input[name='row[rules]']").val(r.join(','));
+ }
+ return true;
+ });
+ //渲染权限节点树
+ //销毁已有的节点树
+ $("#treeview").jstree("destroy");
+ Controller.api.rendertree(nodeData);
+ //全选和展开
+ $(document).on("click", "#checkall", function () {
+ $("#treeview").jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
+ });
+ $(document).on("click", "#expandall", function () {
+ $("#treeview").jstree($(this).prop("checked") ? "open_all" : "close_all");
+ });
+ $("select[name='row[pid]']").trigger("change");
+ },
+ rendertree: function (content) {
+ $("#treeview")
+ .on('redraw.jstree', function (e) {
+ $(".layer-footer").attr("domrefresh", Math.random());
+ })
+ .jstree({
+ "themes": {"stripes": true},
+ "checkbox": {
+ "keep_selected_style": false,
+ },
+ "types": {
+ "root": {
+ "icon": "fa fa-folder-open",
+ },
+ "menu": {
+ "icon": "fa fa-folder-open",
+ },
+ "file": {
+ "icon": "fa fa-file-o",
+ }
+ },
+ "plugins": ["checkbox", "types"],
+ "core": {
+ 'check_callback': true,
+ "data": content
+ }
+ });
+ }
}
- }
- };
- return Controller;
-});
+ };
+ return Controller;
+ });