disease-label-edit.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>病种列表</title>
  6. <meta name="author" content="yihu.com" />
  7. <meta name="format-detection" content="telephone=no" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />
  9. <meta name="apple-mobile-web-app-capable" content="yes" />
  10. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  11. <link rel="stylesheet" href="../../../common/iconfont/iconfont.css" />
  12. <link rel="stylesheet" href="../../../common/cross/css/cross.min.css" />
  13. <link rel="stylesheet" type="text/css" href="../../../common/cross/css/cross.ui.css" />
  14. <link rel="stylesheet" href="../../../common/cross/css/ui.all.min.css" />
  15. <link rel="stylesheet" type="text/css" href="../../../common/css/ss-doctor.css">
  16. <link rel="stylesheet" type="text/css" href="../css/disease.css">
  17. </head>
  18. <body>
  19. <div class="h45">
  20. <div class="demo-comtop">
  21. <a class="mui-action-back"></a>
  22. <h1>选择标签</h1>
  23. <a href="javascript:void(0);" class="btntrue c-ccc">保存</a>
  24. </div>
  25. </div>
  26. <ul class="c-list msg-list" id='disease-box1'>
  27. <li class="mb15 c-head">
  28. <div><i class="other-icon"></i><span>服务类型</span></div>
  29. </li>
  30. <!-- <li class="c-list-add">
  31. <div><span id='add-span'>添加标签</span><input maxlength="6" class="add-input" id='labelinput' type="input"/></div>
  32. </li> -->
  33. </ul>
  34. <ul class="c-list msg-list" id='disease-box4'>
  35. <li class="mb15 c-head">
  36. <div><i class="other-icon"></i><span>自定义标签</span></div>
  37. </li>
  38. <!-- <li class="c-list-add">
  39. <div><span id='add-span'>添加标签</span><input maxlength="6" class="add-input" id='labelinput' type="input"/></div>
  40. </li> -->
  41. </ul>
  42. <ul class="c-list msg-list" id='disease-box3'>
  43. <li class="mb15 c-head">
  44. <div><i class="disease-icon"></i><span>疾病类型</span></div>
  45. </li>
  46. </ul>
  47. <script src="../../../js/mui.min.js" type="text/javascript" charset="utf-8"></script>
  48. <script src="../../../js/app.js" type="text/javascript" charset="utf-8"></script>
  49. <script src="../../../js/common_http.js" type="text/javascript" charset="utf-8"></script>
  50. <script src="../../../js/jquery/2.1.3/jquery.js" type="text/javascript" charset="utf-8"></script>
  51. <script src="../../../js/underscore.js"></script>
  52. <script src="../../../js/es6-promise.js"></script>
  53. <script>
  54. mui.init({
  55. beforeback: function() {
  56. if(!$(".btntrue").hasClass("c-ccc")){
  57. mui.confirm("您有未保存的变动,是否保存?", "提示", ["保存", "不了,谢谢"], function(e) {
  58. if(e.index == 0) {
  59. saveData();
  60. } else {
  61. plus.webview.currentWebview().close();
  62. }
  63. })
  64. return false;
  65. }
  66. }
  67. });
  68. $(function(){
  69. $("#add-span").bind("click",function(){
  70. $(this).hide();
  71. $("#labelinput").show();
  72. $("#labelinput").focus();
  73. })
  74. $("#labelinput").bind("blur",function(){
  75. var val = $(this).val();
  76. if(val.trim()==""){
  77. $("#add-span").show();
  78. $("#labelinput").hide();
  79. return;
  80. }
  81. });
  82. $("#disease-box4").on("click",".c-list-li",function(){
  83. if(!$(this).hasClass('cant-active')){
  84. if($(this).hasClass("active-icon")){
  85. $(this).removeClass("active-icon");
  86. $(this).addClass("no-active");
  87. }else{
  88. $(this).removeClass("no-active");
  89. $(this).addClass("active-icon");
  90. }
  91. }
  92. })
  93. $("#disease-box1").on("click",".c-list-li",function(){
  94. if(!$(this).hasClass('cant-active')){
  95. if($(this).hasClass("active-icon")){
  96. $(this).removeClass("active-icon");
  97. $(this).addClass("no-active");
  98. }else{
  99. $(this).removeClass("no-active");
  100. $(this).addClass("active-icon");
  101. }
  102. }
  103. $("#disease-box1 .c-list-li").removeClass("active-icon").removeClass("no-active");
  104. $(this).addClass("active-icon");
  105. })
  106. $("#disease-box3").on("click",".c-list-li",function(){
  107. if(!$(this).hasClass('cant-active')){
  108. if($(this).attr('data-noselect') == 'true'){
  109. mui.toast("该疾病类型不能取消!");
  110. return false;
  111. }
  112. if($(this).hasClass("active-icon")){
  113. $(this).removeClass("active-icon");
  114. $(this).addClass("no-active");
  115. }else{
  116. $(this).removeClass("no-active");
  117. $(this).addClass("active-icon");
  118. }
  119. }
  120. changeLabelState3()
  121. })
  122. $("#disease-box2").on("click",".c-list-li",function(){
  123. _this = this;
  124. if(!$(this).hasClass('cant-active')){
  125. $("#disease-box2 .c-list-li").each(function(){
  126. if(_this!=this && !$(this).hasClass('cant-active')){
  127. $(this).removeClass("active-icon");
  128. $(this).addClass("no-active");
  129. }
  130. })
  131. if($(this).hasClass("active-icon")){
  132. $(this).removeClass("active-icon");
  133. $(this).addClass("no-active");
  134. }else{
  135. $(this).removeClass("no-active");
  136. $(this).addClass("active-icon");
  137. }
  138. }
  139. changeLabelState2($(this).index())
  140. })
  141. $(".demo-comtop").on("tap",".btntrue:not(.c-ccc)",function(){
  142. $(this).addClass('c-ccc');
  143. plus.nativeUI.showWaiting();
  144. saveData();
  145. })
  146. //控制标签显示
  147. function changeLabelState2(num){
  148. if(num == 1){
  149. $("#disease-box3").find(".c-list-li").addClass('cant-active');
  150. }else{
  151. $("#disease-box3").find(".c-list-li").removeClass('cant-active');
  152. }
  153. }
  154. function changeLabelState3(){
  155. var that = $("#disease-box3").find('li.active-icon').length;
  156. if(that>0){
  157. $("#disease-box2").find(".c-list-li").eq(0).addClass('cant-active');
  158. }else{
  159. $("#disease-box2").find(".c-list-li").eq(0).removeClass('cant-active');
  160. }
  161. }
  162. })
  163. function saveData(){
  164. var health = [];//服务类型
  165. var disease=[];
  166. var custom =[];
  167. var diseaseName = [];
  168. $("#disease-box1 .active-icon").each(function(){
  169. var val = $(this).attr("data-code");
  170. health.push(val);
  171. diseaseName.push($(this).attr("data-name"));
  172. });
  173. $("#disease-box3 .active-icon").each(function(){
  174. var val = $(this).attr("data-code");
  175. disease.push(val);
  176. diseaseName.push($(this).attr("data-name"));
  177. });
  178. $("#disease-box4 .active-icon").each(function(){
  179. var val = $(this).attr("data-code");
  180. custom.push(val);
  181. diseaseName.push($(this).attr("data-name"));
  182. });
  183. // if(health.length<=0){
  184. // mui.toast("请选择患者健康情况!");
  185. // plus.nativeUI.closeWaiting();
  186. // $(".btntrue").removeClass('c-ccc');
  187. // return false;
  188. // }
  189. //保存服务类型
  190. sendPost("doctor/sign/updateSignServerByCode",
  191. {signCode:signCode, sevId:serviceCode},null,
  192. function(res){
  193. if(res.status == 200){
  194. }else{
  195. mui.toast('服务类型保存失败');
  196. }
  197. },'POST','',true);
  198. var params = {};
  199. params.health = health.join(",");
  200. params.disease = disease.join(",");
  201. params.custom = custom.join(",");
  202. params.patient = patientCode;
  203. console.error(JSON.stringify(params))
  204. sendPost("doctor/patient_label_info/patient_label_update",params,addPatientLabelErr,function(res){
  205. if(res.status==200){
  206. mui.toast('保存成功');
  207. refreshHz();
  208. setTimeout(function(){
  209. $(".btntrue").removeClass('c-ccc');
  210. plus.nativeUI.closeWaiting();
  211. var xxWv = plus.webview.getWebviewById(viewId);
  212. if(xxWv) {
  213. if(viewId == 'huanzhexinxi.html' || 'huanzhexinxi'){
  214. mui.fire(xxWv, "setDiseaseTypes", {
  215. names: diseaseName.join(","),
  216. disease: disease.join(",")
  217. });
  218. }else{
  219. mui.fire(xxWv, "refresh");
  220. }
  221. plus.webview.currentWebview().close();
  222. xxWv.show();
  223. }
  224. },1000)
  225. }else{
  226. plus.nativeUI.closeWaiting();
  227. $(".btntrue").removeClass('c-ccc');
  228. addPatientLabelErr(res);
  229. }
  230. })
  231. }
  232. var teamCodes,
  233. viewId,
  234. serviceCode,
  235. isChange,
  236. signCode,
  237. patientCode;
  238. mui.plusReady(function() {
  239. plus.nativeUI.showWaiting();
  240. var self = plus.webview.currentWebview();
  241. patientCode = self.patientCode;//获取界面CODE
  242. viewId = self.viewId;
  243. serviceCode = self.serviceCode;
  244. signCode = self.signCode;
  245. isChange = self.isChange;
  246. init();
  247. })
  248. //获取病人所有标签信息
  249. // function getPatientAllLabels(){
  250. // sendPost("/",
  251. // {patient: patiCode}, null,
  252. // function(res){
  253. // console.log(res)
  254. // if(res.status == 200){
  255. // if(res.data){
  256. // var str = ''
  257. // res.data.map(function(v,i){
  258. // str+=v.labelName;
  259. // if(i+1 != res.data.length)str+=','
  260. // })
  261. // $('#diseases').html(str)
  262. // }
  263. // } else {
  264. // mui.toast("获取标签情况失败");
  265. // }
  266. // },'POST','',true);
  267. // }
  268. var activeArr =[];//选中的标签
  269. function init(){
  270. var docInfo = JSON.parse(plus.storage.getItem("docInfo"));
  271. promise = getReqPromises([{url:"/doctor/patient_label/labels_by_type",data:{labelType:2}},
  272. {url:"/doctor/patient_label/labels_by_type",data:{labelType:3}},
  273. {url:"/doctor/patient_label/labels_by_type",data:{labelType:4,teamCode:docInfo.adminTeamCode}},
  274. {url:"/doctor/patient_label/patientAllLabels",data:{patient:patientCode}}, //获取选中的标签
  275. {url:"/wlyygc/doctor/label/labels", reqType: "get" ,data:{labelType:1}},//服务类型
  276. ])
  277. return promise.then(function(datas){
  278. var data0 = datas[0],
  279. data1 = datas[1],
  280. data2 = datas[2];
  281. activeArr = datas[3].data
  282. initData(2,data0);
  283. initData(3,data1);
  284. initData(4,data2);
  285. serviceTypeData(datas[4])
  286. console.error(activeArr.length+JSON.stringify(activeArr))
  287. setTimeout(function(){
  288. isValueChange();
  289. },1000)
  290. plus.nativeUI.closeWaiting();
  291. });
  292. }
  293. function initData(type,res){
  294. // if(type == 4){
  295. // if(res.status==200){
  296. // res.data = res.data.map(function(v){
  297. // v.labelCode = v.label;
  298. // return v
  299. // })
  300. // if(res.data.length>0)
  301. // appendLabel(res.data);
  302. // }else{
  303. // queryFailed(res);
  304. // }
  305. // } else
  306. querySuccess(res);
  307. }
  308. function serviceTypeData(res){
  309. var labelhtml ="";
  310. if(res.status==10000){
  311. var data = res.result;
  312. for(var j in data){
  313. var disabled = "no-active";
  314. var noselect = "";
  315. var isExit=false;
  316. activeArr.map(function(v){
  317. console.error("v.label:"+v.label)
  318. console.error("data[j].code:"+data[j].code)
  319. if(v.label == data[j].code && v.labelType=='1')isExit =true;
  320. })
  321. if(isExit)disabled = "active-icon" //本来就有的默认高亮
  322. labelhtml +='<li id="'+data[j].code+'" data-code="'+data[j].code+'" data-name="'+data[j].name+'" data-noselect="' + noselect + '" class="c-list-li '+disabled+'">'+
  323. '<div><span >'+data[j].name+'</span></div>'+
  324. '</li>'
  325. }
  326. $("#disease-box1").append(labelhtml);
  327. }
  328. }
  329. function initPatientData(type){
  330. sendPost("/doctor/patient_label_info/patient_label",{labelType:type,patient:patientCode},queryFailed,function(res){
  331. if(res.status==200){
  332. for(var j=0;j<res.data.length;j++){
  333. $('#disease-box'+type+' li[data-code="'+ res.data[j].label +'"]').removeClass("no-active").addClass("active-icon");
  334. }
  335. //有疾病标签就没有健康人群
  336. if(type == 3){
  337. if(res.data.length>0){
  338. $("#disease-box2").find(".c-list-li").eq(0).addClass('cant-active');
  339. }
  340. }
  341. if(type == 2){
  342. if(res.data[0].label == 1){
  343. $("#disease-box3").find(".c-list-li").addClass('cant-active');
  344. }
  345. }
  346. }
  347. })
  348. }
  349. function querySuccess(res){
  350. if(res.status==200){
  351. if(res.data&&res.data.length>0){
  352. appendLabel(res.data);
  353. }
  354. }else{
  355. queryFailed(res);
  356. }
  357. }
  358. function addLabelSuc(res){
  359. if(res.status==200){
  360. if(res.data && res.data.length){
  361. var codes = [];
  362. var name = "";
  363. for(var k in res.data){
  364. name = res.data[k].labelName;
  365. codes.push(res.data[k].labelCode);
  366. }
  367. $("#add-span").show();
  368. $("#labelinput").hide();
  369. $("#labelinput").val("");
  370. $(".c-list-add").before('<li data-code=",'+codes.join(',')+'," class=\"c-list-li active-icon\"><div><span>'+name+'</span></div></li>');
  371. } else
  372. addLabelErr(res);
  373. }else{
  374. addLabelErr(res);
  375. }
  376. }
  377. function appendLabel(data){
  378. var labelhtml ="",
  379. labelType = data[0].labelType;
  380. var serArr = serviceCode.split(',');
  381. var diseaseServiceCode = ["4","5","10","11","12"]; //患病的人群的服务类型
  382. for(var j in data){
  383. //根据服务类型判断标签显示的样子
  384. var disabled = "no-active";
  385. var noselect = "";
  386. if(isChange){
  387. $.map(serArr,function(item,index){
  388. var item = item.trim();
  389. if(diseaseServiceCode.indexOf(item) > -1){
  390. //健康情况的健康人群置为不可选
  391. (labelType == 2) && (data[j].labelCode == 1) && (disabled = "cant-active");
  392. //针对不同服务类型,对应的疾病类型选中不可修改
  393. if(labelType == 3){
  394. //高血压
  395. (item == "4") && (data[j].labelCode == 1) &&(disabled = "active-icon") &&(noselect = "true");
  396. //糖尿病
  397. (item == "5") && (data[j].labelCode == 2) &&(disabled = "active-icon") &&(noselect = "true");
  398. //重性精神病
  399. (item == "10") && (data[j].labelCode == 10) && (disabled = "active-icon") &&(noselect = "true");
  400. //结核病
  401. (item == "12") && (data[j].labelCode == 8) && (disabled = "active-icon") &&(noselect = "true");
  402. //残疾人
  403. (item == "11") && (data[j].labelCode == 9) && (disabled = "active-icon") &&(noselect = "true");
  404. }
  405. }
  406. })
  407. }
  408. var isExit=false;
  409. activeArr.map(function(v){
  410. if(v.label == data[j].labelCode)isExit =true;
  411. })
  412. if(isExit)disabled = "active-icon" //本来就有的默认高亮
  413. labelhtml +='<li id="'+data[j].labelType+'-'+data[j].labelCode+'" data-code="'+data[j].labelCode+'" data-name="'+data[j].labelName+'" data-noselect="' + noselect + '" class="c-list-li '+disabled+'">'+
  414. '<div><span >'+data[j].labelName+'</span></div>'+
  415. '</li>'
  416. }
  417. if(data[0].labelType==4){
  418. // $(".c-list-add").before(labelhtml);
  419. $("#disease-box4").append(labelhtml);
  420. }
  421. if(data[0].labelType==3){
  422. $("#disease-box3").append(labelhtml);
  423. }
  424. if(data[0].labelType==2){
  425. $("#disease-box2").append(labelhtml);
  426. }
  427. //加载病人标签
  428. if(!isChange){
  429. initPatientData(data[0].labelType);
  430. }
  431. }
  432. function queryFailed(res){
  433. if(res.msg){
  434. mui.toast(res.msg);
  435. }else{
  436. mui.toast("标签加载失败!");
  437. }
  438. }
  439. function addLabelErr(res){
  440. $("#labelinput").select();
  441. if(res.msg){
  442. mui.toast(res.msg);
  443. }else{
  444. mui.toast("标签添加失败!");
  445. }
  446. }
  447. function addPatientLabelErr(res){
  448. $("#labelinput").select();
  449. if(res.msg){
  450. mui.toast(res.msg);
  451. }else{
  452. mui.toast("病人标签添加失败!");
  453. }
  454. }
  455. function refreshHz(){
  456. var page = plus.webview.getWebviewById("huanzhexinxi");
  457. if(page){
  458. mui.fire(page, "refresh1");
  459. }
  460. }
  461. //监听标签值是否有变化
  462. function isValueChange(){
  463. var initTagArr = $(".c-list li.active-icon");
  464. var initTagStr = "";
  465. _.filter(initTagArr,function(item,index){
  466. initTagStr+=$(item).find("span").html()+",";
  467. });
  468. var update = localStorage.getItem('updateService');
  469. var int= setInterval(function() {
  470. var changeTagArr = $(".c-list li.active-icon");
  471. var changeTagStr = "";
  472. _.filter(changeTagArr,function(item,index){
  473. changeTagStr+=$(item).find("span").html()+",";
  474. });
  475. if(initTagStr!=changeTagStr || update){
  476. clearInterval(int);
  477. int = null;
  478. $(".btntrue").removeClass("c-ccc");
  479. }else{
  480. $(".btntrue").addClass("c-ccc");
  481. }
  482. },300);
  483. }
  484. </script>
  485. </body>
  486. </html>