modify.js 14 KB

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