YouKeChuanMei_VUE/src/views/mediaLibrary/abolishDialog.vue
2025-09-10 20:52:06 +08:00

60 lines
2.0 KiB
Vue

<template>
<!-- 废除对话框 -->
<el-dialog title="废除" v-model="abolishOpen" width="650px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="abolishRef" :model="abolishForm" :rules="abolishRules" label-width="120px" label-position="top"
class="myFeedBackForm">
<el-form-item label="输入废除原因" prop="invalidReason">
<el-input v-model="abolishForm.invalidReason" style="width: 100%" :rows="5" type="textarea" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button class="my-cancel-btn" @click="abolishOpen = false">取 消</el-button>
<el-button class="my-confirm-btn" type="primary" @click="handleSubmitAbolish"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { onMounted, defineExpose, ref } from 'vue';
import { mediaCancel } from "@/api/mediaLibrary"
const { proxy } = getCurrentInstance()
const emit = defineEmits(['handleReloadList']);
const abolishOpen = ref(false)
const data = reactive({
abolishForm: {},
abolishRules: {
invalidReason: [{ required: true, message: "请输入废除原因", trigger: "blur" }],
}
})
const { abolishForm, abolishRules } = toRefs(data)
const openDialog = (_mediaId) => {
abolishForm.value = {
mediaId: _mediaId,
invalidReason: undefined
}
abolishOpen.value = true
}
// 提交废除
const handleSubmitAbolish = () => {
proxy.$refs["abolishRef"].validate(valid => {
if (valid) {
mediaCancel(abolishForm.value).then(response => {
proxy.$modal.msgSuccess("操作成功")
abolishOpen.value = false
abolishForm.value = {}
emit('handleReloadList')
})
}
})
}
// 暴露方法\属性给父组件
defineExpose({
openDialog
});
</script>