searchEngine.2cd5a6d7.1728219882564.js 6.3 KB

1
  1. import{_ as e,u as l,r as a,o as t,a as o,b as d,d as s,f as n,l as u,i,k as r,h as c,p as m,W as p,P as h,J as f,y as v,aN as g,X as w,Y as b,K as _}from"./index.e57f2c47.1728219882564.js";import{S as y}from"./sortable.esm.3c354c6c.1728219882564.js";const x={class:"SearchEngine"},V={class:"p-4 bg-white rounded-lg overflow-hidden flex flex-wrap gap-4"},k={class:"mt-4 p-4 bg-white rounded-lg overflow-hidden w-full",style:{"min-height":"calc(100vh - 110px)"}},U=["data-id"],C=["dataIdAttr","src"],E={key:1,class:"text-red-500 text-sm mt-2"},O={style:{display:"flex","align-items":"center",width:"100%"}},j=["src"];var q=e({__name:"searchEngine",setup(e){const q=l(),z=a({name:""}),I=a("");let S=null;function L(){let e=document.querySelector(".el-table__body>tbody");if(e){const l={animation:200,delay:500,delayOnTouchOnly:!0,draggable:".el-table__row",handle:".movebtn",onUpdate:function(e){let l=e.target.children,a=[],t=l.length,o=0;for(const d in l)if(Object.hasOwnProperty.call(l,d)){let e=t-o;o+=1;const s=l[d].querySelector("[data-id]").dataset.id;a.push({id:parseInt(s),sort:e})}p({url:"/searchEngine/sort",method:"post",data:a}).then((e=>{1===e.code&&W()}))}};S=y.create(e,l)}}t((()=>{L()}));const A=a(!1),P=a({}),G=()=>{P.value={},A.value=!0},J=e=>{1===e.code&&(P.value.icon=e.data.url)};let K=a(!1);const N=()=>{p({url:"/searchEngine/add",method:"post",data:{form:P.value}}).then((e=>{_.success(e.msg),A.value=!1,W()}))},T=a([]),W=()=>{p({url:"/searchEngine/list",method:"post",data:{search:z.value}}).then((e=>{K.value=!1,h((()=>{T.value=e.data,K.value=!0,h((()=>{L()}))}))}))};return W(),(e,l)=>{const a=o("el-input"),t=o("el-button"),h=o("el-table-column"),y=o("el-tag"),L=o("el-icon"),X=o("el-table"),Y=o("el-form-item"),B=o("el-upload"),D=o("el-option"),F=o("el-select"),H=o("el-form"),M=o("el-dialog");return d(),s("div",x,[n("div",V,[u(a,{modelValue:z.value.name,"onUpdate:modelValue":l[0]||(l[0]=e=>z.value.name=e),style:{width:"200px"},placeholder:"名称搜索",clearable:""},null,8,["modelValue"]),u(t,{onClick:W,type:"primary"},{default:i((()=>l[8]||(l[8]=[f("搜索")]))),_:1}),u(t,{type:"danger",onClick:G},{default:i((()=>l[9]||(l[9]=[f("添加新搜索引擎")]))),_:1})]),n("div",k,[r(K)?(d(),c(X,{key:0,ref_key:"table",ref:I,height:"calc(100vh - 170px)",data:T.value},{default:i((()=>[u(h,{prop:"name",label:"引擎名称",align:"center",width:"150"},{default:i((e=>[n("span",{"data-id":e.row.id},v(e.row.name),9,U)])),_:1}),u(h,{prop:"图标",label:"LOGO",align:"center",width:"80"},{default:i((e=>[n("img",{dataIdAttr:e.row.id,src:e.row.icon,class:"searchEngineLogo",alt:"Logo",style:{"max-width":"100%","max-height":"100%"}},null,8,C)])),_:1}),u(h,{prop:"url","show-overflow-tooltip":"",label:"搜索链接",align:"center","min-width":"260"}),u(h,{prop:"tips",label:"简介","min-width":"200px",align:"center"}),u(h,{prop:"status",label:"状态",align:"center",width:"80"},{default:i((e=>[1===e.row.status?(d(),c(y,{key:0},{default:i((()=>l[10]||(l[10]=[f("展示")]))),_:1})):m("",!0),0===e.row.status?(d(),c(y,{key:1,type:"info"},{default:i((()=>l[11]||(l[11]=[f("隐藏")]))),_:1})):m("",!0)])),_:1}),u(h,{prop:"create_time",label:"创建时间",align:"center",width:"200"}),u(h,{fixed:"right",label:"操作",align:"center",width:"200"},{default:i((e=>[u(t,{class:"movebtn cursor-move",title:"拖拽排序",type:"success",size:"small"},{default:i((()=>[u(L,null,{default:i((()=>[u(r(g))])),_:1})])),_:1}),u(t,{type:"primary",size:"small",onClick:l=>{return a=e.row,P.value=Object.assign({},a),void(A.value=!0);var a}},{default:i((()=>l[12]||(l[12]=[f("操作")]))),_:2},1032,["onClick"]),u(t,{type:"danger",size:"small",onClick:l=>{return a=e.row.id,void b.confirm("是否批量删除","删除提示").then((e=>{p({url:"/searchEngine/del",method:"post",data:{ids:[a]}}).then((e=>{_.success(e.msg),S.destroy(),W()}))})).catch();var a}},{default:i((()=>l[13]||(l[13]=[f("删除")]))),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])):m("",!0),r(K)?(d(),s("div",E,"用户端默认展示前10个,并且取第一个做作为默认")):m("",!0)]),u(M,{modelValue:A.value,"onUpdate:modelValue":l[7]||(l[7]=e=>A.value=e),title:"编辑搜索引擎表单",size:"400px","close-on-click-modal":!1},{default:i((()=>[u(H,{modelValue:P.value,"onUpdate:modelValue":l[6]||(l[6]=e=>P.value=e),"label-position":"top"},{default:i((()=>[u(Y,{label:"名称"},{default:i((()=>[u(a,{modelValue:P.value.name,"onUpdate:modelValue":l[1]||(l[1]=e=>P.value.name=e),"show-word-limit":"",maxlength:"50",placeholder:"请输入搜索引擎名称"},null,8,["modelValue"])])),_:1}),u(Y,{label:"网址"},{default:i((()=>[u(a,{modelValue:P.value.url,"onUpdate:modelValue":l[2]||(l[2]=e=>P.value.url=e),"show-word-limit":"",maxlength:"251",placeholder:"请输入搜索引擎网址,请携带https协议,"},null,8,["modelValue"]),l[14]||(l[14]=n("span",{class:"text-red-500 text-xs mt-2 leading-5"},[f("注意事项:搜索跳转会将{1}替换为用户搜索内容,例如: https://www.bing.com/search?q={1} "),n("br"),f(" 用户搜索 “新闻” 会被替换为 https://www.bing.com/search?q=新闻 ")],-1))])),_:1}),u(Y,{label:"logo"},{default:i((()=>[n("div",O,[P.value.icon?(d(),s("img",{key:0,src:P.value.icon,style:{width:"30px",height:"30px","margin-right":"10px","border-radius":"3px"},alt:""},null,8,j)):m("",!0),u(a,{modelValue:P.value.icon,"onUpdate:modelValue":l[3]||(l[3]=e=>P.value.icon=e),placeholder:"标签图标地址(120x120)px尺寸最佳"},{append:i((()=>[u(B,{class:"upload-demo","show-file-list":!1,"on-success":J,action:r(w)+r(q).state.site.upload},{default:i((()=>[u(t,{type:"primary"},{default:i((()=>l[15]||(l[15]=[f("上传")]))),_:1})])),_:1},8,["action"])])),_:1},8,["modelValue"])])])),_:1}),u(Y,{label:"状态"},{default:i((()=>[u(F,{modelValue:P.value.status,"onUpdate:modelValue":l[4]||(l[4]=e=>P.value.status=e),placeholder:"用户端显示状态",class:"w-full"},{default:i((()=>[u(D,{label:"显示",value:1}),u(D,{label:"隐藏",value:0})])),_:1},8,["modelValue"])])),_:1}),u(Y,{label:"简介"},{default:i((()=>[u(a,{modelValue:P.value.tips,"onUpdate:modelValue":l[5]||(l[5]=e=>P.value.tips=e),placeholder:"请简单介绍一下建议30字符以内","show-word-limit":"",maxlength:"50"},null,8,["modelValue"])])),_:1})])),_:1},8,["modelValue"]),u(t,{type:"primary",class:"w-full",onClick:N},{default:i((()=>l[16]||(l[16]=[f("保存")]))),_:1})])),_:1},8,["modelValue"])])}}},[["__scopeId","data-v-f1eda506"]]);export{q as default};