health_control.js 12 KB

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