editMould.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <script setup lang="ts">
  2. import { ref, reactive } from "vue";
  3. import { ElMessageBox } from "element-plus";
  4. import type { DrawerProps, FormItemProps, FormProps } from "element-plus";
  5. // const itemLabelPosition = ref<FormItemProps["labelPosition"]>("");
  6. const drawer = ref(false);
  7. const direction = ref<DrawerProps["direction"]>("rtl");
  8. const formLabelAlign = reactive({
  9. name: "",
  10. region: "",
  11. type: ""
  12. });
  13. const handleClose = (done: () => void) => {
  14. ElMessageBox.confirm("配置项未保存,确认关闭", {
  15. type: "warning"
  16. }).then(() => {
  17. drawer.value = false;
  18. });
  19. };
  20. function cancelClick() {
  21. drawer.value = false;
  22. }
  23. function confirmClick() {
  24. console.log(1111);
  25. }
  26. const open = row => {
  27. drawer.value = true;
  28. };
  29. defineExpose({
  30. open
  31. });
  32. const radio1 = ref("1");
  33. </script>
  34. <template>
  35. <div>
  36. <el-drawer
  37. v-model="drawer"
  38. :direction="direction"
  39. :before-close="handleClose"
  40. >
  41. <template #header>
  42. <h4>指标详情</h4>
  43. </template>
  44. <template #default>
  45. <div>
  46. <el-form
  47. label-position="top"
  48. label-width="auto"
  49. :model="formLabelAlign"
  50. >
  51. <el-form-item label="维度名称" label-position="top">
  52. <el-input />
  53. </el-form-item>
  54. <el-form-item label="维度权重" label-position="top">
  55. <el-switch class="mr-4" />
  56. <el-input style="max-width: 150px">
  57. <template #append>%</template>
  58. </el-input>
  59. </el-form-item>
  60. <el-form-item label="计算方式" label-position="top">
  61. <el-radio-group v-model="radio1">
  62. <el-radio value="1" size="large">加权</el-radio>
  63. <el-radio value="2" size="large">加和</el-radio>
  64. </el-radio-group>
  65. </el-form-item>
  66. <el-form-item label="指标显示字段设置" label-position="top">
  67. <div>
  68. <el-text type="info">指标说明</el-text>
  69. <el-switch class="ml-2" />
  70. </div>
  71. <br />
  72. <div>
  73. <el-text type="info">评价标准</el-text>
  74. <el-switch class="ml-2" />
  75. </div>
  76. <br />
  77. <div>
  78. <el-text type="info">数据来源</el-text>
  79. <el-switch class="ml-2" />
  80. </div>
  81. <div>
  82. <el-text type="info">目标值</el-text>
  83. <el-switch class="ml-2" />
  84. </div>
  85. <div>
  86. <el-text type="info">完成值</el-text>
  87. <el-switch class="ml-2" />
  88. </div>
  89. <div>
  90. <el-text type="info">挑战值</el-text>
  91. <el-switch class="ml-2" />
  92. </div>
  93. <div>
  94. <el-text type="info">门栏值</el-text>
  95. <el-switch class="ml-2" />
  96. </div>
  97. </el-form-item>
  98. </el-form>
  99. </div>
  100. </template>
  101. <template #footer>
  102. <div>
  103. <el-button @click="cancelClick">取消</el-button>
  104. <el-button type="primary" @click="confirmClick">确认</el-button>
  105. </div>
  106. </template>
  107. </el-drawer>
  108. </div>
  109. </template>