├── example
├── static
│ └── .gitkeep
├── config
│ ├── prod.env.js
│ ├── dev.env.js
│ └── index.js
├── build
│ ├── logo.png
│ ├── vue-loader.conf.js
│ ├── build.js
│ ├── check-versions.js
│ ├── webpack.base.conf.js
│ ├── utils.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── babel.config.js
├── .editorconfig
├── .postcssrc.js
├── index.html
├── .gitignore
├── src
│ ├── main.js
│ ├── mock
│ │ ├── baseInfo.js
│ │ ├── explain.js
│ │ ├── table4.js
│ │ ├── table2.js
│ │ ├── table5.js
│ │ └── table1.js
│ └── App.vue
├── dist
│ ├── index.html
│ └── static
│ │ ├── js
│ │ └── manifest.2ae2e69a05c33dfc65f8.js
│ │ └── css
│ │ └── app.0117062d932d25019484a9b61d107591.css
├── README.md
└── package.json
├── .gitignore
├── .npmignore
├── .gitattributes
├── lib
├── typings
│ ├── global.d.ts
│ ├── shims-vue.d.ts
│ └── shims-tsx.d.ts
├── tools
│ ├── event.ts
│ ├── fns.ts
│ └── index.ts
├── index.ts
├── style
│ ├── toast.css
│ ├── textarea.css
│ ├── index.css
│ └── input.css
└── components
│ ├── toast.tsx
│ ├── textarea.tsx
│ ├── input.tsx
│ └── staticTable.tsx
├── .env
├── typings
├── typings
│ ├── global.d.ts
│ ├── shims-vue.d.ts
│ └── shims-tsx.d.ts
├── tools
│ ├── fns.d.ts
│ ├── event.d.ts
│ └── index.d.ts
├── components
│ ├── toast.d.ts
│ ├── textarea.d.ts
│ ├── input.d.ts
│ ├── staticTable.d.ts
│ ├── mutilTable.d.ts
│ └── rowEditableTable.d.ts
└── index.d.ts
├── .browserslistrc
├── babel.config.js
├── postcss.config.js
├── tea.yaml
├── dist
└── demo.html
├── es
├── tools
│ ├── event.js
│ ├── event.js.map
│ ├── fns.js.map
│ ├── fns.js
│ ├── index.js.map
│ └── index.js
├── index.js.map
├── index.js
└── components
│ ├── toast.jsx.map
│ ├── textarea.jsx.map
│ ├── toast.jsx
│ ├── textarea.jsx
│ ├── input.jsx.map
│ ├── staticTable.jsx.map
│ ├── input.jsx
│ ├── staticTable.jsx
│ ├── mutilTable.jsx.map
│ └── rowEditableTable.jsx.map
├── index.html
├── .eslintrc.js
├── tsconfig.package.json
├── vue.config.js
├── tsconfig.json
├── tslint.json
├── package.json
└── README.md
/example/static/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /demo
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /demo
3 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.js linguist-language=Vue
--------------------------------------------------------------------------------
/lib/typings/global.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.css";
2 |
--------------------------------------------------------------------------------
/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 | VUE_APP_BUILD_MODE=package
--------------------------------------------------------------------------------
/typings/typings/global.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.css";
2 |
--------------------------------------------------------------------------------
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not ie <= 8
4 |
--------------------------------------------------------------------------------
/example/config/prod.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | module.exports = {
3 | NODE_ENV: '"production"'
4 | }
5 |
--------------------------------------------------------------------------------
/example/build/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/foolsogood/custom-ele-table/HEAD/example/build/logo.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ["@vue/cli-plugin-babel/preset", "@babel/preset-env"]
3 | };
4 |
--------------------------------------------------------------------------------
/typings/tools/fns.d.ts:
--------------------------------------------------------------------------------
1 | export declare const fns: {
2 | [prop: string]: string;
3 | };
4 | export default fns;
5 |
--------------------------------------------------------------------------------
/example/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ["@vue/cli-plugin-babel/preset", "@babel/preset-env"]
3 | };
4 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: { browsers: "last 5 version" }
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/lib/typings/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.vue";
2 | // {
3 | // import Vue from 'vue';
4 | // export default Vue;
5 | // }
6 |
--------------------------------------------------------------------------------
/typings/typings/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.vue";
2 | // {
3 | // import Vue from 'vue';
4 | // export default Vue;
5 | // }
6 |
--------------------------------------------------------------------------------
/tea.yaml:
--------------------------------------------------------------------------------
1 | # https://tea.xyz/what-is-this-file
2 | ---
3 | version: 1.0.0
4 | codeOwners:
5 | - '0x2b9E352c587c0969242233f8cB842Cb461aDCa20'
6 | quorum: 1
7 |
--------------------------------------------------------------------------------
/typings/tools/event.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import event from "events";
3 | declare const ee: event.EventEmitter;
4 | export default ee;
5 |
--------------------------------------------------------------------------------
/lib/tools/event.ts:
--------------------------------------------------------------------------------
1 | //用于组件的通信
2 | import event from "events";
3 | const ee = new event.EventEmitter();
4 | //扩大默认调用栈数量
5 | ee.setMaxListeners(50);
6 | export default ee;
7 |
--------------------------------------------------------------------------------
/dist/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
custom-ele-table demo
3 |
4 |
5 |
6 |
9 |
--------------------------------------------------------------------------------
/es/tools/event.js:
--------------------------------------------------------------------------------
1 | //用于组件的通信
2 | import event from "events";
3 | const ee = new event.EventEmitter();
4 | //扩大默认调用栈数量
5 | ee.setMaxListeners(50);
6 | export default ee;
7 | //# sourceMappingURL=event.js.map
--------------------------------------------------------------------------------
/example/config/dev.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const prodEnv = require('./prod.env')
4 |
5 | module.exports = merge(prodEnv, {
6 | NODE_ENV: '"development"'
7 | })
8 |
--------------------------------------------------------------------------------
/example/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/es/tools/event.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"event.js","sourceRoot":"","sources":["../../lib/tools/event.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACpC,WAAW;AACX,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACvB,eAAe,EAAE,CAAC"}
--------------------------------------------------------------------------------
/typings/components/toast.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | import "../style/toast.css";
3 | export default class Toast extends Vue {
4 | showWrap: boolean;
5 | showContent: boolean;
6 | text: string;
7 | created(): void;
8 | render(): JSX.Element;
9 | }
10 |
--------------------------------------------------------------------------------
/example/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | "plugins": {
5 | "postcss-import": {},
6 | "postcss-url": {},
7 | // to edit target browsers: use "browserslist" field in package.json
8 | "autoprefixer": {}
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/es/index.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACrD,eAAe;IACb,UAAU;IACV,gBAAgB;IAChB,WAAW;CACZ,CAAC"}
--------------------------------------------------------------------------------
/example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | demo
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/index.ts:
--------------------------------------------------------------------------------
1 | import mutilTable from "./components/mutilTable";
2 | import rowEditableTable from "./components/rowEditableTable";
3 | import staticTable from "./components/staticTable";
4 | import "./style/index.css";
5 | export { mutilTable, rowEditableTable, staticTable };
6 | export default {
7 | mutilTable,
8 | rowEditableTable,
9 | staticTable
10 | };
11 |
--------------------------------------------------------------------------------
/es/tools/fns.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"fns.js","sourceRoot":"","sources":["../../lib/tools/fns.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAEZ;IACF,sEAAsE,EACpE,gFAAgF;IAClF,gCAAgC,EAC9B,mDAAmD;IACrD,oCAAoC,EAClC,uDAAuD;IACzD,4BAA4B,EAAE,sCAAsC;IACpE,4BAA4B,EAAE,sCAAsC;IACpE,kCAAkC,EAChC,qDAAqD;IACvD,gCAAgC,EAC9B,qDAAqD;IACvD,4DAA4D,EAC1D,4EAA4E;CAC/E,CAAC;AAEF,eAAe,GAAG,CAAC"}
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 | npm-debug.log*
19 | yarn-debug.log*
20 | yarn-error.log*
21 |
--------------------------------------------------------------------------------
/es/index.js:
--------------------------------------------------------------------------------
1 | import mutilTable from "./components/mutilTable";
2 | import rowEditableTable from "./components/rowEditableTable";
3 | import staticTable from "./components/staticTable";
4 | import "./style/index.css";
5 | export { mutilTable, rowEditableTable, staticTable };
6 | export default {
7 | mutilTable,
8 | rowEditableTable,
9 | staticTable
10 | };
11 | //# sourceMappingURL=index.js.map
--------------------------------------------------------------------------------
/typings/components/textarea.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | import "../style/textarea.css";
3 | export default class TextArea extends Vue {
4 | readonly propContent: string;
5 | readonly isReadonly: boolean;
6 | readonly addStyle: object;
7 | textAreaContent: string;
8 | mounted(): void;
9 | textAreaContentChange(val: string): void;
10 | render(): JSX.Element;
11 | }
12 |
--------------------------------------------------------------------------------
/example/src/main.js:
--------------------------------------------------------------------------------
1 | // The Vue build version to load with the `import` command
2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
3 | import Vue from 'vue'
4 | import App from './App'
5 | import 'vue-json-viewer/style.css'
6 | Vue.config.productionTip = false
7 |
8 | /* eslint-disable no-new */
9 | new Vue({
10 | el: '#app',
11 | components: { App },
12 | template: ''
13 | })
14 |
--------------------------------------------------------------------------------
/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | import mutilTable from "./components/mutilTable";
2 | import rowEditableTable from "./components/rowEditableTable";
3 | import staticTable from "./components/staticTable";
4 | import "./style/index.css";
5 | export { mutilTable, rowEditableTable, staticTable };
6 | declare const _default: {
7 | mutilTable: typeof mutilTable;
8 | rowEditableTable: typeof rowEditableTable;
9 | staticTable: typeof staticTable;
10 | };
11 | export default _default;
12 |
--------------------------------------------------------------------------------
/typings/tools/index.d.ts:
--------------------------------------------------------------------------------
1 | declare class Tools {
2 | convert2Zero(a: any): any;
3 | floatAdd(a: number, b: number): string;
4 | floatMul(a: number, b: number): number;
5 | floatDiv(a: number, b: number): number;
6 | deepCopy(obj1: T): T;
7 | throttle(fn: () => void, delay: number): (...args: any) => void;
8 | guid(): string;
9 | checkIfObjectEqual(objA: any, objB: any): boolean;
10 | }
11 | declare const getTool: Tools;
12 | export default getTool;
13 |
--------------------------------------------------------------------------------
/example/dist/index.html:
--------------------------------------------------------------------------------
1 | demo
--------------------------------------------------------------------------------
/lib/typings/shims-tsx.d.ts:
--------------------------------------------------------------------------------
1 | import Vue, { VNode } from "vue";
2 |
3 | declare global {
4 | namespace JSX {
5 | // tslint:disable no-empty-interface
6 | interface Element extends VNode {}
7 | // tslint:disable no-empty-interface
8 | interface ElementClass extends Vue {}
9 | interface IntrinsicElements {
10 | [elem: string]: any;
11 | }
12 | }
13 | }
14 | declare module "vue/types/options" {
15 | interface ComponentOptions {
16 | ref?: string;
17 | [propName: string]: any;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/typings/typings/shims-tsx.d.ts:
--------------------------------------------------------------------------------
1 | import Vue, { VNode } from "vue";
2 |
3 | declare global {
4 | namespace JSX {
5 | // tslint:disable no-empty-interface
6 | interface Element extends VNode {}
7 | // tslint:disable no-empty-interface
8 | interface ElementClass extends Vue {}
9 | interface IntrinsicElements {
10 | [elem: string]: any;
11 | }
12 | }
13 | }
14 | declare module "vue/types/options" {
15 | interface ComponentOptions {
16 | ref?: string;
17 | [propName: string]: any;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | demo
--------------------------------------------------------------------------------
/typings/components/input.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | import "../style/input.css";
3 | export default class Input extends Vue {
4 | readonly value: string | number;
5 | readonly addStyle: CSSStyleDeclaration;
6 | readonly isReadonly: boolean;
7 | readonly parentColumnId: string | number;
8 | readonly editPropName: string;
9 | readonly componentName: string;
10 | newValue: string;
11 | onValueChange(val: string): void;
12 | onNewValueChange(val: string): void;
13 | render(): JSX.Element;
14 | }
15 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # demo
2 |
3 | > demo for custom-ele-table
4 |
5 | ## Build Setup
6 |
7 | ``` bash
8 | # install dependencies
9 | npm install
10 |
11 | # serve with hot reload at localhost:8080
12 | npm run dev
13 |
14 | # build for production with minification
15 | npm run build
16 |
17 | # build for production and view the bundle analyzer report
18 | npm run build --report
19 | ```
20 |
21 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
22 |
--------------------------------------------------------------------------------
/typings/components/staticTable.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | interface Item {
3 | key: string;
4 | name: string;
5 | value: string;
6 | }
7 | export default class staticTable extends Vue {
8 | readonly tableData: Item[][];
9 | readonly tableBorderColor: string;
10 | readonly cellHeight: number;
11 | readonly headerStyle: CSSStyleDeclaration;
12 | readonly cellStyle: CSSStyleDeclaration;
13 | renderPanelBody(): JSX.Element;
14 | renderTableColumn(colOptions: Item[]): JSX.Element;
15 | render(): JSX.Element;
16 | }
17 | export {};
18 |
--------------------------------------------------------------------------------
/lib/style/toast.css:
--------------------------------------------------------------------------------
1 | .wrap {
2 | position: fixed;
3 | left: 50%;
4 | top: 10%;
5 | z-index: 999;
6 | background: rgba(0, 0, 0, 0.35);
7 | padding: 10px;
8 | border-radius: 5px;
9 | transform: translate(-50%, -50%);
10 | color: #fff;
11 | }
12 | .fadein {
13 | animation: animate_in 0.25s;
14 | }
15 | .fadeout {
16 | animation: animate_out 0.25s;
17 | opacity: 0;
18 | }
19 | @keyframes animate_in {
20 | 0% {
21 | opacity: 0;
22 | }
23 | 100% {
24 | opacity: 1;
25 | }
26 | }
27 | @keyframes animate_out {
28 | 0% {
29 | opacity: 1;
30 | }
31 | 100% {
32 | opacity: 0;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | extends: ["plugin:vue/essential", "eslint:recommended", "@vue/typescript"],
7 | parserOptions: {
8 | ecmaVersion: 2020,
9 | parser: "@typescript-eslint/parser"
10 | },
11 | rules: {
12 | "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
13 | "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
14 | "no-unused-vars": "off",
15 | "@typescript-eslint/no-unused-vars": "off",
16 | "@typescript-eslint/no-explicit-any": "off",
17 | "prefer-const": "off"
18 | }
19 | };
20 |
--------------------------------------------------------------------------------
/tsconfig.package.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "strict": true,
6 | "jsx": "preserve",
7 | "declaration": true,
8 | "declarationDir": "typings",
9 | "outDir": "es",
10 | "importHelpers": true,
11 | "moduleResolution": "node",
12 | "experimentalDecorators": true,
13 | "esModuleInterop": true,
14 | "allowSyntheticDefaultImports": true,
15 | "sourceMap": true,
16 | "baseUrl": ".",
17 | "lib": ["esnext", "dom", "dom.iterable", "scripthost"]
18 | },
19 | "include": ["lib/**/*.ts", "lib/**/*.tsx"],
20 | "exclude": ["node_modules"]
21 | }
22 |
--------------------------------------------------------------------------------
/example/build/vue-loader.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const config = require('../config')
4 | const isProduction = process.env.NODE_ENV === 'production'
5 | const sourceMapEnabled = isProduction
6 | ? config.build.productionSourceMap
7 | : config.dev.cssSourceMap
8 |
9 | module.exports = {
10 | loaders: utils.cssLoaders({
11 | sourceMap: sourceMapEnabled,
12 | extract: isProduction
13 | }),
14 | cssSourceMap: sourceMapEnabled,
15 | cacheBusting: config.dev.cacheBusting,
16 | transformToRequire: {
17 | video: ['src', 'poster'],
18 | source: 'src',
19 | img: 'src',
20 | image: 'xlink:href'
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | parallel: false,
3 | publicPath:
4 | process.env.NODE_ENV === "production" &&
5 | process.env.VUE_APP_BUILD_MODE !== "package"
6 | ? "/custom-ele-table/"
7 | : "/",
8 | outputDir: process.env.VUE_APP_BUILD_MODE === "package" ? "dist" : "docs",
9 | chainWebpack: config => {
10 | if (process.env.VUE_APP_BUILD_MODE === "package") {
11 | config.output.libraryExport("default");
12 | config.externals({
13 | vue: {
14 | commonjs: "vue",
15 | commonjs2: "vue",
16 | root: "Vue",
17 | amd: "vue"
18 | }
19 | });
20 | }
21 | },
22 | css: { extract: !!process.env.NO_EXTRACT_CSS }
23 | };
24 |
--------------------------------------------------------------------------------
/example/dist/static/js/manifest.2ae2e69a05c33dfc65f8.js:
--------------------------------------------------------------------------------
1 | !function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];aa+b)}": "function(){return Array.prototype.reduce.call(arguments,(a,b)=>floatAdd(a,b))}",
3 | "function(a,b){return((a/b)*c)}": "function(a,b){return(floatMul((floatDiv(a,b),c))}",
4 | "function(a,b){return(100*(a-b)/b)}": "function(a,b){return(100*floatDiv(floatAdd(a,-b),b))}",
5 | "function(a,b){return(a/b)}": "function(a,b){return(floatDiv(a,b))}",
6 | "function(a,b){return(a+b)}": "function(a,b){return(floatAdd(a,b))}",
7 | "function(a,b,c){return((a-b)/c)}": "function(a,b,c){return(floatDiv(floatAdd(a,-b),c))}",
8 | "function(a,b,c){return(a+b-c)}": "function(a,b,c){return(floatAdd(floatAdd(a,b),-c))}",
9 | "function(a,b,c){if((a+b)a+b)}":
5 | "function(){return Array.prototype.reduce.call(arguments,(a,b)=>floatAdd(a,b))}",
6 | "function(a,b){return((a/b)*c)}":
7 | "function(a,b){return(floatMul((floatDiv(a,b),c))}",
8 | "function(a,b){return(100*(a-b)/b)}":
9 | "function(a,b){return(100*floatDiv(floatAdd(a,-b),b))}",
10 | "function(a,b){return(a/b)}": "function(a,b){return(floatDiv(a,b))}",
11 | "function(a,b){return(a+b)}": "function(a,b){return(floatAdd(a,b))}",
12 | "function(a,b,c){return((a-b)/c)}":
13 | "function(a,b,c){return(floatDiv(floatAdd(a,-b),c))}",
14 | "function(a,b,c){return(a+b-c)}":
15 | "function(a,b,c){return(floatAdd(floatAdd(a,b),-c))}",
16 | "function(a,b,c){if((a+b) {
16 | this.text = text;
17 | this.showWrap = true;
18 | this.showContent = true;
19 | setTimeout(() => {
20 | this.showContent = false;
21 | setTimeout(() => {
22 | this.showWrap = false;
23 | }, 0);
24 | }, 1000 * 3);
25 | });
26 | }
27 | public render() {
28 | const { text, showContent } = this;
29 | const cls = "wrap flexBox alItSt";
30 | return (
31 |
34 | {text}
35 |
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/es/components/toast.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"toast.jsx","sourceRoot":"","sources":["../../lib/components/toast.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAS,GAAG,EAAQ,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,oBAAoB,CAAC;AAI5B,IAAqB,KAAK,GAA1B,MAAqB,KAAM,SAAQ,GAAG;IAAtC;;QACS,aAAQ,GAAY,IAAI,CAAC;QACzB,gBAAW,GAAY,KAAK,CAAC;QAC7B,SAAI,GAAW,IAAI,CAAC;IA4B7B,CAAC;IA3BQ,OAAO;QAIZ,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAM,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACM,MAAM;QACX,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,GAAG,GAAG,qBAAqB,CAAC;QAClC,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CAAC,UAAU,CACjB,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CACxD;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CACpB;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC;CACF,CAAA;AA/BoB,KAAK;IAHzB,SAAS,CAAC;QACT,IAAI,EAAE,UAAU;KACjB,CAAC;GACmB,KAAK,CA+BzB;eA/BoB,KAAK"}
--------------------------------------------------------------------------------
/es/components/textarea.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"textarea.jsx","sourceRoot":"","sources":["../../lib/components/textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,uBAAuB,CAAC;AAI/B,IAAqB,QAAQ,GAA7B,MAAqB,QAAS,SAAQ,GAAG;IAAzC;;QAiBS,oBAAe,GAAW,EAAE,CAAC;IAuBtC,CAAC;IAtBQ,OAAO;QACZ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAEM,qBAAqB,CAAC,GAAW;QACtC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACM,MAAM;QACX,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACvD,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAC1B;QAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CACjC,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,IAAI,CAAC,KAAK,CACV,OAAO,CAAC,CAAC,eAAe,CAAC,CACzB,KAAK,CAAC,CAAC,QAAQ,CAAC,CAChB,WAAW,CAAC,IAAI,EAEpB;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC;CACF,CAAA;AAnCC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;KACZ,CAAC;6CACmC;AAKrC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACf,CAAC;4CACmC;AAKrC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;KAC7B,CAAC;0CACgC;AAOlC;IADC,KAAK,CAAC,iBAAiB,CAAC;qDAGxB;AAxBkB,QAAQ;IAH5B,SAAS,CAAC;QACT,IAAI,EAAE,WAAW;KAClB,CAAC;GACmB,QAAQ,CAwC5B;eAxCoB,QAAQ"}
--------------------------------------------------------------------------------
/es/components/toast.jsx:
--------------------------------------------------------------------------------
1 | import { __decorate } from "tslib";
2 | import { Component, Vue } from "vue-property-decorator";
3 | import event from "../tools/event";
4 | import "../style/toast.css";
5 | let Toast = class Toast extends Vue {
6 | constructor() {
7 | super(...arguments);
8 | this.showWrap = true;
9 | this.showContent = false;
10 | this.text = "文本";
11 | }
12 | created() {
13 | event.on("show-toast", ({ text }) => {
14 | this.text = text;
15 | this.showWrap = true;
16 | this.showContent = true;
17 | setTimeout(() => {
18 | this.showContent = false;
19 | setTimeout(() => {
20 | this.showWrap = false;
21 | }, 0);
22 | }, 1000 * 3);
23 | });
24 | }
25 | render() {
26 | const { text, showContent } = this;
27 | const cls = "wrap flexBox alItSt";
28 | return (
29 | {text}
30 |
);
31 | }
32 | };
33 | Toast = __decorate([
34 | Component({
35 | name: "My-Toast"
36 | })
37 | ], Toast);
38 | export default Toast;
39 | //# sourceMappingURL=toast.jsx.map
--------------------------------------------------------------------------------
/lib/components/textarea.tsx:
--------------------------------------------------------------------------------
1 | import { Component, Watch, Vue, Prop } from "vue-property-decorator";
2 | import event from "../tools/event";
3 | import "../style/textarea.css";
4 | @Component({
5 | name: "text-area"
6 | })
7 | export default class TextArea extends Vue {
8 | @Prop({
9 | type: String,
10 | default: ""
11 | })
12 | public readonly propContent!: string;
13 | @Prop({
14 | type: Boolean,
15 | default: false
16 | })
17 | public readonly isReadonly!: boolean;
18 | @Prop({
19 | type: Object,
20 | default: Object.create(null)
21 | })
22 | public readonly addStyle!: object;
23 |
24 | public textAreaContent: string = "";
25 | public mounted() {
26 | this.textAreaContent = this.propContent;
27 | }
28 | @Watch("textAreaContent")
29 | public textAreaContentChange(val: string) {
30 | event.emit("textarea-change", val);
31 | }
32 | public render() {
33 | const { isReadonly, textAreaContent, addStyle } = this;
34 | return (
35 |
36 |
44 |
45 | );
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/example/build/build.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | require('./check-versions')()
3 |
4 | process.env.NODE_ENV = 'production'
5 |
6 | const ora = require('ora')
7 | const rm = require('rimraf')
8 | const path = require('path')
9 | const chalk = require('chalk')
10 | const webpack = require('webpack')
11 | const config = require('../config')
12 | const webpackConfig = require('./webpack.prod.conf')
13 |
14 | const spinner = ora('building for production...')
15 | spinner.start()
16 |
17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
18 | if (err) throw err
19 | webpack(webpackConfig, (err, stats) => {
20 | spinner.stop()
21 | if (err) throw err
22 | process.stdout.write(stats.toString({
23 | colors: true,
24 | modules: false,
25 | children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
26 | chunks: false,
27 | chunkModules: false
28 | }) + '\n\n')
29 |
30 | if (stats.hasErrors()) {
31 | console.log(chalk.red(' Build failed with errors.\n'))
32 | process.exit(1)
33 | }
34 |
35 | console.log(chalk.cyan(' Build complete.\n'))
36 | console.log(chalk.yellow(
37 | ' Tip: built files are meant to be served over an HTTP server.\n' +
38 | ' Opening index.html over file:// won\'t work.\n'
39 | ))
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/example/build/check-versions.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const chalk = require('chalk')
3 | const semver = require('semver')
4 | const packageConfig = require('../package.json')
5 | const shell = require('shelljs')
6 |
7 | function exec (cmd) {
8 | return require('child_process').execSync(cmd).toString().trim()
9 | }
10 |
11 | const versionRequirements = [
12 | {
13 | name: 'node',
14 | currentVersion: semver.clean(process.version),
15 | versionRequirement: packageConfig.engines.node
16 | }
17 | ]
18 |
19 | if (shell.which('npm')) {
20 | versionRequirements.push({
21 | name: 'npm',
22 | currentVersion: exec('npm --version'),
23 | versionRequirement: packageConfig.engines.npm
24 | })
25 | }
26 |
27 | module.exports = function () {
28 | const warnings = []
29 |
30 | for (let i = 0; i < versionRequirements.length; i++) {
31 | const mod = versionRequirements[i]
32 |
33 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
34 | warnings.push(mod.name + ': ' +
35 | chalk.red(mod.currentVersion) + ' should be ' +
36 | chalk.green(mod.versionRequirement)
37 | )
38 | }
39 | }
40 |
41 | if (warnings.length) {
42 | console.log('')
43 | console.log(chalk.yellow('To use this template, you must update following to modules:'))
44 | console.log()
45 |
46 | for (let i = 0; i < warnings.length; i++) {
47 | const warning = warnings[i]
48 | console.log(' ' + warning)
49 | }
50 |
51 | console.log()
52 | process.exit(1)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/es/components/textarea.jsx:
--------------------------------------------------------------------------------
1 | import { __decorate } from "tslib";
2 | import { Component, Watch, Vue, Prop } from "vue-property-decorator";
3 | import event from "../tools/event";
4 | import "../style/textarea.css";
5 | let TextArea = class TextArea extends Vue {
6 | constructor() {
7 | super(...arguments);
8 | this.textAreaContent = "";
9 | }
10 | mounted() {
11 | this.textAreaContent = this.propContent;
12 | }
13 | textAreaContentChange(val) {
14 | event.emit("textarea-change", val);
15 | }
16 | render() {
17 | const { isReadonly, textAreaContent, addStyle } = this;
18 | return (
19 |
20 |
);
21 | }
22 | };
23 | __decorate([
24 | Prop({
25 | type: String,
26 | default: ""
27 | })
28 | ], TextArea.prototype, "propContent", void 0);
29 | __decorate([
30 | Prop({
31 | type: Boolean,
32 | default: false
33 | })
34 | ], TextArea.prototype, "isReadonly", void 0);
35 | __decorate([
36 | Prop({
37 | type: Object,
38 | default: Object.create(null)
39 | })
40 | ], TextArea.prototype, "addStyle", void 0);
41 | __decorate([
42 | Watch("textAreaContent")
43 | ], TextArea.prototype, "textAreaContentChange", null);
44 | TextArea = __decorate([
45 | Component({
46 | name: "text-area"
47 | })
48 | ], TextArea);
49 | export default TextArea;
50 | //# sourceMappingURL=textarea.jsx.map
--------------------------------------------------------------------------------
/lib/style/textarea.css:
--------------------------------------------------------------------------------
1 | .el-textarea {
2 | display: inline-block;
3 | width: 100%;
4 | vertical-align: bottom;
5 | font-size: 14px;
6 | }
7 | .el-textarea__inner__1 {
8 | display: block;
9 | resize: vertical;
10 | padding: 5px 15px;
11 | line-height: 1.5;
12 | -webkit-box-sizing: border-box;
13 | box-sizing: border-box;
14 | width: 100%;
15 | font-size: inherit;
16 | color: #606266;
17 | background-color: #fff;
18 | background-image: none;
19 | border: 1px solid #ddd;
20 | -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
21 | transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
22 | border-top: none;
23 | border-bottom: none;
24 | border-left: none;
25 | line-height: 30px;
26 | margin: 0;
27 | padding: 0;
28 | }
29 | .el-textarea__inner__1::-webkit-input-placeholder {
30 | color: #c0c4cc;
31 | }
32 | .el-textarea__inner__1:-ms-input-placeholder {
33 | color: #c0c4cc;
34 | }
35 | .el-textarea__inner__1::placeholder {
36 | color: #c0c4cc;
37 | }
38 | .el-textarea__inner__1:hover {
39 | border-color: #c0c4cc;
40 | }
41 | .el-textarea__inner__1:focus {
42 | outline: 0;
43 | border-color: #409eff;
44 | }
45 | .el-textarea.is-disabled .el-textarea__inner__1 {
46 | background-color: #f5f7fa;
47 | border-color: #e4e7ed;
48 | color: #c0c4cc;
49 | cursor: not-allowed;
50 | }
51 | .el-textarea.is-disabled .el-textarea__inner__1::-webkit-input-placeholder {
52 | color: #c0c4cc;
53 | }
54 | .el-textarea.is-disabled .el-textarea__inner__1:-ms-input-placeholder {
55 | color: #c0c4cc;
56 | }
57 | .el-textarea.is-disabled .el-textarea__inner__1::placeholder {
58 | color: #c0c4cc;
59 | }
60 |
--------------------------------------------------------------------------------
/es/components/input.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"input.jsx","sourceRoot":"","sources":["../../lib/components/input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,oBAAoB,CAAC;AAI5B,IAAqB,KAAK,GAA1B,MAAqB,KAAM,SAAQ,GAAG;IAAtC;;QAmCS,aAAQ,GAAW,EAAE,CAAC;IA2C/B,CAAC;IAvCQ,aAAa,CAAC,GAAW;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,gBAAgB,CAAC,GAAW;QACjC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE;YAClD,OAAO;SACR;QAED,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QACF,IAAI;YACF,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;SACvD;QAAC,OAAO,GAAG,EAAE;YACZ,0CAA0C;SAC3C;IACH,CAAC;IACM,MAAM;QACX,OAAO,CACL,CAAC,GAAG,CACF;QAAA,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CACnB;UAAA,CAAC,KAAK,CACJ,IAAI,CAAC,MAAM,CACX,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvB,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CACpC,YAAY,CAAC,KAAK,CAClB,KAAK,CAAC,oBAAoB,CAC1B,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1B,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAEzB;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC;CACF,CAAA;AAzEC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,EAAE;KACZ,CAAC;oCACsC;AAKxC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;KACZ,CAAC;uCAC6C;AAK/C;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACf,CAAC;yCACmC;AAMrC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,EAAE;KACZ,CAAC;6CAC+C;AAMjD;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;2CACoC;AAMtC;IAJC,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;4CACqC;AAMvC;IAHC,KAAK,CAAC,OAAO,EAAE;QACd,SAAS,EAAE,IAAI;KAChB,CAAC;0CAID;AAED;IADC,KAAK,CAAC,UAAU,CAAC;6CAgBjB;AA3DkB,KAAK;IAHzB,SAAS,CAAC;QACT,IAAI,EAAE,UAAU;KACjB,CAAC;GACmB,KAAK,CA8EzB;eA9EoB,KAAK"}
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "custom-ele-table",
3 | "version": "3.0.13",
4 | "description": "vue自定义报表组件",
5 | "main": "./dist/custom-ele-table.umd.min.js",
6 | "typings": "./typings/index.d.ts",
7 | "repository": {
8 | "type": "git",
9 | "url": "git+https://github.com/foolsogood/custom-ele-table.git"
10 | },
11 | "scripts": {
12 | "build:library": "npm run package && npm run typings",
13 | "package": "rm -rf dist & vue-cli-service build --mode package --target lib --name custom-ele-table lib/index.ts",
14 | "typings": "rm -rf es typings & tsc -p tsconfig.package.json && cp -a lib/typings typings",
15 | "prepublish": "npm run build:library"
16 | },
17 | "keywords": [
18 | "vue",
19 | "jsx",
20 | "table"
21 | ],
22 | "author": "foolsogood",
23 | "license": "ISC",
24 | "dependencies": {
25 | "@types/events": "^3.0.0",
26 | "core-js": "^3.6.4",
27 | "events": "^3.1.0",
28 | "vue": "^2.6.11",
29 | "vue-class-component": "^7.2.3",
30 | "vue-property-decorator": "^8.5.0"
31 | },
32 | "devDependencies": {
33 | "@babel/cli": "^7.6.0",
34 | "@babel/preset-env": "^7.6.0",
35 | "@commitlint/config-conventional": "^7.3.1",
36 | "@typescript-eslint/eslint-plugin": "^3.4.0",
37 | "@typescript-eslint/parser": "^3.4.0",
38 | "@vue/cli-plugin-babel": "~4.4.1",
39 | "@vue/cli-plugin-eslint": "^4.1.0",
40 | "@vue/cli-plugin-router": "^4.1.0",
41 | "@vue/cli-plugin-typescript": "~4.4.1",
42 | "@vue/cli-plugin-unit-mocha": "~4.4.1",
43 | "@vue/cli-plugin-vuex": "^4.1.0",
44 | "@vue/cli-service": "~4.4.1",
45 | "@vue/eslint-config-typescript": "^5.0.2",
46 | "@vue/test-utils": "^1.0.0-beta.20",
47 | "codemirror": "^5.44.0",
48 | "commitlint": "^7.3.2",
49 | "eslint": "^5.16.0",
50 | "eslint-plugin-vue": "^5.0.0",
51 | "lint-staged": "^8.1.0",
52 | "node-sass": "^4.14.1",
53 | "prettier": "^1.15.2",
54 | "sass": "^1.26.7",
55 | "sass-loader": "^8.0.2",
56 | "typescript": "^4.1.3",
57 | "vue-markdown-loader": "^2.4.1",
58 | "vue-template-compiler": "^2.6.6"
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "description": "demo for custom-ele-table",
5 | "author": "foolsogood ",
6 | "private": true,
7 | "scripts": {
8 | "dev": "webpack-dev-server --hot --inline --progress --config build/webpack.dev.conf.js",
9 | "start": "npm run dev",
10 | "build": "node build/build.js"
11 | },
12 | "dependencies": {
13 | "custom-ele-table": "^3.0.13",
14 | "vue": "^2.5.2",
15 | "vue-json-viewer": "^2.1.4",
16 | "vue-slider-component": "^3.2.11"
17 | },
18 | "devDependencies": {
19 | "autoprefixer": "^7.1.2",
20 | "babel-core": "^6.22.1",
21 | "babel-helper-vue-jsx-merge-props": "^2.0.3",
22 | "babel-loader": "^7.1.1",
23 | "babel-plugin-jsx-v-model": "^2.0.3",
24 | "babel-plugin-syntax-jsx": "^6.18.0",
25 | "babel-plugin-transform-runtime": "^6.22.0",
26 | "babel-plugin-transform-vue-jsx": "^3.5.0",
27 | "babel-preset-env": "^1.3.2",
28 | "babel-preset-stage-2": "^6.22.0",
29 | "chalk": "^2.0.1",
30 | "copy-webpack-plugin": "^4.0.1",
31 | "css-loader": "^0.28.0",
32 | "extract-text-webpack-plugin": "^3.0.0",
33 | "file-loader": "^1.1.4",
34 | "friendly-errors-webpack-plugin": "^1.6.1",
35 | "html-webpack-plugin": "^2.30.1",
36 | "node-notifier": "^5.1.2",
37 | "optimize-css-assets-webpack-plugin": "^3.2.0",
38 | "ora": "^1.2.0",
39 | "portfinder": "^1.0.13",
40 | "postcss-import": "^11.0.0",
41 | "postcss-loader": "^2.0.8",
42 | "postcss-url": "^7.2.1",
43 | "rimraf": "^2.6.0",
44 | "semver": "^5.3.0",
45 | "shelljs": "^0.7.6",
46 | "uglifyjs-webpack-plugin": "^1.1.1",
47 | "url-loader": "^0.5.8",
48 | "vue-loader": "^13.3.0",
49 | "vue-style-loader": "^3.0.1",
50 | "vue-template-compiler": "^2.5.2",
51 | "webpack": "^3.6.0",
52 | "webpack-bundle-analyzer": "^2.9.0",
53 | "webpack-dev-server": "^2.9.1",
54 | "webpack-merge": "^4.1.0"
55 | },
56 | "engines": {
57 | "node": ">= 6.0.0",
58 | "npm": ">= 3.0.0"
59 | },
60 | "browserslist": [
61 | "> 1%",
62 | "last 2 versions",
63 | "not ie <= 8"
64 | ]
65 | }
66 |
--------------------------------------------------------------------------------
/lib/style/index.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | border: 0;
5 | font-size: 100%;
6 | font: inherit;
7 | vertical-align: baseline;
8 | }
9 | table {
10 | border-collapse: collapse;
11 | border-spacing: 0;
12 | }
13 | .flexBox {
14 | display: -webkit-box;
15 | display: -ms-flexbox;
16 | display: flex;
17 | -webkit-box-pack: center;
18 | -ms-flex-pack: center;
19 | justify-content: center;
20 | -webkit-box-align: center;
21 | -ms-flex-align: center;
22 | align-items: center;
23 | }
24 |
25 | .flex-ver-box {
26 | -webkit-box-orient: vertical;
27 | -webkit-box-direction: normal;
28 | -ms-flex-direction: column;
29 | flex-direction: column;
30 | }
31 |
32 | .alItSt {
33 | -webkit-box-align: start;
34 | -ms-flex-align: start;
35 | align-items: flex-start;
36 | }
37 |
38 | .flex-1 {
39 | flex: 1;
40 | }
41 | .Ellipsis {
42 | overflow: hidden;
43 | -o-text-overflow: ellipsis;
44 | text-overflow: ellipsis;
45 | white-space: nowrap;
46 | width: 100%;
47 | }
48 | .nui-scroll {
49 | overflow-x: scroll;
50 | }
51 | .nui-scroll::-webkit-scrollbar {
52 | width: 8px;
53 | height: 8px;
54 | }
55 | /*正常情况下滑块的样式*/
56 | .nui-scroll::-webkit-scrollbar-thumb {
57 | background-color: rgba(0, 0, 0, 0.05);
58 | border-radius: 10px;
59 | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1);
60 | }
61 | /*鼠标悬浮在该类指向的控件上时滑块的样式*/
62 | .nui-scroll:hover::-webkit-scrollbar-thumb {
63 | background-color: rgba(0, 0, 0, 0.2);
64 | border-radius: 10px;
65 | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1);
66 | }
67 | /*鼠标悬浮在滑块上时滑块的样式*/
68 | .nui-scroll::-webkit-scrollbar-thumb:hover {
69 | background-color: rgba(0, 0, 0, 0.4);
70 | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1);
71 | }
72 | /*正常时候的主干部分*/
73 | .nui-scroll::-webkit-scrollbar-track {
74 | border-radius: 10px;
75 | -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);
76 | background-color: white;
77 | }
78 | /*鼠标悬浮在滚动条上的主干部分*/
79 | .nui-scroll::-webkit-scrollbar-track:hover {
80 | -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.4);
81 | background-color: rgba(0, 0, 0, 0.01);
82 | }
83 |
--------------------------------------------------------------------------------
/example/config/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | // Template version: 1.3.1
3 | // see http://vuejs-templates.github.io/webpack for documentation.
4 |
5 | const path = require('path')
6 |
7 | module.exports = {
8 | dev: {
9 |
10 | // Paths
11 | assetsSubDirectory: 'static',
12 | assetsPublicPath: '/',
13 | proxyTable: {},
14 |
15 | // Various Dev Server settings
16 | host: 'localhost', // can be overwritten by process.env.HOST
17 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
18 | autoOpenBrowser: true,
19 | errorOverlay: true,
20 | notifyOnErrors: true,
21 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
22 |
23 |
24 | /**
25 | * Source Maps
26 | */
27 |
28 | // https://webpack.js.org/configuration/devtool/#development
29 | devtool: 'cheap-module-eval-source-map',
30 |
31 | // If you have problems debugging vue-files in devtools,
32 | // set this to false - it *may* help
33 | // https://vue-loader.vuejs.org/en/options.html#cachebusting
34 | cacheBusting: true,
35 |
36 | cssSourceMap: true
37 | },
38 |
39 | build: {
40 | // Template for index.html
41 | index: path.resolve(__dirname, '../dist/index.html'),
42 |
43 | // Paths
44 | assetsRoot: path.resolve(__dirname, '../dist'),
45 | assetsSubDirectory: 'static',
46 | assetsPublicPath: '/',
47 |
48 | /**
49 | * Source Maps
50 | */
51 |
52 | productionSourceMap: false,
53 | // https://webpack.js.org/configuration/devtool/#production
54 | devtool: '#source-map',
55 |
56 | // Gzip off by default as many popular static hosts such as
57 | // Surge or Netlify already gzip all static assets for you.
58 | // Before setting to `true`, make sure to:
59 | // npm install --save-dev compression-webpack-plugin
60 | productionGzip: false,
61 | productionGzipExtensions: ['js', 'css'],
62 |
63 | // Run the build command with an extra argument to
64 | // View the bundle analyzer report after build finishes:
65 | // `npm run build --report`
66 | // Set to `true` or `false` to always turn it on or off
67 | bundleAnalyzerReport: process.env.npm_config_report
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/lib/components/input.tsx:
--------------------------------------------------------------------------------
1 | import { Component, Watch, Vue, Prop } from "vue-property-decorator";
2 | import event from "../tools/event";
3 | import "../style/input.css";
4 | @Component({
5 | name: "My-Input"
6 | })
7 | export default class Input extends Vue {
8 | @Prop({
9 | type: [String, Number],
10 | default: ""
11 | })
12 | public readonly value!: string | number;
13 | @Prop({
14 | type: Object,
15 | default: {}
16 | })
17 | public readonly addStyle!: CSSStyleDeclaration;
18 | @Prop({
19 | type: Boolean,
20 | default: false
21 | })
22 | public readonly isReadonly!: boolean;
23 | //所在行的id唯一标识
24 | @Prop({
25 | type: [String, Number],
26 | default: ""
27 | })
28 | public readonly parentColumnId!: string | number;
29 | //编辑属性字段
30 | @Prop({
31 | type: [String],
32 | default: ""
33 | })
34 | public readonly editPropName!: string;
35 | //父组件名字
36 | @Prop({
37 | type: [String],
38 | default: ""
39 | })
40 | public readonly componentName!: string;
41 |
42 | public newValue: string = "";
43 | @Watch("value", {
44 | immediate: true
45 | })
46 | public onValueChange(val: string) {
47 | const v = Object.is(val, NaN) ? "0" : val;
48 | this.newValue = v;
49 | }
50 | @Watch("newValue")
51 | public onNewValueChange(val: string) {
52 | if (this.isReadonly && Object.is(Number(val), NaN)) {
53 | return;
54 | }
55 |
56 | const data = {
57 | value: val,
58 | prop: this.editPropName,
59 | parentColumnId: this.parentColumnId
60 | };
61 | try {
62 | event.emit(`inputChange-${this.componentName}`, data);
63 | } catch (err) {
64 | // console.error("error", data, val, err);
65 | }
66 | }
67 | public render() {
68 | return (
69 |
83 | );
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/es/components/staticTable.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"staticTable.jsx","sourceRoot":"","sources":["../../lib/components/staticTable.tsx"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/example/build/webpack.base.conf.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | const path = require("path");
3 | const utils = require("./utils");
4 | const config = require("../config");
5 | const vueLoaderConfig = require("./vue-loader.conf");
6 |
7 | function resolve(dir) {
8 | return path.join(__dirname, "..", dir);
9 | }
10 |
11 | module.exports = {
12 | context: path.resolve(__dirname, "../"),
13 | entry: {
14 | app: "./src/main.js"
15 | },
16 | output: {
17 | path: config.build.assetsRoot,
18 | filename: "[name].js",
19 | publicPath:
20 | process.env.NODE_ENV === "production"
21 | ? config.build.assetsPublicPath
22 | : config.dev.assetsPublicPath
23 | },
24 | resolve: {
25 | extensions: [".js", ".vue", ".json"],
26 | alias: {
27 | vue$: "vue/dist/vue.esm.js",
28 | "@": resolve("src")
29 | }
30 | },
31 | module: {
32 | rules: [
33 | {
34 | test: /\.vue$/,
35 | loader: "vue-loader",
36 | options: vueLoaderConfig
37 | },
38 | {
39 | test: /\.jsx?|\.tsx?/,
40 | loader: "babel-loader",
41 | include: [
42 | resolve("src"),
43 | resolve("test"),
44 | resolve("node_modules/webpack-dev-server/client")
45 | ]
46 | },
47 | {
48 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
49 | loader: "url-loader",
50 | options: {
51 | limit: 10000,
52 | name: utils.assetsPath("img/[name].[hash:7].[ext]")
53 | }
54 | },
55 | {
56 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
57 | loader: "url-loader",
58 | options: {
59 | limit: 10000,
60 | name: utils.assetsPath("media/[name].[hash:7].[ext]")
61 | }
62 | },
63 | {
64 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
65 | loader: "url-loader",
66 | options: {
67 | limit: 10000,
68 | name: utils.assetsPath("fonts/[name].[hash:7].[ext]")
69 | }
70 | }
71 | ]
72 | },
73 | node: {
74 | // prevent webpack from injecting useless setImmediate polyfill because Vue
75 | // source contains it (although only uses it if it's native).
76 | setImmediate: false,
77 | // prevent webpack from injecting mocks to Node native modules
78 | // that does not make sense for the client
79 | dgram: "empty",
80 | fs: "empty",
81 | net: "empty",
82 | tls: "empty",
83 | child_process: "empty"
84 | }
85 | };
86 |
--------------------------------------------------------------------------------
/typings/components/mutilTable.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | interface ITableData {
3 | [prop: string]: any;
4 | }
5 | interface IOssTableData extends ITableData {
6 | key?: string;
7 | }
8 | interface IHeaderItem {
9 | colSpan?: number;
10 | isCanEdit?: boolean;
11 | onlyOneCell?: boolean;
12 | rowSpan?: number;
13 | key?: string;
14 | title: string;
15 | children?: IHeaderItem[];
16 | }
17 | interface IHeaderArrItem extends IHeaderItem {
18 | classifyId: number;
19 | sortIdx: string;
20 | }
21 | interface IData {
22 | value: string;
23 | prop: string;
24 | parentColumnId: string | number;
25 | }
26 | export default class mutilTable extends Vue {
27 | readonly tableData: ITableData[];
28 | readonly tableHeader: IHeaderItem[];
29 | readonly bodyNotShowProps: string[];
30 | readonly tableBorderColor: string;
31 | readonly cellHeight: number;
32 | readonly uniqueKey: string;
33 | readonly firstThClickHandler: () => void;
34 | readonly isFirstThEableClick: boolean;
35 | readonly firstThStyle: object;
36 | readonly isReadOnly: boolean;
37 | readonly bodyEmptyTips: string;
38 | readonly headerStyle: CSSStyleDeclaration;
39 | readonly cellStyle: CSSStyleDeclaration;
40 | readonly calcCellStyle: CSSStyleDeclaration;
41 | ossTableHeader: IHeaderArrItem[];
42 | ossTableData: IOssTableData[];
43 | headerArr: IHeaderArrItem[];
44 | bodyNotShowPropData: string[];
45 | curTableData: ITableData[];
46 | curEditTdId: string;
47 | isBodyEmpty: boolean;
48 | get headerClasses(): number[];
49 | created(): void;
50 | onTableHeaderChange(val: any[]): void;
51 | reCalculate(): void;
52 | numberChangeHandler(val: IData): void;
53 | getValueFromColumn(code: string, key: string): any;
54 | checkIfNum(n: string): number;
55 | initData(): void;
56 | combineCellByKey(key: string): void;
57 | classifyHeaderHandler(): JSX.Element;
58 | tdClickHandler(tableId: string, isCanEdit: boolean): void;
59 | renderPanelBody(): JSX.Element;
60 | getHeaderItemSortIndex(target_key: string): string;
61 | getHeaderItemArr(arr1: IHeaderArrItem[]): void;
62 | getRowspan(cell: IHeaderArrItem): number;
63 | getIfHeaderItemCanEditByKey(key: string): boolean;
64 | isAfrontB(A: string, B: string): 1 | -1 | 0;
65 | renderTableColumn(colOptions: ITableData): JSX.Element;
66 | giveIdx2Item(arr: IHeaderItem[], parentSortId?: string, classifyId?: number): IHeaderArrItem[];
67 | render(): JSX.Element;
68 | }
69 | export {};
70 |
--------------------------------------------------------------------------------
/es/components/input.jsx:
--------------------------------------------------------------------------------
1 | import { __decorate } from "tslib";
2 | import { Component, Watch, Vue, Prop } from "vue-property-decorator";
3 | import event from "../tools/event";
4 | import "../style/input.css";
5 | let Input = class Input extends Vue {
6 | constructor() {
7 | super(...arguments);
8 | this.newValue = "";
9 | }
10 | onValueChange(val) {
11 | const v = Object.is(val, NaN) ? "0" : val;
12 | this.newValue = v;
13 | }
14 | onNewValueChange(val) {
15 | if (this.isReadonly && Object.is(Number(val), NaN)) {
16 | return;
17 | }
18 | const data = {
19 | value: val,
20 | prop: this.editPropName,
21 | parentColumnId: this.parentColumnId
22 | };
23 | try {
24 | event.emit(`inputChange-${this.componentName}`, data);
25 | }
26 | catch (err) {
27 | // console.error("error", data, val, err);
28 | }
29 | }
30 | render() {
31 | return ();
36 | }
37 | };
38 | __decorate([
39 | Prop({
40 | type: [String, Number],
41 | default: ""
42 | })
43 | ], Input.prototype, "value", void 0);
44 | __decorate([
45 | Prop({
46 | type: Object,
47 | default: {}
48 | })
49 | ], Input.prototype, "addStyle", void 0);
50 | __decorate([
51 | Prop({
52 | type: Boolean,
53 | default: false
54 | })
55 | ], Input.prototype, "isReadonly", void 0);
56 | __decorate([
57 | Prop({
58 | type: [String, Number],
59 | default: ""
60 | })
61 | ], Input.prototype, "parentColumnId", void 0);
62 | __decorate([
63 | Prop({
64 | type: [String],
65 | default: ""
66 | })
67 | ], Input.prototype, "editPropName", void 0);
68 | __decorate([
69 | Prop({
70 | type: [String],
71 | default: ""
72 | })
73 | ], Input.prototype, "componentName", void 0);
74 | __decorate([
75 | Watch("value", {
76 | immediate: true
77 | })
78 | ], Input.prototype, "onValueChange", null);
79 | __decorate([
80 | Watch("newValue")
81 | ], Input.prototype, "onNewValueChange", null);
82 | Input = __decorate([
83 | Component({
84 | name: "My-Input"
85 | })
86 | ], Input);
87 | export default Input;
88 | //# sourceMappingURL=input.jsx.map
--------------------------------------------------------------------------------
/typings/components/rowEditableTable.d.ts:
--------------------------------------------------------------------------------
1 | import { Vue } from "vue-property-decorator";
2 | interface ICellData {
3 | code: string;
4 | key: string;
5 | }
6 | interface ITableData {
7 | [prop: string]: any;
8 | }
9 | interface IOssTableData extends ITableData {
10 | key?: string;
11 | }
12 | interface IHeaderItem {
13 | colSpan?: number;
14 | isCanEdit?: boolean;
15 | onlyOneCell?: boolean;
16 | rowSpan?: number;
17 | key?: string;
18 | title: string;
19 | children?: IHeaderItem[];
20 | }
21 | interface IHeaderArrItem extends IHeaderItem {
22 | classifyId: number;
23 | sortIdx: string;
24 | }
25 | export default class rowEditableTable extends Vue {
26 | readonly tableData: ITableData[];
27 | readonly tableHeader: IHeaderItem[];
28 | readonly bodyNotShowProps: string[];
29 | readonly tableBorderColor: string;
30 | readonly cellHeight: number;
31 | readonly uniqueKey: string;
32 | readonly firstThClickHandler: () => void;
33 | readonly isFirstThEableClick: boolean;
34 | readonly firstThStyle: object;
35 | readonly isReadOnly: boolean;
36 | readonly bodyEmptyTips: string;
37 | readonly headerStyle: CSSStyleDeclaration;
38 | readonly cellStyle: CSSStyleDeclaration;
39 | readonly calcCellStyle: CSSStyleDeclaration;
40 | ossTableHeader: IHeaderArrItem[];
41 | ossTableData: IOssTableData[];
42 | onlyOneCellBodyArr: IHeaderArrItem[];
43 | headerArr: IHeaderArrItem[];
44 | bodyNotShowPropData: string[];
45 | curTableData: ITableData[];
46 | curEditTdId: string;
47 | textAreaContent: string;
48 | isBodyEmpty: boolean;
49 | oneCellData: ICellData;
50 | get headerClasses(): number[];
51 | created(): void;
52 | onTableHeaderChange(val: any[]): void;
53 | onTextContentChange(val: string): void;
54 | getValueFromColumn(code: string, key: string): any;
55 | checkIfNum(n: string): number;
56 | initData(): void;
57 | giveIdx2Item(arr: IHeaderItem[], parentSortId?: string, classifyId?: number): IHeaderArrItem[];
58 | getHeaderItemArr(arr1: IHeaderArrItem[]): void;
59 | getHeaderItemByKey(key: string): IHeaderArrItem | undefined;
60 | oneCellHeader(): JSX.Element;
61 | renderOneCellItem(): JSX.Element | null;
62 | renderPanelBody(): JSX.Element;
63 | getRowspan(cell: IHeaderArrItem): number;
64 | renderHeader(item: IHeaderArrItem, _idx: number): JSX.Element;
65 | getOneCellItemByKey(key: string, arr?: any): IHeaderArrItem | undefined;
66 | tdClickHandler(tableId: string): void;
67 | isAfrontB(A: string, B: string): 1 | -1 | 0;
68 | getHeaderItemSortIndex(target_key: string): string;
69 | renderTableColumn(colOptions: ITableData): JSX.Element;
70 | render(): JSX.Element;
71 | }
72 | export {};
73 |
--------------------------------------------------------------------------------
/es/components/staticTable.jsx:
--------------------------------------------------------------------------------
1 | import { __decorate } from "tslib";
2 | import { Component, Vue, Prop } from "vue-property-decorator";
3 | let staticTable = class staticTable extends Vue {
4 | //渲染表body
5 | renderPanelBody() {
6 | return (
12 |
13 | {this.tableData.map(item => this.renderTableColumn(item))}
14 |
15 |
);
16 | }
17 | //渲染表的每行
18 | renderTableColumn(colOptions) {
19 | return (
20 | {colOptions.map(item => {
21 | return (|
22 |
29 | {item.name}
30 |
31 |
39 | {item.value}
40 |
41 | | );
42 | })}
43 |
);
44 | }
45 | render() {
46 | return ();
49 | }
50 | };
51 | __decorate([
52 | Prop({
53 | type: Array,
54 | default: []
55 | })
56 | ], staticTable.prototype, "tableData", void 0);
57 | __decorate([
58 | Prop({
59 | type: String,
60 | default: "#ddd"
61 | })
62 | ], staticTable.prototype, "tableBorderColor", void 0);
63 | __decorate([
64 | Prop({
65 | type: Number,
66 | default: 40
67 | })
68 | ], staticTable.prototype, "cellHeight", void 0);
69 | __decorate([
70 | Prop({
71 | type: Object,
72 | default: () => ({
73 | background: "rgb(230, 242, 246)",
74 | color: "#333"
75 | })
76 | })
77 | ], staticTable.prototype, "headerStyle", void 0);
78 | __decorate([
79 | Prop({
80 | type: Object,
81 | default: () => ({
82 | background: "#fff",
83 | color: "#333"
84 | })
85 | })
86 | ], staticTable.prototype, "cellStyle", void 0);
87 | staticTable = __decorate([
88 | Component({
89 | name: "staticTable"
90 | })
91 | ], staticTable);
92 | export default staticTable;
93 | //# sourceMappingURL=staticTable.jsx.map
--------------------------------------------------------------------------------
/example/build/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const config = require('../config')
4 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
5 | const packageConfig = require('../package.json')
6 |
7 | exports.assetsPath = function (_path) {
8 | const assetsSubDirectory = process.env.NODE_ENV === 'production'
9 | ? config.build.assetsSubDirectory
10 | : config.dev.assetsSubDirectory
11 |
12 | return path.posix.join(assetsSubDirectory, _path)
13 | }
14 |
15 | exports.cssLoaders = function (options) {
16 | options = options || {}
17 |
18 | const cssLoader = {
19 | loader: 'css-loader',
20 | options: {
21 | sourceMap: options.sourceMap
22 | }
23 | }
24 |
25 | const postcssLoader = {
26 | loader: 'postcss-loader',
27 | options: {
28 | sourceMap: options.sourceMap
29 | }
30 | }
31 |
32 | // generate loader string to be used with extract text plugin
33 | function generateLoaders (loader, loaderOptions) {
34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35 |
36 | if (loader) {
37 | loaders.push({
38 | loader: loader + '-loader',
39 | options: Object.assign({}, loaderOptions, {
40 | sourceMap: options.sourceMap
41 | })
42 | })
43 | }
44 |
45 | // Extract CSS when that option is specified
46 | // (which is the case during production build)
47 | if (options.extract) {
48 | return ExtractTextPlugin.extract({
49 | use: loaders,
50 | fallback: 'vue-style-loader'
51 | })
52 | } else {
53 | return ['vue-style-loader'].concat(loaders)
54 | }
55 | }
56 |
57 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58 | return {
59 | css: generateLoaders(),
60 | postcss: generateLoaders(),
61 | less: generateLoaders('less'),
62 | sass: generateLoaders('sass', { indentedSyntax: true }),
63 | scss: generateLoaders('sass'),
64 | stylus: generateLoaders('stylus'),
65 | styl: generateLoaders('stylus')
66 | }
67 | }
68 |
69 | // Generate loaders for standalone style files (outside of .vue)
70 | exports.styleLoaders = function (options) {
71 | const output = []
72 | const loaders = exports.cssLoaders(options)
73 |
74 | for (const extension in loaders) {
75 | const loader = loaders[extension]
76 | output.push({
77 | test: new RegExp('\\.' + extension + '$'),
78 | use: loader
79 | })
80 | }
81 |
82 | return output
83 | }
84 |
85 | exports.createNotifierCallback = () => {
86 | const notifier = require('node-notifier')
87 |
88 | return (severity, errors) => {
89 | if (severity !== 'error') return
90 |
91 | const error = errors[0]
92 | const filename = error.file && error.file.split('!').pop()
93 |
94 | notifier.notify({
95 | title: packageConfig.name,
96 | message: severity + ': ' + error.name,
97 | subtitle: filename || '',
98 | icon: path.join(__dirname, 'logo.png')
99 | })
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/lib/components/staticTable.tsx:
--------------------------------------------------------------------------------
1 | import { Component, Vue, Prop } from "vue-property-decorator";
2 | interface Item {
3 | key: string;
4 | name: string;
5 | value: string;
6 | }
7 | @Component({
8 | name: "staticTable"
9 | })
10 | export default class staticTable extends Vue {
11 | @Prop({
12 | type: Array,
13 | default: []
14 | })
15 | public readonly tableData!: Item[][];
16 | //表格边框颜色
17 | @Prop({
18 | type: String,
19 | default: "#ddd"
20 | })
21 | public readonly tableBorderColor!: string;
22 | //单元格高度
23 | @Prop({
24 | type: Number,
25 | default: 40
26 | })
27 | public readonly cellHeight!: number;
28 | //header样式
29 | @Prop({
30 | type: Object,
31 | default: () => ({
32 | background: "rgb(230, 242, 246)",
33 | color: "#333"
34 | })
35 | })
36 | public readonly headerStyle!: CSSStyleDeclaration;
37 | //body单元格样式
38 | @Prop({
39 | type: Object,
40 | default: () => ({
41 | background: "#fff",
42 | color: "#333"
43 | })
44 | })
45 | public readonly cellStyle!: CSSStyleDeclaration;
46 |
47 | //渲染表body
48 | public renderPanelBody() {
49 | return (
50 |
57 |
58 | {this.tableData.map(item => this.renderTableColumn(item))}
59 |
60 |
61 | );
62 | }
63 |
64 | //渲染表的每行
65 | public renderTableColumn(colOptions: Item[]) {
66 | return (
67 |
68 | {colOptions.map(item => {
69 | return (
70 | |
73 |
82 | {item.name}
83 |
84 |
94 | {item.value}
95 |
96 | |
97 | );
98 | })}
99 |
100 | );
101 | }
102 | public render() {
103 | return (
104 |
107 | );
108 | }
109 | }
110 |
--------------------------------------------------------------------------------
/example/build/webpack.dev.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const webpack = require('webpack')
4 | const config = require('../config')
5 | const merge = require('webpack-merge')
6 | const path = require('path')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
11 | const portfinder = require('portfinder')
12 |
13 | const HOST = process.env.HOST
14 | const PORT = process.env.PORT && Number(process.env.PORT)
15 |
16 | const devWebpackConfig = merge(baseWebpackConfig, {
17 | module: {
18 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
19 | },
20 | // cheap-module-eval-source-map is faster for development
21 | devtool: config.dev.devtool,
22 |
23 | // these devServer options should be customized in /config/index.js
24 | devServer: {
25 | clientLogLevel: 'warning',
26 | historyApiFallback: {
27 | rewrites: [
28 | { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
29 | ],
30 | },
31 | hot: true,
32 | contentBase: false, // since we use CopyWebpackPlugin.
33 | compress: true,
34 | host: HOST || config.dev.host,
35 | port: PORT || config.dev.port,
36 | open: config.dev.autoOpenBrowser,
37 | overlay: config.dev.errorOverlay
38 | ? { warnings: false, errors: true }
39 | : false,
40 | publicPath: config.dev.assetsPublicPath,
41 | proxy: config.dev.proxyTable,
42 | quiet: true, // necessary for FriendlyErrorsPlugin
43 | watchOptions: {
44 | poll: config.dev.poll,
45 | }
46 | },
47 | plugins: [
48 | new webpack.DefinePlugin({
49 | 'process.env': require('../config/dev.env')
50 | }),
51 | new webpack.HotModuleReplacementPlugin(),
52 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
53 | new webpack.NoEmitOnErrorsPlugin(),
54 | // https://github.com/ampedandwired/html-webpack-plugin
55 | new HtmlWebpackPlugin({
56 | filename: 'index.html',
57 | template: 'index.html',
58 | inject: true
59 | }),
60 | // copy custom static assets
61 | new CopyWebpackPlugin([
62 | {
63 | from: path.resolve(__dirname, '../static'),
64 | to: config.dev.assetsSubDirectory,
65 | ignore: ['.*']
66 | }
67 | ])
68 | ]
69 | })
70 |
71 | module.exports = new Promise((resolve, reject) => {
72 | portfinder.basePort = process.env.PORT || config.dev.port
73 | portfinder.getPort((err, port) => {
74 | if (err) {
75 | reject(err)
76 | } else {
77 | // publish the new Port, necessary for e2e tests
78 | process.env.PORT = port
79 | // add port to devServer config
80 | devWebpackConfig.devServer.port = port
81 |
82 | // Add FriendlyErrorsPlugin
83 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
84 | compilationSuccessInfo: {
85 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
86 | },
87 | onErrors: config.dev.notifyOnErrors
88 | ? utils.createNotifierCallback()
89 | : undefined
90 | }))
91 |
92 | resolve(devWebpackConfig)
93 | }
94 | })
95 | })
96 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## tips
2 |
3 | 有改进建议或 bug 请提 issue
4 |
5 | ## 准备工作
6 |
7 | - 3.x 已使用 typescript,增加对 ts 的支持,直接使用即可
8 | - 如果项目仍在使用 2.x 版本
9 | - 确保你的 vue 项目已经安装以下插件:babel-plugin-transform-vue-jsx,babel-plugin-syntax-jsx
10 | - .babelrc 中配置
11 | "plugins": ["transform-vue-jsx", "transform-runtime"]
12 |
13 | ## 安装
14 |
15 | - npm i custom-ele-table
16 | - 或 yarn add custom-ele-table
17 |
18 | ## 在线演示
19 |
20 | [狠狠戳我](https://foolsogood.github.io/custom-ele-table/index.html)
21 |
22 | ## 为什么要做这个组件?这个组件能干嘛
23 |
24 | - 1.之前做 vue 的报表都是使用了 element-ui 的 table 组件,用过的都知道该组件并不是很符合数据驱动的思想,公司中多个项目需要做大量的报表展示或者修改提交的操作,因此产生了做自定义报表的需求
25 | - 2.目前有如下报表类型:
26 | - 展示基本信息(staticTable)
27 | - 支持多层级表头的混合表格(mutilTable)
28 | - 跨列单元格(rowEditableTable)
29 |
30 | ## 示例&&参数说明
31 |
32 | 导入
33 |
34 | ```
35 | import { staticTable, rowEditableTable, mutilTable } from "custom-ele-table";
36 | ```
37 |
38 | #### staticTable 组件
39 |
40 | ```
41 |
42 | ```
43 |
44 | #### mutilTable 组件
45 |
46 | ```
47 |
48 |
49 | ```
50 |
51 | #### rowEditableTable 组件
52 |
53 | ```
54 |
55 | ```
56 |
57 | #### 参数说明
58 |
59 | | 属性 | 说明 | 类型 | 默认值 | staticTable | rowEditableTable | mutilTable |
60 | | ------------------- | -------------------------------- | -------- | ------------------------------------------------ | ----------- | ---------------- | ---------- |
61 | | tableData | 表体数据 | Array | [] | ✔️ | ✔️ | ✔️ |
62 | | tableHeader | 表头数据 | Array | [] | ❌ | ✔️ | ✔️ |
63 | | tableBorderColor | 表格边框颜色 | String | #ddd | ✔️ | ✔️ | ✔️ |
64 | | cellHeight | 单元格高度 | Number | 40 | ✔️ | ✔️ | ✔️ |
65 | | bodyNotShowProps | 表体不显示的属性 | Array | [] | ❌ | ✔️ | ✔️ |
66 | | uniqueKey | 每一行的唯一标识(如 code,id) | String | | ❌ | ✔️ | ✔️ |
67 | | firstThClickHandler | 点击表头首个 th 触发事件 | Function | / | ❌ | ✔️ | ✔️ |
68 | | isFirstThEableClick | firstThClickHandler 属性是否可用 | Boolean | false | ❌ | ✔️ | ✔️ |
69 | | firstThStyle | 表头首个 th 样式 | Object | {} | ❌ | ✔️ | ✔️ | – |
70 | | isReadOnly | 该表格是否只读 | Boolean | false | ❌ | ✔️ | ✔️ |
71 | | bodyEmptyTips | 表体无数据显示的提示语 | String | 暂无数据 | ❌ | ✔️ | ✔️ |
72 | | headerStyle | header 样式 | Object | {background: "rgb(230, 242, 246)",color: "#333"} | ✔️ | ✔️ | ✔️ |
73 | | cellStyle | body 单元格样式 | Object | {background: "#fff",color: "#333"} | ✔️ | ✔️ | ✔️ |
74 | | calcCellStyle | 公式计算结果的单元格样式 | Object | {background: "#999",color: "#fff"} | ❌ | ✔️ | ✔️ |
75 |
76 | #### 回调方法
77 |
78 | | 方法 | 说明 | staticTable | rowEditableTable | mutilTable |
79 | | --------------- | -------------------- | ----------- | ---------------- | ---------- |
80 | | TableDataChange | 表体数据变化回调方法 | ❌ | ✔️ | ✔️ |
81 |
82 | #### 节点方法
83 |
84 | | 直接操作 ref 节点方法 | 说明 | staticTable | rowEditableTable | mutilTable |
85 | | ----------------------------------- | -------------------- | ----------- | ---------------- | ---------- |
86 | | this.\$refs.TEST_NODE.reCalculate() | 表体数据公式重新计算 | ❌ | ❌ | ✔️ |
87 |
--------------------------------------------------------------------------------
/example/build/webpack.prod.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const webpack = require('webpack')
5 | const config = require('../config')
6 | const merge = require('webpack-merge')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
12 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
13 |
14 | const env = require('../config/prod.env')
15 |
16 | const webpackConfig = merge(baseWebpackConfig, {
17 | module: {
18 | rules: utils.styleLoaders({
19 | sourceMap: config.build.productionSourceMap,
20 | extract: true,
21 | usePostCSS: true
22 | })
23 | },
24 | devtool: config.build.productionSourceMap ? config.build.devtool : false,
25 | output: {
26 | path: config.build.assetsRoot,
27 | filename: utils.assetsPath('js/[name].[chunkhash].js'),
28 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
29 | },
30 | plugins: [
31 | // http://vuejs.github.io/vue-loader/en/workflow/production.html
32 | new webpack.DefinePlugin({
33 | 'process.env': env
34 | }),
35 | new UglifyJsPlugin({
36 | uglifyOptions: {
37 | compress: {
38 | warnings: false
39 | }
40 | },
41 | sourceMap: config.build.productionSourceMap,
42 | parallel: true
43 | }),
44 | // extract css into its own file
45 | new ExtractTextPlugin({
46 | filename: utils.assetsPath('css/[name].[contenthash].css'),
47 | // Setting the following option to `false` will not extract CSS from codesplit chunks.
48 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
49 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
50 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
51 | allChunks: true,
52 | }),
53 | // Compress extracted CSS. We are using this plugin so that possible
54 | // duplicated CSS from different components can be deduped.
55 | new OptimizeCSSPlugin({
56 | cssProcessorOptions: config.build.productionSourceMap
57 | ? { safe: true, map: { inline: false } }
58 | : { safe: true }
59 | }),
60 | // generate dist index.html with correct asset hash for caching.
61 | // you can customize output by editing /index.html
62 | // see https://github.com/ampedandwired/html-webpack-plugin
63 | new HtmlWebpackPlugin({
64 | filename: config.build.index,
65 | template: 'index.html',
66 | inject: true,
67 | minify: {
68 | removeComments: true,
69 | collapseWhitespace: true,
70 | removeAttributeQuotes: true
71 | // more options:
72 | // https://github.com/kangax/html-minifier#options-quick-reference
73 | },
74 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin
75 | chunksSortMode: 'dependency'
76 | }),
77 | // keep module.id stable when vendor modules does not change
78 | new webpack.HashedModuleIdsPlugin(),
79 | // enable scope hoisting
80 | new webpack.optimize.ModuleConcatenationPlugin(),
81 | // split vendor js into its own file
82 | new webpack.optimize.CommonsChunkPlugin({
83 | name: 'vendor',
84 | minChunks (module) {
85 | // any required modules inside node_modules are extracted to vendor
86 | return (
87 | module.resource &&
88 | /\.js$/.test(module.resource) &&
89 | module.resource.indexOf(
90 | path.join(__dirname, '../node_modules')
91 | ) === 0
92 | )
93 | }
94 | }),
95 | // extract webpack runtime and module manifest to its own file in order to
96 | // prevent vendor hash from being updated whenever app bundle is updated
97 | new webpack.optimize.CommonsChunkPlugin({
98 | name: 'manifest',
99 | minChunks: Infinity
100 | }),
101 | // This instance extracts shared chunks from code splitted chunks and bundles them
102 | // in a separate chunk, similar to the vendor chunk
103 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
104 | new webpack.optimize.CommonsChunkPlugin({
105 | name: 'app',
106 | async: 'vendor-async',
107 | children: true,
108 | minChunks: 3
109 | }),
110 |
111 | // copy custom static assets
112 | new CopyWebpackPlugin([
113 | {
114 | from: path.resolve(__dirname, '../static'),
115 | to: config.build.assetsSubDirectory,
116 | ignore: ['.*']
117 | }
118 | ])
119 | ]
120 | })
121 |
122 | if (config.build.productionGzip) {
123 | const CompressionWebpackPlugin = require('compression-webpack-plugin')
124 |
125 | webpackConfig.plugins.push(
126 | new CompressionWebpackPlugin({
127 | asset: '[path].gz[query]',
128 | algorithm: 'gzip',
129 | test: new RegExp(
130 | '\\.(' +
131 | config.build.productionGzipExtensions.join('|') +
132 | ')$'
133 | ),
134 | threshold: 10240,
135 | minRatio: 0.8
136 | })
137 | )
138 | }
139 |
140 | if (config.build.bundleAnalyzerReport) {
141 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
142 | webpackConfig.plugins.push(new BundleAnalyzerPlugin())
143 | }
144 |
145 | module.exports = webpackConfig
146 |
--------------------------------------------------------------------------------
/example/src/mock/explain.js:
--------------------------------------------------------------------------------
1 | let propTableBody = [{
2 | prop: 'tableData',
3 | explain: '表体数据',
4 | type:'Array',
5 | default:'[]',
6 | staticTable: '✔️',
7 | rowEditableTable:'✔️',
8 | mutilTable: '✔️',
9 | },{
10 | prop: 'tableHeader',
11 | explain: '表头数据',
12 | type:'Array',
13 | default:'[]',
14 | staticTable: '❌',
15 | rowEditableTable:'✔️',
16 | mutilTable: '✔️',
17 | },{
18 | prop: 'tableBorderColor',
19 | explain: '表格边框颜色',
20 | type:'String',
21 | default:'#ddd',
22 | staticTable: '✔️',
23 | rowEditableTable:'✔️',
24 | mutilTable: '✔️',
25 | },{
26 | prop: 'cellHeight',
27 | explain: '单元格高度',
28 | type:'String, Number',
29 | default:'40',
30 | staticTable: '✔️',
31 | rowEditableTable:'✔️',
32 | mutilTable: '✔️',
33 | },{
34 | prop: 'bodyNotShowProps',
35 | explain: '表体不显示的属性',
36 | type:'Array',
37 | default:'[]',
38 | staticTable: '❌',
39 | rowEditableTable:'✔️',
40 | mutilTable: '✔️',
41 | },{
42 | prop: 'uniqueKey',
43 | explain: '每一行的唯一标识(如code,id)',
44 | type:'String',
45 | default:'',
46 | staticTable: '❌',
47 | rowEditableTable:'✔️',
48 | mutilTable: '✔️',
49 | },{
50 | prop: 'firstThClickHandler',
51 | explain: '点击表头首个th触发事件',
52 | type:'Function',
53 | default:'/',
54 | staticTable: '❌',
55 | rowEditableTable:'✔️',
56 | mutilTable: '✔️',
57 | },{
58 | prop: 'isFirstThEableClick',
59 | explain: 'firstThClickHandler属性是否可用',
60 | type:'Boolean',
61 | default:'false',
62 | staticTable: '❌',
63 | rowEditableTable:'✔️',
64 | mutilTable: '✔️',
65 | },{
66 | prop: 'firstThStyle',
67 | explain: '表头首个th样式',
68 | type:'Object',
69 | default:'{}',
70 | staticTable: '❌',
71 | rowEditableTable:'✔️',
72 | mutilTable: '✔️',
73 | },{
74 | prop: 'isReadOnly',
75 | explain: '该表格是否只读',
76 | type:'Boolean',
77 | default:'false',
78 | staticTable: '❌',
79 | rowEditableTable:'✔️',
80 | mutilTable: '✔️',
81 | },{
82 | prop: 'bodyEmptyTips',
83 | explain: '表体无数据显示的提示语',
84 | type:'String',
85 | default:'暂无数据',
86 | staticTable: '❌',
87 | rowEditableTable:'✔️',
88 | mutilTable: '✔️',
89 | },{
90 | prop: 'headerStyle',
91 | explain: 'header样式',
92 | type:'Object',
93 | default:'{background: "rgb(230, 242, 246)",color: "#333"}',
94 | staticTable: '✔️',
95 | rowEditableTable:'✔️',
96 | mutilTable: '✔️',
97 | },{
98 | prop: 'cellStyle',
99 | explain: 'body单元格样式',
100 | type:'Object',
101 | default:'{background: "#fff",color: "#333"}',
102 | staticTable: '✔️',
103 | rowEditableTable:'✔️',
104 | mutilTable: '✔️',
105 | },{
106 | prop: 'calcCellStyle',
107 | explain: '公式计算结果的单元格样式',
108 | type:'Object',
109 | default:'{background: "#999",color: "#fff"}',
110 | staticTable: '❌',
111 | rowEditableTable:'✔️',
112 | mutilTable: '✔️',
113 | }]
114 |
115 | let propTableHeader = [
116 | {
117 | title: '属性',
118 | key: 'prop'
119 | },
120 | {
121 | title: '说明',
122 | key: 'explain',
123 | isCanEdit: 0
124 | },
125 | {
126 | title: '类型',
127 | key: 'type',
128 | isCanEdit: 0
129 | },
130 | {
131 | title: '默认值',
132 | key: 'default',
133 | isCanEdit: 0
134 | },
135 | {
136 | title: 'staticTable',
137 | key: 'staticTable',
138 | isCanEdit: 0
139 | },
140 | {
141 | title: 'rowEditableTable',
142 | key: 'rowEditableTable',
143 | isCanEdit: 0
144 | },
145 | {
146 | title: 'mutilTable',
147 | key: 'mutilTable',
148 | isCanEdit: 0
149 | },
150 |
151 |
152 | ]
153 | let funcTableData=[
154 | {
155 | func: 'TableDataChange',
156 | explain: '表体数据变化回调方法',
157 | // way:'',
158 | staticTable: '❌',
159 | rowEditableTable:'✔️',
160 | mutilTable: '✔️',
161 | }
162 | ]
163 | let funcTableHeader = [
164 | {
165 | title: '方法',
166 | key: 'func'
167 | },
168 | {
169 | title: '说明',
170 | key: 'explain',
171 | isCanEdit: 0
172 | },
173 | {
174 | title: 'staticTable',
175 | key: 'staticTable',
176 | isCanEdit: 0
177 | },
178 | {
179 | title: 'rowEditableTable',
180 | key: 'rowEditableTable',
181 | isCanEdit: 0
182 | },
183 | {
184 | title: 'mutilTable',
185 | key: 'mutilTable',
186 | isCanEdit: 0
187 | },
188 |
189 |
190 | ]
191 | let methodTableData=[
192 | {
193 | func: 'this.$refs.TEST_NODE.reCalculate()',
194 | explain: '表体数据公式重新计算',
195 | staticTable: '❌',
196 | rowEditableTable:'❌',
197 | mutilTable: '✔️',
198 | }
199 | ]
200 | let methodTableHeader = [
201 | {
202 | title: '直接操作ref节点方法',
203 | key: 'func'
204 | },
205 | {
206 | title: '说明',
207 | key: 'explain',
208 | isCanEdit: 0
209 | },
210 | {
211 | title: 'staticTable',
212 | key: 'staticTable',
213 | isCanEdit: 0
214 | },
215 | {
216 | title: 'rowEditableTable',
217 | key: 'rowEditableTable',
218 | isCanEdit: 0
219 | },
220 | {
221 | title: 'mutilTable',
222 | key: 'mutilTable',
223 | isCanEdit: 0
224 | },
225 |
226 |
227 | ]
228 | export default {
229 | propTableHeader,
230 | propTableBody,
231 | funcTableData,
232 | funcTableHeader,
233 | methodTableHeader,
234 | methodTableData
235 | }
236 |
--------------------------------------------------------------------------------
/example/src/mock/table4.js:
--------------------------------------------------------------------------------
1 | export const tableBody = [
2 | {
3 | month: "1月",
4 | lng: "",
5 | qiyou: "",
6 | chaiyou_che: "",
7 | ghg_1: "",
8 | tianranqi: 4708.551,
9 | diweizhi: 34.0753118273541,
10 | ghg_2: 89226.2226903353,
11 | ywdl: 47.344,
12 | ghg_3: 249.550224,
13 | ghg_total: 110000
14 | },
15 | {
16 | month: "2月",
17 | lng: "",
18 | qiyou: "",
19 | chaiyou_che: "",
20 | ghg_1: "",
21 | tianranqi: 4183.6351,
22 | diweizhi: 34.1362548875259,
23 | ghg_2: 79420.9469578391,
24 | ywdl: 79.8599999999999,
25 | ghg_3: 420.94206,
26 | ghg_total: 120000
27 | },
28 | {
29 | month: "3月",
30 | lng: "",
31 | qiyou: "",
32 | chaiyou_che: "",
33 | ghg_1: "",
34 | tianranqi: 4335.0307,
35 | diweizhi: 34.1227408954681,
36 | ghg_2: 82262.4190016046,
37 | ywdl: "0",
38 | ghg_3: "0",
39 | ghg_total: "100000"
40 | },
41 | {
42 | month: "4月",
43 | lng: "",
44 | qiyou: "",
45 | chaiyou_che: "",
46 | ghg_1: "",
47 | tianranqi: "4460.15809999999",
48 | diweizhi: "34.117761390566",
49 | ghg_2: "84624.5108506591",
50 | ywdl: "36.7620000000001",
51 | ghg_3: "193.772502000001",
52 | ghg_total: "84818.2833526591"
53 | },
54 | {
55 | month: "5月",
56 | lng: "",
57 | qiyou: "",
58 | chaiyou_che: "",
59 | ghg_1: "",
60 | tianranqi: "7764.10410000001",
61 | diweizhi: "34.1356281938569",
62 | ghg_2: "147388.853151911",
63 | ywdl: "0",
64 | ghg_3: "0",
65 | ghg_total: "147388.853151911"
66 | },
67 | {
68 | month: "6月",
69 | lng: "",
70 | qiyou: "",
71 | chaiyou_che: "",
72 | ghg_1: "",
73 | tianranqi: "7016.05299999999",
74 | diweizhi: "34.045081900037",
75 | ghg_2: "132835.035047484",
76 | ywdl: "0",
77 | ghg_3: "0",
78 | ghg_total: "132835.035047484"
79 | },
80 | {
81 | month: "7月",
82 | lng: "",
83 | qiyou: "",
84 | chaiyou_che: "",
85 | ghg_1: "",
86 | tianranqi: "4948.28300000001",
87 | diweizhi: "34.1013843731249",
88 | ghg_2: "93840.8493397861",
89 | ywdl: "0",
90 | ghg_3: "0",
91 | ghg_total: "93840.8493397861"
92 | },
93 | {
94 | month: "8月",
95 | lng: "",
96 | qiyou: "",
97 | chaiyou_che: "",
98 | ghg_1: "",
99 | tianranqi: "3222.59780000001",
100 | diweizhi: "34.1530557489984",
101 | ghg_2: "61206.9957911491",
102 | ywdl: "51.1059999999999",
103 | ghg_3: "269.379725999999",
104 | ghg_total: "61476.3755171491"
105 | },
106 | {
107 | month: "9月",
108 | lng: "",
109 | qiyou: "",
110 | chaiyou_che: "",
111 | ghg_1: "",
112 | tianranqi: "2695.5603",
113 | diweizhi: "33.6406699787054",
114 | ghg_2: "50428.8516124774",
115 | ywdl: "13.354",
116 | ghg_3: "70.3889339999999",
117 | ghg_total: "50499.2405464774"
118 | },
119 | {
120 | month: "10月",
121 | lng: "",
122 | qiyou: "",
123 | chaiyou_che: "",
124 | ghg_1: "",
125 | tianranqi: "4494.65529999998",
126 | diweizhi: "33.8306721318541",
127 | ghg_2: "84561.4472851368",
128 | ywdl: "53.4159999999999",
129 | ghg_3: "281.555736",
130 | ghg_total: "84843.0030211368"
131 | },
132 | {
133 | month: "11月",
134 | lng: "",
135 | qiyou: "",
136 | chaiyou_che: "",
137 | ghg_1: "",
138 | tianranqi: "4393.3581",
139 | diweizhi: "34.1282536085551",
140 | ghg_2: "83382.7202892539",
141 | ywdl: "75.5260000000002",
142 | ghg_3: "398.097546000001",
143 | ghg_total: "83780.8178352539"
144 | },
145 | {
146 | month: "12月",
147 | lng: "",
148 | qiyou: "",
149 | chaiyou_che: "",
150 | ghg_1: "",
151 | tianranqi: "5775.4311",
152 | diweizhi: "34.6650054157862",
153 | ghg_2: "111337.398620802",
154 | ywdl: "0",
155 | ghg_3: "0",
156 | ghg_total: "111337.398620802"
157 | },
158 | {
159 | month: "合计",
160 | lng: "31384.93",
161 | qiyou: "44532.415",
162 | chaiyou_che: "2268.26",
163 | ghg_1: "164.243528056464",
164 | tianranqi: "57997.4176",
165 | diweizhi: "34.1210520317374",
166 | ghg_2: "1100516.25063844",
167 | ywdl: "357.368",
168 | ghg_3: "1883.686728",
169 | ghg_total: "1102564.18089449"
170 | }
171 | ];
172 |
173 | export const tableHeader = [
174 | {
175 | title: "日期",
176 | key: "month",
177 |
178 | rowSpan: 2,
179 | colSpan: 1
180 | },
181 | {
182 | title: "LNG 汽油 柴油燃烧排放",
183 | rowSpan: 1,
184 | colSpan: 4,
185 | children: [
186 | {
187 | title: "LNG/车用(升)",
188 | key: "lng"
189 | },
190 | {
191 | title: "汽油/车(升)",
192 |
193 | key: "qiyou"
194 | },
195 | {
196 | title: "柴油/车(升)",
197 | key: "chaiyou_che"
198 | },
199 | {
200 | title: "GHG排放(吨)",
201 | key: "ghg_1"
202 | }
203 | ]
204 | },
205 | {
206 | title: "天然气燃烧排放",
207 | rowSpan: 1,
208 | colSpan: 3,
209 | children: [
210 | {
211 | title: "天然气(万方)",
212 | key: "tianranqi"
213 | },
214 | {
215 | title: "低位热值(MJ/方)",
216 | key: "diweizhi"
217 | },
218 | {
219 | title: "GHG排放",
220 | key: "ghg_2"
221 | }
222 | ]
223 | },
224 | {
225 | title: "外购电力排放",
226 | rowSpan: 1,
227 | colSpan: 2,
228 | children: [
229 | {
230 | title: "用网电量(万度)",
231 | key: "ywdl"
232 | },
233 | {
234 | title: "GHG排放",
235 | key: "ghg_3"
236 | }
237 | ]
238 | },
239 | {
240 | title: "合计",
241 | children: [
242 | {
243 | title: "GHG排放总量(吨)",
244 | key: "ghg_total"
245 | }
246 | ]
247 | }
248 | ];
249 | export default {
250 | tableHeader,
251 | tableBody
252 | };
253 |
--------------------------------------------------------------------------------
/es/tools/index.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/tools/index.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/lib/style/input.css:
--------------------------------------------------------------------------------
1 | .el-input {
2 | position: relative;
3 | font-size: 14px;
4 | display: inline-block;
5 | width: 100%;
6 | }
7 | .el-input::-webkit-scrollbar {
8 | z-index: 11;
9 | width: 6px;
10 | }
11 | .el-input::-webkit-scrollbar:horizontal {
12 | height: 6px;
13 | }
14 | .el-input::-webkit-scrollbar-thumb {
15 | border-radius: 5px;
16 | width: 6px;
17 | background: #b4bccc;
18 | }
19 | .el-input::-webkit-scrollbar-corner {
20 | background: #fff;
21 | }
22 | .el-input::-webkit-scrollbar-track {
23 | background: #fff;
24 | }
25 | .el-input::-webkit-scrollbar-track-piece {
26 | background: #fff;
27 | width: 6px;
28 | }
29 | .el-input .el-input__clear {
30 | color: #c0c4cc;
31 | font-size: 14px;
32 | line-height: 16px;
33 | cursor: pointer;
34 | -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
35 | transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
36 | }
37 | .el-input .el-input__clear:hover {
38 | color: #909399;
39 | }
40 | .el-input__inner__1 {
41 | -webkit-appearance: none;
42 | background-color: #fff;
43 | background-image: none;
44 | border-radius: 4px;
45 | border: 1px solid #ddd;
46 | -webkit-box-sizing: border-box;
47 | box-sizing: border-box;
48 | color: #606266;
49 | display: inline-block;
50 | font-size: inherit;
51 | height: 40px;
52 | line-height: 40px;
53 | outline: 0;
54 | padding: 0 15px;
55 | -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
56 | transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
57 | width: 100%;
58 | }
59 | .el-input__prefix,
60 | .el-input__suffix {
61 | position: absolute;
62 | top: 0;
63 | -webkit-transition: all 0.3s;
64 | text-align: center;
65 | height: 100%;
66 | color: #c0c4cc;
67 | }
68 | .el-input__inner__1::-webkit-input-placeholder {
69 | color: #c0c4cc;
70 | }
71 | .el-input__inner__1:-ms-input-placeholder {
72 | color: #c0c4cc;
73 | }
74 | .el-input__inner__1::placeholder {
75 | color: #c0c4cc;
76 | }
77 | .el-input__inner__1:hover {
78 | border-color: #c0c4cc;
79 | }
80 | .el-input.is-active .el-input__inner__1,
81 | .el-input__inner__1:focus {
82 | border-color: #409eff;
83 | outline: 0;
84 | }
85 | .el-input__suffix {
86 | right: 5px;
87 | transition: all 0.3s;
88 | pointer-events: none;
89 | }
90 | .el-input__suffix-inner {
91 | pointer-events: all;
92 | }
93 | .el-input__prefix {
94 | left: 5px;
95 | transition: all 0.3s;
96 | }
97 | .el-input__icon {
98 | height: 100%;
99 | width: 25px;
100 | text-align: center;
101 | -webkit-transition: all 0.3s;
102 | transition: all 0.3s;
103 | line-height: 40px;
104 | }
105 | .el-input__icon:after {
106 | content: "";
107 | height: 100%;
108 | width: 0;
109 | display: inline-block;
110 | vertical-align: middle;
111 | }
112 | .el-input__validateIcon {
113 | pointer-events: none;
114 | }
115 | .el-input.is-disabled .el-input__inner__1 {
116 | background-color: #f5f7fa;
117 | border-color: #e4e7ed;
118 | color: #c0c4cc;
119 | cursor: not-allowed;
120 | }
121 | .el-input.is-disabled .el-input__inner__1::-webkit-input-placeholder {
122 | color: #c0c4cc;
123 | }
124 | .el-input.is-disabled .el-input__inner__1:-ms-input-placeholder {
125 | color: #c0c4cc;
126 | }
127 | .el-input.is-disabled .el-input__inner__1::placeholder {
128 | color: #c0c4cc;
129 | }
130 | .el-input.is-disabled .el-input__icon {
131 | cursor: not-allowed;
132 | }
133 | .el-input--suffix .el-input__inner__1 {
134 | padding-right: 30px;
135 | }
136 | .el-input--prefix .el-input__inner__1 {
137 | padding-left: 30px;
138 | }
139 | .el-input--medium {
140 | font-size: 14px;
141 | }
142 | .el-input--medium .el-input__inner__1 {
143 | height: 36px;
144 | line-height: 36px;
145 | }
146 | .el-input--medium .el-input__icon {
147 | line-height: 36px;
148 | }
149 | .el-input--small {
150 | font-size: 13px;
151 | }
152 | .el-input--small .el-input__inner__1 {
153 | height: 32px;
154 | line-height: 32px;
155 | }
156 | .el-input--small .el-input__icon {
157 | line-height: 32px;
158 | }
159 | .el-input--mini {
160 | font-size: 12px;
161 | }
162 | .el-input--mini .el-input__inner__1 {
163 | height: 28px;
164 | line-height: 28px;
165 | }
166 | .el-input--mini .el-input__icon {
167 | line-height: 28px;
168 | }
169 | .el-input-group {
170 | line-height: normal;
171 | display: inline-table;
172 | width: 100%;
173 | border-collapse: separate;
174 | }
175 | .el-input-group > .el-input__inner__1 {
176 | vertical-align: middle;
177 | display: table-cell;
178 | }
179 | .el-input-group__append,
180 | .el-input-group__prepend {
181 | background-color: #f5f7fa;
182 | color: #909399;
183 | vertical-align: middle;
184 | display: table-cell;
185 | position: relative;
186 | border: 1px solid #dcdfe6;
187 | border-radius: 4px;
188 | padding: 0 20px;
189 | width: 1px;
190 | white-space: nowrap;
191 | }
192 | .el-input-group--prepend .el-input__inner__1,
193 | .el-input-group__append {
194 | border-top-left-radius: 0;
195 | border-bottom-left-radius: 0;
196 | }
197 | .el-input-group--append .el-input__inner__1,
198 | .el-input-group__prepend {
199 | border-top-right-radius: 0;
200 | border-bottom-right-radius: 0;
201 | }
202 | .el-input-group__append:focus,
203 | .el-input-group__prepend:focus {
204 | outline: 0;
205 | }
206 | .el-input-group__append .el-button,
207 | .el-input-group__append .el-select,
208 | .el-input-group__prepend .el-button,
209 | .el-input-group__prepend .el-select {
210 | display: inline-block;
211 | margin: -10px -20px;
212 | }
213 | .el-input-group__append button.el-button,
214 | .el-input-group__append div.el-select .el-input__inner__1,
215 | .el-input-group__append div.el-select:hover .el-input__inner__1,
216 | .el-input-group__prepend button.el-button,
217 | .el-input-group__prepend div.el-select .el-input__inner__1,
218 | .el-input-group__prepend div.el-select:hover .el-input__inner__1 {
219 | border-color: transparent;
220 | background-color: transparent;
221 | color: inherit;
222 | border-top: 0;
223 | border-bottom: 0;
224 | }
225 | .el-input-group__append .el-button,
226 | .el-input-group__append .el-input,
227 | .el-input-group__prepend .el-button,
228 | .el-input-group__prepend .el-input {
229 | font-size: inherit;
230 | }
231 | .el-input-group__prepend {
232 | border-right: 0;
233 | }
234 | .el-input-group__append {
235 | border-left: 0;
236 | }
237 | .el-input-group--append .el-select .el-input.is-focus .el-input__inner__1,
238 | .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner__1 {
239 | border-color: transparent;
240 | }
241 | .el-input__inner__1::-ms-clear {
242 | display: none;
243 | width: 0;
244 | height: 0;
245 | }
246 |
--------------------------------------------------------------------------------
/lib/tools/index.ts:
--------------------------------------------------------------------------------
1 | class Tools {
2 | public convert2Zero(a: any) {
3 | return Object.is(Number(a), NaN) ? 0 : a;
4 | }
5 | //浮点型加法函数
6 | public floatAdd(a: number, b: number) {
7 | let r1;
8 | let r2;
9 | try {
10 | r1 = a.toString().split(".")[1].length;
11 | } catch (e) {
12 | r1 = 0;
13 | }
14 | try {
15 | r2 = b.toString().split(".")[1].length;
16 | } catch (e) {
17 | r2 = 0;
18 | }
19 | const m = Math.pow(10, Math.max(r1, r2));
20 | return ((a * m + b * m) / m).toFixed(3);
21 | }
22 | //浮点型乘法
23 | public floatMul(a: number, b: number) {
24 | let c = 0;
25 | const d = a.toString();
26 | const e = b.toString();
27 | try {
28 | c += d.split(".")[1].length;
29 | } catch (f) {
30 | //;
31 | }
32 | try {
33 | c += e.split(".")[1].length;
34 | } catch (f) {
35 | //;
36 | }
37 | return (
38 | (Number(d.replace(".", "")) * Number(e.replace(".", ""))) /
39 | Math.pow(10, c)
40 | );
41 | }
42 | //浮点型除法
43 | public floatDiv(a: number, b: number) {
44 | function floatMul(A: number, B: number) {
45 | let c = 0;
46 | const d = A.toString();
47 | const e = B.toString();
48 | try {
49 | c += d.split(".")[1].length;
50 | } catch (f) {
51 | //;
52 | }
53 | try {
54 | c += e.split(".")[1].length;
55 | } catch (f) {
56 | //;
57 | }
58 | return (
59 | (Number(d.replace(".", "")) * Number(e.replace(".", ""))) /
60 | Math.pow(10, c)
61 | );
62 | }
63 | let c;
64 | let d;
65 | let e = 0;
66 | let f = 0;
67 | try {
68 | e = a.toString().split(".")[1].length;
69 | } catch (g) {
70 | //;
71 | }
72 | try {
73 | f = b.toString().split(".")[1].length;
74 | } catch (g) {
75 | //;
76 | }
77 | return (
78 | (c = Number(a.toString().replace(".", ""))),
79 | (d = Number(b.toString().replace(".", ""))),
80 | floatMul(c / d, Math.pow(10, f - e))
81 | );
82 | }
83 |
84 | //判断变量类型 返回 'String' 'Object'等构造函数名
85 | // isType(obj) {return Object.prototype.toString.call(obj).slice(8, -1) }
86 | //深拷贝
87 | public deepCopy(obj1: T): T {
88 | const type = Object.prototype.toString.call(obj1).slice(8, -1);
89 | let resObj: any;
90 | //引用类型
91 | if (typeof obj1 === "object") {
92 | // if (type === "Array") {
93 | if (obj1 instanceof Array) {
94 | resObj = [];
95 | for (let i = 0; i < obj1.length; i++) {
96 | const cur = obj1![i];
97 | if (typeof obj1[i] === "object") {
98 | resObj[i] = this.deepCopy(obj1[i]);
99 | } else {
100 | resObj[i] = obj1[i];
101 | }
102 | }
103 | }
104 | if (type === "Object") {
105 | resObj = {};
106 | for (const key in obj1) {
107 | if (typeof obj1[key] === "object") {
108 | resObj[key] = this.deepCopy(obj1[key]);
109 | } else {
110 | resObj[key] = obj1[key];
111 | }
112 | }
113 | }
114 | } else {
115 | //基本类型
116 | resObj = obj1;
117 | }
118 | return resObj;
119 | }
120 | //节流
121 | public throttle(fn: () => void, delay: number) {
122 | let endTime: number;
123 | let timer: any;
124 | const self = this;
125 | // tslint:disable-next-line: only-arrow-functions
126 | return function(...args: any) {
127 | const startTime = +new Date();
128 | if (endTime && Math.abs(endTime - startTime) < delay) {
129 | clearTimeout(timer);
130 | timer = setTimeout(() => {
131 | endTime = +new Date();
132 | fn.apply(self, args);
133 | }, delay);
134 | } else {
135 | endTime = +new Date();
136 | fn.apply(self, args);
137 | }
138 | };
139 | }
140 | public guid() {
141 | function S4() {
142 | // tslint:disable-next-line: no-bitwise
143 | return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
144 | }
145 | return (
146 | S4() +
147 | S4() +
148 | "-" +
149 | S4() +
150 | "-" +
151 | S4() +
152 | "-" +
153 | S4() +
154 | "-" +
155 | S4() +
156 | S4() +
157 | S4()
158 | );
159 | }
160 | //两个对象是否相等,这里值处理了基本类型和数组及对象, Date对象和正则没有处理
161 | public checkIfObjectEqual(objA: any, objB: any): boolean {
162 | // tslint:disable-next-line: only-arrow-functions
163 | const isType = function(obj: any) {
164 | return Object.prototype.toString.call(obj).slice(8, -1);
165 | };
166 |
167 | const typeA = isType(objA);
168 | const typeB = isType(objB);
169 | //如果类型不一样直接false
170 | if (typeA !== typeB) {
171 | // console.log("构造函数不一致");
172 | return false;
173 | }
174 | //是引用类型
175 | if (typeof objA === "object") {
176 | //传入的是数组
177 | // if (typeA === "Array") {
178 | if (objA instanceof Array && objB instanceof Array) {
179 | if (objA.length !== objB.length) {
180 | // console.log("数组长度不一");
181 | return false;
182 | }
183 | if (objA.length) {
184 | for (let i = 0; i < objA.length; i++) {
185 | //某下标值为引用值,递归
186 | if (typeof objA[i] === "object") {
187 | this.checkIfObjectEqual(objA[i], objB[i]);
188 | } else {
189 | //如果某个下标值不一致 直接false
190 | if (objA[i] !== objB[i]) {
191 | // console.log("数组某个值不一样", objA[i], objB[i]);
192 | return false;
193 | }
194 | }
195 | }
196 | } else {
197 | return true;
198 | }
199 | }
200 | //传入的是集合
201 | if (typeA === "Object") {
202 | //遍历objA
203 | // tslint:disable-next-line: forin
204 | for (const key in objA) {
205 | if (!Reflect.has(objB, key)) {
206 | return false;
207 | }
208 | //递归
209 | if (typeof objA[key] === "object") {
210 | // console.log(key, objA[key])
211 | this.checkIfObjectEqual(objA[key], objB[key]);
212 | } else {
213 | //如果objB中没有对应key
214 | if (!objB[key]) {
215 | // console.log("对象无此key");
216 | return false;
217 | }
218 | if (objA[key] !== objB[key]) {
219 | return false;
220 | }
221 | }
222 | }
223 | }
224 | } else {
225 | //都是基本类型直接比较
226 | return objA === objB;
227 | }
228 | return true;
229 | }
230 | }
231 |
232 | //这里用单例模式确保不会重复创建多个实例
233 | const getTool: Tools = (() => {
234 | let tool: Tools;
235 | return () => {
236 | if (!tool) {
237 | tool = new Tools();
238 | }
239 | return tool;
240 | };
241 | })()();
242 | export default getTool;
243 |
--------------------------------------------------------------------------------
/example/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
staticTable
5 |
6 |
7 |
10 |
11 |
17 |
18 |
19 |
20 |
21 |
rowEditableTable
22 |
23 | {{ item.title }}
31 |
32 |
39 |
40 |
43 |
44 |
45 | 表头
46 |
52 |
53 |
54 | 表体
55 |
61 |
62 |
63 |
64 |
65 |
66 |
mutilTable
67 |
68 | {{ item.title }}
76 |
77 |
88 |
89 |
92 |
93 |
94 | 表头
95 |
101 |
102 |
103 | 表体
104 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
233 |
250 |
--------------------------------------------------------------------------------
/es/tools/index.js:
--------------------------------------------------------------------------------
1 | class Tools {
2 | convert2Zero(a) {
3 | return Object.is(Number(a), NaN) ? 0 : a;
4 | }
5 | //浮点型加法函数
6 | floatAdd(a, b) {
7 | let r1;
8 | let r2;
9 | try {
10 | r1 = a.toString().split(".")[1].length;
11 | }
12 | catch (e) {
13 | r1 = 0;
14 | }
15 | try {
16 | r2 = b.toString().split(".")[1].length;
17 | }
18 | catch (e) {
19 | r2 = 0;
20 | }
21 | const m = Math.pow(10, Math.max(r1, r2));
22 | return ((a * m + b * m) / m).toFixed(3);
23 | }
24 | //浮点型乘法
25 | floatMul(a, b) {
26 | let c = 0;
27 | const d = a.toString();
28 | const e = b.toString();
29 | try {
30 | c += d.split(".")[1].length;
31 | }
32 | catch (f) {
33 | //;
34 | }
35 | try {
36 | c += e.split(".")[1].length;
37 | }
38 | catch (f) {
39 | //;
40 | }
41 | return ((Number(d.replace(".", "")) * Number(e.replace(".", ""))) /
42 | Math.pow(10, c));
43 | }
44 | //浮点型除法
45 | floatDiv(a, b) {
46 | function floatMul(A, B) {
47 | let c = 0;
48 | const d = A.toString();
49 | const e = B.toString();
50 | try {
51 | c += d.split(".")[1].length;
52 | }
53 | catch (f) {
54 | //;
55 | }
56 | try {
57 | c += e.split(".")[1].length;
58 | }
59 | catch (f) {
60 | //;
61 | }
62 | return ((Number(d.replace(".", "")) * Number(e.replace(".", ""))) /
63 | Math.pow(10, c));
64 | }
65 | let c;
66 | let d;
67 | let e = 0;
68 | let f = 0;
69 | try {
70 | e = a.toString().split(".")[1].length;
71 | }
72 | catch (g) {
73 | //;
74 | }
75 | try {
76 | f = b.toString().split(".")[1].length;
77 | }
78 | catch (g) {
79 | //;
80 | }
81 | return ((c = Number(a.toString().replace(".", ""))),
82 | (d = Number(b.toString().replace(".", ""))),
83 | floatMul(c / d, Math.pow(10, f - e)));
84 | }
85 | //判断变量类型 返回 'String' 'Object'等构造函数名
86 | // isType(obj) {return Object.prototype.toString.call(obj).slice(8, -1) }
87 | //深拷贝
88 | deepCopy(obj1) {
89 | const type = Object.prototype.toString.call(obj1).slice(8, -1);
90 | let resObj;
91 | //引用类型
92 | if (typeof obj1 === "object") {
93 | // if (type === "Array") {
94 | if (obj1 instanceof Array) {
95 | resObj = [];
96 | for (let i = 0; i < obj1.length; i++) {
97 | const cur = obj1[i];
98 | if (typeof obj1[i] === "object") {
99 | resObj[i] = this.deepCopy(obj1[i]);
100 | }
101 | else {
102 | resObj[i] = obj1[i];
103 | }
104 | }
105 | }
106 | if (type === "Object") {
107 | resObj = {};
108 | for (const key in obj1) {
109 | if (typeof obj1[key] === "object") {
110 | resObj[key] = this.deepCopy(obj1[key]);
111 | }
112 | else {
113 | resObj[key] = obj1[key];
114 | }
115 | }
116 | }
117 | }
118 | else {
119 | //基本类型
120 | resObj = obj1;
121 | }
122 | return resObj;
123 | }
124 | //节流
125 | throttle(fn, delay) {
126 | let endTime;
127 | let timer;
128 | const self = this;
129 | // tslint:disable-next-line: only-arrow-functions
130 | return function (...args) {
131 | const startTime = +new Date();
132 | if (endTime && Math.abs(endTime - startTime) < delay) {
133 | clearTimeout(timer);
134 | timer = setTimeout(() => {
135 | endTime = +new Date();
136 | fn.apply(self, args);
137 | }, delay);
138 | }
139 | else {
140 | endTime = +new Date();
141 | fn.apply(self, args);
142 | }
143 | };
144 | }
145 | guid() {
146 | function S4() {
147 | // tslint:disable-next-line: no-bitwise
148 | return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
149 | }
150 | return (S4() +
151 | S4() +
152 | "-" +
153 | S4() +
154 | "-" +
155 | S4() +
156 | "-" +
157 | S4() +
158 | "-" +
159 | S4() +
160 | S4() +
161 | S4());
162 | }
163 | //两个对象是否相等,这里值处理了基本类型和数组及对象, Date对象和正则没有处理
164 | checkIfObjectEqual(objA, objB) {
165 | // tslint:disable-next-line: only-arrow-functions
166 | const isType = function (obj) {
167 | return Object.prototype.toString.call(obj).slice(8, -1);
168 | };
169 | const typeA = isType(objA);
170 | const typeB = isType(objB);
171 | //如果类型不一样直接false
172 | if (typeA !== typeB) {
173 | // console.log("构造函数不一致");
174 | return false;
175 | }
176 | //是引用类型
177 | if (typeof objA === "object") {
178 | //传入的是数组
179 | // if (typeA === "Array") {
180 | if (objA instanceof Array && objB instanceof Array) {
181 | if (objA.length !== objB.length) {
182 | // console.log("数组长度不一");
183 | return false;
184 | }
185 | if (objA.length) {
186 | for (let i = 0; i < objA.length; i++) {
187 | //某下标值为引用值,递归
188 | if (typeof objA[i] === "object") {
189 | this.checkIfObjectEqual(objA[i], objB[i]);
190 | }
191 | else {
192 | //如果某个下标值不一致 直接false
193 | if (objA[i] !== objB[i]) {
194 | // console.log("数组某个值不一样", objA[i], objB[i]);
195 | return false;
196 | }
197 | }
198 | }
199 | }
200 | else {
201 | return true;
202 | }
203 | }
204 | //传入的是集合
205 | if (typeA === "Object") {
206 | //遍历objA
207 | // tslint:disable-next-line: forin
208 | for (const key in objA) {
209 | if (!Reflect.has(objB, key)) {
210 | return false;
211 | }
212 | //递归
213 | if (typeof objA[key] === "object") {
214 | // console.log(key, objA[key])
215 | this.checkIfObjectEqual(objA[key], objB[key]);
216 | }
217 | else {
218 | //如果objB中没有对应key
219 | if (!objB[key]) {
220 | // console.log("对象无此key");
221 | return false;
222 | }
223 | if (objA[key] !== objB[key]) {
224 | return false;
225 | }
226 | }
227 | }
228 | }
229 | }
230 | else {
231 | //都是基本类型直接比较
232 | return objA === objB;
233 | }
234 | return true;
235 | }
236 | }
237 | //这里用单例模式确保不会重复创建多个实例
238 | const getTool = (() => {
239 | let tool;
240 | return () => {
241 | if (!tool) {
242 | tool = new Tools();
243 | }
244 | return tool;
245 | };
246 | })()();
247 | export default getTool;
248 | //# sourceMappingURL=index.js.map
--------------------------------------------------------------------------------
/example/src/mock/table2.js:
--------------------------------------------------------------------------------
1 | export const tableBody=[{
2 | "explain": "",
3 | "code": "01000001",
4 | "thisYearValue": "11",
5 | "rate": {
6 | "code": "01000001",
7 | "key": "rate",
8 | "type": "",
9 | "fnParms": [{
10 | "code": "01000001",
11 | "key": "thisYearValue"
12 | }, {
13 | "code": "01000001",
14 | "key": "lastYearValue"
15 | }],
16 | "parmArrs": null,
17 | "fn": "function(a,b){return(a/b)}",
18 | "cal": null,
19 | "isCanEdit": false,
20 | "value": "1"
21 | },
22 | "lastYearValue": "11",
23 | "index": "工业总产值(可比价)",
24 | "uint": "万元"
25 | }, {
26 | "explain": "",
27 | "code": "01000002",
28 | "thisYearValue": "3",
29 | "rate": {
30 | "code": "01000002",
31 | "key": "rate",
32 | "type": "",
33 | "fnParms": [{
34 | "code": "01000002",
35 | "key": "thisYearValue"
36 | }, {
37 | "code": "01000002",
38 | "key": "lastYearValue"
39 | }],
40 | "parmArrs": null,
41 | "fn": "function(a,b){return(a/b)}",
42 | "cal": null,
43 | "isCanEdit": false,
44 | "value": "1"
45 | },
46 | "lastYearValue": "3",
47 | "index": "工业增加值",
48 | "uint": "万元"
49 | }, {
50 | "explain": "",
51 | "code": "01000006",
52 | "thisYearValue": "3",
53 | "rate": {
54 | "code": "01000006",
55 | "key": "rate",
56 | "type": "",
57 | "fnParms": [{
58 | "code": "01000006",
59 | "key": "thisYearValue"
60 | }, {
61 | "code": "01000006",
62 | "key": "lastYearValue"
63 | }],
64 | "parmArrs": null,
65 | "fn": "function(a,b){return(a/b)}",
66 | "cal": null,
67 | "isCanEdit": false,
68 | "value": "0.75"
69 | },
70 | "lastYearValue": "4",
71 | "index": "能源管理师人数",
72 | "uint": "人"
73 | }, {
74 | "explain": "",
75 | "code": "01000007",
76 | "thisYearValue": "11111",
77 | "rate": {
78 | "code": "01000007",
79 | "key": "rate",
80 | "type": "",
81 | "fnParms": [{
82 | "code": "01000007",
83 | "key": "thisYearValue"
84 | }, {
85 | "code": "01000007",
86 | "key": "lastYearValue"
87 | }],
88 | "parmArrs": null,
89 | "fn": "function(a,b){return(a/b)}",
90 | "cal": null,
91 | "isCanEdit": false,
92 | "value": "0.9174304351416068"
93 | },
94 | "lastYearValue": "12111",
95 | "index": "综合能源消费量(当量值)",
96 | "uint": "万吨标准煤"
97 | }, {
98 | "explain": "",
99 | "code": "01000008",
100 | "thisYearValue": "8",
101 | "rate": {
102 | "code": "01000008",
103 | "key": "rate",
104 | "type": "",
105 | "fnParms": [{
106 | "code": "01000008",
107 | "key": "thisYearValue"
108 | }, {
109 | "code": "01000008",
110 | "key": "lastYearValue"
111 | }],
112 | "parmArrs": null,
113 | "fn": "function(a,b){return(a/b)}",
114 | "cal": null,
115 | "isCanEdit": false,
116 | "value": "1.6"
117 | },
118 | "lastYearValue": "5",
119 | "index": "生产成本",
120 | "uint": "万元"
121 | }, {
122 | "explain": "",
123 | "code": "01000009",
124 | "thisYearValue": "13",
125 | "rate": {
126 | "code": "01000009",
127 | "key": "rate",
128 | "type": "",
129 | "fnParms": [{
130 | "code": "01000009",
131 | "key": "thisYearValue"
132 | }, {
133 | "code": "01000009",
134 | "key": "lastYearValue"
135 | }],
136 | "parmArrs": null,
137 | "fn": "function(a,b){return(a/b)}",
138 | "cal": null,
139 | "isCanEdit": false,
140 | "value": ""
141 | },
142 | "lastYearValue": "",
143 | "index": "能源消费成本",
144 | "uint": "万元"
145 | }, {
146 | "explain": "",
147 | "code": "01000010",
148 | "thisYearValue": {
149 | "code": "01000010",
150 | "key": "thisYearValue",
151 | "type": "",
152 | "fnParms": [{
153 | "code": "01000009",
154 | "key": "thisYearValue"
155 | }, {
156 | "code": "01000008",
157 | "key": "thisYearValue"
158 | }],
159 | "parmArrs": null,
160 | "fn": "function(a,b){return(a/b)}",
161 | "cal": null,
162 | "isCanEdit": false,
163 | "value": "1.625"
164 | },
165 | "rate": {
166 | "code": "01000010",
167 | "key": "rate",
168 | "type": "",
169 | "fnParms": [{
170 | "code": "01000010",
171 | "key": "thisYearValue"
172 | }, {
173 | "code": "01000010",
174 | "key": "lastYearValue"
175 | }],
176 | "parmArrs": null,
177 | "fn": "function(a,b){return(a/b)}",
178 | "cal": null,
179 | "isCanEdit": false,
180 | "value": ""
181 | },
182 | "lastYearValue": "",
183 | "index": "能源消费占生产成本比例",
184 | "uint": "%"
185 | }, {
186 | "explain": "",
187 | "code": "01000011",
188 | "thisYearValue": {
189 | "code": "01000011",
190 | "key": "thisYearValue",
191 | "type": "",
192 | "fnParms": [{
193 | "code": "01000001",
194 | "key": "thisYearValue"
195 | }, {
196 | "code": "01000007",
197 | "key": "thisYearValue"
198 | }],
199 | "parmArrs": null,
200 | "fn": "function(a,b){return(a/b)}",
201 | "cal": null,
202 | "isCanEdit": false,
203 | "value": "0.000990009900099001"
204 | },
205 | "rate": {
206 | "code": "01000011",
207 | "key": "rate",
208 | "type": "",
209 | "fnParms": [{
210 | "code": "01000011",
211 | "key": "thisYearValue"
212 | }, {
213 | "code": "01000011",
214 | "key": "lastYearValue"
215 | }],
216 | "parmArrs": null,
217 | "fn": "function(a,b){return(a/b)}",
218 | "cal": null,
219 | "isCanEdit": false,
220 | "value": "0.0004950049500495005"
221 | },
222 | "lastYearValue": "2",
223 | "index": "单位产值综合能耗",
224 | "uint": "吨标准煤/万元"
225 | }, {
226 | "explain": "",
227 | "code": "01000012",
228 | "thisYearValue": {
229 | "code": "01000012",
230 | "key": "thisYearValue",
231 | "type": "",
232 | "fnParms": [{
233 | "code": "01000002",
234 | "key": "thisYearValue"
235 | }, {
236 | "code": "01000007",
237 | "key": "thisYearValue"
238 | }],
239 | "parmArrs": null,
240 | "fn": "function(a,b){return(a/b)}",
241 | "cal": null,
242 | "isCanEdit": false,
243 | "value": "0.00027000270002700027"
244 | },
245 | "rate": {
246 | "code": "01000012",
247 | "key": "rate",
248 | "type": "",
249 | "fnParms": [{
250 | "code": "01000012",
251 | "key": "thisYearValue"
252 | }, {
253 | "code": "01000012",
254 | "key": "lastYearValue"
255 | }],
256 | "parmArrs": null,
257 | "fn": "function(a,b){return(a/b)}",
258 | "cal": null,
259 | "isCanEdit": false,
260 | "value": ""
261 | },
262 | "lastYearValue": "",
263 | "index": "单位工业增加值能耗",
264 | "uint": "吨标准煤/万元"
265 | }, {
266 | "explain": "",
267 | "code": "01000004",
268 | "thisYearValue": "23",
269 | "rate": {
270 | "code": "01000004",
271 | "key": "rate",
272 | "type": "",
273 | "fnParms": [{
274 | "code": "01000004",
275 | "key": "thisYearValue"
276 | }, {
277 | "code": "01000004",
278 | "key": "lastYearValue"
279 | }],
280 | "parmArrs": null,
281 | "fn": "function(a,b){return(a/b)}",
282 | "cal": null,
283 | "isCanEdit": false,
284 | "value": ""
285 | },
286 | "lastYearValue": "",
287 | "index": "上缴利税",
288 | "uint": "万元"
289 | }, {
290 | "explain": "",
291 | "code": "01000005",
292 | "thisYearValue": "4",
293 | "rate": {
294 | "code": "01000005",
295 | "key": "rate",
296 | "type": "",
297 | "fnParms": [{
298 | "code": "01000005",
299 | "key": "thisYearValue"
300 | }, {
301 | "code": "01000005",
302 | "key": "lastYearValue"
303 | }],
304 | "parmArrs": null,
305 | "fn": "function(a,b){return(a/b)}",
306 | "cal": null,
307 | "isCanEdit": false,
308 | "value": ""
309 | },
310 | "lastYearValue": "",
311 | "index": "从业人员",
312 | "uint": "人"
313 | }, {
314 | "explain": "",
315 | "code": "01000003",
316 | "thisYearValue": "5",
317 | "rate": {
318 | "code": "01000003",
319 | "key": "rate",
320 | "type": "",
321 | "fnParms": [{
322 | "code": "01000003",
323 | "key": "thisYearValue"
324 | }, {
325 | "code": "01000003",
326 | "key": "lastYearValue"
327 | }],
328 | "parmArrs": null,
329 | "fn": "function(a,b){return(a/b)}",
330 | "cal": null,
331 | "isCanEdit": false,
332 | "value": "1.25"
333 | },
334 | "lastYearValue": "4",
335 | "index": "销售收入",
336 | "uint": "万元"
337 | }]
338 |
339 | export const tableHeader=[{
340 | "key": "index",
341 | "title": "指标名称",
342 | "onlyOneCell": false,
343 | "isCanEdit": false,
344 |
345 | "rowSpan": 1,
346 | "colSpan": 1,
347 | "children": []
348 | }, {
349 | "key": "uint",
350 | "title": "计量单位",
351 | "onlyOneCell": false,
352 | "isCanEdit": false,
353 |
354 | "rowSpan": 1,
355 | "colSpan": 1,
356 | "children": []
357 | }, {
358 | "key": "thisYearValue",
359 | "title": "本期值",
360 | "onlyOneCell": false,
361 | "isCanEdit": true,
362 |
363 | "rowSpan": 1,
364 | "colSpan": 1,
365 | "children": []
366 | }, {
367 | "key": "lastYearValue",
368 | "title": "上年同期值",
369 | "onlyOneCell": false,
370 | "isCanEdit": true,
371 |
372 | "rowSpan": 1,
373 | "colSpan": 1,
374 | "children": []
375 | }, {
376 | "key": "rate",
377 | "title": "同比变化率",
378 | "onlyOneCell": false,
379 | "isCanEdit": false,
380 |
381 | "rowSpan": 1,
382 | "colSpan": 1,
383 | "children": []
384 | }, {
385 | "key": "explain",
386 | "title": "产值及能耗消费变化情况说明",
387 | "onlyOneCell": 1,
388 | "isCanEdit": true,
389 |
390 | "rowSpan": 1,
391 | "colSpan": 1,
392 | "children": []
393 | }]
394 | export default {
395 | tableBody, tableHeader
396 | }
--------------------------------------------------------------------------------
/example/src/mock/table5.js:
--------------------------------------------------------------------------------
1 | export const tableBody=[{
2 | "realNum": "100",
3 | "useCoeff": "0.72",
4 | "code": "01",
5 | "transConsum": "",
6 | "industryConsum": "11",
7 | "total": {
8 | "code": "01",
9 | "key": "total",
10 | "type": "",
11 | "fnParms": [{
12 | "code": "01",
13 | "key": "industryConsum"
14 | }, {
15 | "code": "01",
16 | "key": "deindustryConsum"
17 | }],
18 | "parmArrs": null,
19 | "fn": "function(){return Array.prototype.reduce.call(arguments,(a,b)=>a+b)}",
20 | "cal": null,
21 | "isCanEdit": false,
22 | "value": "35"
23 | },
24 | "money": "0.1",
25 | "material": "",
26 | "referCoeff": "0.71",
27 | "beginNum": "100",
28 | "energyName": "原煤",
29 | "endNum": {
30 | "code": "01",
31 | "key": "endNum",
32 | "type": "",
33 | "fnParms": [{
34 | "code": "01",
35 | "key": "beginNum"
36 | }, {
37 | "code": "01",
38 | "key": "realNum"
39 | }, {
40 | "code": "01",
41 | "key": "total"
42 | }],
43 | "parmArrs": null,
44 | "fn": "function(a,b,c){return(a+b-c)}",
45 | "cal": null,
46 | "isCanEdit": false,
47 | "value": "165"
48 | },
49 | "energyUnit": "吨",
50 | "energyCode": "01",
51 | "deindustryConsum": "24"
52 | }, {
53 | "realNum": "",
54 | "useCoeff": "1.786",
55 | "code": "02",
56 | "transConsum": "",
57 | "industryConsum": "4",
58 | "total": {
59 | "code": "14",
60 | "key": "total",
61 | "type": "",
62 | "fnParms": [{
63 | "code": "14",
64 | "key": "industryConsum"
65 | }, {
66 | "code": "14",
67 | "key": "deindustryConsum"
68 | }],
69 | "parmArrs": null,
70 | "fn": "function(){return Array.prototype.reduce.call(arguments,(a,b)=>a+b)}",
71 | "cal": null,
72 | "isCanEdit": false,
73 | "value": ""
74 | },
75 | "money": "",
76 | "material": "",
77 | "referCoeff": "1.786",
78 | "beginNum": "2",
79 | "energyName": "发生炉煤气",
80 | "endNum": {
81 | "code": "14",
82 | "key": "endNum",
83 | "type": "",
84 | "fnParms": [{
85 | "code": "14",
86 | "key": "beginNum"
87 | }, {
88 | "code": "14",
89 | "key": "realNum"
90 | }, {
91 | "code": "14",
92 | "key": "total"
93 | }],
94 | "parmArrs": null,
95 | "fn": "function(a,b,c){return(a+b-c)}",
96 | "cal": null,
97 | "isCanEdit": false,
98 | "value": ""
99 | },
100 | "energyUnit": "万立方米",
101 | "energyCode": "14",
102 | "deindustryConsum": ""
103 | }, {
104 | "realNum": "",
105 | "useCoeff": "",
106 | "code": "40",
107 | "transConsum": "",
108 | "industryConsum": "11",
109 | "total": "",
110 | "money": {
111 | "code": "40",
112 | "key": "money",
113 | "type": "",
114 | "fnParms": [{
115 | "code": "01",
116 | "key": "money"
117 | }, {
118 | "code": "02",
119 | "key": "money"
120 | }],
121 | "parmArrs": null,
122 | "fn": "function(){return Array.prototype.reduce.call(arguments,(a,b)=>a+b)}",
123 | "cal": null,
124 | "isCanEdit": false,
125 | "value": ""
126 | },
127 | "material": "",
128 | "referCoeff": "",
129 | "beginNum": {
130 | "code": "40",
131 | "key": "beginNum",
132 | "type": "",
133 | "fnParms": [{
134 | "code": "01",
135 | "key": "beginNum"
136 | }, {
137 | "code": "01",
138 | "key": "useCoeff"
139 | }, {
140 | "code": "02",
141 | "key": "beginNum"
142 | }, {
143 | "code": "02",
144 | "key": "useCoeff"
145 | }],
146 | "parmArrs": null,
147 | "fn": "function(a1,b1,a2,b2){return (a1*b1+a2*b2)}",
148 | "cal": null,
149 | "isCanEdit": false,
150 | "value": ""
151 | },
152 | "energyName": "能源合计",
153 | "endNum": "",
154 | "energyUnit": "吨标准煤",
155 | "energyCode": "40",
156 | "deindustryConsum": ""
157 | }]
158 | export const tableHeader=[{
159 | "title": "能源名称",
160 | "onlyOneCell": false,
161 | "isCanEdit": false,
162 |
163 | "rowSpan": 2,
164 | "colSpan": 1,
165 | "children": [{
166 | "children": [{
167 | "key": "energyName",
168 | "title": "甲",
169 | "onlyOneCell": false,
170 | "isCanEdit": false,
171 |
172 | "rowSpan": 1,
173 | "colSpan": 1,
174 | "children": []
175 | }]
176 | }]
177 | }, {
178 | "title": "计量单位",
179 | "onlyOneCell": false,
180 | "isCanEdit": false,
181 |
182 | "rowSpan": 2,
183 | "colSpan": 1,
184 | "children": [{
185 | "children": [{
186 | "key": "energyUnit",
187 | "title": "乙",
188 | "onlyOneCell": false,
189 | "isCanEdit": false,
190 |
191 | "rowSpan": 1,
192 | "colSpan": 1,
193 | "children": []
194 | }]
195 | }]
196 | }, {
197 | "title": "代码",
198 | "onlyOneCell": false,
199 | "isCanEdit": false,
200 |
201 | "rowSpan": 2,
202 | "colSpan": 1,
203 | "children": [{
204 | "children": [{
205 | "key": "energyCode",
206 | "title": "丙",
207 | "onlyOneCell": false,
208 | "isCanEdit": 1,
209 |
210 | "rowSpan": 1,
211 | "colSpan": 1,
212 | "children": []
213 | }]
214 | }]
215 | }, {
216 | "title": "期初库存量",
217 | "onlyOneCell": false,
218 | "isCanEdit": 1,
219 |
220 | "rowSpan": 2,
221 | "colSpan": 1,
222 | "children": [{
223 | "children": [{
224 | "key": "beginNum",
225 | "title": "1",
226 | "onlyOneCell": false,
227 | "isCanEdit": 1,
228 |
229 | "rowSpan": 1,
230 | "colSpan": 1,
231 | "children": []
232 | }]
233 | }]
234 | }, {
235 | "title": "购进量",
236 | "onlyOneCell": false,
237 | "isCanEdit": 1,
238 |
239 | "rowSpan": 1,
240 | "colSpan": 2,
241 | "children": [{
242 | "title": "实物量",
243 | "onlyOneCell": false,
244 | "isCanEdit": 1,
245 |
246 | "rowSpan": 1,
247 | "colSpan": 1,
248 | "children": [{
249 | "key": "realNum",
250 | "title": "2",
251 | "onlyOneCell": false,
252 | "isCanEdit": 1,
253 |
254 | "rowSpan": 1,
255 | "colSpan": 1,
256 | "children": []
257 | }]
258 | }, {
259 | "title": "金额(千元)",
260 | "onlyOneCell": false,
261 | "isCanEdit": 1,
262 |
263 | "rowSpan": 1,
264 | "colSpan": 1,
265 | "children": [{
266 | "key": "money",
267 | "title": "3",
268 | "onlyOneCell": false,
269 | "isCanEdit": 1,
270 |
271 | "rowSpan": 1,
272 | "colSpan": 1,
273 | "children": []
274 | }]
275 | }]
276 | }, {
277 | "title": "消费量",
278 | "onlyOneCell": false,
279 | "isCanEdit": 1,
280 |
281 | "rowSpan": 1,
282 | "colSpan": 5,
283 | "children": [{
284 | "title": "合计",
285 | "onlyOneCell": false,
286 | "isCanEdit": 1,
287 |
288 | "rowSpan": 1,
289 | "colSpan": 1,
290 | "children": [{
291 | "key": "total",
292 | "title": "4",
293 | "onlyOneCell": false,
294 | "isCanEdit": 1,
295 |
296 | "rowSpan": 1,
297 | "colSpan": 1,
298 | "children": []
299 | }]
300 | }, {
301 | "title": "工业生产消费",
302 | "onlyOneCell": false,
303 | "isCanEdit": 1,
304 |
305 | "rowSpan": 1,
306 | "colSpan": 1,
307 | "children": [{
308 | "key": "industryConsum",
309 | "title": "5",
310 | "onlyOneCell": false,
311 | "isCanEdit": 1,
312 |
313 | "rowSpan": 1,
314 | "colSpan": 1,
315 | "children": []
316 | }]
317 | }, {
318 | "title": "用于原材料",
319 | "onlyOneCell": false,
320 | "isCanEdit": 1,
321 |
322 | "rowSpan": 1,
323 | "colSpan": 1,
324 | "children": [{
325 | "key": "material",
326 | "title": "6",
327 | "onlyOneCell": false,
328 | "isCanEdit": 1,
329 |
330 | "rowSpan": 1,
331 | "colSpan": 1,
332 | "children": []
333 | }]
334 | }, {
335 | "title": "非工业生产消费",
336 | "onlyOneCell": false,
337 | "isCanEdit": 1,
338 |
339 | "rowSpan": 1,
340 | "colSpan": 1,
341 | "children": [{
342 | "key": "deindustryConsum",
343 | "title": "7",
344 | "onlyOneCell": false,
345 | "isCanEdit": 1,
346 |
347 | "rowSpan": 1,
348 | "colSpan": 1,
349 | "children": []
350 | }]
351 | }, {
352 | "title": "合计中:运输工具消费",
353 | "onlyOneCell": false,
354 | "isCanEdit": 1,
355 |
356 | "rowSpan": 1,
357 | "colSpan": 1,
358 | "children": [{
359 | "key": "transConsum",
360 | "title": "8",
361 | "onlyOneCell": false,
362 | "isCanEdit": 1,
363 |
364 | "rowSpan": 1,
365 | "colSpan": 1,
366 | "children": []
367 | }]
368 | }]
369 | }, {
370 | "title": "期末库存量",
371 | "onlyOneCell": false,
372 | "isCanEdit": 1,
373 |
374 | "rowSpan": 2,
375 | "colSpan": 1,
376 | "children": [{
377 | "children": [{
378 | "key": "endNum",
379 | "title": "9",
380 | "onlyOneCell": false,
381 | "isCanEdit": 1,
382 |
383 | "rowSpan": 1,
384 | "colSpan": 1,
385 | "children": []
386 | }]
387 | }]
388 | }, {
389 | "title": "采用折标系数",
390 | "onlyOneCell": false,
391 | "isCanEdit": 1,
392 |
393 | "rowSpan": 2,
394 | "colSpan": 1,
395 | "children": [{
396 | "children": [{
397 | "key": "useCoeff",
398 | "title": "10",
399 | "onlyOneCell": false,
400 | "isCanEdit": 1,
401 |
402 | "rowSpan": 1,
403 | "colSpan": 1,
404 | "children": []
405 | }]
406 | }]
407 | }, {
408 | "title": "参考折标系数",
409 | "onlyOneCell": false,
410 | "isCanEdit": false,
411 |
412 | "rowSpan": 2,
413 | "colSpan": 1,
414 | "children": [{
415 | "children": [{
416 | "key": "referCoeff",
417 | "title": "丁",
418 | "onlyOneCell": false,
419 | "isCanEdit": false,
420 |
421 | "rowSpan": 1,
422 | "colSpan": 1,
423 | "children": []
424 | }]
425 | }]
426 | }]
427 | export default {
428 | tableBody, tableHeader
429 | }
--------------------------------------------------------------------------------
/example/dist/static/css/app.0117062d932d25019484a9b61d107591.css:
--------------------------------------------------------------------------------
1 | .pd-btm-30{padding-bottom:30px}.bd-btm-2{border-bottom:2px dashed #ddd}.lh-60{line-height:60px}.btn{cursor:pointer;border:1px solid #ddd;padding:2px 5px;margin-bottom:10px}.el-input[data-v-77e55b21]{position:relative;font-size:14px;display:inline-block;width:100%}.el-input[data-v-77e55b21]::-webkit-scrollbar{z-index:11;width:6px}.el-input[data-v-77e55b21]::-webkit-scrollbar:horizontal{height:6px}.el-input[data-v-77e55b21]::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input[data-v-77e55b21]::-webkit-scrollbar-corner,.el-input[data-v-77e55b21]::-webkit-scrollbar-track{background:#fff}.el-input[data-v-77e55b21]::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear[data-v-77e55b21]{color:#c0c4cc;font-size:14px;line-height:16px;cursor:pointer;transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear[data-v-77e55b21]:hover{color:#909399}.el-input__inner__1[data-v-77e55b21]{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #ddd;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix[data-v-77e55b21],.el-input__suffix[data-v-77e55b21]{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]:-ms-input-placeholder{color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]::-moz-placeholder{color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]::-ms-input-placeholder{color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]::placeholder{color:#c0c4cc}.el-input__inner__1[data-v-77e55b21]:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner__1[data-v-77e55b21],.el-input__inner__1[data-v-77e55b21]:focus{border-color:#409eff;outline:0}.el-input__suffix[data-v-77e55b21]{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner[data-v-77e55b21]{pointer-events:all}.el-input__prefix[data-v-77e55b21]{left:5px;transition:all .3s}.el-input__icon[data-v-77e55b21]{height:100%;width:25px;text-align:center;transition:all .3s;line-height:40px}.el-input__icon[data-v-77e55b21]:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon[data-v-77e55b21]{pointer-events:none}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]::-moz-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner__1[data-v-77e55b21]::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon[data-v-77e55b21]{cursor:not-allowed}.el-input--suffix .el-input__inner__1[data-v-77e55b21]{padding-right:30px}.el-input--prefix .el-input__inner__1[data-v-77e55b21]{padding-left:30px}.el-input--medium[data-v-77e55b21]{font-size:14px}.el-input--medium .el-input__inner__1[data-v-77e55b21]{height:36px;line-height:36px}.el-input--medium .el-input__icon[data-v-77e55b21]{line-height:36px}.el-input--small[data-v-77e55b21]{font-size:13px}.el-input--small .el-input__inner__1[data-v-77e55b21]{height:32px;line-height:32px}.el-input--small .el-input__icon[data-v-77e55b21]{line-height:32px}.el-input--mini[data-v-77e55b21]{font-size:12px}.el-input--mini .el-input__inner__1[data-v-77e55b21]{height:28px;line-height:28px}.el-input--mini .el-input__icon[data-v-77e55b21]{line-height:28px}.el-input-group[data-v-77e55b21]{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.el-input-group>.el-input__inner__1[data-v-77e55b21]{vertical-align:middle;display:table-cell}.el-input-group__append[data-v-77e55b21],.el-input-group__prepend[data-v-77e55b21]{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner__1[data-v-77e55b21],.el-input-group__append[data-v-77e55b21]{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner__1[data-v-77e55b21],.el-input-group__prepend[data-v-77e55b21]{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append[data-v-77e55b21]:focus,.el-input-group__prepend[data-v-77e55b21]:focus{outline:0}.el-input-group__append .el-button[data-v-77e55b21],.el-input-group__append .el-select[data-v-77e55b21],.el-input-group__prepend .el-button[data-v-77e55b21],.el-input-group__prepend .el-select[data-v-77e55b21]{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button[data-v-77e55b21],.el-input-group__append div.el-select .el-input__inner__1[data-v-77e55b21],.el-input-group__append div.el-select:hover .el-input__inner__1[data-v-77e55b21],.el-input-group__prepend button.el-button[data-v-77e55b21],.el-input-group__prepend div.el-select .el-input__inner__1[data-v-77e55b21],.el-input-group__prepend div.el-select:hover .el-input__inner__1[data-v-77e55b21]{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button[data-v-77e55b21],.el-input-group__append .el-input[data-v-77e55b21],.el-input-group__prepend .el-button[data-v-77e55b21],.el-input-group__prepend .el-input[data-v-77e55b21]{font-size:inherit}.el-input-group__prepend[data-v-77e55b21]{border-right:0}.el-input-group__append[data-v-77e55b21]{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner__1[data-v-77e55b21],.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner__1[data-v-77e55b21]{border-color:transparent}.el-input__inner__1[data-v-77e55b21]::-ms-clear{display:none;width:0;height:0}.wrap[data-v-67e17158]{position:fixed;left:50%;top:10%;z-index:999;background:rgba(0,0,0,.35);padding:10px;border-radius:5px;transform:translate(-50%,-50%);color:#fff}.fadein[data-v-67e17158]{animation:animate_in-data-v-67e17158 .25s}.fadeout[data-v-67e17158]{animation:animate_out-data-v-67e17158 .25s;opacity:0}@keyframes animate_in-data-v-67e17158{0%{opacity:0}to{opacity:1}}@keyframes animate_out-data-v-67e17158{0%{opacity:1}to{opacity:0}}.row-td .el-input__inner__1{border-top:none;border-bottom:none;border-radius:0}.el-textarea[data-v-1416f132]{display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner__1[data-v-1416f132]{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #ddd;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner__1[data-v-1416f132]::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]::-moz-placeholder{color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]::placeholder{color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]:hover{border-color:#c0c4cc}.el-textarea__inner__1[data-v-1416f132]:focus{outline:0;border-color:#409eff}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]::-moz-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner__1[data-v-1416f132]::placeholder{color:#c0c4cc}*{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}table{border-collapse:collapse;border-spacing:0}.flexBox{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.flex-ver-box{-ms-flex-direction:column;flex-direction:column}.alItSt{-ms-flex-align:start;align-items:flex-start}.flex-1{-ms-flex:1;flex:1}.Ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.nui-scroll{overflow-x:scroll}.nui-scroll::-webkit-scrollbar{width:8px;height:8px}.nui-scroll::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.05);border-radius:10px;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1)}.nui-scroll:hover::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1)}.nui-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1)}.nui-scroll::-webkit-scrollbar-track{border-radius:10px;-webkit-box-shadow:inset 0 0 6px transparent;background-color:#fff}.nui-scroll::-webkit-scrollbar-track:hover{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.4);background-color:rgba(0,0,0,.01)}.jv-node{position:relative}.jv-node:after{content:","}.jv-node:last-of-type:after{content:""}.jv-node .jv-node{margin-left:25px}.jv-container{box-sizing:border-box;position:relative}.jv-container.boxed{border:1px solid #eee;border-radius:6px}.jv-container.boxed:hover{box-shadow:0 2px 7px rgba(0,0,0,.15);border-color:transparent;position:relative}.jv-container.jv-light{background:#fff;white-space:nowrap;color:#525252;font-size:14px;font-family:Consolas,Menlo,Courier,monospace}.jv-container.jv-light .jv-ellipsis{color:#999;background-color:#eee;display:inline-block;line-height:.9;font-size:.9em;padding:0 4px 2px;margin:0 4px;border-radius:3px;vertical-align:2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jv-container.jv-light .jv-button{color:#49b3ff}.jv-container.jv-light .jv-key{color:#111;margin-right:4px}.jv-container.jv-light .jv-item.jv-array{color:#111}.jv-container.jv-light .jv-item.jv-boolean{color:#fc1e70}.jv-container.jv-light .jv-item.jv-function{color:#067bca}.jv-container.jv-light .jv-item.jv-number{color:#fc1e70}.jv-container.jv-light .jv-item.jv-object{color:#111}.jv-container.jv-light .jv-item.jv-undefined{color:#e08331}.jv-container.jv-light .jv-item.jv-string{color:#42b983;word-break:break-word;white-space:normal}.jv-container.jv-light .jv-code .jv-toggle:before{padding:0 2px;border-radius:2px}.jv-container.jv-light .jv-code .jv-toggle:hover:before{background:#eee}.jv-container .jv-code{overflow:hidden;padding:20px}.jv-container .jv-code.boxed{max-height:300px}.jv-container .jv-code.open{max-height:none!important;overflow:visible;overflow-x:auto;padding-bottom:45px}.jv-container .jv-toggle{background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2IiB3aWR0aD0iOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjNjY2IiBkPSJNMCAwbDggOC04IDh6Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;background-position:50%;cursor:pointer;width:10px;height:10px;margin-right:2px;display:inline-block;transition:transform .1s}.jv-container .jv-toggle.open{transform:rotate(90deg)}.jv-container .jv-more{position:absolute;z-index:1;bottom:0;left:0;right:0;height:40px;width:100%;text-align:center;cursor:pointer}.jv-container .jv-more .jv-toggle{position:relative;top:40%;z-index:2;color:#888;transition:all .1s;transform:rotate(-90deg)}.jv-container .jv-more:after{content:"";width:100%;height:100%;position:absolute;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,transparent 20%,hsla(0,0%,90%,.3));transition:all .1s}.jv-container .jv-more:hover .jv-toggle{top:50%;color:#111}.jv-container .jv-more:hover:after{background:linear-gradient(180deg,transparent 20%,hsla(0,0%,90%,.3))}.jv-container .jv-button{position:relative;cursor:pointer;display:inline-block;padding:5px;z-index:5}.jv-container .jv-button.copied{opacity:.4;cursor:default}.jv-container .jv-tooltip{position:absolute;right:15px;top:10px}.jv-container .j-icon{font-size:12px}
--------------------------------------------------------------------------------
/example/src/mock/table1.js:
--------------------------------------------------------------------------------
1 | export const tableBody = [{
2 | "explain": "5",
3 | "denomValueThis": "22",
4 | "serialNum": "1",
5 | "code": "01000401",
6 | "indexValueThis": {
7 | "code": "01000401",
8 | "key": "indexValueThis",
9 | "type": "",
10 | "fnParms": [{
11 | "code": "01000401",
12 | "key": "numerValueThis"
13 | }, {
14 | "code": "01000401",
15 | "key": "denomValueThis"
16 | }, {
17 | "code": "01000401",
18 | "key": "unitCoeff"
19 | }],
20 | "parmArrs": null,
21 | "fn": "function(a,b,c){return((a/b)*c)}",
22 | "cal": null,
23 | "isCanEdit": true,
24 | "value": "3.000",
25 | "defaultValue": null
26 | },
27 | "indexName": "4",
28 | "indexUnit": "",
29 | "indexValueLast": {
30 | "code": "01000401",
31 | "key": "indexValueLast",
32 | "type": "",
33 | "fnParms": [{
34 | "code": "01000401",
35 | "key": "numerValueLast"
36 | }, {
37 | "code": "01000401",
38 | "key": "denomValueLast"
39 | }, {
40 | "code": "01000401",
41 | "key": "unitCoeff"
42 | }],
43 | "parmArrs": null,
44 | "fn": "function(a,b,c){return((a/b)*c)}",
45 | "cal": null,
46 | "isCanEdit": false,
47 | "value": "44.000",
48 | "defaultValue": null
49 | },
50 | "quotaValue": "",
51 | "numerValueThis": "3",
52 | "codeNo": "6",
53 | "energyValueSave": "1",
54 | "numerUnit": "",
55 | "unitCoeff": "22",
56 | "changeValue": {
57 | "code": "01000401",
58 | "key": "changeValue",
59 | "type": "",
60 | "fnParms": [{
61 | "code": "01000401",
62 | "key": "indexValueThis"
63 | }, {
64 | "code": "01000401",
65 | "key": "indexValueLast"
66 | }],
67 | "parmArrs": null,
68 | "fn": "function(a,b){return(100*(a-b)/b)}",
69 | "cal": null,
70 | "isCanEdit": false,
71 | "value": "-90.000",
72 | "defaultValue": null
73 | },
74 | "denomUnit": "22",
75 | "denomValueLast": "1",
76 | "numerValueLast": "2"
77 | }, {
78 | "explain": "6",
79 | "denomValueThis": "1",
80 | "serialNum": "2",
81 | "code": "01000402",
82 | "indexValueThis": {
83 | "code": "01000402",
84 | "key": "indexValueThis",
85 | "type": "",
86 | "fnParms": [{
87 | "code": "01000402",
88 | "key": "numerValueThis"
89 | }, {
90 | "code": "01000402",
91 | "key": "denomValueThis"
92 | }, {
93 | "code": "01000402",
94 | "key": "unitCoeff"
95 | }],
96 | "parmArrs": null,
97 | "fn": "function(a,b,c){return((a/b)*c)}",
98 | "cal": null,
99 | "isCanEdit": false,
100 | "value": "1.000",
101 | "defaultValue": null
102 | },
103 | "indexName": "6",
104 | "indexUnit": "",
105 | "indexValueLast": {
106 | "code": "01000402",
107 | "key": "indexValueLast",
108 | "type": "",
109 | "fnParms": [{
110 | "code": "01000402",
111 | "key": "numerValueLast"
112 | }, {
113 | "code": "01000402",
114 | "key": "denomValueLast"
115 | }, {
116 | "code": "01000402",
117 | "key": "unitCoeff"
118 | }],
119 | "parmArrs": null,
120 | "fn": "function(a,b,c){return((a/b)*c)}",
121 | "cal": null,
122 | "isCanEdit": false,
123 | "value": "11.000",
124 | "defaultValue": null
125 | },
126 | "quotaValue": "",
127 | "numerValueThis": "1",
128 | "codeNo": "7",
129 | "energyValueSave": "1",
130 | "numerUnit": "22",
131 | "unitCoeff": "1",
132 | "changeValue": {
133 | "code": "01000402",
134 | "key": "changeValue",
135 | "type": "",
136 | "fnParms": [{
137 | "code": "01000402",
138 | "key": "indexValueThis"
139 | }, {
140 | "code": "01000402",
141 | "key": "indexValueLast"
142 | }],
143 | "parmArrs": null,
144 | "fn": "function(a,b){return(100*(a-b)/b)}",
145 | "cal": null,
146 | "isCanEdit": false,
147 | "value": "-100.000",
148 | "defaultValue": null
149 | },
150 | "denomUnit": "",
151 | "denomValueLast": "1",
152 | "numerValueLast": "11"
153 | }, {
154 | "explain": "7",
155 | "denomValueThis": "1",
156 | "serialNum": "3",
157 | "code": "01000403",
158 | "indexValueThis": {
159 | "code": "01000403",
160 | "key": "indexValueThis",
161 | "type": "",
162 | "fnParms": [{
163 | "code": "01000403",
164 | "key": "numerValueThis"
165 | }, {
166 | "code": "01000403",
167 | "key": "denomValueThis"
168 | }, {
169 | "code": "01000403",
170 | "key": "unitCoeff"
171 | }],
172 | "parmArrs": null,
173 | "fn": "function(a,b,c){return((a/b)*c)}",
174 | "cal": null,
175 | "isCanEdit": false,
176 | "value": "11.000",
177 | "defaultValue": null
178 | },
179 | "indexName": "8",
180 | "indexUnit": "",
181 | "indexValueLast": {
182 | "code": "01000403",
183 | "key": "indexValueLast",
184 | "type": "",
185 | "fnParms": [{
186 | "code": "01000403",
187 | "key": "numerValueLast"
188 | }, {
189 | "code": "01000403",
190 | "key": "denomValueLast"
191 | }, {
192 | "code": "01000403",
193 | "key": "unitCoeff"
194 | }],
195 | "parmArrs": null,
196 | "fn": "function(a,b,c){return((a/b)*c)}",
197 | "cal": null,
198 | "isCanEdit": false,
199 | "value": "121.000",
200 | "defaultValue": null
201 | },
202 | "quotaValue": "",
203 | "numerValueThis": "1",
204 | "codeNo": "8",
205 | "energyValueSave": "1",
206 | "numerUnit": "",
207 | "unitCoeff": "11",
208 | "changeValue": {
209 | "code": "01000403",
210 | "key": "changeValue",
211 | "type": "",
212 | "fnParms": [{
213 | "code": "01000403",
214 | "key": "indexValueThis"
215 | }, {
216 | "code": "01000403",
217 | "key": "indexValueLast"
218 | }],
219 | "parmArrs": null,
220 | "fn": "function(a,b){return(100*(a-b)/b)}",
221 | "cal": null,
222 | "isCanEdit": false,
223 | "value": "-100.000",
224 | "defaultValue": null
225 | },
226 | "denomUnit": "",
227 | "denomValueLast": "1",
228 | "numerValueLast": "11"
229 | }, {
230 | "explain": "8",
231 | "denomValueThis": "1",
232 | "serialNum": "4",
233 | "code": "01000404",
234 | "indexValueThis": {
235 | "code": "01000404",
236 | "key": "indexValueThis",
237 | "type": "",
238 | "fnParms": [{
239 | "code": "01000404",
240 | "key": "numerValueThis"
241 | }, {
242 | "code": "01000404",
243 | "key": "denomValueThis"
244 | }, {
245 | "code": "01000404",
246 | "key": "unitCoeff"
247 | }],
248 | "parmArrs": null,
249 | "fn": "function(a,b,c){return((a/b)*c)}",
250 | "cal": null,
251 | "isCanEdit": false,
252 | "value": "1.000",
253 | "defaultValue": null
254 | },
255 | "indexName": "",
256 | "indexUnit": "",
257 | "indexValueLast": {
258 | "code": "01000404",
259 | "key": "indexValueLast",
260 | "type": "",
261 | "fnParms": [{
262 | "code": "01000404",
263 | "key": "numerValueLast"
264 | }, {
265 | "code": "01000404",
266 | "key": "denomValueLast"
267 | }, {
268 | "code": "01000404",
269 | "key": "unitCoeff"
270 | }],
271 | "parmArrs": null,
272 | "fn": "function(a,b,c){return((a/b)*c)}",
273 | "cal": null,
274 | "isCanEdit": false,
275 | "value": "1.000",
276 | "defaultValue": null
277 | },
278 | "quotaValue": "",
279 | "numerValueThis": "1",
280 | "codeNo": "1",
281 | "energyValueSave": "1",
282 | "numerUnit": "",
283 | "unitCoeff": "1",
284 | "changeValue": {
285 | "code": "01000404",
286 | "key": "changeValue",
287 | "type": "",
288 | "fnParms": [{
289 | "code": "01000404",
290 | "key": "indexValueThis"
291 | }, {
292 | "code": "01000404",
293 | "key": "indexValueLast"
294 | }],
295 | "parmArrs": null,
296 | "fn": "function(a,b){return(100*(a-b)/b)}",
297 | "cal": null,
298 | "isCanEdit": false,
299 | "value": "-100.000",
300 | "defaultValue": null
301 | },
302 | "denomUnit": "",
303 | "denomValueLast": "1",
304 | "numerValueLast": "1"
305 | }, {
306 | "explain": "",
307 | "denomValueThis": "",
308 | "serialNum": "5",
309 | "code": "01000405",
310 | "indexValueThis": {
311 | "code": "01000405",
312 | "key": "indexValueThis",
313 | "type": "",
314 | "fnParms": [{
315 | "code": "01000405",
316 | "key": "numerValueThis"
317 | }, {
318 | "code": "01000405",
319 | "key": "denomValueThis"
320 | }, {
321 | "code": "01000405",
322 | "key": "unitCoeff"
323 | }],
324 | "parmArrs": null,
325 | "fn": "function(a,b,c){return((a/b)*c)}",
326 | "cal": null,
327 | "isCanEdit": false,
328 | "value": "",
329 | "defaultValue": null
330 | },
331 | "indexName": "",
332 | "indexUnit": "",
333 | "indexValueLast": {
334 | "code": "01000405",
335 | "key": "indexValueLast",
336 | "type": "",
337 | "fnParms": [{
338 | "code": "01000405",
339 | "key": "numerValueLast"
340 | }, {
341 | "code": "01000405",
342 | "key": "denomValueLast"
343 | }, {
344 | "code": "01000405",
345 | "key": "unitCoeff"
346 | }],
347 | "parmArrs": null,
348 | "fn": "function(a,b,c){return((a/b)*c)}",
349 | "cal": null,
350 | "isCanEdit": false,
351 | "value": "",
352 | "defaultValue": null
353 | },
354 | "quotaValue": "",
355 | "numerValueThis": "",
356 | "codeNo": "",
357 | "energyValueSave": "",
358 | "numerUnit": "",
359 | "unitCoeff": "",
360 | "changeValue": {
361 | "code": "01000405",
362 | "key": "changeValue",
363 | "type": "",
364 | "fnParms": [{
365 | "code": "01000405",
366 | "key": "indexValueThis"
367 | }, {
368 | "code": "01000405",
369 | "key": "indexValueLast"
370 | }],
371 | "parmArrs": null,
372 | "fn": "function(a,b){return(100*(a-b)/b)}",
373 | "cal": null,
374 | "isCanEdit": false,
375 | "value": "",
376 | "defaultValue": null
377 | },
378 | "denomUnit": "",
379 | "denomValueLast": "",
380 | "numerValueLast": ""
381 | }]
382 | export const tableHeader = [{
383 | "title": "序号",
384 | "onlyOneCell": false,
385 | "isCanEdit": true,
386 |
387 | "rowSpan": 3,
388 | "colSpan": 1,
389 | "children": [{
390 | "title": "",
391 | "onlyOneCell": false,
392 | "isCanEdit": true,
393 |
394 | "rowSpan": 3,
395 | "colSpan": 1,
396 | "children": [{
397 | "key": "serialNum",
398 | "title": "",
399 | "onlyOneCell": false,
400 | "isCanEdit": true,
401 |
402 | "rowSpan": 3,
403 | "colSpan": 1,
404 | "children": []
405 | }]
406 | }]
407 | }, {
408 | "title": "指标名称",
409 | "onlyOneCell": false,
410 | "isCanEdit": true,
411 | "rowSpan": 2,
412 | "colSpan": 1,
413 | "children": [{
414 | "title": "",
415 | "onlyOneCell": false,
416 | "isCanEdit": true,
417 |
418 | "rowSpan": 2,
419 | "colSpan": 1,
420 | "children": [{
421 | "key": "indexName",
422 | "title": "甲",
423 | "onlyOneCell": false,
424 | "isCanEdit": true,
425 |
426 | "rowSpan": 1,
427 | "colSpan": 1,
428 | "children": []
429 | }]
430 | }]
431 | }, {
432 | "title": "计量单位",
433 | "onlyOneCell": false,
434 | "isCanEdit": true,
435 |
436 | "rowSpan": 1,
437 | "colSpan": 3,
438 | "children": [{
439 | "title": "指标单位",
440 | "onlyOneCell": false,
441 | "isCanEdit": true,
442 |
443 | "rowSpan": 1,
444 | "colSpan": 1,
445 | "children": [{
446 | "key": "indexUnit",
447 | "title": "乙",
448 | "onlyOneCell": false,
449 | "isCanEdit": true,
450 |
451 | "rowSpan": 1,
452 | "colSpan": 1,
453 | "children": []
454 | }]
455 | }, {
456 | "title": "子项单位",
457 | "onlyOneCell": false,
458 | "isCanEdit": true,
459 |
460 | "rowSpan": 1,
461 | "colSpan": 1,
462 | "children": [{
463 | "key": "numerUnit",
464 | "title": "丙",
465 | "onlyOneCell": false,
466 | "isCanEdit": true,
467 |
468 | "rowSpan": 1,
469 | "colSpan": 1,
470 | "children": []
471 | }]
472 | }, {
473 | "title": "母项单位",
474 | "onlyOneCell": false,
475 | "isCanEdit": true,
476 |
477 | "rowSpan": 1,
478 | "colSpan": 1,
479 | "children": [{
480 | "key": "denomUnit",
481 | "title": "丁",
482 | "onlyOneCell": false,
483 | "isCanEdit": true,
484 |
485 | "rowSpan": 1,
486 | "colSpan": 1,
487 | "children": []
488 | }]
489 | }]
490 | }, {
491 | "title": "单位换算系数",
492 | "onlyOneCell": false,
493 | "isCanEdit": true,
494 |
495 | "rowSpan": 2,
496 | "colSpan": 1,
497 | "children": [{
498 | "title": "",
499 | "onlyOneCell": false,
500 | "isCanEdit": true,
501 |
502 | "rowSpan": 1,
503 | "colSpan": 1,
504 | "children": [{
505 | "key": "unitCoeff",
506 | "title": "戊",
507 | "onlyOneCell": false,
508 | "isCanEdit": true,
509 |
510 | "rowSpan": 1,
511 | "colSpan": 1,
512 | "children": []
513 | }]
514 | }]
515 | }, {
516 | "title": "代码",
517 | "onlyOneCell": false,
518 | "isCanEdit": false,
519 |
520 | "rowSpan": 2,
521 | "colSpan": 1,
522 | "children": [{
523 | "title": "",
524 | "onlyOneCell": false,
525 | "isCanEdit": true,
526 |
527 | "rowSpan": 1,
528 | "colSpan": 1,
529 | "children": [{
530 | "key": "codeNo",
531 | "title": "己",
532 | "onlyOneCell": false,
533 | "isCanEdit": true,
534 |
535 | "rowSpan": 1,
536 | "colSpan": 1,
537 | "children": []
538 | }]
539 | }]
540 | }, {
541 | "title": "本期值",
542 | "onlyOneCell": false,
543 | "isCanEdit": true,
544 |
545 | "rowSpan": 1,
546 | "colSpan": 3,
547 | "children": [{
548 | "title": "指标值",
549 | "onlyOneCell": false,
550 | "isCanEdit": true,
551 |
552 | "rowSpan": 1,
553 | "colSpan": 1,
554 | "children": [{
555 | "key": "indexValueThis",
556 | "title": "1",
557 | "onlyOneCell": false,
558 | "isCanEdit": true,
559 |
560 | "rowSpan": 1,
561 | "colSpan": 1,
562 | "children": []
563 | }]
564 | }, {
565 | "title": "子项值",
566 | "onlyOneCell": false,
567 | "isCanEdit": true,
568 |
569 | "rowSpan": 1,
570 | "colSpan": 1,
571 | "children": [{
572 | "key": "numerValueThis",
573 | "title": "2",
574 | "onlyOneCell": false,
575 | "isCanEdit": true,
576 |
577 | "rowSpan": 1,
578 | "colSpan": 1,
579 | "children": []
580 | }]
581 | }, {
582 | "title": "母项值",
583 | "onlyOneCell": false,
584 | "isCanEdit": true,
585 |
586 | "rowSpan": 1,
587 | "colSpan": 1,
588 | "children": [{
589 | "key": "denomValueThis",
590 | "title": "3",
591 | "onlyOneCell": false,
592 | "isCanEdit": true,
593 |
594 | "rowSpan": 1,
595 | "colSpan": 1,
596 | "children": []
597 | }]
598 | }]
599 | }, {
600 | "title": "同期值",
601 | "onlyOneCell": false,
602 | "isCanEdit": true,
603 |
604 | "rowSpan": 1,
605 | "colSpan": 3,
606 | "children": [{
607 | "title": "指标值",
608 | "onlyOneCell": false,
609 | "isCanEdit": true,
610 |
611 | "rowSpan": 1,
612 | "colSpan": 1,
613 | "children": [{
614 | "key": "indexValueLast",
615 | "title": "4",
616 | "onlyOneCell": false,
617 | "isCanEdit": true,
618 |
619 | "rowSpan": 1,
620 | "colSpan": 1,
621 | "children": []
622 | }]
623 | }, {
624 | "title": "子项值",
625 | "onlyOneCell": false,
626 | "isCanEdit": true,
627 |
628 | "rowSpan": 1,
629 | "colSpan": 1,
630 | "children": [{
631 | "key": "numerValueLast",
632 | "title": "5",
633 | "onlyOneCell": false,
634 | "isCanEdit": true,
635 |
636 | "rowSpan": 1,
637 | "colSpan": 1,
638 | "children": []
639 | }]
640 | }, {
641 | "title": "母项值",
642 | "onlyOneCell": false,
643 | "isCanEdit": true,
644 |
645 | "rowSpan": 1,
646 | "colSpan": 1,
647 | "children": [{
648 | "key": "denomValueLast",
649 | "title": "6",
650 | "onlyOneCell": false,
651 | "isCanEdit": true,
652 |
653 | "rowSpan": 1,
654 | "colSpan": 1,
655 | "children": []
656 | }]
657 | }]
658 | }, {
659 | "title": "与同期值比",
660 | "onlyOneCell": false,
661 | "isCanEdit": true,
662 |
663 | "rowSpan": 1,
664 | "colSpan": 2,
665 | "children": [{
666 | "title": "节能量",
667 | "onlyOneCell": false,
668 | "isCanEdit": true,
669 |
670 | "rowSpan": 1,
671 | "colSpan": 1,
672 | "children": [{
673 | "key": "energyValueSave",
674 | "title": "7",
675 | "onlyOneCell": false,
676 | "isCanEdit": true,
677 |
678 | "rowSpan": 1,
679 | "colSpan": 1,
680 | "children": []
681 | }]
682 | }, {
683 | "title": "变化率(%)",
684 | "onlyOneCell": false,
685 | "isCanEdit": true,
686 |
687 | "rowSpan": 1,
688 | "colSpan": 1,
689 | "children": [{
690 | "key": "changeValue",
691 | "title": "8",
692 | "onlyOneCell": false,
693 | "isCanEdit": true,
694 |
695 | "rowSpan": 1,
696 | "colSpan": 1,
697 | "children": []
698 | }]
699 | }]
700 | }, {
701 | "title": "国家(地区)定额",
702 | "onlyOneCell": false,
703 | "isCanEdit": true,
704 |
705 | "rowSpan": 2,
706 | "colSpan": 1,
707 | "children": [{
708 | "title": "",
709 | "onlyOneCell": false,
710 | "isCanEdit": true,
711 |
712 | "rowSpan": 1,
713 | "colSpan": 1,
714 | "children": [{
715 | "key": "quotaValue",
716 | "title": "9",
717 | "onlyOneCell": false,
718 | "isCanEdit": true,
719 |
720 | "rowSpan": 1,
721 | "colSpan": 1,
722 | "children": []
723 | }]
724 | }]
725 | }, {
726 | "title": "影响指标变化因素的说明",
727 | "onlyOneCell": 1,
728 | "isCanEdit": true,
729 |
730 | "rowSpan": 2,
731 | "colSpan": 1,
732 | "children": [{
733 | "title": "",
734 | "onlyOneCell": false,
735 | "isCanEdit": true,
736 |
737 | "rowSpan": 1,
738 | "colSpan": 1,
739 | "children": [{
740 | "key": "explain",
741 | "title": "10",
742 | "onlyOneCell": 1,
743 | "isCanEdit": true,
744 |
745 | "rowSpan": 1,
746 | "colSpan": 1,
747 | "children": []
748 | }]
749 | }]
750 | }]
751 |
752 | export default {
753 | tableBody, tableHeader
754 | }
755 | // (x,y)=>x+y
--------------------------------------------------------------------------------
/es/components/mutilTable.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"mutilTable.jsx","sourceRoot":"","sources":["../../lib/components/mutilTable.tsx"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/es/components/rowEditableTable.jsx.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"rowEditableTable.jsx","sourceRoot":"","sources":["../../lib/components/rowEditableTable.tsx"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------