choosePrescription.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <template>
  2. <view class="choosePrescription">
  3. <view class="searchPrescription">
  4. <uni-forms class="search_forms">
  5. <uni-forms-item label="处方编号">
  6. <uni-easyinput v-model="pageData.cfbh" placeholder="请输入处方编号" />
  7. </uni-forms-item>
  8. <uni-forms-item label="患者姓名">
  9. <uni-easyinput v-model="pageData.hzxm" placeholder="请输入患者姓名" />
  10. </uni-forms-item>
  11. </uni-forms>
  12. <view class="search_button_group">
  13. <button class="reset_button" @click="reset">重置</button>
  14. <button class="search_button" @click="search">搜索</button>
  15. </view>
  16. </view>
  17. <uni-card v-for="(item,index) in pageData.cfInfo" class="cfInfo" @click="chooseCf(item)">
  18. <view class="cfInfo_title">
  19. <view class="cfInfo_text">处方编号</view>
  20. <view class="cfInfo_text">{{item.yncfbh}}</view>
  21. </view>
  22. <view class="cfInfo_title">
  23. <view class="cfInfo_text">患者姓名</view>
  24. <view class="cfInfo_text">{{item.hzxm}}</view>
  25. </view>
  26. <view class="cfInfo_title">
  27. <view class="cfInfo_text">医疗机构</view>
  28. <view class="cfInfo_text">{{item.yljg}}</view>
  29. </view>
  30. <view class="cfInfo_title">
  31. <view class="cfInfo_text">开方日期</view>
  32. <view class="cfInfo_text">{{item.cfrqtime}}</view>
  33. </view>
  34. <view class="cfInfo_title">
  35. <view class="cfInfo_text">贴数</view>
  36. <view class="cfInfo_text">{{item.cfts}}</view>
  37. </view>
  38. <view class="cfInfo_title">
  39. <view class="cfInfo_text">处方内容</view>
  40. <view class="cfInfo_text">{{item.cfnr}}</view>
  41. </view>
  42. </uni-card>
  43. <!-- 对话框 -->
  44. <uni-popup ref="chooseDialog" type="dialog">
  45. <uni-popup-dialog type="info" confirmText="确定" cancelText="取消" title="选择处方" :content="pageData.popupMessage.showMessage" @confirm="dialogConfirm" @close="dialogClose"></uni-popup-dialog>
  46. </uni-popup>
  47. </view>
  48. </template>
  49. <script setup>
  50. import { reactive,ref } from "vue";
  51. import {onLoad,onShow,onUnload,onPullDownRefresh} from "@dcloudio/uni-app";
  52. import http from "../../../utils/request";
  53. const pageData=reactive({
  54. // 处方编号
  55. cfbh:'',
  56. // 平台唯一编号
  57. ptwybh:'',
  58. // 患者姓名
  59. hzxm:'',
  60. // 处方信息列表
  61. cfInfo:[],
  62. // 质控状态
  63. taskStatus:'',
  64. // 发药方式类型
  65. fyfslx:'',
  66. chooseDialog:'',
  67. // 弹出框内容
  68. popupMessage:{
  69. showMessage:''
  70. }
  71. })
  72. // 定义弹出框
  73. const chooseDialog = ref()
  74. // 弹出框确定事件
  75. const dialogConfirm=()=>{
  76. let url=''
  77. // 跳转到下一个页面
  78. if(pageData.fyfslx=='2' || pageData.fyfslx=='3'){
  79. url='/pages/ypczk/zkTask/djTask?cfbh='+pageData.cfbh+'&fyfslx='+pageData.fyfslx+'&ptwybh='+pageData.ptwybh
  80. }else if(pageData.fyfslx=='4' || pageData.fyfslx=='5'){
  81. url='/pages/ypczk/zkTask/dpTask?cfbh='+pageData.cfbh+'&fyfslx='+pageData.fyfslx+'&ptwybh='+pageData.ptwybh
  82. }
  83. uni.navigateTo({
  84. url:url,
  85. })
  86. }
  87. // 弹出框取消事件
  88. const dialogClose=()=>{
  89. chooseDialog._value.close()
  90. }
  91. const formData=reactive({
  92. cfbm:'',
  93. hzxm:'',
  94. pageNum:1,
  95. pageSize:10
  96. })
  97. // 重置
  98. const reset=()=>{
  99. pageData.cfbh=''
  100. pageData.hzxm=''
  101. }
  102. // 搜索
  103. const search=()=>{
  104. formData.cfbm=pageData.cfbh
  105. formData.hzxm=pageData.hzxm
  106. getCfData()
  107. }
  108. // 选择处方
  109. const chooseCf=(e)=>{
  110. // 点击处方,弹出对话框
  111. chooseDialog._value.open()
  112. pageData.popupMessage.showMessage="处方编号:"+e.yncfbh+"\n"+"患者姓名:"+e.hzxm+"\n"+"是否确认选择该处方?"
  113. pageData.cfbh=e.yncfbh
  114. pageData.fyfslx=e.fyfslx
  115. pageData.ptwybh=e.ptwybh
  116. }
  117. const getCfData=()=>{
  118. http.get("app-api/cf/findList",formData).then(res=>{
  119. console.log(res)
  120. pageData.cfInfo=res.data
  121. })
  122. }
  123. onShow(()=>{
  124. getCfData()
  125. })
  126. onLoad((type)=>{
  127. if(type.status!=null){
  128. pageData.taskStatus=type.status
  129. }
  130. })
  131. </script>
  132. <style lang="scss" scoped>
  133. @import './index.scss'
  134. </style>