|
@@ -1,48 +1,77 @@
|
|
|
<template>
|
|
|
- <div style="background:white;">
|
|
|
+ <div style="background:white;min-width:1100px">
|
|
|
<div style="height:50px">
|
|
|
- <div style="display:inline-block;margin-left:20px">
|
|
|
- <el-dropdown size="medium" style="margin-top:10px;margin-right:20px" v-if="$permission('/pcs/report/add')">
|
|
|
- <el-button type="primary" size="small" >
|
|
|
- 创建报告<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
+ <div style="display:inline-block;margin-left:20px;display:flex;justify-content: space-between;align-items:center">
|
|
|
+ <el-dropdown size="small" style="margin-right:20px" v-if="$permission('/pcs/report/add')">
|
|
|
+ <el-button type="primary" size="small" >
|
|
|
+ 创建报告<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
<el-dropdown-menu slot="dropdown" style="margin-top:0px" v-if="dictMessage.REPORT_TYPE">
|
|
|
<!-- 遍历按钮 -->
|
|
|
<el-dropdown-item v-for="item in dictMessage.REPORT_TYPE.filter(item=>!['6'].includes(item.dictChildValue))" :key="item.dictChildLabel" @click.native="handleAnalyse(item.dictChildValue)" v-if="$permission('/pcs/report/add/'+item.permission)">{{item.dictChildLabel}}</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
-
|
|
|
- <el-input v-model="queryParams.signPatentNo" placeholder="请输入标的专利" style="margin-left:100px; width: 200px;" size="small"></el-input>
|
|
|
- <el-button type="primary" @click="getList" style="margin-left: 10px;" size="small">🔍</el-button>
|
|
|
+ <div style="margin-left:20px;height:50px">
|
|
|
+ <el-form :inline="true" :model="queryParams" style="white-space: nowrap;">
|
|
|
+ <el-form-item label="标的专利/产品">
|
|
|
+ <el-input v-model="queryParams.signPatentNo" placeholder="请输入标的专利/产品" size="small" style="width:150px"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="报告类型">
|
|
|
+ <el-select v-model="queryParams.types" multiple clearable size="small" v-if="dictMessage.REPORT_TYPE" style="width:150px">
|
|
|
+ <el-option v-for="item in dictMessage.REPORT_TYPE.filter(item=>!['6'].includes(item.dictChildValue))" :key="item.dictChildLabel" :label="item.dictChildLabel" :value="item.dictChildValue"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="核心结论">
|
|
|
+ <el-select v-model="queryParams.cronIds" size="small" multiple clearable style="width:150px">
|
|
|
+ <el-option v-for="item in ConclusionList.filter(item=>{return this.queryParams.types.length>0?this.queryParams.types.indexOf(item.rType.toString()) != -1:item.cTypeId!=''})" :key="item.cType" :label="item.cTypeName" :value="item.cType">
|
|
|
+ <span style="float: left">{{ item.cTypeName }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px;margin-left:10px">{{ item.rTypeName }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="getList2" style="margin-left: 10px;" size="small">🔍</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ <!-- <el-button type="warning" size="small" style="display: inline-block;margin-right: 10px;" @click="handleField">显示栏位管理</el-button> -->
|
|
|
+ <div style="margin-right: 10px;display: inline-block;">
|
|
|
+
|
|
|
+ <el-button-group style="display:flex;justify-content:flex-start">
|
|
|
+ <el-button size="small" :type="queryShowType === '2' ? 'primary' : ''" @click="onChange2('2')" >可视化</el-button>
|
|
|
+ <el-button :type="queryShowType === '0' ? 'primary' : ''" @click="onChange2('0')" size="small">列表 </el-button>
|
|
|
+ <el-button :type="queryShowType === '1' ? 'primary' : ''" @click="onChange2('1')" size="small">卡片</el-button>
|
|
|
+ </el-button-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
<!-- <div> -->
|
|
|
|
|
|
<!-- </div> -->
|
|
|
- <div class="right">
|
|
|
- <!-- <el-button type="warning" size="small" style="display: inline-block;margin-right: 10px;" @click="handleField">显示栏位管理</el-button> -->
|
|
|
- <div style="margin-top: 10px;margin-right: 10px;display: inline-block;">
|
|
|
- <!-- <el-button size="small" type="primary" @click="reportVisual" style="margin-right:10px">报告可视化</el-button> -->
|
|
|
- <el-button-group>
|
|
|
- <el-button :type="queryShowType === '0' ? 'primary' : ''" @click="onChange2('0')" size="small">列表 </el-button>
|
|
|
- <el-button :type="queryShowType === '1' ? 'primary' : ''" @click="onChange2('1')" size="small">卡片</el-button>
|
|
|
- </el-button-group>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+
|
|
|
</div>
|
|
|
|
|
|
<el-main class="workspace-main" v-loading="loading">
|
|
|
- <component :is="viewType" :data="dataList" :state="state" :group="queryParams.group" :params="queryParams" @option="handleOption" @sort="handleSort" @getRow="getRow"></component>
|
|
|
- <div style="text-align: center;">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="total,sizes, prev, pager, next, jumper"
|
|
|
- :current-page.sync="queryParams.current"
|
|
|
- :page-sizes="pageSize"
|
|
|
- :page-size.sync="queryParams.size"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- :total="total">
|
|
|
- </el-pagination>
|
|
|
+ <div v-if="queryShowType == 2">
|
|
|
+ <Report-Visual ref="reportVisual" @params="getParams"></Report-Visual>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <component :is="viewType" :data="dataList" :state="state" :group="queryParams.group" :params="queryParams" @option="handleOption" @sort="handleSort" @getRow="getRow"></component>
|
|
|
+ <div style="text-align: center;">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ layout="total,sizes, prev, pager, next, jumper"
|
|
|
+ :current-page.sync="queryParams.current"
|
|
|
+ :page-sizes="pageSize"
|
|
|
+ :page-size.sync="queryParams.size"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-main>
|
|
|
<!-- 弹窗创建报告 -->
|
|
@@ -90,6 +119,7 @@ import ProjectFileDrawer from "./components/File.vue";
|
|
|
import { downLoad2 } from "@/utils";
|
|
|
|
|
|
import shareReport from './components/share/shareReport.vue';
|
|
|
+import ReportVisual from './components/visual/reportVisual.vue';
|
|
|
export default {
|
|
|
components: {
|
|
|
ReportTabel,
|
|
@@ -98,7 +128,8 @@ export default {
|
|
|
ProjectField,
|
|
|
ReportTemplate,
|
|
|
ProjectFileDrawer,
|
|
|
- shareReport
|
|
|
+ shareReport,
|
|
|
+ ReportVisual
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -111,11 +142,22 @@ export default {
|
|
|
viewType: 'ReportTabel',
|
|
|
// state: ["开卷审核中","创建中", "处理中", "完成","取消开卷","补资料中"],
|
|
|
queryParams: {
|
|
|
+ cronIds:[],
|
|
|
+ types:[],
|
|
|
group: [],
|
|
|
size: 10,
|
|
|
current: 1,
|
|
|
signPatentNo:"",
|
|
|
},
|
|
|
+ reportAsDicItem:{
|
|
|
+ "0":"INVALID_ASSESS",
|
|
|
+ "1":"THIRD_ASSESS",
|
|
|
+ "2":"STABILITY_ASSESS",
|
|
|
+ "3":"FTO_ASSESS",
|
|
|
+ "4":"TORT_ASSESS",
|
|
|
+ "5":"AVOID_ASSESS",
|
|
|
+ },
|
|
|
+ ConclusionList:[],
|
|
|
pageSize:[10,"全部"],
|
|
|
total: 0,
|
|
|
loading: false,
|
|
@@ -144,7 +186,6 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-
|
|
|
return a
|
|
|
},
|
|
|
state(){
|
|
@@ -160,11 +201,23 @@ export default {
|
|
|
|
|
|
}
|
|
|
},
|
|
|
+ watch:{
|
|
|
+ },
|
|
|
mounted() {
|
|
|
this.getList()
|
|
|
+ this.getConclusion()//获取核心结论
|
|
|
},
|
|
|
methods: {
|
|
|
-
|
|
|
+
|
|
|
+ //获取核心结论
|
|
|
+ getConclusion(){
|
|
|
+ this.$api.getConclusion([]).then(response=>{
|
|
|
+ if(response.code == 200){
|
|
|
+ this.ConclusionList = response.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
handleSizeChange(val) {
|
|
|
// this.queryParams.size = null
|
|
|
// this.queryParams.current = null
|
|
@@ -500,8 +553,35 @@ export default {
|
|
|
this.getList()
|
|
|
this.handleChangeView()
|
|
|
},
|
|
|
+ getList2(){
|
|
|
+ this.getList()
|
|
|
+ this.reportVisual()
|
|
|
+ },
|
|
|
+ getParams(params){
|
|
|
+ console.log(params)
|
|
|
+ this.queryParams.cronIds=[params.conclusionType]
|
|
|
+ this.queryShowType = '0'
|
|
|
+ this.getList2()
|
|
|
+
|
|
|
+ },
|
|
|
+ reportVisual() {
|
|
|
+ this.$api.reportVisual(this.queryParams).then(response=>{
|
|
|
+ if(response.code == 200){
|
|
|
+ this.$refs.reportVisual.open(response.data)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
onChange2(type) {
|
|
|
this.queryShowType = type
|
|
|
+ if(type == 2){
|
|
|
+
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.reportVisual()
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+ return false
|
|
|
+ }
|
|
|
this.queryParams.size = this.queryShowType === '0' ? 10 : 12
|
|
|
this.onChange()
|
|
|
},
|
|
@@ -541,7 +621,7 @@ export default {
|
|
|
})
|
|
|
|
|
|
},
|
|
|
- reportVisual() { },
|
|
|
+
|
|
|
},
|
|
|
}
|
|
|
</script>
|