Ver Fonte

统计栏位分类统计文字显示不全以及分类统计筛选二级节点在检索式中不显示问题

zhuliu há 1 ano atrás
pai
commit
14aa4ae2f1

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

@@ -346,7 +346,12 @@ export default {
           } else {
             var checkName = []
             if (item.type == 'Array' || item.type == 'tree' || item.type == 'DateTime') {
-              checkName = item.options.filter(item2 => item.check.includes(item2.id || item2.name)).map(item3 => item3.name);
+              if(item.type == 'tree'){
+                checkName = item.checkData.map(item=>item.name)
+              }else{
+                checkName = item.options.filter(item2 => item.check.includes(item2.id || item2.name)).map(item3 => item3.name);
+              }
+              
             }
             var obj = {
               value: item.value,

+ 2 - 2
src/views/report/components/patentList/components/customFields/components/mixins/index.js

@@ -12,8 +12,8 @@ export default {
 
   },
   methods: {
-    checkData(value,row,checked) {
-      this.$emit('checkData',value,row,checked)
+    checkData(value,row,checked,name) {
+      this.$emit('checkData',value,row,checked,name)
     },
     // 点击面板
     handleChange(data, type) {

+ 20 - 7
src/views/report/components/patentList/components/customFields/components/tab2.vue

@@ -18,12 +18,15 @@
                 check-strictly default-expand-all :props="{ children: 'child', label: 'name' }">
                 <span class="custom-tree-node" slot-scope="{ node, data }">
                   <el-checkbox-group v-model="item.check">
-                    <el-checkbox :label="data.id" @change="(val)=>checkData(data.id,item,val)">
-                      <!-- {{ data.name }}({{ getCount(item, data.id) }}) -->
-                      <myTooltip :content="data.name + '('+ getCount(item, data.id) +')'" placement="top" effect="light">
-                        <span class="source-checkbox-label text noWrap">{{ data.name }}({{ getCount(item, data.id) }})</span>
-                      </myTooltip>
-                    </el-checkbox>
+                    <div class="source-checkbox">
+                      <el-checkbox :label="data.id" @change="(val)=>checkData(data.id,item,val,data.name)">
+                        <!-- {{ data.name }}({{ getCount(item, data.id) }}) -->
+                        <myTooltip :content="data.name + '('+ getCount(item, data.id) +')'" placement="top" effect="light">
+                          <span class="source-checkbox-label text noWrap">{{ data.name }}({{ getCount(item, data.id) }})</span>
+                        </myTooltip>
+                      </el-checkbox>
+                    </div>
+                    
                   </el-checkbox-group>
                 </span>
               </el-tree>
@@ -96,4 +99,14 @@ export default {
 }
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+  .text {
+    /* 超出10个字隐藏,之所以设置11em是因为省略号占一个位置 */
+    max-width: 11em;
+    overflow: hidden;
+    /* 显示省略符号来代表被修剪的文本。 */
+    text-overflow: ellipsis;
+    /* 文本不换行 */
+    white-space: nowrap;
+  }
+</style>

+ 10 - 8
src/views/report/components/patentList/components/customFields/index.vue

@@ -566,17 +566,19 @@ export default {
       this.$refs.fieldsVue.open(data)
     },
     //获取子组件选择的值
-    checkData(value,row,checked) {
+    checkData(value,row,checked,name) {
       if (checked) {
         if (!row.checkData) {
           row.checkData=[]
         }
-        row.checkData.push(
-          {
-            field: (row.children && row.children.length>0)?row.select:row.value,
-            value:value
-          }
-        )
+        var obj = {
+          field: (row.children && row.children.length>0)?row.select:row.value,
+          value:value
+        }
+        if(name){
+          obj.name = name
+        }
+        row.checkData.push(obj)
       } else {
         var index = row.checkData.findIndex(item => {
           return item.field == ((row.children && row.children.length>0)?row.select:row.value) && item.value == value
@@ -711,7 +713,7 @@ export default {
 }
 
 .source-checkbox {
-  margin-top: 10px;
+  // margin-top: 10px;
 
   span {
     display: inline-block;

+ 5 - 1
src/views/report/components/patentList/components/index.vue

@@ -225,7 +225,11 @@ export default {
           } else {
             var checkName = []
             if (item.type == 'Array' || item.type == 'tree' || item.type == 'DateTime') {
-              checkName = item.options.filter(item2 => item.check.includes(item2.id || item2.name)).map(item3 => item3.name); 
+              if(item.type == 'tree'){
+                checkName = item.checkData.map(item=>item.name)
+              }else{
+                checkName = item.options.filter(item2 => item.check.includes(item2.id || item2.name)).map(item3 => item3.name);
+              }
             }
             var obj = {
               value: item.value,