lsw преди 1 година
родител
ревизия
71438dc9e5

+ 2 - 17
admin-ui/src/views/work/relate/index.vue

@@ -13,12 +13,10 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="10" class="mb8">
-      <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del" v-hasPermi="['work:relate:remove']">解除{{ ids.length > 0 ? '(' + ids.length + ')' : '' }}</el-button>
       <el-button type="primary" icon="el-icon-download" @click="handleExport" v-hasPermi="['work:relate:export']">导出</el-button>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
-    <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 270px)">
-      <el-table-column type="selection" width="55" align="center" />
+    <el-table :data="response.rows" border height="calc(100vh - 270px)">
       <el-table-column type="index" label="序号" align="center" width="80" />
       <el-table-column label="姓名" align="center" prop="name" />
       <el-table-column label="身份证" align="center" prop="idCard" />
@@ -43,7 +41,6 @@ export default {
   name: 'Relate',
   data() {
     return {
-      ids: [],
       showSearch: true,
       response: {},
       queryParams: {
@@ -73,21 +70,9 @@ export default {
       this.resetForm('queryForm');
       this.handleQuery();
     },
-    selects(rows) {
-      this.ids = rows.map((item) => item.id);
-    },
-    op(tag, row) {
-      if (tag == 'add') {
-        this.iframe({ obj: edit, param: {}, title: '新增', width: '45%', height: '55%' });
-      }
-      if (tag == 'edit') {
-        const id = row.id || this.ids[0];
-        this.iframe({ obj: edit, param: { id: id }, title: '编辑', width: '50%', height: '50%' });
-      }
-    },
     del(row) {
       this.$confirm('是否确认解除选中关联用户?', '警告', { type: 'warning' }).then(() => {
-        this.get({ url: '/work/relate/remove/' + (row.id || this.ids) }).then((response) => {
+        this.ajax({ method: 'post', url: '/work/relate/remove', data: { userId: row.userId } }).then((response) => {
           this.$modal.msgSuccess('解除成功');
           this.getList();
         });

+ 1 - 1
app/pages.json

@@ -14,7 +14,7 @@
 			"style" : 
 			{
 				"navigationBarTitleText" : "接包",
-				"enablePullDownRefresh" : false
+				"enablePullDownRefresh" : true
 			}
 		},
 		{

+ 1 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/work/api/Api_RelateController.java

@@ -39,7 +39,6 @@ public class Api_RelateController extends BaseController {
 
     @PostMapping("/remove")
     public AjaxResult remove(@RequestBody Relate relate) {
-        relate.setUserId(getUser().getId());
-        return toAjax(relateService.remove(relate));
+        return relateService.remove(relate);
     }
 }

+ 3 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/RelateController.java

@@ -13,7 +13,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -39,9 +38,9 @@ public class RelateController extends BaseController {
 
     @PreAuthorize("@ss.hasPermi('work:relate:remove')")
     @Log(title = "解除关联用户", businessType = BusinessType.DELETE)
-    @GetMapping("/remove/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids) {
-        return toAjax(relateService.removeByIds(Arrays.asList(ids)));
+    @PostMapping("/remove")
+    public AjaxResult remove(@RequestBody Relate relate) {
+        return relateService.removeUser(relate);
     }
 
     @Log(title = "导出关联用户", businessType = BusinessType.EXPORT)

+ 3 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IRelateService.java

@@ -18,5 +18,7 @@ public interface IRelateService extends IService<Relate>{
 
     AjaxResult add(Relate relate);
 
-    boolean remove(Relate relate);
+    AjaxResult removeUser(Relate relate);
+
+    AjaxResult remove(Relate relate);
 }

+ 4 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/ProjectServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.rmi.ServerException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -50,6 +51,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     @Override
     public List<ProjectListVo> selectProjectList(Project project) {
         List<RelateCompanyListVo> list = relateService.selectRelateCompanyList(new Relate().setUserId(AppUtil.getUser().getId()));
+        if (list.size() == 0 || list.isEmpty()) {
+            return new ArrayList<>();
+        }
         List<Packages> packagesList = packagesService.selectList(new Packages().setUserId(AppUtil.getUser().getId()));
         project.setCompanyIds(list.stream().map(RelateCompanyListVo::getCompanyId).collect(Collectors.toList()));
         project.setProjectIds(packagesList.stream().map(Packages::getProjectId).collect(Collectors.toList()));

+ 28 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/RelateServiceImpl.java

@@ -2,6 +2,8 @@ package com.ruoyi.web.work.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.web.work.api.util.AppUtil;
 import com.ruoyi.web.work.domain.Company;
 import com.ruoyi.web.work.domain.Relate;
@@ -62,13 +64,33 @@ public class RelateServiceImpl extends ServiceImpl<RelateMapper, Relate> impleme
         return AjaxResult.success();
     }
 
+    @Transactional()
     @Override
-    public boolean remove(Relate relate) {
-        if (relateMapper.remove(relate)) {
-            User user = userService.getById(AppUtil.getUser().getId());
-            user.setIsCompany(user.getIsCompany() - 1);
-            return userService.updateById(user);
+    public AjaxResult removeUser(Relate relate) {
+        relate.setCompanyId(SecurityUtils.getLoginUser().getUser().getCompanyId());
+        if (!relateMapper.remove(relate)) {
+            throw new ServiceException("解除关联失败,请联系平台");
         }
-        return false;
+        User user = userService.getById(relate.getUserId());
+        user.setIsCompany(user.getIsCompany() - 1);
+        if (!userService.updateById(user)) {
+            throw new ServiceException("更新用户信息失败,请联系平台");
+        }
+        return AjaxResult.success();
+    }
+
+    @Transactional
+    @Override
+    public AjaxResult remove(Relate relate) {
+        relate.setUserId(AppUtil.getUser().getId());
+        if (!relateMapper.remove(relate)) {
+            throw new ServiceException("解除关联失败,请联系平台");
+        }
+        User user = userService.getById(AppUtil.getUser().getId());
+        user.setIsCompany(user.getIsCompany() - 1);
+        if (!userService.updateById(user)) {
+            throw new ServiceException("更新用户信息失败,请联系平台");
+        }
+        return AjaxResult.success();
     }
 }

+ 1 - 1
ruoyi-admin/src/main/resources/mapper/work/ProjectMapper.xml

@@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         p.state = 0
         AND c.state =0
         AND p.company_id IN (<foreach collection="companyIds" item="name" separator=",">#{name}</foreach>)
-        AND p.id NOT IN (<foreach collection="projectIds" item="name" separator=",">#{name}</foreach>)
+        <if test="projectIds != null  and projectIds.size() > 0"> AND p.id NOT IN (<foreach collection="projectIds" item="name" separator=",">#{name}</foreach>)</if>
         ORDER BY p.id DESC
     </select>