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