| 1 |
- webpackJsonp([3],{"3zER":function(e,t,a){"use strict";var o=a("t4zo"),n=a.n(o),i=a("uXZL"),l=a.n(i),r={name:"ExportExcel",props:{exportTable:{type:Array,required:!0,default:[]},exportTitle:{type:Array,required:!0,default:[]},excelName:{type:String,required:!0,default:"Data"},showExportBtn:{type:Boolean,required:!1,default:!0},btnSize:{type:String,required:!1,default:"default"}},data:function(){return{}},methods:{export_data:function(){var e=this;if(!this.exportTable.length)return this.$message.warning("表格为空,无法导出...");var t=l.a.utils.table_to_book(document.querySelector("#out-table")),a=l.a.write(t,{bookType:"xlsx",bookSST:!0,type:"array"});try{n.a.saveAs(new Blob([a],{type:"application/octet-stream"}),this.$dayjs().format("YYYY-MM-DD")+"-"+this.excelName+".xlsx"),setTimeout(function(){return e.$message.success("表格导出成功...")},1e3)}catch(e){"undefined"!=typeof console&&console.log(e,a)}return a}},mounted:function(){}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"export_tools"},[a("div",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}]},[a("el-table",{staticStyle:{width:"100%"},attrs:{id:"out-table",data:e.exportTable}},[e._l(e.exportTitle,function(t,o){return[t.isExport?a("el-table-column",{key:o,attrs:{prop:t.prop,label:t.label,align:"center"},scopedSlots:e._u([{key:"default",fn:function(o){return[a("span",[e._v(e._s(o.row[t.prop]?o.row[t.prop]:"-"))])]}}],null,!0)}):e._e()]})],2)],1),e._v(" "),e.showExportBtn?a("el-button",{directives:[{name:"debounce",rawName:"v-debounce",value:e.export_data,expression:"export_data"}],attrs:{type:"primary",size:e.btnSize,icon:"el-icon-download"}},[e._v("导出表格")]):e._e()],1)},staticRenderFns:[]};var d=a("VU/8")(r,s,!1,function(e){a("QZk7")},"data-v-68043684",null);t.a=d.exports},F3Mw:function(e,t){},QZk7:function(e,t){},ch0R:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a("mvHQ"),n=a.n(o),i=a("//Fk"),l=a.n(i),r=a("fZjL"),s=a.n(r),d=a("ifoU"),c=a.n(d),_=a("gyMJ"),u={name:"OrgManagement",data:function(){return{add_edit_dialogVisible:!1,upload_dialogVisible:!1,dialog_title:"",tableData:[],copy_tableData:[],search:"",currpage:1,pageSize:15,currentPage:null,isEdit:!1,add_or_edit_org:{id:"",name:"",type:"",up:""},org_type:[{label:"集团",value:"group"},{label:"局",value:"bureau"},{label:"段",value:"section"},{label:"车间",value:"workshop"},{label:"车站",value:"station"},{label:"道岔",value:"mo"}],org_list_map:new c.a,body:"",headers:{id:"",token:this.$store.state.token,"Content-Type":"application/octet-stream"},get_svg_headers:{token:this.$store.state.token},download_file:{id:"",name:""},org_filter:"",excel_name:"机构数据",export_title:[{prop:"id",label:"机构编号",isExport:!0},{prop:"name",label:"机构名称",isExport:!0},{prop:"type",label:"机构类型",isExport:!0},{prop:"up_name",label:"所属区域",isExport:!0},{prop:"updatetime",label:"更新时间",isExport:!0}],export_table:[],btnSize:"small"}},components:{"export-excel":a("3zER").a},computed:{getSearchInfo:function(){var e=this.search;return e?(this.currpage=1,this.currentPage=1,this.tableData.filter(function(t){return s()(t).some(function(a){if(["name","id","up_name"].includes(a))return t[a].toLowerCase().indexOf(e.toLowerCase())>-1})})):this.tableData},computed_area_list:function(){var e=this;if(!this.add_or_edit_org.type)return[];var t=this.org_type.findIndex(function(t){return t.value==e.add_or_edit_org.type});return 0==t?[]:this.tableData.filter(function(a){return a.type===e.org_type[t-1].value})}},methods:{org_filter_change:function(e){this.currpage=1,this.currentPage=1,this.tableData=e?this.copy_tableData.filter(function(t){return t.type==e}):this.copy_tableData},upload_svg:function(e){this.headers.id=encodeURIComponent(e.id),this.upload_dialogVisible=!0},cancel_upload:function(){this.upload_dialogVisible=!1,this.headers.id="",this.$refs.upload.clearFiles()},confirm_upload:function(){var e=this;if(!this.body)return this.$message.warning("请先选择文件...");Object(_.z)(this.body,this.headers).then(function(t){return e.cancel_upload(),e.$message.success("上传成功...")}).catch(function(e){console.log(e)})},handleExceed:function(){return this.$message.warning("只能上传一个文件...")},uploadError:function(e){return console.log(e),this.$message.error("上传失败...")},remove_svg:function(){this.body=""},handle_svg_change:function(e,t){var a=this;this.uploadImgToBase64(e.raw).then(function(e){a.body=a.convertImgDataToBlob(e.result)})},uploadImgToBase64:function(e){return new l.a(function(t,a){var o=new FileReader;o.readAsDataURL(e),o.onload=function(){t(o)},o.onerror=a})},convertImgDataToBlob:function(e){for(var t=e,a=window.atob(t.split(",")[1]),o=new window.ArrayBuffer(a.length),n=new window.Uint8Array(o),i=0;i<a.length;i++)n[i]=255&a.charCodeAt(i);var l=null;try{l=new Blob([n],{type:"image/svg+xml"})}catch(e){if(window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,"TypeError"==e.name&&window.BlobBuilder){var r=new window.BlobBuilder;r.append(n.buffer),l=r.getBlob("image/svg+xml")}else"InvalidStateError"==e.name&&(l=new Blob([o],{type:"image/svg+xml"}))}return l},format_org_type:function(e){return this.org_type.find(function(t){return t.value==e}).label},org_type_change:function(){this.add_or_edit_org.up=""},handle_current_change:function(e){this.currpage=e},handle_size_change:function(e){this.pageSize=e},download_svg:function(e){var t=this;this.download_file.id=e.id,this.download_file.name=e.name,Object(_.r)({id:e.id},this.get_svg_headers).then(function(e){return e.result?t.get_svg_data():t.$message.warning("无数据...")}).catch(function(e){console.log(e)})},get_svg_data:function(){var e=this;Object(_.m)({id:this.download_file.id},this.get_svg_headers).then(function(t){var a=new Blob([t],{type:"image/svg+xml"}),o=URL.createObjectURL(a),n=document.createElement("a");document.body.append(n),n.href=o,n.download=e.download_file.name,n.rel="noopener noreferrer",n.click(),document.body.removeChild(n)}).catch(function(e){console.log(e)})},get_org_list:function(){var e=this;Object(_.x)().then(function(t){e.tableData=t,e.copy_tableData=t,e.export_table=JSON.parse(n()(t)),e.export_table.forEach(function(t,a){t.type=e.org_type.find(function(e){return e.value==t.type}).label}),e.org_list_map=new c.a,t.forEach(function(t){return e.org_list_map.set(t.up,t.name)})}).catch(function(e){console.log(e)})},handle_del:function(e){var t=this;if(this.org_list_map.get(e.id))return this.$message.warning("该机构下有子机构,请先删除子机构");this.$confirm("此操作将删除该设备, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(_.w)({id:e.id}).then(function(e){return t.$message.success("删除成功..."),t.get_org_list()}).catch(function(e){console.log(e)})}).catch(function(){})},handle_click_add:function(){this.dialog_title="新增机构",this.add_edit_dialogVisible=!0,this.isEdit=!1},confirm_add_edit:function(){var e=this;if(!["id","type","name","up"].every(function(t){return""!=e.add_or_edit_org[t]}))return this.$message.warning("请检查必填项...");if("编辑机构"==this.dialog_title)Object(_.y)(this.add_or_edit_org).then(function(t){return e.$message.success("编辑机构成功..."),e.cancel_add_edit(),e.get_org_list()}).catch(function(e){console.log(e)});else{if(this.tableData.find(function(t){return t.id==e.add_or_edit_org.id}))return this.add_or_edit_org.id="",this.$message.warning("机构编号重复, 请重新填写机构编号...");Object(_.v)(this.add_or_edit_org).then(function(t){return e.$message.success("新增机构成功..."),e.cancel_add_edit(),e.get_org_list()}).catch(function(e){console.log(e)})}},cancel_add_edit:function(){var e=this;this.add_edit_dialogVisible=!1,setTimeout(function(){e.add_or_edit_org={id:"",up:"",name:"",type:""}},500)},handle_edit:function(e){this.dialog_title="编辑机构",this.isEdit=!0,this.add_edit_dialogVisible=!0,this.add_or_edit_org.id=e.id,this.add_or_edit_org.name=e.name,this.add_or_edit_org.type=e.type,this.add_or_edit_org.up=e.up_name}},mounted:function(){this.get_org_list()}},p={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"org_list"},[a("div",{staticClass:"tool"},[e.$store.state.admin?a("el-button",{attrs:{icon:"el-icon-plus",size:"small",type:"primary"},on:{click:e.handle_click_add}},[e._v("新增机构")]):e._e(),e._v(" "),e.$store.state.admin?a("export-excel",{staticStyle:{"margin-left":"8px"},attrs:{exportTable:e.export_table,excelName:e.excel_name,btnSize:e.btnSize,exportTitle:e.export_title}}):e._e(),e._v(" "),a("el-select",{staticStyle:{width:"200px",margin:"0 8px"},attrs:{size:"small",filterable:"",clearable:"","popper-append-to-body":!1,placeholder:"机构类型筛选"},on:{change:e.org_filter_change},model:{value:e.org_filter,callback:function(t){e.org_filter=t},expression:"org_filter"}},e._l(e.org_type,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("el-input",{staticStyle:{width:"300px"},attrs:{size:"small",clearable:"",placeholder:"可对机构编号、机构名称、所属区域搜索","prefix-icon":"el-icon-search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}})],1),e._v(" "),a("div",{staticClass:"table_box"},[a("el-table",{attrs:{data:e.getSearchInfo.slice((e.currpage-1)*e.pageSize,e.currpage*e.pageSize)}},[a("el-table-column",{attrs:{prop:"id",align:"center",label:"机构编号"}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",align:"center",label:"机构名称"}}),e._v(" "),a("el-table-column",{attrs:{prop:"type",align:"center",label:"机构类型"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("span",[e._v(e._s(e.format_org_type(t.row.type)))])]}}])}),e._v(" "),a("el-table-column",{attrs:{align:"center",label:"所属区域"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("span",[e._v(e._s(t.row.up_name||"-"))])]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"updatetime",align:"center",label:"更新时间"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("span",[e._v(e._s(t.row.updatetime||"-"))])]}}])}),e._v(" "),e.$store.state.admin?a("el-table-column",{attrs:{align:"left",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-link",{attrs:{type:"primary"},on:{click:function(a){return e.handle_edit(t.row)}}},[e._v("编辑")]),e._v(" "),"station"==t.row.type&&"system"==e.$store.state.user_name?a("span",[e._v("|"),a("el-link",{attrs:{type:"primary"},on:{click:function(a){return e.upload_svg(t.row)}}},[e._v("上传")]),e._v("|"),a("el-link",{attrs:{type:"primary"},on:{click:function(a){return e.download_svg(t.row)}}},[e._v("下载")])],1):e._e(),e._v("\n |"),a("el-link",{attrs:{type:"danger"},on:{click:function(a){return e.handle_del(t.row)}}},[e._v("删除")])]}}],null,!1,1300542255)}):e._e()],1),e._v(" "),a("el-pagination",{attrs:{background:"","page-size":e.pageSize,"page-sizes":[15,50,100],"current-page":e.currentPage,total:e.getSearchInfo.length,layout:"sizes, total, prev, pager, next, jumper"},on:{"update:currentPage":function(t){e.currentPage=t},"update:current-page":function(t){e.currentPage=t},"size-change":e.handle_size_change,"current-change":e.handle_current_change}})],1),e._v(" "),a("div",{staticClass:"add_user"},[a("el-dialog",{attrs:{width:"350px",title:e.dialog_title,"lock-scroll":!0,"show-close":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,visible:e.add_edit_dialogVisible},on:{close:e.cancel_add_edit,"update:visible":function(t){e.add_edit_dialogVisible=t}}},[a("div",{staticClass:"add_dialog"},[a("span",{staticClass:"label_text"},[a("span",{staticClass:"mark"},[e._v("*")]),e._v("机构名称")]),e._v(" "),a("el-input",{attrs:{size:"small",placeholder:"请输入机构名称"},model:{value:e.add_or_edit_org.name,callback:function(t){e.$set(e.add_or_edit_org,"name",t)},expression:"add_or_edit_org.name"}}),e._v(" "),a("span",{staticClass:"label_text"},[a("span",{staticClass:"mark"},[e._v("*")]),e._v("机构编号")]),e._v(" "),a("el-input",{attrs:{size:"small",placeholder:"请输入机构编号",disabled:e.isEdit},model:{value:e.add_or_edit_org.id,callback:function(t){e.$set(e.add_or_edit_org,"id",t)},expression:"add_or_edit_org.id"}}),e._v(" "),a("span",{staticClass:"label_text"},[a("span",{staticClass:"mark"},[e._v("*")]),e._v("机构类型")]),e._v(" "),a("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",disabled:e.isEdit,filterable:"","popper-append-to-body":!1,placeholder:"请选择机构类型"},on:{change:e.org_type_change},model:{value:e.add_or_edit_org.type,callback:function(t){e.$set(e.add_or_edit_org,"type",t)},expression:"add_or_edit_org.type"}},e._l(e.org_type,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("span",{staticClass:"label_text"},[a("span",{staticClass:"mark"},[e._v("*")]),e._v("所属区域")]),e._v(" "),a("el-select",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",disabled:e.isEdit,"popper-append-to-body":!1,placeholder:"请选择所属区域","no-data-text":"请先选择机构类型"},model:{value:e.add_or_edit_org.up,callback:function(t){e.$set(e.add_or_edit_org,"up",t)},expression:"add_or_edit_org.up"}},e._l(e.computed_area_list,function(e,t){return a("el-option",{key:t,attrs:{label:e.name,value:e.id}})}),1)],1),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("span",{staticStyle:{color:"red"}},[e._v("*")]),e._v("为必填项\n "),a("el-button",{attrs:{size:"small"},on:{click:e.cancel_add_edit}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.confirm_add_edit}},[e._v("确 定")])],1)])],1),e._v(" "),a("div",{staticClass:"upload_svg"},[a("el-dialog",{attrs:{width:"400px",title:"上传图片","lock-scroll":!0,"show-close":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,visible:e.upload_dialogVisible},on:{close:e.cancel_upload,"update:visible":function(t){e.upload_dialogVisible=t}}},[a("el-upload",{ref:"upload",attrs:{drag:"",action:"#",accept:".svg",limit:1,"on-remove":e.remove_svg,"on-error":e.uploadError,"on-exceed":e.handleExceed,"on-change":e.handle_svg_change,"auto-upload":!1}},[a("i",{staticClass:"el-icon-upload"}),e._v(" "),a("div",{staticClass:"el-upload__text"},[e._v("将文件拖到此处,或"),a("em",[e._v("点击上传")])]),e._v(" "),a("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[e._v("只可上传一张.svg格式图片")])]),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"small"},on:{click:e.cancel_upload}},[e._v("取 消")]),e._v(" "),a("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.confirm_upload}},[e._v("上 传")])],1)],1)],1)])},staticRenderFns:[]};var g=a("VU/8")(u,p,!1,function(e){a("F3Mw")},"data-v-68a6c4b5",null);t.default=g.exports}});
|