You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
8.6 KiB

2 months ago
import{C as e,Ct as t,D as n,E as r,G as i,S as a,T as o,X as s,Xt as c,Y as l,at as u,b as d,d as f,ht as p,m,ot as h,q as g,tn as _,x as v,y}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{c as b,l as x,s as S}from"./index-BKGTVidA.js";import{n as C,t as w}from"./usePageLoad-D9c6HmVf.js";import{r as T}from"./admin-list-DjncsyJC.js";import{a as E}from"./dict-yXQAO4jv.js";import{a as D,i as O,n as k,t as A}from"./crawl-addresses-QIhKFPyF.js";import{p as j}from"./teachers-DxDHDTxq.js";var M={class:`list-page`},N={class:`page-header`},P={class:`list-filter-bar`},ee={class:`table-row-actions`},F={class:`list-pager`},I=S(n({__name:`index`,setup(n){let S={paper:`论文 → 论文库`,industry_news:`行业资讯 → 资讯管理`,teacher:`老师库 → 老师库`},I=p(!1),L=p([]),R=p({current_page:1,per_page:20,total:0}),z=p(``),B=p(``),V=p(1),H=p([]),U=p([]),W=p(!1),G=p(null),K=p({target_type:`paper`,name:``,request_url:``,keyword:``,category_dict_item_id:null,university_id:null,department:``,sort:0,status:1}),q=y(()=>K.value.target_type===`industry_news`),J=y(()=>K.value.target_type===`teacher`);function Y(e){return S[e]||e}async function X(){if(H.value.length===0)try{H.value=(await E(`news_category`)).items.map(e=>({id:e.id,label:e.label}))}catch{}if(U.value.length===0)try{U.value=(await j({page:1,page_size:500,simple:1})).items.map(e=>({id:e.id,name:e.name}))}catch{}}async function Z(){I.value=!0;try{let e=await O({page:V.value,page_size:R.value.per_page,keyword:z.value||void 0,target_type:B.value||void 0});L.value=e.items,R.value=e.meta}finally{I.value=!1}}function Q(e){e!==`industry_news`&&(K.value.category_dict_item_id=null),e!==`teacher`&&(K.value.university_id=null,K.value.department=``)}function te(){G.value=null,K.value={target_type:`paper`,name:``,request_url:``,keyword:``,category_dict_item_id:null,university_id:null,department:``,sort:0,status:1},W.value=!0,X()}function ne(e){G.value=e,K.value={target_type:e.target_type,name:e.name,request_url:e.request_url,keyword:e.keyword||``,category_dict_item_id:e.category_dict_item_id??null,university_id:e.university_id??null,department:e.department||``,sort:e.sort,status:e.status},W.value=!0,X()}async function re(){if(!K.value.name.trim()){x.warning(`请填写地址名称`);return}if(!K.value.request_url.trim()){x.warning(`请填写目标地址`);return}let e={target_type:K.value.target_type,name:K.value.name.trim(),request_url:K.value.request_url.trim(),keyword:K.value.keyword.trim()||null,category_dict_item_id:q.value?K.value.category_dict_item_id:null,university_id:J.value?K.value.university_id:null,department:J.value&&K.value.department.trim()||null,sort:K.value.sort,status:K.value.status};G.value?await D(G.value.id,e):await A(e),x.success(`已保存`),W.value=!1,await Z()}async function ie(e){await b.confirm(`确定删除爬虫地址「${e.name}」?`,`提示`,{type:`warning`}),await k(e.id),x.success(`已删除`),await Z()}function $(){V.value=1,Z()}function ae(){z.value=``,B.value=``,V.value=1,Z()}function oe(e){Q(e)}return w(Z),(n,p)=>{let y=l(`el-button`),b=l(`el-option`),x=l(`el-select`),S=l(`el-input`),w=l(`el-table-column`),E=l(`el-table`),D=l(`el-pagination`),O=l(`el-card`),k=l(`el-radio`),A=l(`el-radio-group`),j=l(`el-form-item`),X=l(`el-input-number`),Q=l(`el-form`),se=l(`el-dialog`),ce=s(`loading`);return i(),e(`div`,M,[d(`div`,N,[r(C),r(y,{type:`primary`,size:`small`,class:`btn-create`,onClick:te},{default:u(()=>[...p[14]||=[o(`新增`,-1)]]),_:1})]),r(O,{shadow:`never`,class:`admin-list-card`},{default:u(()=>[d(`div`,P,[r(x,{modelValue:B.value,"onUpdate:modelValue":p[0]||=e=>B.value=e,clearable:``,placeholder:`入库类型`,class:`filter-select`,onChange:$},{default:u(()=>[r(b,{label:`论文 → 论文库`,value:`paper`}),r(b,{label:`行业资讯 → 资讯管理`,value:`industry_news`}),r(b,{label:`老师库 → 老师库`,value:`teacher`})]),_:1},8,[`modelValue`]),r(S,{modelValue:z.value,"onUpdate:modelValue":p[1]||=e=>z.value=e,placeholder:`名称 / 地址 / 关键词`,clearable:``,class:`filter-search`,onKeyup:f($,[`enter`])},null,8,[`modelValue`