riku
2023-12-22 e5875000e60d4976f159f287ae3773f1d11960b3
src/views/fytz/user/components/CompUserInfoAddDrawer.vue
@@ -1,16 +1,18 @@
<template>
  <el-drawer
    v-model="drawer_"
    title="新增用户"
    direction="rtl"
    :model-value="modelValue"
    @open="updateDrawer(true)"
    @close="updateDrawer(false)"
    :before-close="onDrawerClose"
  >
    <CompUserInfo
      :create="true"
      :active="drawer"
      v-model:is-edit="drawerEdit"
      @on-submit="onDrawerSubmit"
      @on-cancel="onDrawerCancel"
      :active="modelValue"
      @updateEdit="(v) => (drawerEdit = v)"
      @on-submit="updateDrawer(false)"
      @on-cancel="updateDrawer(false)"
    ></CompUserInfo>
  </el-drawer>
</template>
@@ -21,26 +23,16 @@
export default {
  components: { CompUserInfo },
  props: ['drawer'],
  emits: ['update:drawer'],
  props: ['modelValue'],
  emits: ['update:modelValue'],
  data() {
    return {
      drawer_: this.drawer,
      drawerEdit: false,
      drawerEdit: false
    };
  },
  watch: {
    drawer(nValue) {
      this.drawer_ = nValue;
    },
    drawer_(nValue) {
      this.$emit('update:drawer', nValue);
    },
  },
  methods: {
    onDrawerSubmit() {
      // 关闭弹出框
      this.drawer_ = false;
    updateDrawer(status) {
      this.$emit('update:modelValue', status);
    },
    onDrawerClose(done) {
      if (this.drawerEdit) {
@@ -50,19 +42,13 @@
          confirmTitle: '取消',
          onConfirm: () => {
            done();
          },
          }
        });
      } else {
        // 直接关闭
        done();
      }
    },
    onDrawerCancel() {
      // this.onDrawerClose(() => {
      //   this.drawer_ = false;
      // });
      this.drawer_ = false;
    },
  },
  }
};
</script>