Bladeren bron

意见反馈以及卡片自定义组件

zhuliu 1 jaar geleden
bovenliggende
commit
0d9f479106
38 gewijzigde bestanden met toevoegingen van 710 en 215 verwijderingen
  1. 3 115
      src/App.vue
  2. 82 0
      src/assets/css/main.scss
  3. 3 1
      src/assets/css/theme.css
  4. 49 3
      src/icons/icon2/demo_index.html
  5. 11 3
      src/icons/icon2/iconfont.css
  6. 1 1
      src/icons/icon2/iconfont.js
  7. 14 0
      src/icons/icon2/iconfont.json
  8. BIN
      src/icons/icon2/iconfont.ttf
  9. BIN
      src/icons/icon2/iconfont.woff
  10. BIN
      src/icons/icon2/iconfont.woff2
  11. 1 0
      src/main.js
  12. 103 0
      src/utils/model/card/index.vue
  13. 3 2
      src/utils/model/index.js
  14. 63 6
      src/utils/model/route.vue
  15. 1 1
      src/utils/model/selectButton/index.vue
  16. 1 1
      src/views/client/index.vue
  17. 37 34
      src/views/event/components/dialog/addEvent.vue
  18. 1 1
      src/views/event/components/index.vue
  19. 1 1
      src/views/event/components/view/table.vue
  20. 135 0
      src/views/layout/components/dialog/feedback.vue
  21. 1 1
      src/views/layout/components/field.vue
  22. 6 4
      src/views/layout/components/guide.js
  23. 145 0
      src/views/layout/components/help.vue
  24. 5 1
      src/views/layout/index.vue
  25. 1 1
      src/views/patentMining/components/dialog/handleTask1.vue
  26. 2 2
      src/views/patentMining/components/excavateTask/excavateTask.vue
  27. 1 1
      src/views/patentMining/components/handleExamine/handleExamine.vue
  28. 1 1
      src/views/patentMining/components/view/commonTable.vue
  29. 1 1
      src/views/patentMining/index.vue
  30. 1 1
      src/views/product/components/commodity/commodity.vue
  31. 1 1
      src/views/product/components/framework/view/table.vue
  32. 1 1
      src/views/product/components/index.vue
  33. 1 1
      src/views/product/components/view/categoryTable.vue
  34. 1 1
      src/views/product/components/view/productTable.vue
  35. 29 25
      src/views/project/components/drawer/form.vue
  36. 1 1
      src/views/project/components/view/table.vue
  37. 1 1
      src/views/project/index.vue
  38. 2 2
      src/views/report/components/view/table.vue

+ 3 - 115
src/App.vue

@@ -43,50 +43,7 @@ export default {
   methods: {
     
   },
-    //注册局部组件指令
-    directives: {
-    drag: function (el,data,vnode) {
-      let dragBox = el; //获取当前元素
-      // 当前页面可视区的高
-      let clientHeight = document.documentElement.clientHeight 
-      dragBox.onmousedown = e => {
-        //算出鼠标相对元素的位置
-        let disX = e.clientX - dragBox.offsetLeft;
-        let disY = dragBox.offsetTop - e.clientY;
-        // let disY = e.clientY - dragBox.offsetTop;
-        document.onmousemove = e => {
-          if ( e.stopPropagation ) {
-            e.stopPropagation()
-          }
-          if ( e.preventDefault ) {
-            e.preventDefault()
-          }
-          //用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
-          let left = disX + 100 +'px';
-          let top = -(clientHeight - e.clientY);
-          if (top > -50) {
-            top=-50
-          } else if (top < -clientHeight) {
-            top = -clientHeight
-          }
-          // let left = e.clientX - disX;
-          // let top = e.clientY - disY;
-          //移动当前元素
-          dragBox.style.left = left + "px";
-          dragBox.style.top = top + "px";
-        };
-        document.onmouseup = e2 => {
-          //鼠标弹起来的时候不再移动
-          document.onmousemove = null;
-          //预防鼠标弹起来后还会循环(即预防鼠标放上去的时候还会移动)  
-          document.onmouseup = null;
-          if ( e.clientX == e2.clientX && e.clientY == e2.clientY ) {
-            vnode.context.feedback()//想要添加的元素的点击事件
-          }
-        };
-      };
-    }
-  }
+
 }
 </script>
 
@@ -100,81 +57,12 @@ export default {
   height: 100%;
 }
 
-
-.showPiZhu{
-  position: absolute;
-  background: rgb(255 249 199);
-  left:0;
-  width:200px;
-  box-shadow: 5px 5px 5px rgb(227, 227, 75);
-  padding: 5px;
-  border-radius: 5px;
-}
-.pizhuLightHeigh{
-  position: relative;
-  background: #409EFF !important;
-}
-
-.greenColor{
-  background: #409EFF !important;
-}
-
-   .jinzhi{
-    cursor: not-allowed;
-    pointer-events:none;
-  }
-  .el-dropdown .el-button-group .el-button--primary:first-child{
-    padding: 0;
-    p{
-      margin: 0;
-      min-width: 50px;
-      line-height: 30px;
-      height: 30px;
-      padding: 0 10px;
-    }
-  }
-  </style>
+</style>
 <style lang="less">
-.el-form-item__label{
-  background: var(--bg);
-  color: var(--color) !important;
-}
-.el-button--primary{
-  background: var(--bg) !important;
-  border-color: var(--bg) !important;
-  color: var(--color);
-}
-.el-table{
-  // border: 1px solid rgba(124,124,124) !important;
-  height: 100%;
-  width: 100%;
-  padding-bottom:10px;
-  .el-table__body-wrapper{
-    max-height: calc(100% - 50px);
-    overflow-y: auto;
-  }
-}
-.el-table th{
-  background: var(--bg) !important;
-  color: var(--color);
-}
-.el-table tr td{
-  border-bottom: 1px solid rgba(124,124,124) !important;
-}
-.el-table tr td:first-child{
-  border-right: 1px solid rgba(124,124,124) !important;
-  border-left: 1px solid rgba(124,124,124) !important;
-}
-.el-table tr td:last-child{
-  border-right: 1px solid rgba(124,124,124) !important;
-  border-left: 1px solid rgba(124,124,124) !important;
-}
 .cursor_pointer{
   cursor:pointer
 }
-textarea {
-  font-family: 微软雅黑;
-}
+
 html, body, #app {
   width: 100%;
   height: 100%;

+ 82 - 0
src/assets/css/main.scss

@@ -0,0 +1,82 @@
+//弹窗
+.el-dialog{
+    .el-dialog__title{
+      font-family: var(--fm) !important;
+      color: var(--color1) !important;
+      font-weight: bold !important;
+      font-size: 20px !important;
+    }
+  }
+  //抽屉
+  .el-drawer{
+    #el-drawer__title span{
+      font-family: var(--fm) !important;
+      color: var(--color1) !important;
+      font-weight: bold !important;
+      font-size: 20px !important;
+    }
+  }
+  //表单样式
+  .el-form-item__label{
+    color:var(--color2) !important;
+    font-family: var(--fm) !important;
+    font-weight: bold;
+    font-size: 15px !important;
+  }
+  .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before, .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{
+    content:'' !important;
+    margin-right:0 !important;
+  }
+  .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before, .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:after{
+    content:'*' !important;
+    color:#F56C6c !important;
+  }
+  //input框
+  .el-input__inner{
+    border:1px solid var(--color1) !important;
+  }
+  .el-input__inner:hover, .el-input__inner:focus{
+    border-color: #409eff !important;
+  }
+  
+  //文本域
+  textarea {
+    font-family: 微软雅黑;
+    border-color: var(--color1) !important;
+  }
+  textarea:hover, .textarea:focus{
+    border-color: #409eff !important;
+  }
+  //按钮样式
+  .el-button--primary{
+    background: var(--bg) !important;
+    border-color: var(--bg) !important;
+    color: var(--color);
+  }
+  //表格
+  .el-table{
+    // border: 1px solid rgba(124,124,124) !important;
+    height: 100%;
+    width: 100%;
+    padding-bottom:10px;
+    .el-table__body-wrapper{
+      max-height: calc(100% - 50px);
+      overflow-y: auto;
+    }
+  }
+  .el-table th{
+    background: var(--bg) !important;
+    color: var(--color);
+  }
+  .el-table tr td{
+    border-bottom: 1px solid rgba(124,124,124) !important;
+  }
+  .el-table tr td:first-child{
+    border-right: 1px solid rgba(124,124,124) !important;
+    border-left: 1px solid rgba(124,124,124) !important;
+  }
+  .el-table tr td:last-child{
+    border-right: 1px solid rgba(124,124,124) !important;
+    border-left: 1px solid rgba(124,124,124) !important;
+  }
+  

+ 3 - 1
src/assets/css/theme.css

@@ -20,5 +20,7 @@ html[theme-type='#879cf3']{
   --color:#fff; 
 }
 body{
-  --fm:黑体;
+  --fm:思源黑体CN;
+  --color1:#316192;
+  --color2:#000000;
 }

+ 49 - 3
src/icons/icon2/demo_index.html

@@ -55,6 +55,18 @@
           <ul class="icon_lists dib-box">
           
             <li class="dib">
+              <span class="icon iconfont">&#xe63c;</span>
+                <div class="name">意见反馈</div>
+                <div class="code-name">&amp;#xe63c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe657;</span>
+                <div class="name">新手指引</div>
+                <div class="code-name">&amp;#xe657;</div>
+              </li>
+          
+            <li class="dib">
               <span class="icon iconfont">&#xe636;</span>
                 <div class="name">icon-suoxiao</div>
                 <div class="code-name">&amp;#xe636;</div>
@@ -294,9 +306,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1695187885587') format('woff2'),
-       url('iconfont.woff?t=1695187885587') format('woff'),
-       url('iconfont.ttf?t=1695187885587') format('truetype');
+  src: url('iconfont.woff2?t=1698304160408') format('woff2'),
+       url('iconfont.woff?t=1698304160408') format('woff'),
+       url('iconfont.ttf?t=1698304160408') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -323,6 +335,24 @@
         <ul class="icon_lists dib-box">
           
           <li class="dib">
+            <span class="icon iconfont icon-yijianfankui"></span>
+            <div class="name">
+              意见反馈
+            </div>
+            <div class="code-name">.icon-yijianfankui
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xinshouzhiyin"></span>
+            <div class="name">
+              新手指引
+            </div>
+            <div class="code-name">.icon-xinshouzhiyin
+            </div>
+          </li>
+          
+          <li class="dib">
             <span class="icon iconfont icon-icon-suoxiao"></span>
             <div class="name">
               icon-suoxiao
@@ -684,6 +714,22 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yijianfankui"></use>
+                </svg>
+                <div class="name">意见反馈</div>
+                <div class="code-name">#icon-yijianfankui</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xinshouzhiyin"></use>
+                </svg>
+                <div class="name">新手指引</div>
+                <div class="code-name">#icon-xinshouzhiyin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-icon-suoxiao"></use>
                 </svg>
                 <div class="name">icon-suoxiao</div>

+ 11 - 3
src/icons/icon2/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4121381 */
-  src: url('iconfont.woff2?t=1695187885587') format('woff2'),
-       url('iconfont.woff?t=1695187885587') format('woff'),
-       url('iconfont.ttf?t=1695187885587') format('truetype');
+  src: url('iconfont.woff2?t=1698304160408') format('woff2'),
+       url('iconfont.woff?t=1698304160408') format('woff'),
+       url('iconfont.ttf?t=1698304160408') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,14 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-yijianfankui:before {
+  content: "\e63c";
+}
+
+.icon-xinshouzhiyin:before {
+  content: "\e657";
+}
+
 .icon-icon-suoxiao:before {
   content: "\e636";
 }

File diff suppressed because it is too large
+ 1 - 1
src/icons/icon2/iconfont.js


+ 14 - 0
src/icons/icon2/iconfont.json

@@ -6,6 +6,20 @@
   "description": "",
   "glyphs": [
     {
+      "icon_id": "1119363",
+      "name": "意见反馈",
+      "font_class": "yijianfankui",
+      "unicode": "e63c",
+      "unicode_decimal": 58940
+    },
+    {
+      "icon_id": "7467790",
+      "name": "新手指引",
+      "font_class": "xinshouzhiyin",
+      "unicode": "e657",
+      "unicode_decimal": 58967
+    },
+    {
       "icon_id": "22208627",
       "name": "icon-suoxiao",
       "font_class": "icon-suoxiao",

BIN
src/icons/icon2/iconfont.ttf


BIN
src/icons/icon2/iconfont.woff


BIN
src/icons/icon2/iconfont.woff2


+ 1 - 0
src/main.js

@@ -21,6 +21,7 @@ import lodash from 'lodash'
 import "@/icons/icon/iconfont.css"
 import "@/icons/icon2/iconfont.css"
 import "@/assets/css/theme.css"
+import "@/assets/css/main.scss"
 
 
 //是否有功能权限

+ 103 - 0
src/utils/model/card/index.vue

@@ -0,0 +1,103 @@
+<template>
+    <div :class="classList">
+        <div class="head">
+            <slot name="head"></slot>
+        </div>
+        <div class="body">
+          <slot></slot>  
+        </div>
+        <div class="foot">
+            <slot name="foot"></slot>
+        </div>
+        
+    </div>
+</template>
+
+<script>
+export default {
+  components: {},
+  props: {
+    shadow:{
+        default:'always'
+    }
+  },
+  data() {
+    return {
+        classList:'myCard'
+    };
+  },
+  watch: {
+    shadow(){
+        this.getStyle()
+    }
+  },
+  computed: {},
+  created() {},
+  mounted() {
+    this.getStyle()
+  },
+  methods: {
+    getStyle(){
+        var a = 'myCard'
+        switch(this.shadow){
+            case 'always':
+                a = a + ' is-always-shadow'
+                break;
+            case 'hover':
+                a = a + ' is-hover-shadow'
+                break;
+            case 'never':
+                break;
+            default:
+                break;
+        }
+        this.classList = a
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.myCard{
+    background-color: #FFF;
+    color: #303133;
+    transition: .3s;
+    border: 1px solid var(--color1) !important;
+    border-radius: 5px;
+    .head{
+        width: auto;
+        border-bottom: 1px solid var(--color1) !important;
+        padding: 10px;
+    }
+    .head>*{
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+    }
+    .head:empty{
+        border-bottom: none !important;
+        padding: 0px;
+    }
+    .body{
+        padding: 10px;
+    }
+    .foot{
+        border-top: 1px solid var(--color1) !important;
+        padding: 10px;
+    }
+    .foot>*{
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+    }
+    .foot:empty{
+        border-top: none !important;
+        padding: 0px;
+    }
+}
+.is-always-shadow{
+    box-shadow: 10px 18px 12px 0 rgba(27, 23, 23, 0.1);
+}
+.is-hover-shadow:hover{
+    box-shadow: 10px 18px 12px 0 rgba(27, 23, 23, 0.1);
+}
+</style>

+ 3 - 2
src/utils/model/index.js

@@ -12,7 +12,7 @@ import myTimeChoose from './time/timeIndex.vue';
 
 import myContextMenu from './contextMenu/index.vue';
 import mySelectTree from './selectTree/index'
-
+import myCard from './card/index'
 
 var models = {
   myCustomSvg,
@@ -27,7 +27,8 @@ var models = {
   myTimeChoose,
 
   myContextMenu,
-  mySelectTree
+  mySelectTree,
+  myCard
 }
 export default {
   install(Vue) {

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

@@ -1,19 +1,76 @@
 <template>
-  <div style="width:100%;height:100%">
-    <myContextMenu></myContextMenu>
-    <div @mouseup="mouseup" style="width:100%;height:100%">
+  <div style="background:white;height:700px">
+    
 
-    </div>
+    <el-row :gutter="24">
+        <el-col :span="6" v-for="item in data" class="c">
+          <myCard shadow="always">
+            <div slot="head">
+              <div>{{ item.title }}</div>
+              <div>
+                <el-dropdown class="float_right" @command="handleCommand($event, item)" trigger="click" size="small">
+                <span class="el-dropdown-link">
+                  <i class="el-icon-more el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown" class="text-align_center">
+                  <el-dropdown-item command="e" >
+                    <span v-if="$permission('/workspace/project/modify') && ($r(item.id,[2])||userinfo.id == item.createBy)">编辑</span>
+                    <span v-else>查看</span>
+                  </el-dropdown-item>
+                  <el-dropdown-item command="0" :disabled="!($permission('/workspace/project/patent_import')&& $r(item.id,[1,2]))">
+                    <el-dropdown @command="handleCommand($event, item)" placement="right-start">
+                      <span class="el-dropdown-link"> 专利导入 </span>
+                      <el-dropdown-menu  class="children_item">
+                          <el-dropdown-item command="7"> Excel导入 </el-dropdown-item>
+                          <el-dropdown-item command="8">专利号导入 </el-dropdown-item>
+                          <el-dropdown-item command="11" v-if="$permission('/workspace/common/retrieval')"> 检索条件导入 </el-dropdown-item>
+                      </el-dropdown-menu>
+                    </el-dropdown>
+                  </el-dropdown-item>
+                  <el-dropdown-item command="12">任务清单</el-dropdown-item>
+                <el-dropdown-item command="1">分配参与者</el-dropdown-item>
+                <el-dropdown-item command="2" :disabled="!$permission('/workspace/project/report_manage')">报告管理</el-dropdown-item>
+                <el-dropdown-item command="6" v-if="item.isCategory == 1&& $permission('/workspace/product')">产品架构</el-dropdown-item>
+                <el-dropdown-item command="10" v-if="$permission('/workspace/event')">事 件</el-dropdown-item>
+                <el-dropdown-item command="5" :disabled="!$permission('/workspace/project/other_accessories')">其它附件</el-dropdown-item>
+                <el-dropdown-item command="3" :disabled="!($permission('/workspace/project/project_share')&&$r(item.id,[2]))">项目分享</el-dropdown-item>
+                <el-dropdown-item command="4" divided class="color-red" :disabled="!($permission('/workspace/project/modify') && ($r(item.id,[2])||userinfo.id == item.createBy))">删除</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+              </div>
+            </div>
+            <div>
+              <p>名称:{{ item.name }}</p>
+            </div>
+            <div slot="foot">
+              <i class="el-icon-delete"></i>
+            </div>
+          </myCard>
+        </el-col>
+      </el-row>
   </div>
 </template>
 
 <script>
+import help from '@/views/layout/components/help.vue'
 export default {
-  components: {},
+  components: {
+    help
+  },
   props: {},
   data() {
     return {
-        show:false
+        show:false,
+        data:[
+          {
+            title:'标题',
+            name:'名称'
+          },
+          {
+            title:'标题2',
+            name:'名称2'
+          },
+        ]
     };
   },
   watch: {},

+ 1 - 1
src/utils/model/selectButton/index.vue

@@ -9,7 +9,7 @@
         </el-select>
       </slot>
       
-      <el-button  @click="handleClick" :disabled="disabled" :size="size" class="selectButton-button">
+      <el-button  @click="handleClick" type="primary" :disabled="disabled" :size="size" class="selectButton-button">
         <slot name="button">
          <i class="el-icon-search"></i> 
         </slot>

+ 1 - 1
src/views/client/index.vue

@@ -35,7 +35,7 @@
                 <el-table-column label="操作" align="center" width="150">
                     <template slot-scope="scope">
                     <el-dropdown split-button type="primary" size="small" @click="handleEdit(scope.row)">
-                    <p>编辑</p> 
+                      <span>编辑</span> 
                         <el-dropdown-menu slot="dropdown" class="text-align_center">
                         <el-dropdown-item class="color-red" @click.native="handleDelete(scope.row)" divided>删除</el-dropdown-item>
                         </el-dropdown-menu>

+ 37 - 34
src/views/event/components/dialog/addEvent.vue

@@ -3,28 +3,29 @@
     <el-dialog :title="title" :visible.sync="dialogVisible" :width="width" :before-close="handleClose">
       <!-- 单个新增(事件) -->
       <div v-if="type == 1">
-        <el-form :model="formData[0]" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+        <el-form :model="formData[0]" :rules="rules" ref="ruleForm" label-width="90px" label-position="left" class="demo-ruleForm">
           <el-form-item label="事件名称" prop="questionName">
             <el-autocomplete class="inline-input" v-model="formData[0].questionName"
               :fetch-suggestions="querySearchQuestion"
               placeholder="请输入或选择事件" :trigger-on-focus="false"
-              @select="handleSelectQuestion" @change="change1($event, { $index: 0 })" @focus="focus($event, { $index: 0 })"
-              @input="input1($event, {
-                $index: 0,
-                row: formData[0]
-              })" style="width: 100%;">
+              @select="handleSelectQuestion" @blur="blur($event, { $index: 0 })" style="width: 100%;">
             </el-autocomplete>
           </el-form-item>
+          <el-form-item label="所属客户" prop="clientId">
+            <el-select v-model="formData[0].clientId" :disabled="(formData[0].id && !this.row) ? true : false"
+              style="width: 100%;" placeholder="请选择客户">
+              <el-option
+                v-for="item in clientList"
+                :key="parseInt(item.value)" :label="item.label" :value="parseInt(item.value)">
+              </el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="事件日期" prop="eventDate">
             <el-date-picker style="width: 100%" v-model="formData[0].eventDate"
                type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
               placeholder="选择事件日期时间">
             </el-date-picker>
           </el-form-item>
-          <el-form-item label="事件描述" prop="description">
-            <el-input type="textarea" :rows="1" v-model="formData[0].description" autocomplete="off" placeholder="请输入事件描述"
-              ></el-input>
-          </el-form-item>
           <el-form-item label="事件场景" prop="assistPerson">
             <el-select v-model="formData[0].applicationScenarios[0]" :disabled="(formData[0].id && !this.row) ? true : false"
               style="width: 100%;" placeholder="请选择事件场景">
@@ -34,6 +35,10 @@
               </el-option>
             </el-select>
           </el-form-item>
+          <el-form-item label="事件描述" prop="description">
+            <el-input type="textarea" :rows="2" v-model="formData[0].description" autocomplete="off" placeholder="请输入事件描述"
+              ></el-input>
+          </el-form-item>
         </el-form>
       </div>
       <!-- 批量新增(事件) -->
@@ -51,7 +56,7 @@
               <div>
                 <el-autocomplete class="inline-input" v-model="scope.row.questionName"
                   :fetch-suggestions="querySearchQuestion" placeholder="请输入或选择事件" :trigger-on-focus="false"
-                  @select="handleSelectQuestion" @focus="focus($event, scope)" style="width: 100%;">
+                  @select="handleSelectQuestion" @blur="blur($event, scope)" style="width: 100%;">
                 </el-autocomplete>
               </div>
             </template>
@@ -65,14 +70,7 @@
               </div>
             </template>
           </el-table-column>
-          <el-table-column prop="description" label="事件描述" align="center" width="250px">
-            <template slot-scope="scope">
-              <div>
-                <el-input type="textarea" :rows="1" v-model="scope.row.description" autocomplete="off"
-                  placeholder="请输入事件描述" :disabled="scope.row.id ? true : false"></el-input>
-              </div>
-            </template>
-          </el-table-column>
+          
           <el-table-column prop="applicationScenarios" label="事件场景" align="center">
             <template slot-scope="scope">
               <div>
@@ -87,6 +85,14 @@
               </div>
             </template>
           </el-table-column>
+          <el-table-column prop="description" label="事件描述" align="center" width="250px">
+            <template slot-scope="scope">
+              <div>
+                <el-input type="textarea" :rows="1" v-model="scope.row.description" autocomplete="off"
+                  placeholder="请输入事件描述" :disabled="scope.row.id ? true : false"></el-input>
+              </div>
+            </template>
+          </el-table-column>
           <el-table-column label="事件操作" align="" width="100px">
             <template slot-scope="scope">
               <div>
@@ -102,9 +108,9 @@
         </el-table>
       </div>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm1()" size="small" style="width:100px">确定</el-button>
-        <el-button size="small" @click="resetForm()" style="width:100px">重置</el-button>
         <el-button size="small" @click="handleClose()" style="width:100px">取消</el-button>
+        <el-button size="small" @click="resetForm()" style="width:100px">重置</el-button>
+        <el-button type="primary" @click="submitForm1()" size="small" style="width:100px">确定</el-button>
       </div>
     </el-dialog>
 
@@ -139,6 +145,8 @@ export default {
       commonData: {},
       //弹窗类型
       type: 1,
+      //客户集合
+      clientList:[]
     }
   },
   watch: {},
@@ -298,7 +306,7 @@ export default {
     deleteRow(row) {
       this.formData.splice(row.$index, 1)
     },
-    // 查询所有事件
+    // 查询所有事件(不需要)
     async questionEventList() {
       await this.$api.eventQuery({}).then(res => {
         if (res.code == 200) {
@@ -306,7 +314,7 @@ export default {
         }
       })
     },
-    //获取下拉建议数据
+    //获取下拉建议数据(远程获取)
     querySearchQuestion(queryString, cb) {
       var restaurants = this.questionNameArr.map(item => {
         item.value = item.questionName;
@@ -323,6 +331,7 @@ export default {
           return (restaurant.value.indexOf(queryString) != -1);
       };
     },
+
     // input框切换选择
     handleSelectQuestion(val) {
       let a = this.formData.findIndex(item => {
@@ -336,18 +345,12 @@ export default {
         return false
       }
     },
-    //失去焦点
-    focus(ev, val) {
+
+    //失去焦点(远程找是否存在名称相同事件,如果存在就直接赋值)
+    blur(ev, val) {
 
     },
-    // input事件
-    input1(ev, val) {
-      // console.log(ev,val);
-    },
-    // change事件,input值改变触发
-    change1(val) {
-      // console.log(val);
-    },
+
   },
 }
 </script>
@@ -355,7 +358,7 @@ export default {
 <style lang="scss">
 .addEvent {
   .dialog-footer {
-    text-align: center;
+    // text-align: center;
   }
 }
 

+ 1 - 1
src/views/event/components/index.vue

@@ -20,7 +20,7 @@
             <el-button :type="viewSelected === 'Card' ? 'primary' : ''" @click="onChange2('Card')" size="small">卡片</el-button>
           </el-button-group>
           <el-dropdown trigger="click" split-button type="primary" size="small" @command="handleCommand($event)">
-            <P @click="handleCommand('1')">添加事件</P>
+            <span @click="handleCommand('1')">添加事件</span>
             <el-dropdown-menu slot="dropdown" class="text-align_center">
               <el-dropdown-item command="1">添加事件</el-dropdown-item>
               <el-dropdown-item command="2">批量添加事件</el-dropdown-item>

+ 1 - 1
src/views/event/components/view/table.vue

@@ -21,7 +21,7 @@
           <template slot-scope="scope">
             <el-dropdown split-button type="primary" size="small" @click="handleClick(scope.row)"
               @command="handleCommand($event,scope.row)">
-              <p>编 辑</p>
+              <span>编 辑</span>
               <el-dropdown-menu slot="dropdown" style="text-align:center">
                 <el-dropdown-item command="0">新增专题库</el-dropdown-item>
                 <el-dropdown-item>

+ 135 - 0
src/views/layout/components/dialog/feedback.vue

@@ -0,0 +1,135 @@
+<template>
+    <div>
+      <el-dialog   
+        title="意见反馈"
+        :visible.sync="feedbackVisible"
+        width="700px"
+        append-to-body
+        :close-on-click-modal="false"
+        :before-close="feedbackClose">
+          <div>
+            <div>
+              <div class="head">尊敬的用户:</div>
+              <p class="content">您在知识产权风控与组织记忆系统中遇到产品使用的问题,请在这里告诉我们,欢迎提出意见和建议,我们将参考您的建议来改善我们的服务。</p>
+              <h3 class="foot"> 感谢您的关注和支持! </h3>
+            </div>
+            <div>
+              <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+                <el-form-item label="反馈类型" prop="feedBackType">
+                  <el-select v-model="form.feedBackType" style="width: 50%;" placeholder="请选择反馈类型">
+                    <el-option
+                      v-for="item in options"
+                      :key="item.feedBackType"
+                      :label="item.label"
+                      :value="item.feedBackType">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="电子邮件" prop="email">
+                <el-input v-model="form.email" style="width: 50%;" placeholder="请输入您的Email"></el-input>
+                </el-form-item>
+                <el-form-item label="详细描述" prop="feedBackContent">
+                  <el-input type="textarea" v-model="form.feedBackContent" placeholder="请输入详细描述"></el-input>
+                </el-form-item>
+              </el-form>
+            </div>
+          
+          </div>
+  
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="feedbackClose">取 消</el-button>
+          <el-button type="primary" @click="finish">确 定</el-button>
+        </span>
+      </el-dialog>
+    </div>
+</template>
+  
+<script>
+  export default {
+    data() {
+      const isEmail = (rule, value, callback) => {
+        const mailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\.\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+        if (!this.form.email) {
+          return callback(new Error("邮箱不能为空"));
+        }
+        setTimeout(() => {
+          if (mailReg.test(value)) {
+            callback();
+          } else {
+            callback(new Error("请输入正确的邮箱格式"));
+          }
+        }, 100);
+      };
+      return {
+        form: {
+          feedBackType:'1'
+        },
+        options: [{
+          feedBackType: '1',
+            id:1,
+            label: 'BUG反馈'
+          }, {
+            feedBackType: '2',
+            id:2,
+            label: '数据纠错'
+          }, {
+            feedBackType: '3',
+            id:3,
+            label: '意见建议'
+          }],
+        feedbackVisible:false,
+        rules: {
+          feedBackType:[ { required: true, message: '请选择反馈类型', trigger: 'change' },],
+          email:[{ required: true, validator: isEmail, trigger: 'blur' },],
+          feedBackContent:[{ required: true, message: '请输入详细描述', trigger: 'blur' },],
+        }
+      }
+    },
+    computed: {},
+    mounted() { },
+    methods: {
+      open() {
+        this.feedbackVisible=true
+      },
+      finish() {
+        this.$refs.form.validate((valid) => {
+          if (valid) {
+            // console.log(this.form);
+             this.$api.addUserFeedBack(this.form).then(res => {
+               if (res.code == 200) {
+                 this.feedbackClose()
+                  this.$message.success('您的反馈已收到,让我们携手共行,共创美好未来')
+                }
+             })
+          }
+        })
+      },
+      feedbackClose() {
+        this.form.email=''
+        this.form.feedBackContent = ''
+        this.$refs.form.resetFields()
+        this.feedbackVisible=false
+      },
+    },
+  }
+  </script>
+
+<style lang="scss" scoped>
+  .head{
+    font-family: var(--fm);
+    font-weight: bold;
+    color: #5e6064;
+    font-size: 20px;
+  }
+  .content{
+    font-family: var(--fm);
+    color: #5e6064;
+    font-size: 18px;
+  }
+  .foot{
+    font-family: var(--fm);
+    font-weight: bold;
+    color: var(--color1);
+    font-size: 20px;
+  }
+</style>

+ 1 - 1
src/views/layout/components/field.vue

@@ -38,7 +38,7 @@
               <el-table-column label="操作" align="center" width="150">
                 <template slot-scope="scope">
                   <el-dropdown  split-button type="primary" size="small">
-                   <p @click="handleEdit(scope.row)">编辑</p>
+                   <span @click="handleEdit(scope.row)">编辑</span>
                    <!-- <p v-else :disabled="true">编辑</p> -->
                     <el-dropdown-menu slot="dropdown" class="text-align_center">
                       <el-dropdown-item @click.native="handleEditOption(scope.row)" v-if="[3, 4, 5, 6].indexOf(scope.row.type) !== -1 ">选项管理</el-dropdown-item>

+ 6 - 4
src/views/layout/components/guide.js

@@ -111,7 +111,7 @@ export const guide = {
             this.startGuide(title,arr,userinfo)
             
         },
-        //开始新手指引
+        //开始新手指引(title:当前路由标识,arr:需要展示的指引步骤,userinfo:用户信息)
         startGuide(title,arr,userinfo){
             this.$nextTick(()=>{
                 if(!steps[title]){
@@ -129,9 +129,11 @@ export const guide = {
                     //     drivers.destroy();
                     // },
                     onDestroyed:()=>{
-                        if(arr[userinfo.id]){
-                          arr[userinfo.id].push(title)
-                          localStorage.firstRoute = JSON.stringify(arr)  
+                        if(userinfo){
+                            if(arr[userinfo.id]){
+                                arr[userinfo.id].push(title)
+                                localStorage.firstRoute = JSON.stringify(arr)  
+                            }
                         }
                         drivers.destroy();
                     }

+ 145 - 0
src/views/layout/components/help.vue

@@ -0,0 +1,145 @@
+<template>
+  <div >
+    <div class="help" v-drag="isMove">
+        <div @click="feedback">
+            <span>
+                <i class="iconfont icon-yijianfankui"></i>
+            </span>
+            <span>意见反馈</span>
+        </div>
+        <div @click="guide">
+            <span>
+                <i class="iconfont icon-xinshouzhiyin"></i>
+            </span>
+            <span>新手指引</span>
+        </div>
+    </div>
+    <feedback ref="feedback"></feedback>
+  </div>
+</template>
+
+<script>
+import feedback from './dialog/feedback.vue';
+import { guide } from "./guide";
+export default {
+  mixins:[guide],
+  components: {
+    feedback
+  },
+  props: {},
+  data() {
+    return {
+        move:false,
+    };
+  }, 
+  //注册局部组件指令
+  directives: {
+    drag: function (el,data,vnode) {
+      let dragBox = el; //获取当前元素
+      let clientHeight = document.documentElement.clientHeight 
+      dragBox.onmousedown = e => {
+        //算出鼠标相对元素的位置
+        var start = dragBox.offsetTop
+        var height = dragBox.offsetHeight
+        var startY = e.clientY
+        document.onmousemove = e => {
+          if ( e.stopPropagation ) {
+            e.stopPropagation()
+          }
+          if ( e.preventDefault ) {
+            e.preventDefault()
+          }
+          var moveY = e.clientY - startY
+          var bottom = 20
+          if(moveY < 0){
+            bottom = clientHeight - start - height + Math.abs(moveY)
+            if(bottom - height > clientHeight - 200){
+                bottom = clientHeight - 100
+            }
+          }else{
+            bottom = clientHeight - start - height - Math.abs(moveY)
+            if(bottom < 20){
+                bottom = 20
+            }
+          }
+          dragBox.style.bottom = bottom + 'px'
+        };
+        document.onmouseup = e2 => {
+          //鼠标弹起来的时候不再移动
+          document.onmousemove = null;
+          //预防鼠标弹起来后还会循环(即预防鼠标放上去的时候还会移动)  
+          document.onmouseup = null;
+          if ( startY == e2.clientY ) {
+            data.value(true)
+          }else{
+            data.value(false)
+          }
+        };
+      };
+    }
+  },
+  
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {
+    //是否移动
+    isMove(val){
+        this.move = val
+    },
+    //意见反馈
+    feedback(){
+        if(this.move){
+            this.$refs.feedback.open()
+        }
+    },
+    //新手指引
+    guide(){
+        if(this.move){
+            //开始新手指引(title:当前路由标识,arr:需要展示的指引步骤,userinfo:用户信息)
+           this.startGuide(this.$route.meta.sign)
+        }
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.help{
+    background: white;
+    z-index: 999;
+    border:3px solid var(--color1);
+    border-right: none;
+    width: 35px;
+    height: auto;
+    white-space: nowrap;
+    border-radius: 5px 0 0 10px;
+    position: fixed;
+    right: 0;
+    bottom:20px;
+    div{
+        border-bottom: 1px solid var(--color1);
+        padding: 5px 0;
+    }
+    div:last-child{
+        border-bottom: none;
+    }
+    span{
+        color: var(--color1);
+        font-family: var(--fm);
+        font-size: 14px;
+        font-weight: bold;
+        margin-left:10px;
+        cursor: pointer;
+    }
+    i{
+        font-size: 20px;
+    }
+}
+.help:hover{
+    width: 100px;
+    i{
+        font-size: 14px;
+    }
+}
+</style>

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

@@ -26,6 +26,7 @@
         </section>
       </el-main>
     </el-container>
+    <help></help>
   </div>
 </template>
 
@@ -35,10 +36,13 @@ import UserBar from "./components/UserBar";
 import { webSocket } from "./mixins";
 import { guide } from "./components/guide";
 import contextMenu from "./components/contextMenu.vue";
+
+import help from "./components/help.vue";
 export default {
   components: {
     UserBar,
-    contextMenu
+    contextMenu,
+    help
   },
   mixins: [webSocket,guide],
   data() {

+ 1 - 1
src/views/patentMining/components/dialog/handleTask1.vue

@@ -79,7 +79,7 @@
       <span slot="footer" class="dialog-footer">
         <el-button @click="handleClose" size="small">取 消</el-button>
         <el-dropdown v-if="form.isLook" split-button type="primary" @click="submit" size="small">
-          <p>{{ btn.label }}</p>
+          <span>{{ btn.label }}</span>
           <el-dropdown-menu slot="dropdown" class="text-align_center">
             <el-dropdown-item v-for="item in btnObj" :key="item.label" @click.native="onChangeFamily(item)">{{ item.label
             }}</el-dropdown-item>

+ 2 - 2
src/views/patentMining/components/excavateTask/excavateTask.vue

@@ -37,8 +37,8 @@
               <div>
                 <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
                   @click="handleTask(scope.row)">
-                  <p v-if="scope.row.status == '已完成' || scope.row.handlePerson != userInfo.name">查 看</p>
-                  <p v-else>处 理</p>
+                  <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>

+ 1 - 1
src/views/patentMining/components/handleExamine/handleExamine.vue

@@ -40,7 +40,7 @@
               <div>
                 <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
                   @click="handleQuote(scope.row)">
-                  <p>引 用</p>
+                  <span>引 用</span>
                   <el-dropdown-menu slot="dropdown">
                     <el-dropdown-item command="1">预览</el-dropdown-item>
                     <el-dropdown-item command="2">下载</el-dropdown-item>

+ 1 - 1
src/views/patentMining/components/view/commonTable.vue

@@ -25,7 +25,7 @@
         <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>
+              <span @click="handleCommand('e', scope.row)">编辑</span>
               <el-dropdown-menu slot="dropdown" style="text-align: center;">
                 <el-dropdown-item divided class="color-red" command="1" >删除</el-dropdown-item>
               </el-dropdown-menu>

+ 1 - 1
src/views/patentMining/index.vue

@@ -11,7 +11,7 @@
                     <el-button :type="viewType === 'commonCard' ? 'primary' : ''" @click="onChange2('commonCard')" size="small">卡片</el-button>
                   </el-button-group>
                   <el-dropdown trigger="click" split-button type="primary" size="small">
-                      <p @click="handleAdd">创建项目</p>
+                      <span @click="handleAdd">创建项目</span>
                       <el-dropdown-menu slot="dropdown" class="text-align_center">
                       </el-dropdown-menu>
                   </el-dropdown>

+ 1 - 1
src/views/product/components/commodity/commodity.vue

@@ -43,7 +43,7 @@
             <div>
               <el-dropdown split-button type="primary" size="small" @click="handleCommand('0')"
                 @command="handleCommand($event)">
-                <p>删除</p>
+                <span>删除</span>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item>
                     <el-dropdown placement="left-start" @command="handleCommand($event)">

+ 1 - 1
src/views/product/components/framework/view/table.vue

@@ -22,7 +22,7 @@
         <template slot-scope="scope">
           <el-dropdown split-button type="primary" size="small" @click="handleCommand('0', scope.row)"
             @command="handleCommand($event, scope.row)">
-            <p>编 辑</p>
+            <span>编 辑</span>
             <el-dropdown-menu slot="dropdown" style="text-align:center">
               <el-dropdown-item command="1">预览图片</el-dropdown-item>
               <el-dropdown-item command="2" divided style="color:red">删 除</el-dropdown-item>

+ 1 - 1
src/views/product/components/index.vue

@@ -21,7 +21,7 @@
           </el-button-group> -->
           <div  style="margin:0 10px;">
             <el-dropdown trigger="click" split-button type="primary" size="small" >
-              <P @click="handleCommand('0')">新增类别</P>
+              <span @click="handleCommand('0')">新增类别</span>
               <el-dropdown-menu slot="dropdown" class="text-align_center">
                 <el-dropdown-item>
                   <el-dropdown trigger="hover" placement="left-start" @command="handleCommand($event)">

+ 1 - 1
src/views/product/components/view/categoryTable.vue

@@ -35,7 +35,7 @@
         <template slot-scope="scope">
           <el-dropdown split-button type="primary" size="small" @click="handleCommand('0', scope.row)"
             @command="handleCommand($event, scope.row)">
-            <p>编 辑</p>
+            <span>编 辑</span>
             <el-dropdown-menu slot="dropdown" style="text-align:center">
               <el-dropdown-item command="1">趋势图</el-dropdown-item>
               <el-dropdown-item command="2">预览图片</el-dropdown-item>

+ 1 - 1
src/views/product/components/view/productTable.vue

@@ -27,7 +27,7 @@
         <template slot-scope="scope">
           <el-dropdown split-button type="primary" size="small" @click="handleCommand('0', scope.row)"
             @command="handleCommand($event, scope.row)">
-            <p>编 辑</p>
+            <span>编 辑</span>
             <el-dropdown-menu slot="dropdown" style="text-align:center">
               <el-dropdown-item command="1">预览图片</el-dropdown-item>
               <el-dropdown-item command="2">产品架构</el-dropdown-item>

+ 29 - 25
src/views/project/components/drawer/form.vue

@@ -3,34 +3,38 @@
     <el-drawer class="custom-drawer-form" :title="title" size="800px" append-to-body :visible.sync="drawer" direction="rtl" :before-close="close" destroy-on-close>
         <el-container>
             <el-main>
-              <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
-                <el-form-item label="专题库名称" prop="name">
+              <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" label-position="left" class="demo-ruleForm">
+                <el-form-item label="专题库名称" prop="name">
                   <el-input v-model="ruleForm.name" placeholder="请输入专题库名称"></el-input>
                 </el-form-item>
                 <template>
                   <div>
-                    <el-form-item label="委托方:" prop="name" v-if="userinfo.tenantType == 1">
-                      <el-autocomplete
-                        style="width:100%"
-                        v-model="ruleForm.clientName"
-                        :fetch-suggestions="querySearch"
-                        @input="input"
-                        placeholder="请输入内容"
-                        :trigger-on-focus="false"
-                        @select="handleChange"
-                      >
-                      <el-button slot="append" icon="el-icon-search" @click="handleSelect"></el-button>
-                      </el-autocomplete>
+                    <el-form-item label="委托方" prop="name" v-if="userinfo.tenantType == 1">
+                      
+                      <mySelectButton size='large' style="width:100%" @click="handleSelect">
+                        <div slot="select" style="width:100%">
+                          <el-autocomplete
+                            style="width:100%"
+                            v-model="ruleForm.clientName"
+                            :fetch-suggestions="querySearch"
+                            @input="input"
+                            placeholder="请输入内容"
+                            :trigger-on-focus="false"
+                            @select="handleChange"
+                          >
+                          </el-autocomplete>
+                        </div>
+                      </mySelectButton>
                     </el-form-item>
-                    <el-form-item label="委托部门:" prop="name" v-else>
+                    <el-form-item label="委托部门" prop="name" v-else>
                       <mySelectTree style="width:100%" v-model="ruleForm.departmentId" :options="departmentList"></mySelectTree>
                     </el-form-item>
                   </div>
                 </template>
-                <el-form-item label="负责部门" prop="departmentId">
+                <el-form-item label="负责部门" prop="departmentId">
                   <mySelectTree style="width:100%" v-model="ruleForm.departmentId" :options="departmentList"></mySelectTree>
                 </el-form-item>
-                <el-form-item label="负责人" prop="person">
+                <el-form-item label="负责人" prop="person">
                   <el-select style="width:100%" v-model="ruleForm.personnelId" filterable remote clearable placeholder="请选择" :loading="loading" v-SelectLazyLoading="lazyLoading" :remote-method="remoteMethod">
                     <el-option
                       v-for="item in personnelList"
@@ -41,12 +45,12 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
-                <el-form-item label="应用场景" prop="scenarioList">
+                <el-form-item label="应用场景" prop="scenarioList">
                   <el-checkbox-group v-model="ruleForm.scenarioList" @change="onChange">
                     <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-form-item label="调查类型" prop="typeList" v-if="show==true">
+                <el-form-item label="调查类型" prop="typeList" v-if="show==true">
                   <el-checkbox-group v-model="ruleForm.typeList">
                     <template v-for="(item, index) in dictAssociateData">
                       <el-checkbox :label="parseInt(item.dictChildValue)">
@@ -65,7 +69,7 @@
                     </div>
                   </el-checkbox-group>
                 </el-form-item>
-                <el-form-item label="产品类别/产品" prop="productId" v-if="$permission('/workspace/product')">
+                <el-form-item label="产品类别/产品" prop="productId" v-if="$permission('/workspace/product')">
                   <div>
                     <mySelectButton size='large' style="width:100%">
                       <div slot="select" style="width:100%">
@@ -76,24 +80,24 @@
                 </el-form-item>
                 <el-row :gutter="24">
                   <el-col :span="12">
-                    <el-form-item label="合同号" prop="contractNo">
+                    <el-form-item label="合同号" prop="contractNo">
                       <el-input v-model="ruleForm.contractNo" placeholder="请输入合同号"></el-input>
                     </el-form-item>
                   </el-col>
                   <el-col :span="12">
-                    <el-form-item label="内部案卷" prop="innerFile">
+                    <el-form-item label="内部案卷" prop="innerFile">
                       <el-input v-model="ruleForm.innerFile" placeholder="请输入内部案卷"></el-input>
                     </el-form-item>
                   </el-col>
                 </el-row>
                 <el-row :gutter="24">
                   <el-col :span="12">
-                    <el-form-item label="委案日" prop="caseDate">
+                    <el-form-item label="委案日" prop="caseDate">
                       <el-date-picker v-model="ruleForm.caseDate" value-format="yyyy-MM-dd" type="date" placeholder="请选择委案日" class="width_100"></el-date-picker>
                     </el-form-item>
                   </el-col>
                   <el-col :span="12">
-                    <el-form-item label="处理状态" prop="status">
+                    <el-form-item label="处理状态" prop="status">
                       <el-select v-model="ruleForm.status" placeholder="请输入处理状态" class="width_100">
                         <el-option value="0" label="处理中"></el-option>
                         <el-option value="1" label="已完成"></el-option>
@@ -101,7 +105,7 @@
                     </el-form-item>
                   </el-col>
                 </el-row>
-                <el-form-item label="备注" prop="remark">
+                <el-form-item label="备注" prop="remark">
                   <el-input v-model="ruleForm.remark" placeholder="请输入备注" type="textarea"></el-input>
                 </el-form-item>
               </el-form>

+ 1 - 1
src/views/project/components/view/table.vue

@@ -21,7 +21,7 @@
           <template slot-scope="scope">
             <el-dropdown split-button type="primary" size="small" @click="handleCommand('e',scope.row)"
               @command="handleCommand($event,scope.row)">
-              <p>编 辑</p>
+              <span>编 辑</span>
               <el-dropdown-menu slot="dropdown" style="text-align:center">
                 <el-dropdown-item>
                   <el-dropdown @command="handleCommand($event,scope.row)" placement="left-start">

+ 1 - 1
src/views/project/index.vue

@@ -29,7 +29,7 @@
                   <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>
+                    <span @click="handleAdd" v-disabled="!$permission('/workspace/project/add')">新增专题库</span>
                     <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>

+ 2 - 2
src/views/report/components/view/table.vue

@@ -20,8 +20,8 @@
         <el-table-column v-if="['首页'].indexOf(isOperate) == -1" label="操作" align="center" width="150px">
         <template slot-scope="scope">
           <el-dropdown @command="handleCommand($event, scope.row)" split-button type="primary" size="small"  @click="handleCommand('e',scope.row)">
-            <p v-if="$reportPermission(scope.row.id,[0,1])">编辑</p>
-            <p v-else>查看</p>
+            <span v-if="$reportPermission(scope.row.id,[0,1])">编辑</span>
+            <span v-else>查看</span>
             <el-dropdown-menu slot="dropdown" class="text-align_center">
               <el-dropdown-item command="0" v-if="$reportPermission(scope.row.id,[0,1])">分享</el-dropdown-item>
               <el-dropdown-item command="1" v-if="[2,3].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])">导出报告</el-dropdown-item>