modify.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. var httpData=GetRequest();
  2. (function(){
  3. new Vue({
  4. el:"#app",
  5. data:{
  6. patient:httpData['patient'],
  7. isEdit:false,//团队标签是够可编辑
  8. fwlx:[],//服务类型
  9. serverTypes:[],//已选择服务code
  10. jkqk:[],//健康情况
  11. jkqkSelect:[],//已选择健康情况
  12. jblx:[],//疾病类型
  13. jblxSelect:[],//疾病类型
  14. tdbq:[],//团队标签
  15. tdbqSelect:[],//团队标签
  16. teamCode:httpData['teamCode'],//医生团队code
  17. newLabel:'',//新团队label
  18. },
  19. mounted:function(){
  20. this.getSigndict()
  21. this.getPatient()
  22. },
  23. methods:{
  24. determine:function(){
  25. var res={
  26. server:this.serverTypes,
  27. heath:this.jkqkSelect,
  28. disease:this.jblxSelect,
  29. team:this.tdbqSelect
  30. }
  31. top.handleVue.acceptanceRes(res);
  32. this.closeSelect()
  33. },
  34. closeSelect:function(){
  35. top.$('#layui-layer-shade'+top.changeTypeIndex).hide()
  36. top.$('#layui-layer'+top.changeTypeIndex).hide()
  37. },
  38. // 添加团队label
  39. addTeamLabel:function(){
  40. var vm=this
  41. if(!vm.newLabel) return layer.msg('请输入标签命名', {icon: 5})
  42. var params={
  43. labelName:vm.newLabel,
  44. teamCode:vm.teamCode
  45. }
  46. var loadding = layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
  47. signAPI.addTeamLabel(params).then(function(res){
  48. layer.close(loadding);
  49. if(res.status==200){
  50. res.data[0] && ((res.data[0].className='optional'),vm.tdbq=vm.tdbq.concat(res.data));
  51. vm.isEdit=false;
  52. vm.newLabel='';
  53. }else{
  54. layer.msg(res.msg, {icon: 5})
  55. }
  56. })
  57. },
  58. // 服务类型改变
  59. changeFW:function(cls,code,idx){
  60. var vm=this
  61. if(!cls || cls.indexOf('luck')!==-1) return ;
  62. var types=JSON.parse(JSON.stringify(vm.serverTypes));
  63. var _index=types.indexOf(code)
  64. if(_index===-1){
  65. vm.serverTypes.push(code);
  66. vm.fwlx[idx].className='active';
  67. }else{
  68. vm.serverTypes.splice(_index,1);
  69. var __index=-1
  70. if (code == 4) {
  71. vm.jblx[0].className='optional';
  72. (__index=vm.jblxSelect.indexOf('1'))!==-1 && vm.jblxSelect.splice(__index,1)
  73. }
  74. if (code == 5) {
  75. vm.jblx[1].className='optional';
  76. (__index=vm.jblxSelect.indexOf('2'))!==-1 && vm.jblxSelect.splice(__index,1)
  77. }
  78. if (code == 10) {
  79. vm.jblx[10].className='optional';
  80. (__index=vm.jblxSelect.indexOf('10'))!==-1 && vm.jblxSelect.splice(__index,1)
  81. }
  82. if (code == 11) {
  83. vm.jblx[9].className='optional';
  84. (__index=vm.jblxSelect.indexOf('9'))!==-1 && vm.jblxSelect.splice(__index,1)
  85. }
  86. if (code == 12) {
  87. vm.jblx[8].className='optional';
  88. (__index=vm.jblxSelect.indexOf('8'))!==-1 && vm.jblxSelect.splice(__index,1)
  89. }
  90. vm.fwlx[idx].className='optional';
  91. }
  92. },
  93. // 健康状况改变
  94. changeJK:function(cls,code,idx){
  95. var vm=this
  96. if(!cls || cls.indexOf('luck')!==-1) return ;
  97. var types=JSON.parse(JSON.stringify(vm.jkqkSelect));
  98. var _index=types.indexOf(code)
  99. if(_index===-1){
  100. for(var i in vm.jkqk){
  101. if(vm.jkqk[i].labelCode==vm.jkqkSelect[0]){
  102. vm.jkqk[i].className='optional';
  103. break
  104. }
  105. }
  106. vm.jkqkSelect=new Array(code);
  107. vm.jkqk[idx].className='active';
  108. }else{
  109. vm.jkqkSelect.splice(_index,1);
  110. vm.jkqk[idx].className='optional';
  111. }
  112. },
  113. // 疾病类型改变
  114. changeJB:function(cls,code,idx){
  115. var vm=this
  116. if(!cls || cls.indexOf('luck')!==-1) return ;
  117. var types=JSON.parse(JSON.stringify(vm.jblxSelect));
  118. var _index=types.indexOf(code)
  119. console.log(types)
  120. console.log(_index)
  121. if(_index===-1){
  122. vm.jblxSelect.push(code);
  123. vm.jblx[idx].className='active';
  124. }else{
  125. vm.jblxSelect.splice(_index,1);
  126. vm.jblx[idx].className='optional';
  127. }
  128. },
  129. // 团队标签选择取消
  130. changeTD:function(cls,code,idx){3
  131. var vm=this
  132. var types=JSON.parse(JSON.stringify(vm.tdbqSelect));
  133. var _index=types.indexOf(code)
  134. if(_index===-1){
  135. vm.tdbqSelect.push(code);
  136. vm.tdbq[idx].className='active';
  137. }else{
  138. vm.tdbqSelect.splice(_index,1);
  139. vm.tdbq[idx].className='optional';
  140. }
  141. },
  142. getAllLabels:function(types){
  143. var vm=this
  144. signAPI.allLabels({teamCode:vm.teamCode}).then(function(res){
  145. if(res.status==200){
  146. _.map(res.data || {},function(item,index){
  147. if(item.labelType==2){
  148. vm.jkqk.push(item)
  149. }else if(item.labelType==3){
  150. vm.jblx.push(item)
  151. }else if(item.labelType==4){
  152. item.className='optional'
  153. vm.tdbq.push(item)
  154. }
  155. })
  156. vm.getPatientLabel(types);//获取已选择类型(非服务类型)
  157. }
  158. })
  159. },
  160. getSigndict:function(){
  161. var vm=this
  162. signAPI.getSigndict({teamCode:vm.teamCode}).then(function(res){
  163. if(res.status==200){
  164. vm.fwlx=res.data
  165. // vm.filterSer()
  166. }
  167. })
  168. },
  169. getPatient:function(){
  170. var vm=this;
  171. var data={
  172. patient:vm.patient
  173. }
  174. signAPI.getPatient(data).then(function(res){
  175. if(res.status==200){
  176. var _typss=_.pluck(res.data.serverTypes || [],'server_type')
  177. // res.data && (vm.teamCode=res.data.jtAdminTeam);
  178. vm.getAllLabels(_typss)
  179. }else{
  180. layer.msg(res.msg, {icon: 5})
  181. }
  182. })
  183. },
  184. getPatientLabel:function(types){
  185. var vm=this
  186. var data={
  187. patient:vm.patient
  188. }
  189. signAPI.patientLabel(data).then(function(res){
  190. if(res.status==200){
  191. var data=res.data
  192. if(data.length){
  193. var jkqkSelect=[],jblxSelect=[],tdbqSelect=[]
  194. _.map(data||{},function(item,index){
  195. if(item.labelType==2){
  196. jkqkSelect.push(item)
  197. }else if(item.labelType==3){
  198. jblxSelect.push(item)
  199. }else if(item.labelType==4){
  200. tdbqSelect.push(item)
  201. }
  202. })
  203. vm.jkqkSelect=_.pluck(jkqkSelect,'label')
  204. vm.jblxSelect=_.pluck(jblxSelect,'label')
  205. vm.tdbqSelect=_.pluck(tdbqSelect,'label')
  206. setTimeout(function(){
  207. vm.serverTypes = types;//过滤时防止其他标签未加载完成就计算
  208. },100/60)
  209. }
  210. }else{
  211. layer.msg(res.msg, {icon: 5})
  212. }
  213. })
  214. },
  215. // 普通1 老年3 高血4 糖尿5 孕妇6 儿童7 贫困8 计生9 重性10 残疾11 结核12
  216. filterSer() {
  217. var vm=this
  218. var fwlx=JSON.parse(JSON.stringify(vm.fwlx))
  219. vm.jkqk[0] && (vm.jkqk[0].className='optional');
  220. for(var i in fwlx){
  221. for(var j in vm.serverTypes){
  222. if(fwlx[i].code==vm.serverTypes[j]){
  223. fwlx[i].className='active'
  224. }
  225. }
  226. if(fwlx[i].className==undefined) fwlx[i].className='optional'
  227. }
  228. _.map(vm.serverTypes, function(item, index) {
  229. var code = item | 0;
  230. var arr=[];
  231. if (code === 1) {
  232. arr = [2, 3, 6, 7, 8, 9, 10]
  233. }
  234. if (code === 3) {
  235. arr = [4, 5]
  236. }
  237. if (code === 4 || code === 5 || code === 9 || code === 10 || code === 11 || code === 12) {
  238. arr = [0]
  239. vm.jkqk[0] && (vm.jkqk[0].className='');
  240. }
  241. if (code === 7) {
  242. arr = [1, 4]
  243. }
  244. if (code === 6) {
  245. arr = [1, 5]
  246. }
  247. _.map(arr, function(it) {
  248. fwlx[it].className=''
  249. })
  250. })
  251. vm.fwlx=fwlx;
  252. vm.filterHea()
  253. },
  254. // 健康1 患病2 高危3 恢复4 未标注0
  255. filterHea() {
  256. var vm=this
  257. var jkqk=JSON.parse(JSON.stringify(vm.jkqk))
  258. _.map(vm.jkqkSelect, function(item, index) {
  259. var code = item | 0
  260. if (code === 1) {
  261. var arr = [1, 2, 3]
  262. _.map(arr, function(it, idx) {
  263. vm.jblx[it].className='';
  264. })
  265. vm.jblxSelect=[]
  266. vm.jblx=_.map(vm.jblx,function(it, idx){
  267. it.className='';
  268. return it;
  269. })
  270. }else{
  271. for(var i in vm.jblx){
  272. vm.jblx[i].className=vm.jblx[i].className || 'optional'
  273. }
  274. }
  275. })
  276. for(var i in jkqk){
  277. for(var j in vm.jkqkSelect){
  278. if(jkqk[i].labelCode==vm.jkqkSelect[j]){
  279. if(jkqk[i].className=='luck'){
  280. jkqk[i].className='luck active'
  281. }else{
  282. jkqk[i].className='active'
  283. }
  284. }
  285. }
  286. if(jkqk[i].className==undefined) jkqk[i].className='optional'
  287. }
  288. vm.jkqk=jkqk
  289. vm.filterDea()
  290. },
  291. // 疾病类型
  292. filterDea() {
  293. var vm=this
  294. var jblx=JSON.parse(JSON.stringify(vm.jblx))
  295. _.map(vm.serverTypes, function(item, index) {
  296. var code = item | 0;
  297. if (code === 4) {
  298. jblx[0].className='luck active';
  299. vm.jblxSelect.indexOf('1')===-1 && vm.jblxSelect.push('1')
  300. }
  301. if (code === 5) {
  302. jblx[1].className='luck active';
  303. vm.jblxSelect.indexOf('2')===-1 && vm.jblxSelect.push('2')
  304. }
  305. if (code === 10) {
  306. jblx[10].className='luck active';
  307. vm.jblxSelect.indexOf('10')===-1 && vm.jblxSelect.push('10')
  308. }
  309. if (code === 11) {
  310. jblx[9].className='luck active';
  311. vm.jblxSelect.indexOf('9')===-1 && vm.jblxSelect.push('9')
  312. }
  313. if (code === 12) {
  314. jblx[8].className='luck active';
  315. vm.jblxSelect.indexOf('8')===-1 && vm.jblxSelect.push('8')
  316. }
  317. })
  318. if(vm.jblxSelect && vm.jblxSelect.length){
  319. for(var i in jblx){
  320. for(var j in vm.jblxSelect){
  321. if(jblx[i].labelCode==vm.jblxSelect[j]){
  322. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  323. }else{
  324. if(vm.jblxSelect.indexOf(jblx[i].labelCode)===-1)
  325. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  326. }
  327. }
  328. !vm.jblxSelect.length && (jblx[i].className='optional');
  329. jblx[i].className==undefined && (jblx[i].className='optional');
  330. }
  331. }
  332. vm.jblx=jblx
  333. },
  334. filterTea:function(){
  335. var vm=this
  336. var jblx=vm.tdbq
  337. for(var i in jblx){
  338. for(var j in vm.tdbqSelect){
  339. if(jblx[i].labelCode==vm.tdbqSelect[j]){
  340. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  341. }else{
  342. if(vm.tdbqSelect.indexOf(jblx[i].labelCode)===-1)
  343. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  344. }
  345. }
  346. !vm.tdbqSelect.length && (jblx[i].className='optional');
  347. jblx[i].className==undefined && (jblx[i].className='optional');
  348. }
  349. vm.tdbq=jblx
  350. },
  351. },
  352. watch:{
  353. serverTypes:function(val){
  354. this.filterSer()
  355. },
  356. jkqkSelect:function(){
  357. this.filterHea()
  358. },
  359. tdbqSelect:function(){
  360. this.filterTea()
  361. }
  362. }
  363. })
  364. })();