modify.js 13 KB

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