cnhis-design-vue 3.2.1-beta.1 → 3.2.1-beta.4
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.
- package/es/components/field-set/index.d.ts +1 -1
- package/es/components/field-set/src/FieldColor.vue.d.ts +3 -2
- package/es/components/field-set/src/FieldSet.vue.d.ts +2 -1
- package/es/components/field-set/src/Index.vue.d.ts +1 -1
- package/es/components/field-set/src/Index.vue2.js +1 -1
- package/es/components/field-set/src/TableStyle.vue.d.ts +4896 -0
- package/es/components/field-set/src/TableStyle.vue.js +1 -0
- package/es/components/field-set/src/TableStyle.vue2.js +1 -0
- package/es/components/field-set/src/components/Row.vue.d.ts +2 -1
- package/es/components/field-set/src/components/Row.vue2.js +1 -1
- package/es/components/field-set/src/components/edit-dialog.vue.d.ts +1 -1
- package/es/components/field-set/src/components/table-demo.vue.d.ts +4817 -0
- package/es/components/field-set/src/components/table-demo.vue.js +1 -0
- package/es/components/field-set/src/components/table-demo.vue2.js +1 -0
- package/es/components/field-set/src/types/index.d.ts +1 -1
- package/es/components/field-set/style/index.css +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/index.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/renderer.d.ts +3 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/renderer.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/types.d.ts +11 -7
- package/es/components/iho-table/src/plugins/verticalTablePlugin/utils.d.ts +3 -4
- package/es/components/iho-table/src/plugins/verticalTablePlugin/utils.js +1 -1
- package/es/components/index.css +1 -1
- package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
- package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +0 -3
- package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
- package/es/components/table-export-field/style/index.css +1 -1
- package/es/components/table-export-field/style/table-export-field-iconfont.ttf +0 -0
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/index.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./table-demo.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var o=r(e,[["__file","table-demo.vue"]]);export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as t,openBlock as a,createElementBlock as e,createVNode as l,unref as o,mergeProps as m}from"vue";import r from"../../../iho-table/index.js";import{range as s}from"lodash-es";const i={class:"table-bg"};var n=t({__name:"table-demo",setup(t){const n=s(3).map((t=>({title:"表头名称",columnName:`title${t}`}))),d=s(2).map((t=>{const a={};return n.forEach((t=>{a[t.columnName]="内容"})),a}));return(t,s)=>(a(),e("div",i,[l(o(r),m({"field-list":o(n),"table-data":o(d)},t.$attrs),null,16,["field-list","table-data"])]))}});export{n as default};
|
|
@@ -30,7 +30,7 @@ export declare type FieldSetColumnItem = {
|
|
|
30
30
|
contentRender?: (column: AnyObject, row: AnyObject) => VNode | String;
|
|
31
31
|
[key: string]: any;
|
|
32
32
|
};
|
|
33
|
-
export declare type FieldSetTab = 'field' | 'fieldColor' | 'highlightRow';
|
|
33
|
+
export declare type FieldSetTab = 'field' | 'fieldColor' | 'highlightRow' | 'tableStyle';
|
|
34
34
|
export declare type ColorSetItem = {
|
|
35
35
|
name: string;
|
|
36
36
|
columnName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.c-field-set{height:100%;width:100%}.c-field-set__color-picker .n-color-picker-trigger__value{display:none}.c-field-set .main-wrapper{display:flex;flex-flow:column nowrap;height:100%;width:100%}.c-field-set .main-wrapper__search-wrapper.n-input{margin-bottom:12px;width:50%}.c-field-set .main-wrapper .item{background:#fff}.c-field-set .main-wrapper .item:active{background:#f2f2f2;box-shadow:0 0 10px 0 #d5d5d5}.c-field-set .main-wrapper .item:focus{background-color:#f2f2f2}.c-field-set .main-wrapper .item.disabled{cursor:not-allowed}.c-field-set .main-wrapper .item .row{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;height:var(--row-height);padding:5px 0}.c-field-set .main-wrapper .table-cell{box-sizing:border-box;color:inherit;display:inline-block;padding:0 5px}.c-field-set .main-wrapper .table-cell .highlight{background-color:var(--primary-color);color:#fff}.c-field-set .main-wrapper .table-cell .c-field-set__color-picker{display:block}.c-field-set .main-wrapper__table-header{align-items:center;background:#f2f2f4;border:1px solid #f2f2f2;display:flex;height:52px}.c-field-set .main-wrapper__table-header .n-checkbox.n-checkbox--disabled .n-checkbox__label{color:var(--n-text-color)}.c-field-set .main-wrapper__table-body{flex:1;overflow-y:auto}.c-field-set .main-wrapper__table-footer{border-top:1px solid #d5d5d5;padding:12px 0}.c-field-set__color-block{display:inline-block;margin-left:20px;position:relative}.c-field-set__color-block:before{background-color:var(--color);border-radius:2px;content:"";height:14px;left:-20px;position:absolute;top:3px;width:14px}.c-field-set__space{width:100%}.c-field-set__space>div:first-child{width:80%}.c-field-set__space .filter-btn{color:var(--c-primary-color);cursor:pointer}.c-field-set__condition .opt-btn{cursor:pointer;display:inline-flex}.c-field-set__condition .condition-wrapper__item{align-items:center;display:flex;margin-top:10px}.c-field-set__condition .condition-wrapper__item .item-index{margin-right:10px}.c-field-set__condition .condition-wrapper__item>.n-date-picker,.c-field-set__condition .condition-wrapper__item>.n-input,.c-field-set__condition .condition-wrapper__item>.n-input-number,.c-field-set__condition .condition-wrapper__item>.n-select{margin-right:10px;width:20%}.c-field-set__condition .sql-expression-wrapper{margin-top:10px}
|
|
1
|
+
.c-field-set{height:100%;width:100%}.c-field-set__color-picker .n-color-picker-trigger__value{display:none}.c-field-set .main-wrapper{display:flex;flex-flow:column nowrap;height:100%;width:100%}.c-field-set .main-wrapper__search-wrapper.n-input{margin-bottom:12px;width:50%}.c-field-set .main-wrapper .item{background:#fff}.c-field-set .main-wrapper .item:active{background:#f2f2f2;box-shadow:0 0 10px 0 #d5d5d5}.c-field-set .main-wrapper .item:focus{background-color:#f2f2f2}.c-field-set .main-wrapper .item.disabled{cursor:not-allowed}.c-field-set .main-wrapper .item .row{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;height:var(--row-height);padding:5px 0}.c-field-set .main-wrapper .table-cell{box-sizing:border-box;color:inherit;display:inline-block;padding:0 5px}.c-field-set .main-wrapper .table-cell .highlight{background-color:var(--primary-color);color:#fff}.c-field-set .main-wrapper .table-cell .c-field-set__color-picker{display:block}.c-field-set .main-wrapper__table-header{align-items:center;background:#f2f2f4;border:1px solid #f2f2f2;display:flex;height:52px}.c-field-set .main-wrapper__table-header .n-checkbox.n-checkbox--disabled .n-checkbox__label{color:var(--n-text-color)}.c-field-set .main-wrapper__table-body{flex:1;overflow-y:auto}.c-field-set .main-wrapper__table-footer{border-top:1px solid #d5d5d5;padding:12px 0}.c-field-set .main-wrapper .set-item{padding:10px 0}.c-field-set .main-wrapper .set-item.table-item{border-top:1px solid #e8e8e8;width:50%}.c-field-set .main-wrapper .set-item.table-item h4{font-size:16px;font-weight:400;margin-bottom:12px}.c-field-set .main-wrapper .set-item.table-item .table-style{background:#e5e5e5;border:2px solid #cfcfcf;border-radius:4px;cursor:pointer;margin-bottom:10px;padding:20px 0 0}.c-field-set .main-wrapper .set-item.table-item .table-style .table-bg{background:#fff;border-radius:5px;margin:0 20px 20px;padding:10px}.c-field-set .main-wrapper .set-item.table-item .table-style__desc{align-items:center;background:#fff;display:flex;padding:10px}.c-field-set .main-wrapper .set-item.table-item .table-style__desc .n-icon{color:var(--c-primary-color);font-size:20px}.c-field-set .main-wrapper .set-item.table-item .table-style__desc .circle{border:1px solid #d5d5d5;border-radius:50%;display:inline-block;height:18px;width:18px}.c-field-set .main-wrapper .set-item.table-item .table-style__desc span{margin-left:5px}.c-field-set .main-wrapper .set-item.table-item .table-style.active{background:#e2ebfa;border:2px solid var(--c-primary-color)}.c-field-set__color-block{display:inline-block;margin-left:20px;position:relative}.c-field-set__color-block:before{background-color:var(--color);border-radius:2px;content:"";height:14px;left:-20px;position:absolute;top:3px;width:14px}.c-field-set__space{width:100%}.c-field-set__space>div:first-child{width:80%}.c-field-set__space .filter-btn{color:var(--c-primary-color);cursor:pointer}.c-field-set__condition .opt-btn{cursor:pointer;display:inline-flex}.c-field-set__condition .condition-wrapper__item{align-items:center;display:flex;margin-top:10px}.c-field-set__condition .condition-wrapper__item .item-index{margin-right:10px}.c-field-set__condition .condition-wrapper__item>.n-date-picker,.c-field-set__condition .condition-wrapper__item>.n-input,.c-field-set__condition .condition-wrapper__item>.n-input-number,.c-field-set__condition .condition-wrapper__item>.n-select{margin-right:10px;width:20%}.c-field-set__condition .sql-expression-wrapper{margin-top:10px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{findAncestor as e}from"../../../../../shared/utils/index.js";import{pick as r,property as o,isArray as t,isFunction as n}from"lodash-es";import{onBeforeUnmount as i,unref as l}from"vue";import"../../../index.js";import{LOWEST_PRIORITY as a,WIDGET_TYPE as s}from"../../constants/index.js";import{useUUIDMap as u}from"../../utils/index.js";import{VERTICAL_CELL_TYPE as d}from"./constants.js";import{renderHeader as c,renderSlot as f}from"./renderer.js";import{isVerticalTable as g,isVerticalHeader as m,getSpanInfo as p,getHeaderDepthByField as v,createVerticalFieldList as b,getFieldListDepth as h,bindHeaderInfoAndFlatten as w,isVerticalBody as C}from"./utils.js";import{defineTablePlugin as D}from"../../hooks/useTablePlugin.js";const j=["RADIO","SWITCH"];function x(){const x="verticalTablePlugin",{getItemFromUUID:R,removeItemFromUUID:k}=u((()=>({})));return D({name:x,vxe(e){function r(r){return(o,t)=>{var i,l;const{row:a,column:u}=t;if(m(u.field))return c(a,u);const{originalField:{editRender:d={},slots:g={}}={}}=a;if(n(g[r]))return f(g[r],a,u,t);const p=d.name||s.DEFAULT,v=e.renderer.get(p);return v?"default"===r?null==(i=v.renderCell)?void 0:i.call(v,d,t):null==(l=v.renderEdit)?void 0:l.call(v,d,t):{}}}e.renderer.add(d,{renderCell:r("default"),renderEdit:r("edit")})},apply(n){n.configHooks.config.tap({name:x,stage:a},(t=>{if(!t.uuid||!g(t))return t;const{uuid:n}=t,i=R(n);return i.originalTableConfig=t,Reflect.set(window,"__state",i),{uuid:n,showHeader:!1,...r(t,["border","height","verticalConfig","showSeq","size","rowGroupSetting","keyboardConfig"]),cellClassName({column:e}){const r=m(e.field);return{"vxe-header--column":r,"vxe-table--header":r,[e.field]:!0}},cellStyle({column:e,row:r}){const o={};if(p(r,e).colspan>1&&Object.assign(o,{textAlign:"center"}),!m(e.field)){const r=v(e.field),{originalData:t=[]}=i;t[r]===i.hoveringRow&&Object.assign(o,{backgroundColor:"var(--c-hover-color)"}),t[r]===i.currentRow&&Object.assign(o,{backgroundColor:"var(--c-primary-color-opacity2)"})}return o},spanMethod:({row:e,column:r})=>p(e,r),editConfig:{...t.editConfig,beforeEditMethod({row:e,column:r}){var o;const{originalField:t={}}=e;if(m(r.field))return!1;const{editRender:{name:n=s.DEFAULT}={}}=t;return!Object.values(s).concat(j).includes(n)&&(!(null==(o=t.slots)?void 0:o.default)||!!t.slots.edit)}},onCellClick({column:e}){if(m(e.field))return;const{originalData:r=[]}=i,t=r[v(e.field)];i.currentRow=!1!==o("originalTableConfig.rowConfig.clickToCancel")(i)&&i.currentRow===t?null:t},onMousemove(r){var o,t;const n=e(r.target,(e=>"TD"===e.tagName));if(!n)return;const[,l,a]=n.className.match(/(body|header)_(\d+)/)||[];if("body"!==l)return i.hoveringRow=null;i.hoveringRow=null!=(t=null==(o=i.originalData)?void 0:o[Number(a)])?t:null},onMouseleave(){i.hoveringRow=null}}})),n.fieldHooks.fieldList.tap({name:x,stage:a},((e,r,{globProps:o})=>{const{uuid:n}=r;if(!n||!g(r))return e;const i=R(n);return i?(i.originalFieldList=e,t(o.tableData)?i.verticalFieldList=b(o.tableData,i.headerDepth=h(e)):[]):e})),n.dataHooks.dataList.tap({name:x,stage:a},((e,r)=>{const{uuid:o}=r;if(!o||!g(r))return e;const t=R(o);if(!t)return e;t.originalData=e;const{originalFieldList:n=[],headerDepth:i=0}=t;return t.verticalData=w(n,i).map((r=>function(e,r){return new Proxy({},{get(o,t){var n;if("originalField"===t)return e;if("originalData"===t)return r;if(m(t))return e[t];if(C(t)){const o=v(t);return"seq"===e.type?o+1:null==(n=r[o])?void 0:n[e.field]}},set(o,t,n){if(!m(t)){const o=v(t);o>=0&&r[o]&&(r[o][e.field]=n)}return!0}})}(r,e)))})),n.setupHooks.setup.tap(x,(e=>{i((()=>{const{uuid:r}=l(e)||{};r&&k(r)}))})),n.exposeHooks.expose.tap(x,(e=>Object.assign(e,{verticalTable:{insertRow(){}}})))}})}export{x as verticalTablePlugin};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import { AnyObject } from '../../../../../shared/types';
|
|
1
|
+
import { AnyFn, AnyObject } from '../../../../../shared/types';
|
|
2
2
|
import { VxeTableDefines } from 'vxe-table';
|
|
3
|
+
import { VxeGlobalRendererHandles } from 'vxe-table/types/v-x-e-table/renderer';
|
|
3
4
|
export declare function renderHeader(row: AnyObject, column: VxeTableDefines.ColumnInfo): any;
|
|
5
|
+
export declare function renderSlot(fn: AnyFn, row: AnyObject, column: VxeTableDefines.ColumnInfo, payload: VxeGlobalRendererHandles.RenderCellParams): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
import{property as o}from"lodash-es";import{getHeaderDepthByField as n}from"./utils.js";function r(o,n){return o[n.field]}function e(r,e,i,l){const t=n(i.field);return r({$table:l.$table,row:o(`originalData.${t}`)(e),rowIndex:t,$rowIndex:t,column:o("originalField")(e),columnIndex:l.rowIndex,$columnIndex:l.rowIndex})}export{r as renderHeader,e as renderSlot};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { AnyObject } from '../../../../../shared/types';
|
|
2
|
-
import { IhoTableFieldItem } from '../../../../../components/iho-table';
|
|
3
|
-
export declare type IhoTableVerticalState = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { IhoTableConfig, IhoTableFieldItem } from '../../../../../components/iho-table';
|
|
3
|
+
export declare type IhoTableVerticalState = Partial<{
|
|
4
|
+
originalTableConfig: IhoTableConfig;
|
|
5
|
+
originalFieldList: IhoTableFieldItem[];
|
|
6
|
+
originalData: AnyObject[];
|
|
7
|
+
verticalFieldList: IhoTableFieldItem[];
|
|
8
|
+
verticalData: AnyObject[];
|
|
9
|
+
headerDepth: number;
|
|
10
|
+
currentRow: AnyObject | null;
|
|
11
|
+
hoveringRow: AnyObject | null;
|
|
12
|
+
}>;
|
|
@@ -3,11 +3,10 @@ import { VxeTableDefines } from 'vxe-table';
|
|
|
3
3
|
import { IhoTableConfig, IhoTableFieldItem } from '../../../../../components/iho-table';
|
|
4
4
|
export declare function isVerticalTable(tableConfig: IhoTableConfig): boolean;
|
|
5
5
|
export declare function getFieldListDepth(fieldList: IhoTableFieldItem[]): number;
|
|
6
|
-
export declare function isVerticalHeader(
|
|
7
|
-
export declare function isVerticalBody(
|
|
8
|
-
export declare function getHeaderDepthByField(
|
|
6
|
+
export declare function isVerticalHeader(field: string): boolean;
|
|
7
|
+
export declare function isVerticalBody(field: string): boolean;
|
|
8
|
+
export declare function getHeaderDepthByField(field: string): number;
|
|
9
9
|
export declare function bindHeaderInfoAndFlatten(fieldList: IhoTableFieldItem[], depth: number): IhoTableFieldItem[];
|
|
10
|
-
export declare function pickHeaderInfo(fieldItem: IhoTableFieldItem): Pick<IhoTableFieldItem, string>;
|
|
11
10
|
export declare function getSpanInfo(row: AnyObject, column: VxeTableDefines.ColumnInfo): {
|
|
12
11
|
rowspan: any;
|
|
13
12
|
colspan: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{traverse as
|
|
1
|
+
import{traverse as n}from"../../../../../shared/utils/index.js";import{isString as e,range as r}from"lodash-es";import{VERTICAL_CELL_TYPE as t}from"./constants.js";function i(n){var e;return!!(null==(e=n.verticalConfig)?void 0:e.enable)}function o(n){let e=0;return function n(r,t=0){r.forEach((r=>{r.children?n(r.children,t+1):e=Math.max(e,t)}))}(n),e}function a(n){return!!e(n)&&n.startsWith("header_")}function l(n){return!!e(n)&&n.startsWith("body_")}function c(n){var r;return e(n)?+(null!=(r=n.split("_")[1])?r:0):0}function u(e,t){const i=[];return n(e,((n,e,a)=>{n.parent=a,n.children||(!function(n,e){let t=n,i=e;if(!n.parent)return n[`header_${e}`]=n.title,void r(e+1).forEach((r=>{n[`header_${r}_colspan`]=r===e?e+1:0,n[`header_${r}_rowspan`]=r===e?1:0}));for(;t;)n[`header_${i}`]=t.title,n[`header_${i}_rowspan`]=o(t),n[`header_${i}_colspan`]=1,i--,t=t.parent}(n,t),i.push(n))})),i.forEach(((n,e)=>{const r=i[e-1];r&&Object.entries(n).forEach((([e,t])=>{e.match(/^header_(\d+)$/)&&t===r[e]&&(n[`${e}_colspan`]=0,n[`${e}_rowspan`]=0)}))})),i;function o(e){if(!e.children)return 1;let r=0;return n(e.children,(n=>{n.children||r++})),r}}function d(n,e){var r,t;return a(e.field)?{rowspan:null!=(r=n[e.field+"_rowspan"])?r:1,colspan:null!=(t=n[e.field+"_colspan"])?t:1}:{colspan:1,rowspan:1}}const s=({cell:n}={})=>{const e=n&&n.querySelector("input,.n-input__input-el");return e&&e.click(),e};function p(n,e){return[...r(e+1).map((n=>({field:`header_${n}`,title:`header_${n}`,minWidth:120,fixed:"left"}))),...n.map(((n,e)=>({field:`body_${e}`,title:`body_${e}`,minWidth:120,editRender:{name:t,props:{},enable:!0,autofocus:s}})))]}s.toString=()=>"input,.n-input__input-el";export{u as bindHeaderInfoAndFlatten,p as createVerticalFieldList,o as getFieldListDepth,c as getHeaderDepthByField,d as getSpanInfo,l as isVerticalBody,a as isVerticalHeader,i as isVerticalTable};
|