소스 검색

Merge branch 'product' of http://1.116.113.26:8088/zhuliu/xiaoshi_system into product

zhuhao 1 년 전
부모
커밋
d36658fae9

+ 17 - 0
src/assets/css/main.scss

@@ -160,4 +160,21 @@
 .del{
   text-decoration: line-through;
   color: red;
+}
+
+.greenColor{
+  background: #409EFF !important;
+}
+.showPiZhu{
+  position: absolute;
+  background: rgb(255 249 199);
+  left:0;
+  width:200px;
+  box-shadow: 5px 5px 5px rgb(227, 227, 75);
+  padding: 5px;
+  border-radius: 5px;
+}
+.pizhuLightHeigh{
+  position: relative;
+  background: #409EFF !important;
 }

+ 5 - 4
src/store/modules/contextMenu.js

@@ -18,14 +18,15 @@ export default {
             method: "mark",
         }
     ], // 右键菜单内容
-    mark:{
-        color:'#ff0000',
-        scratchType:2,
+    defaultMark:{
+        markColor:'#ff0000',
+        markType:1,
         permissionType:1,
         rangeType:true,
         content:'',
         remark:'',
-    },//选中文本信息
+    },
+    mark:{},//选中文本信息
     clientX: "", // left
     clientY: "",
     displayContextMenu: false, // 是否展示右键菜单

+ 36 - 9
src/views/components/dialog/menuDialog/contrast.vue

@@ -113,6 +113,8 @@ export default {
         this.visible = true
     },
     close(){
+        this.checkData = []
+        this.checkFeatures = []
         this.visible = false
     },
     getFeature(){
@@ -136,8 +138,11 @@ export default {
                   FeaturesItem.pProjectId = RightVosItem.projectId
                   FeaturesItem.pType = RightVosItem.type
                   FeaturesItem.pSort = RightVosItem.sort
-
-                  FeaturesItem.conclusion = ''
+                  
+                  var d = this.checkData.find(item=>{
+                    return item.featureId == FeaturesItem.id
+                  })
+                  FeaturesItem.conclusion = d?d.conclusion:''
 
                   this.hasOwn(FeaturesItem)
                   data.push(FeaturesItem)
@@ -157,7 +162,7 @@ export default {
     },
     getData(){
         var mark = this.contextMenu.mark
-        this.patentNo = mark.patentNo
+        this.patentNo = mark.signPatentNo
         if(this.projectId){
             if(this.projectId != mark.projectId){
                 this.projectId = mark.projectId
@@ -167,16 +172,38 @@ export default {
             this.projectId = mark.projectId
             this.getFeature()
         }
-        
+        if(mark.assoFeatureList){
+            this.checkData = mark.assoFeatureList
+            
+            this.checkFeatures = mark.assoFeatureList.map(item=>item.featureId)
+            if(this.features.length>0){
+                this.checkData.forEach(item=>{
+                    var d = this.features.find(i=>{
+                        return i.featureId == item.featureId
+                    })
+                    if(d){
+                        d.conclusion = item.conclusion
+                    }
+                })
+                
+            }
+        }else{
+            this.checkData = []
+            this.checkFeatures = []
+        }
         this.form = {
             literatureId:mark.literatureId,
-            fieldName:mark.scratchField,
+            fieldName:mark.column,
             position:mark.position,
-            markType:mark.scratchType,
-            markColor:mark.color,
+            markType:mark.markType,
+            markColor:mark.markColor,
             evidenceText:mark.text,
-            id:mark.id
+            id:mark.id,
+            common:mark.common,
+            fileGuid:mark.fileGuid
         }
+        this.form.patentNo = this.patentNo
+        this.form.projectId = this.projectId
     },
     submit(){
         this.$refs.splitPage.getCheckList()
@@ -220,7 +247,7 @@ export default {
             contrastList.push(this.form)
         }
         this.$message.success(message)
-        this.$store.commit("SET_CONTEXT_MENU",contrastList)
+        this.$store.commit("SET_PATENT_CONTRAST",contrastList)
     },
     //文件上传
     change(file,fileList){

+ 33 - 2
src/views/layout/components/contextMenu.vue

@@ -6,6 +6,7 @@
 </template>
 
 <script>
+import {mapGetters} from 'vuex'
 import contrast from '@/views/components/dialog/menuDialog/contrast.vue'
 export default {
   components: {
@@ -17,10 +18,40 @@ export default {
     };
   },
   watch: {},
-  computed: {},
+  computed: {
+    ...mapGetters(['highlight'])
+  },
   created() {},
-  mounted() {},
+  mounted() {
+    window.selectMark = this.selectMark
+  },
   methods: {
+     //点击图标回显数据
+     selectMark(id, selectType) {
+      var Id = id.substring(1,id.length)
+      if (selectType=='p') {//批注
+        var index = this.piZhuContrastList.findIndex(item => {
+        if (item.id == Id) {
+          // 清空currentSelectObj,否则Id与id同时存在
+          this.$store.commit("SET_PATENT_INDEX", item)
+        }
+        return item.id == Id
+        })
+        if (index != -1) {
+          
+        }
+      } else if (selectType == 'c') {//对比
+        let a=this.highlight.contrastList.find(item => {
+          return item.id==Id
+        })
+        a.column = a.fieldName
+        a.text = a.evidenceText
+        this.$store.commit("SET_PATENT_INDEX", a)
+        this.contrast()
+      } else if (selectType == 'o') {
+      }
+      
+    },
     getMethod(type){
         if(this[type]){
            this[type]() 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 220 - 45
src/views/project/patentCollection/components/mixins/index.js


+ 11 - 6
src/views/project/patentDetails/components/patentDetails.vue

@@ -84,13 +84,12 @@
             <my-view :position="this.positionList.find(item => item.value == radio).position"
               :showView="radio != 1 && activeMenu != activeMenu2">
               <div slot="left">
-                <component :activeName="activeMenu" style="width:100%;padding-right: 10px;" :is="activeMenu"
-                  :evidence="evidence" :project-id="projectId" :patent="patent" :patentNo="[patent.patentNo]"
-                  :domId="patent.patentNo + '1'" @refresh="getPatent()"></component>
+                <component :activeName="activeMenu" style="width:100%;padding-right: 10px;" :is="activeMenu" :evidence="evidence" :signPatentNo="signPatentNo" :reportType="reportType"
+                  :project-id="projectId" :patent="patent" :patentNo="[patent.patentNo]" :domId="patent.patentNo + '1'"
+                  @refresh="getPatent()"></component>
               </div>
               <div slot="right">
-                <component :is="activeMenu2" :project-id="projectId" :patent="patent" :sign="true" :evidence="evidence">
-                </component>
+                <component :is="activeMenu2" :project-id="projectId" :patent="patent" :signPatentNo="signPatentNo" :reportType="reportType" :sign="true" :evidence="evidence"></component>
               </div>
             </my-view>
           </div>
@@ -153,7 +152,13 @@ export default {
     taskId: {
       default: null,
     },
-    evidence: {
+    evidence:{
+      
+    },
+    signPatentNo:{
+
+    },
+    reportType:{
 
     }
   },

+ 19 - 11
src/views/project/patentDetails/components/patentMessage/mixins/index.js

@@ -1,14 +1,16 @@
-import {projectData,handleData} from '@/views/project/patentCollection/components/mixins'
+import {projectData,handleData,highlight} from '@/views/project/patentCollection/components/mixins'
 import { mapGetters } from "vuex";
 export const patentDetails={
-    mixins:[projectData,handleData],
+    mixins:[projectData,handleData,highlight],
     props:{
         patent:{
             default:()=>{
                 return {}
             }
         },
-        evidence:{}
+        evidence:{},
+        signPatentNo:{},
+        reportType:{}
     },
     data() {
         return {
@@ -49,18 +51,20 @@ export const patentDetails={
             currentSelectObj.remark = ''
           }
           if (currentSelectObj.Id) {
-            var a = this.contextMenu.mark
+            var a = {}
             a.Id = currentSelectObj.Id//划词生成的ID
             a.patentNo = currentSelectObj.patentNo//专利号
+            a.signPatentNo = this.signPatentNo//标的专利号
             a.text = currentSelectObj.text//选中的文本
             a.projectId = currentSelectObj.projectId//项目Id
-            a.scratchField = currentSelectObj.column//选中文本所在栏位
+            a.column = currentSelectObj.column//选中文本所在栏位
             a.position = currentSelectObj.index//选中文本开始位置
             a.id = null//对比记录Id
             a.remark=null//备注
+            a.markType = 1//高亮类型
+            a.markColor = ''//高亮类型
             // a.color = this.currentSelectObj.color
             a.createFrom =this.projectId? 1:0//来源
-            a.Type = 0//类型
             a.literatureId = this.evidence?this.evidence.id:null
             this.showMenu(e)
             
@@ -69,16 +73,20 @@ export const patentDetails={
         },
         //打开弹窗
         showMenu(e){
-            this.$store.commit("SET_CONTEXT_MENU", {
-                clientX:e.pageX,
-                clientY:e.pageY,
-                displayContextMenu:true,
-                menuContent:[
+            var menuContent = null
+            if(this.reportType == 1 || this.reportType == 2){
+                menuContent=[
                     {
                         name: "对比",
                         method: "contrast",
                     }
                 ]
+            }
+            this.$store.commit("SET_CONTEXT_MENU", {
+                clientX:e.pageX,
+                clientY:e.pageY,
+                displayContextMenu:true,
+                menuContent:menuContent
             })
         },
         //获取选中的文本信息

+ 16 - 8
src/views/project/patentDetails/index.vue

@@ -6,14 +6,14 @@
     <div class="height_100 content">
       <my-View :showView="showView">
         <div slot="left" style="width:100%">
-          <notPatentDetails v-if="evidenceType == 1" :projectId="projectId" :evidence="evidenceData"></notPatentDetails>
+          <notPatentDetails v-if="evidenceType == 1" :projectId="projectId" :signPatentNo="signPatentNo" :reportType="reportType" :evidence="evidenceData"></notPatentDetails>
           <!-- <Patent-Details :patentNo="patentNo" :projectId="projectId" :taskId="taskId"></Patent-Details> -->
-          <component v-else :is='components' :patentNo="patentNo" :evidence="evidenceData" :projectId="projectId" :taskId="taskId"
+          <component v-else :is='components' :patentNo="patentNo" :evidence="evidenceData" :signPatentNo="signPatentNo"  :projectId="projectId" :taskId="taskId"
             :reportType="reportType" :isResult="isResult"></component>
         </div>
         <div slot="right" style="width:100%">
-          <notPatentDetails v-if="evidenceType == 1" :projectId="projectId" :evidence="evidenceData"></notPatentDetails>
-          <Patent-Details v-else :patentNo="patentNo" :evidence="evidenceData" :projectId="projectId" :taskId="taskId"></Patent-Details>
+          <notPatentDetails v-if="evidenceType == 1" :projectId="projectId" :signPatentNo="signPatentNo" :reportType="reportType" :evidence="evidenceData"></notPatentDetails>
+          <Patent-Details v-else :patentNo="patentNo" :evidence="evidenceData" :signPatentNo="signPatentNo" :reportType="reportType" :projectId="projectId" :taskId="taskId"></Patent-Details>
         </div>
       </my-View>
     </div>
@@ -78,7 +78,9 @@ export default {
     evidence() {
       return this.$route.query.evidence
     },
-
+    signPatentNo(){
+      return this.$route.query.signPatentNo
+    }
   },
   created() { },
   mounted() {
@@ -90,6 +92,7 @@ export default {
     this.getMenuPrice()
     this.getComponents()
     if(this.reportType == 1 || this.reportType == 2){
+      this.$store.commit("SET_PATENT_CONTRAST",[])
       this.getContrast()
     }
     
@@ -105,7 +108,7 @@ export default {
       }
       var contrastList = this.highlight.contrastList
       var index = contrastList.findIndex(item=>{
-        return item.literatureId == this.evidence.id
+        return item.literatureId == this.evidenceData.id
       })
       if(index !=-1){
         return
@@ -118,8 +121,13 @@ export default {
             // var newContrastList = contrastList.filter(item=>{
             //   return item.literatureId != obj.literatureId
             // })
-            contrastList.push(...response.data.data)
-            this.$store.commit("SET_CONTEXT_MENU",contrastList)
+            var data = response.data.data.map(item=>{
+              item.signPatentNo = this.signPatentNo
+              item.projectId = this.projectId
+              return item
+            })
+            contrastList.push(...data)
+            this.$store.commit("SET_PATENT_CONTRAST",contrastList)
           }
         }
       })

+ 5 - 1
src/views/report/InvalidResponse/components/Evidence/evidence.vue

@@ -121,6 +121,9 @@ export default {
     },
     reportType:{
         default:0
+    },
+    patentNo:{
+        default:''
     }
   },
   data() {
@@ -184,7 +187,8 @@ export default {
                 projectId: this.projectId,
                 reportType: this.reportType,
                 evidenceType:row.type,
-                evidence:JSON.stringify(row)
+                evidence:JSON.stringify(row),
+                signPatentNo:this.patentNo
             }
             }
         )

+ 4 - 1
src/views/report/InvalidResponse/components/Evidence/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="height_100">
-    <evidence :projectId="projectId" :reportType="reportType"></evidence>
+    <evidence :projectId="projectId" :reportType="reportType" :patentNo="signPatentNo" :signPatentNo="signPatentNo"></evidence>
   </div>
 </template>
 
@@ -23,6 +23,9 @@ export default {
     reportType(){
         return this.$route.query.reportType
     },
+    signPatentNo(){
+        return this.$route.query.signPatentNo
+    },
   },
   created() {},
   mounted() {},

+ 2 - 1
src/views/report/components/index.vue

@@ -540,7 +540,8 @@ export default {
         path:'/evidence',
         query:{
           projectId:row.id,
-          reportType:row.reportType
+          reportType:row.reportType,
+          signPatentNo:row.signPatentNo
         }
       })
     },

+ 1 - 0
src/views/report/components/mixins/index.js

@@ -29,6 +29,7 @@ export default {
         query: {
           projectId: row.id,
           patentNo:row.signPatentNo,
+          signPatentNo:row.signPatentNo,
           reportType: row.reportType,
           status:row.status,
         }