|
|
@@ -0,0 +1,228 @@
|
|
|
+shr.defineClass("shr.custom.WorkHoursReportListEx", shr.project.WorkHoursReportList, {
|
|
|
+ initalizeDOM: function () {
|
|
|
+ var _self = this;
|
|
|
+ shr.custom.WorkHoursReportListEx.superClass.initalizeDOM.call(this);
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 批量维护
|
|
|
+ */
|
|
|
+ batchMaintenanceAction: function () {
|
|
|
+ // var billIds = $('#grid').jqGrid("getSelectedRows");
|
|
|
+ var selectedIds = this.getSelectedIds();
|
|
|
+ if (selectedIds) {
|
|
|
+ $body = $(document.body);
|
|
|
+ $("#batchSet_dialog").remove();
|
|
|
+ $editCol = $("<form id='batchSet_dialog'></from>").appendTo($body);
|
|
|
+ var formJson = {
|
|
|
+ id: "batchSet_dialog"
|
|
|
+ };
|
|
|
+ var _self = this;
|
|
|
+
|
|
|
+ $('#batchSet_dialog').shrForm(formJson);
|
|
|
+ var orgHtml = _self.appendprocessTransferhHtml();
|
|
|
+ $('#batchSet_dialog').append(orgHtml.join(""));
|
|
|
+ var buttons = [];
|
|
|
+ var param = {};
|
|
|
+ buttons.push({
|
|
|
+ text: "确定",
|
|
|
+ click: function () {
|
|
|
+ var projectType = $('#projectType').shrPromptBox("getValue");
|
|
|
+ var projectRole = $('#projectRole').shrPromptBox("getValue");
|
|
|
+ if (projectType.id == "" && projectRole.id == "") {
|
|
|
+ shr.showError({
|
|
|
+ hideAfter: 5,
|
|
|
+ message: "请填写项目角色组和项目角色类别!"
|
|
|
+ });
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _self.remoteCall({
|
|
|
+ type: "post",
|
|
|
+ async: false,
|
|
|
+ method: "updateWorkHoursReport",
|
|
|
+ param: { billId: selectedIds.toString(), projectType: projectType, projectRole: projectRole },
|
|
|
+ success: function (res) {
|
|
|
+ //如果没有有效的考勤档案,后台会抛出异常
|
|
|
+ if (res != null) {
|
|
|
+ $("#batchSet_dialog").dialog("close");
|
|
|
+ _self.reloadGrid();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ showDialog("#batchSet_dialog", "批量维护", $('#batchSet_dialog').html(), buttons, 500, 400);
|
|
|
+ //HR组织
|
|
|
+ var grid_f7_json = { id: "hrOrgUnit", name: "hrOrgUnit" };
|
|
|
+ grid_f7_json.subWidgetName = 'shrPromptGrid';
|
|
|
+ grid_f7_json.subWidgetOptions = {
|
|
|
+ title: "HR组织",
|
|
|
+ uipk: "com.kingdee.eas.basedata.org.app.HROrgUnit.F7",
|
|
|
+ query: "",
|
|
|
+ filter: "",
|
|
|
+ domain: "",
|
|
|
+ multiselect: false,
|
|
|
+ treeFilterConfig: '',
|
|
|
+ permItemId: "",
|
|
|
+ isHasMultileDialog: false,
|
|
|
+ isTree: false, treeUrl: "",
|
|
|
+ isContainLowerOrg: false,
|
|
|
+ isAdminOrg: false,
|
|
|
+ pgSizes: true,
|
|
|
+ f7SearchConfig: { "displayField": [], "filterFields": "" },
|
|
|
+ dataShowMode: "layout"
|
|
|
+ };
|
|
|
+ grid_f7_json.readonly = 'readonly';
|
|
|
+ grid_f7_json.validate = '';
|
|
|
+ grid_f7_json.value = { 'id': "00000000-0000-0000-0000-000000000000CCE7AED4", 'name': "湖南红太阳" };
|
|
|
+ grid_f7_json.isHROrg = "true";
|
|
|
+ grid_f7_json.isAdminOrg = "false";
|
|
|
+ grid_f7_json.searchLikePattern = "any";
|
|
|
+
|
|
|
+ $('#hrOrgUnit').shrPromptBox(grid_f7_json);
|
|
|
+ $('#hrOrgUnitTr').hide();
|
|
|
+
|
|
|
+ // 项目角色类别
|
|
|
+ var grid_f7_json = { id: "projectType", name: "projectType" };
|
|
|
+ grid_f7_json.subWidgetName = 'shrPromptGrid';
|
|
|
+ grid_f7_json.subWidgetOptions = {
|
|
|
+ title: "项目角色类别",
|
|
|
+ uipk: "com.kingdee.eas.hr.project.app.ProjectType.FastFilter.F7",
|
|
|
+ query: "",
|
|
|
+ filter: "",
|
|
|
+ domain: "",
|
|
|
+ multiselect: false,
|
|
|
+ treeFilterConfig: '',
|
|
|
+ permItemId: "",
|
|
|
+ isHasMultileDialog: false,
|
|
|
+ isTree: false, treeUrl: "",
|
|
|
+ isContainLowerOrg: false,
|
|
|
+ isAdminOrg: false,
|
|
|
+ pgSizes: true,
|
|
|
+ // f7SearchConfig:{"displayField":[],"filterFields":""},
|
|
|
+ dataShowMode: "layout"
|
|
|
+ };
|
|
|
+ grid_f7_json.readonly = '';
|
|
|
+ grid_f7_json.validate = '';
|
|
|
+ grid_f7_json.value = { 'id': "", 'name': "" };
|
|
|
+ grid_f7_json.isHROrg = "false";
|
|
|
+ grid_f7_json.isAdminOrg = "false";
|
|
|
+ grid_f7_json.searchLikePattern = "any";
|
|
|
+ grid_f7_json.subWidgetOptions.isHRBaseItem = true;
|
|
|
+ grid_f7_json.subWidgetOptions.filterConfig = [{ name: 'isComUse', value: true, alias: '显示不常用数据', widgetType: 'checkbox' }];
|
|
|
+ grid_f7_json.subWidgetOptions.bizFilterFields = "hrOrgUnit";
|
|
|
+ grid_f7_json.subWidgetOptions.f7ReKeyValue = "BaseInfo.id:BaseInfo.name";
|
|
|
+ grid_f7_json.subWidgetName = 'specialPromptGrid';
|
|
|
+
|
|
|
+ $('#projectType').shrPromptBox(grid_f7_json);
|
|
|
+
|
|
|
+ // 项目角色
|
|
|
+ var grid_f7_json = { id: "projectRole", name: "projectRole" };
|
|
|
+ grid_f7_json.subWidgetName = 'shrPromptGrid';
|
|
|
+ grid_f7_json.subWidgetOptions = {
|
|
|
+ title: "项目角色组",
|
|
|
+ uipk: "com.kingdee.eas.hr.project.app.ProjectRole.FastFilter.F7",
|
|
|
+ query: "",
|
|
|
+ filter: "",
|
|
|
+ domain: "",
|
|
|
+ multiselect: false,
|
|
|
+ treeFilterConfig: '',
|
|
|
+ permItemId: "",
|
|
|
+ isHasMultileDialog: false,
|
|
|
+ isTree: false, treeUrl: "",
|
|
|
+ isContainLowerOrg: false,
|
|
|
+ isAdminOrg: false,
|
|
|
+ pgSizes: true,
|
|
|
+ f7SearchConfig: { "displayField": [], "filterFields": "" },
|
|
|
+ dataShowMode: "layout"
|
|
|
+ };
|
|
|
+ grid_f7_json.readonly = '';
|
|
|
+ grid_f7_json.validate = '';
|
|
|
+
|
|
|
+ grid_f7_json.value = { 'id': "", 'name': "" };
|
|
|
+ grid_f7_json.isHROrg = "false";
|
|
|
+ grid_f7_json.isAdminOrg = "false";
|
|
|
+ grid_f7_json.searchLikePattern = "any";
|
|
|
+ grid_f7_json.subWidgetOptions.isHRBaseItem = true;
|
|
|
+ grid_f7_json.subWidgetOptions.filterConfig = [{ name: 'isComUse', value: true, alias: '显示不常用数据', widgetType: 'checkbox' }];
|
|
|
+ grid_f7_json.subWidgetOptions.bizFilterFields = "hrOrgUnit";
|
|
|
+
|
|
|
+ grid_f7_json.subWidgetOptions.f7ReKeyValue = "BaseInfo.id:BaseInfo.name";
|
|
|
+ grid_f7_json.subWidgetName = 'specialPromptGrid';
|
|
|
+
|
|
|
+ $('#projectRole').shrPromptBox(grid_f7_json)
|
|
|
+
|
|
|
+
|
|
|
+ // 样式调整
|
|
|
+ // 选中表格并设置水平居中
|
|
|
+ $('.dialog-edit-table').css({
|
|
|
+ 'margin-left': 'auto',
|
|
|
+ 'margin-right': 'auto'
|
|
|
+ });
|
|
|
+ // 可选:重置表格内文本对齐方式为左对齐
|
|
|
+ $('.dialog-edit-table td').css('text-align', 'left');
|
|
|
+ // 确保对话框内容区域居中显示表格
|
|
|
+ $('.ui-dialog-content').css('text-align', 'center');
|
|
|
+ const $input = $('#projectRole'); // 获取输入框元素
|
|
|
+ if ($input.length) { // 确保元素存在
|
|
|
+ $input.focus(); // 设置焦点
|
|
|
+ $input.addClass('focused'); // 添加视觉反馈样式
|
|
|
+ // 可选:清除其他可能的焦点样式
|
|
|
+ $('.focused').not($input).removeClass('focused');
|
|
|
+ }
|
|
|
+ // // 页面加载完成后,将焦点设置到projectRole输入框
|
|
|
+ // $('#projectRole').focus();
|
|
|
+ // // 可选:添加高亮效果提示用户焦点位置
|
|
|
+ // $('#projectRole').addClass('focused');
|
|
|
+ $('.ui-dialog-buttonset button:eq(1)').text("取消")
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ appendprocessTransferhHtml() {
|
|
|
+ var orgHtml = new Array();
|
|
|
+ var html = "<table style='text-align: center;' class='dialog-edit-table dialog-table'>";
|
|
|
+ html += "<tr id = 'hrOrgUnitTr'>";
|
|
|
+ html += "<td>";
|
|
|
+ html += '<div data-ctrlrole="labelContainer" class="field-area flex-c field-basis">';
|
|
|
+ html += '<div class="label-ctrl flex-cc flex-r">';
|
|
|
+ html += '<div class="field-label" title="HR组织" style="">HR组织</div>';
|
|
|
+ html += '<div class="field-desc"></div>';
|
|
|
+ html += "</div> ";
|
|
|
+ html += '<div class="field-ctrl flex-c">';
|
|
|
+ html += ' <div class="ui-datepicker-frame"><div class="ui-datepicker-layout"><div class="ui-datepicker-inputframe"><input id="hrOrgUnit" name="hrOrgUnit" class="block-father input-height" type="text" validate="" istotemplate="true" ctrlrole="promptBox" autocomplete="off"></div><div style="display:none" class="ui-datepicker-icon"><img src="/shr/styles/images/icon_date.png" style="cursor:pointer;"></div></div></div>';
|
|
|
+ html += '</div></div>';
|
|
|
+ html += "</td>";
|
|
|
+ html += "</tr>";
|
|
|
+
|
|
|
+ html += "<tr>";
|
|
|
+ html += "<td>";
|
|
|
+ html += '<div data-ctrlrole="labelContainer" class="field-area flex-c field-basis">';
|
|
|
+ html += '<div class="label-ctrl flex-cc flex-r">';
|
|
|
+ html += '<div class="field-label" title="项目角色" style="">项目角色</div>';
|
|
|
+ html += '<div class="field-desc"></div>';
|
|
|
+ html += "</div> ";
|
|
|
+ html += '<div class="field-ctrl flex-c">';
|
|
|
+ html += ' <div class="ui-datepicker-frame"><div class="ui-datepicker-layout"><div class="ui-datepicker-inputframe"><input id="projectRole" name="projectRole" class="block-father input-height" type="text" validate="" istotemplate="true" ctrlrole="promptBox" autocomplete="off"></div><div style="display:none" class="ui-datepicker-icon"><img src="/shr/styles/images/icon_date.png" style="cursor:pointer;"></div></div></div>';
|
|
|
+ html += '</div></div>';
|
|
|
+ html += "</td>";
|
|
|
+ html += "</tr>";
|
|
|
+
|
|
|
+ html += "<tr>";
|
|
|
+ html += "<td>";
|
|
|
+ html += '<div data-ctrlrole="labelContainer" class="field-area flex-c field-basis">';
|
|
|
+ html += '<div class="label-ctrl flex-cc flex-r">';
|
|
|
+ html += '<div class="field-label" title="项目角色类别" style="">项目角色类别</div>';
|
|
|
+ html += '<div class="field-desc"></div>';
|
|
|
+ html += "</div> ";
|
|
|
+ html += '<div class="field-ctrl flex-c">';
|
|
|
+ html += ' <div class="ui-datepicker-frame"><div class="ui-datepicker-layout"><div class="ui-datepicker-inputframe"><input id="projectType" name="projectType" class="block-father input-height" type="text" validate="" istotemplate="true" ctrlrole="promptBox" autocomplete="off"></div><div style="display:none" class="ui-datepicker-icon"><img src="/shr/styles/images/icon_date.png" style="cursor:pointer;"></div></div></div>';
|
|
|
+ html += '</div></div>';
|
|
|
+ html += "</td>";
|
|
|
+ html += "</tr>";
|
|
|
+ html += "</table>";
|
|
|
+ orgHtml.push(
|
|
|
+ html
|
|
|
+ );
|
|
|
+ return orgHtml;
|
|
|
+ },
|
|
|
+});
|