BaoCunMuBan.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <template>
  2. <el-dialog v-model="dialog"
  3. title="保存模板"
  4. @closed="emit('update:modelValue',false)">
  5. 模板名称:
  6. <el-input v-model="patternName" maxlength="50" show-word-limit style="width: 220px"
  7. @keyup.enter="dianJiBaoCun"></el-input>
  8. <div v-if="flag === 1">
  9. <br><br>
  10. 模板类型:
  11. <el-radio-group v-model="inputType" size="small">
  12. <el-radio-button :disabled="quanYuanFlag" :label="1">全院</el-radio-button>
  13. <el-radio-button :label="2">本科室</el-radio-button>
  14. <el-radio-button :label="3">个人</el-radio-button>
  15. </el-radio-group>
  16. </div>
  17. <br><br> 排序码:
  18. <el-input-number v-model="sortNo" :max="3000" :min="0"></el-input-number>
  19. 排序码越大,就越靠前。
  20. <br><br>
  21. <el-button @click="dianJiBaoCun">保存</el-button>
  22. <el-button @click="qingKong">关闭</el-button>
  23. </el-dialog>
  24. </template>
  25. <script name="BaoCunMuBan" setup>
  26. import {computed, ref} from "vue";
  27. import store from '../../../store'
  28. import {noNeedRule} from "@/utils/public";
  29. import {muBanMing} from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
  30. import {stringNotBlank} from "@/utils/blank-utils";
  31. import {
  32. doesTheTemplateExist,
  33. getDoctorSOrderTemplateMaxSortNo,
  34. saveTemplate
  35. } from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
  36. import {ElMessageBox} from "element-plus";
  37. const props = defineProps({
  38. list: {
  39. type: Array
  40. },
  41. modelValue: {
  42. type: Boolean
  43. }
  44. })
  45. const emit = defineEmits(['update:modelValue'])
  46. const user = computed(() => {
  47. return store.state.user.info
  48. })
  49. const dialog = ref(true)
  50. const title = ref('')
  51. const flag = ref(1)
  52. const quanYuanFlag = noNeedRule(38)
  53. const keZhuRenFlag = noNeedRule(38, 11)
  54. // 模板名称
  55. const patternCode = ref('')
  56. const patternName = ref('')
  57. const inputType = ref(3)
  58. const sortNo = ref(0)
  59. const list = ref([])
  60. const daKaiBaoCunMuBan = (val) => {
  61. if (stringNotBlank(muBanMing.value.patternName)) {
  62. patternName.value = muBanMing.value.patternName
  63. sortNo.value = muBanMing.value.sortNo
  64. inputType.value = muBanMing.value.inputType
  65. patternCode.value = muBanMing.value.patternCode
  66. }
  67. list.value = val
  68. }
  69. const dianJiBaoCun = () => {
  70. let data = {
  71. patternCode: patternCode.value,
  72. patternName: patternName.value,
  73. sortNo: sortNo.value,
  74. list: list.value,
  75. inputType: inputType.value
  76. }
  77. doesTheTemplateExist(patternName.value).then((res) => {
  78. saveTemplate(data).then(() => {
  79. qingKong()
  80. dialog.value = false
  81. })
  82. }).catch(() => {
  83. ElMessageBox.confirm('模板名称重复是否替换?', '提示', {
  84. type: 'warning'
  85. }).then(() => {
  86. saveTemplate(data).then(() => {
  87. qingKong()
  88. dialog.value = false
  89. })
  90. })
  91. })
  92. }
  93. const qingKong = () => {
  94. patternName.value = null
  95. sortNo.value = 0
  96. inputType.value = 3
  97. dialog.value = false
  98. muBanMing.value = {}
  99. }
  100. onMounted(() => {
  101. getDoctorSOrderTemplateMaxSortNo().then((res) => {
  102. sortNo.value = res
  103. })
  104. daKaiBaoCunMuBan(props.list)
  105. })
  106. defineExpose({daKaiBaoCunMuBan})
  107. </script>
  108. <style scoped>
  109. </style>