上传报告接口对接

This commit is contained in:
yuekuo
2023-04-20 15:13:19 +08:00
parent f9eb268d62
commit 4f02e9d1c8
3 changed files with 99 additions and 134 deletions
+9
View File
@@ -41,6 +41,14 @@ export default {
method: 'POST' method: 'POST'
}) })
}, },
// 标签列表
labelNodeList (data) {
return request({
url: `api/tree-label/labelList/${data.id}`,
method: 'GET',
params: data
})
},
labelUpdate(data){ labelUpdate(data){
return request({ return request({
url: 'api/tree-label/update', url: 'api/tree-label/update',
@@ -48,6 +56,7 @@ labelUpdate(data){
data data
}) })
}, },
// 新增或编辑报告 // 新增或编辑报告
reportAdd (data) { reportAdd (data) {
return request({ return request({
+85 -130
View File
@@ -162,8 +162,22 @@
<el-input v-model="reportF.name" placeholder="请填写" maxlength="100" show-word-limit></el-input> <el-input v-model="reportF.name" placeholder="请填写" maxlength="100" show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<vue-tags-input placeholder="请输入关键词" v-model="reportF.keyContent" :tags="tags" <vue-tags-input placeholder="请输入关键词" v-model="reportF.tags" :tags="tags"
@tags-changed="newTags => tags = newTags" /> @tags-changed=" newTags =>{
if(newTags[newTags.length - 1].text.length < 20){
if(tags.length < 10){
tags = newTags
}else{
this.$message({type:'error',message:'关键词数量不能超过10个'})
tags = newTags.slice(0,-1)
}
}
else{
this.$message({type:'error',message:'单个关键词不能超过20个字'})
tags = newTags.slice(0,-1)
}
}" />
</el-form-item> </el-form-item>
<el-form-item label="内容摘要:"> <el-form-item label="内容摘要:">
<el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea" maxlength="500" <el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea" maxlength="500"
@@ -173,14 +187,14 @@
<el-input v-model="reportF.department" placeholder="请填写" maxlength="100" show-word-limit></el-input> <el-input v-model="reportF.department" placeholder="请填写" maxlength="100" show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="报告涉密等级:"> <el-form-item label="报告涉密等级:">
<el-select v-model="reportF.secretLevel" placeholder="请选择报告涉密等级"> <el-select v-model="reportF.confidentialLevel" placeholder="请选择报告涉密等级">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in confidentialLevelOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报告隐私等级:"> <el-form-item label="报告隐私等级:">
<el-select v-model="reportF.privacyLevel" placeholder="请选择报告隐私等级"> <el-select v-model="reportF.privacyLevel" placeholder="请选择报告隐私等级">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in privacyLevelOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -205,7 +219,7 @@
prefix-icon="null" :picker-options="pickerOptions" /> prefix-icon="null" :picker-options="pickerOptions" />
</el-form-item> </el-form-item>
<el-form-item label="标签:" required> <el-form-item label="标签:" required>
<el-cascader width="100%" v-model="reportF.label" :options="cascaderOptions" filterable <el-cascader width="100%" v-model="reportF.labelList" :options="cascaderOptions" filterable
:props="{ checkStrictly: true }" clearable> :props="{ checkStrictly: true }" clearable>
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
@@ -279,66 +293,37 @@ export default {
dialogTags: false, // 标签维护 dialogTags: false, // 标签维护
filterText: '', filterText: '',
treeData: [ treeData: [
{
id: 0,
label: '根节点',
children: [
{
id: 1,
label: '一级 1',
children: [
{
id: 4,
label: '二级 1-1',
children: [
{
id: 9,
label: '三级 1-1-1'
},
{
id: 10,
label: '三级 1-1-2'
}
]
}
]
},
{
id: 2,
label: '一级 2',
children: [
{
id: 5,
label: '二级 2-1'
},
{
id: 6,
label: '二级 2-2'
}
]
},
{
id: 3,
label: '一级 3',
children: [
{
id: 7,
label: '二级 3-1'
},
{
id: 8,
label: '二级 3-2'
}
]
},
]
}
], ],
options:[ privacyLevelOptions:[
{ {
value:'1', value:'外部公开',
label:'1' label:'外部公开'
},
{
value:'普通商密',
label:'普通商密'
},
{
value:'核心商密',
label:'核心商密'
},
{
value:'内部公开',
label:'内部公开'
},
{
value:'用户信息',
label:'用户信息'
},
{
value:'敏感信息',
label:'敏感信息'
},
],
confidentialLevelOptions:[
{
value:'一般隐私',
label:'一般隐私'
} }
], ],
tagsForm: { tagsForm: {
@@ -390,41 +375,14 @@ export default {
tag: [] tag: []
}, },
tag: '', tag: '',
tags: [], tags: [''],
labelOne: {}, labelOne: {},
labelTwo: {}, labelTwo: {},
labelThree: {}, labelThree: {},
mode: '', mode: '',
userList: [], userList: [],
cascaderOptions: [{ cascaderOptions: [
value: 1, ],
label: '东南',
children: [{
value: 2,
label: '上海',
children: [
{ value: 3, label: '普陀' },
{ value: 4, label: '黄埔' },
{ value: 5, label: '徐汇' }
]
}, {
value: 7,
label: '江苏',
children: [
{ value: 8, label: '南京' },
{ value: 9, label: '苏州' },
{ value: 10, label: '无锡' }
]
}, {
value: 12,
label: '浙江',
children: [
{ value: 13, label: '杭州' },
{ value: 14, label: '宁波' },
{ value: 15, label: '嘉兴' }
]
}]
}],
pickerOptions: { pickerOptions: {
disabledDate(time) { disabledDate(time) {
return time.getFullYear() > new Date().getFullYear() + 1 || time.getFullYear() < new Date().getFullYear() - 10; return time.getFullYear() > new Date().getFullYear() + 1 || time.getFullYear() < new Date().getFullYear() - 10;
@@ -468,12 +426,14 @@ export default {
updateList(){ updateList(){
this.$api.report.labelList().then(res => { this.$api.report.labelList().then(res => {
this.treeData=res.data this.treeData=res.data
this.cascaderOptions=res.data
}) })
this.$forceUpdate() this.$forceUpdate()
}, },
getTreeLabel(){ getTreeLabel(){
this.$api.report.labelList().then(res => { this.$api.report.labelList().then(res => {
this.treeData=res.data this.treeData=res.data
this.cascaderOptions=res.data
}) })
}, },
//标签搜索 //标签搜索
@@ -508,7 +468,6 @@ export default {
}) })
.catch(_ => { }); .catch(_ => { });
}, },
/* 权限全选 */ /* 权限全选 */
selectAll() { selectAll() {
this.reportF.reportUserIdList = []; this.reportF.reportUserIdList = [];
@@ -792,24 +751,18 @@ export default {
openReportAdd() { openReportAdd() {
this.mode = 'add'; this.mode = 'add';
this.reportF = { this.reportF = {
name: '', // 报告名称 name: '', // 报告名称
tags: '', // 关键词 mainContent: '', // 内容摘要
mainContent: '', // 内容摘要 department: '', // 报告所属部门
department: '', // 报告所属部门 fileName: '', // 文件上传
fileName: '', // 文件上传
fileId: '', fileId: '',
year: '', // 报告年份 year: '', // 报告年份
secretLevel: '', //涉密等级 privacyLevel: undefined, //报告隐私等级
privacyLevel: '', //报告隐私等级 reportUserIdList: [], // 权限
// labelOneId: '', // 标签1 confidentialLevel:undefined, //涉密等级
// labelOneName: '', // 标签1 labelList:[] //标签
// labelTwoId: '', // 标签2
// labelTwoName: '', // 标签2
// labelThreeId: '', // 标签3
// labelThreeName: '', // 标签3
reportUserIdList: [], // 权限
}; };
this.tags = [] this.tags = [] // 关键词
// this.labelOne = {}; // this.labelOne = {};
// this.labelTwo = {}; // this.labelTwo = {};
// this.labelThree = {}; // this.labelThree = {};
@@ -844,8 +797,8 @@ export default {
if (!this.reportF.year) { if (!this.reportF.year) {
return this.$message.warning('请检查报告年份') && false; return this.$message.warning('请检查报告年份') && false;
} }
if (!this.reportF.label) { if (!this.reportF.labelList) {
return this.$message.warning('请检查报告年份') && false; return this.$message.warning('请检查标签') && false;
} }
// if (!this.reportF.labelOneId || !this.reportF.labelOneName || this.reportF.labelOneName === '-' ) { // if (!this.reportF.labelOneId || !this.reportF.labelOneName || this.reportF.labelOneName === '-' ) {
// return this.$message.warning(`请检查${this.tagsForm.tags01.name}`) && false; // return this.$message.warning(`请检查${this.tagsForm.tags01.name}`) && false;
@@ -864,7 +817,9 @@ export default {
// 新增或编辑报告 // 新增或编辑报告
reportAdd() { reportAdd() {
if (!this.checkReportF()) return; if (!this.checkReportF()) return;
this.$api.report.reportAdd({ ...this.reportF, tags: this.tags }).then(_ => { this.reportF.keyContent = JSON.stringify(this.tags)
delete this.reportF.tags
this.$api.report.reportAdd({ ...this.reportF}).then(_ => {
this.$message.success('操作成功'); this.$message.success('操作成功');
this.dialogReport = false; this.dialogReport = false;
this.reset(); this.reset();
@@ -903,23 +858,23 @@ export default {
// 打开报告上传 // 打开报告上传
openReportModify(mode, row) { openReportModify(mode, row) {
this.mode = mode; this.mode = mode;
this.labelList(); // this.labelList();
let rowData = JSON.parse(JSON.stringify(row)); let rowData = JSON.parse(JSON.stringify(row));
if (rowData.labelOneName !== '-') { // if (rowData.labelOneName !== '-') {
this.labelOne = { id: rowData.labelOneId, rowData: rowData.labelOneName }; // this.labelOne = { id: rowData.labelOneId, rowData: rowData.labelOneName };
} else { // } else {
this.labelOne = {}; // this.labelOne = {};
} // }
if (rowData.labelTwoName !== '-') { // if (rowData.labelTwoName !== '-') {
this.labelTwo = { id: rowData.labelTwoId, name: rowData.labelTwoName }; // this.labelTwo = { id: rowData.labelTwoId, name: rowData.labelTwoName };
} else { // } else {
this.labelTwo = {}; // this.labelTwo = {};
} // }
if (rowData.labelThreeName !== '-') { // if (rowData.labelThreeName !== '-') {
this.labelThree = { id: rowData.labelThreeId, name: rowData.labelThreeName }; // this.labelThree = { id: rowData.labelThreeId, name: rowData.labelThreeName };
} else { // } else {
this.labelThree = {}; // this.labelThree = {};
} // }
this.reportF = rowData; this.reportF = rowData;
this.dialogReport = true; this.dialogReport = true;
}, },
@@ -42,8 +42,8 @@ export default {
label:undefined, label:undefined,
name:'', name:'',
sort:'', sort:'',
orderNum:'',
tip:'' remark:''
}, },
cascaderOptions:[ cascaderOptions:[
@@ -76,8 +76,9 @@ export default {
this.cascaderOptions=res.data this.cascaderOptions=res.data
}) })
if (node && data) { if (node && data) {
this.showAddOrUpdateLabel = true this.$api.report.labelNodeList(data).then(res=>{
this.form.nodeLabel = node.parent.data.label this.form.nodeLabel=res.data
})
this.form.label = data.label this.form.label = data.label
this.form.orderNum = data.orderNum this.form.orderNum = data.orderNum
this.form.remark = data.remark this.form.remark = data.remark