Lin Qilong 2 napja
szülő
commit
c887debf0c

+ 23 - 0
gw-slaj/src/main/java/com/goldenwater/slaj/eme/controller/BusiConplanBasicController.java

@@ -25,6 +25,7 @@ public class BusiConplanBasicController extends BaseController {
 
     @GetMapping("/list")
     public TableDataInfo list(BusiConplanBasic busiConplanBasic) {
+        fillDataScope(busiConplanBasic);
         startPage();
         List<BusiConplanBasic> list = busiConplanBasicService.selectBusiConplanBasicList(busiConplanBasic);
         return getDataTable(list);
@@ -55,8 +56,30 @@ public class BusiConplanBasicController extends BaseController {
     @PreAuthorize("@ss.hasPermi('eme:conplanbasic:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, BusiConplanBasic busiConplanBasic) {
+        fillDataScope(busiConplanBasic);
         List<BusiConplanBasic> list = busiConplanBasicService.selectBusiConplanBasicList(busiConplanBasic);
         ExcelUtil<BusiConplanBasic> util = new ExcelUtil<BusiConplanBasic>(BusiConplanBasic.class);
         util.exportExcel(response, list, "应急预案基本信息数据");
     }
+
+    /**
+     * 数据权限过滤 — 根据当前用户角色决定查询范围。
+     * 超级管理员(角色1)/水利部(角色9)看全部;其他角色只看本单位预案。
+     */
+    private void fillDataScope(BusiConplanBasic vo) {
+        if (isAdmin()) {
+            vo.setOrgGuid(null);
+            return;
+        }
+        vo.setOrgGuid(getDeptId());
+    }
+
+    private boolean isAdmin() {
+        String[] roleIds = getLoginUser().getUser().getRoleIds();
+        if (roleIds == null) return false;
+        for (String roleId : roleIds) {
+            if ("1".equals(roleId) || "9".equals(roleId)) return true;
+        }
+        return false;
+    }
 }

+ 1 - 0
gw-slaj/src/main/java/com/goldenwater/slaj/eme/service/impl/BusiReviewInfoServiceImpl.java

@@ -50,6 +50,7 @@ public class BusiReviewInfoServiceImpl implements IBusiReviewInfoService {
             busiReviewInfo.setKeepPer(SecurityUtils.getLoginUser().getUser().getRealName());
         }
         busiReviewInfo.setRiGuid(IdUtils.fastSimpleUUID());
+        busiReviewInfo.setKeepStatus("2");
         busiReviewInfo.setCreperGuid(SecurityUtils.getUserId());
         busiReviewInfo.setCreateTime(new Date().toString());
         return busiReviewInfoMapper.insertBusiReviewInfo(busiReviewInfo);

+ 16 - 1
gw-ui/src/layout/index.vue

@@ -21,6 +21,9 @@
         </div>
       </div>
 
+      <!-- 用户所属机构 -->
+      <div v-if="userStore.orgName" class="top-org-name">{{ userStore.orgName }}</div>
+
       <div class="top-right-menu">
         <el-dropdown @command="handleCommand" class="avatar-container" trigger="hover">
           <div class="avatar-wrapper">
@@ -319,6 +322,18 @@ function handleCommand(command) {
   height: 16px;
 }
 
+.top-org-name {
+  flex-shrink: 0;
+  margin-left: 12px;
+  color: rgba(255, 255, 255, 0.85);
+  font-size: 1.1rem;
+  font-weight: 600;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  max-width: 240px;
+}
+
 .top-right-menu {
   display: flex;
   align-items: center;
@@ -331,7 +346,7 @@ function handleCommand(command) {
   align-items: center;
   gap: 8px;
   cursor: pointer;
-  padding: 0 12px;
+  padding-left: 12px;
   height: 60px;
   max-width: 200px;
 }

+ 10 - 9
gw-ui/src/views/slaj/eme/conplanbasic/index.vue

@@ -154,9 +154,9 @@
           </el-table-column>
           <el-table-column label="操作" align="center" width="200">
             <template #default="scope">
-              <el-tooltip v-if="scope.row.reviewStatus === '2'" content="备案">
+              <el-tooltip v-if="scope.row.reviewStatus === '2' && scope.row.keepStatus !== '1' && scope.row.keepStatus !== '0'" content="上报备案">
                 <el-button link type="success" icon="Stamp"
-                           @click="handleFileFromReview(scope.row)" v-hasPermi="['eme:reviewinfo:add']"/>
+                           @click="handleReportFiling(scope.row)" v-hasPermi="['eme:reviewinfo:add']"/>
               </el-tooltip>
               <el-tooltip content="修改">
                 <el-button link type="primary" icon="Edit" @click="handleReviewUpdate(scope.row)"
@@ -1587,13 +1587,14 @@ function resetBasic() {
   proxy.resetForm("formRef")
 }
 
-/** 评审通过后快捷备案 */
-function handleFileFromReview(row) {
-  handleReviewAdd('filing')
-  // 备案是修改已有评审记录,带上评审的 riGuid
-  reviewForm.value.riGuid = row.riGuid
-  reviewForm.value.basicId = row.basicId
-  onReviewPlanChange(row.basicId)
+/** 上报备案:确认后修改备案状态为 0(已上报待备案),后台保存 */
+function handleReportFiling(row) {
+  proxy.$modal.confirm('是否确认上报备案?').then(() => {
+    return updateBusiReviewInfo({riGuid: row.riGuid, keepStatus: '0'})
+  }).then(() => {
+    proxy.$modal.msgSuccess("上报备案成功")
+    getReviewList()
+  }).catch(() => {})
 }
 
 function goToReview(row) {