zkTask.vue 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <template>
  2. <view class="qualitycontrolTask">
  3. <!-- 飞行质控任务 -->
  4. <view class="flightTask">
  5. <uni-card>
  6. <uni-section title="飞行质控任务" type="line">
  7. <template v-slot:right>
  8. <image style="width: 50rpx; height: 50rpx;" :src="showIcon.nowIcon" @click="changeState()"></image>
  9. </template>
  10. </uni-section>
  11. <view class="flightTask_list">
  12. <view class="flightTask_title">
  13. <view class="flightTask_text">被质控代煎企业</view>
  14. <view class="flightTask_righttext">{{pageData.taskList.bzkOrgName}}</view>
  15. </view>
  16. <view class="flightTask_title">
  17. <view class="flightTask_text">组长</view>
  18. <view class="flightTask_righttext">{{pageData.taskList.zzName}}</view>
  19. </view>
  20. <view class="flightTask_title">
  21. <view class="flightTask_text">组员</view>
  22. <view class="flightTask_righttext">{{pageData.taskList.zyNames}}</view>
  23. </view>
  24. <view class="flightTask_title">
  25. <view class="flightTask_text">地址</view>
  26. <view class="flightTask_righttext">{{pageData.taskList.address}}</view>
  27. </view>
  28. <view class="flightTask_title">
  29. <view class="flightTask_text">总数量:</view>
  30. <view class="flightTask_righttext">{{pageData.taskList.totalCyCount+'/'+pageData.taskList.totalWcCount}}</view>
  31. </view>
  32. <view class="flightTask_title">
  33. <view class="flightTask_text">代煎完成数量:</view>
  34. <view class="flightTask_righttext">{{pageData.taskList.djCyCount+'/'+pageData.taskList.djWcCount}}</view>
  35. </view>
  36. <view class="flightTask_title">
  37. <view class="flightTask_text">代配完成数量:</view>
  38. <view class="flightTask_righttext">{{pageData.taskList.dpCyCount+'/'+pageData.taskList.dpWcCount}}</view>
  39. </view>
  40. <view class="flightTask_title">
  41. <view class="flightTask_text">7贴完成数量:</view>
  42. <view class="flightTask_righttext">{{pageData.taskList.t7CyCount+'/'+pageData.taskList.t7WcCount}}</view>
  43. </view>
  44. <view class="flightTask_title">
  45. <view class="flightTask_text">14贴完成数量:</view>
  46. <view class="flightTask_righttext">{{pageData.taskList.t14CyCount+'/'+pageData.taskList.t14WcCount}}</view>
  47. </view>
  48. </view>
  49. </uni-card>
  50. </view>
  51. <!-- 代配作业质控 -->
  52. <view class="dp_or_dj_Task">
  53. <uni-card>
  54. <uni-section title="待配作业质控" type="line">
  55. <template v-slot:right>
  56. <view class="sub_title">不合格数<view class="sub_title_text">{{pageData.detailList.dpbhg}}</view></view>
  57. </template>
  58. </uni-section>
  59. <view class="sub_head">
  60. <view class="sub_head_title">代配7贴:<view class="sub_title_text">{{pageData.detailList.dp7twc+"/"+pageData.detailList.dp7t}}</view></view>
  61. <view class="sub_head_title">代配14贴:<view class="sub_title_text">{{pageData.detailList.dp14twc+"/"+pageData.detailList.dp14t}}</view></view>
  62. </view>
  63. <view>
  64. <button class="button" @click="addTask('dp')"> + 新增</button>
  65. </view>
  66. <uni-table class="dp_table">
  67. <!-- 表头行 -->
  68. <uni-tr>
  69. <uni-th align="center" width="150rpx">处方编号</uni-th>
  70. <uni-th align="center" width="150rpx">贴数(贴)</uni-th>
  71. <uni-th align="center" width="150rpx">平均误差(%)</uni-th>
  72. <uni-th align="center" width="150rpx">创建人</uni-th>
  73. </uni-tr>
  74. <!-- 表格数据行 -->
  75. <uni-tr v-for="(item, index) in pageData.dpList" :key="index">
  76. <uni-td align="center">{{item.cfbh}}</uni-td>
  77. <uni-td align="center">{{item.ts}}</uni-td>
  78. <uni-td align="center">{{item.bhgx}}</uni-td>
  79. <uni-td align="center">{{item.creatorName}}</uni-td>
  80. </uni-tr>
  81. </uni-table>
  82. <view class="see_more" @click="seeMore('dp')">
  83. <text>查看更多</text>
  84. <uni-icons type="right"></uni-icons>
  85. </view>
  86. </uni-card>
  87. </view>
  88. <!-- 代煎作业质控 -->
  89. <view class="dp_or_dj_Task">
  90. <uni-card>
  91. <uni-section title="待煎作业质控" type="line">
  92. <template v-slot:right>
  93. <view class="sub_title">不合格数<view class="sub_title_text">{{pageData.detailList.djbhg}}</view></view>
  94. </template>
  95. </uni-section>
  96. <view class="sub_head">
  97. <view class="sub_head_title">代煎7贴:<view class="sub_title_text">{{pageData.detailList.dj7twc+"/"+pageData.detailList.dj7t}}</view></view>
  98. <view class="sub_head_title">代煎14贴:<view class="sub_title_text">{{pageData.detailList.dj14twc+"/"+pageData.detailList.dj14t}}</view></view>
  99. </view>
  100. <view>
  101. <button class="button" @click="addTask('dj')"> + 新增</button>
  102. </view>
  103. <uni-table class="dp_table">
  104. <!-- 表头行 -->
  105. <uni-tr>
  106. <uni-th align="center" width="150rpx">处方编号</uni-th>
  107. <uni-th align="center" width="150rpx">贴数(贴)</uni-th>
  108. <uni-th align="center" width="150rpx">平均误差(%)</uni-th>
  109. <uni-th align="center" width="150rpx">创建人</uni-th>
  110. </uni-tr>
  111. <!-- 表格数据行 -->
  112. <uni-tr v-for="(item, index) in pageData.djList" :key="index">
  113. <uni-td align="center">{{item.cfbh}}</uni-td>
  114. <uni-td align="center">{{item.ts}}</uni-td>
  115. <uni-td align="center">{{item.bhgx}}</uni-td>
  116. <uni-td align="center">{{item.creatorName}}</uni-td>
  117. </uni-tr>
  118. </uni-table>
  119. <view class="see_more" @click="seeMore('dj')">
  120. <text>查看更多</text>
  121. <uni-icons type="right"></uni-icons>
  122. </view>
  123. </uni-card>
  124. </view>
  125. <!-- 代煎企业作业环境质控 -->
  126. <view class="djqyhj_Task">
  127. <uni-card>
  128. <uni-section title="代煎企业作业环境质控" type="line">
  129. <template v-slot:right>
  130. <view class="sub_title">不合格数<view class="sub_title_text">{{pageData.detailList.djqyzkbhg}}</view></view>
  131. </template>
  132. </uni-section>
  133. <view class="image_upload">
  134. <uni-file-picker limit="4" :v-model="pageData.imageList" @select="selectImg" @delete="deleteImg"></uni-file-picker>
  135. </view>
  136. </uni-card>
  137. </view>
  138. <!-- 完成质控 -->
  139. <view class="finish_button">
  140. <button class="button" @click="finishTask()">完成质控</button>
  141. </view>
  142. </view>
  143. </template>
  144. <script setup>
  145. import { reactive } from "vue";
  146. import {onLoad,onShow,onUnload,onPullDownRefresh} from "@dcloudio/uni-app";
  147. import http from "../../../utils/request";
  148. const pageData=reactive({
  149. detailList:{},
  150. // 质控任务
  151. taskList:{},
  152. // 代配
  153. dpList:{},
  154. // 代煎
  155. djList:{},
  156. // 图片列表
  157. imageList:[],
  158. // 质控状态
  159. taskStatus:''
  160. })
  161. const showIcon=reactive({
  162. nowIcon:'',
  163. showIcon:'/static/blackDisplay.png',
  164. hideIcon:'/static/blackHide.png'
  165. })
  166. const findZkzyData=reactive({
  167. id:'1661969828969525249'
  168. })
  169. // 切换显示状态
  170. const changeState=()=>{
  171. if(showIcon.nowIcon==showIcon.showIcon){
  172. showIcon.nowIcon=showIcon.hideIcon
  173. }else{
  174. showIcon.nowIcon=showIcon.showIcon
  175. }
  176. }
  177. // 新增代配/代煎质控
  178. const addTask=(type)=>{
  179. if(type=='dp'){
  180. // 新增代配
  181. console.log("新增代配")
  182. pageData.taskStatus='dp'
  183. }else if(type=='dj'){
  184. // 新增代煎
  185. console.log("新增代煎")
  186. pageData.taskStatus='dj'
  187. }
  188. uni.navigateTo({
  189. url:'/pages/ypczk/zkTask/choosePrescription?taskStatus='+pageData.taskStatus
  190. })
  191. }
  192. // 查看更多
  193. const seeMore =(type)=>{
  194. if(type=='dp'){
  195. // 代配跳转
  196. console.log("代配跳转")
  197. }else if(type=='dj'){
  198. // 代煎跳转
  199. console.log("代煎跳转")
  200. }
  201. uni.navigateTo({
  202. url:'/pages/ypczk/zkTask/zkTaskDetail/detailsList'
  203. })
  204. }
  205. // 选中图片,将选中的图片添加列表
  206. const selectImg=(e)=>{
  207. console.log(e)
  208. e.tempFiles.forEach(item=>{
  209. pageData.imageList.push(item)
  210. })
  211. }
  212. // 删除图片,并将其从列表中删除
  213. const deleteImg=(e)=>{
  214. console.log(e)
  215. let index=0
  216. index = pageData.imageList.indexOf(e.tempFilePaths)
  217. pageData.imageList.splice(index, 1)
  218. }
  219. // 完成质控
  220. const finishTask=()=>{
  221. console.log("完成质控")
  222. }
  223. // 查询质控作业--根据Id
  224. const getZkData=()=>{
  225. http.get("app-api/zkzy/findZkzyById",findZkzyData).then(res=>{
  226. console.log(res)
  227. pageData.detailList=res
  228. pageData.taskList=res.task
  229. pageData.djList=res.djCfDetail
  230. pageData.dpList=res.dpCfDetail
  231. // 获取图片
  232. if(pageData.detailList.imgUrl!=null){
  233. pageData.imageList=pageData.detailList.imgUrl
  234. }
  235. })
  236. }
  237. // 存入taskData(taskId)
  238. const setTaskId=()=>{
  239. uni.setStorageSync("taskId",{taskId:findZkzyData.id})
  240. }
  241. onLoad((data)=>{
  242. if(data!=null){
  243. findZkzyData.id=data.taskId
  244. }
  245. setTaskId()
  246. })
  247. onShow(()=>{
  248. showIcon.nowIcon=showIcon.hideIcon
  249. getZkData()
  250. })
  251. </script>
  252. <style lang="scss" scoped>
  253. @import './index.scss'
  254. </style>