From e7d382efc71d1a738a6a7c52d0978d6fdb077a8a Mon Sep 17 00:00:00 2001 From: liuwh <964324856@qq.com> Date: Sat, 14 Sep 2024 17:34:02 +0800 Subject: [PATCH] 提交 --- gz-wxparty/pages/register/index.js | 331 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 300 insertions(+), 31 deletions(-) diff --git a/gz-wxparty/pages/register/index.js b/gz-wxparty/pages/register/index.js index b290991..442d166 100644 --- a/gz-wxparty/pages/register/index.js +++ b/gz-wxparty/pages/register/index.js @@ -12,6 +12,46 @@ }); } +// 附件上传的id +function getByIdApi(param) { + return $$.request({ + url: 'caseUtils/getNewTimeCaseId', + type: 'get', + submitData: param || {}, + service: 'utils' + }); +} + +// 删除附件 +function delfileApi(id) { + return $$.request({ + url: 'fileInfo/deleteFileById?id=' + id, + type: 'get', + service: 'sys', + }); +} + +function getawApi(submitData) { + return $$.request({ + url: 'case-law/get-clain-rise-case', + 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 caseRegisterSaveApi(submitData) { return $$.request({ url: 'caseInfo/caseRegister', @@ -30,6 +70,7 @@ select: {}, // 下拉框数据 goToMaterialSave: false, // 避免跳转到材料上传页面重复保存草稿 agreementMsg: '', // 服务协议 + ownerId: '', //附件上传id data: { stepText: 5, //用户须知倒计时5秒 timer: null, // 用于存储定时器的引用 @@ -71,9 +112,8 @@ amount: '', caseDes: '', caseClaim: '', - plaintiffList: [], - defendantList: [], }, // 表单数据 + fileList: [], //表单附件 addPersonData: {}, //添加的当事人 materialNum: 0, // 纠纷材料总数量 userInfoVisible: false, // 是否采用个人信息更新申请人信息 @@ -283,15 +323,28 @@ this.setData({ popupVisible: false }); + if (this.data.oneList?.length === 0) { + this.setData({ + addMePlaintiff: true + }) + } }, // 下一步 or 上一步 handleNext(e) { let type = e.currentTarget.dataset.type; if (type === 'next' && this.data.stepsActive === 0) { - this.setData({ - stepsActive: 1 - }); + if (this.data.oneList?.length <= 0) { + $$.showToast({ + title: '请至少添加一名当事人', + duration: 500 + }); + } else { + this.setData({ + stepsActive: 1 + }); + this.getById(); + } return; } if (type === 'back' && this.data.stepsActive === 1) { @@ -301,12 +354,58 @@ return; } if (type === 'next' && this.data.stepsActive === 1) { + let newData = this.data.submitData; + + console.log('this.data.submitData', this.data.submitData); + if (!newData.caseType) { + $$.showToast({ + title: '请选择纠纷类型', + duration: 500 + }); + return; + } + if (!newData.occurTime) { + $$.showToast({ + title: '请选择纠纷发生时间', + duration: 500 + }); + return; + } + if (!newData.addr) { + $$.showToast({ + title: '请选择纠纷发生地', + duration: 500 + }); + return; + } + if (!newData.caseDes) { + $$.showToast({ + title: '请填写事项概况', + duration: 500 + }); + return; + } + if (!newData.caseClaim) { + $$.showToast({ + title: '请填写事项申请', + duration: 500 + }); + return; + } + // if (!this.data.fileList?.length <= 0) { + // // 附件上传提示 + // this.setData({ + // showFileTip: true + // }) + // return; + // } + // 提交AI接口 + this.getaw(newData); this.setData({ stepsActive: 2 }); return; } - if (type === 'back' && this.data.stepsActive === 2) { this.setData({ stepsActive: 1 @@ -324,8 +423,35 @@ this.caseRegisterSave({ ...data, personList, - agentList + agentList, + id: this.data.ownerId, }); + } + }, + + async getaw(data) { + let newData = { + caseDes: data.caseDes, + caseClaim: data.caseClaim, + caseId: this.data.ownerId, + } + const res = await getawApi(newData); + if (res.type) { + console.log('res.data', res.data); + this.setData({ + AIData: res.data || {} + }) + } + }, + + async getById() { + $$.showLoading(); + const res = await getByIdApi(); + $$.hideLoading(); + if (res.type) { + this.setData({ + ownerId: res.data || '' + }) } }, @@ -334,15 +460,82 @@ const res = await caseRegisterSaveApi(params); $$.hideLoading(); if (res.type) { - Toast('提交成功'); + // Toast('提交成功'); + this.setData({ + saveStatus: true + }) + } + const res1 = await getCaseApi({ + caseDes: params.caseDes, + caseClaim: params.caseClaim, + caseId: params.id, + }); + if (res1.type) { + wx.setStorage({ + key: 'AICase', + data: { + caseDes: params.caseDes, + caseClaim: params.caseClaim, + caseId: params.id, + } + }); } }, //选择纠纷类型 、跳转事项概况语音描述,跳转事项申请语音描述 caseTypeGoPage(e) { let url = e.currentTarget.dataset.url; + let type = e.currentTarget.dataset.type; + let value = e.currentTarget.dataset.value; wx.navigateTo({ - url: url, + url: url + '?type=' + type + '&value=' + value, + }); + }, + + // 图片识别 + ocrClick(e) { + let key = e.currentTarget.dataset.key; + let keyNum = e.currentTarget.dataset.keynum; + let that = this; + wx.chooseMedia({ + count: 1, + mediaType: ['image'], + success(res2) { + const tempFiles = res2.tempFiles[0]; + $$.showLoading(); + wx.uploadFile({ + url: `${$$.baseUrl}${$$.url.sys}/api/wechat/fileInfo/recognitionText`, + filePath: tempFiles.tempFilePath, + name: 'file', + header: { + Authorization: app.globalData.token + }, + complete(res3) { + $$.hideLoading(); + if (res3.errMsg === 'uploadFile:ok') { + let { + code, + data + } = JSON.parse(res3.data); + if (code == -1) { + $$.errorModal({ + content: '识别失败' + }); + return; + } + let wordsResult = data?.ocrResult?.wordsResult.join(''); + let wordsResultNum = data?.ocrResult?.wordsResultNum; + that.setData({ + submitData: { + ...that.data.submitData, + [key]: that.data.submitData[key] + wordsResult + }, + [keyNum]: (that.data.submitData[keyNum] + wordsResult).length + }); + } + }, + }); + }, }); }, @@ -384,21 +577,98 @@ }) }, - // 获取省市区等地理资源 - async getLocationData() { - $$.showLoading(); - const res = await $$.commonRequest({ - url: `${$$.url.assets}locationSelect.json`, - type: 'get' + // 上传文件图片 + async handleUploadFile(e) { + let id = e.currentTarget.dataset.id; + let type = e.currentTarget.dataset.type; + let that = this; + this.filesArr = []; + wx.chooseMedia({ + mediaType: ['image'], + success(res2) { + const tempFiles = res2.tempFiles; + // 多个文件逐一上传 + tempFiles.forEach((x, t) => { + $$.showLoading('上传中...'); + wx.uploadFile({ + url: `${$$.baseUrl}${$$.url.sys}/api/wechat/fileInfo/upload?mainId=${id}&ownerId=${id}&ownerType=${type}`, + filePath: x.tempFilePath, + name: 'file', + header: { + Authorization: app.globalData.token + }, + complete(res) { + $$.hideLoading(); + if (res.errMsg === 'uploadFile:ok') { + const getData = JSON.parse(res.data) + const file = { + ...getData.data[0], + wxurl: x.tempFilePath + }; + that.setData({ + fileList: that.data.fileList.concat(file) + }) + $$.showToast({ + icon: 'success', + title: '上传成功', + duration: 500 + }); + } else { + $$.showToast({ + title: '上传失败', + duration: 500 + }); + } + + }, + }); + }); + }, }); - $$.hideLoading(); - if (res) { - let location = []; - $$.province.forEach((x) => { - location.push(res[x][0]); - }); - this.location = location; - } + }, + + // 预览图片 + handlePreviewImage(e) { + let item = e.currentTarget.dataset.item; + console.log('item', item); + let index = e.currentTarget.dataset.index; + wx.previewImage({ + current: item.wxurl, + urls: [item.wxurl] // 需要预览的图片http链接列表 + }); + }, + + // 删除图片 + async handleDelImage(e) { + let item = e.currentTarget.dataset.item; + let index = e.currentTarget.dataset.index; + let id = e.currentTarget.dataset.id; + let type = e.currentTarget.dataset.type; + $$.showModal({ + title: '删除材料确认', + content: '确定删除材料' + item.name + '吗?', + cancelText: '我再想想', + confirmText: '确定删除', + success: async (res) => { + if (res.confirm) { + $$.showLoading(); + const res = await delfileApi(id); + if (res.type) { + $$.showToast({ + icon: 'success', + title: '删除成功', + duration: 500 + }); + let list = this.data.fileList.filter((i, idx) => idx !== index); + console.log('list', list); + this.setData({ + fileList: list + }) + } + } + }, + }); + }, // 请求下拉框资源 @@ -429,7 +699,9 @@ perTypeName: '申请方当事人', perClass: '09_01001-1', perClassName: '自然人', - certiNo: data.idcard || '' + certiNo: data.idcard || '', + certiType: data.certiType || '09_00015-1', + certiTypeName: data.certiTypeName || '身份证', }] }) }; @@ -521,7 +793,6 @@ * 生命周期函数--监听页面加载 */ onLoad: function () { - this.getLocationData(); let agreement = wx.getStorageSync('agreement'); if (!agreement) { this.getAgreement(); @@ -541,9 +812,6 @@ onShow: function () { if (this.data.oneData?.trueName) { let list = this.data.oneList; - console.log('list', list); - console.log('this.data.editIndex', this.data.editIndex); - console.log('this.data.oneData', this.data.oneData); if (this.data.editIndex) { list[this.data.editIndex] = this.data.oneData; } else { @@ -556,12 +824,12 @@ }) } - if (this.data.twoData?.title) { + if (this.data.twoData?.label) { this.setData({ submitData: { ...this.data.submitData, caseType: this.data.twoData.value, - caseTypeName: this.data.twoData.title, + caseTypeName: this.data.twoData.label, }, twoData: {} }) @@ -572,8 +840,9 @@ this.setData({ submitData: { ...this.data.submitData, - [this.data.twoKey]: this.data.twoValue + [this.data.twoKey]: this.data.submitData[this.data.twoKey] + this.data.twoValue, }, + [this.data.twoKey + 'Num']: (this.data.submitData[this.data.twoKey] + this.data.twoValue).length, twoValue: '', twoKey: '' }) -- Gitblit v1.8.0