zhuliu hai 9 meses
pai
achega
7fca2e2335

+ 3 - 1
src/api/index.js

@@ -21,6 +21,7 @@ import custom from "./newApi/custom";
 import otherPatentInformation from "./newApi/otherPatentInformation";
 import translate from "./newApi/translate";
 import noveltySearch from "./newApi/noveltySearch";
+import IPREmail from "./newApi/IPREmail";
 
 export default {
   ...client,
@@ -42,5 +43,6 @@ export default {
   ...custom,
   ...otherPatentInformation,
   ...translate,
-  ...noveltySearch
+  ...noveltySearch,
+  ...IPREmail
 }

+ 31 - 0
src/api/newApi/IPREmail.js

@@ -0,0 +1,31 @@
+import axios from "@/utils/axios";
+// 新系统文件新接口
+export default {
+    //添加或修改ipr人员
+    iprPersonUpdate(data){
+        return axios.post('/xiaoshi/report/iprPerson/update', data)
+    },
+    //删除ipr人员
+    iprPersonDelete(data){
+        return axios.post('/xiaoshi/report/iprPerson/delete', data)
+    },
+    //查询ipr人员
+    iprPersonQuery(data){
+        return axios.post('/xiaoshi/report/iprPerson/query', data)
+    },
+
+
+    //添加或更新配案人员
+    matchCasePersonUpdate(data){
+        return axios.post('/xiaoshi/report/matchCasePerson/update', data)
+    },
+    //删除配案人员
+    matchCasePersonDelete(data){
+        return axios.post('/xiaoshi/report/matchCasePerson/delete', data)
+    },
+    //查询配案人员
+    matchCasePersonQuery(data){
+        return axios.post('/xiaoshi/report/matchCasePerson/query', data)
+    },
+    
+};

+ 178 - 0
src/views/report/InvalidResponse/components/IPREmail/IPREmail.vue

@@ -0,0 +1,178 @@
+<template>
+    <div class="height_100">
+      <el-container>
+          <el-header>
+              <div class="head">
+                  <div>
+                      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
+                          <el-form-item label="姓名:" prop="name" >
+                              <el-input v-model="queryParams.name" placeholder="请输入姓名"></el-input>
+                          </el-form-item>
+                          <el-form-item label="邮箱:" prop="email">
+                            <el-input v-model="queryParams.email" placeholder="请输入邮箱"></el-input>
+                          </el-form-item>
+                          <el-form-item label="类型:" prop="ifDefault">
+                              <el-select v-model="queryParams.ifDefault" placeholder="请选择" clearable >
+                                  <el-option v-for="(item, key) in types" :key="key" :label="item" :value="key"></el-option>
+                              </el-select>
+                          </el-form-item>
+                          <el-form-item>
+                              <el-button type="primary" icon="el-icon-search" size="mini" @click="search">搜索</el-button>
+                              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+                          </el-form-item>
+                      </el-form>
+                  </div>
+                  <div>
+                    <el-button icon="el-icon-plus" size="mini" @click="add">新增</el-button>
+                  </div>
+              </div>
+          </el-header>
+          <el-main>
+            <IPREmailTable :tableData="tableData" :loading="loading">
+                <template slot="column">
+                    <el-table-column label="操作" align="center" width="120px">
+                        <template slot-scope="scope">
+                            <div v-if="userinfo.roleType==1 || userinfo.roleType == 2 || userinfo.id == scope.row.createId">
+                                <el-button type="text" size="small" @click="edit(scope.row)">编辑</el-button>
+                                <el-button type="text" size="small" @click="remove(scope.row)">删除</el-button>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </template>
+            </IPREmailTable>
+          </el-main>
+          <el-footer class="pagination">
+              <el-pagination background layout="total, sizes, prev, pager, next, jumper"
+                      :current-page.sync="queryParams.current" :page-size.sync="queryParams.size"
+                      @current-change="handleCurrentChange" @size-change="changeSize" :total="total">
+                  </el-pagination>
+          </el-footer>
+      </el-container>
+      <!-- 新增或者编辑IPR邮箱 -->
+      <addOrEditIPREmailDialog ref="addOrEditIPREmailDialog" @close="search"></addOrEditIPREmailDialog>
+    </div>
+</template>
+  
+<script>
+const defaultSearchForm={
+    name:null,
+    email:null,
+    ifDefault:null
+}
+import IPREmailTable from '../table/IPREmail.vue'
+import addOrEditIPREmailDialog from './components/dialog/addOrEditIPREmail.vue';
+export default {
+    components: {
+        IPREmailTable,
+        addOrEditIPREmailDialog
+    },
+    props: {
+    },
+    data() {
+        return {
+            tableData:[],
+            queryParams:{
+                current:1,
+                size:10,
+                ...defaultSearchForm,
+            },
+            total:0,
+            loading:false,
+            types:{
+                true:'默认发送邮箱',
+                false:'非默认发送邮箱'
+            }
+        };
+    },
+    watch: {},
+    computed: {
+        userinfo(){
+            return this.$s.getObj('userinfo')
+        },
+    },
+    created() {},
+    mounted() {
+      this.getList()
+    },
+    methods: {
+        async getList(){
+            this.loading = true
+            var api = 'iprPersonQuery'
+            this.$api[api](this.queryParams).then(response=>{
+                if(response.code == 200){
+                    this.tableData = response.data.data
+                    this.total = response.data.total
+                    this.loading = false
+                }
+            }).catch(error=>{
+                this.tableData = []
+                this.total = 0
+                this.loading = false
+            })
+        },
+        //切换分页
+        handleCurrentChange(value){
+            this.queryParams.current = value
+            this.getList()
+        },
+        //切换页大小
+        changeSize(value){
+            this.queryParams.size = value
+            this.queryParams.current = 1
+            this.getList()
+        },
+        //检索
+        search(){
+            this.queryParams.current = 1
+            this.getList()
+        },
+        //重置条件
+        resetQuery(){
+            this.queryParams = {
+                ...this.queryParams,
+                ...defaultSearchForm
+            }
+            this.search()
+        },
+        //添加IPR邮箱
+        add(){
+            this.$refs.addOrEditIPREmailDialog.open({},'add')
+        },
+        //编辑IPR邮箱
+        edit(row){
+            this.$refs.addOrEditIPREmailDialog.open(row,'edit')
+        },
+        //删除
+        remove(row){
+            this.$confirm('确认删除选择的数据吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                this.loading = true
+                this.$api.iprPersonDelete([row.id]).then(response => {
+                    this.$message.success('删除成功')
+                    this.loading = false
+                    this.delFinish()
+                }).catch(error => {
+                    this.loading = false
+                })
+            })
+        },
+        delFinish(){
+            if(this.tableData.length == 1 && this.queryParams.current!=1){
+                this.queryParams.current -= 1
+            }
+            this.getList()
+        },
+    },
+  };
+  </script>
+  <style lang="scss" scoped>
+  .head{
+    width:100%;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  </style>

+ 113 - 0
src/views/report/InvalidResponse/components/IPREmail/components/dialog/addOrEditIPREmail.vue

@@ -0,0 +1,113 @@
+<template>
+  <div>
+    <el-dialog  :title="title" :visible.sync="showDialog" width="600px" :close-on-click-modal="false"  :before-close="handleClose" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="100px">
+        <el-form-item label="姓名:" prop="name">
+            <el-input v-model="form.name" placeholder="请输入姓名"></el-input>
+        </el-form-item>
+
+        <el-form-item label="邮箱:" prop="email">
+            <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
+        </el-form-item>
+
+        <el-form-item label="默认发送邮箱人员:" prop="ifDefault" v-if="userinfo.roleType == 2 || userinfo.roleType == 1">
+          <el-switch
+              v-model="form.ifDefault"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+              :active-value="true"
+              :inactive-value="false">
+            </el-switch>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+          <el-button size="small" @click="handleClose">取 消</el-button>
+          <el-button size="small" v-if="model == 'add'" @click="initData({})">重 置</el-button>
+          <el-button type="primary" :loading="btnLoading" @click="submit" >确 定</el-button>
+        </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+const defaultForm={
+  name:null,
+  email:null,
+  ifDefault:false,
+  reportType:7,
+}
+export default {
+  components: {},
+  props: {},
+  data() {
+    return {
+      form:{},
+      rules:{
+          name: [{ required: true, message: '请输入姓名', trigger: 'blur' },],
+          email: [
+            { required: false, message: "请输入邮箱", trigger: "blur" },
+						{
+							pattern:
+								/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\.\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
+							message: "请输入正确的邮箱格式",
+							trigger: "blur",
+						},
+          ],
+      },
+      title:'',
+      showDialog:false,
+      model:'add',
+      btnLoading:false,
+    };
+  },
+  watch: {},
+  computed: {
+    userinfo(){
+      return this.$s.getObj('userinfo')
+    },
+  },
+  created() {},
+  mounted() {},
+  methods: {
+    open(form={},model='add'){
+      this.initData(form)
+      this.model = model
+      this.title = model=='add'?'添加IPR邮箱':'修改IPR邮箱'
+      this.showDialog = true
+    },
+    //初始化数据
+    initData(form={}){
+      this.form = Object.assign({},defaultForm,form)
+    },
+    //关闭弹窗
+    handleClose(){
+      this.showDialog = false
+    },
+    submit(){
+      this.$refs['form'].validate((valid) => {
+          if (valid) {
+              this.btnLoading = true
+              var a = '添加'
+              var api = 'iprPersonUpdate'
+              if(this.model == "edit"){
+                  a = '修改'
+              }
+              this.$api[api](this.form).then(response => {
+                  if (response.code === 200) {
+                      this.btnLoading = false
+                      this.$message.success( a + '成功');
+                      this.handleClose()
+                  }
+              })
+              .catch(error => {
+                  this.$message.error(a + '失败')
+                  this.btnLoading = false
+              });
+          }
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 0 - 0
src/views/report/InvalidResponse/components/IPREmail/index.vue


+ 38 - 0
src/views/report/InvalidResponse/components/dialog/IPREmail.vue

@@ -0,0 +1,38 @@
+<template>
+  <div>
+    <el-dialog  title="IPR邮箱" :visible.sync="visible" width="1200px" :close-on-click-modal="false"  :before-close="handleClose" append-to-body>
+      <div style="height:calc(100vh - 250px)">
+        <IPREmail v-if="visible"></IPREmail>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import IPREmail from '../IPREmail/IPREmail.vue';
+export default {
+  components: {
+    IPREmail
+  },
+  props: {},
+  data() {
+    return {
+        visible:false
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {
+    open(){
+        this.visible = true
+    },
+    handleClose(){
+        this.visible = false
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 15 - 0
src/views/report/InvalidResponse/components/dialog/editFlowPath.vue

@@ -58,6 +58,15 @@
               </div>
             </template>
           </el-form-item>
+          <el-form-item label="邮件通知:">
+            <el-switch
+              v-model="form.ifSendEmail"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+              :active-value="true"
+              :inactive-value="false">
+            </el-switch>
+          </el-form-item>
           <el-form-item label="备注内容:">
             <el-input type='textarea' v-model="form.description" autocomplete="off" placeholder="请输入备注"></el-input>
           </el-form-item>
@@ -72,6 +81,7 @@
 </template>
   
 <script>
+const defaultSendEmail = ['0','1','3','4','5','7','8']
   export default {
     props:{
         projectId:{
@@ -157,6 +167,11 @@
         open(type,form) {
             this.type = this.types[type]
             this.form = JSON.parse(JSON.stringify(form))
+            if(defaultSendEmail.indexOf(type+'')!=-1){
+              this.$set(this.form,'ifSendEmail',true)
+            }else{
+              this.$set(this.form,'ifSendEmail',false)
+            }
             this.showDialog=true
         },
         // 弹窗确定

+ 67 - 94
src/views/report/InvalidResponse/components/table/IPREmail.vue

@@ -1,115 +1,88 @@
 <template>
   <div class="height_100">
-    <el-container>
-        <el-header>
-            <div>
-                <div>
-                    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"  label-width="68px">
-                        <el-form-item label="审核类型" prop="type" v-if="$permission.hasPermission([1,3])">
-                            <el-select v-model="queryParams.type" placeholder="请选择" clearable >
-                                <el-option v-for="(item, key) in examineType" :key="key" :label="item" :value="key"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="任务状态" prop="status">
-                            <el-select v-model.number="queryParams.status" placeholder="请选择" clearable >
-                                <el-option v-for="(item, key) in status" :key="key" :label="item" :value="Number(key)"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="审核结果" prop="auditResult">
-                            <el-select v-model="queryParams.auditResult" placeholder="请选择" clearable >
-                                <el-option v-for="(item, key) in auditResult" :key="key" :label="item" :value="key"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item>
-                            <el-button type="primary" icon="el-icon-search" size="mini" @click="search">搜索</el-button>
-                            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-                        </el-form-item>
-                    </el-form>
-                </div>
-                <div></div>
-            </div>
-        </el-header>
-        <el-main></el-main>
-        <el-footer class="pagination">
-            <el-pagination background layout="total, sizes, prev, pager, next, jumper"
-                    :current-page.sync="queryParams.current" :page-size.sync="queryParams.size"
-                    @current-change="handleCurrentChange" @size-change="changeSize" :total="total">
-                </el-pagination>
-        </el-footer>
-    </el-container>
+    <el-table 
+        ref="table"
+        border
+        :data="tableData"
+        row-key="id"
+        style="width: 100%"
+        height="calc(100% - 0px)"
+        v-loading="loading">
+        <slot name="check"></slot>
+        <el-table-column v-for="item in columnList" :render-header="$commonJS.renderHeaderMethods" :key="item.field" :prop="item.field" :label="item.name" :sortable="item.ifSort?'custom':false" :width="item.width || 'auto'" :min-width="item.minWidth?item.minWidth:''">
+            <template slot-scope="scope">
+                <div v-html="$commonJS.getColumnData(scope.row,item)"></div>
+            </template>
+        </el-table-column>
+        <slot name="column"></slot>
+    </el-table>
   </div>
 </template>
 
 <script>
-const defaultSearchForm={
-    name:null,
-    email:null,
-    type:null
-}
+const defaultColumnList = [
+    {
+        field:'name',
+        name:'姓名',
+        ifSort:false,
+        width:'150px',
+    },
+    {
+        field:'email',
+        name:'邮箱',
+        ifSort:false,
+    },
+    {
+        field:'ifDefault',
+        name:'类型',
+        ifSort:false,
+        width:'150px',
+        type:"function",
+        useFunction:(data)=>{
+            var types={
+                true:'默认发送邮箱',
+                false:'非默认发送邮箱'
+            }
+            return types[data.ifDefault]
+        }
+    },
+    {
+        field:'createName',
+        name:'创建人',
+        ifSort:false,
+        width:'150px',
+    },
+    {
+        field:'createTime',
+        name:'创建时间',
+        ifSort:false,
+        width:'180px',
+    },
+]
 export default {
-    name:"IPREmailTable",
   components: {},
   props: {
-    queryApi:{
-        type:[String,Function],
+    loading:{
+        type:Boolean,
+        default:false
     },
-    projectId:{}
+    tableData:{
+        type:Array,
+        default:()=>{
+            return []
+        }
+    }
   },
   data() {
     return {
-        tableData:[],
-        queryParams:{
-            current:1,
-            size:10,
-            ...defaultSearchForm,
-            projectId:this.projectId
-        },
-        total:0,
-        loading:false,
+        columnList:defaultColumnList
     };
   },
   watch: {},
   computed: {},
   created() {},
-  mounted() {
-    this.getList()
-  },
-  methods: {
-    async getList(){
-        this.loading = true
-        var api = ''
-        if(this.queryApi){
-            if(typeof this.queryApi == 'function'){
-                var data = await this.queryApi(this.queryParams)
-                this.tableData = data.data
-                this.total = data.total
-                this.loading = false
-                return
-            }
-            api = this.queryApi
-        }
-        this.$api[api](this.queryParams).then(response=>{
-            if(response.code == 200){
-                this.loading = false
-            }
-        }).catch(error=>{
-            this.tableData = []
-            this.total = 0
-            this.loading = false
-        })
-    },
-    //切换分页
-    handleCurrentChange(value){
-        this.queryParams.current = value
-        this.getList()
-    },
-    //切换页大小
-    changeSize(value){
-        this.queryParams.size = value
-        this.queryParams.current = 1
-        this.getList()
-    },
-  },
+  mounted() {},
+  methods: {},
 };
 </script>
 <style lang="scss" scoped>

+ 244 - 0
src/views/report/components/dialog/handlePerson.vue

@@ -0,0 +1,244 @@
+<template>
+  <div>
+    <el-dialog  title="配案人员" :visible.sync="visible" width="600px" :close-on-click-modal="false"  :before-close="handleClose" append-to-body>
+      <div style="height:calc(100vh - 250px)">
+        <el-table 
+            ref="table"
+            border
+            :data="tableData"
+            row-key="id"
+            style="width: 100%"
+            height="calc(100% - 0px)"
+            v-loading="loading">
+            <el-table-column prop="name" label="姓名" width="180">
+                <template slot-scope="scope">
+                    <div>
+                        <div v-if="model == 'list'">
+                            {{ scope.row.name }}
+                        </div>
+                        <div v-else>
+                            <el-autocomplete
+                                class="inline-input"
+                                v-model="scope.row.name"
+                                v-SelectLazyLoading="IPREmailLoad"
+                                value-key="name"
+                                :debounce="1500"
+                                :fetch-suggestions="querySearchByName"
+                                placeholder="请输入内容"
+                                @select="(item)=>handleSelect(item,scope.row)"
+                            >
+                            <span slot="append">
+                                <template slot-scope="{ item }">
+                                    <span>{{ item.email }}</span>
+                                </template>
+                            </span>
+                            </el-autocomplete>
+                        </div>
+                    </div>
+                </template>
+            </el-table-column>
+            <el-table-column prop="email" label="邮箱" width="180">
+                <template slot-scope="scope">
+                    <div>
+                        <div v-if="model == 'list'">
+                            {{ scope.row.email }}
+                        </div>
+                        <div v-else>
+                            <el-autocomplete
+                                class="inline-input"
+                                v-model="scope.row.email"
+                                :debounce="1500"
+                                v-SelectLazyLoading="IPREmailLoad"
+                                value-key="email"
+                                :fetch-suggestions="querySearchByEmail"
+                                placeholder="请输入内容"
+                                @select="(item)=>handleSelect(item,scope.row)"
+                            >
+                            <span slot="append">
+                                <template slot-scope="{ item }">
+                                    <span>{{ item.name }}</span>
+                                </template>
+                            </span>
+                            </el-autocomplete>
+                        </div>
+                    </div>
+                </template>
+            </el-table-column>
+            <el-table-column label="操作">
+                <template slot-scope="scope">
+                    <div>
+                        <div v-if="model == 'list'">
+                            <el-button type="text" size="small" @click="edit(scope.row)">修改</el-button>
+                            <el-button type="text" size="small" @click="remove(scope.row)">移除</el-button>
+                        </div>
+                        <div v-else>
+                            <el-button type="text" size="small" @click="save(scope.row)">保存</el-button>
+                            <el-button v-if="model=='edit'" type="text" size="small" @click="cancel(scope.row)">取消</el-button>
+                        </div>
+                    </div>
+                </template>
+            </el-table-column>
+        </el-table>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+
+export default {
+  components: {
+    
+  },
+  props: {},
+  data() {
+    return {
+        visible:false,
+        tableData:[],
+        loading:false,
+        model:'List',
+        IPREmailList:{
+            queryParams:{
+                current:0,
+                size:10,
+                total:1,
+                name:null,
+                email:null
+            },
+            data:[]
+        },
+        editMessage:{},
+        reportId:null
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {
+    open(reportId){
+      this.reportId =reportId
+      this.getList()
+      this.visible = true
+    },
+    getList(){
+      var params = {
+        reportId:this.reportId
+      }
+      this.loading = true
+      var api = 'matchCasePersonQuery'
+      this.$api[api](params).then(response=>{
+        if(response.code == 200){
+          if(response.data.id){
+            this.tableData = [response.data]
+            this.model = 'list'
+          }else{
+            this.tableData = []
+            this.model = 'add'
+          }
+          this.loading = false
+        }
+      }).catch(error=>{
+          this.tableData = []
+          this.model = 'list'
+          this.loading = false
+      })
+    },
+    handleClose(){
+        this.visible = false
+    },
+    //编辑
+    edit(row){
+        this.model = 'edit'
+        this.editMessage = JSON.parse(JSON.stringify(row))
+    },
+    //移除配案人员
+    remove(row){
+      this.$confirm('确认删除选择的数据吗?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+      }).then(() => {
+          this.loading = true
+          this.$api.matchCasePersonDelete([row.id]).then(response => {
+              this.$message.success('移除成功')
+              this.loading = false
+              this.getList()
+          }).catch(error => {
+              this.loading = false
+          })
+      })
+    },
+    //取消编辑
+    cancel(row){
+        row = this.editMessage
+        this.model = 'list'
+    },
+    //保存
+    save(row){
+      var a = '添加'
+      if(this.model == 'edit'){
+        a = '修改'
+      }
+      this.loading = true
+      row.reportId = this.reportId
+      this.$api.matchCasePersonUpdate(row).then(response=>{
+        if(response.code == 200){
+          this.$message.success(a+'成功')
+          this.loading = false
+          this.getList()
+        }
+      }).catch(error=>{
+        this.loading = false
+      })
+    },
+
+     /**
+    * IPR邮箱
+    */
+    // 懒加载IPR邮箱方法
+    IPREmailLoad() {
+      if (this.IPREmailList.queryParams.current * this.IPREmailList.queryParams.size >= this.IPREmailList.queryParams.total) {
+        return false
+      }
+      this.IPREmailList.queryParams.current++
+      this.getIPREmailList()
+    },
+    // 查询IPR邮箱
+    async getIPREmailList() {
+      let params = {
+        ...this.IPREmailList.queryParams,
+      }
+      await this.$api.iprPersonQuery(params).then(res => {
+        if (res.code == 200) {
+          this.IPREmailList.data.push(...res.data.data)
+          this.IPREmailList.queryParams.total = res.data.total
+          this.IPREmailList.cb(this.personnelList.data);
+        }
+      })
+    },
+    //获取下拉建议IPR邮箱数据
+    async querySearchByEmail(queryString, cb) {
+      this.IPREmailList.queryParams.current = 1
+      this.IPREmailList.queryParams.email = queryString
+      this.IPREmailList.data = []
+      this.IPREmailList.cb = cb
+      await this.getIPREmailList()
+    },
+    async querySearchByName(queryString, cb) {
+      this.IPREmailList.queryParams.current = 1
+      this.IPREmailList.queryParams.name = queryString
+      this.IPREmailList.data = []
+      this.IPREmailList.cb = cb
+      await this.getIPREmailList()
+    },
+    handleSelect(item,row){
+        this.$set(row,'name',item.name)
+        this.$set(row,'email',item.email)
+        this.$set(row,'iprPersonId',item.id)
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 24 - 0
src/views/report/components/handlePerson/handlePerson.vue

@@ -0,0 +1,24 @@
+<-- 配案人员 -->
+<template>
+  <div>
+
+  </div>
+</template>
+
+<script>
+export default {
+  components: {},
+  props: {},
+  data() {
+    return {
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {},
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 0 - 0
src/views/report/components/handlePerson/index.vue


+ 12 - 20
src/views/report/components/index.vue

@@ -31,7 +31,8 @@
                   :key="item.label" @click.native="handleAnalyse(item.value)">{{ item.label }}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
-            <el-button type="primary" class="margin-left_10" size="small" @click="showField">显示栏位管理</el-button>
+            <el-button type="primary" class="margin-left_10 margin-right_10" size="small" @click="showField">显示栏位管理</el-button>
+            <el-button v-if="componentType == 2" type="primary" class="margin-right_10" size="small" @click="IPREmail">IPR邮箱</el-button>
           </div>
 
         </div>
@@ -64,6 +65,9 @@
     <exportReport ref="exportReport"></exportReport>
     <!-- 项目分享 -->
     <patentShare ref="patentShare"></patentShare>
+
+    <!-- IPR邮箱 -->
+    <IPREmailDialog ref="IPREmailDialog"></IPREmailDialog>
   </div>
 </template>
 
@@ -79,6 +83,8 @@ import reportFileDrawer from './drawer/reportFileDrawer.vue'
 import cronConclusion from './dialog/cronConclusion.vue'
 import exportReport from './dialog/exportReport.vue'
 import patentShare from '@/views/components/drawer/Share.vue';
+
+import IPREmailDialog from '../InvalidResponse/components/dialog/IPREmail.vue'
 export default {
   components: {
     Table,
@@ -92,6 +98,7 @@ export default {
     cronConclusion,
     exportReport,
     patentShare,
+    IPREmailDialog
   },
   props: {
     isOperate: '',
@@ -193,23 +200,6 @@ export default {
           }
         })
       }
-      // if (a.REPORT_TYPE) {
-      //   // 报告类型
-      //   this.searchFiled[1].options = a.REPORT_TYPE.map(item => {
-      //     return {
-      //       value: item.value,
-      //       label: item.label
-      //     }
-      //   })
-      //   // 报告状态
-      //   this.searchFiled[2].options = a.REPORT_STATE.map(item => {
-      //     return {
-      //       value: item.value,
-      //       label: item.label
-      //     }
-      //   })
-      // }
-
       return a
     },
     state() {
@@ -253,8 +243,6 @@ export default {
   },
   created() { },
   async mounted() {
-   
-    
     if(this.componentType){
       await this.tabChange(this.componentType)
     }
@@ -265,6 +253,10 @@ export default {
     this.showViews()
   },
   methods: {
+    //IPR邮箱
+    IPREmail(){
+      this.$refs.IPREmailDialog.open()
+    },
     //标签页点击
     async tabChange(name){
       var type = Number(name)