modify.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  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. console.log(vm.catchArr)
  135. },
  136. // 健康状况改变
  137. changeJK:function(cls,code,idx){
  138. var vm=this
  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(!cls || cls.indexOf('luck')!==-1) return ;
  160. var types=JSON.parse(JSON.stringify(vm.jblxSelect||{}));
  161. var _index=types.indexOf(code)
  162. console.log(types)
  163. console.log(_index)
  164. if(_index===-1){
  165. vm.jblxSelect.push(code);
  166. vm.jblx[idx].className='active';
  167. }else{
  168. vm.jblxSelect.splice(_index,1);
  169. vm.jblx[idx].className='optional';
  170. }
  171. },
  172. // 团队标签选择取消
  173. changeTD:function(cls,code,idx){3
  174. var vm=this
  175. var types=JSON.parse(JSON.stringify(vm.tdbqSelect||{}));
  176. var _index=types.indexOf(code)
  177. if(_index===-1){
  178. vm.tdbqSelect.push(code);
  179. vm.tdbq[idx].className='active';
  180. }else{
  181. vm.tdbqSelect.splice(_index,1);
  182. vm.tdbq[idx].className='optional';
  183. }
  184. },
  185. getAllLabels:function(){
  186. var vm=this
  187. signAPI.allLabels({teamCode:vm.teamCode}).then(function(res){
  188. if(res.status==200){
  189. _.map(res.data || {},function(item,index){
  190. if(item.labelType==2){
  191. vm.jkqk.push(item)
  192. }else if(item.labelType==3){
  193. vm.jblx.push(item)
  194. }else if(item.labelType==4){
  195. item.className='optional'
  196. vm.tdbq.push(item)
  197. }
  198. })
  199. vm.getPatientLabel();//获取已选择类型(非服务类型)
  200. }
  201. })
  202. },
  203. getSigndict:function(){
  204. var vm=this
  205. signAPI.getSigndict({teamCode:vm.teamCode}).then(function(res){
  206. if(res.status==200){
  207. vm.fwlx=res.data
  208. }
  209. })
  210. },
  211. getPatient:function(){
  212. var vm=this;
  213. var data={
  214. patient:vm.patient
  215. }
  216. signAPI.getPatient(data).then(function(res){
  217. if(res.status==200){
  218. // res.data && (vm.teamCode=res.data.jtAdminTeam);
  219. vm.getAllLabels()
  220. }else{
  221. layer.msg(res.msg, {icon: 5})
  222. }
  223. })
  224. },
  225. getPatientLabel:function(){
  226. var vm=this
  227. var data={
  228. patient:vm.patient
  229. }
  230. signAPI.patientLabel(data).then(function(res){
  231. if(res.status==200){
  232. var data=res.data
  233. if(data.length){
  234. var jkqkSelect=[],jblxSelect=[],tdbqSelect=[]
  235. _.map(data||{},function(item,index){
  236. if(item.labelType==2){
  237. jkqkSelect.push(item)
  238. }else if(item.labelType==3){
  239. jblxSelect.push(item)
  240. }else if(item.labelType==4){
  241. tdbqSelect.push(item)
  242. }
  243. })
  244. vm.jkqkSelect=_.pluck(jkqkSelect,'label')
  245. vm.jblxSelect=_.pluck(jblxSelect,'label')
  246. vm.tdbqSelect=_.pluck(tdbqSelect,'label')
  247. vm.catchArr.heath=JSON.parse(JSON.stringify(vm.jkqkSelect||{}));
  248. vm.catchArr.disease=JSON.parse(JSON.stringify(vm.jblxSelect||{}));
  249. vm.catchArr.team=JSON.parse(JSON.stringify(vm.tdbqSelect||{}));
  250. }
  251. vm.findPatientSignServerBySignCode();
  252. }else{
  253. layer.msg(res.msg, {icon: 5})
  254. }
  255. })
  256. },
  257. // 普通1 老年3 高血4 糖尿5 孕妇6 儿童7 贫困8 计生9 重性10 残疾11 结核12
  258. filterSer() {
  259. var vm=this
  260. var fwlx=JSON.parse(JSON.stringify(vm.fwlx||{}))
  261. vm.jkqk[0] && (vm.jkqk[0].className='optional');
  262. for(var i in fwlx){
  263. for(var j in vm.serverTypes){
  264. if(fwlx[i].code==vm.serverTypes[j]){
  265. fwlx[i].className='active'
  266. }
  267. }
  268. if(fwlx[i].className=='') fwlx[i].className='optional'
  269. if(fwlx[i].className==undefined) fwlx[i].className='optional'
  270. }
  271. _.map(vm.serverTypes, function(item, index) {
  272. var code = item | 0;
  273. var arr=[];
  274. if (code === 1) {
  275. arr = [2, 3, 6, 7, 8, 9, 10]
  276. }
  277. if (code === 3) {
  278. arr = [4, 5]
  279. }
  280. if (code === 4 || code === 5 || code === 9 || code === 10 || code === 11 || code === 12) {
  281. arr = [0]
  282. vm.jkqk[0] && (vm.jkqk[0].className='');
  283. var _index=vm.jkqkSelect && vm.jkqkSelect.indexOf(vm.jkqk[0].labelCode) || -1
  284. _index!==-1 && vm.jkqkSelect.splice(_index,1);
  285. }
  286. if (code === 7) {
  287. arr = [1, 4]
  288. }
  289. if (code === 6) {
  290. arr = [1, 5]
  291. }
  292. _.map(arr, function(it) {
  293. fwlx[it].className=''
  294. })
  295. })
  296. vm.fwlx=fwlx;
  297. vm.filterHea()
  298. },
  299. // 健康1 患病2 高危3 恢复4 未标注0
  300. filterHea() {
  301. var vm=this
  302. var jkqk=JSON.parse(JSON.stringify(vm.jkqk||{}))
  303. _.map(vm.jkqkSelect, function(item, index) {
  304. var code = item | 0
  305. if (code === 1) {
  306. var arr = [1, 6, 7]
  307. _.map(vm.fwlx, function(it, idx) {
  308. if(arr.indexOf(it.code)===-1){
  309. vm.jblx[it].className='';
  310. }
  311. })
  312. vm.jblxSelect=[]
  313. vm.jblx=_.map(vm.jblx,function(it, idx){
  314. it.className='';
  315. return it;
  316. })
  317. }else{
  318. for(var i in vm.jblx){
  319. vm.jblx[i].className=vm.jblx[i].className || 'optional'
  320. }
  321. }
  322. })
  323. for(var i in jkqk){
  324. for(var j in vm.jkqkSelect){
  325. if(jkqk[i].labelCode==vm.jkqkSelect[j]){
  326. if(jkqk[i].className=='luck'){
  327. jkqk[i].className='luck active'
  328. }else{
  329. jkqk[i].className='active'
  330. }
  331. }
  332. }
  333. if(jkqk[i].className==undefined) jkqk[i].className='optional'
  334. }
  335. vm.jkqk=jkqk
  336. vm.filterDea()
  337. },
  338. // 疾病类型
  339. filterDea() {
  340. var vm=this
  341. var jblx=JSON.parse(JSON.stringify(vm.jblx||{}))
  342. _.map(vm.serverTypes, function(item, index) {
  343. var code = item | 0;
  344. if (code === 4) {
  345. jblx[0].className='luck active';
  346. vm.jblxSelect.indexOf('1')===-1 && vm.jblxSelect.push('1')
  347. }
  348. if (code === 5) {
  349. jblx[1].className='luck active';
  350. vm.jblxSelect.indexOf('2')===-1 && vm.jblxSelect.push('2')
  351. }
  352. if (code === 10) {
  353. jblx[10].className='luck active';
  354. vm.jblxSelect.indexOf('10')===-1 && vm.jblxSelect.push('10')
  355. }
  356. if (code === 11) {
  357. jblx[9].className='luck active';
  358. vm.jblxSelect.indexOf('9')===-1 && vm.jblxSelect.push('9')
  359. }
  360. if (code === 12) {
  361. jblx[8].className='luck active';
  362. vm.jblxSelect.indexOf('8')===-1 && vm.jblxSelect.push('8')
  363. }
  364. })
  365. if(vm.jblxSelect && vm.jblxSelect.length){
  366. for(var i in jblx){
  367. for(var j in vm.jblxSelect){
  368. if(jblx[i].labelCode==vm.jblxSelect[j]){
  369. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  370. }else{
  371. if(vm.jblxSelect.indexOf(jblx[i].labelCode)===-1)
  372. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  373. }
  374. }
  375. !vm.jblxSelect.length && (jblx[i].className='optional');
  376. jblx[i].className==undefined && (jblx[i].className='optional');
  377. }
  378. }
  379. vm.jblx=jblx
  380. },
  381. filterTea:function(){
  382. var vm=this
  383. var jblx=vm.tdbq
  384. for(var i in jblx){
  385. for(var j in vm.tdbqSelect){
  386. if(jblx[i].labelCode==vm.tdbqSelect[j]){
  387. jblx[i].className=(jblx[i].className && jblx[i].className!='optional')?jblx[i].className:'active'
  388. }else{
  389. if(vm.tdbqSelect.indexOf(jblx[i].labelCode)===-1)
  390. jblx[i].className && (jblx[i].className.indexOf('luck')!==-1) && jblx[i].className!='optional' && (jblx[i].className='');
  391. }
  392. }
  393. !vm.tdbqSelect.length && (jblx[i].className='optional');
  394. jblx[i].className==undefined && (jblx[i].className='optional');
  395. }
  396. vm.tdbq=jblx
  397. },
  398. },
  399. watch:{
  400. serverTypes:function(val){
  401. this.filterSer()
  402. },
  403. jkqkSelect:function(){
  404. this.filterHea()
  405. },
  406. tdbqSelect:function(){
  407. this.filterTea()
  408. },
  409. catchArr:{
  410. handler(val, oldVal){
  411. console.log(val);//但是这两个值打印出来却都是一样的
  412. },
  413. deep:true
  414. }
  415. }
  416. })
  417. })();