瀏覽代碼

报告详情

zhuliu 1 年之前
父節點
當前提交
7932aff321

+ 2 - 4
src/views/patentMining/components/dialog/handleTask1.vue

@@ -84,8 +84,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="附件:">
-              <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove"
-                @on-preview="onPreview" style="height: 180px;" :autoUpload="true" :disabled="form.isLook ? true : false">
+              <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove" style="height: 180px;" :autoUpload="true" :disabled="form.isLook ? true : false">
               </myUpload>
             </el-form-item>
           </el-col>
@@ -211,8 +210,7 @@ export default {
         this.form.systemFileList.splice(index, 1)
       }
     },
-    // 点击文件
-    onPreview(file) { },
+
     // 切换按钮
     onChangeFamily(val) {
       this.btn = val

+ 2 - 4
src/views/patentMining/components/dialog/uploadFile.vue

@@ -11,8 +11,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="附件:" prop="delivery">
-          <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove"
-            @on-preview="onPreview" style="height: 185px;" :autoUpload="true"></myUpload>
+          <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove" style="height: 185px;" :autoUpload="true"></myUpload>
         </el-form-item>
         <el-form-item label="最终文件:" prop="ifFinal" style="width: 20px;">
           <el-switch v-model="form.ifFinal" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
@@ -158,8 +157,7 @@ export default {
         this.form.systemFileList.splice(index, 1)
       }
     },
-    // 点击文件
-    onPreview(file) { },
+
   },
 
 };

+ 195 - 106
src/views/report/components/details/components/basicMessage.vue

@@ -1,113 +1,202 @@
 <template>
-  <div style="overflow-y:auto;overflow-x:hidden" :style="{ height: height }">
-    <!-- <el-button type="primary" @click="submit" style="float:right" v-if="!noEdit1">提交</el-button> -->
-    <div style="width:500px;margin:0 auto">
-      <el-form :model="form" ref="reportForm" label-width="140px">
-
-        <el-form-item :label="form.type == 3 ? '标的产品:' : '标的专利:'" prop="signPatentNo">
-          <el-link type="primary" v-if="form.type != 3"
-            @click="toPatentDetails(form.signPatentNo, form)">{{ form.signPatentNo }}</el-link>
-          <span v-else>{{ form.signPatentNo }}</span>
-        </el-form-item>
-        
-        <el-form-item label="核心结论:" prop="conclusions"
-          v-if="form.status == 3 && form.conclusions && form.conclusions.length > 0">
-          <span v-for="(item, index) in form.conclusions" :key="index" style="margin:0">{{ item }} <span
-              v-if="index < form.conclusions.length - 1">| </span></span>
-        </el-form-item>
-        <el-form-item label="核心结论论述:" prop="cronConclusion" v-if="form.status == 3 && form.cronConclusion">
-          <span>{{ form.cronConclusion }} </span>
-        </el-form-item>
-        <el-form-item label="报告名称:" prop="name">
-          <span>{{ form.name }}</span>
-        </el-form-item>
-        <el-form-item label="承担部门:" prop="departmentId">
-          <span>{{ form.departmentName }}</span>
-        </el-form-item>
-        <el-form-item label="负责人:" prop="personId">
-          <span>{{ form.personName }}</span>
-        </el-form-item>
-        <el-form-item label="委托方:" prop="clientId">
-          <span>{{ form.clientName }}</span>
-        </el-form-item>
-        <el-form-item label="产品/技术:" v-if="form.proTec">
-          <span>{{ form.proTec }}</span>
-        </el-form-item>
-        <el-form-item label="应用场景:" prop="easFlag" v-if="form.scenarioNames">
-          <div style="word-wrap:keep-all;">
-            <span v-for="item in form.scenarioNames">{{ item }}&nbsp;&nbsp;&nbsp;</span>
-          </div>
-        </el-form-item>
-        <el-form-item label="关联报告:" v-if="form.associateReportName">
-          <span>{{ form.associateReportName }}</span>
-        </el-form-item>
-        <template v-if="form.type == 7">
-          <el-form-item label="案件编号:" prop="caseNumber" v-if="form.caseNumber">
-            <span>{{ form.caseNumber }}</span>
+    <div>
+      <el-form :model="form" ref="reportForm" label-width="120px">
+          <el-row>
+            <el-col :span="12">
+              <template>
+                <div>
+                 <el-form-item v-if="form.reportType == 3" label="标的产品" prop="signProjectId">
+                     <span v-html="$commonJS.getColumnData(form,{type:'String',value:'signProjectName'})"></span>
+                  </el-form-item>
+                  <el-form-item v-else label="标的专利" prop="signPatentNo">
+                      <span v-html="$commonJS.getColumnData(form,{type:'String',value:'signPatentNo'})"></span>
+                  </el-form-item>
+                </div>
+              </template>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报告名称" prop="name">
+                  <span v-html="$commonJS.getColumnData(form,{type:'String',value:'name'})"></span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="是否完成">
+              <span v-html="$commonJS.getColumnData(form,{type:'String',value:'status'})"></span>
           </el-form-item>
-          <el-form-item label="发文序号:" prop="issueNumber" v-if="form.issueNumber">
-            <span>{{ form.issueNumber }}</span>
-          </el-form-item>
-          <el-form-item label="发明创造名称:" prop="inventionName" v-if="form.inventionName">
-            <span>{{ form.inventionName }}</span>
-          </el-form-item>
-          <el-form-item label="专利权人:" prop="currentApplication" v-if="form.currentApplication">
-            <span>{{ form.currentApplication }}</span>
+          <template v-if="form.status == 3">
+            <div>
+              <el-form-item label="核心结论">
+                  <span v-html="$commonJS.getColumnData(form,{type:'Array',value:'cronNames'})"></span>
+              </el-form-item>
+              <el-form-item label="结论论述">
+                  <span v-html="$commonJS.getColumnData(form,{type:'String',value:'cronDescription'})"></span>
+              </el-form-item>
+            </div>
+          </template>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="承担部门" prop="departmentId">
+                  <span v-html="$commonJS.getColumnData(form,{type:'String',value:'departmentName'})"></span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="负责人" prop="headId">
+                  <span v-html="$commonJS.getColumnData(form,{type:'String',value:'headName'})"></span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <template>
+                <div>
+                  <el-form-item label="委托方" prop="entrustId" v-if="userinfo.tenantType == 1">
+                      <span v-html="$commonJS.getColumnData(form,{type:'String',value:'entrustName'})"></span>
+                  </el-form-item>
+                  <el-form-item label="委托部门" prop="departmentId" v-else>
+                      <span v-html="$commonJS.getColumnData(form,{type:'String',value:'departmentName'})"></span>
+                  </el-form-item>
+                </div>
+              </template>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="卷号" prop="volumeNumber">
+                  <span v-html="$commonJS.getColumnData(form,{type:'String',value:'volumeNumber'})"></span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item label="产品/技术">
+                <span v-html="$commonJS.getColumnData(form,{type:'String',value:'productOrTech'})"></span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item label="关联报告">
+                <span v-html="$commonJS.getColumnData(form,{type:'String',value:'associateReportName'})"></span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <template >
+            <div>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="事件:">
+                      <span v-html="$commonJS.getColumnData(form,{type:'Array',value:'eventNames'})"></span>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="调查类型:" prop="matterIds">
+                      <span v-html="$commonJS.getColumnData(form,{type:'Array',value:'matterNames'})"></span>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+          </template>
+  
+          <template v-if="form.reportType == 7">
+            <div>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="案件编号">
+                    <span v-html="$commonJS.getColumnData(form,{type:'String',value:'caseNumber'})"></span>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="发文序号">
+                    <span v-html="$commonJS.getColumnData(form,{type:'String',value:'issueNumber'})"></span>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="发明创造名称">
+                    <span v-html="$commonJS.getColumnData(form,{type:'String',value:'inventionName'})"></span>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="无效宣告请求人">
+                    <span v-html="$commonJS.getColumnData(form,{type:'String',value:'invalidApplication'})"></span>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+          </template>
+          <el-form-item label="附件">
+            <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove" style="height: 180px;" :autoUpload="true"></myUpload>
           </el-form-item>
-          <el-form-item label="无效宣告请求人:" prop="invalidApplication" v-if="form.invalidApplication">
-            <span>{{ form.invalidApplication }}</span>
+          <el-form-item label="备注" prop="description">
+            <span v-html="$commonJS.getColumnData(form,{type:'String',value:'description'})"></span>
           </el-form-item>
-        </template>
-        <el-form-item label="卷号:" prop="volumeNumber" v-if="form.volumeNumber">
-          <span>{{ form.volumeNumber }}</span>
-        </el-form-item>
-        <el-form-item :label="noEdit1 ? '附件' : '上传附件:'">
-          <div v-if="form.reportFiles" class="upload-file">
-            <div v-for="item in form.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"
-                @click="checkFile(item)">{{ item.name ? item.name + '.' + item.suffix : item.fileName }}</p>
-              <Menu :data="item" :reportId="reportId" @delFile="delFile"></Menu>
-            </div>
-          </div>
-          <el-upload v-if="!noEdit1 && Object.keys(form).length > 1 && $reportPermission(reportId, [0, 1])" ref="upload"
-            class="upload-file" drag action="#" :auto-upload="false" :show-file-list="true" :on-change="onChange" multiple
-            :on-preview="handlePreview" :on-remove="handleRemove">
-            <i :class="!file ? 'el-icon-upload' : 'el-icon-refresh'"></i>
-            <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
-            <div class="el-upload__tip" slot="tip"></div>
-          </el-upload>
-        </el-form-item>
-
-        <el-form-item label="备注:" prop="remark" v-if="form.remark">
-          <span>{{ form.remark }}</span>
-        </el-form-item>
-      </el-form>
+        </el-form>
     </div>
-  </div>
 </template>
-
+  
 <script>
-
-export default {
-  components: {
-
-  },
-  props: ['reportId'],
-  data() {
-    return {
-     
-    }
-  },
-  watch: {
-
-  },
-  mounted() {
-    this.getList()
-  },
-  methods: {
-    // 获取数据
-    getList(){},
-  },
-}
-</script>
+import { mapGetters } from 'vuex';
+  export default {
+    components: {},
+    props: {
+      projectId:''
+    },
+    data() {
+      return {
+        form:{}
+      };
+    },
+    watch: {},
+    computed: {
+        ...mapGetters(['userinfo'])
+    },
+    created() {},
+    mounted() {
+        this.getReportMessage()
+    },
+    methods: {
+        getReportMessage(){
+            let params = {
+                searchQuery: `id=${this.projectId}`,//检索条件
+                orderDTOList: [],
+            }
+            this.$api.queryReportProject(params).then(res => {
+                if (res.code == 200) {
+                    if(res.data.data.length>0){
+                        this.form = res.data.data[0]
+                    }else{
+                        this.form = {}
+                    }
+                }
+            }).catch(error => {
+                this.form = {}
+            })
+        },
+         // 上传的文件监听
+        onchangeFile(file, fileList) {
+            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>
+  <style lang="scss" scoped>
+  </style>

+ 36 - 7
src/views/report/components/details/index.vue

@@ -10,7 +10,7 @@
         </el-menu>
       </el-aside>
       <el-main>
-        <component :is='componentName' :projectId="projectId" :patentNo="patentNo"></component>
+        <component :is='componentName' :projectId="projectId" :patentNo="patentNo" :reportType="reportType"></component>
       </el-main>
     </el-container>
     
@@ -20,7 +20,8 @@
 <script>
 export default {
   components: {},
-  props: {},
+  props: {
+  },
   data() {
     return {
         activeMenu:'Table',
@@ -48,6 +49,9 @@ export default {
     patentNo() {
       return this.$route.query.patentNo
     },
+    reportType(){
+      return this.$route.query.reportType
+    }
   },
   created() {},
   mounted() {
@@ -55,28 +59,53 @@ export default {
   },
   methods: {
     getMenu(){
-      var menu = [
+      var menus = [
         {
           label:'标的专利特征拆分',
           name:'splitPatent',
-          path:'report/components/details/components/splitDetails.vue'
+          path:'report/components/details/components/splitDetails.vue',
+          reportType:[0,1,2,5]
+        },
+        {
+          label:'标的产品信息',
+          name:'productMessage',
+          path:'report/components/details/components/splitDetails.vue',
+          reportType:[3,4]
+        },
+        {
+          label:'专利与产品关联比对',
+          name:'productMessage',
+          path:'report/components/details/components/splitDetails.vue',
+          reportType:[3,4]
+        },
+        {
+          label:'对比结果',
+          name:'productMessage',
+          path:'report/components/details/components/splitDetails.vue',
+          reportType:[3,4]
         },
         { 
           label: '回避设计方案', 
           name:"avoid",
-          path:'report/avoid/components/avoidDirection.vue'
+          path:'report/avoid/components/avoidDirection.vue',
+          reportType:[5]
         }, 
         { 
           label: '回避设计结果', 
           name:"direction",
-          path:'report/avoid/components/direction.vue'
+          path:'report/avoid/components/direction.vue',
+          reportType:[5]
         },
         { 
           label: '报告文档', 
           name:"reportFile",
-          path:'report/components/reportFile/reportFileTable.vue'
+          path:'report/components/reportFile/reportFileTable.vue',
+          reportType:[0,1,2,3,4,5]
         },
       ]
+      var menu = menus.filter(item=>{
+        return item.reportType.indexOf(Number(this.reportType))!=-1
+      })
         this.menuList.splice(1,0,...menu)
         this.getComponents()
     },

+ 8 - 14
src/views/report/components/mixins/index.js

@@ -24,20 +24,14 @@ export default {
   methods: {
     // 点击表格名称等事件
     handleItem(row, key) {
-      switch (row.reportType) {
-        case 5:
-          this.$router.push({
-            path: '/reportDetails',
-            query: {
-              projectId: row.id,
-              patentNo:row.signPatentNo,
-            }
-          })
-          break;
-
-        default:
-          break;
-      }
+      this.$router.push({
+        path: '/reportDetails',
+        query: {
+          projectId: row.id,
+          patentNo:row.signPatentNo,
+          reportType:row.reportType
+        }
+      })
 
     },
     //表格操作列事件