123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- const _Http = getApp().globalData.http,
- {
- formatTime
- } = require("../../utils/getTime");
- let pageNumber = 1,
- pageTotal = 1,
- sys_payorderid = null,
- currency = require("../../utils/currency"),
- CNY = value => currency(value, {
- symbol: "¥",
- precision: 2
- }).format();
- Page({
- data: {
- users: [],
- remarks: "",
- showAmount: "¥0.00",
- isDelete: true,
- useDiscount: 0
- },
- onLoad(options) {
- this.setData({
- sys_payinstructions: wx.getStorageSync('siteP').sys_payinstructions,
- sys_payincidence: 1,
- opUsers: options.users ? JSON.parse(options.users) : []
- })
- sys_payorderid = options.sys_payorderid;
- this.getVersions(options.vid || "");
- this.getDiscounts();
- },
- /* 获取优惠卷 */
- getDiscounts() {
- _Http.basic({
- "id": 20230801162402,
- "content": {
- nocache: true
- }
- }).then(res => {
- console.log("获取优惠卷", res)
- this.setData({
- discounts: res.data
- })
- })
- },
- /* 保存订单进度 */
- changeOrder() {
- _Http.basic({
- "classname": "system.payorder.payorder",
- "method": "insertUsers",
- "content": {
- "sys_site_systempartitionid": this.data.sys_site_systempartitionid,
- sys_payorderid,
- "remarks": this.data.remarks,
- "users": this.data.users.map(v => {
- let item = this.data.userList.find(s => {
- let id = this.data.sys_payincidence == 1 ? s.userid : s.sa_agentsid;
- return id == v
- })
- return {
- "isleader": item.isleader,
- "userid": item.userid,
- "sa_agentsid": item.sa_agentsid,
- "enddate": item.enddate[this.data.sys_site_systempartitionid] || ''
- }
- })
- }
- }).then(res => {
- console.log("修改订单信息", res)
- if (res.msg != '成功') return wx.showToast({
- title: res.msg,
- icon: "none",
- mask: true
- });
- this.setData({
- showAmount: CNY(res.data.amount),
- orderno: res.data.orderno
- })
- })
- },
- /* 更改备注 */
- onblur(e) {
- console.log(e)
- if (e.detail.value == this.data.remarks) return;
- this.setData({
- remarks: e.detail.value
- });
- this.changeOrder();
- },
- /* 获取版本 */
- getVersions(vid) {
- _Http.basic({
- "classname": "system.payorder.payorder",
- "method": "chooseSystemPartition",
- "content": {
- "pageNumber": 1,
- "pageSize": 9999,
- "where": {
- "condition": ""
- }
- }
- }).then(res => {
- console.log("版本列表", res)
- if (res.msg != '成功') {
- wx.showToast({
- title: res.msg,
- icon: "none",
- mask: true
- })
- setTimeout(() => {
- wx.navigateBack();
- }, 1000)
- return;
- };
- let sys_site_systempartitionid = res.data[0].sys_site_systempartitionid || '';
- if (vid && res.data.some(v => v.sys_site_systempartitionid == vid)) sys_site_systempartitionid = vid - 0;
- this.setData({
- versionsList: res.data,
- sys_site_systempartitionid
- })
- this.getUsers(true);
- })
- },
- /* 切换版本 */
- changeVer(e) {
- const {
- sys_site_systempartitionid
- } = e.currentTarget.dataset.item;
- if (this.data.sys_site_systempartitionid == sys_site_systempartitionid) return;
- this.setData({
- sys_site_systempartitionid
- });
- this.setUsers();
- },
- checkVer(e) {
- const {
- item
- } = e.currentTarget.dataset;
- this.selectComponent("#inventory").show(item.systemapp)
- },
- /* 获取可添加账号/主体 */
- getUsers(init = false) {
- if (init) {
- pageNumber = 1;
- pageTotal = 1;
- };
- if (pageNumber > pageTotal) return;
- _Http.basic({
- "classname": "system.payorder.payorder",
- "method": "chooseUsers",
- "content": {
- pageNumber,
- "pageSize": 99999,
- "where": {
- "condition": ""
- }
- }
- }).then(res => {
- console.log("用户列表", res)
- if (res.msg != '成功') {
- wx.showToast({
- title: res.msg,
- icon: "none",
- mask: true
- })
- setTimeout(() => {
- wx.navigateBack();
- }, 1000)
- return;
- };
- pageTotal = res.pageTotal;
- this.setData({
- userList: res.pageNumber == 1 ? res.data : this.data.userList.concat(res.data)
- })
- pageNumber = res.pageNumber + 1;
- this.setUsers(this.data.opUsers.filter(id => this.data.userList.some(v => id == v.userid)));
- // this.changeOrder();
- })
- },
- setUsers(users = []) {
- let list = this.data.userList,
- idname = this.data.sys_payincidence == 1 ? 'userid' : 'sa_agentsid'
- list.forEach(v => {
- let date = v.enddate[this.data.sys_site_systempartitionid];
- if (v.userid == wx.getStorageSync('userMsg').userid || v.isleader == 1) {
- if (date) {
- // if (formatTime(new Date(), '-').split(" ")[0] >= date) users.push(v[idname] + '');
- } else {
- if (!users.some(v => v == v[idname])) users.push(v[idname] + '');
- if (v.isleader == 0) this.setData({
- useDiscount: this.data.useDiscount += 1
- })
- }
- }
- });
- this.setData({
- users
- });
- this.changeOrder();
- },
- onReachBottom() {
- // this.getUsers();
- },
- onChange(e) {
- const {
- id,
- isleader
- } = e.currentTarget.dataset;
- let users = this.data.users,
- useDiscount = this.data.useDiscount;
- if (users.some(v => v == id)) {
- users = users.filter(s => s != id)
- if (isleader == 0) useDiscount -= 1;
- } else {
- users.push(id + "")
- if (isleader == 0) useDiscount += 1;
- }
- this.setData({
- users,
- useDiscount
- });
- this.changeOrder();
- },
- examine() {
- return new Promise((resolve, reject) => {
- if (currency(this.data.showAmount).value == 0) {
- wx.showModal({
- title: '提示',
- content: '优惠后金额为0,是否确认',
- complete: (res) => {
- if (res.cancel) resolve(false)
- if (res.confirm) resolve(true)
- }
- })
- } else {
- resolve(true)
- }
- })
- },
- isRenew() {
- return new Promise((resolve, reject) => {
- const idname = this.data.sys_payincidence == 1 ? 'userid' : 'sa_agentsid',
- renew = this.data.users.map(v => this.data.userList.find(s => s[idname] == v)).filter(v => v.enddate[this.data.sys_site_systempartitionid]).map(v => v[this.data.sys_payincidence == 1 ? 'name' : 'agentname']).join(',');
- if (renew) {
- wx.showModal({
- title: '提示',
- content: `${renew}付费还未到期,是否继续付费`,
- confirmText: "继续付费",
- complete: (res) => {
- if (res.cancel) resolve(false)
- if (res.confirm) resolve(true)
- }
- })
- } else {
- resolve(true)
- }
- })
- },
- /* 支付 */
- async payment() {
- let isRenew = await this.isRenew();
- if (!isRenew) return;
- let isPayment = await this.examine();
- if (!isPayment) return;
- let that = this;
- that.data.isDelete = false;
- wx.login({
- success: (s) => {
- _Http.basic({
- "classname": "system.payment.wechatpay",
- "method": "createWechatOrder",
- "content": {
- "orderno": that.data.orderno,
- "wechat_code": s.code,
- "trade_type": "JSAPI"
- }
- }).then(res => {
- wx.requestPayment({
- timeStamp: res.data.timeStamp,
- nonceStr: res.data.nonceStr,
- package: res.data.package,
- signType: res.data.signType,
- paySign: res.data.paySign,
- success() {
- wx.showToast({
- title: '支付成功',
- mask: true
- })
- },
- fail(err) {
- if (res.msg == '成功' && currency(that.data.showAmount).value == 0) {
- wx.showToast({
- title: '支付成功',
- mask: true
- })
- } else {
- wx.showToast({
- title: '支付失败',
- icon: "error",
- mask: true
- })
- console.error(err)
- }
- },
- complete(e) {
- console.log(e)
- setTimeout(() => {
- wx.redirectTo({
- url: '/pages/teams/order?id=' + sys_payorderid,
- })
- }, 1000)
- }
- })
- })
- },
- })
- },
- onUnload() {
- if (this.data.isDelete) _Http.basic({
- "classname": "system.payorder.payorder",
- "method": "delete",
- "content": {
- sys_payorderid
- }
- }).then(res => {
- console.log("删除订单", res)
- })
- }
- })
|