OrderProgress.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <div class="order__progress" v-show="isShow()">
  3. <div>
  4. X
  5. </div>
  6. <div class="steps__mian">
  7. <el-steps direction="vertical" :active="active">
  8. <el-step v-for="(item,index) in stepList"
  9. :title="item"
  10. :description="descriptionFunc(index)"/>
  11. </el-steps>
  12. </div>
  13. </div>
  14. </template>
  15. <script setup name='OrderProgress'>
  16. let stepList = ['录入医嘱', '确认医嘱', '执行医嘱', '停止医嘱']
  17. const descriptionList = ref([])
  18. const active = ref(1)
  19. const isShow = () => {
  20. return false
  21. }
  22. const descriptionFunc = (index) => {
  23. return descriptionList.value[index]
  24. }
  25. const fillOrder = (val) => {
  26. descriptionList.value = []
  27. active.value = parseInt(val.statusFlag)
  28. if (val.statusFlag === '4') {
  29. active.value = 3
  30. } else if (val.statusFlag === '5') {
  31. active.value = 4
  32. }
  33. descriptionList.value.push(val.enterOperName + '\n' + val.enterTime)
  34. if (val.confirmTime) {
  35. descriptionList.value.push(val.signerName + ' ' + val.confirmTime)
  36. }
  37. }
  38. defineExpose({
  39. fillOrder
  40. })
  41. </script>
  42. <style scoped lang="scss">
  43. .order__progress {
  44. width: 190px;
  45. height: 100%;
  46. top: 0;
  47. right: 0;
  48. position: fixed;
  49. background-color: white;
  50. z-index: 999;
  51. .steps__mian {
  52. height: calc(100% - 40%);
  53. }
  54. }
  55. </style>