2 lines
9.2 KiB
JavaScript
2 lines
9.2 KiB
JavaScript
"use strict";const e=require("../../common/vendor.js"),a=require("../../request/api.js"),t=require("../../request/three_one_api/area.js"),o=require("../../request/request.js");if(!Array){(e.resolveComponent("up-upload")+e.resolveComponent("up-input")+e.resolveComponent("up-choose")+e.resolveComponent("up-textarea")+e.resolveComponent("u-popup"))()}Math||((()=>"../../uni_modules/uview-plus/components/u-upload/u-upload.js")+(()=>"../../uni_modules/uview-plus/components/u-input/u-input.js")+(()=>"../../uni_modules/uview-plus/components/u-choose/u-choose.js")+(()=>"../../uni_modules/uview-plus/components/u-textarea/u-textarea.js")+(()=>"../../uni_modules/uview-plus/components/u-popup/u-popup.js"))();const l={__name:"Inspection",setup(l){const n=e.ref(!1),s=e.ref(null),i=e.ref(""),d=e.computed((()=>"admin"===i.value||"manage"===i.value));(()=>{try{const a=e.index.getStorageSync("userInfo");if(a){const e=JSON.parse(a);i.value=e.role||"",console.log("当前用户角色:",i.value)}}catch(a){console.error("获取用户信息失败:",a)}})();const r=e.ref(""),u=e.ref("");e.onLoad((e=>{e.id&&(async e=>{try{const t=await a.enterCheckPlan(e);if(0===t.code&&t.data){const e=t.data.taskId,o=await a.getCheckTaskDetail(e);0===o.code&&o.data&&(r.value=o.data.taskId,u.value=o.data.checkPointId)}}catch(t){console.error("获取任务信息失败:",t)}})(e.id)}));const c=e.reactive({title:"",level:0,description:"",tagIndex:0,source:""});e.ref(0);const v=e.ref(0),p=e.ref(0),g=e.ref(""),h=e.ref(!1),m=e.ref([]),f=e.ref(""),I=e.ref(""),x=e.ref("");(async()=>{try{const e=await t.getAreaList();0===e.code&&e.data&&e.data.records&&(m.value=e.data.records)}catch(e){console.error("获取区域列表失败:",e)}})();const w=()=>{if(x.value){f.value=x.value;const e=m.value.find((e=>e.id===x.value));I.value=e?e.name:""}h.value=!1},y=()=>{console.log("chooseLocation called"),n.value=!1,setTimeout((()=>{e.index.getLocation({type:"gcj02",success:a=>{console.log("获取当前位置成功:",a),e.index.chooseLocation({latitude:a.latitude,longitude:a.longitude,success:e=>{console.log("选择位置成功:",e),g.value=e.address+(e.name?`(${e.name})`:""),v.value=e.longitude,p.value=e.latitude,n.value=!0},fail:a=>{console.error("选择位置失败:",a),n.value=!0,a.errMsg&&-1===a.errMsg.indexOf("cancel")&&e.index.showToast({title:"选择位置失败",icon:"none"})}})},fail:a=>{console.error("获取当前位置失败:",a),e.index.chooseLocation({success:e=>{console.log("选择位置成功:",e),g.value=e.address+(e.name?`(${e.name})`:""),v.value=e.longitude,p.value=e.latitude,n.value=!0},fail:a=>{console.error("选择位置失败:",a),n.value=!0,a.errMsg&&-1===a.errMsg.indexOf("cancel")&&e.index.showToast({title:"选择位置失败",icon:"none"})}})}})}),300)},T=async()=>{var t;if(!c.title)return void e.index.showToast({title:"请输入隐患标题",icon:"none"});if(0===j.value.length)return void e.index.showToast({title:"请上传隐患图片/视频",icon:"none"});const o=j.value.map((e=>{const a=e.serverPath||"";return{fileName:(a?a.split("/").pop():e.name||"")||"",filePath:a,fileType:e.type||"image/png",fileSize:e.size||0}})),l=C.value[c.tagIndex],s=l?l.id:null;console.log("innnn",P);const i={title:c.title,level:c.level+1,lng:v.value||0,lat:p.value||0,address:g.value||"",areaId:f.value||null,description:c.description||"",tagId:s,taskId:r.value,checkPointId:u.value,source:(null==(t=P.value[c.source])?void 0:t.title)||"",attachments:o};console.log("提交的参数:",i);try{const t=await a.addHiddenDanger(i);0===t.code?(e.index.showToast({title:"新增成功",icon:"success"}),n.value=!1,c.title="",c.level=0,c.description="",c.tagIndex=0,g.value="",f.value="",I.value="",j.value=[],N()):e.index.showToast({title:t.msg||"新增失败",icon:"none"})}catch(d){console.error(d),e.index.showToast({title:"请求失败",icon:"none"})}},z=e.ref([]),N=async()=>{try{const t=await a.getMyHiddenDangerList();0===t.code?z.value=t.data.records:e.index.showToast({title:t.msg||"获取隐患列表失败",icon:"none"})}catch(t){console.error(t),e.index.showToast({title:"请求失败",icon:"none"})}};e.onShow((()=>{N()}));const $=a=>{e.index.navigateTo({url:`/pages/hiddendanger/assignment?hazardId=${a.hazardId}&assignId=${a.assignId}`})},j=e.ref([]),k=e=>{j.value.splice(e.index,1)},A=async e=>{let a=[].concat(e.file),t=j.value.length;a.map((e=>{j.value.push({...e,status:"uploading",message:"上传中"})}));for(let l=0;l<a.length;l++){const e=await _(a[l].url);let n=j.value[t];const s="string"==typeof e?e:(null==e?void 0:e.url)||(null==e?void 0:e.path)||"";j.value.splice(t,1,{...n,status:"success",message:"",url:o.baseUrl.replace("/prod-api","")+s,serverPath:s}),t++}},_=a=>new Promise(((t,l)=>{e.index.uploadFile({url:o.baseUrl+"/frontend/attachment/upload",filePath:a,name:"file",header:{Authorization:o.getToken()},success:e=>{const a=JSON.parse(e.data);0===a.code?t(a.data):l(a.msg||"上传失败")},fail:e=>{console.error("上传失败:",e),l(e)}})})),L=e.ref(!1),b=async()=>{const t=j.value.filter((e=>"success"===e.status&&e.url.toLowerCase().match(/\.(jpg|jpeg|png|gif|bmp|webp)$/)));if(0===t.length)return void e.index.showToast({title:"请先上传隐患图片",icon:"none"});const o=t[0].url;L.value=!0;try{console.log("开始调用AI分析接口,图片地址:",o);const t=await a.analyzeHazardImage({imageUrl:o});if(0===t.code&&t.data){const a=t.data;if(console.log("AI分析结果:",a),a.title&&(c.title=a.title),a.description&&(c.description=a.description),a.level){const t={"轻微":0,"轻微隐患":0,"一般":1,"一般隐患":1,"重大":2,"重大隐患":2}[a.level];void 0!==t&&(c.level=t,e.nextTick$1((()=>{s.value&&s.value.$data&&(s.value.$data.currentIndex=t)})))}e.index.showToast({title:"AI分析完成,已自动填充",icon:"success",duration:2e3})}else e.index.showToast({title:t.msg||"AI分析失败",icon:"none"})}catch(l){console.error("AI分析接口调用失败:",l),e.index.showToast({title:"AI分析失败,请重试",icon:"none"})}finally{L.value=!1}},C=e.ref([]);(async()=>{try{const t=await a.getHiddenDangerLabelList();0===t.code?C.value=t.data.map((e=>({id:e.id,title:e.name}))):e.index.showToast({title:t.msg||"获取标签列表失败",icon:"none"})}catch(t){console.error(t),e.index.showToast({title:"请求失败",icon:"none"})}})();const q=e.ref([{id:1,title:"轻微隐患"},{id:2,title:"一般隐患"},{id:3,title:"重大隐患"}]),P=e.ref([{id:1,title:"随手拍"},{id:2,title:"企业自查"},{id:3,title:"行业互查"},{id:4,title:"专家诊查"}]);return e.watch((()=>c.source),(e=>{const a=P.value[e];console.log("隐患来源选择结果:",{"索引":e,"选中项":a,id:null==a?void 0:a.id,title:null==a?void 0:a.title})})),(a,t)=>e.e({a:e.f(z.value,((a,t,o)=>e.e({a:e.t(a.title),b:e.t(a.statusName),c:e.t(a.levelName),d:"轻微隐患"===a.levelName?1:"",e:"一般隐患"===a.levelName?1:"",f:"重大隐患"===a.levelName?1:"",g:e.t(a.address),h:e.t(a.createdAt),i:e.o((t=>(a=>{e.index.navigateTo({url:`/pages/hiddendanger/view?hazardId=${a.hazardId}&assignId=${a.assignId}`})})(a)),a.hazardId),j:"待整改"===a.statusName&&a.canEdit},"待整改"===a.statusName&&a.canEdit?{k:e.o((e=>$(a)),a.hazardId)}:{},{l:"待整改"===a.statusName&&a.canEdit},"待整改"===a.statusName&&a.canEdit?{m:e.o((t=>(a=>{e.index.navigateTo({url:`/pages/hiddendanger/rectification?hazardId=${a.hazardId}&assignId=${a.assignId}`})})(a)),a.hazardId)}:{},{n:"待验收"===a.statusName&&a.canEdit},"待验收"===a.statusName&&a.canEdit?{o:e.o((t=>(a=>{e.index.navigateTo({url:`/pages/hiddendanger/rectification?rectifyId=${a.rectifyId}&isEdit=1`})})(a)),a.hazardId)}:{},{p:"待验收"===a.statusName&&d.value},"待验收"===a.statusName&&d.value?{q:e.o((t=>(a=>{e.index.navigateTo({url:`/pages/hiddendanger/acceptance?hazardId=${a.hazardId}&assignId=${a.assignId}&rectifyId=${a.rectifyId}`})})(a)),a.hazardId)}:{},{r:"待交办"===a.statusName},"待交办"===a.statusName?{s:e.o((e=>$(a)),a.hazardId)}:{},{t:a.hazardId}))),b:e.o((e=>n.value=!0)),c:e.o((e=>n.value=!1)),d:e.o(A),e:e.o(k),f:e.p({fileList:j.value,name:"1",multiple:!0,maxCount:10}),g:!L.value},(L.value,{}),{h:e.t(L.value?"AI识别中...":"AI 识别隐患"),i:L.value,j:L.value,k:e.o(b),l:e.o((e=>c.title=e)),m:e.p({placeholder:"请输入内容",border:"surround",modelValue:c.title}),n:e.sr(s,"5561d26d-3,5561d26d-0",{k:"levelChooseRef"}),o:e.o((e=>c.level=e)),p:e.p({options:q.value,wrap:!1,"item-width":"183rpx","item-height":"72rpx",modelValue:c.level}),q:e.o((e=>c.source=e)),r:e.p({options:P.value,wrap:!1,"item-width":"183rpx","item-height":"72rpx",modelValue:c.source}),s:e.o((e=>g.value=e)),t:e.p({placeholder:"请输入地址",border:"surround",modelValue:g.value}),v:e.o(y),w:e.t(I.value||"请选择隐患区域"),x:I.value?"":1,y:e.o((e=>h.value=!0)),z:e.o((e=>c.description=e)),A:e.p({placeholder:"请输入内容",modelValue:c.description}),B:e.o((e=>c.tagIndex=e)),C:e.p({options:C.value,modelValue:c.tagIndex}),D:e.o((e=>n.value=!1)),E:e.o(T),F:e.o((e=>n.value=!1)),G:e.p({show:n.value,mode:"center",round:"20"}),H:e.o((e=>h.value=!1)),I:e.o(w),J:e.f(m.value,((a,t,o)=>e.e({a:a.color,b:e.t(a.name),c:x.value===a.id},(x.value,a.id,{}),{d:a.id,e:x.value===a.id?1:"",f:e.o((e=>x.value=a.id),a.id)}))),K:0===m.value.length},(m.value.length,{}),{L:e.o((e=>h.value=!1)),M:e.p({show:h.value,mode:"bottom",round:"20"}),N:e.gei(a,"")})}},n=e._export_sfc(l,[["__scopeId","data-v-5561d26d"]]);wx.createPage(n);
|