modify.js 14 KB

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