소스 검색

修改租户管理、登录、拆分特征时可查看详情、在对比方案添加导出报告功能

zhuliu 2 년 전
부모
커밋
d24cd4793e

+ 5 - 1
RMS-FrontEnd/src/views/layout/components/clientManage.vue

@@ -10,7 +10,11 @@
         </el-form-item>
       </el-form>
       <el-table v-loading="loading" :data="tableData" border header-row-class-name="custom-table-header">
-        <el-table-column type="index" label="#" width="55" align="center"></el-table-column>
+        <el-table-column type="index" label="#" width="55" align="center">
+          <template slot-scope="scope">
+          <span>{{ (scope.$index + 1) + ((queryParams.current - 1) * queryParams.size) }}</span>
+        </template>
+        </el-table-column>
         <el-table-column prop="name" label="客户名称" align="center" show-overflow-tooltip></el-table-column>
         <el-table-column prop="personnelName" label="客户对接人" align="center" show-overflow-tooltip></el-table-column>
         <el-table-column prop="remark" label="备注" align="center" show-overflow-tooltip></el-table-column>

+ 45 - 2
RMS-FrontEnd/src/views/login/index.vue

@@ -5,7 +5,7 @@
         <div class="login-time">{{ time.txt }}</div>
         <div class="login-left-box">
           <div>
-            <div class="logo">{{ getThemeConfig.globalViceTitle }}</div>
+            <!-- <div class="logo">{{ getThemeConfig.globalViceTitle }}</div>
             <h2 class="title">{{ getThemeConfig.globalViceDes }}</h2>
             <div class="msg">
               <div class="msg-author">
@@ -13,6 +13,15 @@
                 <span>{{ quotations.comeFrom }}</span>
               </div>
               <div class="msg-txt">{{ quotations.content }}</div>
+            </div> -->
+            <div class="workspace-visual-about-header1">
+              <div>知识产权风控与组织记忆系统</div>
+              <div>Intellectual property risk Control and organizational memory system</div>
+            </div>
+            <div class="workspace-visual-about-content1">
+              <p>专利制度是企业参与市场竞争特别是国际化竞争所不能绕开的,只有充分的、熟练的掌握并利用好专利制度,才能在市场竞争中游刃有余,进而取得最大化的商业利益、国家利益。</p>
+              <p>知识产权分析是在专利制度的框架下,充分利用现有的产业和专利信息,运用大数据和专利分析的手段与方法进行分析、梳理、总结、判断,发现问题并给出解决问题的方案。</p>
+              <p>本系统为用户提供了一种知识产权风控体系和组织记忆的操作思路和方法,通过解决企业具体问题场景的方式,为用户提供了具有可操作性的参考,并由此协助企业形成自主知识传承、叠加、不断衍化提升并且能够重复再应用的核心智谋知识系统。</p>
             </div>
           </div>
         </div>
@@ -244,6 +253,40 @@ export default {
 </script>
 
 <style lang="scss">
+.workspace-visual-about-header1 {
+    text-align: center;
+    div:first-child {
+      font-weight: bold;
+      font-size: 28px;
+      color: #3084e5;
+    }
+    div:last-child {
+      font-weight: 600;
+      font-size: 10px;
+      letter-spacing: 0.07em;
+      text-align: center;
+      color: #33233e;
+    }
+  }
+  .workspace-visual-about-content1 {
+    margin-top: 10px;
+    // width: 760px;
+    // height: 280px;
+    border-radius: 15px;
+    background: transparent;
+    // border: 1px solid #e5e5e5;
+    p {
+      text-indent: 2em;
+      margin: 10px;
+      // width: 719px;
+      // height: 52px;
+      font-weight: 400;
+      font-size: 15px;
+      // line-height: 30px;
+      text-align: left;
+      color: #33233e;
+    }
+  }
 .login {
   height: 100%;
   width: 100%;
@@ -292,7 +335,7 @@ export default {
         z-index: 1;
         display: flex;
         align-items: center;
-        padding: 80px 45px;
+        padding: 80px 20px;
         .logo {
           font-size: 22px;
           margin-bottom: 15px;

+ 82 - 65
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Claims.vue

@@ -11,77 +11,89 @@
         <el-button @click="tasks" type="primary">协同任务</el-button>
       </div> -->
     </div>
-    <!-- table -->
     <div>
-      <!-- table按钮部分 -->
-      <div style="margin-top:20px;display: flex;justify-content: space-between;">
-        <el-button-group  v-if="show" >
-            <el-button @click="merge" :disabled="row.length>0?false:true">合并</el-button>
-            <el-button @click="split" :disabled="row.length>0?false:true">拆分</el-button>
-        </el-button-group>
-        <div>
-          <el-select placeholder="请选择拆分类型" v-model="splitType1" style="margin-left: 50px;" @change="splitTypeSelect($event)" >
-              <el-option label="仅拆主权要" value="0"></el-option>
-              <el-option label="全部拆分" value="1"></el-option>
-          </el-select>
-          <el-select placeholder="请选择拆分符号" v-model="splitBy1" style="margin-left: 10px;" @change="splitBySelect($event)">
-              <el-option label="逗号拆分" value="0"></el-option>
-              <el-option label="分号拆分" value="1"></el-option>
-              <el-option label="逗号和分号拆分" value="2"></el-option>
-          </el-select>
-          <el-select placeholder="请选择显示类型" v-model="Type" style="margin-left: 10px;" @change="TypeSelect($event)" >
-              <el-option label="仅显示主权要" value="1"></el-option>
-              <el-option label="全部显示" value="0"></el-option>
-          </el-select>
-        </div>
-        <el-button @click="keep" type="primary" style="float: right;" :loading="btnLoading">保存</el-button>
-      </div>
-      <!-- 表格部分 -->
-      <el-table
-        :data="tableData"
-        ref="table"
-        border
-        :height="tableHeight"
-        :span-method="objectSpanMethod"
-        v-loading="loading"
-        style="min-width: 100%; margin-top: 20px;overflow:auto">
+       <!-- table按钮部分 -->
+       <div style="margin-top:20px;display: flex;justify-content: space-between;">
+              <el-button-group  v-if="show" >
+                  <el-button @click="merge" :disabled="row.length>0?false:true">合并</el-button>
+                  <el-button @click="split" :disabled="row.length>0?false:true">拆分</el-button>
+              </el-button-group>
+              <div>
+                <el-select placeholder="请选择拆分类型" v-model="splitType1" style="margin-left: 50px;" @change="splitTypeSelect($event)" >
+                    <el-option label="仅拆主权要" value="0"></el-option>
+                    <el-option label="全部拆分" value="1"></el-option>
+                </el-select>
+                <el-select placeholder="请选择拆分符号" v-model="splitBy1" style="margin-left: 10px;" @change="splitBySelect($event)">
+                    <el-option label="逗号拆分" value="0"></el-option>
+                    <el-option label="分号拆分" value="1"></el-option>
+                    <el-option label="逗号和分号拆分" value="2"></el-option>
+                </el-select>
+                <el-select placeholder="请选择显示类型" v-model="Type" style="margin-left: 10px;" @change="TypeSelect($event)" >
+                    <el-option label="仅显示主权要" value="1"></el-option>
+                    <el-option label="全部显示" value="0"></el-option>
+                </el-select>
+              </div>
+              <div>
+                <el-button @click="width='50%'" v-if="width=='100%'"> 查看详情</el-button>
+                <el-button @click="width='100%'" v-else> 关闭详情</el-button>
+                <el-button @click="keep" type="primary" style="float: right;" :loading="btnLoading">保存</el-button>
+              </div>
+              
+            </div>
+    <el-container>
+      <el-aside :style="{width:width,border:0}">
+            <!-- 表格部分 -->
+            <el-table
+              :data="tableData"
+              ref="table"
+              border
+              :height="tableHeight"
+              :span-method="objectSpanMethod"
+              v-loading="loading"
+              style="min-width: 100%; margin-top: 20px;overflow:auto">
 
-        <el-table-column prop="pRightName" label="权要"  align="center"  width="200px">
-          <template slot-scope="scope">  
-            <el-tooltip class="item" effect="dark" :content="scope.row.pContent" placement="top">
-              <!-- <span>{{scope.row.pContent}}</span> -->
-              <span>{{scope.row.pRightName}}</span>
-            </el-tooltip>     
-          </template>
-        </el-table-column>
+              <el-table-column prop="pRightName" label="权要"  align="center"  width="200px">
+                <template slot-scope="scope">  
+                  <el-tooltip class="item" effect="dark" :content="scope.row.pContent" placement="top">
+                    <!-- <span>{{scope.row.pContent}}</span> -->
+                    <span>{{scope.row.pRightName}}</span>
+                  </el-tooltip>     
+                </template>
+              </el-table-column>
 
-        <el-table-column prop="content" label="特征" align="center" width="300px">
-          <template slot-scope="scope" >
-            <el-checkbox-group v-model="checkList" >
+              <el-table-column prop="content" label="特征" align="center" width="300px">
+                <template slot-scope="scope" >
+                  <el-checkbox-group v-model="checkList" >
 
-                <el-checkbox  :label="scope.row.id" @change="getFunInfo(scope.row,scope)" style="display: flex; align-items: center;">
-                  <el-input type="textarea" style="width:250px" autosize v-model="scope.row.content"> {{scope.row.content}}</el-input>
-                </el-checkbox>
+                      <el-checkbox  :label="scope.row.id" @change="getFunInfo(scope.row,scope)" style="display: flex; align-items: center;">
+                        <el-input type="textarea" style="width:250px" autosize v-model="scope.row.content"> {{scope.row.content}}</el-input>
+                      </el-checkbox>
 
-             </el-checkbox-group>
-          </template>
-        </el-table-column>
-        
-        <el-table-column  prop="explainText" align="center" label="解释(可粘贴图片)">
-          <template slot-scope="scope">   
-            <!-- <div>
-                <el-input type="textarea" style="width:100%" autosize v-model="scope.row.explainText"> {{scope.row.explainText}}</el-input>
-            </div> -->
-            <div style="width:100%;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px" id="preview" contenteditable="true" 
-              v-html="scope.row.explainText"  @input="saveValue($event.target.innerHTML)"  @click="saveValue($event.target.innerHTML)"
-              @blur="getValue(scope.row,'explainText')"  v-on:paste="handlePaste($event,scope.row,'explainText')">
-              <!-- {{scope.row.explainText}} -->
-            </div>
-          </template>
-        </el-table-column>
+                  </el-checkbox-group>
+                </template>
+              </el-table-column>
+              
+              <el-table-column  prop="explainText" align="center" label="解释(可粘贴图片)">
+                <template slot-scope="scope">   
+                  <!-- <div>
+                      <el-input type="textarea" style="width:100%" autosize v-model="scope.row.explainText"> {{scope.row.explainText}}</el-input>
+                  </div> -->
+                  <div style="width:100%;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px" id="preview" contenteditable="true" 
+                    v-html="scope.row.explainText"  @input="saveValue($event.target.innerHTML)"  @click="saveValue($event.target.innerHTML)"
+                    @blur="getValue(scope.row,'explainText')"  v-on:paste="handlePaste($event,scope.row,'explainText')"> 
+                    </div>
+                </template>
+              </el-table-column>
 
-      </el-table>
-    </div>
+            </el-table>
+          
+      </el-aside>
+      <el-main v-show="width!='100%'" :style="{height:height+'px',overflow:'hidden'}">
+        <Patent-Detail :publicNo="patentNo" :reportId="reportId"></Patent-Detail>
+      </el-main>
+    </el-container>
+    <!-- table -->
+ </div>
     <sendCollaboration ref="CollaborationDialog"></sendCollaboration>
     <taskList ref="TaskList"></taskList>
   </div>
@@ -93,15 +105,19 @@ import sendCollaboration from "@/views/report/components/sendCollaboration.vue"
 import taskList from "@/views/report/components/taskList.vue"
 import {explain} from '../../components/mixins'
 import { PatentDetails } from '@/views/components/common/mixins';
+import PatentDetail from '@/views/components/articles/ContrastIndex.vue';
 export default {
   props: ['isshow', 'patentNo', "reportId",'splitType','splitBy'],
   mixins:[explain,PatentDetails],
   components: {
     sendCollaboration,
     taskList,
+    PatentDetail
   },
   data() {
     return {
+      height:'',
+      width:'100%',
       btnLoading:false,
       show: true,
       checkList: [],
@@ -135,6 +151,7 @@ export default {
   methods: {
     setHeight() {
       const offsetTop = window.innerHeight - this.$refs.table.$el.offsetTop - 40
+      this.height = offsetTop
       const body = document.querySelector('.el-table__body')
       if (!body) {
         return false

+ 1 - 0
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Result.vue

@@ -391,6 +391,7 @@ export default {
       } else {
         this.tableHeight = offsetTop
       }
+      this.tableHeight = this.tableHeight>300?this.tableHeight:300
       // console.log(this.tableHeight)
     },
     getVal(val){

+ 71 - 2
RMS-FrontEnd/src/views/report/reportDetails/components/ContrastPlan.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="plan">
       <div style="display:flex; justify-content:flex-end;align-items: center;height: 50px;">
+        <el-button @click="exportReport">导出报告</el-button>
         <el-button type="danger" @click="delPlan" v-if="checkList.length>0">删除</el-button>
       </div>
         <!-- <el-table
@@ -261,15 +262,38 @@
       <el-dialog :visible.sync="showFile">
         <img width="100%" :src="imageUrl" alt="查不到该图片">
       </el-dialog>
+      <el-dialog width="1000px" title="选择模板" :visible.sync="reportTemplate" :before-close="close1" >
+      <div  v-loading="loadingTemplate"
+    element-loading-text="报告导出中"
+    element-loading-spinner="el-icon-loading"
+   >
+        <Report-Template :reportType="reportType" @getReportTemplateId="getReportTemplateId"></Report-Template>
+          <div slot="footer" class="dialog-footer" style="display: flex;justify-content: flex-end;">
+            <el-button @click="close1">取 消</el-button>
+            <el-button type="primary" @click="submitExport" :loading="btnLoading">确 定</el-button>
+          </div>
+      </div>
+          
+    </el-dialog>
     </div>
 </template>
 
 <script>
 import jsCookie from 'js-cookie'
+import ReportTemplate from '@/views/report/components/ReportTemplate.vue';
+import { downLoad2 } from "@/utils";
 export default {
-    props:['reportId'],
+    props:['reportId','row'],
+    components:{
+      ReportTemplate
+    },
     data() {
         return {
+          reportTemplate:false,
+          btnLoading:false,
+          loadingTemplate: false,
+          reportType:this.row.type,
+          reportTemplateId:'',
           show:true,
           showList:true,
           checkList2:[],
@@ -296,9 +320,54 @@ export default {
           this.showList = true
         }
       },
-      
+      reportId(val){
+
+      }
     },
     methods: {
+      //导出报告
+      exportReport(row){
+        this.reportTemplate = true
+      },
+      getReportTemplateId(val){
+        this.reportTemplateId = val
+      },
+      close1(){
+        this.reportTemplateId = ''
+        this.reportTemplate = false
+      },
+      submitExport(){
+      if (this.reportTemplateId) {
+        this.loadingTemplate=true
+        var a = {
+          reportId : this.reportId,
+          templeId :this.reportTemplateId
+        }
+        this.$api.exportReport(a).then(response => {
+          if (response.code == 200) {
+            this.$message.success('导出成功')
+            downLoad2(response.data)
+            this.reportTemplateId = ''
+            this.reportTemplate = false
+            this.loadingTemplate=false
+          } else{
+            this.$message.error('导出失败,请重试')
+            this.loadingTemplate=false
+          }
+        }).catch(error => {
+          this.$message.error('导出失败,请重试')
+            this.loadingTemplate=false
+        })
+      }else{
+        this.$alert('请选择报告模板', '提示', {
+          confirmButtonText: '确定',
+          callback: action => {
+            
+          }
+        });
+      }
+      
+    },
       getInfo(val){
        //console.log(this.checkList2)
         var a = this.checkList2.findIndex(item=>{