Selaa lähdekoodia

专利挖掘项目模块

zhuliu 2 vuotta sitten
vanhempi
commit
b29222f2ff

+ 18 - 2
src/router/index.js

@@ -85,6 +85,22 @@ const routes = [
           },
         ]
       },
+      //专利挖掘
+      {
+        path: '/patentMining',
+        name:'patentMining',
+        component:{render(c){return c('router-view')}},
+        redirect:'/patentMining',
+        children:[
+          {
+            path:'/',
+            meta: {
+              title: '专利挖掘',
+            },
+            component: () => import('@/views/patentMining/index.vue'),
+          },
+        ]
+      },
       // 产品
       {
         path: '/product',
@@ -335,8 +351,8 @@ const routes = [
           },
           //报告任务清单
           {
-            path:'/reportTaskList',
-            name:'reportTaskList',
+            path:'/rTaskList',
+            name:'rTaskList',
             meta:{
               title:'任务',
               aside:true,

+ 2 - 2
src/views/layout/components/UserBar.vue

@@ -166,12 +166,12 @@ export default {
         {
           value:'6',
           label:'专利挖掘',
-          path:'',
+          path:'/patentMining',
         },
         {
           value:'8',
           label:'任务',
-          path:'/reportTaskList',
+          path:'/rTaskList',
         },
       ],
       clientTitle:'',

+ 2 - 1
src/views/layout/index.vue

@@ -16,7 +16,7 @@
           </div>
         </div>
       </el-header>
-      <el-main style="padding:0;padding-top:15px;overflow:auto;background:white">
+      <el-main style="padding:0;padding-top:0px;overflow:auto;background:white">
         <!-- <el-header style="height:30px;color:brown;">
             <marquee behavior="scroll" direction="left" scrollamount="5" scrolldelay="100" hspace="10" vspace="10" align="middle" face="" color="white" size="">{{ text }}</marquee>
           </el-header> -->
@@ -158,6 +158,7 @@ export default {
     color: #fff;
     display: flex;
     justify-content: space-between;
+    border-bottom: 10px solid #e6e6e6;
     .logo-bar {
       font-size: 20px;
       font-weight: bold;

+ 97 - 0
src/views/patentMining/components/dialog/addAndEditProject.vue

@@ -0,0 +1,97 @@
+<template>
+  <div>
+    <el-dialog
+        :title="title"
+        :visible.sync="dialogVisible"
+        width="800"
+        :before-close="handleClose">
+        <el-form :model="form" status-icon :rules="rules" ref="form" label-width="120px" class="demo-ruleForm">
+            <el-row>
+                <el-col :span="12">
+                    <el-form-item label="项目名称:">
+                        <el-input v-model="form.name" placeholder="请输入项目名称"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="技术方向:">
+                        <el-input v-model="form.type" 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.name" placeholder="请输入产品阶段"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="产出:">
+                        <el-input v-model="form.type" 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.name" placeholder="请输入相关竞争对手"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="技术关键词:">
+                        <el-input v-model="form.type" placeholder="请输入技术关键词"></el-input>
+                     </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="handleClose">取 消</el-button>
+            <el-button type="primary" @click="submit">确 定</el-button>
+        </span>
+    </el-dialog>
+   
+  </div>
+</template>
+
+<script>
+export default {
+  components: {},
+  props: {},
+  data() {
+    return {
+        dialogVisible:false,
+        title:'',
+        form:{},
+        rules:{}
+
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {
+    //打开弹窗
+    open(form){
+        this.form = JSON.parse(JSON.stringify(form))
+        if(this.form.id){
+            this.title = '编辑专利挖掘项目'
+        }else{
+            this.title = '新增专利挖掘项目'
+        }
+        this.dialogVisible = true
+    },
+    //关闭弹窗
+    handleClose(){
+        this.form = {}
+        this.dialogVisible = false
+    },
+    //提交数据
+    submit(){
+        this.dialogVisible = false
+    }
+  },
+    
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 71 - 0
src/views/patentMining/components/view/commonTable.vue

@@ -0,0 +1,71 @@
+<template>
+    <div>
+      <el-table :data="tableData" border style="width: 100%" header-row-class-name="custom-table-header">
+          <el-table-column label="#" align="center" width="100px">
+              <template slot-scope="scope">
+                  <div>
+                      {{ (params.current-1)*params.size + scope.$index+1 }}
+                  </div>
+              </template>
+          </el-table-column>
+          <el-table-column prop="name" label="项目名称" align="center">
+            <template slot-scope="scope">
+              <div>
+                <el-link type="primary">{{ scope.row.name }}</el-link>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="type" label="产出" align="center"></el-table-column>
+          <el-table-column prop="type" label="技术方向" align="center"></el-table-column>
+          <el-table-column prop="type" label="技术关键词" align="center"></el-table-column>
+          <el-table-column prop="type" label="相关竞争对手" align="center"></el-table-column>
+          <el-table-column prop="status" label="状态" align="center"></el-table-column>
+          <el-table-column prop="createPerson" label="创建人" align="center"></el-table-column>
+          <el-table-column label="操作" align="center" width="200px">
+              <template slot-scope="scope">
+                  <div>
+                      <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)">
+                          <p @click="handleCommand('e', scope.row)">编辑</p>
+                          <el-dropdown-menu slot="dropdown">
+                              <el-dropdown-item command="0">设置定时更新</el-dropdown-item>
+                              <el-dropdown-item divided class="color-red" command="1">删除</el-dropdown-item>
+                          </el-dropdown-menu>
+                      </el-dropdown>
+                  </div>
+              </template>
+          </el-table-column>
+      </el-table>
+    </div>
+</template>
+  
+<script>
+  export default {
+    components: {},
+    props: {
+      params:Object
+    },
+    data() {
+      return {
+          tableData:[
+            {
+              name:'xxx有限公司',
+              type:'本公司专利数据库',
+              status:'进行中',
+              createPerson:'朱豪'
+            }
+          ]
+      };
+    },
+    watch: {},
+    computed: {},
+    created() {},
+    mounted() {},
+    methods: {
+      handleCommand(option,row){
+        this.$emit('option',{option,row})
+      },
+    },
+  };
+  </script>
+  <style lang="scss" scoped>
+  </style>

+ 126 - 0
src/views/patentMining/index.vue

@@ -0,0 +1,126 @@
+<template>
+    <div>
+      <el-container>
+          <el-header>
+              <div>
+                <mySearch style="width:500px" :SearchFields="searchFiled" @search="search" :searchValue="searchOption" :disabled="!$permission('/workspace/project/check')"></mySearch>  
+              </div>
+              <div style="display:flex;margin-right:10px">
+                  <!-- <div>
+                      <span>分组查询:</span>
+                      <el-select v-model="queryParams.group" :disabled="!$permission('/workspace/project/check')" multiple clearable collapse-tags size="small" @change="onChange" style="width:200px">
+                          <el-option v-for="item in commonData.QUERY_GROUP" :key="item.value" :label="item.label" :value="parseInt(item.value)">
+                          </el-option>
+                      </el-select>
+                  </div> -->
+                  <el-button-group class="margin-left_10">
+                    <el-button :type="queryShowType === '0' ? 'primary' : ''" @click="onChange2('0')" size="small">列表</el-button>
+                    <el-button :type="queryShowType === '1' ? 'primary' : ''" @click="onChange2('1')" size="small">卡片</el-button>
+                  </el-button-group>
+                  <el-dropdown trigger="click" split-button type="primary" size="small">
+                      <p @click="handleAdd" v-disabled="!$permission('/workspace/project/add')">创建项目</p>
+                      <el-dropdown-menu slot="dropdown" class="text-align_center">
+                          <!-- <el-dropdown-item @click.native="handleExport">导出列表</el-dropdown-item> -->
+                          <!-- <el-dropdown-item @click.native="handleImport" :disabled="!$permission('/workspace/project/import')">导入数据包</el-dropdown-item>
+                          <el-dropdown-item @click.native="handleField">显示栏位管理</el-dropdown-item> -->
+                      </el-dropdown-menu>
+                  </el-dropdown>
+              </div>
+          </el-header>
+          <el-main>
+              <component :is="viewType" :data="dataList" :group="queryParams.group" :params="queryParams" @option="handleOption" @sort="handleSort"></component> 
+          </el-main>
+          <el-footer>
+              <div>
+                  <el-pagination
+                      backgroundx
+                      layout="total, prev, pager, next, jumper"
+                      :current-page.sync="queryParams.current"
+                      :page-size.sync="queryParams.size"
+                      @current-change="handleCurrentChange"
+                      :total="total">
+                  </el-pagination>
+              </div>
+          </el-footer>
+      </el-container>
+      <addAndEditProject ref="addAndEditProject"></addAndEditProject>
+
+    </div>
+</template>
+  
+<script>
+  import commonTable from './components/view/commonTable.vue';
+  import addAndEditProject from './components/dialog/addAndEditProject.vue';
+  export default {
+    components: {
+      commonTable,
+      addAndEditProject
+    },
+    props: {},
+    data() {
+      return {
+          viewType:'commonTable',
+          queryShowType:'0',
+          dataList:[],
+          queryParams:{
+              size:10,
+              current:0,
+          },
+          total:0,
+          searchFiled:[
+              {
+                  label:'项目名称',
+                  value:'name',
+                  type:1,
+                  placeholder:'请输入项目名称'
+              },
+              {
+                  label:'创建人',
+                  value:'createPerson',
+                  type:1,
+                  placeholder:'请输入创建人名称'
+              },
+          ],
+          searchOption:{}
+      };
+    },
+    watch: {},
+    computed: {},
+    created() {},
+    mounted() {},
+    methods: {
+      search(){
+  
+      },
+      handleSort(sort) {
+        this.queryParams.sort = { ...sort }
+        this.getList()
+      },
+      handleOption({ option, row }) {
+        switch (option) {
+          case '0'://设置定时任务
+              this.$refs.addAndEditDB.open(row,true)
+              break;
+          case '1'://删除
+              break;
+          case 'e'://编辑
+              this.$refs.addAndEditProject.open(row)
+            break;
+        }
+      },
+      handleCurrentChange(val) {
+        this.queryParams.current = val;
+        this.getList();
+      },
+      getList(){
+  
+      },
+      //添加其他企业专利数据库
+      handleAdd(){
+          this.$refs.addAndEditProject.open({})
+      },
+    },
+  };
+  </script>
+  <style lang="scss" scoped>
+  </style>