modify.js 13 KB

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