studies.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'selectpage'], function ($, undefined, Backend, Table, Form,SelectPage) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'exams/studies/index' + location.search,
  8. add_url: '',
  9. edit_url: '',
  10. del_url: '',
  11. multi_url: '',
  12. table: 'studies',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'id',
  21. queryParams: function (params) {
  22. //这里可以追加搜索条件
  23. let filter = JSON.parse(params.filter);
  24. let op = JSON.parse(params.op);
  25. if(filter.institution_id){
  26. params.institution_id = filter.institution_id;
  27. delete filter.institution_id;
  28. }
  29. if(op.institution_id){
  30. delete op.institution_id;
  31. }
  32. params.filter = JSON.stringify(filter);
  33. params.op = JSON.stringify(op);
  34. common_filter = params.filter;
  35. common_op = params.op;
  36. return params;
  37. },
  38. columns: [
  39. [
  40. {field: 'name', title: __('姓名')},
  41. {field: 'temp_patient_id', title: __('病历号')},
  42. {field: 'studyuid', title: __('Studyuid'),searchable:false},
  43. {field: 'studyid', title: __('Studyid')},
  44. {field: 'accession_num', title: __('检查号')},
  45. {field: 'studydate', title: __('检查日期'),defaultValue:Controller.api.formatter.get_today(0)},
  46. {field: 'modality', title: __('类型')},
  47. {field: 'institution_name', title: __('Institution_name'),searchable:false},
  48. {field: 'institution_id', title: __('医院'),visible:false},
  49. {field: 'flag', title: __('状态'), formatter: Controller.api.formatter.getFlag,searchable:false},
  50. // {field: 'image', title: __('存储'), formatter: Controller.api.formatter.saveImage,searchable:false},
  51. // {field: 'type', title: __('影像归档类型'), formatter: Controller.api.formatter.getType,searchable:false},
  52. // {field: 'studytime', title: __('Studytime'),searchable:false},
  53. {
  54. field: 'operate',
  55. export:false,
  56. title: __('Operate'),
  57. table: table,
  58. buttons: [
  59. {
  60. name : 'btn_topup',
  61. title : __('重新同步'),
  62. extend : 'data-toggle="tooltip"',
  63. classname: 'btn btn-xs btn-warning',
  64. icon : 'fa fa-repeat',
  65. url : 'exams/studies/reSync',
  66. },{
  67. name : 'series',
  68. title : '查看序列',
  69. text : '查看序列',
  70. icon : 'fa fa-calendar-o',
  71. classname: 'btn btn-xs btn-info btn-dialog',
  72. url : 'exams/studies/series',
  73. extend : 'data-toggle="tooltip" data-area=\'["1100px","600px"]\'',
  74. }
  75. ],
  76. events: Table.api.events.operate,
  77. formatter: Table.api.formatter.operate,
  78. }
  79. ]
  80. ]
  81. });
  82. // 为表格绑定事件
  83. Table.api.bindevent(table);
  84. initInstitutionSearchList('institution_id');
  85. },
  86. add: function () {
  87. Controller.api.bindevent();
  88. },
  89. edit: function () {
  90. Controller.api.bindevent();
  91. },
  92. series: function () {
  93. // 初始化表格参数配置
  94. Table.api.init({
  95. extend: {
  96. index_url: 'exams/studies/seriesList',
  97. }
  98. });
  99. let table = $("#table");
  100. // 初始化表格
  101. table.bootstrapTable({
  102. url: $.fn.bootstrapTable.defaults.extend.index_url,
  103. showToggle: false,
  104. showColumns: false,
  105. paginate:false,
  106. queryParams: function queryParams(params) {
  107. params.study = $('input[name="study"]').val();
  108. params.ins = $('input[name="ins"]').val();
  109. return params;
  110. },
  111. columns: [
  112. [
  113. {field: 'seriesuid', title: 'seriesuid', searchable: false},
  114. {field: 'seriesNum', title: 'seriesNum', searchable: false},
  115. {field: 'seriesDescription', title: 'seriesDescription', searchable: false},
  116. {field: 'modality', title: 'modality', searchable: false},
  117. {
  118. field: 'operate',
  119. export: false,
  120. title: __('Operate'),
  121. table: table,
  122. buttons: [
  123. {
  124. name: 'series',
  125. title: '删除序列',
  126. text: '删除序列',
  127. icon: 'fa fa-calendar-o',
  128. classname: 'btn btn-xs btn-info btn-deleteSeries'
  129. }
  130. ],
  131. events: Controller.api.events.operate,
  132. formatter: Table.api.formatter.operate,
  133. }
  134. // {field: 'source',title: __('访问来源'), searchable: false},
  135. ]
  136. ]
  137. });
  138. // 为表格绑定事件
  139. Table.api.bindevent(table);
  140. },
  141. api: {
  142. events:{
  143. operate:{
  144. 'click .btn-deleteSeries': function (e, value, row, index) {
  145. Layer.confirm(__('是否删除该序列?'), {
  146. icon: 3,
  147. title: '提示'
  148. }, function (index) {
  149. Backend.api.ajax({
  150. url: "exams/studies/deleteSeries",
  151. data: {id:row.id,study:row.study_id,ins:row.ins}
  152. }, function () {
  153. Layer.closeAll();
  154. $('.btn-refresh').trigger('click');
  155. });
  156. });
  157. }
  158. }
  159. },
  160. formatter:{
  161. getFlag:function (value) {
  162. if(value == 1)
  163. {
  164. return '成功';
  165. }else if(value == 2)
  166. {
  167. return '接口请求中';
  168. }else if(value == 0)
  169. {
  170. return '默认';
  171. }else{
  172. return '失败'+value+'次';
  173. }
  174. },
  175. get_today: function (AddDayCount) {
  176. const dd = new Date();
  177. dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
  178. let y = dd.getFullYear() + '';
  179. let m = dd.getMonth()+1;//获取当前月份的日期
  180. let d = dd.getDate();
  181. //判断月
  182. if (m < 10) {
  183. m = "0" + m + '';
  184. }
  185. //判断日
  186. if (d < 10) {
  187. d = "0" + d + '';
  188. }
  189. return y + m + d;
  190. },
  191. saveImage:function (value) {
  192. if(value == 0)
  193. {
  194. return '老数据库';
  195. }else if(value == 1)
  196. {
  197. return '新数据库';
  198. }
  199. },
  200. getType:function (value) {
  201. if(value == 0)
  202. {
  203. return '默认';
  204. }else if(value == 1)
  205. {
  206. return '浪潮云';
  207. }else if(value == 2)
  208. {
  209. return '天翼云';
  210. }else if(value == 3)
  211. {
  212. return '阿里云';
  213. }else if(value == 4)
  214. {
  215. return 'fastdfs';
  216. }else if(value == 9)
  217. {
  218. return '未知';
  219. }
  220. },
  221. },
  222. bindevent: function () {
  223. Form.api.bindevent($("form[role=form]"));
  224. }
  225. }
  226. };
  227. // 选择机构下拉列表
  228. let initInstitutionSearchList = function (id) {
  229. $.ajax({
  230. url: 'institution/institution/institutionSelectList',
  231. type: 'post',
  232. dataType: 'json',
  233. success: function success(res) {
  234. let data = res.rows;
  235. $('#'+id).selectPage({
  236. data : data,
  237. orderBy: 'index'
  238. });
  239. }
  240. });
  241. };
  242. return Controller;
  243. });