1.30.31 • Published 6 years ago

tg-turing v1.30.31

Weekly downloads
645
License
-
Repository
-
Last release
6 years ago

tg-turing

  • tg-turing 视图数据适配引擎
  • 模型驱动组件库:res.wisedu.com

基本用法

npm i tg-turing --save

定义一个视图数据适配器,如:Dept.js

适配器中包含两部分: 1. 视图的定义; 即表单、表格所需要呈现的字段属性的定义。 2. 数据操作的定义;

es6 写法

import {DataAdapter} from 'tg-turing'
import TgAntd from 'tg-turing-antd'
export default class extends DataAdapter {
    constructor() {
        super()
        //视图定义
        let views = {
            //default这一段是基础属性会与以下其他的视图定义做合并输出
            "default": {
                id: { caption: "编号" },
                name: { caption: "名称" },
                pId: { caption: "父级部门编号" },
            },
            //以下视图定义根据业务需要,进行追加,每个属性即对于default的扩展
            "默认列表:table": {
                id: { },
                name: { minWidth:150 },
                pId: {},
            },
            "默认表单:form": {
                id: {},
                name: {},
                pId: { xtype:"tree", url:"/api/dept" },
            },
            "查询": {
            }
        }
        this.actions.find.url = "/api/dept";
        this.actions.find.method = "get"
        this.actions.save.url = "/api/dept/save";
        this.actions.delete.url = "/api/dept/{id}";
        this.actions.delete.method = "delete"

        this.initView(views);
    }
    view(name, params) {
        let props = name.split(":")
        let antdtype = props[1];
        return TgTgAntd.Adapter(antdtype, this.getView(props), params);
    }
    toTreeData(data) {
        return TgAntd.Adapter("tree", data, {ukey:"id", pkey:'pId', root: "", label:"name"})
    }
    scdFindAll() {
        //覆盖一个findAll,一般用在新的实例上。
        this.actions.find.url = "/api/dept/scdFindAll";
        return this.findAll().then(datas => datas === undefined ? [] : datas)
    }
}

获取对应view table组件的columns定义

let inst = new Dept();
let columns = inst.view("默认列表:table")

console.log(columns)

[
    {"caption":"编号","title":"编号","key":"id","minWidth":120},
    {"caption":"名称","title":"名称","key":"name","minWidth":150},
    {"caption":"父级部门编号","title":"父级部门编号","key":"pId","minWidth":120}
]

默认列表:table 属性与 default 属性 合并再经过 antdAdapter 转换,返回以上属性结果,与 iview table column 相匹配,可以如下方示例,直接绑定到 table 的 columns 属性上

<Table :columns="columns" :data="rowData"></Table>

数据赋值

为了配合 Vue.js的响应式机制 ,需要初始化时就构造完整的数据项,以便在过程中补充新的数据项时,监听器仍然生效。 1. 提供了根据视图模型构造初始数据对象的方法:initData 1. 整个数据赋值,为了保证每个数据项的监听器可以被正确的触发,请使用浅拷贝方法:Object.assign。IE系列不支持,需要通过Polyfill来支持

export default {
    data(){
        return {
            fields: inst.view("默认表单:form"),
            data: inst.initData("默认表单:form"),
        }
    },
    mounted(){
        inst.execute({url:"http://localhost:2500/axsfw/data.json", method:"get"}).then(results => {
            Object.assign(this.data, results.data);
        })
    },
}

查询数据动态条件 querySetting

/**
 * Dept.vue:
 * this.searchValues = {"字段":"值","User.字段":"值"}
 * 
 * */
methods: {
    query() {
        inst.querySetting = inst.querySettingBuilder(this.searchValues, "Dept");
        inst.findAll().then(datas => {
            this.data5 = datas;
        });
    },
}
/**
 * 提交值:
 * {
 *   querySetting:{ "Dept":{"字段":"值"},"User":{"字段":"值"} }
 *   where:{...}
 * }
 * */

获取数据 findAll

继承后,带有 findAll 方法可以查询数据

let inst = new Dept();
inst.findAll({ parentId:"00001" }).then(datas => {
    this.rowData = inst.toTreeData(datas.data);
});

提交地址在构造函数中的 this.actions.findAll.url 中已经配置,默认提交的数据结构如下:

  • this.actions.findAll.params 中可以配置固定查询参数,会与findAll传入的参数做合并,传入参数的优先级高
  • 数据格式与 Sequelize 接近
{
    "where":{
        "created_at":["2018-05-16T15:41:16.000Z"],
        "parentId":"00001"
    },
    "order":[{"created_at":"+"},{"workcode":"+"}],
    "offset":0,"limit":100
}

排序

使用order方法,设置排序,该参数只在findAll方法中生效。

methods: {
    query() {
        inst.querySetting = inst.querySettingBuilder(this.searchValues, "Dept");
        inst.findAll().then(datas => {
            this.data5 = datas;
        });
    },
    sortHandler(param) {
        let keys = param.key.split(".")
        if (param.order !== "normal"){
            inst.order(keys.concat([param.order]));
        } else {
            inst.order(keys);
        }
        this.query()
    }
}

提交参数格式需要 自定义

findAll 执行过程中提供以下两个事件可以用于参数 格式处理:

  • function beforeFindAll(action, params, props) : Object
  • function afterFindAll(data, action) : Object

需要在构造函数中进行定义,具体示例可以参见底部的 es5 示例

保存数据 save

inst.save(this.deptData).then(result => {
    alert("ok")
})

删除数据 delete

inst.delete(deptId).then(result => {
    alert("ok")
})

视图属性的定义

以下定义为我们所约定的标准化属性,依此映射到不同风格的实现组件库,如:ant desgin

使用视图定义的展现组件:

  1. 表单组件:formConnector
  2. 表格组件:gridBuilder

action 默认定义

actions = {
    save:{
        url: "",
        method: "post",
        name: ""
    },
    delete:{
        url: "",
        method: "post",
        name: ""
    },
    find:{
        url: "",
        method: "post",
        name: "",
        params: {},
        orders: [],
        include: []
    }
}

变量参数

url里面可以写{变量名},会由params中的数据替换掉 如:

this.actions.delete.url = "/api/dept/{id}";
...

this.delete({id:"123"})

es5 写法

(function (exports) {
    function ExampleDataAdapter(meta){
            exports.DataAdapter.call(this, meta);
            exports.axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
            exports.axios.defaults.transformRequest = [function (data) {
                var ret = []
                for (var it in data) {
                    ret.push(encodeURIComponent(it) + '=' + encodeURIComponent(data[it]))
                }
                return ret.join('&');
            }],
            this.beforeFindAll = function(action, params, props) {
                return Object.assign({}, params.where, {
                    pageSize: props.pageSize,
                    pageNumber: props.pageNumber
                })
            }
            this.afterFindAll = function(data, action){
                return data.datas[action.name];
            }
    }
    ExampleDataAdapter.prototype = new exports.DataAdapter();
    exports.ExampleDataAdapter = ExampleDataAdapter;
})(window["tg-turing"])


var da = new window["tg-turing"].ExampleDataAdapter();
1.30.31

6 years ago

1.30.30

6 years ago

1.30.29

6 years ago

1.30.28

6 years ago

1.30.27

6 years ago

1.30.26

6 years ago

1.30.25

6 years ago

1.30.24

6 years ago

1.30.23

6 years ago

1.30.22

6 years ago

1.30.21

6 years ago

1.30.20

6 years ago

1.30.19

6 years ago

1.30.18

6 years ago

1.30.17

6 years ago

1.30.16

6 years ago

1.30.15

6 years ago

1.30.14

6 years ago

1.30.13

6 years ago

1.30.12

6 years ago

1.30.11

6 years ago

1.30.10

6 years ago

1.30.9

6 years ago

1.30.8

6 years ago

1.30.7

6 years ago

1.30.6

6 years ago

1.30.5

6 years ago

1.30.4

6 years ago

1.30.3

6 years ago

1.30.2

6 years ago

1.30.1

6 years ago

1.30.0

6 years ago

1.29.5

6 years ago

1.29.4

6 years ago

1.29.3

7 years ago

1.29.2

7 years ago

1.29.1

7 years ago

1.29.0

7 years ago

1.28.61

7 years ago

1.28.60

7 years ago

1.28.59

7 years ago

1.28.58

7 years ago

1.28.57

7 years ago

1.28.56

7 years ago

1.28.55

7 years ago

1.28.54

7 years ago

1.28.53

7 years ago

1.28.52

7 years ago

1.28.51

7 years ago

1.28.50

7 years ago

1.28.49

7 years ago

1.28.48

7 years ago

1.28.47

7 years ago

1.28.46

7 years ago

1.28.45

7 years ago

1.28.44

7 years ago

1.28.43

7 years ago

1.28.42

7 years ago

1.28.41

7 years ago

1.28.40

7 years ago

1.28.39

7 years ago

1.28.38

7 years ago

1.28.37

7 years ago

1.28.36

7 years ago

1.28.35

7 years ago

1.28.34

7 years ago

1.28.33

7 years ago

1.28.32

7 years ago

1.28.31

7 years ago

1.28.30

7 years ago

1.28.29

7 years ago

1.28.28

7 years ago

1.28.27

7 years ago

1.28.26

7 years ago

1.28.25

7 years ago

1.28.24

7 years ago

1.28.23

7 years ago

1.28.22

7 years ago

1.28.21

7 years ago

1.28.20

7 years ago

1.28.19

7 years ago

1.28.18

7 years ago

1.28.17

7 years ago

1.28.16

7 years ago

1.28.15

7 years ago

1.28.14

7 years ago

1.28.13

7 years ago

1.28.12

7 years ago

1.28.11

7 years ago

1.28.10

7 years ago

1.28.9

7 years ago

1.28.8

7 years ago

1.28.7

7 years ago

1.28.6

7 years ago

1.28.5

7 years ago

1.28.4

7 years ago

1.28.3

7 years ago

1.28.2

7 years ago

1.28.1

7 years ago

1.28.0

7 years ago

1.27.19

7 years ago

1.27.18

7 years ago

1.27.17

7 years ago

1.27.16

7 years ago

1.27.15

7 years ago

1.27.14

7 years ago

1.27.13

7 years ago

1.27.12

7 years ago

1.27.11

7 years ago

1.27.10

7 years ago

1.27.9

7 years ago

1.27.8

7 years ago

1.27.7

7 years ago

1.27.6

7 years ago

1.27.5

7 years ago

1.27.4

7 years ago

1.27.3

7 years ago

1.27.2

7 years ago

1.27.1

7 years ago

1.27.0

7 years ago

1.26.15

7 years ago

1.26.14

7 years ago

1.26.13

7 years ago

1.26.12

7 years ago

1.26.11

7 years ago

1.26.10

7 years ago

1.26.9

7 years ago

1.26.8

7 years ago

1.26.7

7 years ago

1.26.6

7 years ago

1.26.5

7 years ago

1.26.4

7 years ago

1.26.3

7 years ago

1.26.2

7 years ago

1.26.1

7 years ago

1.26.0

7 years ago

1.25.12

7 years ago

1.25.11

7 years ago

1.25.10

7 years ago

1.25.9

7 years ago

1.25.8

7 years ago

1.25.7

7 years ago

1.25.6

7 years ago

1.25.5

7 years ago

1.25.4

7 years ago

1.25.3

7 years ago

1.25.2

7 years ago

1.25.1

7 years ago

1.25.0

7 years ago

1.24.6

7 years ago

1.24.5

7 years ago

1.24.4

7 years ago

1.24.3

7 years ago

1.24.2

7 years ago

1.24.1

7 years ago

1.24.0

7 years ago

1.23.9

7 years ago

1.23.8

7 years ago

1.23.7

7 years ago

1.23.6

7 years ago

1.23.5

7 years ago

1.23.4

7 years ago

1.23.3

7 years ago

1.23.2

7 years ago

1.23.1

7 years ago

1.23.0

7 years ago

1.22.6

7 years ago

1.22.5

7 years ago

1.22.4

7 years ago

1.22.3

7 years ago

1.22.2

7 years ago

1.22.1

7 years ago

1.22.0

7 years ago

1.21.11

7 years ago

1.21.10

7 years ago

1.21.9

7 years ago

1.21.7

7 years ago

1.21.6

7 years ago

1.21.5

7 years ago

1.21.4

7 years ago

1.21.3

7 years ago

1.21.2

7 years ago

1.21.1

7 years ago

1.21.0

7 years ago

1.20.4

7 years ago

1.20.3

7 years ago

1.20.2

7 years ago

1.20.1

7 years ago

1.20.0

7 years ago

1.19.4

7 years ago

1.19.3

7 years ago

1.19.2

7 years ago

1.19.1

7 years ago

1.19.0

7 years ago

1.18.5

7 years ago

1.18.4

7 years ago

1.18.3

7 years ago

1.18.2

7 years ago

1.18.1

7 years ago

1.18.0

7 years ago

1.17.4

7 years ago

1.17.3

7 years ago

1.17.2

7 years ago

1.17.1

7 years ago

1.17.0

7 years ago

1.16.27

7 years ago

1.16.26

7 years ago

1.16.25

7 years ago

1.16.24

7 years ago

1.16.23

7 years ago

1.16.22

7 years ago

1.16.21

7 years ago

1.16.20

7 years ago

1.16.19

7 years ago

1.16.18

7 years ago

1.16.17

7 years ago

1.16.16

7 years ago

1.16.15

7 years ago

1.16.14

7 years ago

1.16.13

7 years ago

1.16.12

7 years ago

1.16.11

7 years ago

1.16.10

7 years ago

1.16.9

7 years ago

1.16.8

7 years ago

1.16.7

7 years ago

1.16.6

7 years ago

1.16.5

7 years ago

1.16.4

7 years ago

1.16.3

7 years ago

1.16.2

7 years ago

1.16.1

7 years ago

1.16.0

7 years ago

1.15.5

7 years ago

1.15.4

7 years ago

1.15.3

7 years ago

1.15.2

7 years ago

1.15.1

7 years ago

1.15.0

7 years ago

1.14.7

7 years ago

1.14.6

7 years ago

1.14.5

7 years ago

1.14.4

7 years ago

1.14.3

7 years ago

1.14.2

7 years ago

1.14.1

7 years ago

1.14.0

7 years ago

1.13.8

7 years ago

1.13.7

7 years ago

1.13.6

7 years ago

1.13.5

7 years ago

1.13.4

7 years ago

1.13.3

7 years ago

1.13.2

7 years ago

1.13.1

7 years ago

1.13.0

7 years ago

1.12.23

7 years ago

1.12.22

7 years ago

1.12.21

7 years ago

1.12.20

7 years ago

1.12.19

7 years ago

1.12.18

7 years ago

1.12.17

7 years ago

1.12.16

7 years ago

1.12.15

7 years ago

1.12.14

7 years ago

1.12.13

7 years ago

1.12.12

7 years ago

1.12.11

7 years ago

1.12.10

7 years ago

1.12.9

7 years ago

1.12.8

7 years ago

1.12.7

7 years ago

1.12.6

7 years ago

1.12.5

7 years ago

1.12.4

7 years ago

1.12.3

7 years ago

1.12.2

7 years ago

1.12.1

7 years ago

1.12.0

7 years ago

1.11.17

7 years ago

1.11.16

7 years ago

1.11.15

7 years ago

1.11.14

7 years ago

1.11.13

7 years ago

1.11.12

7 years ago

1.11.11

7 years ago

1.11.10

7 years ago

1.11.9

7 years ago

1.11.8

7 years ago

1.11.7

7 years ago

1.11.6

7 years ago

1.11.4

7 years ago

1.11.3

7 years ago

1.11.2

7 years ago

1.11.1

7 years ago

1.11.0

7 years ago

1.10.1

7 years ago

1.10.0

7 years ago

1.9.1

7 years ago

1.9.0

7 years ago

1.8.23

7 years ago

1.8.22

7 years ago

1.8.21

7 years ago

1.8.20

7 years ago

1.8.19

7 years ago

1.8.18

7 years ago

1.8.17

7 years ago

1.8.16

7 years ago

1.8.15

7 years ago

1.8.14

7 years ago

1.8.13

7 years ago

1.8.12

7 years ago

1.8.11

7 years ago

1.8.10

7 years ago

1.8.9

7 years ago

1.8.8

7 years ago

1.8.6

7 years ago

1.8.5

7 years ago

1.8.4

7 years ago

1.8.3

7 years ago

1.8.2

7 years ago

1.8.1

7 years ago

1.8.0

7 years ago

1.7.10

7 years ago

1.7.9

7 years ago

1.7.8

7 years ago

1.7.7

7 years ago

1.7.6

7 years ago

1.7.5

7 years ago

1.7.4

7 years ago

1.7.2

7 years ago

1.7.1

7 years ago

1.7.0

7 years ago

1.6.12

7 years ago

1.6.11

7 years ago

1.6.10

7 years ago

1.6.8

7 years ago

1.6.7

7 years ago

1.6.6

7 years ago

1.6.5

7 years ago

1.6.4

7 years ago

1.6.3

7 years ago

1.6.2

7 years ago

1.6.1

7 years ago

1.6.0

7 years ago

1.5.11

7 years ago

1.5.10

7 years ago

1.5.9

7 years ago

1.5.8

7 years ago

1.5.7

7 years ago

1.5.6

7 years ago

1.5.5

7 years ago

1.5.4

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.31

7 years ago

1.4.30

7 years ago

1.4.29

7 years ago

1.4.28

7 years ago

1.4.27

7 years ago

1.4.26

7 years ago

1.4.25

7 years ago

1.4.24

7 years ago

1.4.23

7 years ago

1.4.22

7 years ago

1.4.21

7 years ago

1.4.20

7 years ago

1.4.19

7 years ago

1.4.18

7 years ago

1.4.17

7 years ago

1.4.16

7 years ago

1.4.15

7 years ago

1.4.14

7 years ago

1.4.13

7 years ago

1.4.12

7 years ago

1.4.11

7 years ago

1.4.10

7 years ago

1.4.9

7 years ago

1.4.8

7 years ago

1.4.7

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.4

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.10

7 years ago

1.3.9

7 years ago

1.3.8

7 years ago

1.3.7

7 years ago

1.3.6

7 years ago

1.3.5

7 years ago

1.3.4

7 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago