|
@@ -1,236 +1,266 @@
|
|
|
var app = getApp();
|
|
|
var that;
|
|
|
Page({
|
|
|
- data: {
|
|
|
- userList: [],
|
|
|
- all_rule_list: [],
|
|
|
- rule_tree: [],
|
|
|
- terr: [{ name: '全公司', id: 0 }],
|
|
|
- searchUser: [],//搜索
|
|
|
- searchName:'',
|
|
|
- isItem: true,//是否为搜索的值
|
|
|
- isAllChecked: false,
|
|
|
- isAllChecked2: false,
|
|
|
- dept_id:0,
|
|
|
- minuteIndex: 0,//条件选择
|
|
|
- minuteArray: [
|
|
|
- { id: 0, name: '全部人员' },
|
|
|
- { id: 1, name: '仅显示已开启人员' }
|
|
|
- ],
|
|
|
- },
|
|
|
- onLoad() {
|
|
|
- that = this;
|
|
|
- dd.setNavigationBar({ title: "部门/员工" });
|
|
|
- this.setData({
|
|
|
- terr: [{ name: '全公司', id: 0 }],
|
|
|
- })
|
|
|
- this.getMessage();
|
|
|
- this.getBmData();
|
|
|
- this.getUserData(0);
|
|
|
- },
|
|
|
- //选择积分分类
|
|
|
- bingIntegralType(e) {
|
|
|
- this.setData({
|
|
|
- minuteIndex: e.detail.value,
|
|
|
- });
|
|
|
- },
|
|
|
- radioChange(e){
|
|
|
- var list = this.data.isItem? this.data.userList:this.data.searchUser;
|
|
|
- let id = e.target.dataset.id;
|
|
|
- list.map(item => {
|
|
|
- if(item.id==id){
|
|
|
- item.isChecked = e.detail.value;
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- //全选择
|
|
|
- ruleActiveAll(e) {
|
|
|
- var list = this.data.isItem? this.data.userList:this.data.searchUser;
|
|
|
- if (e.detail.value) {
|
|
|
- list.map(item => {
|
|
|
- if(item.is_creator!=1){
|
|
|
- if(this.data.minuteIndex==1){
|
|
|
- if(item.is_official==1){
|
|
|
- item.isChecked = true;
|
|
|
- }
|
|
|
- }else{
|
|
|
- item.isChecked = true;
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- list.map(item => {
|
|
|
- if(item.is_creator!=1){
|
|
|
- if(this.data.minuteIndex==1){
|
|
|
- if(item.is_official==1){
|
|
|
- item.isChecked = false;
|
|
|
- }
|
|
|
- }else{
|
|
|
- item.isChecked = false;
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- if(this.data.isItem){
|
|
|
- this.setData({
|
|
|
- userList:list,
|
|
|
- isAllChecked:e.detail.value
|
|
|
- })
|
|
|
- }else{
|
|
|
- this.setData({
|
|
|
- searchUser:list,
|
|
|
- isAllChecked2:e.detail.value
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- // 开启||禁用
|
|
|
- onOpen(e){
|
|
|
- var index = e.target.dataset.index;
|
|
|
- let employeeId=[];
|
|
|
- var list = this.data.isItem? this.data.userList:this.data.searchUser;
|
|
|
- list.map(item => {
|
|
|
- if(item.isChecked){
|
|
|
- if(this.data.minuteIndex==1){
|
|
|
- if(item.is_official==1){
|
|
|
- employeeId.push(item.id)
|
|
|
- }
|
|
|
- }else{
|
|
|
- employeeId.push(item.id)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- if (employeeId.length == 0) {
|
|
|
- app.globalData.showToast("请选择一名员工")
|
|
|
- return;
|
|
|
+ data: {
|
|
|
+ userList: [],
|
|
|
+ all_rule_list: [],
|
|
|
+ rule_tree: [],
|
|
|
+ terr: [{
|
|
|
+ name: '全公司',
|
|
|
+ id: 0
|
|
|
+ }],
|
|
|
+ searchUser: [], //搜索
|
|
|
+ searchName: '',
|
|
|
+ isItem: true, //是否为搜索的值
|
|
|
+ isAllChecked: false,
|
|
|
+ isAllChecked2: false,
|
|
|
+ dept_id: 0,
|
|
|
+ minuteIndex: 0, //条件选择
|
|
|
+ minuteArray: [{
|
|
|
+ id: 0,
|
|
|
+ name: '全部人员'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ name: '已开启'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ name: '已禁用'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ that = this;
|
|
|
+ dd.setNavigationBar({
|
|
|
+ title: "部门/员工"
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ terr: [{
|
|
|
+ name: '全公司',
|
|
|
+ id: 0
|
|
|
+ }],
|
|
|
+ })
|
|
|
+ this.getMessage();
|
|
|
+ this.getBmData();
|
|
|
+ this.getUserData(0);
|
|
|
+ },
|
|
|
+ //选择积分分类
|
|
|
+ bingIntegralType(e) {
|
|
|
+ this.setData({
|
|
|
+ minuteIndex: e.detail.value,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ radioChange(e) {
|
|
|
+ var list = this.data.isItem ? this.data.userList : this.data.searchUser;
|
|
|
+ let id = e.target.dataset.id;
|
|
|
+ list.map(item => {
|
|
|
+ if (item.id == id) {
|
|
|
+ item.isChecked = e.detail.value;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //全选择
|
|
|
+ ruleActiveAll(e) {
|
|
|
+ var list = this.data.isItem ? this.data.userList : this.data.searchUser;
|
|
|
+ if (e.detail.value) {
|
|
|
+ list.map(item => {
|
|
|
+ if (item.is_creator != 1) {
|
|
|
+ if (this.data.minuteIndex == 1) {
|
|
|
+ if (item.is_official == 1) {
|
|
|
+ item.isChecked = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ item.isChecked = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ list.map(item => {
|
|
|
+ if (item.is_creator != 1) {
|
|
|
+ if (this.data.minuteIndex == 1) {
|
|
|
+ if (item.is_official == 1) {
|
|
|
+ item.isChecked = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ item.isChecked = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
- let url=index==1? 'api/employee/disable':'api/employee/enable'
|
|
|
- app.$post(url, { employee_id: JSON.stringify(employeeId) }).then((res) => {
|
|
|
- app.globalData.showToast("设置成功")
|
|
|
- if(this.data.isItem){
|
|
|
- this.getUserData(this.data.dept_id);
|
|
|
- }else{
|
|
|
- let data={
|
|
|
- detail:{
|
|
|
- value:this.data.searchName
|
|
|
- }
|
|
|
- }
|
|
|
- this.bindKeyInput(data);
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- tbDd() {
|
|
|
- dd.confirm({
|
|
|
- title: '温馨提示',
|
|
|
- content: '下次同步时间需在10分钟之后,是否同步',
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- success: (result) => {
|
|
|
- if (result.confirm) {
|
|
|
- var http1 = app.$post("api/ding/employee_sync", {});
|
|
|
- Promise.all([http1]).then((item) => {
|
|
|
- app.globalData.showToast(item[0].data.msg);
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
- onReset() {
|
|
|
- this.setData({
|
|
|
- searchUser: [],
|
|
|
- isItem: true,
|
|
|
- isVal: false
|
|
|
- })
|
|
|
- },
|
|
|
- bindKeyInput(e) {
|
|
|
- app.$get("api/employee/index", { dept_id: 0 }).then((res) => {
|
|
|
- var list = res.data.data.list;
|
|
|
- list.forEach(item=>{
|
|
|
- item.isChecked=false
|
|
|
- if(item.id==app.globalData.userData.id){
|
|
|
- item.is_creator=1
|
|
|
- }
|
|
|
- })
|
|
|
- var items = list.filter((item) => {
|
|
|
- return item.name.indexOf(e.detail.value) >= 0
|
|
|
- });
|
|
|
- this.setData({
|
|
|
- searchUser: items,
|
|
|
- isItem: e.detail.value ? false : true,
|
|
|
- isVal: e.detail.value ? true : false,
|
|
|
- searchName: e.detail.value? e.detail.value:'',
|
|
|
- isAllChecked2: false,
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- //点击导航栏
|
|
|
- activeItem(e) {
|
|
|
- var item = e.target.dataset.item;
|
|
|
- var index = e.target.dataset.index;
|
|
|
- var terr = this.data.terr;
|
|
|
- if ((index + 1) == terr.length) { return false };
|
|
|
- this.setData({ rule_tree: [] });
|
|
|
- if (index == 0) {
|
|
|
- this.setData({
|
|
|
- terr: [{ name: '全公司', id: 0 }],
|
|
|
- rule_tree: this.data.all_rule_list,
|
|
|
- dept_id:0
|
|
|
- })
|
|
|
- } else {
|
|
|
- var arr = terr.slice(0, index + 1);
|
|
|
- this.setData({
|
|
|
- rule_tree: item._child,
|
|
|
- terr: arr,
|
|
|
- dept_id:item.id
|
|
|
- })
|
|
|
- }
|
|
|
- this.getUserData(item.id);
|
|
|
- },
|
|
|
- //点击一级
|
|
|
- activeTree(e) {
|
|
|
- var item = e.target.dataset.item
|
|
|
- var terr = this.data.terr;
|
|
|
- terr.push(item)
|
|
|
- this.setData({
|
|
|
- rule_tree: item._child,
|
|
|
- terr: terr,
|
|
|
- dept_id:item.id
|
|
|
- });
|
|
|
- this.getUserData(item.id);
|
|
|
- },
|
|
|
- //获取部门列表
|
|
|
- getBmData() {
|
|
|
- app.$get("api/department/tree", {}).then((res) => {
|
|
|
- var list = res.data.data.list;
|
|
|
- this.setData({
|
|
|
- rule_tree: list,
|
|
|
- all_rule_list: list
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- //获取员工信息
|
|
|
- getUserData(dept_id) {
|
|
|
- this.setData({
|
|
|
- userList: []
|
|
|
- })
|
|
|
- app.$get("api/employee/index", { dept_id: dept_id }).then((res) => {
|
|
|
- var list = res.data.data.list;
|
|
|
- list.forEach(item=>{
|
|
|
- item.isChecked=false
|
|
|
- if(item.id==app.globalData.userData.id){
|
|
|
- item.is_creator=1
|
|
|
- }
|
|
|
- })
|
|
|
- this.setData({
|
|
|
- isAllChecked: false,
|
|
|
- userList: list
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- getMessage() {
|
|
|
- app.$get("api/site/info").then((res) => {
|
|
|
- this.setData({
|
|
|
- gsData: res.data.data
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
+ if (this.data.isItem) {
|
|
|
+ this.setData({
|
|
|
+ userList: list,
|
|
|
+ isAllChecked: e.detail.value
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.setData({
|
|
|
+ searchUser: list,
|
|
|
+ isAllChecked2: e.detail.value
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 开启||禁用
|
|
|
+ onOpen(e) {
|
|
|
+ var index = e.target.dataset.index;
|
|
|
+ let employeeId = [];
|
|
|
+ var list = this.data.isItem ? this.data.userList : this.data.searchUser;
|
|
|
+ list.map(item => {
|
|
|
+ if (item.isChecked) {
|
|
|
+ if (this.data.minuteIndex == 1) {
|
|
|
+ if (item.is_official == 1) {
|
|
|
+ employeeId.push(item.id)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ employeeId.push(item.id)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (employeeId.length == 0) {
|
|
|
+ app.globalData.showToast("请选择一名员工")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let url = index == 1 ? 'api/employee/disable' : 'api/employee/enable'
|
|
|
+ app.$post(url, {
|
|
|
+ employee_id: JSON.stringify(employeeId)
|
|
|
+ }).then((res) => {
|
|
|
+ app.globalData.showToast("设置成功")
|
|
|
+ if (this.data.isItem) {
|
|
|
+ this.getUserData(this.data.dept_id);
|
|
|
+ } else {
|
|
|
+ let data = {
|
|
|
+ detail: {
|
|
|
+ value: this.data.searchName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.bindKeyInput(data);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ tbDd() {
|
|
|
+ dd.confirm({
|
|
|
+ title: '温馨提示',
|
|
|
+ content: '下次同步时间需在10分钟之后,是否同步',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ success: (result) => {
|
|
|
+ if (result.confirm) {
|
|
|
+ var http1 = app.$post("api/ding/employee_sync", {});
|
|
|
+ Promise.all([http1]).then((item) => {
|
|
|
+ app.globalData.showToast(item[0].data.msg);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onReset() {
|
|
|
+ this.setData({
|
|
|
+ searchUser: [],
|
|
|
+ isItem: true,
|
|
|
+ isVal: false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ bindKeyInput(e) {
|
|
|
+ app.$get("api/employee/index", {
|
|
|
+ dept_id: 0
|
|
|
+ }).then((res) => {
|
|
|
+ var list = res.data.data.list;
|
|
|
+ list.forEach(item => {
|
|
|
+ item.isChecked = false
|
|
|
+ if (item.id == app.globalData.userData.id) {
|
|
|
+ item.is_creator = 1
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var items = list.filter((item) => {
|
|
|
+ return item.name.indexOf(e.detail.value) >= 0
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ searchUser: items,
|
|
|
+ isItem: e.detail.value ? false : true,
|
|
|
+ isVal: e.detail.value ? true : false,
|
|
|
+ searchName: e.detail.value ? e.detail.value : '',
|
|
|
+ isAllChecked2: false,
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //点击导航栏
|
|
|
+ activeItem(e) {
|
|
|
+ var item = e.target.dataset.item;
|
|
|
+ var index = e.target.dataset.index;
|
|
|
+ var terr = this.data.terr;
|
|
|
+ if ((index + 1) == terr.length) {
|
|
|
+ return false
|
|
|
+ };
|
|
|
+ this.setData({
|
|
|
+ rule_tree: []
|
|
|
+ });
|
|
|
+ if (index == 0) {
|
|
|
+ this.setData({
|
|
|
+ terr: [{
|
|
|
+ name: '全公司',
|
|
|
+ id: 0
|
|
|
+ }],
|
|
|
+ rule_tree: this.data.all_rule_list,
|
|
|
+ dept_id: 0
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ var arr = terr.slice(0, index + 1);
|
|
|
+ this.setData({
|
|
|
+ rule_tree: item._child,
|
|
|
+ terr: arr,
|
|
|
+ dept_id: item.id
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.getUserData(item.id);
|
|
|
+ },
|
|
|
+ //点击一级
|
|
|
+ activeTree(e) {
|
|
|
+ var item = e.target.dataset.item
|
|
|
+ var terr = this.data.terr;
|
|
|
+ terr.push(item)
|
|
|
+ this.setData({
|
|
|
+ rule_tree: item._child,
|
|
|
+ terr: terr,
|
|
|
+ dept_id: item.id
|
|
|
+ });
|
|
|
+ this.getUserData(item.id);
|
|
|
+ },
|
|
|
+ //获取部门列表
|
|
|
+ getBmData() {
|
|
|
+ app.$get("api/department/tree", {}).then((res) => {
|
|
|
+ var list = res.data.data.list;
|
|
|
+ this.setData({
|
|
|
+ rule_tree: list,
|
|
|
+ all_rule_list: list
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取员工信息
|
|
|
+ getUserData(dept_id) {
|
|
|
+ this.setData({
|
|
|
+ userList: []
|
|
|
+ })
|
|
|
+ app.$get("api/employee/index", {
|
|
|
+ dept_id: dept_id
|
|
|
+ }).then((res) => {
|
|
|
+ var list = res.data.data.list;
|
|
|
+ list.forEach(item => {
|
|
|
+ item.isChecked = false
|
|
|
+ if (item.id == app.globalData.userData.id) {
|
|
|
+ item.is_creator = 1
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ isAllChecked: false,
|
|
|
+ userList: list
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getMessage() {
|
|
|
+ app.$get("api/site/info").then((res) => {
|
|
|
+ this.setData({
|
|
|
+ gsData: res.data.data
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
});
|