浏览代码

被无效历史

zhuliu 1 年之前
父节点
当前提交
61dce61697

+ 58 - 0
src/api/newApi/otherPatentInformation.js

@@ -112,4 +112,62 @@ export default {
   queryPermissionRecord(data) {
     return axios.post("/xiaoshi/permissionRecord/query", data);
   },
+
+
+  /**
+   * 被无效历史
+   * 新增或编辑被无效历史
+   * @param {*} data 
+   * @returns 
+   */
+  addInvalidRecord(data) {
+    return axios.post("/xiaoshi/invalidRecord/saveOrUpdate", data);
+  },
+  /**
+   * 被无效历史
+   * 删除被无效历史
+   * @param {*} data 
+   * @returns 
+   */
+  deleteInvalidRecord(data) {
+    return axios.post("/xiaoshi/invalidRecord/delete", data);
+  },
+  /**
+   * 被无效历史
+   * 查询被无效历史
+   * @param {*} data 
+   * @returns 
+   */
+  queryInvalidRecord(data) {
+    return axios.post("/xiaoshi/invalidRecord/query", data);
+  },
+
+
+  /**
+   * 作为无效证据使用历史
+   * 新增或编辑作为无效证据使用历史
+   * @param {*} data 
+   * @returns 
+   */
+  addAsInvalidReasonHistory(data) {
+    return axios.post("/xiaoshi/asInvalidReasonHistory/saveOrUpdate", data);
+  },
+  /**
+   * 作为无效证据使用历史
+   * 删除作为无效证据使用历史
+   * @param {*} data 
+   * @returns 
+   */
+  deleteAsInvalidReasonHistory(data) {
+    return axios.post("/xiaoshi/asInvalidReasonHistory/delete", data);
+  },
+  /**
+   * 作为无效证据使用历史
+   * 查询作为无效证据使用历史
+   * @param {*} data 
+   * @returns 
+   */
+  queryAsInvalidReasonHistory(data) {
+    return axios.post("/xiaoshi/asInvalidReasonHistory/query", data);
+  },
 }

+ 3 - 0
src/main.js

@@ -60,6 +60,9 @@ Vue.use(vmFunction)
 import elTableInfiniteScroll from 'el-table-infinite-scroll'
 Vue.use(elTableInfiniteScroll)
 
+import { Base64 } from 'js-base64'
+Vue.use(Base64)
+
 Vue.config.productionTip = false
 Vue.prototype.$constants = constants//公用数据
 Vue.prototype.$api = api

+ 4 - 0
src/utils/common.js

@@ -412,4 +412,8 @@ export default {
 
     return arr
   },
+
+
+
+
 }

+ 0 - 1
src/views/product/components/jsMind/components/mind.vue

@@ -765,7 +765,6 @@ export default {
             if(data.length>0){
               currentData.hasChildren = true
               var data = this.deepChildren(data,currentData)
-              console.log(data)
             }
             currentData.children = data
           }

+ 10 - 4
src/views/project/components/drawer/form.vue

@@ -31,9 +31,9 @@
               <mySelectTree style="width:100%" v-model="ruleForm.departmentId" :options="departmentList"></mySelectTree>
             </el-form-item>
             <el-form-item label="负责人" prop="person">
-              <el-select style="width:100%" v-model.number="ruleForm.headId" filterable remote clearable placeholder="请选择"
+              <el-select style="width:100%" v-model="ruleForm.headId" filterable remote clearable placeholder="请选择"
                 :loading="personnelList.loading" v-SelectLazyLoading="loadHead" :remote-method="remoteMethod">
-                <el-option v-for="item in personnelList.data" :key="item.id" :label="item.name" :value="parseInt(item.id)">
+                <el-option v-for="item in personnelList.data" :key="item.id" :label="item.name" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -292,7 +292,7 @@ export default {
     //获取产品架构集合
     getFramework(){
       let params = {
-        type: this.ruleForm.products.treeType,//类型:1产品类别,2产品,3技术分类,4自定义树
+        type: this.ruleForm.products.treeType == 3?1:this.ruleForm.products.treeType,//类型:1产品类别,2产品,3技术分类,4自定义树
         typeId: this.ruleForm.products.fieldId,//产品或类别id
       }
       this.$api.queryTreeNodeTree(params).then(res => {
@@ -350,7 +350,6 @@ export default {
 
       this.personnelList.data = []
       this.personnelList.queryParams.name = ''
-      console.log(this.ruleForm)
       if(this.ruleForm.headId){
         this.personnelList.queryParams.id = this.ruleForm.headId
         await this.getPersonnelList(1)
@@ -363,6 +362,9 @@ export default {
         this.ruleForm.updateTime = this.getType(this.ruleForm.crons)
       }
 
+      if(this.ruleForm.products){
+        this.getFramework()
+      }
       this.title = title
       this.drawer = true
     },
@@ -578,7 +580,11 @@ export default {
           this.show = false
           this.loading = true
           this.ruleForm.trees = []
+          
           if(this.ruleForm.products){
+            if(this.ruleForm.structureId){
+              this.ruleForm.products.valueIds.push(this.ruleForm.structureId)
+            }
             this.ruleForm.trees.push(this.ruleForm.products)
           }
           var scenarioIds = JSON.parse(JSON.stringify(this.ruleForm.scenarioIds))

+ 1 - 1
src/views/project/components/view/card.vue

@@ -22,7 +22,7 @@
                   </el-dropdown-item>
                   <el-dropdown-item command="3">任务清单</el-dropdown-item>
                 <el-dropdown-item command="5">报告管理</el-dropdown-item>
-                <el-dropdown-item command="6" v-if="item.isCategory == 1">产品架构</el-dropdown-item>
+                <el-dropdown-item command="6" v-if="item.isCategory == 1">分类架构</el-dropdown-item>
                 <!-- <el-dropdown-item command="7" v-if="$permission('/workspace/event')">事 件</el-dropdown-item> -->
                 <!-- <el-dropdown-item command="8" :disabled="!$permission('/workspace/project/other_accessories')">其它附件</el-dropdown-item> -->
                 <el-dropdown-item command="9">项目分享</el-dropdown-item>

+ 1 - 1
src/views/project/components/view/table.vue

@@ -38,7 +38,7 @@
                 </el-dropdown-item>
                 <el-dropdown-item command="3">任务清单</el-dropdown-item>
                 <el-dropdown-item command="5">报告管理</el-dropdown-item>
-                <el-dropdown-item command="6">产品架构</el-dropdown-item>
+                <el-dropdown-item command="6">分类架构</el-dropdown-item>
                 <!-- <el-dropdown-item command="7">事件</el-dropdown-item> -->
                 <!-- <el-dropdown-item command="8">其他附件</el-dropdown-item> -->
                 <el-dropdown-item command="9">项目分享</el-dropdown-item>

+ 20 - 5
src/views/project/index.vue

@@ -464,11 +464,15 @@ export default {
     },
     //架构
     framework(row){
+      var data = row.productOrCategory
+      if(!data){
+        this.$message.warning('该专利数据库没有产品或产品结构')
+        return false
+      }
       var form = {
-        // name:row.name,
-        // id:row.id,
-        // categoryId:row.categoryId,
-        // type:val,
+        name:data.name,
+        id:data.id,
+        type:data.type == 3?1:data.type,
       }
       let router = this.$router.resolve({
         path: '/frameworkIndex',
@@ -516,7 +520,18 @@ export default {
     },
     //编辑专利数据库
     handleEdit(row) {
-      this.$refs.projectFormDrawer.open(JSON.parse(JSON.stringify(row)), '编辑专利数据库')
+      var form = JSON.parse(JSON.stringify(row))
+      if(form.productOrCategory){
+        form.products = {
+            treeType:form.productOrCategory.type,
+            fieldId:form.productOrCategory.id,
+            name:form.productOrCategory.name,
+            valueIds:[]
+        }
+        form.structureId = form.productOrCategory.valueIds?form.productOrCategory.valueIds[0]:''
+      }
+      
+      this.$refs.projectFormDrawer.open(form, '编辑专利数据库')
     },
     
   },

+ 7 - 4
src/views/project/patentDetails/components/PatentLeft.vue

@@ -5,12 +5,15 @@
       style="display: flex;justify-content: space-evenly;height: 50px;line-height: 50px;border-bottom: 1px solid #ccc;">
       <div>总专利数量:{{ total }}</div>
     </div>
-    <div class="list" v-if="[1,2,7].findIndex(item=>{return item == reportType}) == -1">
+    <div class="list" v-if="[1,2,7].findIndex(item=>{return item == reportType}) == -1 && patentList.length>0">
       <div class="left-patentNo"  v-for="(item,index) in patentList" :key="item.patentNo" :style="{background:(item.patentNo == patentNo)? '#cdd7eb':''}" @click="$emit('getPatentLeft',item.patentNo,index)">
         <div>{{ item.patentNo }}</div>
-        <my-tooltip :content="item.title.filter(item=> item.if_origin)[0].text_content" placement="bottom-start">
-          <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{ item.title.filter(item=> item.if_origin)[0].text_content }}</div>
-        </my-tooltip>
+        <div v-if="item.title">
+          <my-tooltip :content="item.title.filter(item=> item.if_origin)[0].text_content" placement="bottom-start">
+            <div class="noWrap">{{ item.title.filter(item=> item.if_origin)[0].text_content }}</div>
+          </my-tooltip>
+        </div>
+        
       </div>
     </div>
     <div class="list" v-else>

+ 18 - 4
src/views/project/patentDetails/components/menu.vue

@@ -184,15 +184,30 @@ export default {
   },
   watch: {
     isContract(){
+      this.setQueryParams()
       this.getData()
     }
   },
   computed: {},
   created() {},
   mounted() {
+  
+    this.setQueryParams()
     this.getData()
   },
   methods: {
+    setQueryParams(){
+      if(!this.outside){
+        if(this.isContract){
+          this.queryParams.current = ((this.currentLocation-1) < 5)? 0 : ((this.currentLocation-1) - 5)
+        }else{
+          this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
+        }
+      }else{
+        this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
+      }
+      
+    },
     getData(){
       if(this.outside){
         this.getPatentSelect()
@@ -201,7 +216,7 @@ export default {
       }
     },
     async getPatentSelect(){
-      this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
+      // this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
       var prevParams={
         current:(this.queryParams.current-1) * this.queryParams.size,
         size:1
@@ -305,13 +320,12 @@ export default {
         return false
       }
       var api = ''
-      var current = 5
       if(this.isContract){
-        this.queryParams.current = ((this.currentLocation-1) < current)? 0 : ((this.currentLocation-1) - current)
+        // this.queryParams.current = ((this.currentLocation-1) < current)? 0 : ((this.currentLocation-1) - current)
         
         api = 'getPatentPageMessage'
       }else{
-        this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
+        // this.queryParams.current = parseInt((this.currentLocation-1) / this.queryParams.size) + 1
         api = 'QueryPatent'
       }
       let params = {

+ 26 - 5
src/views/project/patentDetails/components/patentDetails.vue

@@ -400,11 +400,32 @@ export default {
       })
     },
     getPatentField(){
-      // var params = {
-      //   projectId : this.projectId,
-      //   patentNos:[this.patent.patentNo],
-      // }
-      // this.$api.getPatentFields(params)
+      var params = {
+        projectId : this.projectId,
+        patentNos:[this.patent.patentNo],
+        innerFields:[
+          {
+            fieldType:10,
+            fieldId:0
+          }
+        ]
+      }
+      this.$api.getPatentFields(params).then(response=>{
+        if(response.code == 200){
+          var data = response.data.data
+          if(data && data.length>0){
+            var inner = data[0].innerClassFields
+            if(inner && inner.length>0){
+              this.$set(this.patent,'label',inner[0].fieldValueVOS)
+            }else{
+              this.$set(this.patent,'label',[])
+            }
+            
+          }else{
+              this.$set(this.patent,'label',[])
+            } 
+        }
+      })
     },
     // 创建报告:无效分析等点击事件
     handleAnalyse(id) {

+ 5 - 3
src/views/project/patentDetails/components/patentMessage/PatentBasic.vue

@@ -32,7 +32,7 @@
               <div class="patent-label">
                 <template >
                   <span >
-                    <el-tag  v-for="(label, index) in patent.label" :key="label.name" effect="dark" type="primary" size="small" closable :disable-transitions="false" @close="handleCloseLabel(index)">{{ label.name }}</el-tag>
+                    <el-tag  v-for="(label, index) in patent.label" :key="index" effect="dark" type="primary" size="small" closable :disable-transitions="false" @close="handleCloseLabel(index)">{{ label.value }}</el-tag>
                   </span>
                  <!-- <span  v-else>
                   <el-tag v-for="(label) in patent.label" :key="label.name" effect="dark" type="primary" size="small">{{ label.name }}</el-tag>
@@ -188,7 +188,7 @@ export default {
       let inputLabelValue = this.inputLabelValue;
       if (inputLabelValue) {
         this.patent.label.push({
-          name: inputLabelValue
+          value: inputLabelValue
         });
         this.handleSubmitLabel()
       }
@@ -202,10 +202,12 @@ export default {
       });
     },
     handleSubmitLabel() {
-      console.log(this.patent.label)
       let data = {
         projectId: this.projectId,
         patentNo:this.patent.patentNo,
+        labels:this.patent.label.map(item=>{
+          return item.value
+        })
       }
       this.$api.addPatentLabel(data).then(response => {
         this.$message.success('操作成功')

+ 12 - 7
src/views/project/patentDetails/components/patentMessage/PatentPDF.vue

@@ -21,6 +21,8 @@
 
 <script>
 import { patentDetails } from './mixins';
+
+import {Base64} from 'js-base64'
 export default {
   mixins: [patentDetails],
   props: ['patent', 'projectId', 'patentNo'],
@@ -39,7 +41,7 @@ export default {
   watch: {
     patent() {
       if (!this.outside) {
-        this.refresh()
+        this.refreshData()
       }
     },
     patentNo() {
@@ -56,7 +58,7 @@ export default {
     if (this.outside) {//外部
       this.getData()
     } else {
-      this.refresh()
+      this.refreshData()
     }
   },
   methods: {
@@ -89,8 +91,11 @@ export default {
       // } else {
       if (obj) {//外部内部都是返回guid
         var src = this.$commonJS.checkViewer(obj.pdfGuid)
-        console.log('URL:'+src,'guid:'+obj.pdfGuid)
-        this.src = `http://${this.$c.staticURL}:8012/onlinePreview?url=` + btoa(encodeURIComponent(src + '&fullfilename=test.pdf'))
+        console.log('URL:'+src,'guid:'+obj.pdfGuid,Base64.encode(src))
+        var previewUrl = src + '&fullfilename=test.pdf'
+        // this.src = `http://${this.$c.staticURL}:8012/onlinePreview?url=` + btoa(encodeURIComponent(src + '&fullfilename=test.pdf'))
+        // this.src = `http://${this.$c.staticURL}:8012/onlinePreview?url=` + encodeURIComponent(Base64.encode(previewUrl))
+        this.src = `http://${this.$c.staticURL}:8012/onlinePreview?url=` + btoa(encodeURIComponent(Base64.encode(previewUrl)))
       }
       // }
       this.$nextTick(() => {
@@ -124,14 +129,14 @@ export default {
     //   this.$api.editPatentInstruction(formData).then(response => {
     //     this.$message.success('操作成功')
     //     this.btnLoading = false
-    //     this.$emit('refresh')
-    //     this.refresh()
+    //     this.$emit('refreshData')
+    //     this.refreshData()
     //   }).catch(error => {
     //     this.btnLoading = false
     //   })
     // },
     // 请求内部pdf的guid
-    refresh() {
+    refreshData() {
       this.show = false
       this.height = (this.fullHeight - 230) + 'px'
       let params = {

+ 6 - 5
src/views/project/patentDetails/components/patentMessage/PatentStatus.vue

@@ -22,9 +22,12 @@
             <!-- <span>申请号:{{ item.appNo || '--' }}</span>;
             <span>公开号:{{ item.publicNo || '--' }}</span>;
             <span>授权号:{{ item.grantNo || '--' }}</span>; -->
-            <span>名称:{{ item.name || '--' }}</span>;
-            <span>法律日期:{{ item.eventDate || '--' }}</span>;
-            <span>描述:{{ item.description || '--' }}</span>;
+            <div style="display:flex;justify-content:space-between">
+              <div>事务数据类型:{{ item.name || '--' }}</div>
+              <div>事务数据公告日:{{ item.event_date || '--' }}</div>
+            </div>
+            
+            <span>描述:{{ item.description || '--' }}</span>
             <!-- <div v-for="(i, index) in item.inpadocData" :key="i.content" style="padding:5px 0;">
               <span v-if="index != 0 && index != 1 && i.content" v-html="getViewDom(i.content)"></span>
             </div> -->
@@ -42,8 +45,6 @@ export default {
   mixins: [patentDetails],
   data() {
     return {
-      tableData: [],
-      tableDataList: []
     }
   },
   watch: {

+ 5 - 5
src/views/project/patentDetails/components/patentMessage/history/HistoryOfInvalidEvidence.vue

@@ -109,11 +109,11 @@ export default {
                     options:[
                         {
                             label:'是',
-                            value:1
+                            value:true
                         },
                         {
                             label:'否',
-                            value:0
+                            value:false
                         },
                     ]
                 },
@@ -133,7 +133,7 @@ export default {
     methods: {
         getList(){
             this.loading = true
-            this.$api.queryReviewHistory(this.queryParams).then(response=>{
+            this.$api.queryAsInvalidReasonHistory(this.queryParams).then(response=>{
                 if(response.code == 200){
                     this.tableData = response.data.data
                     this.total = response.data.total
@@ -163,7 +163,7 @@ export default {
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                this.$api.deleteReviewHistory(ids).then(response=>{
+                this.$api.deleteAsInvalidReasonHistory(ids).then(response=>{
                     if(response.code == 200){
                         this.$message.success('删除成功')
                         this.getList()
@@ -185,7 +185,7 @@ export default {
             }else{
                 a='添加'
             }
-            this.$api.addReviewHistory(form).then(response=>{
+            this.$api.addAsInvalidReasonHistory(form).then(response=>{
                 if(response.code == 200){
                     this.$message.success(a+'成功')
                     this.$refs.addMessage.changeBtnLoading(false)

+ 9 - 9
src/views/project/patentDetails/components/patentMessage/history/InvalidHistory.vue

@@ -9,14 +9,14 @@
         </el-header>
         <el-main>
             <el-table :data="tableData" v-loading="loading" border style="width: 100%">
-                <el-table-column label="无效案号" prop="newPatentNo" align="center">
+                <el-table-column label="无效案号" prop="invalidCaseNum" align="center">
                     <template slot-scope="scope">
-                        <span>{{scope.row.newPatentNo}}</span>
+                        <span>{{scope.row.invalidCaseNum}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="无效申请人" prop="person" align="center">
+                <el-table-column label="无效申请人" prop="invalidApplicant" align="center">
                     <template slot-scope="scope">
-                        <span>{{scope.row.person}}</span>
+                        <span>{{scope.row.invalidApplicant}}</span>
                     </template>
                 </el-table-column>
                 <el-table-column label="无效时间" prop="invalidTime" align="center">
@@ -77,13 +77,13 @@ export default {
         return {
             field:[
                 {
-                    field:'newPatentNo',
+                    field:'invalidCaseNum',
                     label:'无效案号',
                     components:'el-input',
                     type:'text'
                 },
                 {
-                    field:'person',
+                    field:'invalidApplicant',
                     label:'无效申请人',
                     components:'el-input',
                     type:'text'
@@ -122,7 +122,7 @@ export default {
     methods: {
         getList(){
             this.loading = true
-            this.$api.queryReviewHistory(this.queryParams).then(response=>{
+            this.$api.queryInvalidRecord(this.queryParams).then(response=>{
                 if(response.code == 200){
                     this.tableData = response.data.data
                     this.total = response.data.total
@@ -152,7 +152,7 @@ export default {
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                this.$api.deleteReviewHistory(ids).then(response=>{
+                this.$api.deleteInvalidRecord(ids).then(response=>{
                     if(response.code == 200){
                         this.$message.success('删除成功')
                         this.getList()
@@ -174,7 +174,7 @@ export default {
             }else{
                 a='添加'
             }
-            this.$api.addReviewHistory(form).then(response=>{
+            this.$api.addInvalidRecord(form).then(response=>{
                 if(response.code == 200){
                     this.$message.success(a+'成功')
                     this.$refs.addMessage.changeBtnLoading(false)