BaoCunMuBan.vue 3.3 KB

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