designerlist.js 15 KB

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