|
|
import{C as e,D as t,E as n,G as r,P as i,S as a,T as o,X as s,Y as c,at as l,b as u,d,et as f,ht as p,m,ot as h,q as g,rt as _,tn as v,x as y}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{a as b,c as x,l as S,s as C}from"./index-DXyzmFFT.js";import{n as w,t as T}from"./usePageLoad-COyWIJSl.js";import{c as E,l as D,r as O,s as k,t as A}from"./assets-CTEndQXH.js";import{f as j}from"./teachers-D_7Hxi7N.js";var M={key:0,class:`linked-block`},N={class:`linked-tags`},P={class:`picker-toolbar`},F={key:1,class:`text-mute`},I={key:1,class:`picker-pager`},L=C(t({__name:`PaperLinkTeachersDialog`,props:i({paperId:{},paperTitle:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:i([`saved`],[`update:modelValue`]),setup(t,{emit:i}){let b=f(t,`modelValue`),x=t,C=i,w=p(!1),T=p(!1),E=p([]),D=p(``),O=p(!1),L=p([]),R=p(1),z=p({current_page:1,per_page:10,total:0}),B=p([]),V=p(null);function H(e){return E.value.some(t=>t.id===e)}function ee(e){return!H(e.id)}async function U(){if(x.paperId){w.value=!0;try{E.value=(await k(x.paperId)).teachers||[],B.value=[],V.value?.clearSelection()}finally{w.value=!1}}}async function W(e=R.value){O.value=!0;try{let t=await j({page:e,page_size:z.value.per_page,keyword:D.value.trim()||void 0});L.value=t.items,z.value=t.meta,R.value=t.meta.current_page}finally{O.value=!1}}function G(){R.value=1,W(1)}function te(e){B.value=e.map(e=>e.id)}async function ne(){if(x.paperId){if(!B.value.length){S.warning(`请选择要关联的老师`);return}T.value=!0;try{await A(x.paperId,B.value),S.success(`已关联老师`),b.value=!1,C(`saved`)}finally{T.value=!1}}}return _(()=>[b.value,x.paperId],([e])=>{e&&x.paperId&&(D.value=``,R.value=1,U(),W(1))}),(i,f)=>{let p=c(`el-tag`),_=c(`el-input`),x=c(`el-button`),S=c(`el-table-column`),C=c(`el-table`),k=c(`el-pagination`),A=c(`el-dialog`),j=s(`loading`);return r(),y(A,{modelValue:b.value,"onUpdate:modelValue":f[2]||=e=>b.value=e,title:`关联老师:${t.paperTitle||``}`,width:`760px`,"destroy-on-close":``,"append-to-body":``},{footer:l(()=>[n(x,{onClick:f[1]||=e=>b.value=!1},{default:l(()=>[...f[6]||=[o(`取消`,-1)]]),_:1}),n(x,{type:`primary`,loading:T.value,onClick:ne},{default:l(()=>[...f[7]||=[o(`确认关联`,-1)]]),_:1},8,[`loading`])]),default:l(()=>[h((r(),e(`div`,null,[E.value.length?(r(),e(`div`,M,[f[3]||=u(`div`,{class:`linked-label`},`已关联老师`,-1),u(`div`,N,[(r(!0),e(m,null,g(E.value,e=>(r(),y(p,{key:e.id,size:`small`,type:`info`},{default:l(()=>[o(v(e.name)+v(e.university_name?`(${e.university_name})`:``),1)]),_:2},1024))),128))])])):a(``,!0),u(`div`,P,[n(_,{modelValue:D.value,"onUpdate:modelValue":f[0]||=e=>D.value=e,clearable:``,placeholder:`搜索姓名、高校、研究方向…`,style:{width:`260px`},onKeyup:d(G,[`enter`])},null,8,[`modelValue`]),n(x,{type:`primary`,onClick:G},{default:l(()=>[...f[4]||=[o(`搜索`,-1)]]),_:1})]),h((r(),y(C,{ref_key:`tableRef`,ref:V,data:L.value,"row-key":`id`,size:`small`,class:`picker-table`,onSelectionChange:te},{default:l(()=>[n(S,{type:`selection`,width:`44`,selectable:ee}),n(S,{prop:`name`,label:`姓名`,width:`100`}),n(S,{prop:`university_name`,label:`高校`,"min-width":`140`,"show-overflow-tooltip":``}),n(S,{prop:`title`,label:`职称`,width:`100`,"show-overflow-tooltip":``}),n(S,{prop:`research_direction`,label:`研究方向`,"min-width":`120`,"show-overflow-tooltip":``}),n(S,{label:`状态`,width:`80`,align:`center`},{default:l(({row:t})=>[H(t.id)?(r(),y(p,{key:0,size:`small`,type:`info`},{default:l(()=>[...f[5]||=[o(`已关联`,-1)]]),_:1})):(r(),e(`span`,F,`—`))]),_:1})]),_:1},8,[`data`])),[[j,O.value]]),z.value.total>0?(r(),e(`div`,I,[n(k,{layout:`total, prev, pager, next`,total:z.value.total,"page-size":z.value.per_page,"current-page":R.value,onCurrentChange:W},null,8,[`total`,`page-size`,`current-page`])])):a(``,!0)])),[[j,w.value]])]),_:1},8,[`modelValue`,`title`])}}}),[[`__scopeId`,`data-v-a6c8acb0`]]),R={class:`list-page`},z={class:`page-header`},B={class:`list-filter-bar`},V={class:`paper-title-cell`},H={class:`paper-title-text`},ee=[`href`],U={key:1},W={key:1,class:`text-mute`},G={class:`table-row-actions`},te={key:1,class:`list-pager`},ne={class:`summary-body`},K=C(t({__name:`index`,setup(t){let i=b(),f=p(!1),C=p(null),k=p([]),A=p({current_page:1,per_page:20,total:0}),j=p(1),M=p(``),N=p(``),P=p(``),F=p(``),I=p([]),K=p([]),q=p(!1),J=p(``),Y=p(!1),X=p(null);async function re(){let e=await E();I.value=e.school_names||[],K.value=e.research_directions||[]}async function Z(){f.value=!0;try{let e={page:j.value,page_size:A.value.per_page};M.value&&(e.keyword=M.value),N.value&&(e.school_name=N.value),P.value&&(e.research_direction=P.value),F.value===`linked`&&(e.link_status=`linked`),F.value===`unlinked`&&(e.link_status=`unlinked`),C.value&&(e.crawl_job_id=C.value);let t=await D(e);k.value=t.items,A.value=t.meta}finally{f.value=!1}}function ie(){C.value=null,j.value=1,Z()}function ae(){M.value=``,N.value=``,P.value=``,F.value=``,C.value=null,j.value=1,Z()}function Q(){j.value=1,Z()}function oe(e){J.value=e.summary||`暂无摘要`,q.value=!0}function se(e){X.value=e,Y.value=!0}async function ce(e){await x.confirm(`确定要删除论文「${e.title}」?`,`确认删除`,{type:`warning`}),await O(e.id),S.success(`已删除`),await Z()}async function $(){let e=i.query.crawl_job_id;C.value=e&&Number(e)||null,await re(),await Z()}return T($),_(()=>i.query.crawl_job_id,()=>{$()}),(t,i)=>{let p=c(`el-button`),_=c(`el-alert`),b=c(`el-input`),x=c(`el-option`),S=c(`el-select`),T=c(`el-table-column`),E=c(`el-tooltip`),D=c(`el-tag`),O=c(`el-table`),re=c(`el-pagination`),$=c(`el-card`),le=c(`el-dialog`),ue=s(`loading`);return r(),e(m,null,[u(`div`,R,[u(`div`,z,[n(w)]),n($,{shadow:`never`,class:`admin-list-card`},{default:l(()=>[C.value?(r(),y(_,{key:0,type:`info`,closable:!1,"show-icon":``,class:`crawl-filter-tip`},{default:l(()=>[o(` 当前仅显示本次爬虫任务(#`+v(C.value)+`)抓取的论文 `,1),n(p,{link:``,type:`primary`,onClick:ie},{default:l(()=>[...i[7]||=[o(`查看全部`,-1)]]),_:1})]),_:1})):a(``,!0),u(`div`,B,[n(b,{modelValue:M.value,"onUpdate:modelValue":i[0]||=e=>M.value=e,placeholder:`搜索标题、作者、学校、摘要…`,clearable:``,class:`filter-search`,style:{width:`260px`},onKeyup:d(Q,[`enter`])},null,8,[`modelValue`]),n(S,{modelValue:N.value,"onUpdate:modelValue":i[1]||=e=>N.value=e,placeholder:`学校`,clearable:``,class:`filter-select-wide`,style:{width:`160px`}},{default:l(()=>[(r(!0),e(m,null,g(I.value,e=>(r(),y(x,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),n(S,{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,placeholder:`方向`,clearable:``,class:`filter-select-wide`,style:{width:`160px`}},{default:l(()=>[(r(!0),e(m,null,g(K.value,e=>(r(),y(x,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),n(S,{modelValue:F.value,"onUpdate:modelValue":i[3]||=e=>F.value=e,placeholder:`关联状态`,clearable:``,class:`filter-select-wide`},{default:l(()=>[n(x,{label:`已关联`,value:`linked`}),n(x,{label:`未关联`,value:`unlinked`})]),_:1},8,[`modelValue`]),n(p,{type:`primary`,onClick:Q},{default:l(()=>[...i[8]||=[o(`搜索`,-1)]]),_:1}),n(p,{onClick:ae},{default:l(()=>[...i[9]||=[o(`重置`,-1)]]),_:1})]),h((r(),y(O,{data:k.value,"row-key":`id`},{default:l(()=>[n(T,{type:`index`,label:`序号`,width:`60`,align:`center`}),n(T,{label:`标题`,"min-width":`280`},{default:l(({row:e})=>[u(`div`,V,[n(E,{class:`paper-title-tooltip`,content:e.title,placement:`top`,"show-after":300},{default:l(()=>[u(`span`,H,v(e.title),1)]),_:2},1032,[`content`]),e.is_new?(r(),y(D,{key:0,type:`danger`,size:`small`,class:`paper-title-tag`},{default:l(()=>[...i[10]||=[o(`新`,-1)]]),_:1})):a(``,!0)])]),_:1}),n(T,{prop:`authors`,label:`作者`,width:`140`,"show-overflow-tooltip":``}),n(T,{prop:`school_name`,label:`学校`,width:`140`,"show-overflow-tooltip":``}),n(T,{label:`发表日期`,width:`110`},{default:l(({row:e})=>[o(v(e.published_at?String(e.published_at).slice(0,10):`—`),1)]),_:1}),n(T,{prop:`imported_at`,label:`入库日期`,width:`110`,align:`center`},{default:l(({row:e})=>[o(v(e.imported_at||`—`),1)]),_:1}),n(T,{label:`链接`,width:`80`,align:`center`},{default:l(({row:t})=>[t.url?(r(),e(`a`,{key:0,href:t.url,target:`_blank`,rel:`noopener`},`查看`,8,ee)):(r(),e(`span`,U,`—`))]),_:1}),n(T,{label:`关联老师`,width:`90`,align:`center`},{default:l(({row:t})=>[t.is_linked?(r(),y(D,{key:0,size:`small`,type:`success`},{default:l(()=>[o(v(t.teachers_count),1)]),_:2},1024)):(r(),e(`span`,W,`未关联`))]),_:1}),n(T,{label:`操作`,width:`240`,fixed:`right`},{default:l(({row:e})=>[u(`div`,G,[n(p,{class:`btn-action-primary`,onClick:t=>oe(e)},{default:l(()=>[...i[11]||=[o(`摘要`,-1)]]),_:1},8,[`onClick`]),n(p,{class:`btn-action-info`,onClick:t=>se(e)},{default:l(()=>[...i[12]||=[o(`关联老师`,-1)]]),_:1},8,[`onClick`]),n(p,{class:`btn-action-brand`,onClick:t=>ce(e)},{default:l(()=>[...i[13]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[ue,f.value]]),A.value.total>0?(r(),e(`div`,te,[n(re,{layout:`total, prev, pager, next`,total:A.value.total,"page-size":A.value.per_page,"current-page":j.value,onCurrentChange:i[4]||=e=>{j.value=e,Z()}},null,8,[`total`,`page-size`,`current-page`])])):a(``,!0)]),_:1})]),n(le,{modelValue:q.value,"onUpdate:modelValue":i[5]||=e=>q.value=e,title:`论文摘要`,width:`640px`},{default:l(()=>[u(`p`,ne,v(J.value),1)]),_:1},8,[`modelValue`]),n(L,{modelValue:Y.value,"onUpdate:modelValue":i[6]||=e=>Y.value=e,"paper-id":X.value?.id??null,"paper-title":X.value?.title,onSaved:Z},null,8,[`modelValue`,`paper-id`,`paper-title`])],64)}}}),[[`__scopeId`,`data-v-3c6b2200`]]);export{K as default}; |