// pages/AIAide/index.js const $$ = require('../../utils/util'); const app = getApp(); function getawApi(submitData) { return $$.request({ url: 'case-law/get-law', type: 'post', ai: true, submitData, service: 'mediate', }); } // 获取案例 function getCaseApi(submitData) { return $$.request({ url: 'case-law/get-case', type: 'post', ai: true, submitData, service: 'mediate', }); } // 提交评价 function submitEvaluationApi(submitData) { return $$.request({ url: '/api/wechat/caseAdviceEvaluate/save', type: 'post', submitData, service: 'mediate', }); } Page({ /** * 页面的初始数据 */ data: { imgUrl: $$.url.img, AIData: [], //法条 caseData: [], //案例 showEvaluation: false, // 是否显示评价弹窗 evaluation: { similarity: 0, helpfulness: 0, satisfaction: 0, inspiration: 0, comments: '' } }, async getaw(data) { let newData = { caseDes: data.caseDes, caseClaim: data.caseClaim, caseId: data.caseId, } $$.showLoading(); const res = await getawApi(newData); $$.hideLoading(); if (res.type) { let nowData = res.data || [] this.setData({ AIData: nowData.map(i => ({ ...i, show: false })) }) } }, // 案例 async getCase(data) { let newData = { caseDes: data.caseDes, caseClaim: data.caseClaim, caseId: data.caseId, } $$.showLoading(); const res = await getCaseApi(newData); $$.hideLoading(); if (res.type) { this.setData({ caseData: res.data || [] }) } }, // 打开折叠法条 lawClick(e) { let item = e.currentTarget.dataset.item; let index = e.currentTarget.dataset.index; this.setData({ AIData: this.data.AIData.map((i, idx) => ({ ...i, show: idx === index ? i.show ? false : true : false, })) }) }, // 跳转案例详情 caseClick(e) { let url = e.currentTarget.dataset.url; let caseId = e.currentTarget.dataset.caseid; let caseType = e.currentTarget.dataset.casetype; let caseName = e.currentTarget.dataset.casename; wx.navigateTo({ url: url + '?caseId=' + caseId + '&type=' + caseType + '&caseName=' + caseName, }); }, // 显示评价弹窗 showEvaluationPopup() { this.setData({ showEvaluation: true, evaluation: { similarity: 0, helpfulness: 0, satisfaction: 0, inspiration: 0, comments: '' } }); }, // 关闭评价弹窗 closeEvaluationPopup() { this.setData({ showEvaluation: false }); }, // 设置评分 setRating(e) { const type = e.currentTarget.dataset.type; const value = e.currentTarget.dataset.value; this.setData({ [`evaluation.${type}`]: value }); }, // 设置评价意见 setComments(e) { this.setData({ 'evaluation.comments': e.detail.value }); }, // 提交评价 async submitEvaluation() { const { similarity, helpfulness, satisfaction, inspiration } = this.data.evaluation; // 验证评分是否都已填写 if (!similarity || !helpfulness || !satisfaction || !inspiration) { $$.showToast('请完成所有评分项'); return; } // 准备提交数据 const submitData = { ...this.data.evaluation, caseId: this.caseId || '', createBy: app.globalData.userInfo?.id || '', createTime: new Date() }; $$.showLoading('提交中...'); try { const res = await submitEvaluationApi(submitData); $$.hideLoading(); if (res.type) { // 先关闭评价弹窗 $$.showToast('评价提交成功'); this.closeEvaluationPopup(); } else { $$.showToast(res.message || '提交失败,请重试'); } } catch (error) { $$.hideLoading(); $$.showToast('提交失败,请重试'); console.error('评价提交错误:', error); } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { console.log('options', options); let { caseDes, caseClaim, caseId, } = options; this.caseId = caseId; this.getaw({ caseDes, caseClaim, caseId, }) this.getCase({ caseDes, caseClaim, caseId, }) }, })