modify.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. var httpData=GetRequest();
  2. (function(){
  3. top.xgLabel=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. signCode:httpData['signCode'],//签约code
  18. newLabel:'',//新团队label
  19. catchArr:{}
  20. },
  21. mounted:function(){
  22. this.getSigndict()
  23. this.getAllLabels()
  24. top.vvm = this
  25. },
  26. methods:{
  27. initPage:function(){
  28. this.serverTypes=JSON.parse(JSON.stringify(this.catchArr.server||{}));
  29. this.jkqkSelect=JSON.parse(JSON.stringify(this.catchArr.heath||{}));
  30. this.jblxSelect=JSON.parse(JSON.stringify(this.catchArr.disease||{}));
  31. this.tdbqSelect=JSON.parse(JSON.stringify(this.catchArr.team||{}));
  32. },
  33. determine:function(){
  34. var vm=this
  35. if(this.serverTypes==''){
  36. layer.msg('请选择服务类型', {icon: 5})
  37. return ;
  38. }
  39. if(this.jkqkSelect==''){
  40. layer.msg('请选择健康情况', {icon: 5})
  41. return ;
  42. }
  43. var fwlx=[];
  44. var checkRule=['active','luck'];
  45. _.map(vm.fwlx,function(item){
  46. for(var i in checkRule){
  47. if(item.className.indexOf(checkRule[i])!==-1){
  48. fwlx.push(item.code);
  49. }
  50. }
  51. })
  52. var jkqk=[];
  53. var checkRule=['active','luck'];
  54. _.map(vm.jkqk,function(item){
  55. for(var i in checkRule){
  56. if(item.className.indexOf(checkRule[i])!==-1){
  57. jkqk.push(item.labelCode);
  58. }
  59. }
  60. })
  61. var jblx=[];
  62. var checkRule=['active','luck'];
  63. _.map(vm.jblx,function(item){
  64. for(var i in checkRule){
  65. if(item.className.indexOf(checkRule[i])!==-1){
  66. jblx.push(item.labelCode);
  67. }
  68. }
  69. })
  70. var res={
  71. server:fwlx,
  72. heath:jkqk,
  73. disease:jblx,
  74. team:this.tdbqSelect
  75. }
  76. vm.catchArr=JSON.parse(JSON.stringify(res||{}));
  77. top.handleVue.acceptanceRes(res);
  78. this.closeSelect()
  79. },
  80. close:function(){
  81. console.log(this.catchArr)
  82. console.log('我进来了')
  83. this.serverTypes=JSON.parse(JSON.stringify(this.catchArr.server||{}))
  84. this.jkqkSelect=JSON.parse(JSON.stringify(this.catchArr.heath||{}))
  85. this.jblxSelect=JSON.parse(JSON.stringify(this.catchArr.disease||{}))
  86. this.tdbqSelect=JSON.parse(JSON.stringify(this.catchArr.team||{}))
  87. this.closeSelect()
  88. },
  89. closeSelect:function(){
  90. top.$('#layui-layer-shade'+top.changeTypeIndex).hide()
  91. top.$('#layui-layer'+top.changeTypeIndex).hide()
  92. },
  93. findPatientSignServerBySignCode:function(){
  94. var vm=this
  95. var params={
  96. signCode:vm.signCode
  97. }
  98. signAPI.findPatientSignServerBySignCode(params).then(function(res){
  99. if(res.status==200){
  100. var _typss=_.pluck(res.data || [],'serverType')
  101. vm.serverTypes=JSON.stringify(_typss)=='[]'?['1']:_typss
  102. vm.catchArr.server= [].concat(_typss)
  103. }
  104. })
  105. },
  106. // 添加团队label
  107. addTeamLabel:function(){
  108. var vm=this
  109. if(!vm.newLabel) return layer.msg('请输入标签命名', {icon: 5})
  110. var params={
  111. labelName:vm.newLabel,
  112. teamCode:vm.teamCode
  113. }
  114. var loadding = layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
  115. signAPI.addTeamLabel(params).then(function(res){
  116. layer.close(loadding);
  117. if(res.status==200){
  118. res.data[0] && ((res.data[0].className='optional'),vm.tdbq=vm.tdbq.concat(res.data));
  119. vm.isEdit=false;
  120. vm.newLabel='';
  121. }else{
  122. layer.msg(res.msg, {icon: 5})
  123. }
  124. })
  125. },
  126. // 服务类型改变
  127. changeFW:function(cls,code,idx){
  128. var vm=this
  129. if(!cls || cls.indexOf('luck')!==-1) return ;
  130. var types=JSON.parse(JSON.stringify(vm.serverTypes||{}));
  131. var _index=types.indexOf(code)
  132. console.log(code)
  133. if(_index===-1){
  134. vm.serverTypes.push(code);
  135. vm.fwlx[idx].className='active';
  136. }else{
  137. vm.serverTypes.splice(_index,1);
  138. var __index=-1
  139. if (code == 4) {
  140. vm.jblx[0].className='optional';
  141. (__index=vm.jblxSelect.indexOf('1'))!==-1 && vm.jblxSelect.splice(__index,1)
  142. }
  143. if (code == 5) {
  144. vm.jblx[1].className='optional';
  145. (__index=vm.jblxSelect.indexOf('2'))!==-1 && vm.jblxSelect.splice(__index,1)
  146. }
  147. if (code == 10) {
  148. vm.jblx[10].className='optional';
  149. (__index=vm.jblxSelect.indexOf('10'))!==-1 && vm.jblxSelect.splice(__index,1)
  150. }
  151. if (code == 11) {
  152. vm.jblx[9].className='optional';
  153. (__index=vm.jblxSelect.indexOf('9'))!==-1 && vm.jblxSelect.splice(__index,1)
  154. }
  155. if (code == 12) {
  156. vm.jblx[8].className='optional';
  157. (__index=vm.jblxSelect.indexOf('8'))!==-1 && vm.jblxSelect.splice(__index,1)
  158. }
  159. vm.fwlx[idx].className='optional';
  160. }
  161. },
  162. // 健康状况改变
  163. changeJK:function(cls,code,idx){
  164. var vm=this
  165. if(vm.serverTypes=='') return layer.msg('请先选择服务类型', {icon: 5})
  166. if(!cls || cls.indexOf('luck')!==-1) return ;
  167. var types=JSON.parse(JSON.stringify(vm.jkqkSelect||{}));
  168. var _index=types.indexOf(code)
  169. if(_index===-1){
  170. for(var i in vm.jkqk){
  171. if(vm.jkqk[i].labelCode==vm.jkqkSelect[0]){
  172. vm.jkqk[i].className='optional';
  173. break
  174. }
  175. }
  176. vm.jkqkSelect=new Array(code);
  177. vm.jkqk[idx].className='active';
  178. }else{
  179. vm.jkqkSelect.splice(_index,1);
  180. vm.jkqk[idx].className='optional';
  181. }
  182. },
  183. // 疾病类型改变
  184. changeJB:function(cls,code,idx){
  185. var vm=this
  186. if(vm.jkqkSelect=='') return layer.msg('请先选择健康情况', {icon: 5})
  187. if(!cls || cls.indexOf('luck')!==-1) return ;
  188. var types=JSON.parse(JSON.stringify(vm.jblxSelect||{}));
  189. var _index=types.indexOf(code)
  190. console.log(types)
  191. console.log(_index)
  192. if(_index===-1){
  193. vm.jblxSelect.push(code);
  194. vm.jblx[idx].className='active';
  195. }else{
  196. vm.jblxSelect.splice(_index,1);
  197. vm.jblx[idx].className='optional';
  198. }
  199. },
  200. // 团队标签选择取消
  201. changeTD:function(cls,code,idx){3
  202. var vm=this
  203. var types=JSON.parse(JSON.stringify(vm.tdbqSelect||{}));
  204. var _index=types.indexOf(code)
  205. if(_index===-1){
  206. vm.tdbqSelect.push(code);
  207. vm.tdbq[idx].className='active';
  208. }else{
  209. vm.tdbqSelect.splice(_index,1);
  210. vm.tdbq[idx].className='optional';
  211. }
  212. },
  213. getAllLabels:function(){
  214. var vm=this
  215. signAPI.allLabels({teamCode:vm.teamCode}).then(function(res){
  216. if(res.status==200){
  217. _.map(res.data || {},function(item,index){
  218. if(item.labelType==2){
  219. vm.jkqk.push(item)
  220. }else if(item.labelType==3){
  221. vm.jblx.push(item)
  222. }else if(item.labelType==4){
  223. item.className='optional'
  224. vm.tdbq.push(item)
  225. }
  226. })
  227. vm.getPatientLabel();//获取已选择类型(非服务类型)
  228. }
  229. })
  230. },
  231. getSigndict:function(){
  232. var vm=this
  233. signAPI.getSigndict({teamCode:vm.teamCode}).then(function(res){
  234. if(res.status==200){
  235. vm.fwlx=res.data
  236. }
  237. })
  238. },
  239. getPatient:function(){
  240. var vm=this;
  241. var data={
  242. patient:vm.patient
  243. }
  244. signAPI.getPatient(data).then(function(res){
  245. if(res.status==200){
  246. // res.data && (vm.teamCode=res.data.jtAdminTeam);
  247. vm.getAllLabels()
  248. }else{
  249. layer.msg(res.msg, {icon: 5})
  250. }
  251. })
  252. },
  253. getPatientLabel:function(){
  254. var vm=this
  255. var data={
  256. patient:vm.patient
  257. }
  258. signAPI.patientLabel(data).then(function(res){
  259. if(res.status==200){
  260. var data=res.data
  261. if(data.length){
  262. var jkqkSelect=[],jblxSelect=[],tdbqSelect=[]
  263. _.map(data||{},function(item,index){
  264. if(item.labelType==2){
  265. jkqkSelect.push(item)
  266. }else if(item.labelType==3){
  267. jblxSelect.push(item)
  268. }else if(item.labelType==4){
  269. tdbqSelect.push(item)
  270. }
  271. })
  272. vm.jkqkSelect=_.pluck(jkqkSelect,'label')
  273. vm.jblxSelect=_.pluck(jblxSelect,'label')
  274. vm.tdbqSelect=_.pluck(tdbqSelect,'label')
  275. vm.catchArr.heath=JSON.parse(JSON.stringify(vm.jkqkSelect||{}));
  276. vm.catchArr.disease=JSON.parse(JSON.stringify(vm.jblxSelect||{}));
  277. vm.catchArr.team=JSON.parse(JSON.stringify(vm.tdbqSelect||{}));
  278. }
  279. vm.findPatientSignServerBySignCode();
  280. }else{
  281. layer.msg(res.msg, {icon: 5})
  282. }
  283. })
  284. },
  285. // 普通1 老年3 高血4 糖尿5 孕妇6 儿童7 贫困8 计生9 重性10 残疾11 结核12
  286. filterSer() {
  287. var vm=this
  288. var fwlx=JSON.parse(JSON.stringify(vm.fwlx||{}))
  289. vm.jkqk[0] && (vm.jkqk[0].className='optional');
  290. for(var i in fwlx){
  291. for(var j in vm.serverTypes){
  292. if(fwlx[i].code==vm.serverTypes[j]){
  293. fwlx[i].className='active'
  294. }
  295. }
  296. if(fwlx[i].className=='') fwlx[i].className='optional'
  297. if(fwlx[i].className==undefined) fwlx[i].className='optional'
  298. }
  299. _.map(vm.serverTypes, function(item, index) {
  300. var code = item | 0;
  301. var arr=[];
  302. if (code === 1) {
  303. arr = [2, 3, 6, 8,9, 10]
  304. }
  305. if (code === 3) {
  306. arr = [4, 5]
  307. }
  308. if (code === 4 || code === 5 || code === 10 || code === 11 || code === 12) {
  309. arr = [0]
  310. vm.jkqk[0] && (vm.jkqk[0].className='');
  311. }
  312. if (code === 7) {
  313. arr = [1, 4]
  314. }
  315. if (code === 8) {
  316. arr = [0]
  317. }
  318. if (code === 6) {
  319. arr = [1, 5]
  320. }
  321. _.map(arr, function(it) {
  322. fwlx[it].className=''
  323. })
  324. })
  325. vm.fwlx=fwlx;
  326. vm.filterHea()
  327. },
  328. // 健康1 患病2 高危3 恢复4 未标注0
  329. filterHea() {
  330. var vm=this
  331. var jkqk=JSON.parse(JSON.stringify(vm.jkqk||{}))
  332. _.map(vm.jkqkSelect, function(item, index) {
  333. var code = item | 0
  334. if (code === 1) {
  335. _.map(vm.fwlx, function(it, idx) {
  336. var arr1 = [1,3, 6, 7,8,9]
  337. var icode=it.code | 0
  338. if(arr1.indexOf(icode)===-1){
  339. vm.fwlx[idx].className='';
  340. }
  341. })
  342. vm.jblxSelect=[]
  343. vm.jblx=_.map(vm.jblx,function(it, idx){
  344. it.className='';
  345. return it;
  346. })
  347. }else{
  348. for(var i in vm.jblx){
  349. vm.jblx[i].className=vm.jblx[i].className || 'optional'
  350. }
  351. }
  352. })
  353. for(var i in jkqk){
  354. for(var j in vm.jkqkSelect){
  355. if(jkqk[i].labelCode==vm.jkqkSelect[j]){
  356. if(jkqk[i].className=='luck'){
  357. jkqk[i].className='luck active'
  358. }else{
  359. jkqk[i].className='active'
  360. }
  361. }
  362. }
  363. if(jkqk[i].className==undefined) jkqk[i].className='optional'
  364. }
  365. vm.jkqk=jkqk
  366. vm.filterDea()
  367. },
  368. // 疾病类型
  369. filterDea() {
  370. var vm=this
  371. var jblx=JSON.parse(JSON.stringify(vm.jblx||{}))
  372. _.map(vm.serverTypes, function(item, index) {
  373. var code = item | 0;
  374. if (code === 4) {
  375. jblx[0].className='luck active';
  376. vm.jblxSelect.indexOf('1')===-1 && vm.jblxSelect.push('1')
  377. }
  378. if (code === 5) {
  379. jblx[1].className='luck active';
  380. vm.jblxSelect.indexOf('2')===-1 && vm.jblxSelect.push('2')
  381. }
  382. if (code === 10) {
  383. jblx[10].className='luck active';
  384. vm.jblxSelect.indexOf('10')===-1 && vm.jblxSelect.push('10')
  385. }
  386. if (code === 11) {
  387. jblx[9].className='luck active';
  388. vm.jblxSelect.indexOf('9')===-1 && vm.jblxSelect.push('9')
  389. }
  390. if (code === 12) {
  391. jblx[8].className='luck active';
  392. vm.jblxSelect.indexOf('8')===-1 && vm.jblxSelect.push('8')
  393. }
  394. })
  395. if(vm.jblxSelect && vm.jblxSelect.length){
  396. for(var i in jblx){
  397. for(var j in vm.jblxSelect){
  398. if(jblx[i].labelCode==vm.jblxSelect[j]){
  399. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  400. }else{
  401. if(vm.jblxSelect.indexOf(jblx[i].labelCode)===-1)
  402. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  403. }
  404. }
  405. !vm.jblxSelect.length && (jblx[i].className='optional');
  406. jblx[i].className==undefined && (jblx[i].className='optional');
  407. }
  408. }
  409. vm.jblx=jblx
  410. },
  411. filterTea:function(){
  412. var vm=this
  413. var jblx=vm.tdbq
  414. for(var i in jblx){
  415. for(var j in vm.tdbqSelect){
  416. if(jblx[i].labelCode==vm.tdbqSelect[j]){
  417. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  418. }else{
  419. if(vm.tdbqSelect.indexOf(jblx[i].labelCode)===-1)
  420. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  421. }
  422. }
  423. !vm.tdbqSelect.length && (jblx[i].className='optional');
  424. jblx[i].className==undefined && (jblx[i].className='optional');
  425. }
  426. vm.tdbq=jblx
  427. },
  428. },
  429. watch:{
  430. serverTypes:function(val){
  431. this.filterSer()
  432. },
  433. jkqkSelect:function(){
  434. this.filterHea()
  435. },
  436. tdbqSelect:function(){
  437. this.filterTea()
  438. },
  439. catchArr:{
  440. handler(val, oldVal){
  441. console.log(val);//但是这两个值打印出来却都是一样的
  442. },
  443. deep:true
  444. }
  445. }
  446. })
  447. })();