modify.js 14 KB

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