dootask/public/js/build/ReportDetail.40e30dfb.js
2025-11-30 12:18:18 +08:00

6 lines
9.1 KiB
JavaScript
Vendored

import{_ as f}from"./openpgp_hi.15f91b1d.js";import{m}from"./vuex.cc7cb26e.js";import{b as _,e as A,w as $,i as g,n as D}from"./app.1c2a0fa1.js";var C=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"report-detail"},[e("div",{staticClass:"report-title user-select-auto"},[t._v(" "+t._s(t.currentDetail.title)+" "),t.loadIng>0?e("Icon",{staticClass:"icon-loading",attrs:{type:"ios-loading"}}):t._e()],1),t.currentDetail.id?e("div",{staticClass:"report-detail-context"},[e("ul",[e("li",[e("div",{staticClass:"report-label"},[t._v(" "+t._s(t.$L("\u6C47\u62A5\u4EBA"))+" ")]),e("div",{staticClass:"report-value"},[e("UserAvatar",{attrs:{userid:t.currentDetail.userid,size:28,clickOpenDetail:""}})],1)]),e("li",[e("div",{staticClass:"report-label"},[t._v(" "+t._s(t.$L("\u63D0\u4EA4\u65F6\u95F4"))+" ")]),e("div",{staticClass:"report-value"},[t._v(" "+t._s(t.currentDetail.created_at)+" ")])]),e("li",[e("div",{staticClass:"report-label"},[t._v(" "+t._s(t.$L("\u6C47\u62A5\u5BF9\u8C61"))+" ")]),e("div",{staticClass:"report-value"},[t.currentDetail.receives_user&&t.currentDetail.receives_user.length===0?[t._v("-")]:t._l(t.currentDetail.receives_user,function(i,a){return e("UserAvatar",{key:a,attrs:{userid:i.userid,size:28,clickOpenDetail:""}})})],2)]),t.currentDetail.report_link?e("li",{attrs:{title:t.$L("\u5206\u4EAB\u65F6\u95F4")+"\uFF1A"+t.currentDetail.report_link.created_at}},[e("div",{staticClass:"report-label"},[t._v(" "+t._s(t.$L("\u5206\u4EAB\u4EBA"))+" ")]),e("div",{staticClass:"report-value"},[e("UserAvatar",{attrs:{userid:t.currentDetail.report_link.userid,size:28,clickOpenDetail:""}})],1)]):t._e()]),e("div",{ref:"reportContent",staticClass:"report-content user-select-auto",domProps:{innerHTML:t._s(t.currentDetail.content)},on:{click:t.onClick}}),t.currentDetail.id?e("div",{staticClass:"report-ai-analysis"},[e("div",{staticClass:"analysis-header"},[e("div",{staticClass:"analysis-title"},[t._v(t._s(t.$L("AI \u5206\u6790")))]),e("Button",{attrs:{type:"primary",size:"small",loading:t.analysisSaving},on:{click:t.onAnalyze}},[t._v(" "+t._s(t.aiAnalysis?t.$L("\u91CD\u65B0\u5206\u6790"):t.$L("\u751F\u6210\u5206\u6790"))+" ")])],1),t.aiAnalysis?e("div",{staticClass:"analysis-content"},[t.aiAnalysis.updated_at?e("div",{staticClass:"analysis-meta"},[t._v(" "+t._s(t.$L("\u6700\u540E\u66F4\u65B0\uFF1A"))+t._s(t.aiAnalysis.updated_at)+" ")]):t._e(),e("div",{staticClass:"analysis-body user-select-auto"},[e("VMPreview",{attrs:{value:t.aiAnalysis.text}})],1)]):e("div",{staticClass:"analysis-empty"},[t._v(" "+t._s(t.$L("\u6682\u65E0 AI \u5206\u6790\uFF0C\u70B9\u51FB\u53F3\u4FA7\u6309\u94AE\u751F\u6210\u3002"))+" ")])]):t._e()]):t._e()])},L=[];const R=()=>f(()=>import("./preview.1699edcd.js"),["js/build/preview.1699edcd.js","js/build/openpgp_hi.15f91b1d.js","js/build/index.40a8e116.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/@babel.f9bcab46.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vue.fd9b772e.js","js/build/vuex.cc7cb26e.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js"]),I={name:"ReportDetail",components:{VMPreview:R},props:{data:{default:{}},type:{default:"view"}},data(){return{loadIng:0,analysisSaving:!1,aiAnalysis:null,detail:null}},computed:{...m(["formOptions","userInfo"]),currentDetail(){return this.detail||this.data||{}}},watch:{"data.id":{handler(t){var s;t>0?(this.analysisSaving=!1,this.aiAnalysis=((s=this.data)==null?void 0:s.ai_analysis)||null,this.detail=null,this.type==="view"&&(this.sendRead(),this.fetchDetail())):(this.analysisSaving=!1,this.aiAnalysis=null,this.detail=null)},immediate:!0}},methods:{sendRead(){this.loadIng++,this.$store.dispatch("call",{url:"report/read",data:{ids:[this.data.id]}}).then(()=>{}).catch(()=>{}).finally(t=>{this.loadIng--})},onClick({target:t}){var s;if(t.nodeName==="IMG"){const e=$A.getTextImagesInfo((s=this.$refs.reportContent)==null?void 0:s.outerHTML);this.$store.dispatch("previewImage",{index:t.currentSrc,list:e})}},fetchDetail(){!this.data.id||this.$store.dispatch("call",{url:"report/detail",data:{id:this.data.id}}).then(({data:t})=>{this.detail=t,this.aiAnalysis=(t==null?void 0:t.ai_analysis)||null}).catch(({msg:t})=>{t&&$A.messageError(t)})},onAnalyze(){if(this.analysisSaving)return;if(!this.currentDetail.id){$A.messageWarning("\u5F53\u524D\u6CA1\u6709\u53EF\u5206\u6790\u7684\u6C47\u62A5");return}if(!_(this.currentDetail.content,null,!0)){$A.messageWarning("\u6C47\u62A5\u5185\u5BB9\u4E3A\u7A7A\uFF0C\u65E0\u6CD5\u5206\u6790");return}A.emit("openAIAssistant",{placeholder:this.$L("\u8865\u5145\u4F60\u60F3\u805A\u7126\u7684\u98CE\u9669\u3001\u6210\u679C\u6216\u5EFA\u8BAE\uFF0C\u7559\u7A7A\u76F4\u63A5\u751F\u6210\u5206\u6790"),onBeforeSend:this.handleReportAnalysisBeforeSend,onApply:this.handleReportAnalysisApply,autoSubmit:!0,applyButtonText:this.$L("\u4FDD\u5B58\u5206\u6790")})},handleReportAnalysisBeforeSend(t=[]){const s=[["system",$(g)]],e=this.buildReportAnalysisContextData();if(e){let i=["\u4EE5\u4E0B\u662F\u5DE5\u4F5C\u6C47\u62A5\u8BE6\u60C5\uFF0C\u8BF7\u636E\u6B64\u8F93\u51FA\u7ED3\u6784\u5316\u7684\u5206\u6790\uFF1A",e].join(`
`);$A.getObject(t,[0,0])==="human"&&(i+=`
----
\u8BF7\u7ED3\u5408\u4EE5\u4E0A\u80CC\u666F\u548C\u4EE5\u4E0B\u8865\u5145\u8BF4\u660E\u5B8C\u6210\u5206\u6790\uFF1A++++`),s.push(["human",i])}return t.length>0&&s.push(...t),s},handleReportAnalysisApply({rawOutput:t,model:s}){const e=(t||"").trim();if(!e){$A.messageWarning("AI \u672A\u751F\u6210\u5185\u5BB9");return}if(!this.currentDetail.id){$A.messageWarning("\u5F53\u524D\u6CA1\u6709\u53EF\u5206\u6790\u7684\u6C47\u62A5");return}this.analysisSaving=!0;const i={id:this.currentDetail.id,text:e,model:s||""};return this.$store.dispatch("call",{url:"report/analysave",method:"post",data:i}).then(({data:a})=>{const r=a||{text:e,updated_at:$A.dayjs().format("YYYY-MM-DD HH:mm:ss")};this.aiAnalysis=r,this.detail&&this.$set(this.detail,"ai_analysis",r),$A.messageSuccess("AI \u5206\u6790\u5DF2\u66F4\u65B0")}).catch(({msg:a})=>($A.messageError(a||"\u4FDD\u5B58 AI \u5206\u6790\u5931\u8D25"),Promise.reject(a))).finally(()=>{this.analysisSaving=!1})},buildReportAnalysisContextData(){var h,v;const t=this.currentDetail||{};if(!t.id)return"";const s=[],e=[],i=(t.title||"").trim();i&&e.push(`\u6807\u9898\uFF1A${i}`);const a=this.resolveReportTypeLabel(t.type||t.type_val);a&&e.push(`\u7C7B\u578B\uFF1A${a}`),t.sign&&e.push(`\u5468\u671F\uFF1A${t.sign}`),t.created_at&&e.push(`\u63D0\u4EA4\u65F6\u95F4\uFF1A${t.created_at}`);const r=this.resolveUserName(t.user||t);r&&e.push(`\u6C47\u62A5\u4EBA\uFF1A${r}`);const o=Array.isArray(t.receives_user)?t.receives_user.map(n=>this.resolveUserName(n)).filter(Boolean):[];o.length>0&&e.push(`\u63A5\u6536\u4EBA\uFF1A${o.join("\u3001")}`),e.length>0&&(s.push("## \u6C47\u62A5\u4FE1\u606F"),e.forEach(n=>s.push(`- ${n}`)));const l=[],c=this.resolveUserName(this.userInfo);c&&l.push(`\u67E5\u770B\u4EBA\uFF1A${c}`);const u=this.resolveViewerRole();u&&l.push(`\u89D2\u8272\uFF1A${u}`),l.length>0&&(s.push("## \u67E5\u770B\u4E0A\u4E0B\u6587"),l.forEach(n=>s.push(`- ${n}`)));const d=_(t.content,8e3,!0);d&&(s.push("## \u6C47\u62A5\u6B63\u6587"),s.push(d));const p=((h=this.aiAnalysis)==null?void 0:h.text)||((v=t.ai_analysis)==null?void 0:v.text);return p&&(s.push("## \u5386\u53F2\u5206\u6790\u4F9B\u53C2\u8003"),s.push(p)),s.join(`
`).trim()},resolveReportTypeLabel(t){return{weekly:this.$L("\u5468\u62A5"),daily:this.$L("\u65E5\u62A5")}[t]||(typeof t=="string"?t:"")},resolveUserName(t){if(!t)return"";if(typeof t=="string")return t;const s=t.nickname||t.realname||t.name||t.username||"";return s||(t.userid?`${this.$L("\u7528\u6237")} ${t.userid}`:"")},resolveViewerRole(){const t=this.userInfo||{};return Array.isArray(t.identity)&&t.identity.length>0?t.identity.join("/"):t.profession||t.job||t.position||""}}},y={};var S=D(I,C,L,!1,b,null,null,null);function b(t){for(let s in y)this[s]=y[s]}var P=function(){return S.exports}();export{P as R};