Ver código fonte

员工管理界面增加excel导入按钮

jzp 1 mês atrás
pai
commit
2606b9d4d1
1 arquivos alterados com 55 adições e 52 exclusões
  1. 55 52
      src/views/company/companyUser/index.vue

+ 55 - 52
src/views/company/companyUser/index.vue

@@ -49,9 +49,9 @@
           <el-col :span="1.5">
             <el-button  plain type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['company:user:remove']">删除</el-button>
           </el-col>
-          <!-- <el-col :span="1.5">
+          <el-col :span="1.5">
             <el-button  plain type="info" icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['company:user:import']">导入</el-button>
-          </el-col> -->
+          </el-col>
           <el-col :span="1.5">
             <el-button  plain type="warning" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['company:user:export']">导出</el-button>
           </el-col>
@@ -166,9 +166,9 @@
         <el-button @click="qwCancel">取 消</el-button>
       </div>
     </el-dialog>
-	
+
 	<el-dialog title="选择企微主体" :visible.sync="synNameOpen" width="800px" append-to-body>
-	
+
 	  <el-form   label-width="80px">
 	    <el-form-item label="企微公司" prop="corpId">
 	      <el-select v-model="synNameform.corpId" placeholder="企微公司"  >
@@ -186,7 +186,7 @@
 	    <el-button @click="synNameOpen=false">取 消</el-button>
 	  </div>
 	</el-dialog>
-	
+
     <el-dialog title="选择企微主体" :visible.sync="synOpen" width="800px" append-to-body>
 
       <el-form   label-width="80px">
@@ -322,25 +322,25 @@
       </div>
     </el-dialog>
 
-<!--    &lt;!&ndash; 用户导入对话框 &ndash;&gt;-->
-<!--    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>-->
-<!--      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>-->
-<!--        <i class="el-icon-upload"></i>-->
-<!--        <div class="el-upload__text">-->
-<!--          将文件拖到此处,或-->
-<!--          <em>点击上传</em>-->
-<!--        </div>-->
-<!--        <div class="el-upload__tip" slot="tip">-->
-<!--          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据-->
-<!--          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>-->
-<!--        </div>-->
-<!--        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>-->
-<!--      </el-upload>-->
-<!--      <div slot="footer" class="dialog-footer">-->
-<!--        <el-button type="primary" @click="submitFileForm">确 定</el-button>-->
-<!--        <el-button @click="upload.open = false">取 消</el-button>-->
-<!--      </div>-->
-<!--    </el-dialog>-->
+    <!-- 用户导入对话框 -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?deptId=' + upload.deptId" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <!--          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据-->
+          <span>仅允许导入xls、xlsx格式文件。</span>
+          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
+        </div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
     <el-dialog :title="user.title" :visible.sync="user.open" width="1000px" append-to-body>
       <selectUser ref="selectUser" @bindQwUser="bindQwUser"></selectUser>
     </el-dialog>
@@ -458,21 +458,23 @@ export default {
         children: "children",
         label: "label",
       },
-      // // 用户导入参数
-      // upload: {
-      //   // 是否显示弹出层(用户导入)
-      //   open: false,
-      //   // 弹出层标题(用户导入)
-      //   title: "",
-      //   // 是否禁用上传
-      //   isUploading: false,
-      //   // 是否更新已经存在的用户数据
-      //   updateSupport: 0,
-      //   // 设置上传的请求头部
-      //   headers: { Authorization: "Bearer " + getToken() },
-      //   // 上传的地址
-      //   url: process.env.VUE_APP_BASE_API + "/system/user/importData",
-      // },
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        //用户职位
+        deptId: 0,
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/company/user/importData",
+      },
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -807,7 +809,7 @@ export default {
         loadingRock.close();
       });
     },
-	
+
 	synNameSubmitForm() {
       this.synNameOpen=false;
       this.loading=true;
@@ -831,8 +833,8 @@ export default {
         loadingRock.close();
       });
     },
-	
-	
+
+
     /**
     * 同步企业微信部门
     */
@@ -865,11 +867,11 @@ export default {
         loadingRock.close()
       });
     },
-	
-	
-	
-	
-	
+
+
+
+
+
     /** 删除按钮操作 */
     handleDelete(row) {
       const userIds = row.userId || this.ids;
@@ -907,11 +909,12 @@ export default {
         })
         .catch(function () {});
     },
-    // /** 导入按钮操作 */
-    // handleImport() {
-    //   this.upload.title = "用户导入";
-    //   this.upload.open = true;
-    // },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.deptId = this.queryParams.deptId;
+      this.upload.open = true;
+    },
     /** 下载模板操作 */
     importTemplate() {
       importTemplate().then((response) => {