Group.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div class="group-component">
  3. <el-input v-model="name" readonly v-show="showTopInput">
  4. <i slot="suffix" class="el-input__icon el-icon-more-outline" @click="onClick"></i>
  5. </el-input>
  6. <el-input v-model="dataModel" readonly v-show="showInput">
  7. <i slot="suffix" class="el-input__icon el-icon-more-outline" @click="onClick"></i>
  8. </el-input>
  9. <!-- <group :centerDialogVisible="DialogVisible" @multipleSelection="oNmultipleSelection"></group> -->
  10. </div>
  11. </template>
  12. <script>
  13. // import group from "@/components/Group/group";
  14. export default {
  15. name: "group-width-height",
  16. components: {
  17. // group,
  18. },
  19. props: {
  20. value: {
  21. type: String,
  22. default: () => "",
  23. },
  24. },
  25. data() {
  26. return {
  27. DialogVisible: { value: false },
  28. dataModel: "",
  29. input: "",
  30. name: "",
  31. showTopInput: true,
  32. showInput: false,
  33. };
  34. },
  35. watch: {
  36. value(val, data) {
  37. this.dataModel = val.split("-")[0];
  38. this.name = data.split("-")[1];
  39. },
  40. dataModel(val) {
  41. this.$emit("input", val);
  42. },
  43. },
  44. methods: {
  45. onClick() {
  46. this.DialogVisible.value = true;
  47. },
  48. oNmultipleSelection(e) {
  49. this.dataModel = e.id.toString() + "-" + e.groupName;
  50. this.showInput = false;
  51. this.showTopInput = true;
  52. },
  53. },
  54. };
  55. </script>