123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'selectpage'], function ($, undefined, Backend, Table, Form, SelectPage) {
- var Controller = {
- index: function () {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- index_url: 'manage/tasks/index' + location.search,
- add_url: 'manage/tasks/add',
- edit_url: 'manage/tasks/edit',
- del_url: 'manage/tasks/del',
- multi_url: 'manage/tasks/multi',
- table: 'qc_tasks',
- }
- });
- var table = $("#table");
- // 初始化表格
- table.bootstrapTable({
- url: $.fn.bootstrapTable.defaults.extend.index_url,
- pk: 'id',
- sortName: 'id',
- columns: [
- [
- {field: 'name', title: __('Name')},
- {field: 'type', title: __('任务类型'),formatter: function (value){
- if(value == 1){return '技术质控'}else if(value == 2){return '诊断质控'}else if(value == 3){return '技术+诊断质控'}else {return value}
- },searchList:{"1":"技术质控", "2":"诊断质控" ,"3":"技术+诊断质控"}},
- {field: 'institution_id', title: __('Institution_id'),visible:false},
- {field: 'institution_name', title: __('Institution_name'),searchable:false},
- {field: 'exam_class', title: __('Exam_class')},
- {field: 'exam_num', title: __('生成检查的数量')},
- {field: 'qc_num', title: __('完成质控的数量')},
- {field: 'datetime_area', title: __('Datetime_area')},
- {field: 'num', title: __('Num')},
- {field: 'status', title: __('任务状态'),formatter: function (value){
- if(value == 0){return '创建'}else if(value == 1){return '启用'}else if(value == 2){return '完成'}else {return value}
- },searchList:{"0":"创建", "1":"启用" ,"2":"完成"}},
- {field: 'order_type', title: __('抽取顺序类型'),formatter: function (value){
- if(value == 1){return '随机'}else if(value == 2){return '检查时间正序'}else if(value == 3){return '检查时间倒序'}else {return value}
- },searchList:{"1":"随机", "2":"检查时间正序" ,"3":"检查时间倒序"}},
- {field: 'createdAt', title: __('创建时间'), operate:'RANGE', addclass:'datetimerange'},
- {field: 'updatedAt', title: __('修改时间'), operate:'RANGE', addclass:'datetimerange'},
- {
- field: 'operate',
- export:false,
- title: __('Operate'),
- table: table,
- buttons: [
- {
- name : 'btn_topup',
- title : __('开始任务'),
- text : '开始任务',
- extend : 'data-toggle="tooltip"',
- classname: 'btn btn-xs btn-warning btn-start',
- visible : function (row){
- return row.status == 0 ? true : false
- }
- },
- {
- name : 'btn_topup',
- title : __('完成任务'),
- text : '完成任务',
- extend : 'data-toggle="tooltip"',
- classname: 'btn btn-xs btn-warning btn-complete',
- visible : function (row){
- return row.status == 1 ? true : false
- }
- },
- // {
- // name : 'btn_topup',
- // title : __('任务统计'),
- // text : '任务统计',
- // extend : 'data-toggle="tooltip"',
- // classname: 'btn btn-xs btn-warning',
- // visible : function (row){
- // return row.status !== 0 ? true : false
- // }
- // },
- {
- name : 'btn_topup',
- title : __('查看任务数据'),
- text : '查看任务数据',
- extend : 'data-toggle="tooltip" data-area=\'["95%","95%"]\'',
- classname: 'btn btn-xs btn-warning btn-dialog',
- visible : function (row){
- return row.status !== 0 ? true : false
- },
- url : function (row){return 'manage/taskexams/index?task='+row.id}
- }
- ],
- events: Controller.api.events.operate,
- formatter: Table.api.formatter.operate,
- }
- ]
- ]
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- initInstitutionSearchList('institution_id');
- },
- add: function () {
- examClassSearchList();
- initInstitutionSearchList('institution_id');
- Controller.api.bindevent();
- },
- edit: function () {
- examClassSearchList();
- initInstitutionSearchList('institution_id');
- Controller.api.bindevent();
- },
- api: {
- events:{
- operate:{
- 'click .btn-start': function (e, value, row, index) {
- Fast.api.ajax({
- url: 'manage/tasks/start',
- data: {
- id : row.id
- },
- loading:true
- }, function (data, ret) {
- $('.btn-refresh').trigger('click');
- Layer.closeAll();
- Layer.alert('已生成任务数据');
- return false;
- }, function (data, ret) {
- $('.btn-refresh').trigger('click');
- Layer.closeAll();
- Toastr.error(ret.msg)
- return false;
- })
- },
- 'click .btn-complete': function (e, value, row, index) {
- $.ajax({
- url: 'manage/tasks/getNums/ids/'+row.id,
- type: 'post',
- dataType: 'json',
- success: function success(res) {
- console.log(res);
- if(res)
- {
- completeTask(row.id)
- }else{
- Layer.confirm(__('未完成所有检查的质控任务,是否强制完成'), {
- }, function (index) {
- completeTask(row.id)
- });
- }
- }
- });
- },
- 'click .btn-editone': function (e, value, row, index) {
- e.stopPropagation();
- e.preventDefault();
- var table = $(this).closest('table');
- var options = table.bootstrapTable('getOptions');
- var ids = row[options.pk];
- row = $.extend({}, row ? row : {}, {ids: ids});
- var url = options.extend.edit_url;
- Fast.api.open(Table.api.replaceurl(url, row, table), __('Edit'), $(this).data() || {});
- },
- 'click .btn-delone': function (e, value, row, index) {
- e.stopPropagation();
- e.preventDefault();
- let that = this;
- var table = $(this).closest('table');
- var options = table.bootstrapTable('getOptions');
- $(that).data('url',options.extend.del_url);
- let top = $(that).offset().top - $(window).scrollTop();
- let left = $(that).offset().left - $(window).scrollLeft() - 260;
- if (top + 154 > $(window).height()) {
- top = top - 154;
- }
- if ($(window).width() < 480) {
- top = left = undefined;
- }
- Layer.confirm(
- __('Are you sure you want to delete this item?'),
- {icon: 3, title: __('Warning'), offset: [top, left], shadeClose: true},
- function (index) {
- let table = $(that).closest('table');
- let options = table.bootstrapTable('getOptions');
- Table.api.multi("del", row[options.pk], table, that);
- Layer.close(index);
- }
- );
- },
- }
- },
- bindevent: function () {
- Form.api.bindevent($("form[role=form]"));
- }
- }
- };
- let initInstitutionSearchList = function (id) {
- $.ajax({
- url: 'institution/institution/institutionSelectList',
- type: 'post',
- dataType: 'json',
- success: function success(res) {
- let data = res.rows;
- $('#'+id).selectPage({
- data : data,
- orderBy: 'index'
- });
- }
- });
- };
- let examClassSearchList = function () {
- $.ajax({
- url: 'dict/device/examClassSelectList',
- type: 'post',
- dataType: 'json',
- success: function success(res) {
- let data = res.rows;
- $('#c-exam_class').selectPage({
- data : data,
- orderBy: 'id',
- multiple:true
- });
- }
- });
- };
- let completeTask = function (id) {
- Fast.api.ajax({
- url: 'manage/tasks/complete',
- data: {
- id : id
- }
- }, function (data, ret) {
- $('.btn-refresh').trigger('click');
- Layer.closeAll();
- Layer.alert('任务已完成');
- return false;
- }, function (data, ret) {
- $('.btn-refresh').trigger('click');
- Layer.closeAll();
- Toastr.error(ret.msg)
- return false;
- })
- };
- return Controller;
- });
|