Blame view

Hh.Mes.T4/JavaScriptTemplate.tt 10.2 KB
赖素文 authored
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<#@ import namespace="System.Linq" #>
let action = null;
layui.config({
    base: "/js/",
    version: 1
}).use(['system'], function () {
    var form = layui.form,
        $ = layui.jquery,
        element = layui.element,
        table = layui.table,
        system = layui.system,
        sysU = new system.u(),
        sendDataWhere = null,
        sendDataDescWhere = null,
        areaName = "<#=AreaName #>",
        controllerName = "<#=ControllerName #>",
        app = null;

    action = {
20
        addOptions<#=IsDetail ? "Desc" : ""#>: function (flagKey, toolbarId, obj, $event) {
赖素文 authored
21
            var options = {
唐召明 authored
22
23
                fromId: "#modifyForm<#=IsDetail ? "Desc" : ""#> form",
                url: `/${areaName}/${controllerName}/Ins<#=IsDetail ? "Desc" : ""#>`,
赖素文 authored
24
25
26
                //sendDataWhere: null,
                //isAddWhereExtend: "arbitrarily",
                //mainTable: app.data.tableIns,
唐召明 authored
27
                submit: "submit(fromAdd<#=IsDetail ? "Desc" : ""#>)"
赖素文 authored
28
29
30
31
            }
            return options;
        },
32
        editOptions<#=IsDetail ? "Desc" : ""#>: function (data, sysU, toolbarId, obj, $event) {
赖素文 authored
33
            var options = {
唐召明 authored
34
35
36
                fromId: "#modifyForm<#=IsDetail ? "Desc" : ""#> form",
                url: `/${areaName}/${controllerName}/Upd<#=IsDetail ? "Desc" : ""#>`,
                submit: "submit(fromUpdate<#=IsDetail ? "Desc" : ""#>)"
赖素文 authored
37
38
39
40
            }
            return options;
        },
41
        deleteOptions<#=IsDetail ? "Desc" : ""#>: function (sysU, toolbarId, obj, $event) {
赖素文 authored
42
            var options = {
唐召明 authored
43
                url: `/${areaName}/${controllerName}/DelByIds<#=IsDetail ? "Desc" : ""#>`,
赖素文 authored
44
45
46
47
48
                keyId: "id"
            }
            return options;
        },
49
        //导出方法
赖素文 authored
50
51
        exportOptions: function () {
            var options = {
唐召明 authored
52
                fromId: "listForm<#=IsDetail ? "Desc" : ""#>",
赖素文 authored
53
                url: `/${areaName}/${controllerName}/Export`,
54
                isDefault: false,//false导出单表,true导出主明细表
赖素文 authored
55
                sendDataWhere:{},
56
                //后台接口返回数据也要保持一致 response.Result=new{ head=x,body=x、footer=x}
赖素文 authored
57
58
59
60
61
62
63
64
                excelCols: {
                    head: app.data.cols,
                    body: app.data.colsDesc
                }
            }
            return options;
        },
唐召明 authored
65
        queryOptions<#=IsDetail ? "Desc" : ""#>: function () {
赖素文 authored
66
            var options = {
唐召明 authored
67
68
                resetFrom: "form[lay-filter=listForm<#=IsDetail ? "Desc" : ""#>]",
                fromId: "listForm<#=IsDetail ? "Desc" : ""#>",
赖素文 authored
69
                urlExport: `/${areaName}/${controllerName}/Export`,
唐召明 authored
70
                urlQuery: `/${areaName}/${controllerName}/Load<#=IsDetail ? "Desc" : ""#>`,
赖素文 authored
71
                sendDataWhere:{},
唐召明 authored
72
                mainTable: app.data.tableIns<#=IsDetail ? "Desc" : ""#>
赖素文 authored
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
            }
            return options;
        },
        /*rowClickOptions: function () {
            var options = {
                //是否主子表
                isDefault: true,
                targetTableId: app.data.tableElem,
                tabfilter: "tableTabBody",
                tabId: 2,
                customFn: app.methods.initTableDesc
            }
            return options;
        },*/

        uploadOptions: function () {
            var options = {
                url: `/${areaName}/${controllerName}/Import`,
                fromFile: "#excelfile",
                content: $("#ImportData")
            }
            return options;
        },
唐召明 authored
96
        addBefore<#=IsDetail ? "Desc" : ""#>: function (callBack) {
赖素文 authored
97
98
99
100
            //callBack是回调函数,如果editBefore有ajax 放在成功之后
            if (callBack != null) callBack();
        },
唐召明 authored
101
        addSaveBefore<#=IsDetail ? "Desc" : ""#>: function (data, callBack) {
赖素文 authored
102
103
            if (callBack != null) callBack();
        },
唐召明 authored
104
        editBefore<#=IsDetail ? "Desc" : ""#>: function (data, callBack) {
赖素文 authored
105
            //data.enable = data.enable.toString();
赖素文 authored
106
107
108
            form.val("modifyForm", data);
            if (callBack != null) callBack();
        },
唐召明 authored
109
        editSaveBefore<#=IsDetail ? "Desc" : ""#>: function (data, callBack) {
赖素文 authored
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
            if (callBack != null) callBack();
        },

        checkboxMethod: function (obj) {
            var page = "".GetUrlParam("page"),
                xxx = "".GetUrlParam("xxx");
            if (page == "xxx") {
                var sendData = {

                };
                var ajaxConfig = {
                    data: sendData,
                    url: `${areaName}/${controllerName}/xxx`,
                    success: function (result) {
                        if (sysU.successBefore(result)) return false;
                        layer.msg(result.Message);
                    }
                };
                sysU.ajax(ajaxConfig);
            }
        },
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
        radioMethod: function (obj) {
            if (!sysU.SetTableRadioCheckBefore()) return;

            if (false) {
                var sendData = {
                    xyz: "xx",
                    checkeds: obj.checked,
                    keys: obj.data.keys,
                };
                if (sendData.keys == null || sendData.keys == "") {
                    layer.alert("tableRowOneClick:项目角色标识【keys】为空,请重新关闭后再操作,反复出现请联系管理员", { icon: 2, shadeClose: true, title: "提示" });
                    return false;
                }
                var ajaxConfig = {
                    data: sendData,
                    url: "/base/xxx/xxx",
                    success: function (result) {
                        if (sysU.successBefore(result)) return false;
                        layer.msg(result.Message);
                        sysU.refreshTable(app, sysU, null, "main");
                    }
                };
                sysU.ajax(ajaxConfig);
            }
        },
赖素文 authored
157
158
        //所有动作成功之后
        actionSuccess: (flag) => {
159
160
161
162
163
           var data  = null;
           if (flag.includes("Desc")) {
               data = sendDataDescWhere;
           }
           sysU.refreshTable(app, sysU, data, flag);
赖素文 authored
164
165
166
167
168
169
170
171
        },
        closeAfter: function (callBack) {
            if (callBack != null) callBack();
        }
    }

    app = {
        data: {
唐召明 authored
172
            cols<#=IsDetail ? "Desc" : ""#>: [[
赖素文 authored
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
                { checkbox: true, fixed: true },
<# if(Data.Any(x => x.Key.Equals("id", StringComparison.OrdinalIgnoreCase))) #>
<# { #>
                { field: "id", width: 80, hide: true, title: "Id" },
<# } #>
<# if(Data.Any(x => x.Key.Equals("keys", StringComparison.OrdinalIgnoreCase))) #>
<# { #>
                { field: "keys", width: 80, hide: true, title: "Keys" },
<# } #>
<# foreach(var item in Data) #>
<# { #>
<# if (item.Key.Equals("Id", StringComparison.OrdinalIgnoreCase) || item.Key.Equals("Keys", StringComparison.OrdinalIgnoreCase)) #>
<# { continue; } #>
<# if(!string.IsNullOrWhiteSpace(item.Value)) #>
<# { #>
                { field: "<#=item.Key #>", width: 150, title: "<#=item.Value #>" },
<# }else{ #>
                { field: "<#=item.Key #>", width: 150, title: "<#=item.Key #>" },
<# } #>
<# } #>
            ]],
            colsDesc:null,
            tableIns: null,
            tableElem: "mainList",
            tableInsDesc: null,
            tableElemDesc: "mainListDesc",

            //下拉框配置
            selectOption: {
                //station: {
                //    SelType: "FromUrl",
                //    SelFrom: `/${areaName}/${controllerName}/StationLineSelect`,
                //    SelLabel: "workStationName",
                //    SelValue: "workStationCode",
                //    OptGroup: true,
                //    Dom: [$("[name='stationCode']")]
                //},
                //返回的数据 用于后续操作
                selectData: {

                }
HuXiYu authored
214
215
216
217
218
219
220
221
222
223
224
225
226
227
            },
            //下拉框配置枚举
            selectOptionEnum: {
                 type: {
                    SelValue: "value",     //key or value
                    SelFrom: "dataSource", //固定
                    Dom: [$("select[name='xxx']")],
                    dataSource: window.top.Enumxxx,
                },
                //返回的数据 用于后续操作
                selectData: {

                }
            },
赖素文 authored
228
229
        },
        methods: {
唐召明 authored
230
            initTable<#=IsDetail ? "Desc" : ""#>: function (opt) {
赖素文 authored
231
232
233
                var config = {};
                if (opt != undefined) $.extend(config, opt);
                let options = {
唐召明 authored
234
235
236
                    elem: "#" + app.data.tableElem<#=IsDetail ? "Desc" : ""#>,
                    url: `/${areaName}/${controllerName}/Load<#=IsDetail ? "Desc" : ""#>`,
                    cols: sysU.columnRecord(app.data.tableElem<#=IsDetail ? "Desc" : ""#>, app.data.cols<#=IsDetail ? "Desc" : ""#>),
赖素文 authored
237
238
                    toolbar: '#toolbarTable',
                    where: config, 
239
                    //height: "full-50",//如果是主明细页签,列表主体高度要设置,否则分页导航不直观展示
赖素文 authored
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
                    doneExtend: function (res, obj) {

                    }
                }
                app.data.tableIns = sysU.initTable(options);
            },

            initSelectTable: function () {
              var opt1 = {
                    elem: ".productCode",
                    checkedKey: "productCode",
                    doneKey: {
                        key: "productCode",
                        lableValue: "productName"
                    },
                    searchKey: "productCode",
                    searchName: "产品编码"
                };
               sysU.initSelectProduct(opt1);
            },

            initFrom() {
HuXiYu authored
262
263
                //sysU.initSelect(app.data.selectOption);
264
                //sysU.tabClick("tableTabBody");
HuXiYu authored
265
                //sysU.initSelecteByEnum(app.data.selectOptionEnum);
赖素文 authored
266
267
268
269
270
271
            }
        },
        registerEvent: function () {

        },
        init: function () {
272
            app.methods.initFrom();
唐召明 authored
273
            //var sendDataWhere = form.val("listForm<#=IsDetail ? "Desc" : ""#>")
274
            //var sendDataWhere = "".getAllUrlParameters();
唐召明 authored
275
            app.methods.initTable<#=IsDetail ? "Desc" : ""#>();
赖素文 authored
276
277
278
279
280
            app.registerEvent();
        }
    };
    app.init();
});