1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-cda0aa98"],{"0f25":function(e,t,a){"use strict";a("fa5e")},"4ec9":function(e,t,a){"use strict";var r=a("6d61"),s=a("6566");e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),s)},fa5e:function(e,t,a){},fdb7:function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"tag-container"},[a("div",{staticClass:"search-bar"},[a("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0,model:e.queryParams}},[a("el-form-item",{attrs:{label:"标签名称"}},[a("el-input",{attrs:{placeholder:"请输入标签名称",clearable:""},model:{value:e.queryParams.name,callback:function(t){e.$set(e.queryParams,"name",t)},expression:"queryParams.name"}})],1),a("el-form-item",{attrs:{label:"所属分类"}},[a("el-select",{attrs:{placeholder:"请选择分类",clearable:""},model:{value:e.queryParams.category_id,callback:function(t){e.$set(e.queryParams,"category_id",t)},expression:"queryParams.category_id"}},e._l(e.categoriesList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.handleQuery}},[e._v("查询")]),a("el-button",{on:{click:e.resetQuery}},[e._v("重置")])],1)],1)],1),a("el-button",{attrs:{type:"primary"},on:{click:e.handleAdd}},[e._v("新增")]),a("el-button",{attrs:{type:"primary",disabled:0===e.selectedTags.length},on:{click:e.handleBatchCategory}},[e._v("批量绑定分类")]),a("el-button",{attrs:{type:"danger",disabled:0===e.selectedTags.length},on:{click:e.handleBatchDelete}},[e._v("批量删除")]),e.selectedTags.length>0?a("div",{staticClass:"selection-control"},[a("el-alert",{staticStyle:{"margin-bottom":"10px"},attrs:{type:"info","show-icon":"",closable:!1}},[e.isAllDataSelected?[a("span",{staticStyle:{cursor:"pointer",color:"#409eff"},attrs:{type:"text"},on:{click:e.handleCancelAllSelection}},[e._v(" 取消全选 ")])]:[a("span",{staticStyle:{cursor:"pointer",color:"#409eff"},attrs:{type:"text"},on:{click:e.handleSelectAllData}},[e._v(" 选择全部"+e._s(e.total)+"条数据 ")])]],2)],1):e._e(),a("el-table",{ref:"tagTable",staticStyle:{width:"100%"},attrs:{data:e.tagList,"row-key":e.getRowKey},on:{"selection-change":e.handleSelectionChange,"select-all":e.handleSelectAll}},[a("el-table-column",{attrs:{type:"selection",width:"55","reserve-selection":!0}}),a("el-table-column",{attrs:{prop:"id",label:"ID",width:"80"}}),a("el-table-column",{attrs:{prop:"name",label:"标签名称"}}),a("el-table-column",{attrs:{prop:"category.name",label:"所属分类"}}),a("el-table-column",{attrs:{prop:"",label:"已绑定文献数量"},scopedSlots:e._u([{key:"default",fn:function(t){return[null!==t.row.literature_id?a("span",[e._v(e._s(JSON.parse(t.row.literature_id).length))]):a("span",[e._v("0")])]}}])}),a("el-table-column",{attrs:{prop:"create_time",label:"创建时间",sortable:""},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(new Date(t.row.create_time).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,formatMatcher:"basic"}).replace(/\//g,"-"))+" ")]}}])}),a("el-table-column",{attrs:{label:"操作",width:"180"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(a){return e.handleEdit(t.row)}}},[e._v("编辑")]),a("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(a){return e.handleDelete(t.row)}}},[e._v("删除")])]}}])})],1),a("div",{staticClass:"pagination-container"},[a("el-pagination",{attrs:{"current-page":e.queryParams.pageNum,"page-sizes":[10,20,50,100],"page-size":e.queryParams.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),a("el-dialog",{attrs:{title:e.dialogTitle,visible:e.dialogVisible,width:"500px"},on:{"update:visible":function(t){e.dialogVisible=t}}},[a("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"80px"}},[a("el-form-item",{attrs:{label:"标签名称",prop:"name"}},[a("el-input",{attrs:{placeholder:"请输入标签名称(以,隔开可批量增加)"},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),a("el-form-item",{attrs:{label:"所属分类"}},[a("el-select",{attrs:{placeholder:"请选择分类",clearable:""},model:{value:e.form.category_id,callback:function(t){e.$set(e.form,"category_id",t)},expression:"form.category_id"}},e._l(e.categoriesList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1)],1),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")])],1)],1),a("el-dialog",{attrs:{title:"绑定分类",visible:e.categoryDialogVisible,width:"400px"},on:{"update:visible":function(t){e.categoryDialogVisible=t}}},[a("el-form",{attrs:{model:e.categoryForm}},[a("el-form-item",{attrs:{label:"选择分类"}},[a("el-select",{attrs:{clearable:"",placeholder:"请选择分类"},model:{value:e.categoryForm.category_id,callback:function(t){e.$set(e.categoryForm,"category_id",t)},expression:"categoryForm.category_id"}},e._l(e.categoriesList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1)],1),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.categoryDialogVisible=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.submitCategoryBinding}},[e._v("确 定")])],1)],1)],1)},s=[],i=a("c7eb"),n=a("1da1"),l=a("ade3"),c=(a("7db0"),a("a630"),a("d81d"),a("b0c0"),a("4ec9"),a("d3b7"),a("3ca3"),a("159b"),a("ddb0"),a("db6a")),o=a("bc3a"),u=a.n(o),d={name:"TagManagement",data:function(){return Object(l["a"])(Object(l["a"])(Object(l["a"])({queryParams:{pageNum:1,pageSize:10,name:"",category_id:""},tagList:[],total:0,dialogVisible:!1,dialogTitle:"",form:{id:void 0,name:"",category_id:null},rules:{name:[{required:!0,message:"请输入标签名称",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"}]},loading:!1,selectedTags:[],categoriesList:[],categoryDialogVisible:!1,categoryForm:{category_id:null}},"selectedTags",[]),"allSelectedTags",new Map),"isAllDataSelected",!1)},created:function(){this.getList(),this.cateList()},computed:{selectionText:function(){var e=this.isAllDataSelected?this.total:this.allSelectedTags.size;return"已选择 ".concat(e," 项")}},methods:{handleSelectAllData:function(){var e=this;return Object(n["a"])(Object(i["a"])().mark((function t(){var a,r,s;return Object(i["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,a={page:1,pagesize:e.total,keyword:e.queryParams.name,category_id:e.queryParams.category_id},t.next=4,Object(c["eb"])(a);case 4:r=t.sent,200===r.status&&(s=r.data.data.items||[],e.allSelectedTags.clear(),s.forEach((function(t){e.allSelectedTags.set(t.id,t)})),e.isAllDataSelected=!0,e.$nextTick((function(){e.$refs.tagTable&&e.tagList.forEach((function(t){e.$refs.tagTable.toggleRowSelection(t,!0)}))})),e.$message.success("已选中全部".concat(e.total,"条数据"))),t.next=12;break;case 8:t.prev=8,t.t0=t["catch"](0),console.error("获取全部数据失败:",t.t0),e.$message.error("选择全部数据失败");case 12:case"end":return t.stop()}}),t,null,[[0,8]])})))()},handleCancelAllSelection:function(){this.clearSelection(),this.isAllDataSelected=!1,this.$message.info("已取消全部选择")},getRowKey:function(e){return e.id},handleSelectionChange:function(e){var t=this;this.selectedTags=e,this.isAllDataSelected||(e.forEach((function(e){t.allSelectedTags.set(e.id,e)})),this.tagList.forEach((function(a){e.find((function(e){return e.id===a.id}))||t.allSelectedTags.delete(a.id)})))},handleSelectAll:function(e){var t=this;e.length>0?this.$message.success("已全选当前页".concat(e.length,"个标签")):(this.tagList.forEach((function(e){t.allSelectedTags.delete(e.id)})),this.$message.info("已取消选中当前页全部标签"))},handleCurrentChange:function(e){var t=this;return Object(n["a"])(Object(i["a"])().mark((function a(){return Object(i["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return t.queryParams.pageNum=e,a.next=3,t.getList();case 3:t.$nextTick((function(){t.$refs.tagTable&&t.tagList.forEach((function(e){t.allSelectedTags.has(e.id)&&t.$refs.tagTable.toggleRowSelection(e,!0)}))}));case 4:case"end":return a.stop()}}),a)})))()},handleSizeChange:function(e){var t=this;return Object(n["a"])(Object(i["a"])().mark((function a(){return Object(i["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return t.queryParams.pageSize=e,t.queryParams.pageNum=1,a.next=4,t.getList();case 4:t.$nextTick((function(){t.$refs.tagTable&&t.tagList.forEach((function(e){t.allSelectedTags.has(e.id)&&t.$refs.tagTable.toggleRowSelection(e,!0)}))}));case 5:case"end":return a.stop()}}),a)})))()},handleBatchCategory:function(){var e=this.isAllDataSelected?this.total:this.allSelectedTags.size;0!==e?this.categoryDialogVisible=!0:this.$message.warning("请至少选择一个标签")},submitCategoryBinding:function(){var e=this;return Object(n["a"])(Object(i["a"])().mark((function t(){var a,r;return Object(i["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,a={tag_ids:e.selectedTags.map((function(e){return e.id})),category_id:e.categoryForm.category_id},t.next=4,Object(c["k"])(a);case 4:r=t.sent,200===r.status?(e.$message.success("分类绑定成功"),e.categoryDialogVisible=!1,e.getList()):e.$message.error(r.msg||"分类绑定失败"),t.next=12;break;case 8:t.prev=8,t.t0=t["catch"](0),console.error("绑定分类出错:",t.t0),e.$message.error("分类绑定失败");case 12:case"end":return t.stop()}}),t,null,[[0,8]])})))()},cateList:function(){var e=this;Object(c["j"])().then((function(t){200===t.status&&(e.categoriesList=t.data.data.items)}))},handleBatchDelete:function(){var e=this,t=this.isAllDataSelected?this.total:this.allSelectedTags.size;0!==t?this.$confirm("确认删除选中的 ".concat(t," 个标签吗?"),"提示",{type:"warning"}).then(Object(n["a"])(Object(i["a"])().mark((function a(){var r,s,n,l;return Object(i["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:if(a.prev=0,!e.isAllDataSelected){a.next=8;break}return a.next=4,Object(c["eb"])({page:1,size:e.total,keyword:e.queryParams.name,category_id:e.queryParams.category_id});case 4:s=a.sent,r=s.data.data.items.map((function(e){return e.id})),a.next=9;break;case 8:r=Array.from(e.allSelectedTags.keys());case 9:return n={tag_ids:r},a.next=12,Object(c["Y"])(n);case 12:l=a.sent,200===l.status?(e.$message.success("成功删除".concat(t,"个标签")),e.clearSelection(),e.getList()):e.$message.error(l.msg||"批量删除失败"),a.next=20;break;case 16:a.prev=16,a.t0=a["catch"](0),console.error("批量删除标签出错:",a.t0),e.$message.error("批量删除失败");case 20:case"end":return a.stop()}}),a,null,[[0,16]])})))):this.$message.warning("请至少选择一个标签")},getList:function(){var e=this;return Object(n["a"])(Object(i["a"])().mark((function t(){var a,r;return Object(i["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,e.loading=!0,a={page:e.queryParams.pageNum,pagesize:e.queryParams.pageSize,keyword:e.queryParams.name,category_id:e.queryParams.category_id},t.next=5,e.queryParams.name,Object(c["eb"])(a);case 5:r=t.sent,console.log(r),200===r.status?(e.tagList=r.data.data.items||[],e.total=r.data.data.total||0):e.$message.error(r.msg||"获取标签列表失败"),t.next=14;break;case 10:t.prev=10,t.t0=t["catch"](0),console.error("获取标签列表出错:",t.t0),e.$message.error("获取标签列表失败");case 14:return t.prev=14,e.loading=!1,t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[0,10,14,17]])})))()},handleDelete:function(e){var t=this;this.$confirm("确认删除该标签吗?","提示",{type:"warning"}).then(Object(n["a"])(Object(i["a"])().mark((function a(){var r,s;return Object(i["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,r={tag_ids:[e.id]},a.next=4,u.a.post("".concat("http://58.34.94.147:8084","/literature-tags/remove_tags/"),r,{headers:{"Content-Type":"application/json"}});case 4:s=a.sent,200===s.status?(t.$message.success("删除成功"),t.getList()):t.$message.error(s.msg||"删除失败"),a.next=12;break;case 8:a.prev=8,a.t0=a["catch"](0),console.error("删除标签出错:",a.t0),t.$message.error("删除失败");case 12:case"end":return a.stop()}}),a,null,[[0,8]])})))).catch((function(){}))},submitForm:function(){var e=this;this.$refs.form.validate(function(){var t=Object(n["a"])(Object(i["a"])().mark((function t(a){var r,s;return Object(i["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!a){t.next=17;break}if(t.prev=1,e.form.id){t.next=10;break}return r={tag_names:e.form.name.split(","),category_id:e.form.category_id},t.next=6,u.a.post("".concat("http://58.34.94.147:8084","/literature-tags/add_tags/"),r,{headers:{"Content-Type":"application/json"}});case 6:s=t.sent,200===s.status?(e.$message.success("添加成功"),e.dialogVisible=!1,e.getList()):e.$message.error(s.msg||"添加失败"),t.next=11;break;case 10:Object(c["x"])({name:e.form.name,id:e.form.id,category_id:e.form.category_id}).then((function(t){200===t.status&&(e.$message.success("修改成功"),e.dialogVisible=!1,e.getList())}));case 11:t.next=17;break;case 13:t.prev=13,t.t0=t["catch"](1),console.error("提交表单出错:",t.t0),e.$message.error("操作失败");case 17:case"end":return t.stop()}}),t,null,[[1,13]])})));return function(e){return t.apply(this,arguments)}}())},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},clearSelection:function(){this.$refs.tagTable&&this.$refs.tagTable.clearSelection(),this.selectedTags=[],this.allSelectedTags.clear(),this.isAllDataSelected=!1},resetQuery:function(){this.queryParams={pageNum:1,pageSize:10,name:"",category_id:""},this.clearSelection(),this.getList()},handleAdd:function(){this.dialogTitle="添加标签",this.form={id:void 0,name:""},this.dialogVisible=!0},handleEdit:function(e){this.dialogTitle="编辑标签",this.form={id:e.id,name:e.name,category_id:e.category.id},this.dialogVisible=!0}}},g=d,m=(a("0f25"),a("2877")),f=Object(m["a"])(g,r,s,!1,null,"6e82ceff",null);t["default"]=f.exports}}]);
|