|
|
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-CgtDRRqt.js";import{t as w}from"./usePageLoad-DFTLo_Lv.js";import{c as T,l as E,r as D,s as O,t as k}from"./assets-26J9lCWW.js";import{f as A}from"./teachers-oTwpdyV9.js";var j={key:0,class:`linked-block`},M={class:`linked-tags`},N={class:`picker-toolbar`},P={key:1,class:`text-mute`},F={key:1,class:`picker-pager`},I=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(``),I=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 U(e){return!H(e.id)}async function W(){if(x.paperId){w.value=!0;try{E.value=(await O(x.paperId)).teachers||[],B.value=[],V.value?.clearSelection()}finally{w.value=!1}}}async function G(e=R.value){I.value=!0;try{let t=await A({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{I.value=!1}}function K(){R.value=1,G(1)}function q(e){B.value=e.map(e=>e.id)}async function J(){if(x.paperId){if(!B.value.length){S.warning(`请选择要关联的老师`);return}T.value=!0;try{await k(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,W(),G(1))}),(i,f)=>{let p=c(`el-tag`),_=c(`el-input`),x=c(`el-button`),S=c(`el-table-column`),C=c(`el-table`),O=c(`el-pagination`),k=c(`el-dialog`),A=s(`loading`);return r(),y(k,{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:J},{default:l(()=>[...f[7]||=[o(`确认关联`,-1)]]),_:1},8,[`loading`])]),default:l(()=>[h((r(),e(`div`,null,[E.value.length?(r(),e(`div`,j,[f[3]||=u(`div`,{class:`linked-label`},`已关联老师`,-1),u(`div`,M,[(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`,N,[n(_,{modelValue:D.value,"onUpdate:modelValue":f[0]||=e=>D.value=e,clearable:``,placeholder:`搜索姓名、高校、研究方向…`,style:{width:`260px`},onKeyup:d(K,[`enter`])},null,8,[`modelValue`]),n(x,{type:`primary`,onClick:K},{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:q},{default:l(()=>[n(S,{type:`selection`,width:`44`,selectable:U}),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`,P,`—`))]),_:1})]),_:1},8,[`data`])),[[A,I.value]]),z.value.total>0?(r(),e(`div`,F,[n(O,{layout:`total, prev, pager, next`,total:z.value.total,"page-size":z.value.per_page,"current-page":R.value,onCurrentChange:G},null,8,[`total`,`page-size`,`current-page`])])):a(``,!0)])),[[A,w.value]])]),_:1},8,[`modelValue`,`title`])}}}),[[`__scopeId`,`data-v-a6c8acb0`]]),L={class:`list-page`},R={class:`list-filter-bar`},z={class:`paper-title-cell`},B={class:`paper-title-text`},V=[`href`],H={key:1},U={key:1,class:`text-mute`},W={class:`table-row-actions`},G={key:1,class:`list-pager`},K={class:`summary-body`},q=C(t({__name:`index`,setup(t){let i=b(),f=p(!1),C=p(null),O=p([]),k=p({current_page:1,per_page:20,total:0}),A=p(1),j=p(``),M=p(``),N=p(``),P=p(``),F=p([]),q=p([]),J=p(!1),Y=p(``),X=p(!1),Z=p(null);async function ee(){let e=await T();F.value=e.school_names||[],q.value=e.research_directions||[]}async function Q(){f.value=!0;try{let e={page:A.value,page_size:k.value.per_page};j.value&&(e.keyword=j.value),M.value&&(e.school_name=M.value),N.value&&(e.research_direction=N.value),P.value===`linked`&&(e.link_status=`linked`),P.value===`unlinked`&&(e.link_status=`unlinked`),C.value&&(e.crawl_job_id=C.value);let t=await E(e);O.value=t.items,k.value=t.meta}finally{f.value=!1}}function te(){C.value=null,A.value=1,Q()}function ne(){j.value=``,M.value=``,N.value=``,P.value=``,C.value=null,A.value=1,Q()}function re(){A.value=1,Q()}function ie(e){Y.value=e.summary||`暂无摘要`,J.value=!0}function ae(e){Z.value=e,X.value=!0}async function oe(e){await x.confirm(`确定要删除论文「${e.title}」?`,`确认删除`,{type:`warning`}),await D(e.id),S.success(`已删除`),await Q()}async function $(){let e=i.query.crawl_job_id;C.value=e&&Number(e)||null,await ee(),await Q()}return w($),_(()=>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`),w=c(`el-table-column`),T=c(`el-tooltip`),E=c(`el-tag`),D=c(`el-table`),ee=c(`el-pagination`),$=c(`el-card`),se=c(`el-dialog`),ce=s(`loading`);return r(),e(m,null,[u(`div`,L,[i[14]||=u(`div`,{class:`page-header`},[u(`h1`,{class:`page-title`},`论文库`)],-1),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:te},{default:l(()=>[...i[7]||=[o(`查看全部`,-1)]]),_:1})]),_:1})):a(``,!0),u(`div`,R,[n(b,{modelValue:j.value,"onUpdate:modelValue":i[0]||=e=>j.value=e,placeholder:`搜索标题、作者、学校、摘要…`,clearable:``,class:`filter-search`,style:{width:`260px`},onKeyup:d(re,[`enter`])},null,8,[`modelValue`]),n(S,{modelValue:M.value,"onUpdate:modelValue":i[1]||=e=>M.value=e,placeholder:`学校`,clearable:``,class:`filter-select-wide`,style:{width:`160px`}},{default:l(()=>[(r(!0),e(m,null,g(F.value,e=>(r(),y(x,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),n(S,{modelValue:N.value,"onUpdate:modelValue":i[2]||=e=>N.value=e,placeholder:`方向`,clearable:``,class:`filter-select-wide`,style:{width:`160px`}},{default:l(()=>[(r(!0),e(m,null,g(q.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[3]||=e=>P.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:re},{default:l(()=>[...i[8]||=[o(`搜索`,-1)]]),_:1}),n(p,{onClick:ne},{default:l(()=>[...i[9]||=[o(`重置`,-1)]]),_:1})]),h((r(),y(D,{data:O.value,"row-key":`id`},{default:l(()=>[n(w,{type:`index`,label:`序号`,width:`60`,align:`center`}),n(w,{label:`标题`,"min-width":`280`},{default:l(({row:e})=>[u(`div`,z,[n(T,{class:`paper-title-tooltip`,content:e.title,placement:`top`,"show-after":300},{default:l(()=>[u(`span`,B,v(e.title),1)]),_:2},1032,[`content`]),e.is_new?(r(),y(E,{key:0,type:`danger`,size:`small`,class:`paper-title-tag`},{default:l(()=>[...i[10]||=[o(`新`,-1)]]),_:1})):a(``,!0)])]),_:1}),n(w,{prop:`authors`,label:`作者`,width:`140`,"show-overflow-tooltip":``}),n(w,{prop:`school_name`,label:`学校`,width:`140`,"show-overflow-tooltip":``}),n(w,{label:`发表日期`,width:`110`},{default:l(({row:e})=>[o(v(e.published_at?String(e.published_at).slice(0,10):`—`),1)]),_:1}),n(w,{prop:`imported_at`,label:`入库日期`,width:`110`,align:`center`},{default:l(({row:e})=>[o(v(e.imported_at||`—`),1)]),_:1}),n(w,{label:`链接`,width:`80`,align:`center`},{default:l(({row:t})=>[t.url?(r(),e(`a`,{key:0,href:t.url,target:`_blank`,rel:`noopener`},`查看`,8,V)):(r(),e(`span`,H,`—`))]),_:1}),n(w,{label:`关联老师`,width:`90`,align:`center`},{default:l(({row:t})=>[t.is_linked?(r(),y(E,{key:0,size:`small`,type:`success`},{default:l(()=>[o(v(t.teachers_count),1)]),_:2},1024)):(r(),e(`span`,U,`未关联`))]),_:1}),n(w,{label:`操作`,width:`240`,fixed:`right`},{default:l(({row:e})=>[u(`div`,W,[n(p,{class:`btn-action-primary`,onClick:t=>ie(e)},{default:l(()=>[...i[11]||=[o(`摘要`,-1)]]),_:1},8,[`onClick`]),n(p,{class:`btn-action-info`,onClick:t=>ae(e)},{default:l(()=>[...i[12]||=[o(`关联老师`,-1)]]),_:1},8,[`onClick`]),n(p,{class:`btn-action-secondary`,onClick:t=>oe(e)},{default:l(()=>[...i[13]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[ce,f.value]]),k.value.total>0?(r(),e(`div`,G,[n(ee,{layout:`total, prev, pager, next`,total:k.value.total,"page-size":k.value.per_page,"current-page":A.value,onCurrentChange:i[4]||=e=>{A.value=e,Q()}},null,8,[`total`,`page-size`,`current-page`])])):a(``,!0)]),_:1})]),n(se,{modelValue:J.value,"onUpdate:modelValue":i[5]||=e=>J.value=e,title:`论文摘要`,width:`640px`},{default:l(()=>[u(`p`,K,v(Y.value),1)]),_:1},8,[`modelValue`]),n(I,{modelValue:X.value,"onUpdate:modelValue":i[6]||=e=>X.value=e,"paper-id":Z.value?.id??null,"paper-title":Z.value?.title,onSaved:Q},null,8,[`modelValue`,`paper-id`,`paper-title`])],64)}}}),[[`__scopeId`,`data-v-c111c5f2`]]);export{q as default}; |