(function (vc, vm) { vc.extends({ data: { editAttendanceClassesInfo: { classesId: '', classesName: '', timeOffset: '', clockCount: '', clockTypes: [], clockType: '', clockTypeValue: '', leaveOffset: '', lateOffset: '', maxLastOffset: '', attrs: [], clockTypeValues: [] } }, _initMethod: function () { }, _initEvent: function () { vc.on('editAttendanceClasses', 'openEditAttendanceClassesModal', function (_params) { vc.component.refreshEditAttendanceClassesInfo(); $('#editAttendanceClassesModel').modal('show'); vc.getDict('attendance_classes', "clock_type", function (_data) { vc.component.editAttendanceClassesInfo.clockTypes = _data; }); vc.copyObject(_params, vc.component.editAttendanceClassesInfo); vc.component.editAttendanceClassesInfo.communityId = vc.getCurrentCommunity().communityId; $that._initEditAttendanceClasses(_params.attrs); }); }, methods: { editAttendanceClassesValidate: function () { return vc.validate.validate({ editAttendanceClassesInfo: vc.component.editAttendanceClassesInfo }, { 'editAttendanceClassesInfo.classesName': [ { limit: "required", param: "", errInfo: "班次名称不能为空" }, { limit: "maxLength", param: "64", errInfo: "班次名称格式错误" } ], 'editAttendanceClassesInfo.timeOffset': [ { limit: "required", param: "", errInfo: "打卡范围不能为空" }, { limit: "num", param: "", errInfo: "打卡范围格式错误" } ], 'editAttendanceClassesInfo.leaveOffset': [ { limit: "required", param: "", errInfo: "迟到范围不能为空" }, { limit: "maxLength", param: "20", errInfo: "迟到范围错误" } ], 'editAttendanceClassesInfo.lateOffset': [ { limit: "required", param: "", errInfo: "早退范围不能为空" }, { limit: "maxLength", param: "20", errInfo: "早退范围错误" } ], 'editAttendanceClassesInfo.classesObjId': [ { limit: "required", param: "", errInfo: "班次对象不能为空" }, { limit: "num", param: "", errInfo: "班次对象错误" } ], 'editAttendanceClassesInfo.classesId': [ { limit: "required", param: "", errInfo: "班组ID不能为空" } ] }); }, editAttendanceClasses: function () { vc.http.apiPost( 'attendanceClasses.updateAttendanceClasses', JSON.stringify(vc.component.editAttendanceClassesInfo), { emulateJSON: true }, function (json, res) { //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); let _json = JSON.parse(json); if (_json.code == 0) { //关闭model $('#editAttendanceClassesModel').modal('hide'); vc.emit('attendanceClassesManage', 'listAttendanceClasses', {}); vc.toast("修改成功"); return; } else { vc.toast(_json.msg); } }, function (errInfo, error) { console.log('请求失败处理'); vc.toast(errInfo); }); }, refreshEditAttendanceClassesInfo: function () { vc.component.editAttendanceClassesInfo = { classesId: '', classesName: '', timeOffset: '', clockCount: '', clockTypes: [], clockType: '', clockTypeValue: '', leaveOffset: '', lateOffset: '', maxLastOffset: '', attrs: [], clockTypeValues: [] } }, _editAttendanceChangeClockCount: function () { let _clockCount = $that.editAttendanceClassesInfo.clockCount; let _attrs = []; if (_clockCount > 1) { _attrs.push( { specCd: '10000', value: '', name: '上午上班', seq: 1 } ); _attrs.push( { specCd: '20000', value: '', name: '下午下班', seq: 4 } ); } if (_clockCount > 3) { _attrs.push( { specCd: '11000', value: '', name: '中午下班', seq: 2 } ); _attrs.push( { specCd: '21000', value: '', name: '中午上班', seq: 3 } ); } if (_clockCount > 5) { _attrs.push( { specCd: '12000', value: '', name: '晚上上班', seq: 5 } ); _attrs.push( { specCd: '22000', value: '', name: '晚上下班', seq: 6 } ); } let _newAttrs = _attrs.sort(function (a, b) { return a.seq - b.seq; }); $that.editAttendanceClassesInfo.attrs = _newAttrs; $that.$nextTick(function () { //方法 $that.editAttendanceClassesInfo.attrs.forEach(item => { //初始化日期组件 vc.initHourMinute(item.specCd, function (_value) { item.value = _value; }); }); }); }, _initEditAttendanceClasses: function (_attrs) { let _clockTypeValue = $that.editAttendanceClassesInfo.clockTypeValue; let _clockTypeValues = $that.editAttendanceClassesInfo.clockTypeValues; if (_clockTypeValue.indexOf(',') > -1) { _clockTypeValues = []; _clockTypeValue.split(',').forEach(item => { _clockTypeValues.push(item); }) $that.editAttendanceClassesInfo.clockTypeValues = _clockTypeValues; } $that._editAttendanceChangeClockCount(); let _newAttrs = $that.editAttendanceClassesInfo.attrs; _newAttrs.forEach(newItem => { _attrs.forEach(item => { if (newItem.specCd == item.specCd) { newItem.value = item.value; newItem.attrId = item.attrId; } }) }); $that.editAttendanceClassesInfo.attrs = _newAttrs; // $that.$nextTick(function () { // //方法 // $that.editAttendanceClassesInfo.attrs.forEach(item => { // //初始化日期组件 // vc.initHourMinute(item.specCd, function (_value) { // item.value = _value; // }); // }); // }); } } }); })(window.vc, window.vc.component);