"use strict";const e=require("../../common/vendor.js"),a=require("../../request/api.js"),t=require("../../request/three_one_api/area.js"),l=require("../../utils/upload.js"),o=require("./hazardForm.js");if(!Array){(e.resolveComponent("up-upload")+e.resolveComponent("up-input")+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-textarea/u-textarea.js")+(()=>"../../uni_modules/uview-plus/components/u-popup/u-popup.js"))();const n={__name:"HazardFormPopup",props:{show:{type:Boolean,default:!1},title:{type:String,default:"填写隐患信息"},mode:{type:String,default:"collect"},modelValue:{type:Object,default:null},extraParams:{type:Object,default:()=>({})},showDraftBanner:{type:Boolean,default:!1},bodyHeight:{type:String,default:""},canvasId:{type:String,default:"hazardFormWatermarkCanvas"}},emits:["update:show","update:modelValue","success","confirm","clear-draft"],setup(n,{expose:u,emit:i}){const r=n,d=i,s=e.computed({get:()=>r.show,set:e=>d("update:show",e)}),c=e.computed((()=>r.bodyHeight?{height:r.bodyHeight}:{})),v=e.ref(300),f=e.ref(300),m=e.ref(!1),p=e.ref(!1),g=e.ref(!1),h=e.reactive({title:"",level:0,source:0,description:"",tagIndex:0,tagId:null,regulationId:null,regulationName:""}),w=e.ref(""),x=e.ref(0),y=e.ref(0),I=e.ref(""),b=e.ref(""),L=e.ref([]),_=e.ref([]),N=e.ref(!1),T=e.ref(""),j=e.ref(null),S=e.ref(""),V=e.ref([]),D=e.ref(!1),P=e.ref(1),H=e.ref(10),A=e.ref(!0),C=e.ref(!1),z=e.ref([]),O=e.ref(""),k=e.ref(!1),q=e.ref(!1),B=e.getCurrentInstance(),{afterRead:E,deletePic:F}=l.createUploadListHandlers(L,{watermark:{canvasId:r.canvasId,canvasWidthRef:v,canvasHeightRef:f,instance:B}});function M(){return X(),{formData:{title:h.title,level:h.level,source:h.source,description:h.description,tagIndex:h.tagIndex,tagId:h.tagId,regulationId:h.regulationId,regulationName:h.regulationName},address:w.value,lng:x.value,lat:y.value,areaId:I.value,areaName:b.value,fileList:L.value,tagOptions:_.value}}function R(e){if(!e)return;g.value=!0;const a=e.formData||{};h.title=a.title||"",h.level=a.level??0,h.source=a.source??0,h.description=a.description||"",h.tagIndex=a.tagIndex??0,h.tagId=a.tagId??null,h.regulationId=a.regulationId??null,h.regulationName=a.regulationName||"",w.value=e.address||"",x.value=e.lng||0,y.value=e.lat||0,I.value=e.areaId||"",b.value=e.areaName||"",L.value=e.fileList?[...e.fileList]:[],j.value=a.regulationId??null,S.value=a.regulationName||"",g.value=!1}function U(e){if(!e)return!1;const a=e.formData||{},t=e.fileList||[];return!!(a.title||a.description||a.regulationName||e.address||t.length>0)}function $(){var e;return(null==(e=r.extraParams)?void 0:e.locationDraftKey)||"hazard_form_location_picker_draft"}function W(){try{const a=e.index.getStorageSync($());return a&&"object"==typeof a?a:null}catch(a){return null}}function K(){try{e.index.removeStorageSync($())}catch(a){console.error("清除选点草稿失败:",a)}}function G(e={}){const a=W();return!!a&&(R({...a,...e,formData:{...a.formData||{},...e.formData||{}},fileList:e.fileList??a.fileList??[]}),K(),!0)}function J(){e.nextTick$1((()=>{k.value=!1,s.value=!0,Z()}))}function Q(){R(o.createEmptyHazardPayload()),j.value=null,S.value="",O.value="",K()}function X(){const e=_.value[h.tagIndex];h.tagId=(null==e?void 0:e.id)??h.tagId??null}function Y(e,a){h[e]=Number(a),"tagIndex"===e&&X(),Z()}function Z(){q.value||g.value||null===r.modelValue||"collect"!==r.mode&&"direct"!==r.mode&&d("update:modelValue",M())}function ee(){s.value=!1}function ae(){ee()}function te(){return 0===L.value.length?(e.index.showToast({title:"请上传隐患图片",icon:"none"}),!1):h.title?w.value?!!h.description||(e.index.showToast({title:"请输入隐患描述",icon:"none"}),!1):(e.index.showToast({title:"请输入隐患位置",icon:"none"}),!1):(e.index.showToast({title:"请输入隐患标题",icon:"none"}),!1)}async function le(){if(!te())return;const t=M();if("collect"===r.mode)return null!==r.modelValue&&d("update:modelValue",t),d("confirm",t),ee(),void e.index.showToast({title:"隐患信息已暂存",icon:"success"});m.value=!0;try{const l=o.buildHiddenDangerParams(t,r.extraParams),n=await a.addHiddenDanger(l);(e=>0===Number(null==e?void 0:e.code)||200===Number(null==e?void 0:e.code))(n)?(q.value=!0,ee(),d("success",{...t,hazardId:n.data}),await e.nextTick$1(),Q(),e.index.showToast({title:n.msg||"新增成功",icon:"success"})):e.index.showToast({title:n.msg||"新增失败",icon:"none"})}catch(l){console.error(l),e.index.showToast({title:"请求失败",icon:"none"})}finally{q.value=!1,m.value=!1}}function oe(){N.value=!0,0===V.value.length&&ne()}async function ne(e=!1){var t;if(!D.value){D.value=!0;try{const l={pageNum:P.value,pageSize:H.value,status:1};(null==(t=T.value)?void 0:t.trim())&&(l.keyword=T.value.trim());const o=await a.getRegulationList(l);if(0===o.code){const a=o.data.records||o.data||[];V.value=e?[...V.value,...a]:a;const t=o.data.total||0;A.value=V.value.lengthe.id===O.value));b.value=e?e.name:""}C.value=!1,Z()}function ve(){k.value=!0,function(){const a=M();try{e.index.setStorageSync($(),a)}catch(t){console.error("保存选点草稿失败:",t)}}(),ee(),setTimeout((()=>{e.index.getLocation({type:"gcj02",success:e=>{fe(e.latitude,e.longitude)},fail:()=>{fe()}})}),300)}function fe(a,t){const l={};null!=a&&null!=t&&(l.latitude=a,l.longitude=t),e.index.chooseLocation({...l,success:e=>{G({address:e.address+(e.name?`(${e.name})`:""),lng:e.longitude,lat:e.latitude}),J()},fail:a=>{G(),J(),a.errMsg&&-1===a.errMsg.indexOf("cancel")&&e.index.showToast({title:"选择位置失败",icon:"none"})}})}async function me(){const t=L.value.filter((e=>"success"===e.status&&e.url.toLowerCase().match(/\.(jpg|jpeg|png|gif|bmp|webp)$/)));if(0!==t.length){p.value=!0;try{const l=await a.analyzeHazardImage({imageUrl:t[0].url});if(0===l.code&&l.data){const a=l.data;if(a.title&&(h.title=a.title),a.description&&(h.description=a.description),a.level){const e=o.AI_LEVEL_MAP[a.level];void 0!==e&&(h.level=e)}Z(),e.index.showToast({title:"AI分析完成,已自动填充",icon:"success",duration:2e3})}else e.index.showToast({title:l.msg||"AI分析失败",icon:"none"})}catch(l){console.error("AI分析接口调用失败:",l),e.index.showToast({title:"AI分析失败,请重试",icon:"none"})}finally{p.value=!1}}else e.index.showToast({title:"请先上传隐患图片",icon:"none"})}return e.watch((()=>r.modelValue),(e=>{"direct"!==r.mode&&U(e)&&R(e)}),{deep:!0,immediate:!0}),e.watch((()=>r.show),(e=>{if(e&&0===z.value.length&&se(),!e)return;if(k.value)return;const a=W();if(a)return R(a),void K();U(r.modelValue)&&R(r.modelValue)})),async function(){try{const e=await a.getHiddenDangerLabelList();0===e.code&&(_.value=e.data.map((e=>({id:e.id,title:e.name}))),X())}catch(e){console.error("获取标签列表失败:",e)}}(),se(),u({getPayload:M,applyPayload:R,resetForm:Q,validateForm:te}),(a,t)=>e.e({a:e.t(n.title),b:e.o(ae),c:n.showDraftBanner},n.showDraftBanner?{d:e.o((e=>d("clear-draft")))}:{},{e:e.f(e.unref(o.SOURCE_OPTIONS),((a,t,l)=>({a:e.t(a.title),b:a.id,c:h.source===t?1:"",d:e.o((e=>Y("source",t)),a.id)}))),f:e.o(e.unref(E)),g:e.o(e.unref(F)),h:e.p({fileList:L.value,name:"1",multiple:!0,imageMode:"aspectFill",maxCount:10}),i:n.canvasId,j:v.value,k:f.value,l:v.value+"px",m:f.value+"px",n:!p.value},(p.value,{}),{o:e.t(p.value?"AI识别中...":"AI 识别隐患"),p:p.value,q:p.value,r:e.o(me),s:e.o((e=>h.title=e)),t:e.p({placeholder:"请输入内容",border:"surround",modelValue:h.title}),v:e.f(e.unref(o.LEVEL_OPTIONS),((a,t,l)=>({a:e.t(a.title),b:a.id,c:h.level===t?1:"",d:e.o((e=>Y("level",t)),a.id)}))),w:e.o((e=>w.value=e)),x:e.p({placeholder:"请输入地址",border:"surround",modelValue:w.value}),y:e.o(ve),z:e.t(h.regulationName||"请选择法律依据"),A:h.regulationName?"":1,B:e.o(oe),C:e.t(b.value||"请选择隐患区域"),D:b.value?"":1,E:e.o(de),F:e.o((e=>h.description=e)),G:e.p({placeholder:"请输入内容",modelValue:h.description}),H:e.f(_.value,((a,t,l)=>({a:e.t(a.title),b:a.id,c:h.tagIndex===t?1:"",d:e.o((e=>Y("tagIndex",t)),a.id)}))),I:e.s(c.value),J:e.o(ae),K:m.value,L:e.o(le),M:e.o(ae),N:e.o((e=>s.value=e)),O:e.p({mode:"center",round:"20","safe-area-inset-bottom":!1,show:s.value}),P:e.o((e=>N.value=!1)),Q:e.o(ue),R:T.value,S:e.o((e=>T.value=e.detail.value)),T:e.o(ue),U:D.value&&0===V.value.length},D.value&&0===V.value.length?{}:D.value||0!==V.value.length?e.e({W:e.f(V.value,((a,t,l)=>({a:e.t(a.depict),b:e.t(a.legalBasis),c:j.value===a.id?1:"",d:a.id,e:e.o((e=>function(e){j.value=e.id,S.value=e.depict||e.keyword||""}(a)),a.id)}))),X:D.value},(D.value,{})):{},{V:!D.value&&0===V.value.length,Y:e.o(ie),Z:e.o((e=>N.value=!1)),aa:e.o(re),ab:e.o((e=>N.value=!1)),ac:e.p({show:N.value,mode:"center",round:"20","safe-area-inset-bottom":!1}),ad:e.o((e=>C.value=!1)),ae:e.o(ce),af:e.f(z.value,((a,t,l)=>e.e({a:a.color,b:e.t(a.name),c:O.value===a.id},(O.value,a.id,{}),{d:a.id,e:O.value===a.id?1:"",f:e.o((e=>O.value=a.id),a.id)}))),ag:0===z.value.length},(z.value.length,{}),{ah:e.o((e=>C.value=!1)),ai:e.p({show:C.value,mode:"bottom",round:"20"})})}},u=e._export_sfc(n,[["__scopeId","data-v-751c042e"]]);wx.createComponent(u);