designerlist.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. const app=getApp();
  2. var utils=require("../../../utils/http"),page=1;
  3. const util = require("../../../utils/util");
  4. let time = 0,timer = null;
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. canIUseGetUserProfile: false,
  11. shareobj:{},
  12. employeeflag:false,//false是用户,true是员工
  13. top:app.globalData.statusBarHeight,
  14. hgt:app.globalData.titleBarHeight,
  15. companyobj:{},
  16. datashow:false,
  17. sourceflag:false,
  18. houseflag:false,
  19. likestyle:'',
  20. likehouse:'',
  21. stylearr:[],
  22. housearr:[],
  23. designlist:[],
  24. phoneFlag:false,
  25. orgarr: [],
  26. orgobj: {},
  27. noworg: {
  28. id: '',
  29. name: ''
  30. },
  31. orgName:'',
  32. orgId:'',
  33. orgshow: false,
  34. levelIds: ['1'],
  35. },
  36. /**
  37. * 生命周期函数--监听页面加载
  38. */
  39. onLoad: function (options) {
  40. wx.showLoading({
  41. title: '加载中...',
  42. })
  43. time = 0;
  44. this.setData({
  45. top:app.globalData.statusBarHeight,
  46. hgt:app.globalData.titleBarHeight,
  47. })
  48. if (wx.getUserProfile) {
  49. this.setData({
  50. canIUseGetUserProfile: true
  51. })
  52. }
  53. if(!!options.scene){
  54. options=unescape(options.scene);
  55. let arr=options.split('&');
  56. let obj={};
  57. for(let i=0;i<arr.length;i++){
  58. let arr1=arr[i].split('=');
  59. obj[arr1[0]]=arr1[1];
  60. }
  61. app.globalData.shareuserid=obj.uid;
  62. app.globalData.clientype=obj.ctp;
  63. }else{
  64. app.globalData.clientype=options.ctp;
  65. app.globalData.shareuserid=options.uid;
  66. }
  67. this.login();
  68. },
  69. /**
  70. * 生命周期函数--监听页面初次渲染完成
  71. */
  72. onReady: function () {
  73. },
  74. sharecompany:function (){
  75. const that=this;
  76. utils.$post({
  77. url: app.globalData.webUrl + 'client/index/content_belong_company',
  78. header: {
  79. 'Authorization':'bearer '+app.globalData.token
  80. },
  81. data:{
  82. client_type:app.globalData.clientype,
  83. uid: app.globalData.shareuserid
  84. },
  85. success: function (res) {
  86. if(res.data.code=='0'){
  87. app.globalData.companyobj=res.data.data;
  88. that.setData({
  89. companyobj:res.data.data
  90. })
  91. }
  92. },
  93. complete(res) {
  94. wx.hideLoading()
  95. }
  96. })
  97. },
  98. login:function(){
  99. var that=this;
  100. wx.login({
  101. success: function (data) {
  102. if (data.errMsg == 'login:ok') {
  103. utils.$post({
  104. url: app.globalData.webUrl + 'api/users/code2session',
  105. data: {
  106. code:data.code,
  107. share: app.globalData.shareuserid,
  108. client_type:app.globalData.clientype
  109. },
  110. success: function (r) {
  111. if (r.data.code == '0') {
  112. app.globalData.sharepersonobj = r.data.share;
  113. app.globalData.token = r.data.token;
  114. that.setData({
  115. shareobj:app.globalData.sharepersonobj,
  116. })
  117. that.sharecompany();
  118. util.toolfun(2);
  119. if (r.data.user != null&&(!!r.data.user.headimgurl&&r.data.user.headimgurl!=""||!!r.data.user.nickname&&r.data.user.nickname!=""&&r.data.user.nickname!='游客')) {
  120. that.setData({
  121. loginFlag: false,
  122. employeeflag:(!!r.data.user.binded&&r.data.user.binded.state=='在职')?true:false
  123. })
  124. app.globalData.personMsg = r.data.user;
  125. app.globalData.userflag = false; //有个人信息
  126. var nickname = r.data.user.nickname;
  127. var phone = r.data.user.phone;
  128. app.globalData.phone = false; //没有手机号
  129. if (r.data.user.phone == '') {
  130. that.setData({
  131. phoneFlag:true
  132. })
  133. wx.hideLoading();
  134. app.globalData.phone = false; //没有手机号
  135. } else {
  136. that.setData({
  137. phoneFlag:false
  138. })
  139. app.globalData.phone = true; //有手机号
  140. }
  141. } else {
  142. wx.hideLoading();
  143. that.setData({
  144. loginFlag: true
  145. })
  146. }
  147. setTimeout(function () {
  148. wx.hideLoading()
  149. }, 500)
  150. that.houseinfofun();
  151. } else {
  152. that.houseinfofun();
  153. setTimeout(function () {
  154. wx.hideLoading()
  155. }, 500)
  156. }
  157. }
  158. })
  159. }
  160. }
  161. })
  162. },
  163. showstyletap(){
  164. this.setData({
  165. sourceflag:true
  166. })
  167. },
  168. housetap(){
  169. this.setData({
  170. houseflag:true
  171. })
  172. },
  173. setsourcetap(e){
  174. if(!e.detail){
  175. this.setData({
  176. sourceflag:false
  177. })
  178. return false;
  179. }
  180. this.setData({
  181. likestyle:e.detail,
  182. sourceflag:false
  183. })
  184. this.designlistfun();
  185. },
  186. sethousetap(e){
  187. if(!e.detail){
  188. this.setData({
  189. houseflag:false
  190. })
  191. return false;
  192. }
  193. this.setData({
  194. likehouse:e.detail,
  195. houseflag:false
  196. })
  197. this.designlistfun();
  198. },
  199. setinitap(){
  200. this.setData({
  201. likehouse:'',
  202. likestyle:'',
  203. orgName:'',
  204. orgId:'',
  205. })
  206. this.designlistfun();
  207. },
  208. houseinfofun(){
  209. this.designlistfun();
  210. this.orgfun();
  211. const that=this;
  212. utils.$post({
  213. url: app.globalData.webUrl + 'api/designer/select',
  214. header: {
  215. 'Authorization':'bearer '+app.globalData.token
  216. },
  217. data:{},
  218. success: function (res) {
  219. let stylearr=[],housearr=[];
  220. if (res.data.code == "0"){
  221. for(let i in res.data.data.decostyles){
  222. stylearr.push(res.data.data.decostyles[i].name);
  223. }
  224. for(let i in res.data.data.housetype){
  225. housearr.push(res.data.data.housetype[i].name);
  226. }
  227. that.setData({
  228. stylearr:stylearr,
  229. housearr:housearr
  230. })
  231. }
  232. }
  233. })
  234. },
  235. designlistfun(){
  236. const that=this;
  237. page=1;
  238. utils.$post({
  239. url: app.globalData.webUrl + 'client/designer/index',
  240. header: {
  241. 'Authorization':'bearer '+app.globalData.token
  242. },
  243. data:{
  244. at: that.data.likestyle,
  245. house: that.data.likehouse,
  246. limit: 10,
  247. page: 1,
  248. org_id:this.data.orgId
  249. },
  250. success: function (res) {
  251. if (res.data.code == "0"){
  252. that.setData({
  253. datashow:true,
  254. designlist:res.data.data
  255. })
  256. }
  257. }
  258. })
  259. },
  260. dothis(){},
  261. orgfun() {
  262. const that = this;
  263. utils.$post({
  264. url: app.globalData.webUrl + 'client/designer/designer_org',
  265. header: {
  266. 'Authorization': 'bearer ' + app.globalData.token
  267. },
  268. data: {},
  269. success: function (res) {
  270. wx.hideLoading()
  271. if (res.data.code == "0") {
  272. that.setData({
  273. orgobj: res.data.data,
  274. orgarr: res.data.data
  275. })
  276. }
  277. }
  278. })
  279. },
  280. handleLevel(e) {
  281. let id = e.currentTarget.dataset.id;
  282. this.setDepartData(this.data.orgobj, id);
  283. },
  284. setDepartData(list, id, level) {
  285. list.forEach(item => {
  286. if (id == item.id) {
  287. if (!item.children || !item.children.length) {
  288. wx.showToast({
  289. title: '没有下级部门了',
  290. icon: 'none',
  291. duration: 1000
  292. })
  293. } else {
  294. if (level) {
  295. this.setData({
  296. orgarr: item.children,
  297. levelIds: this.data.levelIds,
  298. })
  299. } else {
  300. this.data.levelIds.push(id);
  301. this.setData({
  302. orgarr: item.children,
  303. levelIds: this.data.levelIds,
  304. })
  305. }
  306. }
  307. return;
  308. } else {
  309. if (item.children && item.children.length) {
  310. this.setDepartData(item.children, id, level);
  311. }
  312. }
  313. })
  314. },
  315. lastLevel() {
  316. if (this.data.levelIds.length == 2) {
  317. this.setData({
  318. orgarr: this.data.orgobj,
  319. levelIds: ['1'],
  320. })
  321. } else {
  322. this.data.levelIds.splice(this.data.levelIds.length - 1, 1);
  323. this.setDepartData(this.data.orgobj, this.data.levelIds[this.data.levelIds.length - 1], 'lastlevel');
  324. }
  325. },
  326. radioChange(e) {
  327. let data = e.detail.value.split('~');
  328. let obj = {
  329. name: data[1],
  330. id: data[0]
  331. };
  332. this.setData({
  333. noworg: obj
  334. })
  335. },
  336. showorgtap(){
  337. this.setData({
  338. orgshow:true
  339. })
  340. },
  341. closeMask() {
  342. this.setData({
  343. orgshow: false,
  344. levelIds: ['1'],
  345. noworg: {
  346. id: '',
  347. name: ''
  348. },
  349. orgarr:this.data.orgobj
  350. })
  351. },
  352. confirmDepart() {
  353. this.setData({
  354. orgName: this.data.noworg.name,
  355. orgId: this.data.noworg.id,
  356. orgshow: false,
  357. levelIds: ['1'],
  358. noworg: {
  359. id: '',
  360. name: ''
  361. },
  362. orgarr:this.data.orgobj
  363. });
  364. this.designlistfun();
  365. },
  366. apointap:function(e){
  367. const that=this;
  368. let item=this.data.designlist[e.currentTarget.dataset.idx];
  369. utils.$post({
  370. url: app.globalData.webUrl + 'client/designer/designer_make',
  371. header: {
  372. 'Authorization':'bearer '+app.globalData.token
  373. },
  374. data:{
  375. designer_id:item.designer_id,
  376. designer_name:item.name,
  377. share_uid:app.globalData.shareuserid
  378. },
  379. success: function (res) {
  380. if (res.data.code == "0"){
  381. wx.showToast({
  382. title: res.data.msg,
  383. icon: 'none',
  384. duration: 2000
  385. })
  386. }
  387. }
  388. })
  389. },
  390. getPhoneNumberTap:function(res){
  391. var that=this;
  392. console.log(res)
  393. if(res.detail.errMsg=='getPhoneNumber:ok'){
  394. utils.$post({
  395. url: app.globalData.webUrl + 'api/users/setUserMobile',
  396. data: {
  397. encryptedData:res.detail.encryptedData,
  398. iv:res.detail.iv
  399. },
  400. header: {
  401. 'Authorization':'bearer '+app.globalData.token
  402. },
  403. success: function (r) {
  404. if(r.data.code=='0'){
  405. // wx.showLoading({
  406. // title: '加载中',
  407. // })
  408. app.globalData.phone=true;
  409. that.setData({
  410. phoneFlag:false
  411. })
  412. that.apointap(res);
  413. }else{
  414. that.setData({
  415. errorText:r.data.msg,
  416. errorflag:true
  417. })
  418. }
  419. }
  420. })
  421. }
  422. },
  423. designertap:function(e){
  424. let item=this.data.designlist[e.currentTarget.dataset.idx];
  425. wx.navigateTo({
  426. url: '/share/pages/designermsg/designermsg?did='+item.id+"&type=3"
  427. })
  428. },
  429. /**
  430. * 生命周期函数--监听页面显示
  431. */
  432. onShow: function () {
  433. timer = setInterval(function () {
  434. time = time * 1 + 1;
  435. }, 1000)
  436. },
  437. prelooktap(){
  438. if(!app.globalData.sharepersonobj.qrcode){
  439. wx.showToast({
  440. title: "当前专属客服的二维码为空!",
  441. icon: 'none',
  442. duration: 2000
  443. })
  444. return false;
  445. }
  446. wx.previewImage({
  447. current: app.globalData.imgUrl+app.globalData.sharepersonobj.qrcode, // 当前显示图片的http链接
  448. urls: [app.globalData.imgUrl+app.globalData.sharepersonobj.qrcode]// 需要预览的图片http链接列表
  449. })
  450. },
  451. callphonetap:function(){
  452. wx.makePhoneCall({
  453. phoneNumber: app.globalData.sharepersonobj.phone
  454. })
  455. },
  456. golastap:function(){
  457. wx.reLaunch({
  458. url: '/pages/index/index?state=1',
  459. })
  460. },
  461. goindextap:function(){
  462. wx.reLaunch({
  463. url: '/pages/index/index?state=1',
  464. })
  465. },
  466. /**
  467. * 生命周期函数--监听页面隐藏
  468. */
  469. onHide: function () {
  470. if (timer) {
  471. clearInterval(timer)
  472. }
  473. this.setimetap();
  474. },
  475. setimetap(){
  476. const that = this;
  477. utils.$post({
  478. url: app.globalData.webUrl + 'client/index/visit_due_time',
  479. header: {
  480. 'Authorization': 'bearer ' + app.globalData.token
  481. },
  482. data: {
  483. id: that.data.companyobj.employee_id,
  484. pipe_type: 'toolAll',
  485. time: time,
  486. },
  487. success: function (res) {
  488. }
  489. })
  490. },
  491. /**
  492. * 生命周期函数--监听页面卸载
  493. */
  494. onUnload: function () {
  495. this.setimetap();
  496. },
  497. /**
  498. * 页面相关事件处理函数--监听用户下拉动作
  499. */
  500. onPullDownRefresh: function () {
  501. this.designlistfun();
  502. wx.stopPullDownRefresh();
  503. },
  504. /**
  505. * 页面上拉触底事件的处理函数
  506. */
  507. onReachBottom: function () {
  508. const that=this;
  509. page=page*1+1;
  510. utils.$post({
  511. url: app.globalData.webUrl + 'client/designer/index',
  512. header: {
  513. 'Authorization':'bearer '+app.globalData.token
  514. },
  515. data:{
  516. at: that.data.likestyle,
  517. house: that.data.likehouse,
  518. limit: 10,
  519. page: page,
  520. org_id:this.data.orgId
  521. },
  522. success: function (res) {
  523. if (res.data.code == "0"){
  524. let designlist=that.data.designlist;
  525. designlist=designlist.concat(res.data.data);
  526. that.setData({
  527. designlist:designlist
  528. })
  529. }
  530. }
  531. })
  532. },
  533. addsharetap: function (type) {
  534. let that = this;
  535. utils.$post({
  536. url: app.globalData.webUrl + 'api/share/addlog',
  537. header: {
  538. 'Authorization': 'bearer ' + app.globalData.token
  539. },
  540. data: {
  541. id: '0',
  542. type: type,
  543. },
  544. success: function (r) {}
  545. })
  546. },
  547. /**
  548. * 用户点击右上角分享
  549. */
  550. onShareAppMessage: function () {
  551. this.addsharetap('toolAll');
  552. return {
  553. title: "设计师列表",
  554. imageUrl: app.globalData.imgUrl+"xcx/designerlisticon.jpg",
  555. path: '/share/pages/designerlist/designerlist?uid='+app.globalData.shareuserid+'&ctp='+app.globalData.clientype
  556. }
  557. }
  558. })