瀏覽代碼

回避设计

zhuhao 1 年之前
父節點
當前提交
5845daf385

+ 12 - 10
src/router/index.js

@@ -318,16 +318,18 @@ const routes = [
       //       },
       //       component:() => import('@/views/report/FTO/FTOPage/ReportDetails/index.vue'),
       //     },
-      //     //回避设计报告详情
-      //     {
-      //       path: '/avoidAside',
-      //       name:"avoidAside",
-      //       meta:{
-      //         aside: true,
-      //         showHeader:true,
-      //       },
-      //       component:() => import('@/views/report/avoid/avoidAsid/index.vue'),
-      //     },
+          // //回避设计报告详情
+          // {
+          //   path: '/avoidAside',
+          //   name:"avoidAside",
+          //   meta:{
+          //     aside: true,
+          //     showHeader: true,
+          //     sign:'avoidAside',
+          //     belong:'AllReport'
+          //   },
+          //   component:() => import('@/views/report/avoid/avoidAsid/index.vue'),
+          // },
       //     //无效应对报告详情
       //     {
       //       path:'/InvalidResponse',

+ 6 - 3
src/utils/model/route.vue

@@ -1,21 +1,24 @@
 <template>
   <div>
-      <el-button @click="show = !show">切换</el-button>
+      <!-- <el-button @click="show = !show">切换</el-button>
 
     <myView2 :showView="show">
       <div slot="left">
         111
       </div>
       <div slot="right">222</div>
-    </myView2>
+    </myView2> -->
+    <avoidDirection></avoidDirection>
   </div>
 </template>
 
 <script>
 import myView2 from './myView/index.vue'
+import avoidDirection from '@/views/report/avoid/components/avoidDirection.vue'
 export default {
   components: {
-    myView2
+    myView2,
+    avoidDirection
   },
   props: {},
   data() {

+ 0 - 338
src/views/patentMining/components/excavateTask/excavateTask.vue

@@ -1,338 +0,0 @@
-<template>
-  <!-- 挖掘任务 -->
-  <div class="height_100">
-    <el-container>
-      <el-header style="display: flex;justify-content: space-between;align-items: center;">
-        <div>
-          <mySearch :SearchFields="searchFiled" @search="search" :searchValue="searchOption"></mySearch>
-        </div>
-        <div style="display:flex;margin-right:10px">
-          <el-button type="primary" size="small" @click="createTask">创建任务</el-button>
-        </div>
-      </el-header>
-      <el-main class="height_100">
-        <el-table :data="tableData" style="width: 100%;" border header-row-class-name="custom-table-header"
-          @sort-change="sortChange">
-          <el-table-column label="#" align="center" width="80px">
-            <template slot-scope="scope">
-              <div>
-                {{ (queryParams.current - 1) * queryParams.size + scope.$index + 1 }}
-              </div>
-            </template>
-          </el-table-column>
-
-          <el-table-column v-for="item in columnList" :key="item.value" :prop="item.value"
-            :render-header="$commonJS.renderHeaderMethods" :label="item.name" sortable="custom" align="center">
-            <template slot-scope="scope">
-              <div v-if="['name'].includes(item.value)">
-                <el-link @click="handleItem(scope.row, item.value)">
-                  <span v-html="$commonJS.getColumnData(scope.row, item)"></span>
-                </el-link>
-              </div>
-              <div v-else-if="['taskType'].includes(item.value)" v-html="$commonJS.getColumnData(scope.row, item,null,{data:taskType})"></div>
-              <div v-else v-html="$commonJS.getColumnData(scope.row, item)"></div>
-            </template>
-          </el-table-column>
-      
-          <el-table-column label="操作" align="center" width="180px"> 
-          <template slot-scope="scope">
-            <div>
-              <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
-                @click="handleTask(scope.row)">
-                <span v-if="scope.row.status == '已完成' || scope.row.handlePerson != userinfo.name">查 看</span>
-                <span v-else>处 理</span>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item command="1">查看审核记录</el-dropdown-item>
-                  <el-dropdown-item command="2" style="color: red;text-align: center;">删除</el-dropdown-item>
-                </el-dropdown-menu>
-              </el-dropdown>
-            </div>
-          </template>
-          </el-table-column>
-        </el-table>
-      </el-main>
-      <el-footer class="pagination">
-        <el-pagination background layout="total, prev, pager, next, jumper" :current-page.sync="queryParams.current"
-          :page-size.sync="queryParams.size" @current-change="handleCurrentChange" :total="queryParams.total">
-        </el-pagination>
-      </el-footer>
-    </el-container>
-
-    <createTask ref="createTaskDialog" @isCreate="isCreate"></createTask>
-    <handleTask1 ref="handleTask1Dialog"></handleTask1>
-    <!-- <handleTask2 ref="handleTask2Dialog"></handleTask2> -->
-    <handleTask2 ref="handleTask2Dialog" @isSuccess="isSuccess"></handleTask2>
-    <auditRecords ref="auditRecords" ></auditRecords>
-  </div>
-</template>
-
-<script>
-import { mapGetters } from 'vuex'
-import {column} from '../mixins/index2'
-import createTask from '../dialog/createTask.vue'
-import handleTask1 from '../dialog/handleTask1.vue'
-import handleTask2 from '../dialog/handleTask2.vue'
-import auditRecords from '../dialog/auditRecords.vue'
-export default {
-  mixins:[column],
-  components: {
-    createTask,
-    handleTask1,
-    handleTask2,
-    auditRecords,
-  },
-  props: ['id'],
-  data() {
-    return {
-      // table数据
-      tableData: [
-        {
-          name: '加热器专利挖掘1',
-          taskType: '1',
-          createPerson: '朱豪',
-          handlePerson: '张三',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '未完成'
-        },
-        {
-          name: '加热器专利挖掘2',
-          taskType: '1',
-          createPerson: '朱豪',
-          handlePerson: '朱豪',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '未完成'
-        },
-        {
-          name: '加热器专利挖掘3',
-          taskType: '2',
-          createPerson: '张三',
-          handlePerson: '朱豪',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '未完成'
-        },
-        {
-          name: '加热器专利挖掘4',
-          taskType: '3',
-          createPerson: '朱豪',
-          handlePerson: '朱豪',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '未完成',
-          taskPath: '创新点梳理',
-          endTime: '2023-10-10',
-        },
-        {
-          name: '加热器专利挖掘5',
-          taskType: '1',
-          createPerson: '张三',
-          handlePerson: '朱豪',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '已完成'
-        },
-        {
-          name: '加热器专利挖掘6',
-          taskType: '1',
-          createPerson: '朱豪',
-          handlePerson: '张三',
-          createTime: '2023-9-28 13:52',
-          endTime: '2023-9-28 18:02',
-          status: '已完成'
-        },
-      ],
-      // 分页及总数信息
-      queryParams: {
-        current: 1,
-        size: 10,
-        total: 0,
-      },
-      // 检索字段
-      searchFiled: [
-        {
-          label: '任务名称',
-          value: 'taskName',
-          type: 1,
-          placeholder: '请输入任务名称'
-        },
-        {
-          label: '创建人',
-          value: 'createPerson',
-          type: 1,
-          placeholder: '请输入创建人名称'
-        },
-      ],
-      // 检索字符串
-      searchOption: {},
-      //排序字段
-      sort: [{ "orderBy": "createTime", "orderType": 1 }],
-      // showView:false,
-    }
-  },
-  computed: {
-    ...mapGetters(['webSocket', 'userinfo']),
-    // userInfo() {
-    //   return this.$store.state.user.userinfo
-    // },
-  },
-  mounted() {
-    this.getList()
-    this.getColumn()
-  },
-  methods: {
-    // 子组件新增文件分配任务成功
-    isCreate(val) {
-      if (val == '新增成功') {
-        this.getList()
-      }
-    },
-    // 子组件新增审核任务成功
-    isSuccess(val) {
-      if (val == '新增成功') {
-        this.getList()
-      }
-    },
-    // 创建任务事件
-    createTask() {
-      this.$refs.createTaskDialog.open({})
-    },
-    //处理任务 
-    handleTask(row) {
-      // 1: '项目审核任务',
-      // 2: '文件分配任务',
-      // 3: '文件审核任务',
-      
-      if (row.status == '已完成' || row.handlePerson != this.userinfo.name) {// 完成状态并且负责人不是自己
-        if (row.taskType == '1') {// 项目审核任务
-          this.$refs.handleTask1Dialog.open(row, false)
-        } else if (row.taskType == '2') {//文件分配任务
-          this.$refs.handleTask2Dialog.open(row, false)
-        }
-      } else {//未完成状态
-        if (row.taskType == '1') {// 项目审核任务
-          this.$refs.handleTask1Dialog.open(row, true)
-        } else if (row.taskType == '2') {//文件分配任务
-          this.$refs.handleTask2Dialog.open(row, true)
-        } else {//文件审核任务
-          let router = this.$router.resolve({
-            path: '/handleExamine',
-            query: {
-              row: JSON.stringify(row)
-            }
-          })
-          window.open(router.href, '_blank')
-        }
-      }
-    },
-    // 操作栏下拉菜单按钮
-    handleCommand(ev, row) {
-      switch (ev) {
-        case '1'://查看审核记录
-          this.$refs.auditRecords.open(row.id)
-          break;
-        case '2'://删除任务
-          this.deleteTask(row)
-          break;
-
-        default:
-          break;
-      }
-    },
-    // 删除任务
-    deleteTask(row) {
-      this.deleteTasks([row.id])
-    },
-    deleteTasks(ids) {
-      this.$api.query(ids).then(response => {
-        if (response.code == 200) {
-          this.$message.success('删除成功')
-          this.queryParams.current = 1
-          this.getList()
-        }
-      })
-    },
-    //获取table栏位及分组字段、检索字段
-    async getColumn() {
-      let params = ['projectTask']
-      await this.$api.getParamsCommon(params).then(res => {
-        if (res.code == 200) {
-          let conditionDTOList = JSON.parse(JSON.stringify(res.data[0].conditionDTOList))
-          // 搜索字段
-          this.searchFiled = this.$commonJS.getField(conditionDTOList, (u) => u.ifSearch == true, {
-            label: 'name',
-            value: 'value',
-            type: 'type',
-          })
-        }
-      })
-      // this.showView = false
-      // this.$nextTick(() => {
-      //   this.showView = true
-      // })
-    },
-    // 左侧搜索
-    search(val) {
-      let params = {}
-      val.forEach(item => {
-        if (item.type == 3) {
-          params[item.value] = item.searchValue.map(itemValue => {
-            return itemValue.value
-          })
-        } else {
-          params[item.value] = item.searchValue.label
-        }
-      })
-      // 返回字符串
-      this.searchOption = params
-      // 调用查询接口
-      this.queryParams.current = 1
-      this.getList()
-    },
-    //排序
-    sortChange({ column, prop, order }) {
-      //如需要多个字段排序,则不需要清空
-      var params = {
-        sort: this.sort,
-        column,
-        prop,
-        order,
-      }
-      this.sort = this.$commonJS.getSortData(params)
-      this.queryParams.current = 1
-      this.getList()
-    },
-    // 初始化请求数据
-    getList() {
-      let searchOption = {
-        projectId:this.id,
-        ...this.searchOption
-      }
-      let params = {
-        ...this.queryParams,//分页信息
-        searchQuery: this.$commonJS.objectToString(searchOption),//检索条件
-        orderDTOList: this.sort,//排序信息
-      }
-      this.$api.queryProjectTask(params).then(response => {
-        if (response.code == 200) {
-          this.tableData = response.data.data
-          this.queryParams.current = response.data.current
-          this.queryParams.size = response.data.size
-          this.queryParams.total = response.data.total
-        }
-      }).catch(error => {
-        // this.tableData = []
-        this.queryParams.total = 0
-      })
-    },
-    // 分页
-    handleCurrentChange(val) {
-      this.queryParams.current = val
-      this.getList()
-    },
-  },
-}
-</script>
-
-<style lang="scss" scoped></style>

+ 109 - 0
src/views/report/avoid/avoidAsid/index.vue

@@ -0,0 +1,109 @@
+<template>
+  <div>
+      <el-container>
+      <el-aside width="210px" style="overflow:hidden" class="patent-articles-menu">
+        <el-menu class="theme-dark" :default-active="activeMenu" @select="handleSelect">
+          <el-menu-item v-for="item in menuList" :key="item.path" :index="item.path" v-if="!item.show">
+            <i class="el-icon-film"></i>
+            <span slot="title">{{item.title}}</span>
+          </el-menu-item>
+        </el-menu>
+      </el-aside>
+      <el-container>
+        <el-main class="admin-main-box">
+          <component :row="row" :is="activeMenu" :reportId="reportId"  :reportId2="reportId" :patentNo="signPatentNo" :splitBy="splitBy" :splitType="splitType"></component>
+        </el-main>
+      </el-container>
+    </el-container>
+  </div>
+</template>
+
+<script>
+// import BasicInformation from '@/views/report/reportDetails/components/basicMessage.vue';
+// import SignPatent from '@/views/components/articles/components/features.vue';
+// import avoid from '@/views/report/avoid/avoidPage/avoidDirection.vue';
+// import direction from '@/views/report/avoid/avoidPage/direction.vue';
+// import ReportFile from '@/views/report/reportDetails/components/reportFile.vue';
+// import TaskDetails from '@/views/report/reportDetails/components/taskDetails.vue';
+// import remarryMatter from '@/views/report/components/matter/remarryMatter.vue';
+export default {
+  components:{
+    // BasicInformation,
+    // avoid,
+    // direction,
+    //   SignPatent,
+    //   ReportFile,
+    //   TaskDetails,
+    //   remarryMatter
+  },
+  data() {
+      return {
+          activeMenu: "BasicInformation",
+          menuList: [
+            { title: '基本信息', path: "BasicInformation" }, 
+            { title: '标的专利特征拆分详情', path:"SignPatent"}, 
+              { title: '回避设计方案', path:"avoid"}, 
+              { title: '回避设计结果', path:"direction"}, 
+              { title: '报告文档', path:"ReportFile"}, 
+              { title: '后续跟进事项', path:"remarryMatter",show:(this.row&&this.row.status==3 && this.$permission('/rms/matter'))?false:true}, 
+              { title: '任务清单', path:"TaskDetails",show:(this.$reportPermission(this.reportId,[0,1]))?false:true}, 
+          ],
+      }
+  },
+  watch: {
+    // show(){
+    //       this.setData()
+    //     }
+  },
+  computed:{
+    // show(){
+    //         return this.$permission('/rms/matter')
+    //     },
+      dictMessage() {
+          return this.$s.getSession('row').dictMessage.REPORT_TYPE
+      },
+      row(){
+          return this.$s.getSession('row')
+      },
+      reportId(){
+          return this.$s.getSession('row').id
+      },
+      splitBy(){
+          return this.$s.getSession('row').splitBy
+      },
+      splitType(){
+          return this.$s.getSession('row').splitType
+      },
+      signPatentNo(){
+          return this.$s.getSession('row').signPatentNo
+      }
+  },
+  created(){
+    this.setData()
+  },
+  mounted() {
+    this.changePageTitle()
+      // console.log(this.row);
+  },
+  methods: {
+    setData(){
+            this.menuList =[
+                  { title: '基本信息', path: "BasicInformation" }, 
+                  { title: '标的专利特征拆分详情', path:"SignPatent"}, 
+                  { title: '回避设计方案', path:"avoid"}, 
+                  { title: '回避设计结果', path:"direction"}, 
+                  { title: '报告文档', path:"ReportFile"}, 
+                  { title: '后续跟进事项', path:"remarryMatter",show:(this.row&&this.row.status==3 && this.$permission('/rms/matter'))?false:true}, 
+                  { title: '任务清单', path:"TaskDetails",show:(this.$reportPermission(this.reportId,[0,1]))?false:true}, 
+              ]
+        },
+      changePageTitle() {
+          document.title = `${this.row.name} ${'报告详情'}`
+      },
+      handleSelect(index, path) {
+          // console.log(index, path);
+          this.activeMenu = index
+      },
+  },
+}
+</script>

+ 151 - 13
src/views/report/avoid/components/avoidDirection.vue

@@ -1,26 +1,23 @@
 <template>
-  <div style="padding:20px" class="height_100">
+  <div class="height_100">
     <el-container>
       <el-header>
         <div>
           <p> 标的专利号:<el-link type="primary" @click="toPatentDetails(patentNo)">{{ patentNo }}</el-link> </p>
         </div>
       </el-header>
-      <el-main class="height_100">
-
+      <el-main class="height_100" style="padding:20px">
         <!-- 拆分特征公用组件 -->
-        <splitPage></splitPage>
+        <splitPage :tableData="tableData" :word="{ patentNo: patentNo, reportId: reportId }" :columnList="columnList"
+          @splitSelect="splitSelect" @isSave="isSave"></splitPage>
 
         <!-- 回避设计总体方向 -->
         <div style="margin-top: 20px;">
           <p>回避设计总体方向:</p>
           <div>
-            <div style="min-height:60px;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px;padding: 10px;"
-              id="preview" class="edit-box" contenteditable="true" placeholder="请输入回避设计总体方向(可粘贴图片)"
-              v-html="textarea1.wholeDirection" @input="saveValue($event.target.innerHTML)"
-              @click="saveValue($event.target.innerHTML)" @blur="getValue(textarea1, 'wholeDirection')"
-              v-on:paste="handlePaste($event, textarea1, 'wholeDirection')">
-            </div>
+
+            <myRichText v-model="textarea.wholeDirection" placeholder="请输入回避设计总体方向(可粘贴图片)"></myRichText>
+
           </div>
         </div>
       </el-main>
@@ -41,19 +38,160 @@ export default {
   },
   data() {
     return {
+      // 回避设计栏位
+      columnList: [
+        {
+          name: "回避设计方向(可粘贴图片)",
+          type: "String",
+          value: "littleDirection",
+        },
+      ],
+      // 数据源
+      tableData: [],
+      // 回避设计总体方案
+      textarea: {},
     };
   },
   watch: {
   },
   mounted() {
-
+    // this.getList()
   },
   methods: {
+    // 保存
+    isSave(val) {
+      this.handleData(val)
+      // 回避设计总体方案
+      val.wholeDirection = this.textarea.wholeDirection
+      this.$api.save(val).then(res => {
+        if (res.code == 200) {
+          this.$message.success('保存成功')
+        }
+      })
+    },
+    handleData(tableData) {
+      let keepArr = [
+        {
+          pRightName: tableData[0].pRightName,
+          RightName: tableData[0].pRightName,
+          signPatentNo: tableData[0].pSignPatentNo,
+          // patentId: tableData[0].pPatentId,
+          content: tableData[0].content,
+          // type: tableData[0].pType,
+          // sort: tableData[0].pSort,
+          rightId: tableData[0].rightId,
+          reportId: tableData[0].pReportId,
+          contentOut: tableData[0].pContentOut,
+          features: [],
+        }
+      ]
+      var j = 0
+      for (let i = 0; i < tableData.length; i++) {
+        if (keepArr.findIndex(item => { return (item.pRightName || item.RightName) == tableData[i].rightName }) < 0) {
+          
+          j += 1
+          keepArr.push(
+            {
+              RightName: tableData[i].pRightName,
+              signPatentNo: tableData[i].pSignPatentNo,
+              // patentId: tableData[i].pPatentId,
+              content: tableData[i].pContent,
+              // type: tableData[i].pType,
+              // sort: tableData[i].pSort,
+              rightId: tableData[i].rightId,
+              reportId: tableData[i].pReportId,
+              contentOut: tableData[i].pContentOut,
+              features: [],
+            }
+          )
+        }
+        keepArr[j].features.push({
+          signPatentNo: tableData[i].signPatentNo,
+          patentId: tableData[i].patentId,
+          content: tableData[i].content.trim(),
+          type: tableData[i].type,
+          littleDirection: tableData[i].littleDirection ? tableData[i].littleDirection : '',
+          // littleDirection:
+          // reportId: tableData[i].pReportId,
+          reportId: tableData[i].reportId,
+          explainText: tableData[i].explainText ? tableData[i].explainText : '',
+          contentOut: tableData[i].contentOut.trim(),
+          splitBy: tableData[i].splitBy,
+          splitType: tableData[i].splitType,
+          featuresOrder: tableData[i].featuresOrder,
+          partnerId: tableData[i].partnerId,
+          rightId: tableData[i].rightId,
+          rightType: tableData[i].rightType,
+          id: tableData[i].id,
+          rightName: tableData[i].rightName,
+          pRightName: tableData[i].rightName,
+          isFinal: tableData[i].isFinal,
+          pContent: tableData[i].pContent,
+          pContentOut: tableData[i].pContentOut,
+        })
+        // console.log(tableData[i].littleDirection);
+      }
+      let keepStr = {
+        reportId: this.reportId,
+        avoidDesignLittleDirectionDTOs: keepArr,
+        wholeDirection: this.textarea1.wholeDirection ? this.textarea1.wholeDirection : ''
+      }
+    },
+    // 改变拆分条件
+    splitSelect(split) {
+      this.getList(split)
+    },
+    // 获取数据
+    getSplitList(val) {
+      let params = {
+        patentNo: this.patentNo,
+        reportId: this.reportId,
+        ...val,//拆分条件
+      }
+      this.$api.query(params).then(res => {
+        if (res.code == 200) {
+          this.textarea.wholeDirection = res.data.wholeDirection
+          if (res.data.patentRightVos.length > 0) {
+            res.data.patentRightVos.forEach(RightVosItem => {
+              if (RightVosItem.features.length > 0) {
+                RightVosItem.features.forEach(FeaturesItem => {
+                  FeaturesItem.pRightName = RightVosItem.RightName
+                  FeaturesItem.pSignPatentNo = RightVosItem.signPatentNo
+                  FeaturesItem.pContentOut = RightVosItem.contentOut
+                  FeaturesItem.pContent = RightVosItem.content
+                  FeaturesItem.pReportId = RightVosItem.reportId
+                  FeaturesItem.pPatentId = RightVosItem.patentId
+                  FeaturesItem.pType = RightVosItem.type
+                  FeaturesItem.pSort = RightVosItem.sort
+                  this.hasOwn(FeaturesItem)
+                  this.tableData.push(FeaturesItem)
+                })
+              }
+            })
+          }
+        }
+      })
+    },
+    hasOwn(item) {
+      if (!item.hasOwnProperty("explainText")) {
+        item.explainText = item.contentOut
+      } else {
+        if (item.explainText == "") {
+          item.explainText = item.contentOut
+        }
+      }
+      if (!item.hasOwnProperty("littleDirection")) {
+        item.littleDirection = ''
+      } else {
+        if (item.littleDirection == "") {
+          item.littleDirection = ''
+        }
+      }
+    },
     // 跳转专利详情(放在公用js)
     toPatentDetails(patentNo) {
-      
-    },
 
+    },
   }
 }
 </script>

+ 218 - 125
src/views/report/avoid/components/splitPage.vue

@@ -1,17 +1,18 @@
 <template>
   <!-- 权要拆分类型等 -->
-  <div>
+  <div class="height_100">
     <div style="display: flex; justify-content: space-between;margin:20px 0px 20px 0 ;">
       <el-button-group>
-        <el-button @click="merge">合并</el-button>
-        <el-button @click="split">拆分</el-button>
+        <el-button @click="merge" :disabled="checkList.length > 1 ? false : true">合并</el-button>
+        <el-button @click="split" :disabled="checkList.length > 0 ? false : true">拆分</el-button>
       </el-button-group>
       <div>
-        <el-select placeholder="请选择拆分类型" v-model="splitType" style="margin-left: 50px;" @change="splitTypeSelect($event)">
+        <el-select placeholder="请选择拆分类型" v-model="splitType" style="margin-left: 50px;"
+          @change="splitSelect($event, 'type')">
           <el-option label="仅拆主权要" value="0"></el-option>
           <el-option label="全部拆分" value="1"></el-option>
         </el-select>
-        <el-select placeholder="请选择拆分符号" v-model="splitBy" style="margin-left: 10px;" @change="splitBySelect($event)">
+        <el-select placeholder="请选择拆分符号" v-model="splitBy" style="margin-left: 10px;" @change="splitSelect($event, 'by')">
           <el-option label="逗号拆分" value="0"></el-option>
           <el-option label="分号拆分" value="1"></el-option>
           <el-option label="逗号和分号拆分" value="2"></el-option>
@@ -22,13 +23,13 @@
         </el-select>
       </div>
       <div>
-        <el-button @click="keep" type="primary">保存</el-button>
+        <el-button @click="save" type="primary">保存</el-button>
       </div>
     </div>
 
     <template>
       <el-table :data="tableData" border ref="table" :span-method="objectSpanMethod" v-loading="loading"
-        style="width: 100%" :height="tableHeight">
+        style="width: 100%">
         <el-table-column prop="pRightName" label="权要" width="180" align="center">
           <template slot-scope="scope">
             <el-tooltip class="item" effect="dark" :content="scope.row.pContent" placement="top">
@@ -36,37 +37,41 @@
             </el-tooltip>
           </template>
         </el-table-column>
+
         <el-table-column prop="content" label="特征" width="300" align="center">
-          <template slot-scope="scope">
-            <el-checkbox-group v-model="checkList">
-              <el-checkbox :label="scope.row.id" @change="getRow(scope)" style="display: flex;align-items: center;">
-                <el-input type="textarea" style="width:250px" autosize v-model="scope.row.content">
-                  {{ scope.row.content.trim() }}</el-input>
-              </el-checkbox>
-            </el-checkbox-group>
+          <template  slot-scope="scope">
+            <div v-if="!isRead">
+              <el-checkbox-group v-model="checkList">
+                <el-checkbox :label="scope.row.id" @change="getRow(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>
+            </div>
+            <div v-else v-html="scope.row.content"> </div>
           </template>
         </el-table-column>
+
         <el-table-column prop="explainText" label="解释(可粘贴图片)" align="center">
           <template slot-scope="scope">
-            <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 v-if="!isRead">
+              <myRichText v-model="scope.row.explainText" placeholder="请输入解释"></myRichText>
             </div>
+            <div v-else v-html="scope.row.explainText"></div>
           </template>
         </el-table-column>
-        <!-- <el-table-column prop="littleDirection" label="回避设计方向(可粘贴图片)" align="center">
-          <template slot-scope="scope">
-            <div style="width:100%;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px" id="preview"
-              contenteditable="true" v-html="scope.row.littleDirection" @input="saveValue($event.target.innerHTML)"
-              @click="saveValue($event.target.innerHTML)" @blur="getValue(scope.row, 'littleDirection')"
-              v-on:paste="handlePaste($event, scope.row, 'littleDirection')">
 
+        <!-- 父组件传递栏位 -->
+        <el-table-column v-for="item in columnList" :key="item.value" :prop="item.value" :label="item.name"
+          align="center">
+          <template slot-scope="scope">
+            <div v-if="!isRead">
+              <myRichText v-model="scope.row[item.value]" placeholder="请输入"></myRichText>
             </div>
-
+            <div v-else v-html="scope.row[item.value]"></div>
           </template>
-        </el-table-column> -->
+        </el-table-column>
+
       </el-table>
     </template>
 
@@ -76,6 +81,16 @@
 <script>
 export default {
   props: {
+    // 信息(patentNo,reportId)
+    word: {
+      type: Object,
+      default: () => {
+        return {
+          patentNo: '',
+          reportId: ''
+        }
+      }
+    },
     // 数据源
     tableData: {
       type: Array,
@@ -89,18 +104,18 @@ export default {
       default: true
     },
     //拆分下拉框的数据
-    splitSelect: {
-      type: Object,
-      default: () => {
-        return {
-          splitType: 0,
-          splitBy: 2,
-          showType: 0,
-        }
-      }
-    },
+    // splitSelect: {
+    //   type: Object,
+    //   default: () => {
+    //     return {
+    //       splitType: 0,
+    //       splitBy: 2,
+    //       showType: 0,
+    //     }
+    //   }
+    // },
     // 栏位参数 
-    column: {
+    columnList: {
       type: Array,
       default: () => {
         return []
@@ -109,32 +124,111 @@ export default {
   },
   data() {
     return {
-      splitType: "0",//拆分类型0仅拆主权要,1全部拆分
-      splitBy: "2",//拆分符号0逗号拆分,1分号拆分,2逗号和分号拆分
-      showType: "0",//显示类型0全部显示1仅显示主权要
+      splitType: 1,//拆分类型0仅拆主权要,1全部拆分
+      splitBy: 2,//拆分符号0逗号拆分,1分号拆分,2逗号和分号拆分
+      showType: 0,//显示类型0全部显示1仅显示主权要
       typeArr: [1],//显示权要还是全部显示
       // 表格的loading
       loading: false,
       // 表格的高度
       tableHeight: 0,
-      // 勾选中的特征
-      checkList:[],
+      // 勾选中的特征数据
+      checkList: [],
+      // 计算表格合并行的数量
+      mergeObj: {},
+      // 表格合并行的栏位
+      mergeArr: ['pRightName'],
+      // 特征行数据
+      scopeRow: [],
+      //权要列表
+      rightList: []
     }
   },
-  mounted() {
-
+  async mounted() {
+    //获取拆分条件
+    await this.getSplit()
+    //获取权要
+    this.getRight()
   },
   methods: {
-    // 
+    async getSplit() {
+      let params = {
+        ...this.word,
+      }
+      await this.$api.query(params).then(res => {
+        if (res.code == 200) {
+          this.splitType = res.data.splitType
+          this.splitBy = res.data.splitBy
+          this.showType = res.data.showType
+        }
+      }).catch(error => {
+        this.splitType = 0
+        this.splitBy = 2
+        this.showType = 0
+      })
+    },
+    //获取权要
+    getRight() {
+      let params = {
+        ...this.word,
+      }
+      this.$api.query(params).then(res => {
+        if (res.code == 200) {
+          this.getRight = []
+        }
+      }).catch(error => {
+        this.getRight = []
+      })
+    },
+    //获取每个元素所需合并的行数
+    getSpanArr(data) {
+      this.mergeArr.forEach((key, index1) => {
+        let count = 0;
+        this.mergeObj[key] = [];
+        data.forEach((item, index) => {
+          if (index === 0) {
+            this.mergeObj[key].push(1);
+          } else {
+            if (item[key] === data[index - 1][key] && item[key] !== 'evidence') {
+              this.mergeObj[key][count] += 1;
+              this.mergeObj[key].push(0);
+            } else {
+              count = index;
+              this.mergeObj[key].push(1);
+            }
+          }
+        })
+      })
+
+      this.mergeObj.court = this.mergeObj.id
+      this.mergeObj.argumentStr = this.mergeObj.id
+      return this.mergeObj
+    },
+    // 表格合并行
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      if (this.mergeArr.indexOf(column.property) !== -1) {
+        if (this.mergeObj[column.property][rowIndex]) {
+          return [this.mergeObj[column.property][rowIndex], 1]
+        } else {
+          return [0, 0];
+        }
+      }
+    },
     // 保存
-    keep(){},
-    // 选择拆分类型
-    splitTypeSelect(val) {
-      this.splitType = val
+    save() {
+      this.$emit('isSave', this.tableData)
     },
-    // 选择拆分符号
-    splitBySelect(val) {
-      this.splitBy = val
+    // 选择拆分类型或拆分符号
+    splitSelect(val, type) {
+      var split = {}
+      if (type == 'type') {
+        split.splitType = val
+        split.splitBy=this.splitBy
+      } else {
+        split.splitType=this.splitType
+        split.splitBy=val
+      }
+      this.$emit('splitSelect', split)
     },
     // 选择显示类型
     typeSelect(val) {
@@ -144,29 +238,47 @@ export default {
       } else {
         this.typeArr.push(1, 0)
       }
-      // this.tableData = this.tableData1.filter(item => {
-      //   return this.typeArr.includes(item.pType)
-      // })
-      // this.getSpanArr(this.tableData)
-      // this.keep()
+      this.tableData = this.tableData.filter(item => {
+        return this.typeArr.includes(item.pType)
+      })
+      this.getSpanArr(this.tableData)
+    },
+    // 获取当前行的数据
+    getRow(scope) {
+      let Index = this.scopeRow.findIndex(item => { return item.id == scope.row.id })
+      if (Index < 0) {
+        scope.row.$index = scope.$index
+        this.scopeRow.push(scope.row)
+      } else {
+        this.scopeRow.splice(Index, 1)
+      }
+    },
+    // 将栏位值合并
+    columnMerge() {
+      var arr = ['content', 'contentOut', 'explainText']
+      if (this.columnList && this.columnList.length > 0) {
+        this.columnList.forEach(item => {
+          arr.push(item.value)
+        })
+      }
+      return arr
     },
     // 特征等合并
     merge() {
-      // console.log(this.checkList,this.row);
-      if (this.row.length > 1) {
-        var str = ''
-        var str1 = ''
-        var str2 = ''
-        var str3 = ''
-        for (let i = 0; i < this.row.length - 1; i++) {
-          if (this.row[i].rightId != this.row[i + 1].rightId) {
+      if (this.scopeRow.length > 1) {
+        var merge = {}
+        var arr = this.columnMerge()
+        // 判断是否可以合并
+        for (let i = 0; i < this.scopeRow.length - 1; i++) {
+          // 跨权要不能合并特征
+          if (this.scopeRow[i].rightId != this.scopeRow[i + 1].rightId) {
             this.$alert("不能跨权要合并特征", "提示", {
               type: 'warning',
               confirmButtonText: '确定',
             })
             return false
-          } else {
-            let Index_rowArr = this.row.sort((a, b) => {
+          } else {//不相邻特征不能合并
+            let Index_rowArr = this.scopeRow.sort((a, b) => {
               return a.$index - b.$index
             })
             // console.log(this.Index_row,Index_rowArr);
@@ -179,42 +291,35 @@ export default {
             }
           }
         }
-        this.row.forEach((rowItem, rowIndex) => {
+        // 将内容合并起来
+        this.scopeRow.forEach((rowItem, rowIndex) => {
           // console.log(rowItem,rowIndex);
-          if (rowIndex < this.row.length - 1) {
-            str = str + rowItem.content.trim()
-            str1 = str1 + rowItem.contentOut.trim()
-            str2 = str2 + rowItem.littleDirection
-            str3 = str3 + rowItem.explainText
-            let Index1 = this.tableData1.findIndex(item => { return rowItem.id == item.id })
-            if (Index1 != -1) {
-              this.tableData1.splice(Index1, 1)
-            }
-          } else if (rowIndex == this.row.length - 1) {
-            str = str + rowItem.content.trim()
-            str1 = str1 + rowItem.contentOut.trim()
-            str2 = str2 + rowItem.littleDirection
-            str3 = str3 + rowItem.explainText
+          for (let m = 0; m < arr.length - 1; m++) {
+            merge[arr[m]] = merge[arr[m]] + rowItem[arr[m]].trim()
           }
-          let Index2 = this.tableData1.findIndex(item => { return item.id == rowItem.id })
-          if (Index2 != -1) {
-            this.tableData1[Index2].content = str
-            this.tableData1[Index2].contentOut = str1
-            this.tableData1[Index2].littleDirection = str2
-            this.tableData1[Index2].explainText = str3
+          let Index1 = this.tableData.findIndex(item => { return rowItem.id == item.id })
+          if (Index1 != -1) {
+            if (rowIndex < this.scopeRow.length - 1) {
+              // if (Index1 != -1) {
+              this.tableData.splice(Index1, 1)
+              // }
+            } else if (rowIndex == this.scopeRow.length - 1) {
+              for (let j = 0; j < arr.length - 1; j++) {
+                this.tableData[Index1][arr[j]] = merge[arr[j]]
+              }
+            }
           }
-
         })
-        this.TypeSelect(this.Type)
-        this.row = []
+        this.TypeSelect(this.showType)
+        this.scopeRow = []
         this.checkList = []
       }
     },
     // 拆分
     split() {
       //不能同时拆分
-      if (this.row.length > 0) {
-        if (this.row.length > 1) {
+      if (this.scopeRow.length > 0) {
+        if (this.scopeRow.length > 1) {
           this.$alert("不能同时拆分多个特征", "提示", {
             type: 'warning',
             confirmButtonText: '确定',
@@ -222,39 +327,27 @@ export default {
           return false
         }
         var rowId = Math.floor((Math.random() * 9999) + 1000);
-        this.row.forEach((rowItem, rowIndex) => {
-          var splitAdd = {
-            id: rowItem.id + rowId + "a",
-            content: '',
-            contentOut: '',
-            littleDirection: '',
-            explainText: '',
-            rightName: rowItem.rightName,
-            featuresOrder: rowItem.featuresOrder,
-            splitBy: rowItem.splitBy,
-            splitType: rowItem.splitType,
-            signPatentNo: rowItem.signPatentNo,
-            rightId: rowItem.rightId,
-            rightType: rowItem.rightType,
-            isFinal: rowItem.isFinal,
-            partnerId: rowItem.partnerId,
-            reportId: rowItem.reportId,
-
-            pRightName: rowItem.pRightName,
-            pSignPatentNo: rowItem.pSignPatentNo,
-            pContentOut: rowItem.pContentOut,
-            pContent: rowItem.pContent,
-            pReportId: rowItem.pReportId,
-            pPatentId: rowItem.pPatentId,
-            pType: rowItem.pType,
-            pSort: rowItem.pSort,
-
+        var arr = this.columnMerge()
+        this.scopeRow.forEach((rowItem, rowIndex) => {
+          var splitAdd = {}
+          // 将字段的值给到拆分新数据
+          for (let key in rowItem) {
+            if (key == 'id') {
+              splitAdd[key] = rowItem[key] + rowId + "a"
+            } else {
+              splitAdd[key] = rowItem[key]
+            }
+          }
+          // 将部分展示字段置为空
+          for (let i = 0; i < arr.length - 1; i++) {
+            splitAdd[arr[i]] = ''
           }
-          let Index2 = this.tableData1.findIndex(item => { return rowItem.id == item.id })
-          this.tableData1.splice(Index2 + 1, 0, splitAdd)
+
+          let Index2 = this.tableData.findIndex(item => { return rowItem.id == item.id })
+          this.tableData.splice(Index2 + 1, 0, splitAdd)
         })
-        this.TypeSelect(this.Type)
-        this.row = []
+        this.TypeSelect(this.showType)
+        this.scopeRow = []
         this.checkList = []
       }
     },

+ 13 - 1
src/views/report/avoid/index.vue

@@ -1,17 +1,29 @@
 <template>
   <!-- 回避设计 -->
   <div>
-
+    <avoidDirection :patentNo="patentNo" :reportId="reportId"></avoidDirection>
   </div>
 </template>
 
 <script>
+import avoidDirection from './components/avoidDirection.vue'
 export default {
+  components: {
+    avoidDirection
+  },
   data() {
     return {
 
     }
   },
+  computed: {
+    patentNo() {
+      return this.$route.query.patentNo
+    },
+    reportId() {
+      return this.$route.query.reportId
+    },
+  },
   mounted() {
 
   },

+ 0 - 965
src/views/report/components/dialog/addAndEditReport1.vue

@@ -1,965 +0,0 @@
-<template>
-  <div>
-    <el-dialog :title="title" :visible.sync="showDialog" width="1000px" :close-on-click-modal="false"
-      @close="handleClose(false)" :append-to-body="true">
-      <el-form :model="form" :rules="rules" ref="reportForm" label-width="120px" v-loading="loading"
-        :element-loading-text="load_text" element-loading-spinner="el-icon-loading"
-        element-loading-background-color="rgba(0, 0, 0, 0.8)">
-        <el-row>
-          <el-col :span="12">
-            <!-- <el-form-item :label="[3].includes(Number(form.type)) ? '标的产品' : '标的专利'" prop="signPatentNo">
-              <el-input v-model="form.signPatentNo" autocomplete="off"
-                :placeholder="[3].includes(Number(form.type)) ? '请输入标的产品' : '请输入标的专利'" @change="getPatentNo"></el-input>
-            </el-form-item> -->
-            <el-form-item v-if="form.reportType == 3" label="标的产品" prop="signPatentNo">
-              <el-select style="width:100%" v-model="form.signProjectId" placeholder="请选择产品" filterable remote
-                :popper-append-to-body="false" :remote-method="remoteMethodProduct"
-                v-SelectLazyLoading="lazyLoadingProduct" :loading="productList.loading">
-                <el-option v-for="item in productList.data" :key="item.id" :label="item.name"
-                  :value="item.id"></el-option>
-              </el-select>
-              <!-- <el-input v-model="form.signProjectId" autocomplete="off"
-                placeholder="请输入标的产品" @change="getPatentNo"></el-input> -->
-            </el-form-item>
-            <el-form-item v-else label="标的专利" prop="signPatentNo">
-              <el-input v-model="form.signPatentNo" autocomplete="off" placeholder="请输入标的专利"
-                @change="getPatentNo"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="报告名称" prop="name">
-              <el-input v-model="form.name" autocomplete="off" placeholder="请输入报告名称"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="是否完成" v-if="!form.id">
-          <el-switch v-model="form.status" active-color="#13ce66" inactive-color="#ff4949" @change="changeStatus"
-            :active-value="3" :inactive-value="1">
-          </el-switch>
-        </el-form-item>
-        <template v-if="!form.id && form.status == 3">
-          <div>
-            <el-form-item label="核心结论">
-              <el-checkbox-group v-model="form.cronIds">
-                <el-checkbox v-for="item in conclusion" :key="item.value" :label="item.value">{{
-                  item.label }}</el-checkbox>
-                <!-- <el-checkbox v-for="item in conclusion" :key="item.value" :label="item.value">{{
-                  item.label }}</el-checkbox> -->
-              </el-checkbox-group>
-            </el-form-item>
-            <el-form-item label="结论论述">
-              <el-input v-model="form.cronDescription" type="textarea" placeholder="请输入结论论述"></el-input>
-            </el-form-item>
-            <el-form-item label="后续跟进事项" v-if="$permission('/rms/matter')">
-              <span v-if="form.followUps"><span v-for="item in form.followUps" :key="item.followUpName"
-                  style="margin-right:10px">{{ item.followUpName }}</span></span>
-              <span>
-                <el-popover ref="popover" placement="bottom" @hide="hidePopover" @show="showPopover" trigger="click">
-                  <div>
-                    <addMatter :type="matterType" :sign="matterSign" @value="getMatter"></addMatter>
-                  </div>
-                  <el-button slot="reference">添加后续事项</el-button>
-                </el-popover>
-              </span>
-            </el-form-item>
-          </div>
-        </template>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="承担部门" prop="departmentId">
-              <mySelectTree style="width:100%" v-model="form.departmentId" :options="departmentList"></mySelectTree>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="负责人" prop="headId">
-              <el-select style="width:100%" v-model="form.headId" placeholder="请选择负责人" filterable remote
-                :popper-append-to-body="false" :remote-method="remoteMethodPerson" v-SelectLazyLoading="lazyLoadingPerson"
-                :loading="personnelList.loading">
-                <el-option v-for="item in personnelList.data" :key="item.id" :label="item.name"
-                  :value="item.id"></el-option>
-              </el-select>
-            </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">
-                  <el-select style="width:100%" v-model="form.entrustId" placeholder="请选择委托方" filterable remote
-                    :popper-append-to-body="false" :remote-method="remoteMethodClient"
-                    v-SelectLazyLoading="lazyLoadingClient" :loading="clientObj.loading">
-                    <el-option v-for="item in clientList" :key="item.id" :label="item.name" :value="item.id"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="委托部门" prop="departmentId" v-else>
-                  <mySelectTree style="width:100%" v-model="form.departmentId" :options="departmentList"></mySelectTree>
-                </el-form-item>
-              </div>
-            </template>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="卷号" prop="volumeNumber">
-              <el-input v-model="form.volumeNumber" autocomplete="off" placeholder="请输入卷号"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <!-- <el-form-item label="应用场景">
-          <el-checkbox-group v-model="form.scenarioList">
-            <el-checkbox v-for="item in commonData.ENTERPRISE_APPLICATION_SCENARIO" :key="item.value"
-              :label="parseInt(item.value)">{{ item.label }}</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item> -->
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="产品/技术">
-              <el-input v-model="form.productOrTech" autocomplete="off" placeholder="请输入产品/技术"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="form.track ? 12 : 24">
-            <el-form-item label="关联报告">
-              <el-input v-model="form.associateReportName" autocomplete="off" placeholder="请输入关联报告"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="需要复制的选项" v-show="form.track">
-              <el-select v-model="form.copyIds" multiple clearable placeholder="请选择需要复制的选项" :popper-append-to-body="false"
-                @change="changeCopyIds">
-                <el-option v-for="item in copyList" :key="item.value" :label="item.label"
-                  :value="item.value"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="事件:">
-              <mySelectButton size='large' style="width:100%" @click="addEvent">
-                <div style="width:100%">
-                  <el-select style="width:100%" v-model="form.eventId" @change="changeEvent" filterable remote clearable
-                    placeholder="请选择" :loading="eventList.loading" v-SelectLazyLoading="loadEvent"
-                    :remote-method="remoteEvent">
-                    <el-option v-for="item in eventList.data" :key="item.id" :label="item.name" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </div>
-              </mySelectButton>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row v-if="show == true">
-          <el-col :span="24">
-            <el-form-item label="调查类型:" prop="matterIds">
-              <el-checkbox-group v-model="form.matterIds">
-                <template>
-                  <el-checkbox v-for="item in dictAssociates" :key="item.id" :label="parseInt(item.id)">
-                    {{ item.name }}
-                  </el-checkbox>
-                </template>
-              </el-checkbox-group>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <template v-if="form.reportType == 7">
-          <div>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="案件编号">
-                  <el-input v-model="form.caseNumber" autocomplete="off" placeholder="请输入案件编号"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="发文序号">
-                  <el-input v-model="form.issueNumber" autocomplete="off" placeholder="请输入发文序号"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="发明创造名称">
-                  <el-input v-model="form.inventionName" autocomplete="off" placeholder="请输入发明创造名称"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="无效宣告请求人">
-                  <el-input v-model="form.invalidApplication" autocomplete="off" placeholder="请输入无效宣告请求人"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </div>
-        </template>
-        <el-form-item :label="(!form.id && form.status == 3) ? '上传报告文档' : '上传附件'">
-          <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove"
-            @on-preview="onPreview" style="height: 180px;" :autoUpload="true"></myUpload>
-        </el-form-item>
-        <el-form-item label="备注" prop="description">
-          <el-input type='textarea' v-model="form.description" autocomplete="off" placeholder="请输入备注"></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" v-if="$reportPermission(form.id, [0, 1])">
-        <el-button @click="handleClose(false)">取 消</el-button>
-        <el-button type="primary" @click="ifNext" v-if="form.reportType == 7 && !form.id">下一步</el-button>
-        <el-button type="primary" @click="submit" v-else>确 定</el-button>
-      </div>
-    </el-dialog>
-
-    <!-- 审核弹窗 -->
-    <el-dialog title="添加审核任务" :visible.sync="showTask" width="500px" @close="handleCloseTask">
-      <el-form :model="taskForm" :rules="TaskRules" ref="TaskForm" label-width="120px" v-loading="loading">
-        <el-form-item label="任务名称:" prop="taskName">
-          <el-input v-model="taskForm.taskName" type="text" placeholder="输入任务名称" />
-        </el-form-item>
-        <el-form-item label="审核人:" prop="personnelId">
-          <el-select style="width:100%;" ref="select1" v-model="taskForm.personnelId" clearable filterable remote
-            :remote-method="remoteMethodPerson" v-SelectLazyLoading="lazyLoadingPerson">
-            <el-option v-for="item in personnelList" :key="item.id" :label="item.personnelName" :value="item.id"
-              placeholder="请选择审核人"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="完成日期:" prop="endTime">
-          <el-date-picker style="width:100%" v-model="taskForm.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
-            placeholder="选择日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="审核备注:" prop="description">
-          <el-input v-model="taskForm.description" type="textarea" placeholder="输入备注" />
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="handleCloseTask">取 消</el-button>
-        <el-button type="primary" @click="submitTask">确 定</el-button>
-      </span>
-    </el-dialog>
-
-    <!-- 无效应对报告下一步所打开弹窗 -->
-    <el-dialog :visible.sync="showEvidenceAndRequest" width="1000px" :close-on-click-modal="false">
-      <evidenceAndRequest ref="evidence" :examine="true" :reportId="reportId" @show="showEvidenceAndRequest = false">
-      </evidenceAndRequest>
-    </el-dialog>
-
-  </div>
-</template>
-
-<script>
-import { mapGetters } from 'vuex'
-import evidenceAndRequest from './evidenceAndRequest.vue'
-import addMatter from './addMatter.vue'
-export default {
-  components: {
-    evidenceAndRequest,
-    addMatter,
-  },
-  props: {},
-  data() {
-    const isExist = (rule, value, callback) => {
-      if (!this.form.signPatentNo) {//没有专利号进入报错提示
-        if ([3].includes(Number(this.form.reportType))) {
-          var text = '请输入标的产品'
-        } else {
-          var text = '请输入标的专利号'
-        }
-        callback(new Error(text))
-      } else {
-        callback()
-      }
-    }
-    const isTime = (rule, value, callback) => {
-      if (this.isEndTime) {
-        this.isEndTimes = Date.parse(new Date)
-      }
-
-      let b = Date.parse(value)
-      if (value) {
-        if (b < this.isEndTimes) {
-          callback(new Error('禁止选择现在及以前时间,请重新选择'))
-        } else {
-          callback()
-        }
-      } else {
-        callback(new Error('请选择时间'))
-      }
-    }
-    return {
-      //弹窗标题
-      title: '',
-      //控制弹窗是否打开
-      showDialog: false,
-      //表单数据
-      form: {
-        matterIds: [],
-        systemFileList: [],
-        fileGuids: [],
-      },
-      //表单规则
-      rules: {
-        name: [{ required: true, message: '请输入报告名称', trigger: 'blur' },],
-        signPatentNo: [{ required: true, validator: isExist, trigger: 'blur' },],
-        headId: [{ required: true, message: '请选择负责人', trigger: 'change' },],
-        entrustId: [{ required: true, message: '请选择委托方', trigger: 'change' },],
-      },
-      //加载
-      loading: false,
-      //加载时显示的文字
-      load_text: '加载中',
-      //应用场景
-      commonData: {},
-      //核心结论
-      conclusion: [],
-      //部门数据
-      departmentList: [],
-      //需要复制的选项集合
-      copyList: [],
-      //人员列表
-      // personnelList: [],
-      //客户/委托方列表
-      clientList: [],
-      //上传文件列表
-      files: [],
-      //核心结论类型字典
-      reportAsDicItem: {
-        "0": "INVALID_ASSESS",
-        "1": "THIRD_ASSESS",
-        "2": "STABILITY_ASSESS",
-        "3": "FTO_ASSESS",
-        "4": "TORT_ASSESS",
-        "5": "AVOID_ASSESS",
-        "7": "REINVALID_ASSESS",
-      },
-      //需要复制的内容字典
-      reportAsDicItemCopy: {
-        "0": "INVALID_COPY",
-        "1": "THIRD_COPY",
-        "2": "STABILITY_COPY",
-        "3": "FTO_COPY",
-        "4": "TORT_COPY",
-        "5": "AVOID_COPY",
-      },
-      // 客户懒加载obj
-      clientObj: {
-        queryParams: {
-          current: 1,
-          size: 10,
-        },
-        loading: false,
-        //是否懒加载
-        isLazy: true,
-        data:[],
-      },
-      //人员列表懒加载
-      personnelList: {
-        queryParams: {
-          current: 1,
-          size: 10
-        },
-        data: []
-      },
-      //产品列表懒加载
-      productList: {
-        queryParams: {
-          current: 1,
-          size: 10
-        },
-        isLazy: true,
-        data: []
-      },
-      matterType: null,
-      //事件列表
-      eventList: {
-        queryParams: {
-          current: 1,
-          size: 10
-        },
-        data: []
-      },
-      // 控制调查类型是否显示
-      show: false,
-      //调查类型列表
-      dictAssociates: [],
-      /*审核弹窗所需变量start*/
-      showTask: false,
-      // 任务表单
-      taskForm: {},
-      isEndTime: true,
-      isEndTimes: null,
-      // 任务表单校验
-      TaskRules: {
-        taskName: [{ required: true, message: '请输入任务名称', trigger: 'blur' },],
-        personnelId: [{ required: true, message: '请选择审核人', trigger: 'change' },],
-        endTime: [{ required: true, validator: isTime, trigger: 'change' }],
-      },
-      /*审核弹窗所需变量end*/
-      /*无效应对报告下一步弹窗所需变量start*/
-      // 报告id
-      reportId: null,
-      // 控制弹窗的关闭
-      showEvidenceAndRequest: false,
-      /*无效应对报告下一步弹窗所需变量end*/
-    };
-  },
-  watch: {},
-  computed: {
-    ...mapGetters(['webSocket', 'userinfo']),
-    dictMessage() {
-      return this.$store.state.dictMessage.dictMessage
-    },
-    scenario() {
-      console.log(this.$store.state.dictMessage);
-      return this.$store.state.dictMessage.scenario || []
-    }
-  },
-  created() { },
-  mounted() {
-    // 获取所有产品
-    this.getAllProduct()
-    //获取所有人员列表(修改不要一次性获取,可以使用懒加载加远程搜索 )
-    this.getPermissionPersonnel()
-    //获取所有客户列表(修改不要一次性获取,可以使用懒加载加远程搜索 )
-    this.getAllClientList()
-    //获取所有部门列表
-    this.getDepartment()
-  },
-  methods: {
-    //打开事件弹窗
-    addEvent() {
-
-    },
-    //懒加载事件
-    loadEvent() {
-      if (this.eventList.queryParams.current * this.eventList.queryParams.size >= this.eventList.queryParams.total) {
-        return false
-      }
-      this.eventList.queryParams.current += 1
-      this.getEventList()
-    },
-    //远程搜索
-    remoteEvent(query) {
-      this.eventList.data = []
-      this.eventList.queryParams.current = 1
-      this.eventList.name = query
-      this.getEventList()
-    },
-    //获取事件列表
-    async getEventList(type) {
-      this.eventList.loading = true;
-      let params = {
-        ...this.eventList.queryParams,//分页信息
-        searchQuery: this.eventList.name ? `name=${this.eventList.name}` : '',//检索条件
-        orderDTOList: [{ orderBy: "createTime", orderType: 1 },]//排序
-      }
-      await this.$api.queryEvent(params).then(response => {
-        if (response.code == 200) {
-          this.eventList.loading = false;
-          if (!type) {
-            if (this.form.eventId) {
-              var index = response.data.data.findIndex(item => {
-                return item.id == this.form.eventId
-              })
-              if (index != -1) {
-                response.data.data.splice(index, 1)
-              }
-            }
-            this.eventList.queryParams.total = response.data.total
-          }
-          this.eventList.data.push(...response.data.data)
-          // this.eventList.queryParams.total = response.data.total
-        }
-      })
-    },
-    //切换事件
-    async changeEvent(val) {
-      if (!val) {
-        this.form.scenarioIds = []
-        this.show = false
-        this.form.matterIds = []
-        return
-      }
-      var obj = this.eventList.data.find(item => {
-        return item.id == val
-      })
-      if (obj) {
-        this.form.scenarioIds = [obj.scenarioId]
-        this.show = true
-        await this.onChange()
-      }
-    },
-    //调查类型选择切换
-    async onChange() {
-      if (this.form.scenarioIds.length != 0) {
-        await this.$api.getMatter(this.form.scenarioIds).then(response => {
-          this.show = true
-          this.dictAssociates = response.data.data
-        })
-      } else {
-        this.show = false
-      }
-    },
-    //打开弹窗
-    async open(form) {
-      var a = ''
-      this.form = JSON.parse(JSON.stringify(form))
-      if (this.form.id) {
-        if (this.$reportPermission(this.form.id, [0, 1])) {
-          a = '编辑'
-        } else {
-          a = '查看'
-        }
-      } else {
-        this.$set(this.form,'matterIds',[])
-        this.$set(this.form,'systemFileList',[])
-        this.$set(this.form,'fileGuids',[])
-        a = '创建'
-      }
-      var reportType = this.dictMessage.REPORT_TYPE.filter(item => { return item.value == this.form.reportType })[0].label
-      this.title = a + reportType + '报告'
-      // 事件
-      if (this.form.eventIds && this.form.eventIds.length > 0) {
-        this.form.eventId = this.form.eventIds[0]
-        this.onChange()
-        this.eventList.queryParams.id = this.form.eventId[0]
-        await this.getEventList(1)
-        this.eventList.queryParams.id = null
-        this.show = true
-      } else {
-        this.show = false
-      }
-      // 文件
-      if (this.form.systemFileList && this.form.systemFileList.length > 0) {
-        this.$set(this.form, 'fileGuids', [])
-        this.form.systemFileList.forEach(item => {
-          this.form.fileGuids.push(item.guid)
-        })
-      }
-      // 负责人
-      if (this.form.headId) {
-        this.personnelList.queryParams.id = this.form.headId
-        await this.getPermissionPersonnel(1)
-        this.personnelList.queryParams.id = null
-      }
-      // 委托方
-      if (this.form.entrustId) {
-        this.personnelList.queryParams.id = this.form.headId
-        await this.getPermissionPersonnel(1)
-        this.personnelList.queryParams.id = null
-      }
-      this.getPermissionPersonnel()
-      this.getEventList()
-      this.showDialog = true
-    },
-    // 产品列表远程搜索
-    remoteMethodProduct(query) {
-      this.productList.isLazy = true
-      if (query !== '') {
-        this.productList.loading = true;
-        this.productList.queryParams = {
-          current: 1,
-          size: 10,
-          searchQuery: `name=${query}`
-        }
-        this.$api.queryProductCategory(this.productList.queryParams).then(response => {
-          if (response.code == 200) {
-            this.productList.loading = false;
-            this.productList.data = response.data.data
-          }
-        }).catch(error => {
-          this.productList.loading = false;
-        })
-      } else {
-        this.productList.queryParams.name = null
-        this.productList = [];
-        this.getAllProduct()
-      }
-    },
-    // 产品列表懒加载
-    lazyLoadingProduct() {
-      if (!this.productList.isLazy) {
-        return false
-      }
-      this.productList.queryParams.current++;
-      this.getAllProduct();
-    },
-    getAllProduct() {
-      if (!this.productList.isLazy) {
-        return false
-      }
-      this.$api.queryProductCategory(this.productList.queryParams).then(response => {
-        if (response.code == 200) {
-          if (response.data.data && response.data.data.length == 0) {
-            this.productList.isLazy = false
-          }
-          this.productList.data = [...this.productList.data, ...response.data.data];
-        }
-      }).catch(error => {
-      })
-    },
-    // 人员列表远程搜索
-    remoteMethodPerson(query) {
-      this.personnelList.data = []
-      this.personnelList.queryParams.current = 1
-      this.personnelList.queryParams.name = query
-      this.getPermissionPersonnel()
-    },
-    // 获取所有人员列表懒加载
-    lazyLoadingPerson() {
-      if (this.personnelList.queryParams.current * this.personnelList.queryParams.size >= this.personnelList.queryParams.total) {
-        return false
-      }
-      this.personnelList.queryParams.current += 1
-      this.getPermissionPersonnel()
-    },
-    //获取所有人员列表(修改不要一次性获取,可以使用懒加载加远程搜索 )
-    async getPermissionPersonnel(type) {
-      this.personnelList.loading = true;
-      await this.$api.getPermissionPersonnel(this.personnelList.queryParams).then((response) => {
-        if (response.code == 200) {
-          this.personnelList.loading = false;
-          if (!type) {
-            if (this.form.headId) {
-              var index = response.data.findIndex(item => {
-                return item.id == this.form.headId
-              })
-              if (index != -1) {
-                response.data.splice(index, 1)
-              }
-            }
-            this.personnelList.queryParams.total = response.pageColumn.total
-          }
-          this.personnelList.data.push(...response.data)
-          // this.personnelList.queryParams.total = response.pageColumn.total
-        }
-      })
-    },
-    // 客户列表远程搜索
-    remoteMethodClient(query) {
-      if (query != '') {
-        this.clientObj.loading = true;
-        this.clientObj.queryParams.current = 1
-        this.clientObj.queryParams.name = query
-        this.$api.getAllClientList(this.clientObj.queryParams).then(response => {
-          if (response.code == 200) {
-            this.clientObj.loading = false;
-            this.clientList = response.data.records
-          }
-        }).catch(error => {
-          this.clientObj.loading = false;
-        })
-      } else {
-        this.clientObj.queryParams.name = null
-        this.clientList = [];
-        this.getAllClientList()
-      }
-    },
-    // 获取所有客户列表懒加载
-    lazyLoadingClient() {
-      if (this.clientObj.queryParams.current * this.clientObj.queryParams.size >= this.clientObj.queryParams.total) {
-        return false
-      }
-      this.clientObj.queryParams.current += 1
-      this.getAllClientList()
-    },
-    //获取所有客户列表(修改不要一次性获取,可以使用懒加载加远程搜索 )
-    getAllClientList() {
-      this.$api.getAdminClientList(this.clientObj.queryParams).then(response => {
-        this.clientList.push(...response.data.records)
-        this.clientObj.queryParams.total = response.data.total
-      }).catch(error => {
-        this.clientList = []
-        this.$message.error(error.message)
-      })
-    },
-    //获取所有部门列表
-    //获取部门列表
-    getDepartment() {
-      this.$api.getPermissionDepartmentList().then((response) => {
-        this.departmentList = response.data;
-      });
-    },
-    //切换是否完成状态
-    async changeStatus(val) {
-      if (val == 3) {
-        this.rules.headId[0].required = false
-        this.rules.entrustId[0].required = false
-        if (!this.form.id) {
-          this.$set(this.form, 'cronIds', [])
-        }
-        let params = {
-          reportType:this.form.reportType
-        }
-        await this.$api.queryCrons(params).then(res => {
-          if (res.code == 200) {
-            this.conclusion=res.data.data
-          }
-        }).catch(error => {
-          this.conclusion = []
-          this.$message.error(error.message)
-        })
-        // this.conclusion = this.dictMessage[this.reportAsDicItem[this.form.reportType]]
-        this.matterType = 2
-      } else {
-        this.rules.headId[0].required = true
-        this.rules.entrustId[0].required = true
-        this.matterType = null
-      }
-    },
-    //获取专利号且填入报告名称
-    getPatentNo() {
-      if (!this.form.name) {
-        var a = this.dictMessage.REPORT_TYPE.filter(item => { return item.value == this.form.reportType })[0].label
-        this.$set(this.form, 'name', this.form.signPatentNo + a)
-      }
-    },
-    //修改需要复制的选项
-    changeCopyIds(val) {
-      if (Object.keys(this.copyIndex).length > 0) {
-        var index = this.copyList.findIndex(item => {
-          return item.label == '对比文件'
-        })
-        if (index != -1) {
-          var id = this.copyList[index].value
-          var index2 = this.copyList.findIndex(item => {
-            return item.label == '标引信息'
-          })
-          if (val.indexOf(id) != -1) {
-            if (index2 == -1) {
-              this.copyList.splice(index + 1, 0, this.copyIndex)
-            }
-          } else {
-            if (index2 != -1) {
-              this.copyList.splice(index2, 1)
-              this.form.copyIds.splice(this.form.copyIds.indexOf(this.copyIndex.value), 1)
-            }
-          }
-        } else {
-
-        }
-      }
-    },
-    // 上传的文件监听
-    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)
-          this.form.fileGuids.push(file.guid)
-        }
-      } else {
-        this.form.systemFileList.push(file.raw)
-      }
-
-    },
-    // 删除上传的文件
-    onRemove(file, fileList) {
-      if (file.guid) {
-        let index = this.form.systemFileList.findIndex(item => {
-          return item.guid == file.guid
-        })
-        if (index!=-1) {
-          this.form.systemFileList.splice(index, 1)
-        }
-        let index2 = this.form.fileGuids.findIndex(item => {
-            return item == file.guid
-        })
-        if (index2 != -1) {
-            this.form.fileGuids.splice(index2, 1)
-        }
-      } else {
-        let index3 = this.form.systemFileList.findIndex(item => {
-          return item.uid == file.uid
-        })
-        if (index3 != -1) { 
-          this.form.fileGuids.splice(index3, 1)
-        }
-      }
-    },
-    //上传附件时点击查看附件内容
-    onPreview(file) {
-      var item = {
-        name: file.name,
-        suffix: '',
-        downLoad: true
-      }
-      var index = file.raw.type.lastIndexOf('/')
-      var type = file.raw.type.substring(index + 1, file.raw.type.length)
-      var arr = ['png', 'jpeg', 'bmp', 'jpg']
-      if (arr.includes(type)) {
-        var FileUrl = URL.createObjectURL(file.raw)
-        var isPicture = 1
-      } else if (type == 'pdf') {
-        var FileUrl = URL.createObjectURL(file.raw)
-        var isPicture = 0
-      } else {
-        return false
-      }
-      const router = this.$router.resolve({
-        path: '/checkFile',
-        query: {
-          row: JSON.stringify(item),
-          FileUrl: FileUrl,
-          isPicture: isPicture
-        }
-      })
-      window.open(router.href, '_blank');
-    },
-    //提交填写的信息
-    submit() {
-      this.$refs.reportForm.validate((valid) => {
-        if (valid) {
-          this.form.type = 2//项目类型(1专利数据库 2报告 3专利挖掘项目)
-          if (this.form.scenarioIds && this.form.scenarioIds.length>0) {
-            var scenarioIds = JSON.parse(JSON.stringify(this.form.scenarioIds))
-          }
-          if (this.form.eventId) {
-            this.form.events = []
-            this.form.scenarioIds = []
-            this.form.matterIds.forEach(item => {
-              this.form.events.push(
-                {
-                  matterId: item,
-                  scenarioId: scenarioIds[0],
-                  eventId: this.form.eventId
-                }
-              )
-            })
-          }
-          let formData = this.form
-          if (!this.form.id) {//新增报告
-            this.$confirm('是否需要进行审核?', '提示', {
-              confirmButtonText: '是',
-              cancelButtonText: '否',
-              closeOnClickModal: false,
-              distinguishCancelAndClose: true,
-            }).then(() => {//审核打开审核弹窗
-              this.showTask = true
-              this.$set(this.taskForm, 'taskName', this.form.name + '审核')
-            }).catch(action => {//不审核直接创建报告
-              // 调用创建报告公用,接口
-              this.addReport(formData)
-            });
-
-          } else {//编辑报告
-            this.$api.updateReportProject(formData).then(response => {
-              if (response.code == 200) {
-                this.files = []
-                this.$message.success('报告更新成功')
-                this.$emit('getList', true)
-                this.handleClose()
-              }
-            })
-          }
-        }
-      })
-    },
-    //关闭弹窗
-    handleClose(val) {
-      if (this.form.reportType == 7 && val) {
-        this.showEvidenceAndRequest = true
-        this.$s.setSession('params', {})
-        this.reportId = val
-      }
-      this.personnelList.queryParams.name = ''
-      this.$refs.reportForm.resetFields()
-      this.form = {
-        matterIds: [],
-        systemFileList: [],
-        fileGuids: [],
-      }
-      this.showDialog = false
-    },
-    // 创建报告创建接口公用
-    addReport(formData) {
-      this.$api.addReportProject(formData).then(response => {
-        if (response.code == 200) {
-          this.files = []
-          this.$message.success('报告创建成功')
-          this.$emit('getList', true)
-          // response.data是创建成功后返回的报告id
-          this.handleClose(response.data)
-        }
-      })
-    },
-    //提交审核任务
-    submitTask() {
-      this.isEndTime = false
-      this.$refs.TaskForm.validate((valid) => {
-        if (valid) {
-          let formData = new FormData()
-          if (this.files && this.files.length > 0) {
-            for (var i = 0; i < this.files.length; i++) {
-              formData.append("files", this.files[i]);
-            }
-          }
-          let a = {
-            report: this.form,
-            personIds: [this.taskForm.personnelId],
-            taskName: this.taskForm.taskName,
-            endTime: this.taskForm.endTime,
-            description: this.taskForm.description,
-            type: 0,
-          }
-          formData.append('taskVO', JSON.stringify(a))
-          this.$api.AddTask(formData).then(response => {
-            if (response.code == 200) {
-              this.files = []
-              this.$message.success('报告创建成功并发送审核')
-              this.$emit('getList', true)
-              this.handleCloseTask()
-              this.handleClose()
-            }
-          }).catch(error => {
-            this.$message.error('报告创建失败')
-            this.handleCloseTask()
-          })
-        }
-      })
-    },
-    //关闭审核弹窗
-    handleCloseTask() {
-      this.matterType = null
-      this.$refs.TaskForm.resetFields()
-      this.taskForm = {}
-      this.showTask = false
-      this.isEndTime = true
-    },
-    // 创建无效应对报告下一步
-    ifNext() {
-      this.$refs.reportForm.validate((valid) => {
-        if (valid) {
-          let formData = new FormData()
-          if (this.files && this.files.length > 0) {
-            for (var i = 0; i < this.files.length; i++) {
-              formData.append("files", this.files[i]);
-            }
-          }
-          formData.append('report', this.form)
-          this.addReport(formData)
-        } else {
-          this.loading = false
-          this.$alert('校验未通过,请按照要求创建报告', '提示', {
-            confirmButtonText: '确定',
-            type: 'warning',
-            callback: action => {
-            }
-          });
-          return false;
-        }
-      })
-    },
-    
-  },
-  // 组件销毁函数
-  destroyed() {
-    // 清空事件相关
-    this.form.eventIds = []
-    this.eventList.queryParams.current=1
-    this.eventList.data=[]
-     // 清空负责人相关
-    this.personnelList.data = []
-    this.personnelList.queryParams.current=1
-  },
-};
-</script>
-<style lang="scss" scoped></style>

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

@@ -24,6 +24,7 @@ export default {
   methods: {
     // 点击名称等事件
     handleItem(row, key) {
+      
     },
     //操作列事件
     handleCommand(option, row) {

+ 48 - 47
src/views/task/components/index.vue

@@ -274,56 +274,57 @@ export default {
         this.handleTypeTask(row)
       }
     },
+    
     // 处理人和负责人相同是处理流程
-    handleTypeTask(row) {
-      switch (row.type) {
-        case 1://项目开卷审核任务
-          this.getPatentMining(row,2)
-          break;
-        case 5://任务审核任务
-        case 7://文件审核任务
-          row.disabled = false
-          let router = this.$router.resolve({
-            path: '/handleExamine',
-            query: {
-              row: JSON.stringify(row)
-            }
-          })
-          window.open(router.href, '_blank')
-          break;
-        case 6://文件分配任务
-          row.projectId = this.id//项目id
-          this.$refs.handleTask2Dialog.open(row, true)
-          break;
+    // handleTypeTask(row) {
+    //   switch (row.type) {
+    //     case 1://项目开卷审核任务
+    //       this.getPatentMining(row,2)
+    //       break;
+    //     case 5://任务审核任务
+    //     case 7://文件审核任务
+    //       row.disabled = false
+    //       let router = this.$router.resolve({
+    //         path: '/handleExamine',
+    //         query: {
+    //           row: JSON.stringify(row)
+    //         }
+    //       })
+    //       window.open(router.href, '_blank')
+    //       break;
+    //     case 6://文件分配任务
+    //       row.projectId = this.id//项目id
+    //       this.$refs.handleTask2Dialog.open(row, true)
+    //       break;
 
-        default:
-          break;
-      }
-    },
-    // 处理人和负责人不相同时处理流程
-    handleTypeTask2(row) {
-      switch (row.type) {
-        case 1://项目开卷审核任务
-          this.getPatentMining(row,1)
-          break;
-        case 5://任务审核任务
-          row.disabled = true
-          let router = this.$router.resolve({
-            path: '/handleExamine',
-            query: {
-              row: JSON.stringify(row)
-            }
-          })
-          window.open(router.href, '_blank')
-          break;
-        case 6://文件分配任务
-          this.$refs.handleTask2Dialog.open(row, false)
-          break;
+    //     default:
+    //       break;
+    //   }
+    // },
+    // // 处理人和负责人不相同时处理流程
+    // handleTypeTask2(row) {
+    //   switch (row.type) {
+    //     case 1://项目开卷审核任务
+    //       this.getPatentMining(row,1)
+    //       break;
+    //     case 5://任务审核任务
+    //       row.disabled = true
+    //       let router = this.$router.resolve({
+    //         path: '/handleExamine',
+    //         query: {
+    //           row: JSON.stringify(row)
+    //         }
+    //       })
+    //       window.open(router.href, '_blank')
+    //       break;
+    //     case 6://文件分配任务
+    //       this.$refs.handleTask2Dialog.open(row, false)
+    //       break;
 
-        default:
-          break;
-      }
-    },
+    //     default:
+    //       break;
+    //   }
+    // },
     // 获取挖掘项目
     getPatentMining(row,val) {
       let params = {

+ 3 - 3
src/views/task/index.vue

@@ -15,9 +15,9 @@ export default {
     }
   },
   computed: {
-    id(){
-      return this.$route.query.projectId
-    },
+    // id(){
+    //   return this.$route.query.projectId
+    // },
   },
   mounted() {