xw_admin/src/views/docsManager/save.vue
2024-07-25 19:54:58 +08:00

77 lines
1.7 KiB
Vue

<template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="460" draggable destroy-on-close @closed="$emit('closed')">
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="top">
<el-form-item label="请输入文件夹名称" prop="name">
<el-input v-model="form.name" placeholder="请输入文件夹名称" clearable></el-input>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="visible=false" >取 消</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSave" @click="submit()"> </el-button>
</template>
</el-dialog>
</template>
<script>
export default {
emits: ['success', 'closed'],
data() {
return {
mode: "add",
titleMap: {
add: '新建文件夹',
edit: '编辑',
show: '查看'
},
visible: false,
isSave: false,
//表单数据
form: {
parent_id:"",
name: "",
},
//验证规则
rules: {
name: [
{required: true, message: '请输入文件夹名称'}
],
}
}
},
mounted() {
},
methods: {
//显示
open(mode='add'){
this.mode = mode;
this.visible = true;
return this
},
//表单提交方法
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSave = true;
const res = await this.$API.docs.manager.add.post(this.form);
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
}
}
})
},
//表单注入数据
setData(data){
this.form.parent_id = data.id
this.form.name = data.name
}
}
}
</script>
<style>
</style>