duan
2024-08-21 22bd5bc1ce2b49284cc2f042c7f4f48619fcf85b
提交 | 用户 | age
8e1d1f 1 $(function () {
A 2     initWorkflowNodeDialog();
3     initWorkflowNodeTable();
4     initWorkflowNodeClick();
5 })
6 //验证输入-点击提交时
7 function checkWorkflowNodeClickSubmit(idList) {
8     $(idList).each(function (index, element) {
9         checkWorkflowNodeAttention($(this));
10     });
11 }
12 //验证输入-更改提示信息
13 function checkWorkflowNodeAttention(element) {
14     var id = $(element).attr('id');
15     var errorMsg = $(element).parents('tr').find('.errorMsg');
16     if (id == 'dgWorkflowNodeCode') {
17         var value = $(element).textbox('getValue');//有的是EasyUI,有的纯HTML
18         if (checkValLenString(value, 1, 64).code == 0) errorMsg.text('编号必须在1-64个字符之间'); else errorMsg.text('');
19     } else if (id == 'dgWorkflowNodeName') {
20         var value = $(element).textbox('getValue');
21         if (checkValLenString(value, 1, 64).code == 0) errorMsg.text('名称必须在1-64个字符之间'); else errorMsg.text('');
22     } else if (id == 'dgWorkflowNodeType') {
23         var value = $(element).combobox('getValue');
24         if (checkValLenNumber(value, 1, 3).code == 0) errorMsg.text('请选择节点类型'); else errorMsg.text('');
25     } else if (id == 'dgMinRoleId') {
26         var type = $('#dgWorkflowNodeType').combobox('getValue');
27         var minRole = $('#dgMinRoleId').val();
28         if (type == 2 && (minRole == '' || minRole== '0')) {
29             errorMsg.text('本部门上下级:请指定最小审批角色'); 
30         } else {
31             errorMsg.text('');
32         }
33     } else if (id == 'dgMaxRoleId') {
34         var type = $('#dgWorkflowNodeType').combobox('getValue');
35         var maxRole = $('#dgMaxRoleId').val();
36         if (type == 2 && (maxRole == '' || maxRole == '0')) {
37             errorMsg.text('本部门上下级:请指定最大审批角色');
38         } else {
39             errorMsg.text('');
40         }
41     }
42 }
43
44
45 //初始化提示框
46 function initWorkflowNodeDialog() {
47     ajaxAsync('../../GlobalM/WorkflowNode/GetWorkflowNodeType', null, 'post', 'json',
48         (data) => {
49             if (typeof data == 'string') data = $.parseJSON(data);
50             if (data.total == 200) {
51                 $('#dgWorkflowNodeType').combobox({
52                     data: data.rows,
53                     valueField: 'Id',
6bb7ad 54                     textField: 'Name',
A 55                     onSelect: function (n, o) {
56                         var name = n.Name;
57                         if (name == '本部门上级') {
58                             $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').removeClass('tdHidden');
1bf8ef 59                         } else if (name == '分组流向') {
A 60                             $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').addClass('tdHidden');
61                             $('#WorkflowNodeDialog td[title=WorkflowNodeRole]:first').removeClass('tdHidden');
6bb7ad 62                         } else {
A 63                             $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').addClass('tdHidden');
64                         }
65                     },
8e1d1f 66                 });
A 67                 $('#dgWorkflowNodeType').combobox('setValue', '1');
68             } else {
69                 alert(data.rows);
70             }
71         }, (data) => {
72             alert(data);
73         });
74     //初始化最小/大角色
75     clickSelectDialog('#dgPartialWorkflowNodeRole', '../../GlobalM/Role/Search', null, 'post', () => {
76         var rows = $('#dgPartialWorkflowNodeRole').find('.easyui-datagrid[title="SearchPartialRole"]').first().datagrid('getSelections');
77         if (typeof rows == 'undefined') return;
78         if (rows.length != 1) { show('请选择任意一行!'); return; }
79         var whichRole = $('#tbxWorkflowNodeWhichDgRole').val();
80         if (whichRole == 'Min') {
81             $('#dgMinRoleId').val(rows[0].Id);
82             $('#dgMinRoleName').text(rows[0].Name);
83         } else if (whichRole == 'Max') {
84             $('#dgMaxRoleId').val(rows[0].Id);
85             $('#dgMaxRoleName').text(rows[0].Name);
86         }
87         $('#dgPartialWorkflowNodeRole').dialog({ closed: true, });
88     }, () => {
89         $('#dgPartialWorkflowNodeRole').dialog({ closed: true, });
90     });
91     $('#WorkflowNodeDialog').dialog({
92         closed: true,//默认关闭状态
93         closable: false,//不提供关闭页面
94         top: 10,
95         left: 10,
96         iconCls: 'icon-more',
97         resizable: false,//是否可改变窗口大小
98         modal: true,//模式化窗口,打开其他地方不可点击
99         buttons: [{
100             text: '保存',
101             iconCls: 'icon-ok',
102             handler: function () {
103                 //验证
104                 checkWorkflowNodeClickSubmit('#dgWorkflowNodeCode,#dgWorkflowNodeName,#dgWorkflowNodeType,#dgMinRoleId,#dgMaxRoleId');
105                 if (!IsSubmitDialog('#WorkflowNodeDialog')) { return; }
106                 var param = getDGWorkflowNode();
107                 var url = $('#WorkflowNodeDialog').panel('options').title == '新增' ? '../../GlobalM/WorkflowNode/Insert' : '../../GlobalM/WorkflowNode/Update';
108                 var result = dialogClickKeepJson(url, param);
109                 if (result.total==200) {
110                     clearDGWorkflowNode();
111                     $('#WorkflowNodeDialog').dialog({ closed: true, });
112                     reloadWorkflowNodeTable();//重新加载表格
113                 } else {
114                     alert(result.rows);
115                 }
116             }
117         }, {
118             text: '取消',
119             iconCls: 'icon-cancel',
120             handler: function () {
121                 clearDGWorkflowNode();
122                 $('#WorkflowNodeDialog').dialog({ closed: true, });
123             }
124         }],
125     });
126 }
127
128 //初始化表格
129 function initWorkflowNodeTable() {
130     var code = $('#searchWorkflowNodeCode').textbox('getValue');
131     var name = $('#searchWorkflowNodeName').textbox('getValue');
132     $('#WorkflowNodeTable').datagrid({
133         //分页
134         fit: true,
135         fitColumns: true,
136         singleSelect: true,
137         url: '../../GlobalM/WorkflowNode/GetWorkflowNode',
138         queryParams: { Code: code, Name: name },
139         pagination: true,
140         rownumbers: true,
141         pagePosition: 'bottom',
1bf8ef 142         pageSize: 30,
8e1d1f 143         pageNumber: 1,
A 144         pageList: [2, 10, 15, 20, 30, 50],
145         toolbar: '#searchWorkflowNodeToolBar',
146         //数据格式
147         columns: [[
148             //{ checkbox: true, field: 'Id', fixed: true, },
149             { title: '序号', width: 35, field: 'Id', hidden: true, },
1bf8ef 150             { title: '编号', width: 120, field: 'Code', },
A 151             { title: '名称', width: 230, field: 'Name', },
8e1d1f 152             { title: '类型序号', width: 35, field: 'NodeTypeId', hidden: true, },
A 153             { title: '类型', width: 180, field: 'NodeTypeName', },
154             { title: '最小角色序号', width: 35, field: 'MinRoleId', hidden: true, },
155             { title: '最小角色名称', width: 150, field: 'MinRoleName', },
156             { title: '最大角色序号', width: 35, field: 'MaxRoleId', hidden: true, },
157             { title: '最大角色名称', width: 150, field: 'MaxRoleName', },
6bb7ad 158             //{ title: '执行顺序', width: 80, field: 'OrderNo', },
8e1d1f 159             {
A 160                 title: '创建时间', width: 200, field: 'CreateTime', formatter: function (value, row, index) {
6bb7ad 161                     return toDateStr(value);
8e1d1f 162                 }
A 163             },
1bf8ef 164             //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
A 165             //{ title: '创建人', width: 100, field: 'CreateUserName', },
8e1d1f 166             {
A 167                 title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
6bb7ad 168                     return toDateStr(value);
8e1d1f 169                 }
A 170             },
171             { title: '变更人', width: 100, field: 'ChangeUserId', hidden: true, },
172             { title: '变更人', width: 100, field: 'ChangeUserName', },
173         ]],
174         loadFilter: function (data) {
7b83a6 175             if (data.Code == 200) {
8e1d1f 176                 return data;
7b83a6 177             } else {
A 178                 alert(data.Message);
8e1d1f 179             }
A 180         },
181     });
182 }
183 //清除dialog中的选项
184 function clearDGWorkflowNode() {
185     $('#dgWorkflowNodeId').textbox('setValue', '');
186     $('#dgWorkflowNodeCode').textbox('setValue', '');
187     $('#dgWorkflowNodeName').textbox('setValue', '');
188     $('#dgWorkflowNodeType').combobox('setValue', '1');
189     $('#dgMinRoleId').val( '');
190     $('#dgMinRoleName').text( '');
191     $('#dgMaxRoleId').val( '');
192     $('#dgMaxRoleName').text( '');
193     $('#dgWorkflowNodeOrderNo').textbox('setValue', '');
194     $('.errorMsg').text('');
195 }
196 //获取dialog中的值
197 function getDGWorkflowNode() {
198     var id = $('#dgWorkflowNodeId').textbox('getValue');
199     if (id == '') id = 0;
200     var code = $('#dgWorkflowNodeCode').textbox('getValue');
201     var name = $('#dgWorkflowNodeName').textbox('getValue');
202     var type = $('#dgWorkflowNodeType').combobox('getValue');
203     var minRole = $('#dgMinRoleId').val();
204     if (minRole == '') minRole = 0;
205     var maxRole = $('#dgMaxRoleId').val();
206     if (maxRole == '') maxRole = 0;
207     var orderNo = $('#dgWorkflowNodeOrderNo').val();
208     if (orderNo == '') orderNo = 0;
209     var param = { Id: id, Code: code, Name: name, NodeTypeId: type, MinRoleId: minRole, MaxRoleId: maxRole, OrderNo: orderNo };
210     console.info(param);
211     return param;
212 }
213
214 //初始化点击按钮、更改下拉框事件
215 function initWorkflowNodeClick() {
216     $('#dgMinRoleId').click(function () {
217         $('#tbxWorkflowNodeWhichDgRole').val('Min');//为到时候赋值做准备
218         $('#dgPartialWorkflowNodeRole').dialog({
219             closed: false,//默认关闭状态
220             closable: false,//不提供关闭页面
221         });
222     });
223     $('#dgMaxRoleId').click(function () {
224         $('#tbxWorkflowNodeWhichDgRole').val('Max');//为到时候赋值做准备
225         $('#dgPartialWorkflowNodeRole').dialog({
226             closed: false,//默认关闭状态
227             closable: false,//不提供关闭页面
228         });
229     });
230     //点击Search按钮
231     $('#btnWorkflowNodeSearch').click(function () {
232         reloadWorkflowNodeTable();//重新加载表格
233     });
234     //点击清除
235     $('#btnWorkflowNodeClear').click(function () {
236         $('#searchWorkflowNodeCode').textbox('setValue', '');
237         $('#searchWorkflowNodeName').textbox('setValue', '');
238     });
239     //点击新增
240     $('#btnWorkflowNodeInsert').click(function () {
241         clearDGWorkflowNode();
242         tableClickInsert('#WorkflowNodeDialog', '新增');
243     });
244     //点击修改
245     $('#btnWorkflowNodeUpdate').click(function () {
246         var rows = $('#WorkflowNodeTable').datagrid('getSelections');
247         debugger;
248         if (rows.length <= 0) { show('请选择任意一行!'); return; }
249         clearDGWorkflowNode();
250         var data = tableClickUpdateById(rows[0].Id, '../../GlobalM/WorkflowNode/SelectById', '#WorkflowNodeDialog', '修改');
251         if (data.total==200) {
252             $('#dgWorkflowNodeId').textbox('setValue', data.rows.Id);
253             $('#dgWorkflowNodeCode').textbox('setValue', data.rows.Code);
254             $('#dgWorkflowNodeName').textbox('setValue', data.rows.Name);
255             $('#dgWorkflowNodeType').combobox('setValue', data.rows.NodeTypeId);
256             $('#dgMinRoleId').val(data.rows.MinRoleId);
257             $('#dgMinRoleName').text(data.rows.MinRoleName);
258             $('#dgMaxRoleId').val(data.rows.MaxRoleId);
259             $('#dgMaxRoleName').text(data.rows.MaxRoleName);
260             $('#dgWorkflowNodeOrderNo').textbox('setValue', data.rows.OrderNo);
261         } else {
262             alert(data.rows);
263         }
264     });
265     //点击删除
266     $('#btnWorkflowNodeDelete').click(function () {
15b421 267         alert('组织架构维护中');
A 268         //var rows = $('#WorkflowNodeTable').datagrid('getSelections');
269         //if (rows.length <= 0) { show('请选择任意一行!'); return; }
270         //var result = tableClickDeleteById(rows[0].Id, '/WorkflowNode/Delete');
271         //if (result == 'YES') {
272         //    clearDGWorkflowNode();
273         //    $('#WorkflowNodeDialog').dialog({ closed: true, });
274         //    reloadWorkflowNodeTable();//重新加载表格
275         //} else if (result == '') { } else alert(result);
8e1d1f 276     });
6bb7ad 277     
8e1d1f 278 }
A 279
280 //重新加载表格
281 function reloadWorkflowNodeTable() {
282     $('#WorkflowNodeTable').datagrid('load', {
283         Code: $('#searchWorkflowNodeCode').textbox('getValue'),
284         Name: $('#searchWorkflowNodeName').textbox('getValue'),
285     });
286 }