接口调试
This commit is contained in:
parent
f77ef19a43
commit
339daad1ce
|
|
@ -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: {},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -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: {},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue