feat: 新增AI客服/积分管理/合同审查/我的报告页面,完善.sign.vue入口与积分显示

This commit is contained in:
2026-10-16 21:09:21 +08:00
parent 8a1da677e4
commit ae97c5d2be
476 changed files with 35618 additions and 540 deletions
@@ -0,0 +1,69 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/qyb/list/kh/buy 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid, qybId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const qyb = await vk.baseDao.findById({
dbName: 'jjx-qyb',
id: qybId
});
let amount = qyb.amount
let offAmount = amount
let saveAmount = 0, offRate = 100
if (userInfo.userLevel > 0) {
const userLevel = await vk.baseDao.findByWhereJson({
dbName: "jjx-user-level",
whereJson: {
level: userInfo.userLevel
}
})
if (userLevel) {
offRate = parseInt(userLevel.valueAddRate)
offAmount = (amount * (parseInt(userLevel.valueAddRate) / 100)).toFixed(2)
saveAmount = (amount - offAmount).toFixed(2)
}
}
const orderId = await vk.baseDao.add({
dbName: "jjx-order",
dataJson: {
orderNo: vk.pubfn.createOrderNo("39XU", 20),
uid,
orderStatus: 0,
type: 13,
amount,
offAmount,
saveAmount,
offRate,
}
})
await vk.baseDao.add({
dbName: "jjx-order-goods",
dataJson: {
orderId,
goodsId: qybId,
num: 1,
goodsName: `金久信签约宝:${qyb.name}`,
goodsPrice: amount,
goodsCover: null,
}
})
res.data = orderId
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,56 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/qyb/list/kh/buy 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid, qybId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const {pageIndex, pageSize} = data
res = await vk.baseDao.selects({
dbName: 'jjx-sign-pay_list',
pageIndex,
pageSize,
whereJson: {
userId: uid
},
sortArr: [{"name": "_add_time", "type": "desc"}],
foreignDB: [
{
dbName: 'jjx-contract',
localKey: "contractId", // 主表外键字段名
foreignKey: "_id", // 副表外键字段名
as: "contract",
limit: 1, // 当limit = 1时,以对象形式返回,否则以数组形式返回
},
{
dbName: 'jjx-user-contract',
localKey: "contractId", // 主表外键字段名
foreignKey: "contractId", // 副表外键字段名
as: "userContract"
}
],
});
res.rows.map(item => {
if (item.userContract) {
let mineContract = null
item.userContract.map(c => {
c.isMine = c.userId === uid
if (c.isMine) mineContract = c
return c
})
item.mineContract = mineContract
}
return item
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/article/list/pub/getList 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const {pageIndex, pageSize} = data
res = await vk.baseDao.select({
dbName: 'jjx-qyb',
pageIndex,
pageSize,
sortArr: [
{name: "sort", type: "asc"}
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}