| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { Post } from "../../../../lib/request/method";
- interface Gallery {
- label?: string;
- src: string;
- }
- type Result = {
- thumbnail: Gallery[];
- source: (Gallery & { target: string; })[];
- }
- // module/chats/components/message-analysis/message-analysis.ts
- const defaultGallery = {
- 'tongueImgUrl': '',
- 'tongueBackImgUrl': '',
- 'faceImgUrl': '',
- }
- Component({
- properties: {
- payload: { type: Object, value: { title: '', description: '' } },
- active: { type: Boolean, value: false },
- messageType: { type: Number, value: 0 },
- },
- data: {
- isAnalysis: 0,
- start: false,
- examples: [
- { label: '舌面举例', src: '../../assets/tongue-1.png' },
- { label: '舌下举例', src: '../../assets/tongue-2.png' },
- { label: '面部举例', src: '../../assets/face-1.png' },
- ] as Gallery[],
- source: [] as Gallery[],
- },
- attached() {
- this.setData({
- isAnalysis: wx.getStorageSync("isAnalysis"),
- });
- },
- /**
- * 组件的方法列表
- */
- methods: {
- onConfirm() {
- if (this.data.source.length) return;
- this.setData({ start: true });
- // wx.navigateTo({
- // url: '/module/chats/pages/analysis/analysis?messageType=' + this.data.messageType,
- // events: { update: (data: Result) => this._update(data) }
- // });
- },
- onCancel() {
- this.triggerEvent('next', defaultGallery);
- },
- async onUpdate(event) {
- this.setData({ start: false });
- if (event.detail) {
- await this._followUp(event.detail);
- this._update(event.detail);
- }
- },
- // 提交随访提醒
- async _followUp({ source, thumbnail }: Result) {
- const data = {} as AnyObject;
- for (const item of source) { data[item.target] = item.src; }
- if (this.data.messageType === 2 && this.data.isAnalysis === 2) {
- wx.showLoading({ title: '提交中', mask: true });
- try {
- const workId = wx.getStorageSync("workId") || 0;
- const followObj = wx.getStorageSync("followObj");
- const res = await Post(
- `/followupTaskManage/updateFollowupTaskFillin/${workId}`,
- { ...followObj, upImg: data.tongueImgUrl, downImg: data.tongueBackImgUrl, faceImg: data.faceImgUrl },
- { transform({ data }: any) { return data; }, }
- );
- // 存储舌面象分析报告id,用于跳转页面时最后产生结果查看
- wx.setStorageSync("tonguefaceAnalysisReportId", res.tonguefaceAnalysisReportId);
- wx.hideLoading();
- } catch (error) {
- wx.hideLoading();
- wx.showToast({ title: error?.errMsg ?? '提交失败', icon: 'none', duration: 3000 });
- this.setData({ start: true });
- throw error;
- }
- }
- },
- _update({ source, thumbnail }: Result) {
- this.setData({ source: thumbnail });
- const data = {} as AnyObject;
- for (const item of source) { data[item.target] = item.src; }
- this.triggerEvent('next', {
- ...defaultGallery,
- ...data,
- });
- }
- }
- })
|