|
@@ -22,10 +22,24 @@ Page({
|
|
|
name: '女',
|
|
|
},
|
|
|
],
|
|
|
- avatar:null,
|
|
|
- sex:'男',
|
|
|
- nickname:null,
|
|
|
+ avatar: null,
|
|
|
+ sex: '男',
|
|
|
+ nickname: null,
|
|
|
height: null,
|
|
|
+ // 选择部门
|
|
|
+ mainActiveIndex: 0,
|
|
|
+ activeId: null,
|
|
|
+ items: [],
|
|
|
+ //显示遮罩层
|
|
|
+ show: false,
|
|
|
+ selectname: '',
|
|
|
+ selectobjectid: '',
|
|
|
+ upiobjectid: '',
|
|
|
+ // 图片
|
|
|
+ fileList: [],
|
|
|
+ uptokenURL: '',
|
|
|
+ domain: '',
|
|
|
+ uploadURL: '',
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -41,7 +55,7 @@ Page({
|
|
|
const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0;
|
|
|
|
|
|
const contentpadding = (statusBarHeight + customHeight) * 750 / systemInfo.windowWidth;
|
|
|
- const contentHeight = (screenHeight - bottomNavHeight - 50 - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth;
|
|
|
+ const contentHeight = (screenHeight - bottomNavHeight - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth;
|
|
|
this.setData({
|
|
|
statusBarHeight,
|
|
|
screenHeight,
|
|
@@ -51,6 +65,9 @@ Page({
|
|
|
contentpadding
|
|
|
});
|
|
|
this.getname()
|
|
|
+ this.getdep()
|
|
|
+ this.getDepartment()
|
|
|
+ this.getUptoken()
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -105,7 +122,7 @@ Page({
|
|
|
getHeight(e) {
|
|
|
let height = e.detail.value;
|
|
|
// 身高范围在 50 到 250 之间的正则表达式,允许浮点数
|
|
|
- let a = /^(?:[5-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|250)(\.\d)?$/;
|
|
|
+ let a = /^(?:[5-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|250)(\.\d)?$/;
|
|
|
if (!height.match(a)) {
|
|
|
wx.showToast({
|
|
|
icon: "none",
|
|
@@ -120,11 +137,11 @@ Page({
|
|
|
}
|
|
|
},
|
|
|
//点击清空
|
|
|
- clearHeight(){
|
|
|
+ clearHeight() {
|
|
|
this.setData({
|
|
|
- height:null
|
|
|
+ height: null
|
|
|
})
|
|
|
- console.log('清空',this.data.height);
|
|
|
+ console.log('清空', this.data.height);
|
|
|
},
|
|
|
//获取头像名称
|
|
|
async getname() {
|
|
@@ -139,18 +156,46 @@ Page({
|
|
|
User1List
|
|
|
})
|
|
|
this.setData({
|
|
|
- avatar:User1List[0].avatar,
|
|
|
- nickname:User1List[0].nickname,
|
|
|
- sex:User1List[0].sex||'男',
|
|
|
+ avatar: User1List[0].avatar,
|
|
|
+ nickname: User1List[0].nickname,
|
|
|
+ sex: User1List[0].sex || '男',
|
|
|
})
|
|
|
console.log(this.data.User1List);
|
|
|
},
|
|
|
+ //获取部门
|
|
|
+ async getdep() {
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Userquery = new Parse.Query('Profile');
|
|
|
+ Userquery.equalTo('company', company);
|
|
|
+ Userquery.equalTo('user', currentUser.id);
|
|
|
+ // Userquery.equalTo('isCheck', true);
|
|
|
+ Userquery.notEqualTo('isDeleted', true)
|
|
|
+ Userquery.include('center');
|
|
|
+ let P2 = await Userquery.find();
|
|
|
+ let dep = P2.map(item => item.toJSON());
|
|
|
+ if (dep) {
|
|
|
+ if (dep[0].isCheck == true) {
|
|
|
+ this.setData({
|
|
|
+ selectname: dep[0].center.name,
|
|
|
+ selectobjectid: dep[0].center.objectId,
|
|
|
+ upiobjectid: dep[0].department.objectId
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ wx.showToast({
|
|
|
+ title: '您之前提交信息在审核当中',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log('getdep', dep);
|
|
|
+ },
|
|
|
onSelect(event) {
|
|
|
let {
|
|
|
name
|
|
|
} = event.detail
|
|
|
this.setData({
|
|
|
- sex : name,
|
|
|
+ sex: name,
|
|
|
show2: false
|
|
|
})
|
|
|
console.log(this.data.sex);
|
|
@@ -161,22 +206,223 @@ Page({
|
|
|
})
|
|
|
},
|
|
|
//修改名字
|
|
|
- changenickname(e){
|
|
|
+ changenickname(e) {
|
|
|
this.setData({
|
|
|
- nickname:e.detail
|
|
|
+ nickname: e.detail
|
|
|
})
|
|
|
console.log(this.data.nickname);
|
|
|
},
|
|
|
//上传信息
|
|
|
- async setinfo(){
|
|
|
+ async setinfo() {
|
|
|
+ if (!this.data.nickname || !this.data.sex || !this.data.selectobjectid || !this.data.avatar) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '请输入相关内容',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
const currentUser = Parse.User.current();
|
|
|
let Userquery = new Parse.Query('_User');
|
|
|
Userquery.equalTo('company', company);
|
|
|
Userquery.equalTo('objectId', currentUser.id);
|
|
|
Userquery.notEqualTo('isDeleted', true)
|
|
|
let user = await Userquery.first();
|
|
|
- user.set('sex',this.data.sex)
|
|
|
- user.set('nickname',this.data.nickname)
|
|
|
- }
|
|
|
+ user.set('sex', this.data.sex)
|
|
|
+ user.set('avatar', this.data.avatar)
|
|
|
+ user.set('nickname', this.data.nickname)
|
|
|
+ try {
|
|
|
+ user.save()
|
|
|
+ console.log('昵称保存成功');
|
|
|
+ } catch {
|
|
|
+ console.log('保存失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ let Profilerquery = new Parse.Query('Profile');
|
|
|
+ Profilerquery.equalTo('company', company);
|
|
|
+ Profilerquery.equalTo('user', currentUser.id);
|
|
|
+ Profilerquery.notEqualTo('isDeleted', true)
|
|
|
+ let Profile = await Profilerquery.first();
|
|
|
+ //工会
|
|
|
+ let Departmentquery = new Parse.Query('Department');
|
|
|
+ Departmentquery.equalTo('company', company);
|
|
|
+ Departmentquery.equalTo('objectId', this.data.upiobjectid);
|
|
|
+ Departmentquery.notEqualTo('isDeleted', true)
|
|
|
+ let Department = await Departmentquery.first();
|
|
|
+ //部门
|
|
|
+ let unionquery = new Parse.Query('Department');
|
|
|
+ unionquery.equalTo('company', company);
|
|
|
+ unionquery.equalTo('objectId', this.data.selectobjectid);
|
|
|
+ unionquery.notEqualTo('isDeleted', true)
|
|
|
+ let union = await unionquery.first();
|
|
|
+
|
|
|
+ if (Profile) {
|
|
|
+ Profile.set('department', Department.toPointer())
|
|
|
+ Profile.set('center', union.toPointer())
|
|
|
+ try {
|
|
|
+ Profile.save()
|
|
|
+ wx.showToast({
|
|
|
+ title: '提交成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ console.log('部门保存成功');
|
|
|
+ } catch {
|
|
|
+ console.log('部门保存失败');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Userquery = new Parse.Query('_User');
|
|
|
+ Userquery.equalTo('company', company);
|
|
|
+ Userquery.equalTo('objectId', currentUser.id);
|
|
|
+ Userquery.notEqualTo('isDeleted', true)
|
|
|
+ let P2 = await Userquery.first();
|
|
|
+
|
|
|
+ let companyPointer = Parse.Object.extend('Company').createWithoutData(company);
|
|
|
+ console.log(companyPointer);
|
|
|
+ let Profile = new Parse.Object('Profile');
|
|
|
+ Profile.set('company', companyPointer);
|
|
|
+ Profile.set('isCheck', false);
|
|
|
+ Profile.set('user', P2.toPointer());
|
|
|
+ Profile.set('department', Department.toPointer());
|
|
|
+ Profile.set('center', union.toPointer());
|
|
|
+ try {
|
|
|
+ Profile.save()
|
|
|
+ console.log('部门保存成功');
|
|
|
+ } catch {
|
|
|
+ console.log('部门保存失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ // 获取部门信息
|
|
|
+ async getDepartment() {
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
+ let Userquery = new Parse.Query('Department');
|
|
|
+ Userquery.equalTo('company', company); // 假设 company 是你要查询的公司对象
|
|
|
+ Userquery.equalTo('isEnabled', true);
|
|
|
+ Userquery.notEqualTo('isDeleted', true);
|
|
|
+ Userquery.include('parent');
|
|
|
+
|
|
|
+ let P2 = await Userquery.find();
|
|
|
+ let Departmentlist = P2.map(item => item.toJSON());
|
|
|
+
|
|
|
+ // 创建一个以工会为键的对象,以便于匹配
|
|
|
+ const unionsMap = {};
|
|
|
+ console.log(Departmentlist);
|
|
|
+ // 遍历部门列表,构建工会映射
|
|
|
+ Departmentlist.forEach(department => {
|
|
|
+ //有工会的部门
|
|
|
+ if (department.parent && department.parent.objectId) {
|
|
|
+ const unionId = department.parent.objectId; //工会id
|
|
|
+
|
|
|
+ // 如果工会还没有在映射中,创建一个新的工会对象
|
|
|
+ if (!unionsMap[unionId]) {
|
|
|
+ unionsMap[unionId] = {
|
|
|
+ text: department.parent.name, // 工会名称
|
|
|
+ objectId: department.parent.objectId,
|
|
|
+ children: [] // 初始化子部门数组
|
|
|
+ };
|
|
|
+ }
|
|
|
+ // 将部门添加到对应的工会子项中
|
|
|
+ unionsMap[unionId].children.push({
|
|
|
+ text: department.name, // 部门名称
|
|
|
+ id: department.objectId, // 部门 ID
|
|
|
+ upid: department.parent.objectId
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ if (!unionsMap[department.objectId]) {
|
|
|
+ unionsMap[department.objectId] = {
|
|
|
+ text: department.name, // 工会名称
|
|
|
+ objectId: department.objectId,
|
|
|
+ children: [] // 初始化子部门数组
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // 将映射转换为数组
|
|
|
+ const result = Object.values(unionsMap);
|
|
|
+
|
|
|
+ console.log(result);
|
|
|
+ this.setData({
|
|
|
+ items: result
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //点击工会
|
|
|
+ onClickNav({
|
|
|
+ detail = {}
|
|
|
+ }) {
|
|
|
+ this.setData({
|
|
|
+ mainActiveIndex: detail.index || 0,
|
|
|
+ });
|
|
|
+ console.log(detail);
|
|
|
+ },
|
|
|
+ //点击部门
|
|
|
+ onClickItem({
|
|
|
+ detail = {}
|
|
|
+ }) {
|
|
|
+ const activeId = this.data.activeId === detail.id ? null : detail.id;
|
|
|
+
|
|
|
+ this.setData({
|
|
|
+ activeId,
|
|
|
+ selectname: detail.text,
|
|
|
+ selectobjectid: detail.id,
|
|
|
+ upiobjectid: detail.upid
|
|
|
+ });
|
|
|
+ this.onClickHide()
|
|
|
+ console.log(detail);
|
|
|
+ },
|
|
|
+ //显示遮罩层
|
|
|
+ onClickShow() {
|
|
|
+ this.setData({
|
|
|
+ show: true
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //关闭遮罩层
|
|
|
+ onClickHide() {
|
|
|
+ this.setData({
|
|
|
+ show: false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //返回上一页
|
|
|
+ goback() {
|
|
|
+ wx.navigateBack({
|
|
|
+ delta: 1 // 返回上一页
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //删除头像
|
|
|
+ deleteavater() {
|
|
|
+ this.setData({
|
|
|
+ avatar: ''
|
|
|
+ })
|
|
|
+ },
|
|
|
+ async getUptoken() {
|
|
|
+ let res = await Parse.Cloud.run('qiniu_uptoken', {
|
|
|
+ company: company
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ uptokenURL: res.uptoken,
|
|
|
+ domain: res.domain,
|
|
|
+ uploadURL: res.zoneUrl
|
|
|
+ })
|
|
|
+ console.log(this.data.uptokenURL, this.data.domain, this.data.uploadURL);
|
|
|
+ },
|
|
|
+ //本地上传头像
|
|
|
+ picture(event) {
|
|
|
+ console.log('event', event);
|
|
|
+ let FileList = event.detail
|
|
|
+ let url = []
|
|
|
+ for (let i = 0; i < FileList.length; i++) {
|
|
|
+ url.push(FileList[i].url)
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ fileList: url
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ avatar:this.data.fileList[0]
|
|
|
+ })
|
|
|
+ console.log('图片', this.data.fileList);
|
|
|
+ },
|
|
|
|
|
|
})
|