dianzibao-admin-v2/admin/assets/index-DrxwDvXp.js

2 lines
7.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{T as ee,E as te}from"./index.esm-CNG9ag4U.js";import{e as P,n as le}from"./index-5uX73ANp.js";import{d as oe,J as ae,p as ne,f as se,r as c,O as ie,o as ue,R as x,P as re,Q as de,G as y,u as $,a as ce,c as me,x as a,y as u,i as b,C as U,W as fe,S as ve,a4 as pe,_ as xe}from"./index-BRRhBORR.js";const ye={key:0,class:"koi-flex"},ge=["src"],he=["width","height"],_e=oe({__name:"index",setup(be){const W=ae(),D=ne(),n=se({new_name:"",coordinate:"",subtitle:"",reporter:"",content:"",coordinate_show:"",video:"",jump_link:""}),g=c(),w=c({}),M=ie(),C=c();ue(()=>{C.value=M.params.id,L()});const L=async()=>{try{const t=await P({id:C.value});w.value=t.data}catch{x("数据查询失败,请刷新重试🌻")}},O=async()=>{if(n.coordinate=g.value,n.bm_id=C.value,n.new_name==""){x("新闻标题不能为空!");return}if(n.reporter==""){x("新闻记者不能为空!");return}if(n.coordinate==""||typeof n.coordinate>"u"){x("新闻坐标不能为空!");return}if(n.content==""){x("新闻内容不能为空!");return}n.coordinate_show=`${r.value.x1},${r.value.y1},${r.value.x2},${r.value.y2}`;try{const t=await le(n);w.value=t.data,ve("添加成功!"),D.removeTab(M.fullPath),W.push("/paper/list")}catch{x("数据添加失败,请刷新重试🌻")}},X={showLinkImg:!1,uploadImgShowBase64:!0,excludeKeys:["insertImage","insertLink","insertTable","codeBlock"]},Y={placeholder:"",readOnly:!1,autoFocus:!0,MENU_CONF:{uploadImage:{maxFileSize:1*1024*1024,server:"/api/common/upload",fieldName:"file",meta:{association_id:0},customInsert(t,e){e(t.data.fullurl,"","")},onError:(t,e,l)=>{e.message.indexOf("exceeds maximum allowed size")!==-1&&x("图片限制为1M请调整好再上传")}},uploadVideo:{maxFileSize:50*1024*1024,server:"/api/common/upload",fieldName:"file",meta:{association_id:0},customInsert(t,e){e(t.data.fullurl,"","")},onError:(t,e,l)=>{e.message.indexOf("exceeds maximum allowed size")!==-1&&x("视频限制为50M请调整好再上传")}}}};re(()=>{const t=V.value;t!=null&&t.destroy()});const q=t=>{V.value=t},m=c([]),p=c(),V=de(),B=c([]),r=c(null),F=c(null),E=c(0),T=c(0),R=c(!1),h=c(!1),_=c({x:0,y:0}),k=c(!0),H=()=>{m.value=[],k.value=!0,h.value=!1,r.value=null;const t=document.getElementById("myCanvas");t.getContext("2d").clearRect(0,0,t.width,t.height)},j=()=>{const t=document.getElementById("image-selector");E.value=t.offsetWidth,T.value=t.offsetHeight,R.value=!0},K=t=>{if(!R.value||!k.value)return;const e=document.getElementById("image-selector"),l=e.getBoundingClientRect(),i=e.naturalWidth/e.offsetWidth,s=e.naturalHeight/e.offsetHeight,o=parseInt((t.clientX-l.left)*i),f=parseInt((t.clientY-l.top)*s),v=t.clientX-l.left,I=t.clientY-l.top;m.value.push({x:v,y:I}),B.value.push({xx:o,yy:f}),document.getElementById("myCanvas")&&A(),m.value.length===4&&(J(),G())},A=()=>{const t=document.getElementById("myCanvas");if(!t)return;const e=t.getContext("2d");if(e.clearRect(0,0,t.width,t.height),m.value.forEach(l=>{e.beginPath(),e.arc(l.x,l.y,5,0,Math.PI*2),e.fillStyle="red",e.fill()}),m.value.length>1){e.beginPath(),e.moveTo(m.value[0].x,m.value[0].y);for(let l=1;l<m.value.length;l++)e.lineTo(m.value[l].x,m.value[l].y);e.strokeStyle="blue",e.lineWidth=2,e.stroke()}},G=()=>{const[t,e,l,i]=B.value,s=Math.min(t.xx,e.xx,l.xx,i.xx),o=Math.min(t.yy,e.yy,l.yy,i.yy),f=Math.max(t.xx,e.xx,l.xx,i.xx),v=Math.max(t.yy,e.yy,l.yy,i.yy);p.value={x1:s,y1:o,x2:f,y2:v},g.value=`${s},${o},${f},${v}`},J=()=>{const[t,e,l,i]=m.value,s=Math.min(t.x,e.x,l.x,i.x),o=Math.min(t.y,e.y,l.y,i.y),f=Math.max(t.x,e.x,l.x,i.x),v=Math.max(t.y,e.y,l.y,i.y);r.value={x1:s,y1:o,x2:f,y2:v},F.value={left:`${s}px`,top:`${o}px`,width:`${f-s}px`,height:`${v-o}px`},pe(()=>{S(s,o,f,v)}),m.value=[]},S=(t,e,l,i)=>{const s=document.getElementById("myCanvas");if(!s)return;const o=s.getContext("2d");o.clearRect(0,0,s.width,s.height),o.beginPath(),o.moveTo(t,e),o.lineTo(l,e),o.lineTo(l,i),o.lineTo(t,i),o.closePath(),o.lineWidth=3,o.strokeStyle="green",o.setLineDash([5,3]),o.stroke()},Q=t=>{r.value&&(h.value=!0,k.value=!1,_.value={x:t.clientX,y:t.clientY})},Z=t=>{if(h.value){const e=t.clientX-_.value.x,l=t.clientY-_.value.y;r.value.x1+=e,r.value.y1+=l,r.value.x2+=e,r.value.y2+=l,p.value.x1+=e,p.value.y1+=l,p.value.x2+=e,p.value.y2+=l,g.value=`${p.value.x1},${p.value.x2},${p.value.y1},${p.value.y2}`,_.value={x:t.clientX,y:t.clientY},S(r.value.x1,r.value.y1,r.value.x2,r.value.y2)}},z=()=>{h.value=!1};return(t,e)=>{const l=y("el-card"),i=y("el-col"),s=y("el-input"),o=y("el-form-item"),f=y("el-button"),v=y("el-form"),I=y("el-row"),N=y("KoiCard");return $(P)?(ce(),me("div",ye,[a(N,null,{default:u(()=>[a(I,{gutter:20},{default:u(()=>[a(i,{span:8},{default:u(()=>[e[8]||(e[8]=b("div",{style:{padding:"0px 20px 20px 0px","font-weight":"600"}},"请在图片边框内选定区域",-1)),a(l,{"body-style":{padding:"0"},style:{padding:"0",position:"relative"}},{default:u(()=>[b("div",{onMousedown:Q,onMousemove:Z,onMouseup:z,onMouseleave:z,style:{width:"100%"}},[b("img",{draggable:"false",id:"image-selector",src:w.value.bm_img,ref:"image",alt:"image",onClick:K,style:{cursor:"crosshair",position:"relative","user-select":"none",width:"100%",height:"auto"},onLoad:j},null,40,ge),b("canvas",{id:"myCanvas",ref:"canvas",width:E.value,height:T.value,style:{position:"absolute",top:"0",left:"0","pointer-events":"none"}},null,8,he)],32)]),_:1})]),_:1}),a(i,{span:16},{default:u(()=>[a(v,{model:n,"label-width":"auto"},{default:u(()=>[a(o,{label:"新闻标题",required:""},{default:u(()=>[a(s,{modelValue:n.new_name,"onUpdate:modelValue":e[0]||(e[0]=d=>n.new_name=d),placeholder:"请输入新闻标题",size:"large"},null,8,["modelValue"])]),_:1}),a(o,{label:"新闻副标题"},{default:u(()=>[a(s,{modelValue:n.subtitle,"onUpdate:modelValue":e[1]||(e[1]=d=>n.subtitle=d),placeholder:"请输入新闻副标题",size:"large"},null,8,["modelValue"])]),_:1}),a(o,{label:"新闻记者",required:""},{default:u(()=>[a(s,{modelValue:n.reporter,"onUpdate:modelValue":e[2]||(e[2]=d=>n.reporter=d),placeholder:"请输入新闻记者",size:"large"},null,8,["modelValue"])]),_:1}),a(o,{label:"新闻坐标",required:""},{default:u(()=>[a(s,{disabled:"",modelValue:g.value,"onUpdate:modelValue":e[3]||(e[3]=d=>g.value=d),placeholder:"请选择新闻坐标",size:"large"},null,8,["modelValue"]),a(f,{type:"danger",class:"mt-2",onClick:e[4]||(e[4]=d=>H())},{default:u(()=>e[9]||(e[9]=[U("重新选择")])),_:1})]),_:1}),a(o,{label:"媒体链接"},{default:u(()=>[a(s,{modelValue:n.video,"onUpdate:modelValue":e[5]||(e[5]=d=>n.video=d),placeholder:"请输入媒体链接",size:"large"},null,8,["modelValue"])]),_:1}),a(o,{label:"跳转链接"},{default:u(()=>[a(s,{modelValue:n.jump_link,"onUpdate:modelValue":e[6]||(e[6]=d=>n.jump_link=d),placeholder:"请输入跳转链接",size:"large"},null,8,["modelValue"])]),_:1}),a(o,{label:"新闻详情",required:""},{default:u(()=>[a(l,{shadow:"hover"},{default:u(()=>[a($(ee),{style:{"border-bottom":"1px solid #ccc"},editor:V.value,defaultConfig:X},null,8,["editor"]),a($(te),{style:{height:"300px","overflow-y":"hidden"},modelValue:n.content,"onUpdate:modelValue":e[7]||(e[7]=d=>n.content=d),defaultConfig:Y,onOnCreated:q},null,8,["modelValue"])]),_:1})]),_:1}),a(o,{label:" "},{default:u(()=>[a(f,{type:"primary",onClick:O,size:"large"},{default:u(()=>e[10]||(e[10]=[U("保存新闻")])),_:1})]),_:1})]),_:1},8,["model"])]),_:1})]),_:1})]),_:1})])):fe("",!0)}}}),ke=xe(_e,[["__scopeId","data-v-0eff5b2c"]]);export{ke as default};