zhuliu 1 年間 前
コミット
be921c731d

+ 1 - 1
src/api/newApi/otherPatentInformation.js

@@ -76,7 +76,7 @@ export default {
     return axios.post("/xiaoshi/otherReferences/delete", data);
   },
   /**
-   * 审查历史
+   * 其他参考资料
    * 查询其他参考资料
    * @param {*} data 
    * @returns 

+ 23 - 18
src/views/login/compoments/invite/index.vue

@@ -194,28 +194,33 @@ export default {
   },
 };
 </script>
-<style>
+<style lang="scss">
 .agreement {
   border-radius: 10px;
+  .el-dialog__body {
+    padding: 0;
+  }
 }
-.agreement .el-dialog__body {
-  padding: 0;
-}
-.dialogForm .el-form-item__error {
-  display: none;
-}
-.dialogForm .el-dialog__body {
-  padding-top: 10px;
-}
-.dialogForm .el-checkbox__input.is-checked + .el-checkbox__label {
-  color: #606266;
-}
-.content .el-form-item__label {
-  height: 30px;
-  padding: 0;
+.dialogForm {
+  .el-form-item__error{
+    display: none;
+  }
+  .el-dialog__body {
+    padding-top: 10px;
+  }
+  .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #606266;
+  }
 }
-.content .el-form-item {
-  margin: 0;
+
+.content  {
+  .el-form-item__label {
+    height: 30px;
+    padding: 0;
+  }
+  &>.el-form-item{
+    margin: 0;
+  }
 }
 </style>
 <style lang="scss" scoped>

+ 5 - 0
src/views/project/patentCollection/components/views/Table.vue

@@ -49,6 +49,11 @@
               </el-link>
             </el-popover>
           </div>
+          <template v-else-if="item.ifPersonal">
+            <div>
+              {{ scope.row.customFields }}
+            </div>
+          </template>
           <template v-else-if="item.value === 'title'">
             <span v-html="getView(scope.row, 'title')"></span>
             <br>

+ 14 - 3
src/views/project/patentCollection/index.vue

@@ -164,7 +164,7 @@
     </el-container>
 
     <Field-Drawer ref="FieldDrawer"></Field-Drawer>
-    <field ref="field" type="patent" @getFieldList="getFieldList"></field>
+    <field ref="field" type="patent" :projectId="projectId" @getFieldList="getFieldList"></field>
     <!-- 报告文档 -->
     <reportFileDrawer ref="reportFileDrawer"></reportFileDrawer>
     <!-- 创建FTO报告 -->
@@ -415,7 +415,7 @@ export default {
     //查询专利自定义字段对应的值
     getPatentFields(){
       var arr = this.customList.filter(item=>{
-        return item.ifPersonal
+        return item.ifPersonal && !item.ifHidden
       })
       if(arr.length == 0){
         return false
@@ -450,7 +450,17 @@ export default {
       }
       this.$api.getPatentFields(params).then(response=>{
         if(response.code == 200){
-
+          var data = response.data.data
+          for(var i = 0;i<data.length;i++){
+            var index = patentNos.findIndex(item=>{
+              return item == data[i].patentNo
+            })
+            if(index){
+              this.$set(this.tableData[index],'customFields',data[i].innerClassFields)
+              patentNos.splice(index,1)
+            }
+          }
+          console.log(this.tableData)
         }
       })
     },
@@ -516,6 +526,7 @@ export default {
     //获取自定义栏位
     getFieldList(data) {
       this.customList = data
+      this.getPatentFields()
     },
     //显示栏位管理
     async handleFieldManage() {

+ 3 - 1
src/views/project/patentDetails/components/patentDetails.vue

@@ -129,6 +129,7 @@ import PatentStatus from './patentMessage/PatentStatus.vue'
 import PatentPDF from './patentMessage/PatentPDF.vue'
 import pageProduct from './patentMessage/pageProduct.vue'
 import licenseHistory from './patentMessage/history/licenseHistory.vue'
+import litigationHistory from './patentMessage/history/litigationHistory.vue'
 
 
 import { projectData, handleData } from '../../patentCollection/components/mixins/index'
@@ -147,6 +148,7 @@ export default {
     PatentPDF,
     pageProduct,
     licenseHistory,
+    litigationHistory,
 
 
     PatentField,
@@ -282,7 +284,7 @@ export default {
           label: '无效证据推荐'
         },
         {
-          value: 'Litigation',
+          value: 'litigationHistory',
           label: '诉讼历史'
         },
         {

+ 36 - 2
src/views/project/patentDetails/components/patentMessage/history/dialog/form.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-dialog width="800px" :title="title" :visible.sync="showDialog" :before-close="close">
-        <el-form :model="form" ref="form" label-width="120px">
+        <el-form :model="form" ref="form" label-width="100px" label-position="left">
             <el-form-item v-for="item in field" :key="item.field" :label="item.label">
                 <component style="width:100%" v-if="item.type == 'text'" :is='item.components' v-model="form[item.field]" :placeholder="`请输入${item.label}`"></component>
                 <component style="width:100%" v-if="item.type == 'number'" :is='item.components' v-model="form[item.field]" :precision="item.precision" :step="item.step" :min="item.min" :max="item.max" :placeholder="`请输入${item.label}`"></component>
@@ -14,6 +14,7 @@
                         :value="option.value">
                     </el-option>
                 </component>
+                <component style="width:100%" v-if="item.type == 'upload'" :is='item.components' :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove" :autoUpload="true"></component>
             </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
@@ -54,13 +55,46 @@ export default {
     submitForm(){
         this.$refs.form.validate((valid) => {
             if (valid) {
+                if(this.form.systemFile && this.form.systemFile.length>0){
+                    // 判断文件是否都上传完毕
+                    var guids = this.$commonJS.checkUploadFile(this.form.systemFile)
+                    if(!guids){
+                        return false
+                    }
+                    this.form.fileGuids = guids
+                }
                 this.$emit('save',this.form)
             }
         })
     },
     changeBtnLoading(val){
         this.btnLoading = val
-    }
+    },
+     // 上传的文件监听
+     onchangeFile(file, fileList) {
+      if(!this.form.systemFileList){
+        this.$set(this.form,'systemFileList',[])
+      }
+      if (file.guid) {
+        let index = this.form.systemFileList.findIndex(item => {
+          return item.uid == file.uid
+        })
+        if (index != -1) {
+          this.form.systemFileList.splice(index, 1, file)
+        }
+      } else {
+        this.form.systemFileList.push(file.raw)
+      }
+    },
+    // 删除上传的文件
+    onRemove(file, fileList) {
+      let index = this.form.systemFileList.findIndex(item => {
+        return item.uid == file.uid
+      })
+      if (index != -1) {
+        this.form.systemFileList.splice(index, 1)
+      }
+    },
   },
 };
 </script>

+ 1 - 1
src/views/project/patentDetails/components/patentMessage/history/licenseHistory.vue

@@ -55,7 +55,7 @@
             </el-table>
         </el-main>
         <el-footer class="pagination">
-            <el-pagination  background layout="total,prev, pager, next,jumper" :total="total" @current-change="handleCurrentChange" :current-page="queryParams.current" :page-size="queryParams.size"></el-pagination>
+            <el-pagination  background layout="total,prev,sizes, pager, next,jumper" :total="total" @current-change="handleCurrentChange" :current-page="queryParams.current" :page-size="queryParams.size"></el-pagination>
         </el-footer>
     </el-container>
     <addMessage ref="addMessage" @save="save"></addMessage>

+ 239 - 0
src/views/project/patentDetails/components/patentMessage/history/litigationHistory.vue

@@ -0,0 +1,239 @@
+<template>
+    <!-- 许可历史 -->
+  <div class="height_100">
+    <el-container>
+        <el-header>
+            <div class="head">
+                <el-button size="small" @click="add">添加</el-button>
+            </div>
+        </el-header>
+        <el-main>
+            <el-table :data="tableData" v-loading="loading" border style="width: 100%">
+                <el-table-column type="expand">
+                    <template slot-scope="scope">
+                        <el-form label-position="left"  class="demo-table-expand" style="padding:0 30px">
+                            <el-form-item label="案件详情:">
+                                <span v-if="scope.row.vVisible">{{scope.row.caseDetails}}</span>
+                                <el-input type="textarea" v-else v-model="scope.row.caseDetails"></el-input>
+                            </el-form-item>
+                        </el-form>
+                    </template>
+                </el-table-column>
+                <el-table-column label="原告" prop="plaintiff" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.plaintiff}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="被告" prop="defendant" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.defendant}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="案由" prop="causeOfAction" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.causeOfAction}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="受理法院" prop="court" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.court}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="起诉时间" prop="indictTime"  align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.indictTime}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="审理结果" prop="result" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.result}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="备注" prop="remark" align="center">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.remark}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="附件" prop="reportFiles" align="center">
+                    <template slot-scope="scope">
+                        <span>
+                          <span v-if="scope.row.reportFiles">
+                            <div v-for="item in scope.row.reportFiles" style="margin:0;display:flex;justify-content:space-around;align-items:center;">
+                              <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer">{{item.name?item.name+'.'+item.suffix:item.fileName}}</p> 
+                              <Menu :data="item" @delFile="delFile1(scope.row,item.id,scope.$index)"></Menu>
+                            </div>
+                            </span>
+                             <span v-else><i class="el-icon-minus"></i></span>
+                        </span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" width="160" align="center">
+                    <template slot-scope="scope">
+                        <div class="special">
+                            <el-button type="text" size="small" @click="edit(scope.row)">编辑</el-button>
+                            <el-button type="text" size="small" @click="del(scope.row)">删除</el-button>
+                        </div>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-main>
+        <el-footer class="pagination">
+            <el-pagination  background layout="total,prev,sizes, pager, next,jumper" :total="total" @current-change="handleCurrentChange" :current-page="queryParams.current" :page-size="queryParams.size"></el-pagination>
+        </el-footer>
+    </el-container>
+    <addMessage ref="addMessage" @save="save"></addMessage>
+  </div>
+</template>
+
+<script>
+import mixins from './mixins/index';
+export default {
+    mixins:[mixins],
+    components: {},
+    props: {},
+    data() {
+        return {
+            field:[
+                {
+                    field:'plaintiff',
+                    label:'原告',
+                    components:'el-input',
+                    type:'text'
+                },
+                {
+                    field:'defendant',
+                    label:'被告',
+                    components:'el-input',
+                    type:'text'
+                },
+                {
+                    field:'causeOfAction',
+                    label:'案由',
+                    components:'el-input',
+                    type:'text'
+                },
+                {
+                    field:'court',
+                    label:'受理法院',
+                    components:'el-input',
+                    type:'text'
+                },
+                {
+                    field:'indictTime',
+                    label:'起诉时间',
+                    components:'el-date-picker',
+                    type:'date'
+                },
+                {
+                    field:'result',
+                    label:'审理结果',
+                    components:'el-input',
+                    type:'text',
+                },
+                {
+                    field:'caseDetails',
+                    label:'案件详情',
+                    components:'el-input',
+                    type:'text',
+                },
+                {
+                    field:'fileGuids',
+                    label:'附件',
+                    components:'myUpload',
+                    type:'upload',
+                },
+                {
+                    field:'remark',
+                    label:'备注',
+                    components:'el-input',
+                    type:'text',
+                },
+            ],
+
+        };
+    },
+    watch: {},
+    computed: {},
+    created() {},
+    mounted() {},
+    methods: {
+        getList(){
+            this.loading = true
+            this.$api.queryLitigationHistory(this.queryParams).then(response=>{
+                if(response.code == 200){
+                    this.tableData = response.data.data
+                    this.total = response.data.total
+                    this.loading = false
+                }
+            }).catch(error=>{
+                this.tableData = []
+                this.total = 0
+                this.loading = false
+            })
+        },
+        add(){
+
+            var form = {
+                
+            }
+            var title = '添加诉讼历史'
+            this.$refs.addMessage.open(this.field,form,title)
+        },
+        edit(row){
+            var title = '编辑诉讼历史'
+            this.$refs.addMessage.open(this.field,row,title)
+        },
+        del(row){
+            this.deletes([row.id])
+        },
+        deletes(ids){
+            this.$confirm('是否删除', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                this.$api.deleteLitigationHistory(ids).then(response=>{
+                    if(response.code == 200){
+                        this.$message.success('删除成功')
+                        this.getList()
+                    }
+                }).catch(error=>{
+
+                })
+            })
+        },
+        save(val){
+            this.$refs.addMessage.changeBtnLoading(true)
+            var form = {
+                ...val,
+                patentNo:this.patent.patentNo
+            }
+            var a = ''
+            if(form.id){
+                a='编辑'
+            }else{
+                a='添加'
+            }
+            this.$api.addLitigationHistory(form).then(response=>{
+                if(response.code == 200){
+                    this.$message.success(a+'成功')
+                    this.$refs.addMessage.changeBtnLoading(false)
+                    this.$refs.addMessage.close()
+                    this.getList()
+                }
+            }).catch(error=>{
+                this.$message.error(a+'失败')
+                this.$refs.addMessage.changeBtnLoading(false)
+            })
+        },
+        
+    },
+};
+</script>
+<style lang="scss" scoped>
+.head{
+    width: 100%;
+    display: flex;
+    justify-content: flex-end;
+}
+</style>

+ 1 - 0
src/views/project/patentDetails/components/patentMessage/history/mixins/index.js

@@ -12,6 +12,7 @@ export default{
         return {
             tableData:[],
             queryParams:{
+                patentNo:this.patent.patentNo,
                 current:1,
                 size:10
             },

+ 1 - 1
src/views/report/InvalidResponse/components/reasonsAndEvidence/details.vue

@@ -1284,7 +1284,7 @@ export default {
         this.getData()
     },
     updateData(field,val,type,row,num){
-        var arr = ['ifPresentOpinions1','ifPresentOpinions2','rbSummary','rbDecision','courtDecision1','courtDecision1']
+        var arr = ['evidenceText','ifPresentOpinions1','ifPresentOpinions2','rbSummary','rbDecision','courtDecision1','courtDecision1']
         var types = [5,1]
         var ifGroup = ['2','3','4','8'].indexOf(this.row.statutesId) !=-1
         if(arr.indexOf(field)!=-1 && types.includes(type)){

+ 6 - 1
src/views/report/InvalidResponse/components/reasonsAndEvidence/reasonsAndEvidence.vue

@@ -427,7 +427,6 @@ export default {
     },
     //更新数据
     updateData(field,val,row,num,ifGroup){
-        console.log(field)
         if(['rbDecision','courtDecision1','courtDecision1'].includes(field)){
             var claimId = row.claimId
             var index = this.tableData.findIndex(item=>{
@@ -465,10 +464,16 @@ export default {
                     if(field == 'ifPresentOpinions1'){
                         this.tableData[index].secondErIfPresentOpinions1 = val
                     }
+                    if(field == 'evidenceText'){
+                        this.tableData[index].secondEvidenceText = val
+                    }
                 }else{
                     if(field == 'ifPresentOpinions1'){
                         this.tableData[index].erIfPresentOpinions1 = val
                     }
+                    if(field == 'evidenceText'){
+                        this.tableData[index].evidenceText = val
+                    }
                 }
             }