@scenetechnology/cj_iview_table 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20577,7 +20577,7 @@ if (typeof window !== 'undefined') {
20577
20577
  // Indicate to webpack that this file can be concatenated
20578
20578
  /* harmony default export */ var setPublicPath = (null);
20579
20579
 
20580
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=template&id=5dc43923&scoped=true
20580
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=template&id=5eabbf2c&scoped=true
20581
20581
  var render = function render() {
20582
20582
  var _vm = this,
20583
20583
  _c = _vm._self._c;
@@ -20970,7 +20970,7 @@ var render = function render() {
20970
20970
  }
20971
20971
  };
20972
20972
  })], null, true)
20973
- }, [_vm._v("7 ")])], 1), [_c('div', {
20973
+ })], 1), [_c('div', {
20974
20974
  staticClass: "footer"
20975
20975
  }, [_c('Page', {
20976
20976
  attrs: {
@@ -27846,15 +27846,74 @@ var OrgPicker_component = normalizeComponent(
27846
27846
  return {
27847
27847
  ...column,
27848
27848
  render: (h, params) => {
27849
+ // 如果列有slot属性,使用插槽内容
27850
+ if (column.slot) {
27851
+ const slotContent = this.$scopedSlots[column.slot] ? this.$scopedSlots[column.slot]({
27852
+ row: params.row
27853
+ }) : h('span', params.row[column.key]);
27854
+ return h('Tooltip', {
27855
+ props: {
27856
+ content: '',
27857
+ maxWidth: 800,
27858
+ theme: 'light',
27859
+ transfer: true,
27860
+ placement: params.row._index >= this.dataSource.length - 1 ? 'top' : params.row._index < 5 ? 'bottom' : 'top'
27861
+ },
27862
+ style: {
27863
+ width: '100%'
27864
+ },
27865
+ scopedSlots: {
27866
+ default: () => [h('div', {
27867
+ style: {
27868
+ overflow: 'hidden',
27869
+ textOverflow: 'ellipsis',
27870
+ whiteSpace: 'nowrap',
27871
+ minWidth: '0',
27872
+ cursor: 'pointer',
27873
+ width: '100%'
27874
+ }
27875
+ }, [slotContent])],
27876
+ content: () => {
27877
+ const value = params.row[column.key];
27878
+ // 判断是否为JSON字符串
27879
+ if (this.isJsonString(value)) {
27880
+ return h('json-viewer', {
27881
+ props: {
27882
+ value: JSON.parse(value),
27883
+ expandDepth: 999,
27884
+ copyable: true,
27885
+ sort: true,
27886
+ boxed: true,
27887
+ theme: 'light',
27888
+ collapsed: true
27889
+ },
27890
+ style: {
27891
+ overflowY: 'auto',
27892
+ padding: '8px',
27893
+ boxSizing: 'border-box',
27894
+ width: '800px',
27895
+ minWidth: '800px',
27896
+ maxHeight: '400px'
27897
+ },
27898
+ class: 'custom-json-viewer'
27899
+ });
27900
+ }
27901
+ return h('div', value);
27902
+ }
27903
+ }
27904
+ });
27905
+ }
27906
+
27849
27907
  // 如果 key 是 action,直接返回渲染内容
27850
27908
  if (column.title === '操作') {
27851
27909
  return originalRender ? originalRender(h, params) : h('span', params.row[column.key]);
27852
27910
  }
27911
+
27853
27912
  // 获取单元格内容
27854
27913
  const cellValue = params.row[column.key];
27855
27914
  // 获取当前列的宽度(如果未设置宽度,则使用默认值)
27856
27915
  const columnWidth = params.column.width || params.column.minWidth;
27857
- const maxWidth = columnWidth * 0.85; // 计算 70% 的宽度
27916
+ const maxWidth = columnWidth * 0.85; // 计算 85% 的宽度
27858
27917
 
27859
27918
  // 如果有自定义 render 函数,先执行它
27860
27919
  let renderedContent;
@@ -27868,7 +27927,8 @@ var OrgPicker_component = normalizeComponent(
27868
27927
  maxWidth: `${maxWidth}px`,
27869
27928
  overflow: 'hidden',
27870
27929
  textOverflow: 'ellipsis',
27871
- whiteSpace: 'nowrap'
27930
+ whiteSpace: 'nowrap',
27931
+ width: '100%'
27872
27932
  }
27873
27933
  }, cellValue);
27874
27934
  }
@@ -27886,30 +27946,44 @@ var OrgPicker_component = normalizeComponent(
27886
27946
  width: '100%'
27887
27947
  },
27888
27948
  scopedSlots: {
27889
- // 使用 scopedSlots 动态生成 Tooltip 的内容
27890
27949
  default: () => [h('div', {
27891
27950
  style: {
27892
27951
  overflow: 'hidden',
27893
27952
  textOverflow: 'ellipsis',
27894
27953
  whiteSpace: 'nowrap',
27895
27954
  minWidth: '0',
27896
- // 确保宽度被正确限制
27897
- cursor: 'pointer'
27955
+ cursor: 'pointer',
27956
+ width: '100%'
27898
27957
  }
27899
- }, [renderedContent] // 显示渲染后的内容
27900
- )],
27901
- content: () => h('div', {
27902
- style: {
27903
- maxHeight: '200px',
27904
- // 设置 Tooltip 内容区域的最大高度
27905
- overflowY: 'auto',
27906
- // 超出高度时显示滚动条
27907
- padding: '8px',
27908
- // 添加内边距
27909
- boxSizing: 'border-box' // 确保 padding 不影响高度计算
27958
+ }, [renderedContent])],
27959
+ content: () => {
27960
+ const value = cellValue;
27961
+ // 判断是否为JSON字符串
27962
+ if (this.isJsonString(value)) {
27963
+ return h('json-viewer', {
27964
+ props: {
27965
+ value: JSON.parse(value),
27966
+ expandDepth: 999,
27967
+ expanded: true,
27968
+ copyable: true,
27969
+ sort: true,
27970
+ boxed: true,
27971
+ theme: 'light',
27972
+ collapsed: true
27973
+ },
27974
+ style: {
27975
+ overflowY: 'auto',
27976
+ padding: '8px',
27977
+ boxSizing: 'border-box',
27978
+ width: '800px',
27979
+ minWidth: '800px',
27980
+ maxHeight: '400px'
27981
+ },
27982
+ class: 'custom-json-viewer'
27983
+ });
27910
27984
  }
27911
- }, [renderedContent] // Tooltip 的内容是渲染后的内容
27912
- )
27985
+ return h('div', value);
27986
+ }
27913
27987
  }
27914
27988
  });
27915
27989
  }
@@ -27950,6 +28024,7 @@ var OrgPicker_component = normalizeComponent(
27950
28024
  return [];
27951
28025
  },
27952
28026
  tableSlot() {
28027
+ console.log('tableSlot---', this.columns.filter(item => item.slot));
27953
28028
  return this.columns.filter(item => item.slot);
27954
28029
  },
27955
28030
  /**
@@ -28027,6 +28102,15 @@ var OrgPicker_component = normalizeComponent(
28027
28102
  }
28028
28103
  },
28029
28104
  methods: {
28105
+ isJsonString(str) {
28106
+ if (typeof str !== 'string') return false;
28107
+ try {
28108
+ const result = JSON.parse(str);
28109
+ return typeof result === 'object' && result !== null;
28110
+ } catch (e) {
28111
+ return false;
28112
+ }
28113
+ },
28030
28114
  // 添加计算补充项数量的方法
28031
28115
  calculateSupplementNum(columnsLength, spanValue) {
28032
28116
  console.log(this.filterGridSpan);
@@ -28712,15 +28796,15 @@ var OrgPicker_component = normalizeComponent(
28712
28796
  });
28713
28797
  ;// ./packages/components/index.vue?vue&type=script&lang=js
28714
28798
  /* harmony default export */ var packages_componentsvue_type_script_lang_js = (componentsvue_type_script_lang_js);
28715
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=0&id=5dc43923&prod&scoped=true&lang=less
28799
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=0&id=5eabbf2c&prod&scoped=true&lang=less
28716
28800
  // extracted by mini-css-extract-plugin
28717
28801
 
28718
- ;// ./packages/components/index.vue?vue&type=style&index=0&id=5dc43923&prod&scoped=true&lang=less
28802
+ ;// ./packages/components/index.vue?vue&type=style&index=0&id=5eabbf2c&prod&scoped=true&lang=less
28719
28803
 
28720
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=1&id=5dc43923&prod&lang=css
28804
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=1&id=5eabbf2c&prod&lang=css
28721
28805
  // extracted by mini-css-extract-plugin
28722
28806
 
28723
- ;// ./packages/components/index.vue?vue&type=style&index=1&id=5dc43923&prod&lang=css
28807
+ ;// ./packages/components/index.vue?vue&type=style&index=1&id=5eabbf2c&prod&lang=css
28724
28808
 
28725
28809
  ;// ./packages/components/index.vue
28726
28810
 
@@ -28738,7 +28822,7 @@ var components_component = normalizeComponent(
28738
28822
  staticRenderFns,
28739
28823
  false,
28740
28824
  null,
28741
- "5dc43923",
28825
+ "5eabbf2c",
28742
28826
  null
28743
28827
 
28744
28828
  )