| | |
| | | }); |
| | | } |
| | | |
| | | // 附件上传的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', |
| | |
| | | select: {}, // 下拉框数据 |
| | | goToMaterialSave: false, // 避免跳转到材料上传页面重复保存草稿 |
| | | agreementMsg: '', // 服务协议 |
| | | ownerId: '', //附件上传id |
| | | data: { |
| | | stepText: 5, //用户须知倒计时5秒 |
| | | timer: null, // 用于存储定时器的引用 |
| | |
| | | amount: '', |
| | | caseDes: '', |
| | | caseClaim: '', |
| | | plaintiffList: [], |
| | | defendantList: [], |
| | | }, // 表单数据 |
| | | fileList: [], //表单附件 |
| | | addPersonData: {}, //添加的当事人 |
| | | materialNum: 0, // 纠纷材料总数量 |
| | | userInfoVisible: false, // 是否采用个人信息更新申请人信息 |
| | |
| | | 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) { |
| | |
| | | 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 |
| | |
| | | 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 || '' |
| | | }) |
| | | } |
| | | }, |
| | | |
| | |
| | | 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, |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | |
| | | let url = e.currentTarget.dataset.url; |
| | | wx.navigateTo({ |
| | | url: url, |
| | | }); |
| | | }, |
| | | |
| | | // 图片识别 |
| | | 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.caseDes + wordsResult |
| | | }, |
| | | [keyNum]: (that.data.submitData.caseDes + wordsResult).length |
| | | }); |
| | | } |
| | | }, |
| | | }); |
| | | }, |
| | | }); |
| | | }, |
| | | |
| | |
| | | }) |
| | | }, |
| | | |
| | | // 获取省市区等地理资源 |
| | | 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 |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | }); |
| | | |
| | | }, |
| | | |
| | | // 请求下拉框资源 |
| | |
| | | perTypeName: '申请方当事人', |
| | | perClass: '09_01001-1', |
| | | perClassName: '自然人', |
| | | certiNo: data.idcard || '' |
| | | certiNo: data.idcard || '', |
| | | certiType: data.certiType || '09_00015-1', |
| | | certiTypeName: data.certiTypeName || '身份证', |
| | | }] |
| | | }) |
| | | }; |
| | |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad: function () { |
| | | this.getLocationData(); |
| | | let agreement = wx.getStorageSync('agreement'); |
| | | if (!agreement) { |
| | | this.getAgreement(); |
| | |
| | | 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 { |
| | |
| | | }) |
| | | } |
| | | |
| | | 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: {} |
| | | }) |
| | |
| | | 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: '' |
| | | }) |