health_control.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <link rel="shortcut icon" href="../../../favicon.ico">
  9. <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.min.css" />
  10. <link rel="stylesheet" href="../../../css/font-awesome.min.css">
  11. <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
  12. <link rel="stylesheet" type="text/css" href="../../../css/cross.ui.css" />
  13. <link rel="stylesheet" type="text/css" href="../../../css/form.ui.css" />
  14. <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
  15. <link rel="stylesheet" href="../../../css/cross-searchui.css">
  16. <link rel="stylesheet" href="../../../plugins/layui-v2.3.0/layui/css/layui.css">
  17. <link rel="stylesheet" href="../css/health_control.css">
  18. </head>
  19. <body>
  20. <div id="app" v-cloak>
  21. <div class="re-title no-select">
  22. <div class="name">康复管理</div>
  23. </div>
  24. <!-- 内容 -->
  25. <div class="neirong1 flex-box">
  26. <div class="neirongrigh flex-box">
  27. <div class="dataCell form-group listform-sel-bor">
  28. <div class="w160 inline c-vam">
  29. <div class="input-group">
  30. <input id="Type" placeholder="请选择疾病类型" type="text" class="form-control bgc-fff" name="Type" readonly="readonly">
  31. <div class="input-group-btn">
  32. <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  33. <span class="caret"></span>
  34. </button>
  35. <ul class="dropdown-menu dropdown-menu-right">
  36. </ul>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. <div class="dataCell form-group listform-sel-bor" style="margin-left:20px;">
  42. <div class="w160 inline c-vam">
  43. <div class="input-group">
  44. <input id="Status" placeholder="请选择安排类型" type="text" class="form-control" name="Status" readonly="readonly">
  45. <div class="input-group-btn">
  46. <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  47. <span class="caret"></span>
  48. </button>
  49. <ul class="dropdown-menu dropdown-menu-right">
  50. </ul>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="c-ser-div">
  56. <div class="c-ser-main">
  57. <input type="text" class="c-ser-input" placeholder="请输入患者姓名" data-form="clear" v-model="name" />
  58. </div>
  59. </div>
  60. <div class="c-ser-btn" id="queryBtn" @click="search(1)">
  61. <a href="javascript:;">搜索</a>
  62. </div>
  63. </div>
  64. <label class="checkbox all-checkbox">
  65. <input type="checkbox" name="tags" class="c-hide" value="1" id="c" @click="daiban()">
  66. <i class="icon-chkbox"></i>
  67. 今日代办
  68. </label>
  69. <div class="neironglef">
  70. <button>新康复安排</button>
  71. <button>模版管理</button>
  72. </div>
  73. </div>
  74. <div class="neirong2">
  75. <ul class="c-blocks-3 ul">
  76. <li>患者信息</li>
  77. <li>医生及计划信息</li>
  78. <li>操作</li>
  79. </ul>
  80. <!-- table -->
  81. <table class="data table">
  82. <tr v-if="!wujilu" v-for="(data, index) in tablelist" class="datas">
  83. <td>
  84. <div class="all flex-box">
  85. <div class="dataa flex-box">
  86. <div :class="{ quote: isActive}"></div>
  87. <img src="../images/p-male.png" width="40" height="40" class="c-images-cycle" />
  88. <p class="xinxi">
  89. <span>{{data.patientName}}
  90. </span>({{data.sex}}&nbsp;{{data.age}}岁)
  91. <br>{{data.hospitalName}}</p>
  92. <p class="biaoqian">
  93. <span></span>{{data.healthyCondition}}</p>
  94. </div>
  95. <div class="datab flex-box">
  96. <p>{{data.planTypeName}}</p>
  97. <div class="layui-progress layui-progress-big" :lay-filter="data.id" lay-showpercent="true">
  98. <div class="layui-progress-bar" lay-percent="">
  99. </div>
  100. </div>
  101. <span class="cgre">{{data.allFinishCount}}/</span>
  102. <span class="cgre">{{data.allCount}}</span>
  103. <p class="cred">今日代办:
  104. <span>{{data.todayBacklogCount}}</span>
  105. </p>
  106. <p class="cgre margin-10">已完成:
  107. <span>{{data.finishedCount}}</span>
  108. </p>
  109. <p class="cgre">未完成:
  110. <span>{{data.unfinishedCount}}</span>
  111. </p>
  112. </div>
  113. <div class="datad flex-box">
  114. <button @click="morePlan(data)">
  115. <a href="javascript: void(0)">更多计划</a>
  116. </button>
  117. <button @click="checkPlan(data)">
  118. <a href="javascript: void(0)">查看计划</a>
  119. </button>
  120. <button class="" @click="Stop(data)" id="button_id">终止计划</button>
  121. </div>
  122. </div>
  123. </td>
  124. </tr>
  125. <tr v-if="wujilu">
  126. <td>
  127. <div class="nodata all" style="line-height: 60px;">
  128. 无记录
  129. </div>
  130. </td>
  131. </tr>
  132. </table>
  133. <navigation :pages="pagetotal" :current="currentPage" @navpage="search" :total="total" :size="pagesize"></navigation>
  134. </div>
  135. </div>
  136. <script type="text/javascript" src="../../../js/vue.js"></script>
  137. <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
  138. <script type="text/javascript" src="../../../js/cross.ui.js"></script>
  139. <script src="../../../plugins/layer/layer.min.js"></script>
  140. <script type="text/javascript" src="../../../plugins/layui-v2.3.0/layui/layui.js"></script>
  141. <script src="../../../component/common/pagination.js"></script>
  142. <script src="../../../plugins/suggest/bootstrap-suggest.min.js"></script>
  143. <script src="../../../js/underscore.js"></script>
  144. <script src="../../../api/http-request.js"></script>
  145. <script src="../../../api/healthy-control-api.js"></script>
  146. <script>
  147. layui.use('element', function () {
  148. // var $ = layui.jquery
  149. element = layui.element//Tab的切换功能,切换事件监听等,需要依赖element模块
  150. function Progress(dom, num) {
  151. window.setTimeout(function () {
  152. element.progress(dom, num)
  153. }, 360)
  154. }
  155. function showInfoMessage(msg) {
  156. layer.msg(msg, {
  157. icon: 6
  158. })
  159. }
  160. function showErrorMessage(msg) {
  161. layer.msg(msg, {
  162. icon: 5
  163. })
  164. }
  165. function ConFirm(msg, num, isStop, planid, getDat) {
  166. layer.confirm('您确定要执行该操作吗?', { btn: ['确定', '取消'], title: "提示" }, function (index) {
  167. if (num == 2) {
  168. showInfoMessage("计划已完成")
  169. $("#button_id").attr('disabled', true).addClass("falsebutton")
  170. } else {
  171. isStop = num == 0 ? 1 : 0
  172. }
  173. var params = {
  174. status: isStop,
  175. planId: planid
  176. }
  177. healthAPI.updatePlanStatusById(params).then(function (res) {
  178. if (res.status == 200) {
  179. getDat()
  180. }
  181. })
  182. layer.close(index);
  183. });
  184. }
  185. new Vue({
  186. el: '#app',
  187. data: {
  188. code: "",
  189. modal: "",
  190. type: "",
  191. status: "",
  192. plan: "",
  193. name: "",
  194. isDanger: "0",
  195. pagesize: 10,
  196. total: "",
  197. pagetotal: '', //总页数
  198. currentPage: 1, //当前页数
  199. tablelist: [],
  200. diseaselist: [],
  201. types: [],
  202. Statics: {},
  203. wujilu: false,
  204. datamodelshow: true,
  205. plantype: 1,
  206. todaylog: 1,
  207. isTotayTodo: 1,
  208. progress: "",
  209. allFinishCount: "",
  210. allCount: "",
  211. planid: "",
  212. isStop: 1, //
  213. isActive:true
  214. },
  215. watch: {
  216. tablelist: function (val) {
  217. var vm = this
  218. this.$nextTick(function () {
  219. element.init()
  220. for (var i = 0; i < val.length; i++) {
  221. var allFinishCount = val[i].allFinishCount
  222. var allCount = val[i].allCount
  223. var isStop = val[i].status
  224. var isname=val[i].name
  225. if (isStop == 0) {
  226. $(".layui-progress-bar").css({
  227. "background-color": "gray"
  228. })
  229. $("#button_id").html("激活计划")
  230. } else {
  231. $(".layui-progress-bar").css({
  232. "background-color": "#ff9526"
  233. })
  234. $("#button_id").html("终止计划")
  235. }
  236. var progressNum = Math.ceil((allFinishCount / allCount) * 100)
  237. Progress(val[i].id, progressNum + "%")
  238. }
  239. })
  240. },
  241. },
  242. mounted() {
  243. var vm = this
  244. // vm.getModal()
  245. vm.getDatas()
  246. vm.gettypes()
  247. vm.progressColor()
  248. },
  249. methods: {
  250. getDatas: function () {
  251. var vm = this
  252. var params = {
  253. patientCondition: vm.name,// 居民条件,可以按身份证或者居民名称模糊匹配
  254. diseaseCode: vm.type, //疾病类型
  255. planType: vm.status, //安排类型(1康复计划,2转社区医院,3转家庭病床)
  256. todaybacklog: vm.isTotayTodo, // 今日待办(1、今日待办,2、全部)
  257. page: vm.currentPage,
  258. pageSize: vm.pagesize,
  259. isDanger: vm.isDanger,
  260. }
  261. healthAPI.getSpecialList(params).then(function (res) {
  262. console.log(res)
  263. if (res.status == 200) {
  264. vm.wujilu = false
  265. vm.total = res.data.totalCount
  266. vm.pagetotal = Math.ceil(res.data.totalCount / vm.pagesize)
  267. vm.tablelist = _.sortBy(res.data.detailModelList, "patientName")
  268. if (vm.tablelist.length == 0) {
  269. vm.wujilu = true
  270. }
  271. } else {
  272. showErrorMessage(res.msg);
  273. }
  274. })
  275. },
  276. gettypes: function () {
  277. var vm = this
  278. var search = true
  279. $("#Status").bsSuggest({
  280. data: {
  281. value: [{
  282. code: "",
  283. name: "全部"
  284. },
  285. {
  286. code: "1",
  287. name: "康复计划"
  288. },
  289. {
  290. code: "2",
  291. name: "(转)社区医院"
  292. },
  293. {
  294. code: "3",
  295. name: "(转)家庭病床"
  296. }
  297. ]
  298. },
  299. getDataMethod: "data",
  300. effectiveFields: ["name"],
  301. idField: "code",
  302. keyField: "name"
  303. });//>下拉框的值
  304. healthAPI.getSpecialDisease().then(function (res) {
  305. if (res.status == 200) {
  306. console.log(res)
  307. var data = {}
  308. data.value = _.map(res.data, function (v) {
  309. return {
  310. code: v.code,
  311. name: v.name
  312. }
  313. })
  314. if (search) {
  315. data.value = [{
  316. code: "",
  317. name: "全部"
  318. }].concat(data.value)
  319. }
  320. $("#Type").bsSuggest({
  321. data: data,
  322. getDataMethod: "data",
  323. effectiveFields: ["name"],
  324. idField: "code",
  325. keyField: "name"
  326. });
  327. vm.types = res.data;
  328. } else {
  329. showErrorMessage(res.msg);
  330. }
  331. })
  332. },
  333. search: function (page) {
  334. var vm = this
  335. vm.type = $("#Type").attr("data-id");
  336. vm.status = $("#Status").attr("data-id");
  337. vm.currentPage = page
  338. vm.getDatas()
  339. },
  340. daiban: function (page) {
  341. var vm = this
  342. vm.isTotayTodo = $("#c").prop("checked") ? 2 : 1
  343. $(".icon-chkbox").toggleClass("icon-bgchkbox");
  344. vm.currentPage = page
  345. console.log(vm.currentPage)
  346. vm.getDatas()
  347. },
  348. morePlan: function (data) {
  349. location.href = "moreplan.html?patientCode=" + data.patientCode
  350. },
  351. checkPlan:function(data){
  352. location.href = "../../rehabilitation/html/rehabilitation_management.html?planid=" + data.id + "&status=" + data.status
  353. },
  354. Stop: function (data) {
  355. var vm = this
  356. vm.planid = data.id
  357. ConFirm("确定终止该计划吗", data.status, vm.isStop, vm.planid, vm.getDatas)
  358. },
  359. progressColor: function (data) {
  360. }
  361. }
  362. })
  363. });
  364. </script>
  365. </body>
  366. </html>