接口调试

This commit is contained in:
BianLzhaoMin 2025-11-03 16:20:39 +08:00
parent f77ef19a43
commit 339daad1ce
6 changed files with 434 additions and 149 deletions

View File

@ -0,0 +1,47 @@
import request from '@/utils/request'
import request_formdata from '@/utils/request_formdata'
// 查询文档中心列表
export function getDocsCenterListAPI(data) {
return request({
url: '/document/list',
method: 'GET',
params: data,
})
}
// 新增文档中心
export function addDocsCenterAPI(data) {
return request({
url: '/document/addDocument',
method: 'POST',
data,
})
}
// 编辑文档中心
export function editDocsCenterAPI(data) {
return request({
url: '/document/updateDocument',
method: 'POST',
data,
})
}
// 删除文档中心
export function deleteDocsCenterAPI(id) {
return request({
url: `/document/delDocument`,
method: 'POST',
data: { id },
})
}
// 获取管理员用户下拉
export function getAdminUserListAPI() {
return request({
url: '/document/getUserList',
method: 'GET',
// data: {},
})
}

View File

@ -0,0 +1,47 @@
import request from '@/utils/request'
import request_formdata from '@/utils/request_formdata'
// 查询文档标签列表
export function getDocsTagsListAPI(data) {
return request({
url: '/label/list',
method: 'GET',
params: data,
})
}
// 新增文档标签
export function addDocsTagsAPI(data) {
return request({
url: '/label/addLabel',
method: 'POST',
data,
})
}
// 编辑文档标签
export function editDocsTagsAPI(data) {
return request({
url: '/label/updateLabel',
method: 'POST',
data,
})
}
// 删除文档标签
export function deleteDocsTagsAPI(id) {
return request({
url: `/label/delete`,
method: 'POST',
data: { id },
})
}
// 获取标签类型下拉
export function getLabelTypeListAPI() {
return request({
url: '/label/selectedList',
method: 'POST',
data: {},
})
}

View File

@ -10,33 +10,68 @@
> >
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="folderName">
<el-input v-model="addAndEditForm.name" /> <el-input
clearable
maxlength="50"
show-word-limit
placeholder="请输入名称"
v-model.trim="addAndEditForm.folderName"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="类型" prop="type"> <el-form-item label="类型" prop="fileType">
<el-input v-model="addAndEditForm.type" /> <el-select
clearable
filterable
style="width: 100%"
placeholder="请选择类型"
v-model="addAndEditForm.fileType"
>
<el-option
:key="item.value"
:label="item.label"
:value="item.label"
v-for="item in dict.type.document_type"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="管理员" prop="admin"> <el-form-item label="管理员" prop="userIds">
<el-input v-model="addAndEditForm.admin" /> <el-select
clearable
filterable
multiple
style="width: 100%"
placeholder="请选择管理员"
v-model="addAndEditForm.userIds"
>
<el-option
:key="item.value"
:label="item.useName"
:value="item.userId"
v-for="item in adminUserList"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="描述" prop="description"> <el-form-item label="描述" prop="remark">
<el-input <el-input
clearable clearable
type="textarea" type="textarea"
show-word-limit
maxlength="120"
placeholder="请输入描述" placeholder="请输入描述"
:autosize="{ minRows: 3, maxRows: 6 }" :autosize="{ minRows: 3, maxRows: 6 }"
v-model="addAndEditForm.description" v-model="addAndEditForm.remark"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -58,44 +93,50 @@
<script> <script>
import TitleTip from '@/components/TitleTip' import TitleTip from '@/components/TitleTip'
import UploadFileFormData from '@/components/UploadFileFormData' import UploadFileFormData from '@/components/UploadFileFormData'
import {
getAdminUserListAPI,
addDocsCenterAPI,
editDocsCenterAPI,
} from '@/api/dataManage/docs-center'
export default { export default {
name: 'AddAndEditForm', name: 'AddAndEditForm',
components: { TitleTip, UploadFileFormData }, components: { TitleTip, UploadFileFormData },
props: {
editRow: {
type: Object,
default: () => {},
},
},
dicts: ['document_type'],
data() { data() {
return { return {
currentTab: '1', // Tab
// //
addAndEditForm: { addAndEditForm: {
name: '', // folderName: '',
type: '', // fileType: '',
file: [], // userIds: [],
cover: [], // remark: '',
version: '', //
belongProduct: '', //
description: '', //
}, },
// //
addAndEditFormRules: { addAndEditFormRules: {
name: [ folderName: [
{ required: true, message: '请输入名称', trigger: 'blur' }, { required: true, message: '请输入名称', trigger: 'blur' },
], ],
type: [ fileType: [
{ required: true, message: '请输入类型', trigger: 'blur' },
],
file: [
{ required: true, message: '请上传附件', trigger: 'blur' },
],
cover: [
{ required: true, message: '请上传封面', trigger: 'blur' },
],
version: [
{ {
required: true, required: true,
message: '请输入版本', message: '请选择类型',
trigger: 'blur', trigger: 'change',
}, },
], ],
description: [ userIds: [
{
required: true,
message: '请选择管理员',
trigger: 'change',
},
],
remark: [
{ {
required: true, required: true,
message: '请输入描述', message: '请输入描述',
@ -103,6 +144,8 @@ export default {
}, },
], ],
}, },
adminUserList: [],
} }
}, },
@ -118,15 +161,60 @@ export default {
async handleSave() { async handleSave() {
this.$message.closeAll() this.$message.closeAll()
try { try {
await this.$refs.addAndEditForm.validate() const API = this.editRow ? editDocsCenterAPI : addDocsCenterAPI
const { folderName, fileType, userIds, remark } =
this.addAndEditForm
this.$message.success('保存成功') const params = {
folderName,
fileType,
userIds: userIds.join(','),
remark,
}
if (this.editRow) {
params.id = this.editRow.id
}
await this.$refs.addAndEditForm.validate()
const res = await API(params)
if (res.code === 200) {
this.$modal.msgSuccess(
this.editRow ? '编辑成功' : '新增成功',
)
this.$emit('closeDialog', true) this.$emit('closeDialog', true)
} else {
this.$message.error(res.msg)
}
} catch (error) { } catch (error) {
// //
this.$message.error('请完善所有必填项后再保存') // this.$message.error('')
} }
}, },
//
async getAdminUserListFun() {
const res = await getAdminUserListAPI()
this.adminUserList = res?.data
},
},
created() {
this.getAdminUserListFun()
},
watch: {
editRow: {
handler(newVal) {
if (newVal) {
const { folderName, fileType, userIds, remark, id } = newVal
this.addAndEditForm = {
folderName,
fileType,
userIds,
remark,
id,
}
}
},
immediate: true,
},
}, },
} }
</script> </script>

View File

@ -7,24 +7,28 @@
ref="queryForm" ref="queryForm"
:model="queryParams" :model="queryParams"
> >
<el-form-item prop="name"> <el-form-item prop="folderName">
<el-input <el-input
clearable clearable
placeholder="请输入名称" placeholder="请输入名称"
v-model="queryParams.name" v-model="queryParams.folderName"
@keyup.enter.native="onHandleQuery" @keyup.enter.native="onHandleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item prop="status"> <el-form-item prop="fileType">
<el-select <el-select
clearable clearable
filterable filterable
placeholder="选择类型" style="width: 100%"
v-model="queryParams.type" placeholder="请选择类型"
v-model="queryParams.fileType"
> >
<el-option value="1" label="智慧基建" /> <el-option
<el-option value="2" label="智慧后勤" /> :key="item.value"
<el-option value="3" label="数智装备" /> :label="item.label"
:value="item.label"
v-for="item in dict.type.document_type"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -128,6 +132,13 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 -->
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDocsCenterListFun"
/>
<!-- 新增和编辑表单 --> <!-- 新增和编辑表单 -->
@ -136,7 +147,7 @@
@closeDialogOuter="handleCloseDialogOuter" @closeDialogOuter="handleCloseDialogOuter"
> >
<template #outerContent> <template #outerContent>
<AddAndEditForm @closeDialog="closeDialog" /> <AddAndEditForm :editRow="editRow" @closeDialog="closeDialog" />
</template> </template>
</DialogModel> </DialogModel>
</div> </div>
@ -145,56 +156,48 @@
<script> <script>
import AddAndEditForm from './components/addAndEditForm.vue' import AddAndEditForm from './components/addAndEditForm.vue'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import {
getDocsCenterListAPI,
deleteDocsCenterAPI,
} from '@/api/dataManage/docs-center'
export default { export default {
name: 'DocsCenter', name: 'DocsCenter',
dicts: ['document_type'],
components: { components: {
AddAndEditForm, AddAndEditForm,
DialogModel, DialogModel,
}, },
data() { data() {
return { return {
tableData: [ total: 0,
{ editRow: null,
name: '产品1', tableData: [],
type: '智慧基建',
version: '1.0.0',
admin: '张三',
description: '描述',
createBy: 'admin',
},
{
name: '产品2',
type: '智慧后勤',
version: '1.0.0',
admin: '张三',
description: '描述',
createBy: 'admin',
},
],
queryParams: { queryParams: {
name: undefined, pageNum: 1,
type: undefined, pageSize: 10,
folderName: undefined,
fileType: undefined,
}, },
columns: [ columns: [
{ {
prop: 'name', prop: 'folderName',
label: '名称', label: '名称',
}, },
{ {
prop: 'type', prop: 'fileType',
label: '类型', label: '类型',
}, },
{ {
prop: 'admin', prop: 'isAdmin',
label: '管理员', label: '管理员',
}, },
{ {
prop: 'description', prop: 'remark',
label: '描述', label: '描述',
}, },
{ {
prop: 'createBy', prop: 'createUser',
label: '创建人', label: '创建人',
}, },
{ {
@ -215,15 +218,20 @@ export default {
methods: { methods: {
onHandleQuery() { onHandleQuery() {
console.log(this.queryParams) console.log(this.queryParams)
this.getDocsCenterListFun()
}, },
onResetQuery() { onResetQuery() {
this.queryParams = { this.queryParams = {
name: undefined, folderName: undefined,
type: undefined, fileType: undefined,
pageNum: 1,
pageSize: 10,
} }
this.getDocsCenterListFun()
}, },
onHandleAdd() { onHandleAdd() {
console.log('新增') console.log('新增')
this.editRow = null
this.dialogConfig.outerTitle = '新增' this.dialogConfig.outerTitle = '新增'
this.dialogConfig.outerVisible = true this.dialogConfig.outerVisible = true
}, },
@ -235,11 +243,23 @@ export default {
}, },
onHandleEdit(row) { onHandleEdit(row) {
console.log('编辑', row) console.log('编辑', row)
this.editRow = row
this.dialogConfig.outerTitle = '编辑' this.dialogConfig.outerTitle = '编辑'
this.dialogConfig.outerVisible = true this.dialogConfig.outerVisible = true
}, },
onHandleDelete(row) { onHandleDelete(row) {
console.log('删除', row) // console.log('', row)
this.$confirm('确定删除该文档中心吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
const res = await deleteDocsCenterAPI(row.id)
if (res.code === 200) {
this.$modal.msgSuccess('删除成功')
this.onHandleQuery()
}
})
}, },
// //
handleCloseDialogOuter() { handleCloseDialogOuter() {
@ -252,9 +272,16 @@ export default {
this.onHandleQuery() this.onHandleQuery()
} }
}, },
//
async getDocsCenterListFun() {
const res = await getDocsCenterListAPI(this.queryParams)
console.log(res, '9966699')
this.tableData = res?.rows
this.total = res?.total
},
}, },
created() { created() {
// this.onHandleQuery() this.getDocsCenterListFun()
}, },
} }
</script> </script>

View File

@ -10,13 +10,33 @@
> >
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="labelName">
<el-input v-model="addAndEditForm.name" /> <el-input
clearable
maxlength="50"
show-word-limit
placeholder="请输入名称"
v-model.trim="addAndEditForm.labelName"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="类型" prop="type"> <el-form-item label="类型" prop="typeId">
<el-input v-model="addAndEditForm.type" /> <el-select
clearable
filterable
style="width: 100%"
placeholder="请选择类型"
v-model="addAndEditForm.typeId"
@change="handleTypeIdChange"
>
<el-option
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in labelTypeList"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -36,52 +56,38 @@
<script> <script>
import TitleTip from '@/components/TitleTip' import TitleTip from '@/components/TitleTip'
import UploadFileFormData from '@/components/UploadFileFormData' import {
addDocsTagsAPI,
editDocsTagsAPI,
getLabelTypeListAPI,
} from '@/api/dataManage/docs-tags'
export default { export default {
name: 'AddAndEditForm', name: 'AddAndEditForm',
components: { TitleTip, UploadFileFormData }, components: { TitleTip },
props: {
editRow: {
type: Object,
default: () => {},
},
},
data() { data() {
return { return {
currentTab: '1', // Tab
// //
addAndEditForm: { addAndEditForm: {
name: '', // labelName: '', //
type: '', // typeId: '', //
file: [], // typeName: '', //
cover: [], //
version: '', //
belongProduct: '', //
description: '', //
}, },
// //
addAndEditFormRules: { addAndEditFormRules: {
name: [ labelName: [
{ required: true, message: '请输入名称', trigger: 'blur' }, { required: true, message: '请输入名称', trigger: 'blur' },
], ],
type: [ typeId: [
{ required: true, message: '请输入类型', trigger: 'blur' }, { required: true, message: '请输入类型', trigger: 'blur' },
], ],
file: [
{ required: true, message: '请上传附件', trigger: 'blur' },
],
cover: [
{ required: true, message: '请上传封面', trigger: 'blur' },
],
version: [
{
required: true,
message: '请输入版本',
trigger: 'blur',
},
],
description: [
{
required: true,
message: '请输入描述',
trigger: 'blur',
},
],
}, },
labelTypeList: [{ label: '智慧基建', value: 1 }],
} }
}, },
@ -98,13 +104,58 @@ export default {
this.$message.closeAll() this.$message.closeAll()
try { try {
await this.$refs.addAndEditForm.validate() await this.$refs.addAndEditForm.validate()
this.$message.success('保存成功')
const API = this.editRow ? editDocsTagsAPI : addDocsTagsAPI
const params = { ...this.addAndEditForm }
if (this.editRow) {
params.id = this.editRow.id
}
const res = await API(params)
if (res.code === 200) {
this.$message.success(
this.editRow ? '编辑成功' : '新增成功',
)
this.$emit('closeDialog', true) this.$emit('closeDialog', true)
} else {
this.$message.error(res.msg)
}
} catch (error) { } catch (error) {
// //
this.$message.error('请完善所有必填项后再保存') // this.$message.error('')
} }
}, },
// change
handleTypeIdChange(value) {
this.addAndEditForm.typeName = this.labelTypeList.find(
(item) => item.value === value,
)?.label
},
//
async getLabelTypeListFun() {
const res = await getLabelTypeListAPI()
console.log(res, '9966699')
// this.labelTypeList = res
},
},
created() {
this.getLabelTypeListFun()
},
watch: {
editRow: {
handler(newVal) {
if (newVal) {
const { labelName, typeId, typeName, id } = newVal
this.addAndEditForm = {
labelName,
typeId,
typeName,
}
}
},
immediate: true,
},
}, },
} }
</script> </script>

View File

@ -11,7 +11,7 @@
<el-input <el-input
clearable clearable
placeholder="请输入名称" placeholder="请输入名称"
v-model="queryParams.name" v-model.trim="queryParams.labelName"
@keyup.enter.native="onHandleQuery" @keyup.enter.native="onHandleQuery"
/> />
</el-form-item> </el-form-item>
@ -20,11 +20,14 @@
clearable clearable
filterable filterable
placeholder="选择类型" placeholder="选择类型"
v-model="queryParams.type" v-model="queryParams.typeId"
> >
<el-option value="1" label="智慧基建" /> <el-option
<el-option value="2" label="智慧后勤" /> :key="item.value"
<el-option value="3" label="数智装备" /> :label="item.label"
:value="item.value"
v-for="item in labelTypeList"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -129,6 +132,14 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 -->
<Pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDocsTagsListFun"
/>
<!-- 新增和编辑表单 --> <!-- 新增和编辑表单 -->
<DialogModel <DialogModel
@ -136,7 +147,7 @@
@closeDialogOuter="handleCloseDialogOuter" @closeDialogOuter="handleCloseDialogOuter"
> >
<template #outerContent> <template #outerContent>
<AddAndEditForm @closeDialog="closeDialog" /> <AddAndEditForm :editRow="editRow" @closeDialog="closeDialog" />
</template> </template>
</DialogModel> </DialogModel>
</div> </div>
@ -145,6 +156,10 @@
<script> <script>
import AddAndEditForm from './components/addAndEditForm.vue' import AddAndEditForm from './components/addAndEditForm.vue'
import DialogModel from '@/components/DialogModel' import DialogModel from '@/components/DialogModel'
import {
getDocsTagsListAPI,
deleteDocsTagsAPI,
} from '@/api/dataManage/docs-tags'
export default { export default {
name: 'DocsTags', name: 'DocsTags',
components: { components: {
@ -153,40 +168,27 @@ export default {
}, },
data() { data() {
return { return {
tableData: [ tableData: [],
{ total: 0,
name: '产品1', editRow: null,
type: '智慧基建',
version: '1.0.0',
tags: '标签',
description: '描述',
createBy: 'admin',
},
{
name: '产品2',
type: '智慧后勤',
version: '1.0.0',
tags: '标签',
description: '描述',
createBy: 'admin',
},
],
queryParams: { queryParams: {
name: undefined, pageNum: 1,
type: undefined, pageSize: 10,
labelName: undefined,
typeId: undefined,
}, },
columns: [ columns: [
{ {
prop: 'name', prop: 'labelName',
label: '名称', label: '名称',
}, },
{ {
prop: 'type', prop: 'typeName',
label: '类型', label: '类型',
}, },
{ {
prop: 'createBy', prop: 'userName',
label: '创建人', label: '创建人',
}, },
{ {
@ -199,24 +201,37 @@ export default {
outerTitle: '新增', outerTitle: '新增',
outerVisible: false, outerVisible: false,
outerWidth: '70%', outerWidth: '70%',
minHeight: '50vh', minHeight: '',
maxHeight: '90vh', maxHeight: '',
}, },
labelTypeList: [{ label: '智慧基建', value: 1 }],
} }
}, },
methods: { methods: {
onHandleQuery() { onHandleQuery() {
console.log(this.queryParams) this.getDocsTagsListFun()
},
//
async getDocsTagsListFun() {
const res = await getDocsTagsListAPI(this.queryParams)
console.log(res)
this.tableData = res?.rows
this.total = res?.total
}, },
onResetQuery() { onResetQuery() {
this.queryParams = { this.queryParams = {
name: undefined, pageNum: 1,
type: undefined, pageSize: 10,
labelName: undefined,
typeId: undefined,
} }
this.getDocsTagsListFun()
}, },
onHandleAdd() { onHandleAdd() {
console.log('新增')
this.dialogConfig.outerTitle = '新增' this.dialogConfig.outerTitle = '新增'
this.editRow = null
this.dialogConfig.outerVisible = true this.dialogConfig.outerVisible = true
}, },
onHandleImport() { onHandleImport() {
@ -226,12 +241,22 @@ export default {
console.log('导出') console.log('导出')
}, },
onHandleEdit(row) { onHandleEdit(row) {
console.log('编辑', row) this.editRow = row
this.dialogConfig.outerTitle = '编辑' this.dialogConfig.outerTitle = '编辑'
this.dialogConfig.outerVisible = true this.dialogConfig.outerVisible = true
}, },
onHandleDelete(row) { onHandleDelete(row) {
console.log('删除', row) this.$confirm('确定删除该文档标签吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
const res = await deleteDocsTagsAPI(row.id)
if (res.code === 200) {
this.$message.success('删除成功')
this.onHandleQuery()
}
})
}, },
// //
handleCloseDialogOuter() { handleCloseDialogOuter() {
@ -246,7 +271,7 @@ export default {
}, },
}, },
created() { created() {
// this.onHandleQuery() this.getDocsTagsListFun()
}, },
} }
</script> </script>