var starter = angular.module('starter', ['ionic', 'ngResource', 'underscore', 'ngCordova', 'pascalprecht.translate']);
starter.run(function ($ionicPlatform, $rootScope, $http, formatFilter, $q, $cordovaPreferences, $ionicLoading, $timeout, $ionicHistory, $cordovaKeyboard, $translate, global, cfg, showPopup) {
// $ionicLoading.show({
// template: '数据加载中...'
// }).then(function () {
// console.log("loading starter.run");
// });
$rootScope.commons = {
refresh: false,
upload_maxcount: 10,
bigImage: undefined, //显示大图
modal: undefined, //模态窗口
goBackIsDisable: undefined, //禁用返回键
isShowPopup: undefined, //加载动画
fun: null
};
$ionicPlatform.ready(function () {
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
// $ionicLoading.hide();
if (window.cordovaLinker)
window.cordovaLinker.loadFinished("", function () {
}, function () {
});
if (typeof navigator.globalization !== "undefined") {
navigator.globalization.getPreferredLanguage(function (language) {
console.log("globalization -> " + JSON.stringify(language));
// alert(JSON.stringify(language))
var value = (language.value).split('-')[0];
if ((language.value).split('-')[1] == 'TW') {
value = language.value
}
switch (value) {
case 'zh-TW':
value = 'locate-zh_tw';
break;
case 'en':
value = 'locate-en_us';
break;
case 'zh':
default:
value = 'locate-zh_cn';
break;
}
$translate.use(value).then(function (data) {
console.log("SUCCESS -> " + data);
}, function (error) {
console.log("ERROR -> " + error);
});
});
}
});
global.fetch_user = function () {
var deferred = $q.defer();
if (global.user && global.user.token) {
usergot(global.user, deferred)
} else if (ionic.Platform.platform() == 'win32' || ionic.Platform.platform() == 'linux') {
$http.post(formatFilter('{0}authcheck/', cfg.api), "imid=zPayHMi6s&password=123456", {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function (response) {
usergot(response.data, deferred);
}, function (error) {
console.log('通过post方式获取用户信息authcheck失败' + error);
deferred.reject(error);
})
} else {
$ionicPlatform.ready(function () {
$cordovaPreferences.fetch('user')
.success(function (value) {
usergot(ionic.Platform.isAndroid() ? JSON.parse(value) : value, deferred);
})
.error(function (error) {
console.error("通过$cordovaPreferences方式获取用户信息失败: " + error);
deferred.reject(error);
});
});
}
return deferred.promise;
};
usergot = function (data, deferred) {
global.user = data;
if (data.cfg) {
global.api = data.cfg.api;
}
deferred.resolve(data);
console.warn(JSON.stringify(global.user));
};
global.fetch_user();
global.goBack = function () {
if (window.cordovaLinker != undefined) {
if ($ionicHistory.backView()) {
$ionicHistory.goBack();
} else {
window.cordovaLinker.goBack(1, function (s) {
console.log(s);
}, function (err) {
console.error(err);
});
}
}
}
function keyboardHideHandler(e) {
cordova.plugins.Keyboard.isVisible = true;
$timeout(function () {
cordova.plugins.Keyboard.isVisible = false;
}, 100);
}
window.addEventListener('native.keyboardhide', keyboardHideHandler);
$ionicPlatform.registerBackButtonAction(function (e) {
$timeout(function () {
if ($rootScope.commons.isShowPopup) {
showPopup.hideLoading();
} else if ($rootScope.commons.goBackIsDisable) {
return false;
} else if ($cordovaKeyboard.isVisible()) {
$cordovaKeyboard.close();
} else if ($rootScope.commons.bigImage) {
if ($rootScope.commons.fun == null) $rootScope.commons.bigImage = false;
else {
$rootScope.commons.fun();
$rootScope.commons.fun = null;
}
} else if ($rootScope.commons.modal != null) {
if ($rootScope.commons.fun == null) {
$rootScope.commons.modal.hide();
$rootScope.commons.modal = null;
} else {
$rootScope.commons.fun();
$rootScope.commons.fun = null;
}
} else {
if ($ionicHistory.backView()) {
if ($rootScope.commons.fun == null) {
$ionicHistory.goBack();
} else {
$rootScope.commons.fun();
$rootScope.commons.fun = null;
}
} else {
global.goBack();
}
}
return false;
})
}, 201);
var _user;
_user = window.localStorage.getItem("global.user");
if (_user != undefined) {
console.log("localStorage get: " + _user);
global.user = JSON.parse(_user);
}
})
.config(function ($stateProvider, $urlRouterProvider, $ionicConfigProvider, $httpProvider, $provide, $translateProvider, $resourceProvider, cfg) {
$ionicConfigProvider.platform.ios.tabs.style('standard');
$ionicConfigProvider.platform.ios.tabs.position('bottom');
$ionicConfigProvider.platform.android.tabs.style('standard');
$ionicConfigProvider.platform.android.tabs.position('bottom');
$ionicConfigProvider.platform.ios.navBar.alignTitle('center');
$ionicConfigProvider.platform.android.navBar.alignTitle('center');
$ionicConfigProvider.platform.ios.backButton.previousTitleText('').icon('ion-ios-arrow-thin-left');
$ionicConfigProvider.platform.android.backButton.previousTitleText('').icon('ion-android-arrow-back');
$ionicConfigProvider.platform.ios.views.transition('ios');
$ionicConfigProvider.platform.android.views.transition('android');
var regex = new RegExp('\.(html|js|css|png|jpg)$', 'i');
var isAsset = function (url) {
return regex.test(url);
};
$stateProvider.state('selectmember', {
url: '/selectmember',
templateUrl: '/templates/common/selectmember.html',
controller: 'SelectMemberCtrl'
})
.state('selectsinglemember', {
url: '/selectsinglemember',
templateUrl: '/templates/common/selectsinglemember.html',
controller: 'SelectSingleMemberCtrl'
})
.state('selectdept', {
url: '/selectdept/:id',
templateUrl: '/templates/common/selectdept.html',
controller: 'SelectDeptCtrl'
})
.state('fieldtype', {
url: '/fieldtype/:id',
templateUrl: '/templates/common/fieldtype.html',
controller: 'FormFieldTypeCtrl'
})
.state('transfer', {
url: '/transfer/:module/:id',
templateUrl: '/templates/common/transfer.html',
controller: 'TransferCtrl'
})
.state('selectsingledept', {
url: '/selectsingledept',
templateUrl: '/templates/common/selectsingledept.html',
controller: 'SelectSingleDeptCtrl'
})
$urlRouterProvider.otherwise('/index');
$translateProvider.useStaticFilesLoader({
prefix: '/i18n/',
suffix: '.json'
});
$httpProvider.interceptors.push(function ($q, cfg, global) {
return {
'request': function (config) {
if (!isAsset(config.url) && (global.refresh || global.debug)) { //if the call is not for an asset file
config.url += (config.url.indexOf("?") === -1 ? "?" : "&") + "v=" + Date.now();
if (global.refresh)
global.refresh = false;
}
if (config.url.startsWith(cfg.api) || config.url.indexOf(global.api) == 0) {//分页时自带了请求路径
if (config.url.startsWith(cfg.api)) config.url = global.api + config.url;
console.log(angular.lowercase(config.method) + " url: " + config.url);
if (global.user.token) {
config.headers['authorization'] = 'Token ' + global.user.token;
console.log(' authorization:' + config.headers['authorization']);
}
}
config.timeout = 10000;
return config;
},
'responseError': function (rejection) {
console.error(JSON.stringify(rejection));
return $q.reject(rejection);
}
};
});
$resourceProvider.defaults.stripTrailingSlashes = false;
$resourceProvider.defaults.actions.update = {
method: 'PUT',
params: {
id: "@id"
}
};
$resourceProvider.defaults.actions.patch = {
method: 'PATCH',
};
})
.constant('cfg', {
api: '/api/'
})
.value('global', {
user: {
usrid: "",
token: "",
usrname: "",
compno: "",
compname: "",
deptno: "",
deptname: "",
roleid: "",
im_usrid: "",
cellphone: "",
password: ""
},
api: "",
debug: true,
refresh: false
})
_.mixin({
diff: function (_new, _old) {
var r = {C: [], D: [], U: []};
list_new = _.pluck(_new, 'id');
list_old = _.pluck(_old, 'id');
r.D = _.difference(list_old, list_new).join(',');
r.C = _.filter(_new, function (item) {
return item.id == undefined;
});
r.U = _.map(_.filter(_new, function (item) {
return item.isModified && item.id != undefined;
}), _.clone);
_.each(r.U, function (item) {
delete item.isModified;
});
_.each(r.C, function (item) {
delete item.isModified;
});
return r;
}
});
//http://stackoverflow.com/questions/33106114/cordova-javascript-error-has-no-method-startswith-android
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (str) {
return this.indexOf(str) === 0;
};
}
starter.controller('SelectParentCtrl', function ($scope, $state, Member) {
$scope.deptlst = [];
$scope.emplst = [];
$scope.index = 0;
$scope.isUp = false;
$scope.deptid = 1;
$scope.titlename = Member.titlename;
$scope.selectedemplst = Member.selectedemplst;
$scope.disabled = Member.disabled;
$scope.showall = Member.showall;
$scope.showgroup = Member.showgroup;
$scope.loading = true;
$scope.leftbtn = [{
text: '取消',
click: 'cancel'
}, {
text: '上一层',
click: 'up'
}];
})
.controller('SelectMemberCtrl', function ($scope, $state, $ionicHistory, $rootScope, $ionicModal, $timeout, $controller, Dept, Member) {
var parentctrl = $controller('SelectParentCtrl', {$scope: $scope});
var showgroupmodel = $ionicModal.fromTemplateUrl('/templates/common/modal-selectgroup.html', {
scope: $scope,
animation: 'slide-in-right'
});
var startdept = null;
$rootScope.commons.goBackIsDisable = true;
var beforeEnter = $scope.$on("$ionicView.beforeEnter", function () {
if (Member.homerenderdata.length != 0) {
$scope.loading = false;
_.each(Member.homerenderdata, function (item) {
$scope.deptlst.push(item);
});
init_selected(Member.resourcemember);
} else {
Dept.getDep().then(function (data) {
startdept = _.find(data, function (itemdept) {
return itemdept.parent == null; //获取公司的顶层部门
});
getemp(startdept.id);
data = _.filter(data, function (item) {
return item.parent == startdept.id;
});
$scope.deptlst = data;
init_selected(Member.resourcemember);
}, function (err) {
alert(JSON.stringify(err))
});
}
});
$scope.changeindex = function (index, dtid) {
$scope.index = index;
$scope.deptid = dtid;
};
$scope.change = function (emp) {
if (emp.selected) {
$scope.selectedemplst.push(emp);
Member.selectedemplst = $scope.selectedemplst;
} else {
$scope.selectedemplst = _.filter($scope.selectedemplst, function (e) {
return e.user_id != parseInt(emp.user_id);
});
Member.selectedemplst = $scope.selectedemplst;
}
setselectedcount();
};
$scope.up = function () {
var dept = undefined;
if (Member.homerenderdata.length > 0) {
dept = _.find(Member.homerenderdata, function (item) {
return item.id == parseInt($scope.deptid);
})
}
if (dept != undefined) {
$scope.deptlst = $scope.deptlst.concat(Member.homerenderdata);
$scope.emplst = [];
$scope.index = 0;
} else {
dept = _.find(Dept.all(), function (d) {
return d.id == parseInt($scope.deptid);
});
getdept_emp(dept.parent);
}
};
$scope.cancel = function () {
Member.selectedemplst = [];
Member.dialogresult = 0;
if (Member.cancelroutename != "") {
$state.go(Member.cancelroutename, Member.cancelrouteparams);
} else {
$ionicHistory.goBack();
}
};
var dep = {};
$scope.changedept = function (dept) {
dep = dept;
getdept_emp(dept.id);
};
$scope.ok = function () {
Member.dialogresult = 1;
Member.all = 0;
if (Member.routename != '') {
$state.go(Member.routename, Member.routeparams);
} else {
$ionicHistory.goBack(); //todo:带参数跳转
}
};
$scope.selectAll = function () {
Member.all = 1;
$state.go(Member.routename, Member.routeparams);
};
$scope.back = function () {
if ($rootScope.commons.modal != null) {
$rootScope.commons.modal.hide();
}
};
$scope.toselectgroup = function () {
showgroupmodel.then(function (modal) {
$rootScope.commons.modal = modal;
$rootScope.commons.modal.show();
});
};
$scope.$on("$destroy", function () {
$rootScope.commons.goBackIsDisable = false;
Member.member = {};
});
function init_selected(data) {
setdeptrighticon($scope.deptlst);
Member.selectedemplst = [];
if (!Member.disabled) {
$scope.selectedemplst = $scope.selectedemplst.concat(data);
Member.selectedemplst = $scope.selectedemplst;
}
setselectedcount();
}
function getemp(id) {
Dept.getEmp(id).then(function (data) {
console.log(data);
Member.member[id.toString()] = angular.copy(data);
$scope.emplst = data;
setitem();
$scope.loading = false;
});
}
function getdept_emp(did) {
if (Member.member[did.toString()]) {
set_member(did);
} else {
$scope.loading = true;
Dept.getEmp(did).then(function (data) {
Member.member[did.toString()] = angular.copy(data);
set_member(did);
$scope.loading = false;
}, function (err) {
$scope.loading = false;
});
}
}
var set_member = function (did) {
$scope.deptlst = Dept.getChildDept(did);
setdeptrighticon($scope.deptlst);
$scope.emplst = Member.member[did.toString()];
setitem();
$scope.deptid = did;
$scope.index = (startdept && did == startdept.id) ? 0 : 1;
};
function setselectedcount() {
$scope.selectcount = $scope.selectedemplst.length > 0 ? "(" + $scope.selectedemplst.length + ")" : "";
}
function setitem() {
_.each($scope.emplst, function (e) {
e.selected = false;
e.disabled = false;
e.depname = dep.depname;
set_isenable(e, Member.resourcemember, true);
set_isenable(e, Member.unenabledata, false);
var e1 = _.find($scope.selectedemplst, {'user_id': e.user_id});
if (e1 != undefined) e.selected = true;
});
}
function set_isenable(e, data, op) {
var p = _.find(data, {'user_id': e.user_id});
if (p != undefined) {
e.disabled = e.selected = true;
if (!Member.disabled && op) e.disabled = false;
}
}
function setdeptrighticon(deptlst) {
_.each(deptlst, function (d) {
d.isShow = isShow(d);
})
}
function isShow(dept) {
var childdepts = Dept.getChildDept(dept.id);
return !(childdepts.length == 0);
}
})
.controller('SelectSingleMemberCtrl', function ($scope, $ionicHistory, $state, $controller, Dept, Member) {
var parentctrl = $controller('SelectParentCtrl', {$scope: $scope});
var startdept = {};
$scope.init = function () {
Dept.getDep().then(function (data) {
startdept = _.find(data, function (itemdept) {
return itemdept.parent == null; //获取公司的顶层部门
});
getemp(startdept.id);
data = _.filter(data, function (item) {
return item.parent == startdept.id;
});
$scope.deptlst = data;
setdeptrighticon($scope.deptlst);
});
};
$scope.changeindex = function (index, dtid) {
$scope.index = index;
$scope.deptid = dtid;
};
$scope.change = function (emp) {
Member.dialogresult = 1;
Member.selectedemplst.push(emp);
if (Member.routename != '') {
$state.go(Member.routename, Member.routeparams);
} else {
$ionicHistory.goBack(); //todo:带参数跳转
}
};
$scope.up = function () {
var dept = _.find(Dept.all(), function (d) {
return d.id == parseInt($scope.deptid);
});
getdept_emp(dept.parent);
};
$scope.cancel = function () {
Member.dialogresult = 0;
Member.selectedemplst = [];
$ionicHistory.goBack();
};
var dep = {};
$scope.changedept = function (dept) {
dep = dept;
getdept_emp(dept.id);
};
$scope.deptdisplay = function () {
return $scope.deptlst.length > 0;
};
function getemp(deptid) {
Dept.getEmp(deptid).then(function (data) {
Member.member[deptid.toString()] = angular.copy(data);
$scope.emplst = data;
setitem();
$scope.loading = false;
});
}
function getdept_emp(did) {
if (Member.member[did.toString()]) {
set_member(did);
} else {
$scope.loading = true;
Dept.getEmp(did).then(function (data) {
Member.member[did.toString()] = angular.copy(data);
set_member(did);
$scope.loading = false;
});
}
}
var set_member = function (did) {
$scope.deptlst = Dept.getChildDept(did);
setdeptrighticon($scope.deptlst);
$scope.emplst = Member.member[did.toString()];
setitem();
$scope.deptid = did;
$scope.index = (startdept && did == startdept.id) ? 0 : 1;
};
function setitem() {
_.each($scope.emplst, function (e) {
e.selected = false;
e.disabled = false;
e.depname = dep.depname;
_.each(Member.resourcemember, function (p) {
if (p.user_id == parseInt(e.user_id)) {
e.disabled = true;
e.selected = true;
if (!Member.disabled) e.disabled = false;
}
});
_.each($scope.selectedemplst, function (e1) {
if (e1.user_id == e.user_id) e.selected = true;
});
});
}
function setdeptrighticon(deptlst) {
_.each(deptlst, function (d) {
d.isShow = isShow(d);
})
}
function isShow(dept) {
return Dept.getChildDept(dept.id).length != 0;
}
$scope.$on("$destroy", function () {
Member.member = {};
});
})
.controller('SelectDeptCtrl', function ($scope, $state, $ionicHistory, $timeout, $controller, Dept, Member) {
var parentctrl = $controller('SelectParentCtrl', {$scope: $scope});
$scope.id = $state.params['id'];
$scope.selecteddepts = Member.selecteddepts;
$scope.selectdeptcount = '';
$scope.isallcheck = Member.isallcheck;
$scope.flag = 0;
$scope.isAll = false;
var deptid = 1;
var resourcedept = [];
var startdept = null;
$scope.isAllCheck = function () {
Member.dialogresult = 1;
$scope.isallcheck = !$scope.isallcheck;
Member.isallcheck = $scope.isallcheck;
if (Member.isallcheck) {
Member.selecteddepts = [];
if (Member.routename != '') {
$state.go(Member.routename, Member.routeparams);
} else {
$ionicHistory.goBack(); //todo:带参数跳转
}
}
};
$scope.cancel = function () {
Member.dialogresult = 0;
Member.selecteddepts = [];
$ionicHistory.goBack();
};
$scope.ok = function () {
console.log($scope.selecteddepts.length);
Member.dialogresult = 1;
Member.all = 0;
if (Member.routename != '') {
$state.go(Member.routename, Member.routeparams);
} else {
$ionicHistory.goBack(); //todo:带参数跳转
}
};
$scope.up = function () {
if ($scope.index == 0 && Member.showall) {
$scope.showall = true;
}
var dept = _.find(Dept.all(), function (d) {
return d.id == parseInt(deptid);
});
getChildDept(dept.parent);
};
$scope.change = function (dept) {
if (Member.isallcheck) {
$scope.isallcheck = !$scope.isallcheck;
Member.isallcheck = $scope.isallcheck;
}
if (dept.selected) {
$scope.selecteddepts.push(dept);
Member.selecteddepts = $scope.selecteddepts;
} else {
$scope.selecteddepts = _.filter($scope.selecteddepts, function (e) {
return e.id != parseInt(dept.id);
});
Member.selecteddepts = $scope.selecteddepts;
}
setselectedcount();
};
$scope.tochilddept = function (dept) {
if ($scope.index == startdept.id) {
$scope.showall = false;
}
getChildDept(dept.id);
};
function setdept(data) {
_.each(data, function (item) {
item.selected = false;
item.isdisabled = false;
item.ishide = false;
item.disableddesc = '';
item.isShow = isShow(item);
if (Member.datatype == 3) {
if (item.diarymobid != null && $state.params["id"] != item.diarymobid) {
item.disableddesc = '(已设置)';
item.isdisabled = true;
}
} else if (Member.datatype == 4) {
if (item.workatdsetid != null && $state.params["id"] != item.workatdsetid) {
item.disableddesc = '(已设置)';
item.isdisabled = true;
}
}
if (_.find(Member.resourcemember, function (rsc) {
return rsc.id == item.id ? true : false
})) {
item.selected = true;
}
});
$scope.deptlst = data;
}
function getChildDept(did) {
var childdepts = Dept.getChildDept(did);
if (childdepts.length > 0) {
deptid = did;
if (did == startdept.id) {
$scope.index = 0;
} else {
$scope.index = 1;
}
setdept(childdepts);
}
}
function setselectedcount() {
if (Member.selecteddepts.length > 0) {
$scope.selectcount = "(" + Member.selecteddepts.length + ")";
} else {
$scope.selectcount = "";
}
}
function isShow(dept) {
var childdepts = Dept.getChildDept(dept.id);
if (childdepts.length == 0) {
return false;
} else {
return true;
}
}
var beforeEnter = $scope.$on("$ionicView.beforeEnter", function () {
$scope.loading = true;
Dept.getDep().then(function (data) {
startdept = _.find(data, function (itemdept) {
return itemdept.parent == null; //获取公司的顶层部门
});
Member.selecteddepts = Member.resourcemember;
$scope.selecteddepts = Member.selecteddepts;
if (Member.datatype == 3) {
_.each(data, function (item) {
if (item.diarymobid != null) {
$scope.flag++;
}
if (item.id == 1 && item.diarymobid != null) {
$scope.isAll = true;
}
})
} else if (Member.datatype == 4) {
_.each(data, function (item) {
if (item.workatdsetid != null) {
$scope.flag++;
}
if (item.id == 1 && item.workatdsetid != null) {
$scope.isAll = true;
}
})
}
if ($scope.id == -1) {
if ($scope.flag == 1 && $scope.isAll) {
$scope.showall = true;
} else if ($scope.flag >= 1 && !$scope.isAll) {
$scope.showall = false;
}
if ($scope.flag >= 1 && $scope.flag + 1 == data.length && !$scope.isAll) {
$scope.isAll = true;
}
} else {
if ($scope.flag == 1 && $scope.isAll) {
$scope.showall = true;
} else if ($scope.flag >= 1 && !$scope.isAll && Member.resourcemember.length == 0) {
$scope.showall = true;
} else if ($scope.flag >= 1 && !$scope.isAll && $scope.flag == Member.resourcemember.length) {
$scope.showall = true;
} else if ($scope.flag >= 1 && !$scope.isAll && $scope.flag != Member.resourcemember.length) {
$scope.showall = false;
}
}
var rst = _.filter(data, function (a) {
return (a.level === 1);
});
setdept(rst);
if (!Member.disabled) {
_.each(Member.resourcemember, function (m) {
$scope.selecteddepts.push(m);
});
Member.selecteddepts = $scope.selecteddepts;
}
setselectedcount();
}).finally(function () {
$scope.loading = false;
});
});
$scope.$on("$destroy", function () {
beforeEnter = null;
})
})
.controller('SelectSingleDeptCtrl', function ($scope, $state, $ionicHistory, $timeout, Dept, Member) {
$scope.titlename = Member.titlename;
var active_dept_id = 1;
var startdept = null;
$scope.leftbtn = [{
text: '取消',
click: 'cancel'
}, {
text: '上一层',
click: 'up'
}];
var beforeEnter = $scope.$on("$ionicView.beforeEnter", function () {
$scope.loading = true;
Dept.getDep().then(function (data) {
startdept = _.find(data, {'parent': null});
$scope.id = Member.resourcemember.length > 0 ? Member.resourcemember[0].id : null;
getChildDept(startdept.id);
}).finally(function () {
$scope.loading = false;
});
});
$scope.cancel = function () {
Member.dialogresult = 0;
Member.selecteddepts = [];
$ionicHistory.goBack();
};
$scope.up = function () {
getChildDept(_.find(Dept.all(), {'id': active_dept_id}).parent);
};
$scope.change = function (dept) {
Member.selecteddepts = [];
if (dept.selected) {
Member.selecteddepts.push(dept);
Member.routename == "" ? $ionicHistory.goBack() : $state.go(Member.routename, Member.routeparams);
}
};
$scope.tochilddept = function (dept) {
getChildDept(dept.id);
};
$scope.is_showright = function (dept) {
return Dept.getChildDept(dept.id).length > 0;
};
function getChildDept(did) {
var childdepts = Dept.getChildDept(did);
if (childdepts.length > 0) {
active_dept_id = did;
$scope.index = did == startdept.id ? 0 : 1;
var item = _.find(childdepts, {'id': $scope.id});
if (item != undefined) item.selected = item != undefined;
$scope.deptlst = childdepts;
}
}
$scope.$on("$destroy", function () {
beforeEnter = null;
})
})
.controller('TransferCtrl', function ($scope, $state, $stateParams, $ionicPopup, $ionicHistory, global, Member) {
$scope.selectmember = function () {
$scope.isremove = false;
Member.resourcemember = [];
Member.resourcemember.push({
id: global.user.usrid
});
Member.routename = '';
Member.titlename = '选择联系人';
$state.go('selectmember');
};
$scope.goback = function () {
$ionicHistory.goBack();
};
function selectMember() {
if (Member.selectedemplst.length > 0) {
$scope.memberlist.push(global.user.imusrid);
_.each(Member.selectedemplst, function (item) {
$scope.memberlist.push(item.im_usrid);
});
Member.selectedemplst = [];
if (window.cordovaLinker != undefined) {
var discussion = {
name: "讨论组",
ids: []
};
discussion.ids = $scope.memberlist;
window.cordovaLinker.discuss(discussion, function (s) {
console.log(s);
var confirmPopup = $ionicPopup.confirm({
title: '