接口调试

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-col :span="12">
<el-form-item label="名称" prop="name">
<el-input v-model="addAndEditForm.name" />
<el-form-item label="名称" prop="folderName">
<el-input
clearable
maxlength="50"
show-word-limit
placeholder="请输入名称"
v-model.trim="addAndEditForm.folderName"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="type">
<el-input v-model="addAndEditForm.type" />
<el-form-item label="类型" prop="fileType">
<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-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="管理员" prop="admin">
<el-input v-model="addAndEditForm.admin" />
<el-form-item label="管理员" prop="userIds">
<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-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="描述" prop="description">
<el-form-item label="描述" prop="remark">
<el-input
clearable
type="textarea"
show-word-limit
maxlength="120"
placeholder="请输入描述"
:autosize="{ minRows: 3, maxRows: 6 }"
v-model="addAndEditForm.description"
v-model="addAndEditForm.remark"
/>
</el-form-item>
</el-col>
@ -58,44 +93,50 @@
<script>
import TitleTip from '@/components/TitleTip'
import UploadFileFormData from '@/components/UploadFileFormData'
import {
getAdminUserListAPI,
addDocsCenterAPI,
editDocsCenterAPI,
} from '@/api/dataManage/docs-center'
export default {
name: 'AddAndEditForm',
components: { TitleTip, UploadFileFormData },
props: {
editRow: {
type: Object,
default: () => {},
},
},
dicts: ['document_type'],
data() {
return {
currentTab: '1', // Tab
//
addAndEditForm: {
name: '', //
type: '', //
file: [], //
cover: [], //
version: '', //
belongProduct: '', //
description: '', //
folderName: '',
fileType: '',
userIds: [],
remark: '',
},
//
addAndEditFormRules: {
name: [
folderName: [
{ required: true, message: '请输入名称', trigger: 'blur' },
],
type: [
{ required: true, message: '请输入类型', trigger: 'blur' },
],
file: [
{ required: true, message: '请上传附件', trigger: 'blur' },
],
cover: [
{ required: true, message: '请上传封面', trigger: 'blur' },
],
version: [
fileType: [
{
required: true,
message: '请输入版本',
trigger: 'blur',
message: '请选择类型',
trigger: 'change',
},
],
description: [
userIds: [
{
required: true,
message: '请选择管理员',
trigger: 'change',
},
],
remark: [
{
required: true,
message: '请输入描述',
@ -103,6 +144,8 @@ export default {
},
],
},
adminUserList: [],
}
},
@ -118,15 +161,60 @@ export default {
async handleSave() {
this.$message.closeAll()
try {
await this.$refs.addAndEditForm.validate()
const API = this.editRow ? editDocsCenterAPI : addDocsCenterAPI
const { folderName, fileType, userIds, remark } =
this.addAndEditForm
this.$message.success('保存成功')
this.$emit('closeDialog', true)
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)
} else {
this.$message.error(res.msg)
}
} 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>

View File

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

View File

@ -10,13 +10,33 @@
>
<el-row>
<el-col :span="12">
<el-form-item label="名称" prop="name">
<el-input v-model="addAndEditForm.name" />
<el-form-item label="名称" prop="labelName">
<el-input
clearable
maxlength="50"
show-word-limit
placeholder="请输入名称"
v-model.trim="addAndEditForm.labelName"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="type">
<el-input v-model="addAndEditForm.type" />
<el-form-item label="类型" prop="typeId">
<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-col>
</el-row>
@ -36,52 +56,38 @@
<script>
import TitleTip from '@/components/TitleTip'
import UploadFileFormData from '@/components/UploadFileFormData'
import {
addDocsTagsAPI,
editDocsTagsAPI,
getLabelTypeListAPI,
} from '@/api/dataManage/docs-tags'
export default {
name: 'AddAndEditForm',
components: { TitleTip, UploadFileFormData },
components: { TitleTip },
props: {
editRow: {
type: Object,
default: () => {},
},
},
data() {
return {
currentTab: '1', // Tab
//
addAndEditForm: {
name: '', //
type: '', //
file: [], //
cover: [], //
version: '', //
belongProduct: '', //
description: '', //
labelName: '', //
typeId: '', //
typeName: '', //
},
//
addAndEditFormRules: {
name: [
labelName: [
{ required: true, message: '请输入名称', trigger: 'blur' },
],
type: [
typeId: [
{ 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()
try {
await this.$refs.addAndEditForm.validate()
this.$message.success('保存成功')
this.$emit('closeDialog', true)
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)
} else {
this.$message.error(res.msg)
}
} 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>

View File

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