Browse Source

组织架构新增导入功能

zhangjie 2 years ago
parent
commit
ec154d0b47

+ 37 - 2
src/modules/base/views/OrganizationManage.vue

@@ -1,5 +1,28 @@
 <template>
   <div class="organization-manage">
+    <div class="box-justify mb-2">
+      <div></div>
+      <div>
+        <el-button
+          type="success"
+          icon="el-icon-download"
+          v-if="checkPrivilege('button', 'export')"
+          ><a :href="downloadUrl" :download="dfilename">模板下载</a></el-button
+        >
+        <upload-button
+          v-if="checkPrivilege('button', 'export')"
+          btn-icon="el-icon-circle-plus-outline"
+          btn-content="导入组织架构"
+          btn-type="success"
+          :upload-url="uploadUrl"
+          :format="['xls', 'xlsx']"
+          accept=".xls,.xlsx"
+          @valid-error="validError"
+          @upload-success="uploadSuccess"
+        >
+        </upload-button>
+      </div>
+    </div>
     <div class="part-box part-box-pad part-box-border">
       <div class="org-tree-head">
         <div>机构名称</div>
@@ -72,10 +95,11 @@
 <script>
 import { organizationList, deleteOrganization } from "../api";
 import ModifyOrganization from "../components/ModifyOrganization";
+import UploadButton from "../../../components/UploadButton";
 
 export default {
   name: "organization-manage",
-  components: { ModifyOrganization },
+  components: { ModifyOrganization, UploadButton },
   data() {
     return {
       orgs: [],
@@ -83,7 +107,11 @@ export default {
       orgTypes: [{ type: "PRINTING_HOUSE", name: "印刷室" }],
       defaultProps: {
         label: "name"
-      }
+      },
+      // import
+      uploadUrl: "/api/admin/sys/user/import",
+      downloadUrl: "/temps/userTemplate.xlsx",
+      dfilename: "组织架构导入模板.xlsx"
     };
   },
   mounted() {
@@ -155,6 +183,13 @@ export default {
           this.$message.success("删除成功!");
         })
         .catch(() => {});
+    },
+    // import
+    validError(errorData) {
+      this.$message.error(errorData.message);
+    },
+    uploadSuccess() {
+      this.getList();
     }
   }
 };

+ 2 - 2
src/modules/base/views/PrintTemplateManage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="template-manage">
+  <div class="print-template-manage">
     <div class="part-box part-box-filter part-box-flex">
       <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
         <template v-if="checkPrivilege('condition', 'condition')">
@@ -170,7 +170,7 @@ import { templateListPage, ableTemplate, templateContentView } from "../api";
 import ModifyPrintTemplate from "../components/ModifyPrintTemplate";
 
 export default {
-  name: "template-manage",
+  name: "print-template-manage",
   components: {
     ModifyPrintTemplate
   },