Quellcode durchsuchen

报销人员初始化功能

user5 vor 3 Jahren
Ursprung
Commit
6c0287d342

+ 7 - 0
src/api/reimbursementSys/accountant/user/reimbursementUserService.js

@@ -63,4 +63,11 @@ export default class reimbursementSys {
       data: data
     })
   }
+
+  initialize () {
+    return request({
+      url: '/accountant/reimbursementUser/initialize',
+      method: 'post'
+    })
+  }
 }

+ 7 - 0
src/api/reimbursementSys/user/reimbursementUserService.js

@@ -63,4 +63,11 @@ export default class reimbursementSys {
       data: data
     })
   }
+
+  initialize () {
+    return request({
+      url: '/reimbursementUser/initialize',
+      method: 'post'
+    })
+  }
 }

+ 21 - 1
src/views/modules/reimbursementSys/accountant/user/reimbursementUserList.vue

@@ -38,6 +38,7 @@
             <el-button v-if="hasPermission('accountant:reimbursementUser:add')" type="primary" icon="el-icon-plus" size="small" @click="add()">新增</el-button>
             <el-button v-if="hasPermission('accountant:reimbursementUser:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.reimbursementUserTable && $refs.reimbursementUserTable.getCheckboxRecords().length === 0" plain>删除</el-button>
             <el-button v-if="hasPermission('accountant:reimbursementUser:import')"  type="default" @click="downloadTpl()" size="small">下载模板</el-button>
+            <el-button v-if="hasPermission('accountant:reimbursementUser:add')" type="success" icon="el-icon-success" size="small" @click="initialize()">初始化</el-button>
           </el-row>
         </template>
       </vxe-toolbar>
@@ -229,8 +230,27 @@ export default {
             type: 'success',
             duration: 1500
           })
+          this.refreshList()
+        })
+      })
+    },
+    // 初始化按钮
+    initialize () {
+      this.$confirm(`确定初始化人员信息吗?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.loading = true
+        this.reimbursementUser.initialize().then(({data}) => {
+          this.loading = false
+          this.$message({
+            message: data,
+            type: 'success',
+            duration: 1500
+          })
+          this.refreshList()
         })
-        this.refreshList()
       })
     }
   }

+ 47 - 1
src/views/modules/reimbursementSys/user/reimbursementUserList.vue

@@ -37,6 +37,8 @@
           <el-row>
             <el-button v-if="hasPermission('reimbursementUser:add')" type="primary" icon="el-icon-plus" size="small" @click="add()">新增</el-button>
             <el-button v-if="hasPermission('reimbursementUser:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()" :disabled="$refs.reimbursementUserTable && $refs.reimbursementUserTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+            <el-button v-if="hasPermission('reimbursementUser:import')"  type="default" @click="downloadTpl()" size="small">下载模板</el-button>
+            <el-button v-if="hasPermission('reimbursementUser:add')" type="success" icon="el-icon-success" size="small" @click="initialize()">初始化</el-button>
           </el-row>
         </template>
       </vxe-toolbar>
@@ -54,6 +56,10 @@
           highlight-hover-row
           :menu-config="{}"
           :print-config="{}"
+          :import-config="{
+                    importMethod: importMethod,
+                    types: ['xls', 'xlsx'],
+                    remote: true}"
           :export-config="{}"
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
@@ -169,6 +175,27 @@ export default {
       }
       this.refreshList()
     },
+    // 自定义服务端导入
+    importMethod ({ file }) {
+      // 处理表单
+      const formBody = new FormData()
+      formBody.append('file', file)
+      this.reimbursementUser.importExcel(formBody).then(result => {
+        this.$message.success(result.data)
+        this.refreshList()
+      })
+    },
+    // 下载模板
+    downloadTpl () {
+      this.reimbursementUser.exportTemplate().then((res) => {
+        // 将二进制流文件写入excel表,以下为重要步骤
+        this.$utils.downloadExcel(res.data, '报销人员导入模板')
+      }).catch(function (err) {
+        if (err.response) {
+          console.log(err.response)
+        }
+      })
+    },
     // 新增
     add () {
       this.$refs.reimbursementUserForm.init('add', {id: '', parent: {id: '', name: ''}})
@@ -203,8 +230,27 @@ export default {
             type: 'success',
             duration: 1500
           })
+          this.refreshList()
+        })
+      })
+    },
+    // 初始化按钮
+    initialize () {
+      this.$confirm(`确定初始化人员信息吗?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.loading = true
+        this.reimbursementUser.initialize().then(({data}) => {
+          this.loading = false
+          this.$message({
+            message: data,
+            type: 'success',
+            duration: 1500
+          })
+          this.refreshList()
         })
-        this.refreshList()
       })
     }
   }