health_control.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. layui.use('element', function () {
  2. element = layui.element//Tab的切换功能,切换事件监听等,需要依赖element模块
  3. function Progress(dom, num) {
  4. window.setTimeout(function () {
  5. element.progress(dom, num)
  6. }, 360)
  7. }
  8. function showInfoMessage(msg) {
  9. layer.msg(msg, {
  10. icon: 6
  11. })
  12. }
  13. function showErrorMessage(msg) {
  14. layer.msg(msg, {
  15. icon: 5
  16. })
  17. }
  18. function conFirm(msg, num, isStop, planid, getDat) {
  19. layer.confirm('您确定要执行该操作吗?', { btn: ['确定', '取消'], title: "提示" }, function (index) {
  20. if (num == 2) {
  21. showInfoMessage("计划已完成")
  22. $("#stopBtn_" + planid).attr('disabled', true).addClass("falsebutton")
  23. } else {
  24. isStop = num == 0 ? 1 : 0
  25. }
  26. if (isStop == 0) {
  27. $("#progress_" + planid).css({
  28. "background-color": "gray"
  29. })
  30. $("#stopBtn_" + planid).html("激活计划")
  31. $("#stopBtn_" + planid).css({
  32. "background-color": "#2dbe55"
  33. })
  34. } else {
  35. $("#progress_" + planid).css({
  36. "background-color": "#ff9526"
  37. })
  38. $("#stopBtn_" + planid).html("中止计划")
  39. $("#stopBtn_" + planid).css({
  40. "background-color": "#ff3b30"
  41. })
  42. }
  43. console.log(isStop)
  44. var params = {
  45. status: isStop,
  46. planId: planid
  47. }
  48. healthAPI.updatePlanStatusById(params).then(function (res) {
  49. if (res.status == 200) {
  50. getDat()
  51. }
  52. })
  53. layer.close(index);
  54. });
  55. }
  56. new Vue({
  57. el: '#app',
  58. data: {
  59. code: "",
  60. modal: "",
  61. type: "",
  62. status: "",
  63. plan: "",
  64. name: "",
  65. isDanger: "0",
  66. pagesize: 10,
  67. total: "",
  68. pagetotal: '', //总页数
  69. currentPage: 1, //当前页数
  70. tablelist: [],
  71. diseaselist: [],
  72. types: [],
  73. Statics: {},
  74. wujilu: false,
  75. datamodelshow: true,
  76. plantype: 1,
  77. todaylog: 1,
  78. isTotayTodo: 1,
  79. progress: "",
  80. allFinishCount: "",
  81. allCount: "",
  82. planid: "",
  83. isStop: 1, //
  84. isActive: true,
  85. doctorType: "",
  86. docCode: "",
  87. docInfo: [],
  88. isLeader: 0,
  89. planCreateUser: ""
  90. },
  91. watch: {
  92. tablelist: function (val) {
  93. var vm = this
  94. this.$nextTick(function () {
  95. element.init()
  96. for (var i = 0; i < val.length; i++) {
  97. var allFinishCount = val[i].allFinishCount
  98. var allCount = val[i].allCount
  99. var isStop = val[i].status
  100. var ishospitalName = val[i].hospitalName
  101. vm.planCreateUser = val[i].planCreateUser
  102. if (ishospitalName == null) {
  103. $("#hospitalName_" + val[i].id).html("暂无社区信息")
  104. }
  105. if (allCount == 0) {
  106. Progress(val[i].id, 0 + "%")
  107. } else {
  108. var progressNum = Math.ceil((allFinishCount / allCount) * 100)
  109. Progress(val[i].id, progressNum + "%")
  110. }
  111. if (isStop == 0) {
  112. $("#progress_" + val[i].id).css({
  113. "background-color": "gray"
  114. })
  115. $("#stopBtn_" + val[i].id).html("激活计划")
  116. $("#stopBtn_" + val[i].id).css({
  117. "background-color": "#2dbe55"
  118. })
  119. } else {
  120. $("#progress_" + val[i].id).css({
  121. "background-color": "#ff9526"
  122. })
  123. $("#stopBtn_" + val[i].id).html("中止计划")
  124. $("#stopBtn_" + val[i].id).css({
  125. "background-color": "#ff3b30"
  126. })
  127. }
  128. }
  129. var lastColor = 'red';
  130. for (var i = 0; i < val.length; i++) {
  131. if (i == 0) {
  132. $($(".quote")[i]).css("background-color", "#12b7f5")
  133. continue
  134. }
  135. if (val[i].patientName == val[i - 1].patientName) {
  136. $($(".quote")[i]).css("background-color", "#02cfb9")
  137. if (lastColor === 'red') {
  138. $($(".quote")[i]).css("background-color", "#12b7f5")
  139. }
  140. } else {
  141. if (lastColor !== 'red') {
  142. $($(".quote")[i]).css("background-color", "#12b7f5")
  143. lastColor = 'red'
  144. } else {
  145. lastColor = 'white'
  146. $($(".quote")[i]).css("background-color", "#02cfb9")
  147. }
  148. }
  149. }
  150. })
  151. },
  152. },
  153. mounted() {
  154. var vm = this
  155. vm.getDatas()
  156. vm.gettypes()
  157. },
  158. methods: {
  159. setImgSrc: function (src) {
  160. var str = httpRequest.getImgUrl(src)
  161. return str
  162. },
  163. getDatas: function () {
  164. var vm = this
  165. var params = {
  166. patientCondition: vm.name,// 居民条件,可以按身份证或者居民名称模糊匹配
  167. diseaseCode: vm.type, //疾病类型
  168. planType: vm.status, //安排类型(1康复计划,2转社区医院,3转家庭病床)
  169. todaybacklog: vm.isTotayTodo, // 今日待办(1、今日待办,2、全部)
  170. page: vm.currentPage,
  171. pageSize: vm.pagesize,
  172. isDanger: vm.isDanger,
  173. }
  174. healthAPI.getSpecialList(params).then(function (res) {
  175. console.log(res)
  176. if (res.status == 200) {
  177. vm.wujilu = false
  178. vm.total = res.data.totalCount
  179. vm.pagetotal = Math.ceil(res.data.totalCount / vm.pagesize)
  180. vm.tablelist = _.sortBy(res.data.detailModelList, "patientName")
  181. if (vm.tablelist.length == 0) {
  182. vm.wujilu = true
  183. }
  184. vm.docInfo = JSON.parse(window.localStorage.getItem('wlyyAgent'))
  185. vm.doctorType = vm.docInfo.doctorType
  186. if (vm.doctorType != 1) {
  187. $(".neironglef>button:nth-child(1)").attr('disabled', "true")
  188. $(".neironglef>button:nth-child(1)").addClass("falsebutton")
  189. $(".neironglef>button:nth-child(1)").css("color", "white")
  190. }
  191. healthAPI.doctorBaseinfo().then(function (res) {
  192. vm.isLeader = res.data.isLeader//0非团队长 1团队长
  193. vm.level=res.data.level//1专科医生,2全科医生,3健康管理师
  194. vm.planCreateUser //创建者跟登录者相等可中止操作
  195. vm.docCode=res.data.code
  196. for (var i = 0; i < vm.tablelist.length; i++) {
  197. if(vm.docCode!=vm.planCreateUser){
  198. $("#stopBtn_" + vm.tablelist[i].id).attr('disabled', "true")
  199. $("#stopBtn_" + vm.tablelist[i].id).addClass("falsebutton")
  200. }
  201. }
  202. if (vm.isLeader == 0||vm.level != 1) {
  203. $(".neironglef>button:nth-child(2)").attr('disabled', "true")
  204. $(".neironglef>button:nth-child(2)").addClass("falsebutton")
  205. $(".neironglef>button:nth-child(2)").css("color", "white")
  206. }
  207. })
  208. } else {
  209. showErrorMessage(res.msg);
  210. }
  211. })
  212. },
  213. gettypes: function () {
  214. var vm = this
  215. var search = true
  216. $("#Status").bsSuggest({
  217. data: {
  218. value: [{
  219. code: "",
  220. name: "全部"
  221. },
  222. {
  223. code: "1",
  224. name: "康复计划"
  225. },
  226. {
  227. code: "2",
  228. name: "(转)社区医院"
  229. },
  230. {
  231. code: "3",
  232. name: "(转)家庭病床"
  233. }
  234. ]
  235. },
  236. getDataMethod: "data",
  237. effectiveFields: ["name"],
  238. idField: "code",
  239. keyField: "name"
  240. });
  241. healthAPI.getSpecialDisease().then(function (res) {
  242. if (res.status == 200) {
  243. console.log(res)
  244. var data = {}
  245. data.value = _.map(res.data, function (v) {
  246. return {
  247. code: v.code,
  248. name: v.name
  249. }
  250. })
  251. if (search) {
  252. data.value = [{
  253. code: "",
  254. name: "全部"
  255. }].concat(data.value)
  256. }
  257. $("#Type").bsSuggest({
  258. data: data,
  259. getDataMethod: "data",
  260. effectiveFields: ["name"],
  261. idField: "code",
  262. keyField: "name"
  263. });
  264. vm.types = res.data;
  265. } else {
  266. showErrorMessage(res.msg);
  267. }
  268. })
  269. },
  270. search: function (page) {
  271. var vm = this
  272. vm.type = $("#Type").attr("data-id");
  273. vm.status = $("#Status").attr("data-id");
  274. vm.currentPage = page
  275. vm.getDatas()
  276. },
  277. daiban: function (page) {
  278. var vm = this
  279. vm.isTotayTodo = $("#c").prop("checked") ? 2 : 1
  280. $(".icon-chkbox").toggleClass("icon-bgchkbox");
  281. vm.currentPage = page
  282. console.log(vm.currentPage)
  283. vm.getDatas()
  284. },
  285. morePlan: function (data) {
  286. location.href = "moreplan.html?patientCode=" + data.patientCode
  287. },
  288. stop: function (data) {
  289. var vm = this
  290. vm.planid = data.id
  291. conFirm("确定终止该计划吗", data.status, vm.isStop, vm.planid, vm.getDatas)
  292. },
  293. newRecover: function () {
  294. location.href = "../../recover/html/new_recover.html"
  295. },
  296. checkPlan: function (data) {
  297. var vm = this
  298. location.href = "../../rehabilitation/html/rehabilitation_management.html?planId=" + data.id
  299. },
  300. modelControl: function () {
  301. location.href = "../../rehabilitation/html/management.html"
  302. }
  303. }
  304. })
  305. });