starter.controller('DailyCtrl', function ($rootScope, $scope, $state, global, Daily, Tool) { $scope.goBack = function () { global.goBack(); } global.fetch_user().then(function () { getdailydata(); }); $scope.toman = function () { $state.go('daily-man'); } $scope.towrite = function () { $state.go('daily-edit', { 'flag': 0 }); } $scope.totransfer = function (id) { $state.go('transfer', { module: 'daily', id: id }); } $scope.doRefresh = function () { global.refresh = true; getdailydata(); } $scope.loadMore = function () { if ($scope.dailys != undefined && $scope.dailys.next != null) { Tool.get($scope.dailys.next).then(function (data) { _.each(data.results, function (item) { $scope.dailys.results.push(item); }); $scope.dailys.next = data.next; $scope.dailys.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.dailys != undefined && $scope.dailys.next != null ? true : false; } function getdailydata() { if (global.user.token != "") { if ($scope.dailys == undefined) { $scope.loading = true; } Daily.dailymf.get(function (res) { $scope.dailys = res; console.log($scope.dailys); $scope.roleid = global.user.roleid; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); } } enter = $scope.$on("$ionicView.enter", function (event, data) { if (data.fromCache && $rootScope.commons.refresh) { $rootScope.commons.refresh = false; getdailydata(); } }); $scope.$on("$destroy", function () { enter = null; }); }) .controller('DailyReadCtrl', function ($scope, $state, $ionicSlideBoxDelegate, Daily, global, Tool) { $scope.index = 0; global.fetch_user().then(function () { getsummaryata(); }); $scope.select = function (index) { $ionicSlideBoxDelegate.slide(index); $scope.index = $ionicSlideBoxDelegate.currentIndex(); } $scope.toMonthCount = function (item) { $state.go('daily-readMonthCount', { 'daily_dd': item.daily_date }); } $scope.toDayCount = function (date) { $state.go('daily-readDay', { 'daily_dd': date }) } $scope.isMonth = function (item) { var date = new Date(item.daily_date); return date.getMonth() == new Date().getMonth() ? false : true; } $scope.doRefresh = function () { global.refresh = true; getsummaryata(); } $scope.loadMore = function () { if ($scope.summary != undefined && $scope.summary.next != null) { Tool.get($scope.summary.next).then(function (data) { data.results = initialize(data.results); _.each(data.results, function (value, key) { var item = _.pick($scope.summary.results, key); if (item[key]) { _.each(value, function (i) { $scope.summary.results[key].push(i); }) } else { $scope.summary.results[key] = value; } }); console.log($scope.summary.results); $scope.summary.next = data.next; $scope.summary.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.summary != undefined && $scope.summary.next != null ? true : false; } function getsummaryata() { if (global.user.token != "") { if ($scope.summary == undefined) { $scope.loading = true; } Daily.dailysummary.get(function (res) { console.log(res.results); res.results = initialize(res.results); $scope.summary = res; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); } } function initialize(data) { _.each(data, function (item) { var date = new Date(item.daily_date); item.month = date.getFullYear() + '-' + (date.getMonth() + 1); }); return _.groupBy(data, 'month'); } }) .controller('DailyDetailsCtrl', function ($rootScope, $scope, $state, $ionicPopover, $ionicPopup, $ionicHistory, global, Daily, showPopup) { $scope.id = $state.params['id']; $scope.cssstyle = true; $scope.comments = {}; $scope.reads = {}; $scope.data = { daily_mf: $scope.id, comment: null } var view = $ionicHistory.backView(); $scope.popup = { isPopup: false } global.fetch_user().then(function () { if (view) { $scope.loading = true; $scope.daily = Daily.daily; Daily.dailyread.get({mf_id: $scope.id}, function (data) { $scope.comments = data; $scope.loading = false; }); Daily.readview.query({mf_id: $scope.id}, function (data) { $scope.reads = data; }); } else { getdailydata(); } }); $scope.goBack = function () { global.goBack(); } $ionicPopover.fromTemplateUrl('templates/detiilsmenu.html', { scope: $scope }).then(function (popover) { $scope.popover = popover; }); $scope.sendComment = function () { if ($scope.data.comment != null && $scope.data.comment != "") { Daily.dailyread.save($scope.data, function (data) { $scope.comments.results.splice(0, 0, data); $scope.data.comment = null; }) } } $scope.popupMessageOpthins = function (id, usrid) { if (usrid == global.user.usrid) { $scope.popup.optionsPopup = $ionicPopup.show({ template: '

用户操作

', scope: $scope, buttons: [{ text: '删除', type: 'button-positive', onTap: function (e) { Daily.dailyread.delete({id: id}, function () { var comment = _.find($scope.comments.results, function (item) { if (item.id === parseInt(id)) return item; }); if (comment != undefined) $scope.comments.results.splice($scope.comments.results.indexOf(comment), 1); }); } }] }); $scope.popup.isPopup = true; } } $scope.transfer = function () { $scope.popover.hide(); $state.go('transfer', { module: 'daily', id: $scope.id }); } $scope.remove = function () { $scope.popover.hide(); showPopup.confirm('是否删除该汇报?', '是', '否').then(function (res) { if (res) { Daily.dailymf.delete({id: $scope.id}, function () { $rootScope.commons.refresh = true; $ionicHistory.goBack(); }); } }); } $scope.edit = function () { $scope.popover.hide(); $state.go('daily-edit', { 'flag': $scope.id }) } $scope.doRefresh = function () { global.refresh = true; getdailydata(); } $scope.loadMore = function () { if ($scope.comments != undefined && $scope.comments.next != null) { Tool.get($scope.comments.next).then(function (data) { _.each(data.comments, function (item) { $scope.comments.results.push(item); }); $scope.comments.next = data.next; $scope.comments.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.comments != undefined && $scope.comments.next != null ? true : false; } function getdailydata() { if ($scope.daily == undefined) { $scope.loading = true; } Daily.dailymf.get({id: $scope.id}, function (res) { Daily.daily = _.clone(res); $scope.daily = res; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); Daily.dailyread.get({mf_id: $scope.id}, function (data) { $scope.comments = data; }); Daily.readview.query({mf_id: $scope.id}, function (data) { $scope.reads = data; }); } enter = $scope.$on('$ionicView.enter', function (event, data) { if (data.fromCache && $rootScope.commons.refresh) { if (view == null) $rootScope.commons.refresh = false; getdailydata(); } }); $scope.$on("$destroy", function () { enter = null; $scope.popover.remove(); }) }) .controller('DailyPermissionCtrl', function ($rootScope, $scope, $ionicPopover, $state, global, Daily) { var deletes = {C: [], D: [], U: []}; global.fetch_user().then(function () { getpermissiondata(); }); $ionicPopover.fromTemplateUrl('templates/add.html', { scope: $scope }).then(function (popover) { $scope.popover = popover; }); $scope.isshowdelete = { showDelete: false } $scope.displayremove = function () { $scope.isshowdelete.showDelete = !$scope.isshowdelete.showDelete; $scope.popover.hide(); } $scope.ok = function () { $scope.popover.hide(); if (deletes.D.length > 0) { deletes.D = deletes.D.join(','); Daily.dailypermission.patch(deletes, function () { deletes.D = []; }); } $scope.isshowdelete.showDelete = false; } $scope.toadd = function () { $scope.popover.hide(); $state.go('additem'); } $scope.remove = function (item) { _.each(item.permissions, function (permission) { deletes.D.push(permission.id); }); $scope.userlist.results.splice(_.indexOf($scope.userlist.results, item), 1); } $scope.toSelectDeptOrItem = function (item) { Daily.permissionUser = _.clone(item); $state.go('selectdeptoritem', { "id": item.user_id }); } $scope.doRefresh = function () { global.refresh = true; getpermissiondata(); } $scope.loadMore = function () { if ($scope.userlist != undefined && $scope.userlist.next != null) { Tool.get($scope.userlist.next).then(function (data) { _.each(data.results, function (item) { $scope.userlist.results.push(item); }); $scope.userlist.next = data.next; $scope.userlist.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.userlist != undefined && $scope.userlist.next != null ? true : false; } function getpermissiondata() { if (global.user.token != "") { if ($scope.userlist == undefined) { $scope.loading = true; } Daily.dailypermission.get(function (res) { $scope.userlist = res; Daily.permissionUsers = res.results; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); } } enter = $scope.$on('$ionicView.enter', function (event, data) { if (data.fromCache && $rootScope.commons.refresh) { $rootScope.commons.refresh = false; getpermissiondata(); } }); $scope.$on('$destroy', function () { enter = null; $scope.popover.remove(); }) }) .controller('SelectDeptOrItemCtrl', function ($rootScope, $scope, $state, $stateParams, $ionicHistory, Daily, Dept, showPopup, Tool) { var userId = $stateParams.id; $scope.cancel = function () { $ionicHistory.goBack(); } $scope.leftbtn = [{ text: '取消', click: 'cancel' }, { text: '上一层', click: 'up' }]; $scope.index = 0; $scope.deptlst = []; $scope.emplst = []; $scope.deptid = null; $scope.selecteditems = Tool.cloneObj(Daily.permissionUser); var selecteditems_old = []; _.each($scope.selecteditems.depts, function (dept) { selecteditems_old.push(dept.permission); }); _.each($scope.selecteditems.users, function (user) { selecteditems_old.push(user.permission); }); var patchs = {C: [], D: [], U: []}; $scope.selectcount = ''; $scope.isUp = false; $scope.loading = true; Dept.getDep().then(function (data) { d = _.find(data, function (dept) { return dept.parent == null; }); data = _.filter(data, function (item) { return item.level == 1; }); $scope.deptlst = data; setdeptrighticon($scope.deptlst); getemp(d.id); $scope.loading = false; }); $scope.tochilddept = function (dept) { getChildDept(dept.id); } function getemp(id, childdepts) { Dept.getEmp(id).then(function (data) { $scope.emplst = data; setitem(); }); } function getChildDept(did) { Dept.getEmp(did).then(function (data) { $scope.emplst = data; $scope.deptlst = Dept.getChildDept(did); setdeptrighticon($scope.deptlst); setitem(); deptid = did; if (did == 1) { $scope.index = 0; } else { $scope.index = 1; } }); } function setitem() { _.each($scope.deptlst, function (cd) { cd.selected = false; _.each($scope.selecteditems.depts, function (dept) { if (cd.id == dept.id) cd.selected = true; }); cd.isShow = Dept.getChildDept(cd.id).length == 0 ? false : true; }); _.each($scope.emplst, function (e) { e.selected = false; _.each($scope.selecteditems.users, function (user) { if (e.user_id == user.user_id) e.selected = true; }); }); } function setdeptrighticon(deptlst) { _.each(deptlst, function (d) { d.isShow = Dept.getChildDept(d.id).length == 0 ? false : true; }) } $scope.up = function () { var dept = _.find(Dept.all(), function (d) { return d.id == parseInt(deptid); }); getChildDept(dept.parent); } $scope.change = function (selitem, op) { var type = op == 'd' ? true : false; if (op == 'd') { setSelectItem(selitem, type, $scope.selecteditems.depts); } else { setSelectItem(selitem, type, $scope.selecteditems.users); } if ($scope.selecteditems.all) { $scope.selecteditems.all = false; if ($scope.selecteditems.permissions.length == 1 && $scope.selecteditems.permissions[0].flag == 0) { patchs.D = $scope.selecteditems.permissions[0].id.toString(); } } } function setSelectItem(selectItem, type, array) { if (selectItem.selected) { selectItem.permission = { 'user_id': userId, 'flag': type ? 1 : 2, 'value': type ? selectItem.id : selectItem.user_id }; array.push(selectItem); } else { var item = _.find(array, function (item) { return type ? item.id == selectItem.id : item.user_id == selectItem.user_id; }); array.splice(_.indexOf(array, item), 1); } } $scope.ok = function () { selecteditems = []; _.each($scope.selecteditems.depts, function (dept) { selecteditems.push(dept.permission); }); _.each($scope.selecteditems.users, function (user) { selecteditems.push(user.permission); }); rst = _.diff(selecteditems, selecteditems_old); if (patchs.D.length > 0) { if (rst.D.length > 0) { rst.D = rst.D + ',' + patchs.D; } else { rst.D = patchs.D; } } if (rst.C.length > 0 || rst.U.length > 0 || rst.D.length > 0) { showPopup.showLoading(1, '正在提交'); Daily.dailypermission.patch(rst, function () { $rootScope.commons.refresh = true; showPopup.hideLoading(); $ionicHistory.goBack(); }) } else { $ionicHistory.goBack(); } } $scope.selectAll = function () { if ($scope.selecteditems.all) { if ($scope.selecteditems.permissions.length == 1 && $scope.selecteditems.permissions[0].flag == 0) { $ionicHistory.goBack(); } else { showPopup.showLoading(1, '正在提交'); var data = {C: [], D: [], U: []}; data.C.push({ 'user_id': userId, 'flag': 0, 'value': 0 }); data.D = _.map($scope.selecteditems.permissions, function (permission) { return permission.id; }).join(','); Daily.dailypermission.patch(data, function () { $rootScope.commons.refresh = true; showPopup.hideLoading(); $ionicHistory.goBack(); }) } } } }) .controller('DailyTemplateCtrl', function ($rootScope, $scope, $state, Daily, global) { $scope.gosetmoban = function (template) { Daily.currentTemplate = template; $state.go('daily-templateEdit', { "id": template.id }); } global.fetch_user().then(function () { gettemplatedata(); }); $scope.doRefresh = function () { global.refresh = true; gettemplatedata(); } $scope.loadMore = function () { if ($scope.templates != undefined && $scope.templates.next != null) { Tool.get($scope.templates.next).then(function (data) { _.each(data.results, function (item) { $scope.templates.results.push(item); }); $scope.templates.next = data.next; $scope.templates.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.templates != undefined && $scope.templates.next != null ? true : false; } function gettemplatedata() { if (global.user.token != "") { if ($scope.templates == undefined) { $scope.loading = true; } Daily.template.get(function (res) { $scope.templates = res; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); } } enter = $scope.$on('$ionicView.enter', function (event, data) { if (data.fromCache && $rootScope.commons.refresh) { $rootScope.commons.refresh = false; gettemplatedata(); } }); $scope.$on("$destroy", function () { enter = null; }); }) .controller('DailyTemplateScopeCtrl', function ($rootScope, $scope, $stateParams, $ionicHistory, $state, Dept, Daily) { $scope.leftbtn = [{ text: '取消', click: 'cancel' }, { text: '上一层', click: 'up' }]; $scope.isNew = $stateParams.id == -1; // Daily.templateData = {items: [], depts: []} $scope.deptsAll = []; $scope.index = 0; $scope.actived = false; $scope.cancel = function () { $ionicHistory.goBack(); } $scope.depts = []; if (!$scope.isNew) { $scope.selecteddepts = _.map(Daily.templateData.depts, function (dept) { return {'id': dept.dept_id, 'depname': dept.dept_name} }); } else { $scope.selecteddepts = [] } $scope.selecteddepts_old = _.map($scope.selecteddepts, _.clone) $scope.selectdeptcount = ''; $scope.showupbtn = false; var resourcedept = []; $scope.isUp = false; $scope.loading = true; function setdept(data) { $scope.depts = data; } Dept.getDep().then(function (data) { $scope.deptsAll = data; Daily.templatedept.get(function (res) { _.each($scope.deptsAll, function (dept) { dept.selected = _.find($scope.selecteddepts, function (d) { return d.id == dept.id && !$scope.isNew; }) == undefined ? false : true; //selected the existing dept if (!dept.selected) { dept.isdisabled = _.find(res.results, function (d) { return d.dept_id == dept.id; }) == undefined ? false : true;//部门是否已设置模板 } dept.isshow = Dept.getChildDept(dept.id).length > 0; }); $scope.loading = false; }); depts_lvl_1 = _.filter($scope.deptsAll, function (item) { return item.level == 1; }); setdept(depts_lvl_1); }); $scope.change = function (dept) { if (dept.selected) { $scope.selecteddepts.push(dept); Daily.templateDepts.push(dept); } else { $scope.selecteddepts.splice(_.indexOf($scope.selecteddepts, dept), 1); Daily.templateDepts.splice(_.indexOf(Daily.templateDepts, dept), 1); } } $scope.ok = function () { depts = _.pluck($scope.selecteddepts, 'depname'); dept_names = depts.join(','); dept_ids = _.pluck($scope.selecteddepts, 'id'); if ($scope.isNew) { Daily.template.save({'name': dept_names, 'dept_ids': dept_ids}, function (dept) { $rootScope.commons.refresh = true; $state.go('custom-form', {id: dept.id}); }) } else { Daily.template.update({'id': $stateParams.id, 'name': dept_names, 'dept_ids': dept_ids}, function (dept) { $rootScope.commons.refresh = true; $ionicHistory.goBack(); }) } } var activedept = {}; $scope.tochilddept = function (dept) { activedept = dept; if (dept.isshow) { getChildDept(dept); } else { activedept.selected = !activedept.selected; $scope.change(activedept); } } function getChildDept(dept) { var childdepts = Dept.getChildDept(dept.id); $scope.index = dept.level < 1 ? 0 : 1; if (childdepts.length > 0) { setdept(childdepts); } } $scope.up = function () { dept = _.find($scope.deptsAll, function (dept) { return dept.id == activedept.parent; }); getChildDept(dept); activedept = dept } }) .controller('DailyTemplateEditCtrl', function ($rootScope, $scope, $ionicHistory, $state, $stateParams, global, Dept, Daily, showPopup) { Daily.templateId = $stateParams.id; $scope.cancel = function () { $ionicHistory.goBack(); } global.fetch_user().then(function (data) { gettemplatedata(); }); $scope.delete = function () { showPopup.confirm('是否删除该日报模板?', '是', '否').then(function (res) { if (res) { Daily.template.delete({id: $stateParams.id}, function () { $rootScope.commons.refresh = true; $ionicHistory.goBack(); }); } }); } $scope.defineform = function () { $state.go('custom-form', { id: $stateParams.id }); } $scope.toSetDept = function () { $state.go('daily-templateScope', { "id": $stateParams.id }); } function gettemplatedata() { if (global.user.token != "") { Daily.template.get({'id': Daily.templateId}, function (res) { $scope.template = res; Daily.templateData = res; }, function (err) { alert(JSON.stringify(err)); }); } } enter = $scope.$on('$ionicView.enter', function (event, data) { if (data.fromCache && $rootScope.commons.refresh) gettemplatedata(); }); $scope.$on("$destroy", function () { enter = null; }); }) .controller('FormFieldTypeCtrl', function ($scope, $state, $ionicHistory, global, showPopup, Daily) { $scope.template_field = {}; $scope.index = $state.params['id']; $scope.isNew = $scope.index == -1; $scope.showadd = false; $scope.template_field.required = false; $scope.selecttexts = [{text: ""}]; $scope.template_field_active = {}; if (!$scope.isNew && Daily.templateData.items[$scope.index]) { $scope.template_field = Daily.templateData.items[$scope.index]; } watch = $scope.$watch('template_field', function (n, o) { if (n == o) return; $scope.template_field.isModified = true; //TODO:check }, true); global.fetch_user().then(function () { Daily.templatefield.get(function (res) { $scope.template_fields = res.results; if ($scope.isNew) { if ($scope.template_fields.length > 1) { $scope.template_field_active = $scope.template_fields[1] } } else { $scope.template_field_active = _.find($scope.template_fields, function (r_field) { return r_field.id == $scope.template_field.daily_template_field_id; }) } if ($scope.template_field && $scope.template_field.extra) $scope.selecttexts = JSON.parse($scope.template_field.extra) }) }); $scope.back = function () { $ionicHistory.goBack(); } $scope.add = function () { $scope.selecttexts.push({text: ""}); } $scope.change = function (item) { $scope.template_field_active = item; } $scope.ok = function () { if ($scope.template_field.name == '' || $scope.template_field.name == undefined) { showPopup.PopupWindow(0, '名称不能为空!', false); return; } if ($scope.template_field.showlist) if ($scope.selecttexts.length == 0) { showPopup.PopupWindow(0, '请添加选项!', false); return; } else { $scope.template_field.extra = $scope.selecttexts; } exists = _.find(Daily.templateData.items, function (f) { return f.name == $scope.template_field.name && f != $scope.template_field; }); if (exists) { showPopup.PopupWindow(0, '名称不能重复!', false); return; } if ($scope.template_field_active) { $scope.template_field.daily_template_field_id = $scope.template_field_active.id; $scope.template_field.t__type = $scope.template_field_active.type; } d = _.filter($scope.selecttexts, function (item) { return item.text != ""; }); if (d.length > 0) { $scope.template_field.extra = JSON.stringify(d) } if ($scope.isNew) { $scope.template_field.daily_template_id = Daily.templateId; Daily.templateData.items.push($scope.template_field); } $ionicHistory.goBack(); } $scope.delete = function () { Daily.templateData.items.splice($scope.index, 1); $ionicHistory.goBack(); } $scope.remove = function (index) { $scope.selecttexts.splice(index, 1); } $scope.$on("$destroy", function () { watch(); }) }) .controller('CustomFormCtrl', function ($rootScope, $scope, $ionicHistory, $state, global, Daily, showPopup, Tool) { $scope.fieldItems = []; $scope.fieldItems_old = []; $scope.mobanitems = null; $scope.addmobanitems = null; Daily.templateId = $state.params['id']; $scope.isNew = Daily.templateId == -1; global.fetch_user().then(function (data) { Daily.templateitem.get({'daily_template_id': Daily.templateId}, function (res) { Daily.templateData.items = res.results; $scope.fieldItems = Daily.templateData.items; $scope.fieldItems_old = _.map($scope.fieldItems, _.clone); }) }); $scope.ok = function () { if (Daily.templateData.items.length == 0) { showPopup.PopupWindow(0, '请添加字段!', false); return; } showPopup.showLoading(1, '正在上传'); Daily.templateData.description = Daily.get_description(); Daily.template.update({'id': Daily.templateId, 'description': Daily.templateData.description}); var fieldItems = _.map($scope.fieldItems, function (item) { return _.omit(item, 't__type'); }); rst = _.diff(fieldItems, $scope.fieldItems_old); Daily.templateitem.patch(rst, function () { $rootScope.commons.refresh = true; Tool.removeBackView('daily-templateScope'); showPopup.hideLoading(); $ionicHistory.goBack(); }); } $scope.cancel = function () { Daily.templateData.items = []; Tool.removeBackView('daily-templateScope'); $ionicHistory.goBack(); } $rootScope.commons.fun = $scope.cancel; $scope.tohref = function (item) { var index = _.indexOf(Daily.templateData.items, item); return '#/fieldtype/' + index; } $scope.preview = function () { Daily.previewData = { 'daily_tfs': Daily.templateData.items } $state.go('daily-edit', { 'flag': -1 }); } }) .controller('AddItemCtrl', function ($rootScope, $scope, $state, $ionicHistory, Dept, Daily, showPopup) { $scope.isUp = false; $scope.leftbtn = [{ text: '取消', click: 'cancel' }, { text: '上一层', click: 'up' }]; $scope.index = 0; $scope.deptlst = []; $scope.emplst = []; $scope.selectedemplst = []; var deptid = 0; $scope.selectcount = ''; Dept.getDep().then(function (data) { d = _.find(data, function (dept) { return dept.parent == null; }); data = _.filter(data, function (item) { return item.level == 1; }); $scope.deptlst = data; setdeptrighticon($scope.deptlst); getemp(d.id); }); $scope.changedept = function (dept) { getdept_emp(dept.id); } $scope.change = function (emp) { if (emp.selected) { $scope.selectedemplst.push(emp); } else { $scope.selectedemplst.splice(_.indexOf($scope.selectedemplst, emp), 1); } } $scope.cancel = function () { $ionicHistory.goBack(); } $scope.up = function () { var dept = _.find(Dept.all(), function (d) { return d.id == parseInt(deptid); }); getdept_emp(dept.parent); } $scope.ok = function () { showPopup.showLoading(1, '提交中'); var data = []; _.each($scope.selectedemplst, function (item) { data.push({'user': item.user_id, 'flag': 0, 'value': 0}); }); Daily.dailypermission.save(data, function () { $rootScope.commons.refresh = true; showPopup.hideLoading(); $ionicHistory.goBack(); }); } function getdept_emp(did) { Dept.getEmp(did).then(function (data) { $scope.emplst = data; $scope.deptlst = Dept.getChildDept(did); setdeptrighticon($scope.deptlst); setitem(); deptid = did; if (did == 1) { $scope.index = 0; } else { $scope.index = 1; } }); } function getemp(id) { Dept.getEmp(id).then(function (data) { $scope.emplst = data; setitem(); }); } function setitem() { _.each($scope.emplst, function (e) { e.selected = false; e.disabled = false; _.each(Daily.permissionUsers, function (p) { if (p.user_id == parseInt(e.user_id)) { e.disabled = true; e.selected = true; } }); _.each($scope.selectedemplst, function (e1) { if (e1.user_id == e.user_id) { e.selected = true; } }); }); } function setdeptrighticon(deptlst) { _.each(deptlst, function (d) { d.isShow = Dept.getChildDept(d.id).length == 0 ? false : true; }) } }) .controller('DailyEditCtrl', function ($rootScope, $scope, $stateParams, $state, $ionicHistory, $q, global, ImageManage, showPopup, Daily, Tool) { $scope.flag = $stateParams.flag; $scope.change = 1; $scope.index = 14; $scope.coke = 11; $scope.image_list = []; $scope.deleteimage_list = []; $scope.popup = { isPopup: false }; var isModified = false; $scope.changeDate = function (id) { $scope.index = id; $scope.change = 15 - id; $scope.closeModal(); } global.fetch_user().then(function () { if ($scope.flag == 0) { Daily.templatedept.get(function (td) { dept = _.find(td.results, function (d) { return d.dept_id == global.user.deptno; }); Daily.templateitem.get({'daily_template_id': dept.daily_template_id}, function (res) { Daily.templateData.items = res.results; _.each(Daily.templateData.items, function (item) { item.daily_template_item = item.id }); Daily.previewData = { 'daily_tfs': res.results }; $scope.item = Daily.previewData; $scope.item.files = []; }) }); $scope.newDate = Daily.getDate(); } else if ($scope.flag == -1) { $scope.item = Daily.previewData; $scope.item.files = []; $scope.newDate = Daily.getDate(); } else { $scope.item = Tool.cloneObj(Daily.daily); } }); $scope.goBack = function () { if ($scope.flag == 0) { back = _.find($scope.item.daily_tfs, function (item) { return item.text !== undefined && item.text != ''; }); showConfirm(isModified, '是否退出写日报?'); } else if ($scope.flag > 0) { showConfirm(isModified, '是否放弃当前编辑?'); } else { $ionicHistory.goBack(); } } $scope.addDaily = function () { if (Daily.checkDaily($scope.item.daily_tfs)) { showPopup.showLoading(1, '正在提交'); if ($scope.flag == 0) { date = $scope.newDate[$scope.change].day; Daily.dailymf.save({'daily_dd': date}, function (res) { var id = res.id; data = _.map($scope.item.daily_tfs, function (it) { return _.extend(_.pick(it, 'text', 'daily_template_item'), {'daily_mf': id}); }); Daily.dailytf.save(data, function (res) { $rootScope.commons.refresh = true; var imagefiles = []; _.each($scope.item.files, function (image) { if (!image.id) imagefiles.push(image.file_full_path); }); if (imagefiles.length > 0) { postimg(imagefiles, id); } else { showPopup.hideLoading(); $ionicHistory.goBack(); } }); }); } else if ($scope.flag > 0) { if (isModified) { data = _.map($scope.item.daily_tfs, function (it) { return _.pick(it, 'id', 'text', 'daily_template_item', 'daily_mf') }); Daily.dailytf.update(data, function (res) { $rootScope.commons.refresh = true; _.each($scope.deleteimage_list, function (file) { Daily.dailyfile.delete({id: file}); }); var imagefiles = []; _.each($scope.item.files, function (image) { if (!image.id) imagefiles.push(image.file_full_path); }); if (imagefiles.length > 0) { postimg(imagefiles, $scope.flag); } else { showPopup.hideLoading(); $ionicHistory.goBack(); } }); } else { showPopup.hideLoading(); $ionicHistory.goBack(); } } else { showPopup.hideLoading(); $ionicHistory.goBack(); } } } showPopup.modalTemplate('templates/modal-selectDate.html', 'slide-in-right', $scope).then(function (modal) { $scope.select_date_modal = modal; }); $scope.showModal = function () { $scope.select_date_modal.show(); $rootScope.commons.modal = $scope.select_date_modal; } $scope.closeModal = function (rst) { $rootScope.commons.modal.hide(); } $scope.shouBigImage = function (imageName) { //传递一个参数(图片的URl) $scope.Url = imageName; //$scope定义一个变量Url,这里会在大图出现后再次点击隐藏大图使用 $rootScope.commons.bigImage = true; //显示大图 } $rootScope.commons.bigImage = false; //初始默认大图是隐藏的 $scope.hideBigImage = function () { $rootScope.commons.bigImage = false; } $scope.deleteimage = function () { var img = _.find($scope.item.files, function (image) { return image.file_full_path == $scope.Url; }); if (img) { $scope.item.files.splice(_.indexOf($scope.item.files, img), 1); if (img.id) $scope.deleteimage_list.push(img.id); } $rootScope.commons.bigImage = false; } $scope.addphoto = function () { $scope.popup.optionsPopup = showPopup.showSelectImgPopup(Camera, ImagePicker, $scope); $scope.popup.isPopup = true; } if ($scope.flag > 0) { watch = $scope.$watch('item', function (n, o) { if (n == o) return; isModified = true; }, true); } $scope.$on("$destroy", function () { if ($rootScope.commons.modal) $rootScope.commons.modal = null; $scope.select_date_modal.remove(); if ($scope.flag > 0) { watch(); } }); function ImagePicker() { //打开相册 $scope.popup.optionsPopup.close(); ImageManage.ImagePicker_getPictures(10).then(function (data) { _.each(data, function (imageUrl) { $scope.item.files.push({ "file_thumbnail_path": imageUrl, "file_full_path": imageUrl }); }); }); } function Camera() { $scope.popup.optionsPopup.close(); ImageManage.Camera_getPicture().then(function (result) { $scope.item.files.push({ "file_thumbnail_path": result, "file_full_path": result }); }); } function postimg(imgfiles, id) { ImageManage.uploadImage(imgfiles, 'daily', id, 'dailyfile').then(function (res) { $q.all(res).then(function (data) { showPopup.hideLoading(); $ionicHistory.goBack(); }) }, function (err) { alert(JSON.stringify(error)); showPopup.PopupWindow(0, 'upload image fail'); }) } function showConfirm(flag, content) { if (flag) { showPopup.confirm(content, '是', '否').then(function (res) { if (res) $ionicHistory.goBack(); }); } else { $ionicHistory.goBack(); } } }) .controller('DailyReadMonthCountCtrl', function ($rootScope, $scope, $state, global, Daily, showPopup) { var daily_dd = $state.params['daily_dd']; var date = new Date(daily_dd); $scope.year = date.getFullYear(); $scope.month = date.getMonth() + 1; global.fetch_user().then(function () { if (global.user.token != "") { Daily.mouthsummary.get({'daily_dd': daily_dd}, function (res) { $scope.monthView = res; }, function (err) { alert(JSON.stringify(err)); }); Daily.dailydeptview.query(function (res) { $scope.index = res[0].id; if (res[0].id == 1 && res[0].parent == null) res[0].depname = '全体成员'; $scope.depts = res; }) } }); $scope.changeindex = function (dept) { $scope.index = dept.id; var data = {'dept': dept.id, 'daily_dd': daily_dd}; if (dept.parent == null) data = _.omit(data, 'dept'); Daily.mouthsummary.get(data, function (res) { $scope.monthView = res; $scope.closeModal(); }) } showPopup.modalTemplate('templates/modal-selectdept.html', 'slide-in-right', $scope).then(function (modal) { $scope.select_dept_modal = modal; }); $scope.showModal = function () { $scope.select_dept_modal.show(); $rootScope.commons.modal = $scope.select_dept_modal; } $scope.closeModal = function (rst) { $rootScope.commons.modal.hide(); } $scope.$on("$destroy", function () { if ($rootScope.commons.modal) $rootScope.commons.moda = null; $scope.select_dept_modal.remove(); }) }) .controller('DailyReadDayCtrl', function ($rootScope, $scope, $state, global, Daily, Tool) { var daily_dd = $state.params['daily_dd']; var date = new Date(daily_dd); $scope.month = date.getMonth() + 1; $scope.day = date.getDate(); global.fetch_user().then(function () { getdailydata(); }); $scope.totransfer = function (id) { $state.go('transfer', { module: 'daily', id: id }); } $scope.lookCount = function () { $state.go('daily-readDayCount', { 'daily_dd': daily_dd }); } $scope.shouBigImage = function (imageName, event) { //传递一个参数(图片的URl) $scope.Url = imageName; //$scope定义一个变量Url,这里会在大图出现后再次点击隐藏大图使用 $rootScope.commons.bigImage = true; //显示大图 event.stopPropagation(); } $rootScope.commons.bigImage = false; //初始默认大图是隐藏的 $scope.hideBigImage = function () { $rootScope.commons.bigImage = false; } $scope.doRefresh = function () { global.refresh = true; getdailydata(); } $scope.loadMore = function () { if ($scope.dailys != undefined && $scope.dailys.next != null) { Tool.get($scope.dailys.next).then(function (data) { _.each(data.results, function (item) { $scope.dailys.results.push(item); }); $scope.dailys.next = data.next; $scope.dailys.previous = data.previous; }).finally(function () { $scope.$broadcast('scroll.infiniteScrollComplete'); $scope.loading = false; }); } else { $scope.$broadcast('scroll.infiniteScrollComplete'); } } $scope.moreCanBeLoaded = function () { return $scope.dailys != undefined && $scope.dailys.next != null ? true : false; } function getdailydata() { if (global.user.token != "") { if ($scope.dailys == undefined) { $scope.loading = true; } Daily.dailyview.get({'daily_dd': daily_dd}, function (res) { $scope.dailys = res; }, function (err) { alert(JSON.stringify(err)); }).$promise.finally(function () { $scope.$broadcast('scroll.refreshComplete'); $scope.loading = false; }); } } }) .controller('DailyReadDayCountCtrl', function ($scope, $state, global, Daily) { var daily_dd = $state.params['daily_dd']; var date = new Date(daily_dd); $scope.year = date.getFullYear(); $scope.month = date.getMonth() + 1; $scope.day = date.getDate(); global.fetch_user().then(function () { if (global.user.token != "") { Daily.todaysummary.get({'daily_dd': daily_dd}, function (res) { console.log(res); $scope.toDayView = res; }, function (err) { alert(JSON.stringify(err)); }); } }); $scope.lookDeptCount = function (flag, users, dept, isSubmit) { if (isSubmit != 0) { Daily.toDayViewUsers = users; $state.go('daily-readDayDeptCount', { 'flag': flag, 'daily_dd': daily_dd, 'dept': dept }); } } }) .controller('DailyReadDayDeptCountCtrl', function ($scope, $state, Daily) { var daily_dd = $state.params['daily_dd']; $scope.flag = $state.params['flag']; $scope.dept = $state.params['dept']; var date = new Date(daily_dd); $scope.year = date.getFullYear(); $scope.month = date.getMonth() + 1; $scope.day = date.getDate(); $scope.users = Daily.toDayViewUsers; });