Commit da148f0b authored by hzl's avatar hzl

feat: 添加资源组编辑功能

parent 48c7f575
......@@ -31,9 +31,12 @@ export function getResourceGroupById(id) {
// 更新资源组
export function updateResourceGroup(id, data) {
return request({
url: `${process.env.PUTIN_API}/resource-groups/${id}`,
method: 'put',
data
url: `${process.env.PUTIN_API}/resource-groups/update`,
method: 'post',
data: {
id: id,
...data
}
})
}
......
......@@ -48,12 +48,16 @@
<el-tag type="info" size="small">{{ scope.row.count || 0 }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="120">
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleDetail(scope.row)">详情</el-button>
<el-button
size="mini"
type="warning"
@click="handleEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
......@@ -78,7 +82,7 @@
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="上传素材">
<el-form-item label="上传素材" v-if="!form.id">
<file-upload
:upload-url="uploadUrl"
:extra-data="extraData"
......@@ -128,6 +132,23 @@
</div>
</el-dialog>
<!-- 编辑资源组对话框 -->
<el-dialog title="编辑资源组" :visible.sync="editDialogVisible" width="50%">
<el-form :model="editForm" :rules="editRules" ref="editForm" label-width="120px">
<el-form-item label="资源组名称" prop="name">
<el-input v-model="editForm.name"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="editForm.remark" :rows="3"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleEditCancel">取消</el-button>
<el-button type="primary" @click="submitEditForm" :loading="editSubmitLoading">确定</el-button>
</div>
</el-dialog>
<!-- 资源组详情对话框 -->
<el-dialog
title="资源组详情"
......@@ -348,7 +369,22 @@ export default {
detailUploadLoading: false,
// 文件搜索
fileSearchName: ''
fileSearchName: '',
// 编辑对话框相关
editDialogVisible: false,
editForm: {
id: null,
name: '',
remark: ''
},
editRules: {
name: [
{ required: true, message: '请输入资源组名称', trigger: 'blur' },
{ min: 1, max: 50, message: '长度在1-50个字符之间', trigger: 'blur' }
]
},
editSubmitLoading: false
}
},
......@@ -791,6 +827,57 @@ export default {
handleFileSearch() {
this.filePagination.currentPage = 1
this.fetchFileList()
},
// 处理编辑
handleEdit(row) {
this.editForm = {
id: row.id,
name: row.name,
remark: row.remark || ''
}
this.editDialogVisible = true
},
// 处理编辑取消
handleEditCancel() {
this.editForm = {
id: null,
name: '',
remark: ''
}
this.editDialogVisible = false
},
// 提交编辑表单
submitEditForm() {
this.$refs.editForm.validate(valid => {
if (valid) {
this.editSubmitLoading = true
const formData = {
resourceGroupName: this.editForm.name,
remark: this.editForm.remark
}
updateResourceGroup(this.editForm.id, formData).then(response => {
if (response.status === 200) {
this.$message.success('更新成功')
this.editDialogVisible = false
this.fetchData()
} else {
this.$message.error('更新失败: ' + (response.message || '未知错误'))
}
}).catch(error => {
console.error('更新资源组失败:', error)
this.$message.error('更新失败: ' + error.message)
}).finally(() => {
this.editSubmitLoading = false
})
} else {
return false
}
})
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment