Ver Fonte

职工列表增加批量删除。

tomatozq há 5 anos atrás
pai
commit
1bbb8fe2e7

+ 2 - 2
.env.development

@@ -1,4 +1,4 @@
-VUE_APP_BACKEND_URL=http://wisdomhouse.sudaonline.net
-#VUE_APP_BACKEND_URL=http://127.0.0.1:8086/smart-community-server
+#VUE_APP_BACKEND_URL=http://wisdomhouse.sudaonline.net
+VUE_APP_BACKEND_URL=http://127.0.0.1:8086/smart-community-server
 #VUE_APP_BACKEND_URL=http://zldb.xiaoxinda.com:8088/smart-community-server
 #VUE_APP_BACKEND_URL=http://kr6zr7.natappfree.cc/smart-community-server/

+ 39 - 1
src/views/base/employeeInfo-list.vue

@@ -52,7 +52,15 @@
         icon="el-icon-circle-plus"
         :disabled="multipleSelection.length==0"
         @click="downConfirm"
-      >打包下载员工资料</el-button>
+      >打包下载员工资料</el-button>      
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-delete"
+        :disabled="multipleSelection.length==0"
+        @click="handleBatchDelete"
+      >删除选中项</el-button>
     </el-row>
     <el-table
       :data="tableData"
@@ -181,6 +189,10 @@ export default {
     },
     pageSizeChange(pageSize) {
       this.pageSize = pageSize;
+
+      this.$nextTick(()=>{
+        this.changePage(this.pageIndex);
+      });
     },
     sortChange(data) {
       this.field = data.column.field;
@@ -191,6 +203,32 @@ export default {
     handleSelectionChange(val) {
       this.multipleSelection = val;
     },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map(record => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        employeeInfoApi.batchRemove(idList).then(function(response) {
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.changePage(self.pageIndex);
+
+            self.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+          }
+        });
+      });
+    },
     handleReset(name) {
       this.$refs[name].resetFields();
     },

+ 27 - 22
src/views/sys/dataDictionary-detail.vue

@@ -19,32 +19,33 @@
             <el-option label="数据" value="2"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="名称" prop="name">
-          <el-input v-model="formModel.name" placeholder="请输入名称" style="width:300px"></el-input>
-        </el-form-item>
-        <el-form-item label="数值" prop="value">
-          <el-input v-model="formModel.value" placeholder="请输入数值" style="width:300px"></el-input>
-        </el-form-item>
-        <el-form-item label="显示序号" prop="sortNo">
-          <el-input v-model="formModel.sortNo" placeholder="请输入显示序号" style="width:300px"></el-input>
-        </el-form-item>
         <el-form-item label="所属目录" prop="parentId">
           <el-select
             v-model="formModel.parentId"
             filterable
             remote
+            clearable
             placeholder="请输入关键词"
             :remote-method="queryMenu"
             style="width:300px"
           >
             <el-option
-              v-for="dataDictionary in dataDictionaryListFilter"
+              v-for="dataDictionary in dataDictionaryList"
               :key="dataDictionary.id"
-              :label="dataDictionary.name"
+              :label="dataDictionary.name + '(' + dataDictionary.sortNo + ')'"
               :value="dataDictionary.id"
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="名称" prop="name">
+          <el-input v-model="formModel.name" placeholder="请输入名称" style="width:300px"></el-input>
+        </el-form-item>
+        <el-form-item label="数值" prop="value">
+          <el-input v-model="formModel.value" placeholder="请输入数值" style="width:300px"></el-input>
+        </el-form-item>
+        <el-form-item label="显示序号" prop="sortNo">
+          <el-input v-model="formModel.sortNo" placeholder="请输入显示序号" style="width:300px"></el-input>
+        </el-form-item>
       </el-form>
     </div>
     <span slot="footer" class="dialog-footer">
@@ -117,6 +118,7 @@ export default {
         if (valid) {
           (function() {
             var id = self.formModel.id;
+
             if (id == null || id.length == 0) {
               return dataDictionaryApi.add(self.formModel);
             } else {
@@ -144,12 +146,12 @@ export default {
         }
       });
     },
-    queryMenu(keywords) {
+    queryMenu(keywords,limit) {
       var formData = new FormData();
       formData.append("keywords", keywords);
       formData.append("dataType", "1");
       formData.append("excludeId", this.formModel.id);
-      formData.append("limit", 10);
+      formData.append("limit", limit | 10);
 
       return dataDictionaryApi.query(formData).then(response => {
         var jsonData = response.data;
@@ -166,7 +168,7 @@ export default {
     var self = this;
     self.loading = true;
     
-    await this.queryMenu("");
+    await this.queryMenu("",1000);
 
     (function() {
       if (self.dictId.length == 0) {
@@ -184,18 +186,21 @@ export default {
 
           // 增加初始值
           if(jsonData.data.parentId!=null){
-            self.dataDictionaryList.push({
-              id: jsonData.data.parentId,
-              name: jsonData.data.parentName
-            });
+            self.formModel.parentId = jsonData.data.parentId;
+            // self.dataDictionaryList.push({
+            //   id: jsonData.data.parentId,
+            //   name: jsonData.data.parentName
+            // });
           }
           else if(this.catalog!=null && this.catalog.id!=null){
+            console.log(this.catalog);
             self.formModel.parentId = this.catalog.id; 
+            self.formModel.dataType = "2";
 
-            self.dataDictionaryList.push({
-              id: this.catalog.id,
-              name: this.catalog.name
-            });
+            // self.dataDictionaryList.push({
+            //   id: this.catalog.id,
+            //   name: this.catalog.name
+            // });
           }
         } else {
           self.$message.error(jsonData.message + "");

+ 12 - 6
src/views/sys/dataDictionary-list.vue

@@ -83,10 +83,7 @@
          <span v-if="row.dataType=='1'">字典目录</span>
          <span v-else>数据</span>
        </template>
-      </el-table-column>
-      <el-table-column prop="name" sort-by="name_" label="名称" sortable="custom" width="180"></el-table-column>
-      <el-table-column prop="value" sort-by="value_" label="数值" sortable="custom" width="180"></el-table-column>
-      <el-table-column prop="sortNo" sort-by="sort_no" label="排序号" sortable="custom" width="180"></el-table-column>
+      </el-table-column>      
       <el-table-column
         prop="parentName"
         sort-by="parent_name"
@@ -94,7 +91,10 @@
         sortable="custom"
         width="180"
       ></el-table-column>
-      <el-table-column label="操作">
+      <el-table-column prop="name" sort-by="name_" label="名称" sortable="custom" width="180"></el-table-column>
+      <el-table-column prop="value" sort-by="value_" label="数值" sortable="custom" width="180"></el-table-column>
+      <el-table-column prop="sortNo" sort-by="sort_no" label="排序号" sortable="custom" width="180"></el-table-column>
+      <el-table-column label="操作" fixed="right" width="200">
         <template slot-scope="{row}">
           <el-row v-if="row.dataType=='1'">
             <el-col :span="12">
@@ -230,7 +230,10 @@ export default {
     },
     pageSizeChange(pageSize) {
       this.pageSize = pageSize;
-      this.changePage(this.pageIndex);
+
+      this.$nextTick(()=>{
+        this.changePage(this.pageIndex);
+      });
     },
     sortChange(data) {
       this.field = data.column.field;
@@ -248,11 +251,13 @@ export default {
     handleAdd() {
       this.modalTitle = "新增";
       this.dictId = "";
+      this.catalog = {};
       this.showModal = true;
     },
     handleEdit(record) {
       this.modalTitle = "编辑";
       this.dictId = record.id;
+      this.catalog = {};
       this.showModal = true;
     },
     handleDelete(record) {
@@ -325,6 +330,7 @@ export default {
         this.queryMenuResult.push(row);
 
         this.queryModel.parentId = row.id;
+        this.queryModel.name = "";
         this.changePage(1);
     },
   },

+ 21 - 14
src/views/sys/menu-detail.vue

@@ -34,9 +34,9 @@
               ></el-option>
             </template> -->
             <el-option
-              v-for="menu in menuListFilter"
+              v-for="menu in menuList"
               :key="menu.id"
-              :label="menu.menuName"
+              :label="menu.menuName + '(' + menu.sortNo + ')'"
               :value="menu.id"
             ></el-option>
           </el-select>
@@ -164,11 +164,14 @@ export default {
         }
       });
     },
-    queryMenu(keywords) {
+    queryMenu(keywords,limit) {
       var formData = new FormData();
       formData.append("keywords",keywords);
       formData.append("excludeId",this.formModel.id);
-      formData.append("limit",10);
+
+      console.log("limit=" + limit);
+      
+      formData.append("limit",limit | 20); //查询
 
       return menuApi.query(formData).then(response=>{
         var jsonData = response.data;
@@ -186,7 +189,8 @@ export default {
     var self = this;
     self.loading = true;
 
-    await this.queryMenu('');
+    //查询足够多的菜单,后续就可以通过parentId直接赋值
+    await this.queryMenu('',1000);
 
     (function(){
       if(self.menuId.length==0){
@@ -204,20 +208,23 @@ export default {
 
         // 增加初始值
         if(jsonData.data.parentId!=null){
-          self.menuList.push({
-            id: jsonData.data.parentId,
-            menuName: jsonData.data.parentName
-          });
+          console.log("menuList.length=" + self.menuList.length);
+          console.log("jsonData.data.parentId=" + jsonData.data.parentId);
+
+          self.formModel.parentId = jsonData.data.parentId;
+          // self.menuList.push({
+          //   id: jsonData.data.parentId,
+          //   menuName: jsonData.data.parentName
+          // });
         }
         else if(this.parentMenu!=null && this.parentMenu.id!=null){
           self.formModel.parentId = this.parentMenu.id; 
 
-          self.menuList.push({
-            id: this.parentMenu.id,
-            menuName: this.parentMenu.menuName
-          });
+          // self.menuList.push({
+          //   id: this.parentMenu.id,
+          //   menuName: this.parentMenu.menuName
+          // });
         }
-
       } else {
         self.$message.error(jsonData.message + "");
       }

+ 6 - 0
src/views/sys/menu-list.vue

@@ -228,6 +228,10 @@ export default {
     },
     pageSizeChange(pageSize) {
       this.pageSize = pageSize;
+
+      this.$nextTick(()=>{
+        this.changePage(this.pageIndex);
+      });
     },
     sortChange(data) {
       this.field = data.column.field;
@@ -247,6 +251,7 @@ export default {
 
       self.modalTitle = "新增";
       self.menuId = "";
+      self.parentMenu = {};
       self.showDetailModal = true;
 
     },
@@ -255,6 +260,7 @@ export default {
 
       self.modalTitle = "编辑";
       self.menuId = record.id;
+      self.parentMenu = {};
       self.showDetailModal = true;
     },
     handleDelete(record) {