PatientDispensing.vue 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. <template>
  2. <div class="main-contain new-main-contain">
  3. <div class="position">
  4. <!-- <bread-crumb :crumbs='crumbs'></bread-crumb>-->
  5. <bread-crumb :crumbs="crumbs"></bread-crumb>
  6. </div>
  7. <div
  8. class="app-container"
  9. style="display: flex; flex: 1; padding: 10px 20px 0px 20px"
  10. >
  11. <div class="mainLeft">
  12. <div>
  13. <div class="list">
  14. <el-date-picker
  15. style="width: 200px"
  16. v-model="datepick"
  17. type="date"
  18. placeholder="选择日期"
  19. >
  20. </el-date-picker>
  21. </div>
  22. <div class="list">
  23. <el-radio-group v-model="state">
  24. <el-radio :label="1">待发药{{ waitmount }}人</el-radio>
  25. <el-radio :label="2">已发药{{ alreadmount }}人</el-radio>
  26. </el-radio-group>
  27. </div>
  28. <div
  29. class="list"
  30. style="display: flex; justify-content: space-between"
  31. >
  32. <el-input
  33. size="small"
  34. style="width: 130px"
  35. v-model="keywords"
  36. class="filter-item"
  37. placeholder="请输入患者名称"
  38. />
  39. <el-button
  40. size="small"
  41. class="filter-item"
  42. type="primary"
  43. @click="searchAction"
  44. >搜索
  45. </el-button>
  46. </div>
  47. <el-table
  48. :height="tableHeight"
  49. :data="tableData"
  50. border
  51. style="width: 100%"
  52. >
  53. <el-table-column prop="date" label="患者姓名" width="100">
  54. </el-table-column>
  55. <el-table-column prop="name" label="单据编号" width="100">
  56. </el-table-column>
  57. </el-table>
  58. </div>
  59. </div>
  60. <div class="mainRight">
  61. <div class="titlelist">
  62. <el-button type="primary" @click="dispense" v-if="state == 1"
  63. >发药</el-button
  64. >
  65. <el-button type="primary" @click="endispense" v-if="state == 2"
  66. >退药</el-button
  67. >
  68. <el-button type="primary" @click="toPrint">打印</el-button>
  69. <el-button type="primary" v-if="state == 1">设置</el-button>
  70. </div>
  71. <el-divider></el-divider>
  72. <div>
  73. <el-table
  74. :height="tableHeight"
  75. :data="tableData_list"
  76. border
  77. style="width: 100%"
  78. >
  79. <el-table-column
  80. type="index"
  81. label="序号"
  82. width="120"
  83. align="center"
  84. >
  85. </el-table-column>
  86. <el-table-column
  87. prop="name"
  88. label="名称"
  89. width="220"
  90. align="center"
  91. >
  92. </el-table-column>
  93. <el-table-column
  94. prop="name"
  95. label="单次用量"
  96. width="170"
  97. align="center"
  98. >
  99. </el-table-column>
  100. <el-table-column
  101. prop="name"
  102. label="用法"
  103. width="160"
  104. align="center"
  105. >
  106. </el-table-column>
  107. <el-table-column
  108. prop="name"
  109. label="频率"
  110. width="160"
  111. align="center"
  112. >
  113. </el-table-column>
  114. <el-table-column
  115. prop="name"
  116. label="天数"
  117. width="160"
  118. align="center"
  119. >
  120. </el-table-column>
  121. <el-table-column
  122. prop="name"
  123. label="总量"
  124. width="160"
  125. align="center"
  126. >
  127. </el-table-column>
  128. <el-table-column
  129. prop="name"
  130. label="开立医生"
  131. width="160"
  132. align="center"
  133. >
  134. </el-table-column>
  135. <el-table-column
  136. prop="name"
  137. label="数据来源"
  138. width="162"
  139. align="center"
  140. >
  141. </el-table-column>
  142. <el-table-column
  143. prop="name"
  144. label="备注"
  145. width="170"
  146. align="center"
  147. >
  148. </el-table-column>
  149. </el-table>
  150. </div>
  151. <!-- <div style="margin-top: 25px">诊断时间:2022-05-07 19:22:16</div> -->
  152. </div>
  153. </div>
  154. <patient-print
  155. ref="patientprint"
  156. :visibility="isVisibility"
  157. :propsTable="propsTable"
  158. >
  159. </patient-print>
  160. </div>
  161. </template>
  162. <script>
  163. import BreadCrumb from "@/xt_pages/components/bread-crumb";
  164. import patientPrint from "./print/patientPrint.vue";
  165. export default {
  166. components: {
  167. BreadCrumb,
  168. patientPrint,
  169. },
  170. data() {
  171. return {
  172. crumbs: [
  173. { path: false, name: "患者发药" },
  174. { path: "/Pharmacy/patiantDispensing", name: "患者发药" },
  175. ],
  176. tableHeight: 400,
  177. datepick: "",
  178. state: 1,
  179. waitmount: 0,
  180. alreadmount: 0,
  181. keywords: "",
  182. tableData: [],
  183. propsTable: [],
  184. tableData_list: [],
  185. isVisibility: false,
  186. };
  187. },
  188. watch: {},
  189. methods: {
  190. // 跳转打印页面
  191. toPrint() {
  192. // this.$router.push({ path: "/Pharmacy/print/patientPrint" });
  193. this.$refs.patientprint.show();
  194. },
  195. // 搜索患者
  196. searchAction() {},
  197. // 药品发药
  198. dispense() {
  199. var params = {};
  200. this.$confirm("确定是否对该药品进行发药?", "患者发药", {
  201. confirmButtonText: "确 定",
  202. cancelButtonText: "取 消",
  203. type: "warning",
  204. })
  205. .then(() => {})
  206. .catch(() => {});
  207. },
  208. // 药品退药
  209. endispense() {
  210. var params = {};
  211. this.$confirm("确定是否对该药品进行退药?", "患者退药", {
  212. confirmButtonText: "确 定",
  213. cancelButtonText: "取 消",
  214. type: "warning",
  215. })
  216. .then(() => {})
  217. .catch(() => {});
  218. },
  219. },
  220. created() {},
  221. };
  222. </script>
  223. <style rel="stylesheet/css" lang="scss" scoped>
  224. .new-main-contain {
  225. height: 100%;
  226. display: flex;
  227. flex-direction: column;
  228. }
  229. .app-container {
  230. height: 100%;
  231. }
  232. .mainLeft {
  233. width: 200px;
  234. height: 100%;
  235. display: flex;
  236. flex-direction: column;
  237. .el-radio {
  238. margin-right: 5px;
  239. }
  240. .list {
  241. margin: 10px 0;
  242. }
  243. }
  244. .mainRight {
  245. margin-left: 10px;
  246. flex: 1;
  247. height: 100%;
  248. display: flex;
  249. flex-direction: column;
  250. overflow-y: auto;
  251. .titlelist {
  252. display: flex;
  253. justify-content: flex-end;
  254. }
  255. }
  256. </style>