|
|
- // pages/rentManagement/rentManagement.js
- const app = getApp()
- const WXAPI = require('../../utils/request')
- var util = require('../../utils/util');
- const moment = require('../../utils/moment')
- function getChild(nodes, item, arr) {
- for (let el of nodes) {
- if (el.id === item) {
- arr.push(el.id);
- if (el.children) {
- childNodesDeep(el.children, arr);
- }
- } else if (el.children) {
- getChild(el.children, item, arr);
- }
- }
- return arr;
- }
- function childNodesDeep(nodes, arr) {
- if (nodes)
- nodes.forEach((ele) => {
- arr.push(ele.id);
- if (ele.children) {
- childNodesDeep(ele.children, arr);
- }
- });
- }
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- showOne:false,
- list:[],
- pageNum:1,
- pageStatus:true,
- searchValue:'',
- search:{
- name:''
- },
- show:false,
- radio:'2',
- leases:{},
- selectKey:'',
- selectRoomName:'',
- pid:''
- },
-
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.getLeasesList()
- this.getTree()
- },
- confirmMethods(event) {
- this.confimPay()
- },
- selectRoomMethods(){
- this.setData({
- showOne:true
- })
- },
- // 清空选择的房源
- clearSelect(){
- this.setData({
- pid:'',
- selectKey:'',
- selectRoomName:''
- })
- },
- onClose() {
- this.setData({ show: false });
- },
- onCloseOne() {
- this.setData({ showOne: false });
- },
- getTree() {
- var _this = this
- WXAPI.getTree('').then(res => {
- var list=res.data.sort((pre, cur)=>pre.id - cur.id)
- var newArr = util.uniqueArray(list, "id");
- var setting = {
- data: {
- simpleData: {
- idKey: 'id',
- pIdKey: 'pid'
- },
- key: {
- children: 'children'
- }
- }
- }
- var dataList = this.transformTozTreeFormat(setting, newArr)
- this.setData({
- dataList: dataList
- })
- })
- },
- transformTozTreeFormat(setting, sNodes) {
- var i, l,
- key = setting.data.simpleData.idKey,
- parentKey = setting.data.simpleData.pIdKey,
- childKey = setting.data.key.children
- if (!key || key == "" || !sNodes) return [];
- var r = [];
- var tmpMap = [];
- for (i = 0, l = sNodes.length; i < l; i++) {
- tmpMap[sNodes[i][key]] = sNodes[i];
- }
- for (i = 0, l = sNodes.length; i < l; i++) {
- if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
- if (!tmpMap[sNodes[i][parentKey]][childKey])
- tmpMap[sNodes[i][parentKey]][childKey] = [];
- tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
- } else {
- r.push(sNodes[i]);
- }
- }
- return r;
- },
- handleSelect(e) {
- wx.showToast({
- title: `已选择${e.detail.item.name}`,
- icon: 'none',
- duration: 1000
- })
- let item = getChild(this.data.dataList,e.detail.item.id,[])
- this.setData({
- selectKey: item,
- selectRoomName: e.detail.item.name,
- pid:e.detail.item.id,
- showOne: false
- })
- this.getLeasesList()
- },
- validObject(obj) {
- let objectData = new Object()
- for (let i in obj) {
- if (obj[i] != '' && obj[i]) {
- objectData[i] = obj[i]
- }
- }
- return objectData;
- },
- // 获取对应租约
- getLeasesList(){
- let siteIds = this.data.selectKey
- let QData = {}
- if(this.data.selectKey){
- QData = this.validObject({
- name:this.data.search.name,
- siteIds:JSON.stringify(siteIds)
- })
- }else{
- QData = this.validObject({
- name:this.data.search.name
- })
- }
-
- let data={
- orderBy: "create_time desc",
- pageNum: this.data.pageNum,
- pageSize: 10,
- q:JSON.stringify(QData)
- }
- WXAPI.getLeasesList(data).then(res=>{
- if(res.success){
- if(res.data.list.length<10){
- this.setData({
- pageStatus:false
- })
- }else{
- this.setData({
- pageStatus:true
- })
- }
- res.data.list.map(li=>{
- li.signingTime = moment(li.signingTime).format('YYYY-MM-DD')
- li.contractTime = moment(li.contractTime).format('YYYY-MM-DD')
- li.expand = JSON.parse(li.expand)
- })
- let list = []
- if(this.data.pageNum === 1){
- list = res.data.list
- }else{
- list = this.data.list.concat(res.data.list)
- }
- wx.showToast({
- title: `已为您搜索到${res.data.total}条记录`,
- duration:2000,
- icon:'none'
- })
- this.setData({
- list
- })
- }else{
- wx.showToast({
- title: '获取合约失败',
- mask:true,
- duration:'2000',
- icon:'none'
- })
- }
- })
- },
- onChange(event) {
- let search={
- name:event.detail
- }
- this.setData({
- search: search
- })
- },
- onClick(e) {
- this.setData({
- pageNum:1
- })
- this.getLeasesList()
- },
- onChangeRadio(event){
- this.setData({
- radio: event.detail,
- });
- },
- rentMethods(e){
- let leases = e.currentTarget.dataset.item
- // wx.setStorageSync('leases', leases)
- // wx.navigateTo({
- // url: '/pages/paymentInterface/paymentInterface?type=1',
- // data:{
-
- // }
- // })
- this.setData({
- show:true,
- leases
- })
- },
- confimPay(){
- let leases =this.data.leases
- let userInfo = wx.getStorageSync('userInfo')
- var data = {
- description: "交租",
- productName: "交租",
- total: parseInt(leases.monthRent)*100,//parseInt(this.data.leases.expand.rent)*100,
- userId: leases.cardId,
- cardId:leases.cardId,
- openid:wx.getStorageSync('openid'),
- appid:'wx20de9fe5943934a1',
- uid:userInfo.id,
- eid:userInfo.enterpriseId,
- orderType:1,
- payType:this.data.radio,
- expand:JSON.stringify({
- phone:leases.phone,
- nickname:leases.name
- })
- }
- WXAPI.miniPrepayOrder(data).then(res=>{
- // if(this.data.radio == '0'){
- // wx.requestPayment({
- // timeStamp: res.data.data.timeStamp,
- // appid: res.data.data.appId,
- // nonceStr: res.data.data.nonceStr,
- // package: res.data.data.package,
- // signType: res.data.data.signType,
- // totalFee: parseInt(leases.monthRent)*100,
- // paySign: res.data.data.paySign,
- // success (res1) {
- // wx.showToast({
- // title: "支付成功",
- // duration: 2000,
- // icon: 'success'
- // })
- // let dataOne={
- // code: "wx/updatePrepayStatus",
- // signature:wx.getStorageSync('signature'),
- // data: {
- // orderNo: res.data.data.orderNo,
- // status:0
- // }
- // }
- // WXAPI.sendCommandOne(dataOne).then(res2=>{
-
- // })
- // },
- // fail (res1) {
- // wx.showToast({
- // title: "支付失败",
- // duration: 2000,
- // icon: 'none'
- // })
- // let dataOne={}
- // if(res1.errMsg == 'requestPayment:fail cancel'){
- // dataOne={
- // code: "wx/updatePrepayStatus",
- // signature:wx.getStorageSync('signature'),
- // data: {
- // orderNo: res.data.data.orderNo,
- // status:8
- // }
- // }
- // }else{
- // dataOne={
- // code: "wx/updatePrepayStatus",
- // signature:wx.getStorageSync('signature'),
- // data: {
- // orderNo: res.data.data.orderNo,
- // status:6
- // }
- // }
- // }
- // WXAPI.sendCommandOne(dataOne).then(res2=>{
-
- // })
- // }
- // })
- // }else{
- let dataOne={
- code: "wx/updatePrepayStatus",
- data: {
- orderNo: res.data.data.orderNo,
- status:0
- }
- }
- WXAPI.sendCommand(dataOne).then(res2=>{
- if(res2.success){
- wx.showToast({
- title: "支付成功",
- duration: 2000,
- icon: 'success'
- })
- }else{
- wx.showToast({
- title: res2.message,
- duration: 2000,
- icon: 'error'
- })
- }
- })
- // }
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
-
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
-
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- if(this.data.pageStatus){
- let page = this.data.pageNum+1
- this.setData({
- pageNum:page
- })
- this.getLeasesList()
- }
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
-
- }
- })
|