designerlist.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  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. isAgree: false,
  26. orgarr: [],
  27. orgobj: {},
  28. noworg: {
  29. id: '',
  30. name: ''
  31. },
  32. orgName:'',
  33. orgId:'',
  34. orgshow: false,
  35. levelIds: ['1'],
  36. },
  37. /**
  38. * 生命周期函数--监听页面加载
  39. */
  40. onLoad: function (options) {
  41. time = 0;
  42. this.setData({
  43. top:app.globalData.statusBarHeight,
  44. hgt:app.globalData.titleBarHeight,
  45. })
  46. if (wx.getUserProfile) {
  47. this.setData({
  48. canIUseGetUserProfile: true
  49. })
  50. }
  51. if(!!options.scene){
  52. options=unescape(options.scene);
  53. let arr=options.split('&');
  54. let obj={};
  55. for(let i=0;i<arr.length;i++){
  56. let arr1=arr[i].split('=');
  57. obj[arr1[0]]=arr1[1];
  58. }
  59. app.globalData.shareuserid=obj.uid;
  60. app.globalData.clientype=obj.ctp;
  61. }else{
  62. app.globalData.clientype=options.ctp;
  63. app.globalData.shareuserid=options.uid;
  64. }
  65. },
  66. //用户同意隐私协议
  67. agreePrivacy() {
  68. this.setData({
  69. isAgree: true
  70. })
  71. wx.showLoading({
  72. title: '加载中...',
  73. })
  74. this.login();
  75. },
  76. /**
  77. * 生命周期函数--监听页面初次渲染完成
  78. */
  79. onReady: function () {
  80. },
  81. sharecompany:function (){
  82. const that=this;
  83. utils.$post({
  84. url: app.globalData.webUrl + 'client/index/content_belong_company',
  85. header: {
  86. 'Authorization':'bearer '+app.globalData.token
  87. },
  88. data:{
  89. client_type:app.globalData.clientype,
  90. uid: app.globalData.shareuserid
  91. },
  92. success: function (res) {
  93. if(res.data.code=='0'){
  94. app.globalData.companyobj=res.data.data;
  95. that.setData({
  96. companyobj:res.data.data
  97. })
  98. }
  99. },
  100. complete(res) {
  101. wx.hideLoading()
  102. }
  103. })
  104. },
  105. login:function(){
  106. var that=this;
  107. wx.login({
  108. success: function (data) {
  109. if (data.errMsg == 'login:ok') {
  110. utils.$post({
  111. url: app.globalData.webUrl + 'api/users/code2session',
  112. data: {
  113. code:data.code,
  114. share: app.globalData.shareuserid,
  115. client_type:app.globalData.clientype
  116. },
  117. success: function (r) {
  118. if (r.data.code == '0') {
  119. app.globalData.sharepersonobj = r.data.share;
  120. app.globalData.token = r.data.token;
  121. that.setData({
  122. shareobj:app.globalData.sharepersonobj,
  123. })
  124. that.sharecompany();
  125. util.toolfun(2);
  126. app.globalData.companyname=r.data.company;
  127. app.globalData.official_openid = r.data.official_openid;
  128. app.globalData.agentEmployeEid = r.data.agent_employee_id;
  129. app.globalData.personMsg = r.data.user;
  130. if (!!r.data.user.phone) {
  131. that.setData({
  132. loginFlag: false,
  133. phoneFlag:false,
  134. employeeflag:(!!r.data.user.binded&&r.data.user.binded.state=='在职')?true:false
  135. })
  136. if (!!r.data.user.binded && r.data.user.binded.state == '在职'){
  137. app.globalData.currentUserId = r.data.user.binded.id;
  138. }
  139. app.globalData.userflag = false; //有个人信息
  140. app.globalData.phone = true;
  141. that.houseinfofun();
  142. } else {
  143. that.houseinfofun();
  144. that.setData({
  145. loginFlag: false,
  146. phoneFlag: true
  147. })
  148. }
  149. setTimeout(function () {
  150. wx.hideLoading()
  151. }, 500)
  152. }
  153. }
  154. })
  155. }
  156. }
  157. })
  158. },
  159. showstyletap(){
  160. this.setData({
  161. sourceflag:true
  162. })
  163. },
  164. housetap(){
  165. this.setData({
  166. houseflag:true
  167. })
  168. },
  169. setsourcetap(e){
  170. if(!e.detail){
  171. this.setData({
  172. sourceflag:false
  173. })
  174. return false;
  175. }
  176. this.setData({
  177. likestyle:e.detail,
  178. sourceflag:false
  179. })
  180. this.designlistfun();
  181. },
  182. sethousetap(e){
  183. if(!e.detail){
  184. this.setData({
  185. houseflag:false
  186. })
  187. return false;
  188. }
  189. this.setData({
  190. likehouse:e.detail,
  191. houseflag:false
  192. })
  193. this.designlistfun();
  194. },
  195. setinitap(){
  196. this.setData({
  197. likehouse:'',
  198. likestyle:'',
  199. orgName:'',
  200. orgId:'',
  201. })
  202. this.designlistfun();
  203. },
  204. houseinfofun(){
  205. this.designlistfun();
  206. this.orgfun();
  207. const that=this;
  208. utils.$post({
  209. url: app.globalData.webUrl + 'api/designer/select',
  210. header: {
  211. 'Authorization':'bearer '+app.globalData.token
  212. },
  213. data:{},
  214. success: function (res) {
  215. let stylearr=[],housearr=[];
  216. if (res.data.code == "0"){
  217. for(let i in res.data.data.decostyles){
  218. stylearr.push(res.data.data.decostyles[i].name);
  219. }
  220. for(let i in res.data.data.housetype){
  221. housearr.push(res.data.data.housetype[i].name);
  222. }
  223. that.setData({
  224. stylearr:stylearr,
  225. housearr:housearr
  226. })
  227. }
  228. }
  229. })
  230. },
  231. designlistfun(){
  232. const that=this;
  233. page=1;
  234. wx.showLoading({
  235. title: '加载中...',
  236. })
  237. utils.$post({
  238. url: app.globalData.webUrl + 'client/designer/index',
  239. header: {
  240. 'Authorization':'bearer '+app.globalData.token
  241. },
  242. data:{
  243. at: that.data.likestyle,
  244. house: that.data.likehouse,
  245. limit: 10,
  246. page: 1,
  247. org_id:this.data.orgId
  248. },
  249. success: function (res) {
  250. wx.hideLoading();
  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.navigateBack({
  458. delta: 1,
  459. success:function(r){
  460. },
  461. fail:function(r){
  462. wx.reLaunch({
  463. url: '/pages/index/index?state=1',
  464. })
  465. },
  466. })
  467. },
  468. goindextap:function(){
  469. if(!this.data.employeeflag){
  470. wx.reLaunch({
  471. url: '/pages/index/index?state=1',
  472. })
  473. }else{
  474. wx.reLaunch({
  475. url: '/pages/consoledesk/consoledesk',
  476. })
  477. }
  478. },
  479. /**
  480. * 生命周期函数--监听页面隐藏
  481. */
  482. onHide: function () {
  483. if (timer) {
  484. clearInterval(timer)
  485. }
  486. this.setimetap();
  487. },
  488. setimetap(){
  489. if (!this.data.isAgree) {
  490. return false;
  491. }
  492. const that = this;
  493. utils.$post({
  494. url: app.globalData.webUrl + 'client/index/visit_due_time',
  495. header: {
  496. 'Authorization': 'bearer ' + app.globalData.token
  497. },
  498. data: {
  499. id: that.data.companyobj.employee_id,
  500. pipe_type: 'toolAll',
  501. time: time,
  502. },
  503. success: function (res) {
  504. }
  505. })
  506. },
  507. /**
  508. * 生命周期函数--监听页面卸载
  509. */
  510. onUnload: function () {
  511. this.setimetap();
  512. },
  513. /**
  514. * 页面相关事件处理函数--监听用户下拉动作
  515. */
  516. onPullDownRefresh: function () {
  517. this.designlistfun();
  518. wx.stopPullDownRefresh();
  519. },
  520. /**
  521. * 页面上拉触底事件的处理函数
  522. */
  523. onReachBottom: function () {
  524. const that=this;
  525. page=page*1+1;
  526. wx.showLoading({
  527. title: '加载中...',
  528. })
  529. utils.$post({
  530. url: app.globalData.webUrl + 'client/designer/index',
  531. header: {
  532. 'Authorization':'bearer '+app.globalData.token
  533. },
  534. data:{
  535. at: that.data.likestyle,
  536. house: that.data.likehouse,
  537. limit: 10,
  538. page: page,
  539. org_id:this.data.orgId
  540. },
  541. success: function (res) {
  542. wx.hideLoading();
  543. if (res.data.code == "0"){
  544. let designlist=that.data.designlist;
  545. designlist=designlist.concat(res.data.data);
  546. that.setData({
  547. designlist:designlist
  548. })
  549. }
  550. }
  551. })
  552. },
  553. addsharetap: function (type) {
  554. let that = this;
  555. utils.$post({
  556. url: app.globalData.webUrl + 'api/share/addlog',
  557. header: {
  558. 'Authorization': 'bearer ' + app.globalData.token
  559. },
  560. data: {
  561. id: '0',
  562. type: type,
  563. },
  564. success: function (r) {}
  565. })
  566. },
  567. /**
  568. * 用户点击右上角分享
  569. */
  570. onShareAppMessage: function () {
  571. this.addsharetap('toolAll');
  572. return {
  573. title: "设计师列表",
  574. imageUrl: app.globalData.imgUrl+"xcx/designerlisticon.jpg",
  575. path: '/share/pages/designerlist/designerlist?uid='+app.globalData.shareuserid+'&ctp='+app.globalData.clientype
  576. }
  577. }
  578. })