Explorar el Código

Merge remote-tracking branch 'origin/master'

jzh hace 1 año
padre
commit
ee4d3790b0

+ 1 - 1
client_h5/.env.dev

@@ -6,4 +6,4 @@ VITE_BASE_URL='http://10.10.10.7:18080'
 # File上传路径
 VITE_FILE_BASE_URI='/admin-api/infra/file'
 
-VITE_AUTHORIZATION='ee616fbb477942fc975bc7a46e00a9bc'
+VITE_AUTHORIZATION='4508abd4478f48a8bb88073bca4cae14'

+ 6 - 0
client_h5/src/App.vue

@@ -1,4 +1,6 @@
 <script setup lang="ts">
+import PubsubService from "@/utils/PubsubService";
+
 type RouteName = string[]
 /***
  * 需要缓存滚动条的配置
@@ -19,6 +21,10 @@ window.addEventListener("scroll", () => {
     scrollTopMap.value[routeName] = top;
   }
 })
+PubsubService.subscribe('clear_keep_alive', () => {
+    keepAliveIncludes.value = []
+    scrollTopMap.value = {}
+})
 watch(
   () => router.currentRoute.value,
   (newValue: any) => {

+ 2 - 0
client_h5/src/components/flowForm.vue

@@ -83,6 +83,7 @@
 import { showNotify } from 'vant';
 import { closePage } from 'dingtalk-jsapi';
 import { getSimpleUserMap } from '@/service/user'
+import PubsubService from "@/utils/PubsubService";
 import { formatDate, jsonToFormData } from "@/utils/common";
 import { FlowDTO, getNextActivity } from "@/service/flow";
 import { getTemplateOpinionListByFlowInstanceId, getOpinionListByFlowInstanceId } from '@/service/flow';
@@ -207,6 +208,7 @@ const submitHandle = async (): Promise<any> => {
           position: 'top',
           onClose() {
             isSubmitDisabled.value = false;
+            PubsubService.publish('clear_keep_alive')
             if (_top == '1') {
               closePage({})
             } else {

+ 9 - 0
client_h5/src/pages/myLogs/Daily/index.vue

@@ -65,6 +65,7 @@ interface FormData {
   reportWeek: string | number; // 周
   reportDay: string | number; // 本周第几天
   isUpdate?: boolean; // 是否是更新
+  id?: string | number; // 日志id
 }
 
 // 页面数据
@@ -134,6 +135,11 @@ const receiveData = (dailyDetail: any) => {
   formData.reportYear = dailyDetail.reportYear;
   formData.reportMonth = dailyDetail.reportMonth;
   formData.reportWeek = dailyDetail.reportWeek;
+  // 如果也有id
+  if (dailyDetail.id) {
+    formData.id = dailyDetail.id;
+  }
+  // 如果是数据更新
   if (dailyDetail.isUpdate) {
     formData.isUpdate = dailyDetail.isUpdate;
   }
@@ -230,6 +236,9 @@ const onSubmit = async (isTemp: boolean, isRouteLeave?: boolean) => {
   if (isRouteLeave) return; // 如果是退出,则不提示暂存
   const type = isTemp ? "暂存" : "发送";
   if (result.msg == "success") {
+    if (result.data) {
+      formData.id = result.data;
+    }
     showSuccessToast(`${type}成功`);
     if (!isTemp) {
       replace({

+ 9 - 0
client_h5/src/pages/myLogs/Weekly/index.vue

@@ -71,6 +71,7 @@ interface FormData {
   reportMonth: string | number; // 月
   reportWeek: string | number; // 周
   isUpdate?: boolean; // 是否是更新
+  id?: string | number; // 日志id
 }
 const defWeek = () => {
   if (moment().day() == 0) {
@@ -161,6 +162,11 @@ const receiveData = (weekDetail: any) => {
   formData.reportYear = weekDetail.reportYear;
   formData.reportMonth = weekDetail.reportMonth;
   formData.reportWeek = weekDetail.reportWeek;
+  // 如果也有id
+  if (weekDetail.id) {
+    formData.id = weekDetail.id;
+  }
+  // 如果是数据更新
   if (weekDetail.isUpdate) {
     formData.isUpdate = weekDetail.isUpdate;
   }
@@ -218,6 +224,9 @@ const onSubmit = async (isTemp: boolean, isRouteLeave?: boolean) => {
   if (isRouteLeave) return; // 如果是退出,则不提示暂存
   const type = isTemp ? "暂存" : "发送";
   if (result.msg == "success") {
+    if (result.data) {
+      formData.id = result.data;
+    }
     showSuccessToast(`${type}成功`);
     if (!isTemp) {
       replace({

+ 7 - 0
client_h5/src/pages/myLogs/components/LogDetail.vue

@@ -96,6 +96,7 @@
       </van-field>
     </div>
     <van-floating-bubble
+      v-if="logDetail.userId == userInfo.id"
       v-model:offset="offset"
       icon="edit"
       @click="goToEditPage"
@@ -111,6 +112,8 @@ import { reactive } from "vue";
 import { showToast } from "vant";
 import { http } from "../http";
 import { isMyComment } from "../service";
+import { getUserInfo } from "@/utils/tools";
+
 interface FormData {
   reportContent: string; // 内容
   workloadList: any[]; // 工作量分配
@@ -122,6 +125,9 @@ onMounted(() => {
   initCommentList();
 });
 
+// 获取登陆用户详情
+const userInfo = getUserInfo();
+
 // 编辑气泡的位置
 const offset = ref({ y: 100 });
 
@@ -168,6 +174,7 @@ const initData = async () => {
     today.value =
       moment(result.reportEndDate).format("YYYY-MM-DD") ?? today.value;
   }
+  console.log("logDetail", logDetail);
 };
 
 // 初始化评论

+ 0 - 1
client_h5/src/router/index.ts

@@ -12,7 +12,6 @@ const router = createRouter({
   routes: routes as RouteRecordRaw[],
   scrollBehavior: () => ({ left: 0, top: 0 })
 })
-
 // 路由加载前
 router.beforeEach((to, from, next) => {
   getUserInfoPromise(true).then((isLogin) => {

+ 1 - 1
client_h5/src/utils/PubsubService.ts

@@ -7,7 +7,7 @@ class PubsubService {
   private topics: Record<string, ((params?: any) => void)[]> = {}
 
   // 发布事件
-  publish(topic: string, data: any) {
+  publish(topic: string, data?: any) {
     if (!this.topics[topic]) return
     this.topics[topic].forEach((fn) => fn(data))
   }

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/response/ButtonResp.java

@@ -18,6 +18,8 @@ public class ButtonResp {
 
     private boolean xsLeader;
 
+    private boolean projectMember;
+
     private Map<String,Boolean> childButton;
 
 }

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/service/impl/ProjectServiceImpl.java

@@ -73,6 +73,9 @@ public class ProjectServiceImpl implements ProjectService {
     @Autowired
     ProjectCostService projectCostService;
 
+    @Autowired
+    ProjectWorkerRelationService projectWorkerRelationService;
+
     @Autowired
     ProjectAmountService projectAmountService;
 
@@ -377,6 +380,8 @@ public class ProjectServiceImpl implements ProjectService {
         ButtonResp buttonResp = new ButtonResp();
         ProjectResponse project = selectWithChildren(projectId);
         String deptId = project.getZrbmId();
+        List<ProjectWorkerRelationResponse> workerList = projectWorkerRelationService.selectByProjectId(projectId);
+        boolean projectMember = workerList.stream().anyMatch(item -> loginUserId.equals(item.getWorkerId()));
         boolean xsry = loginUserId.equals(project.getXsryId());
         boolean xmLeader = loginUserId.equals(project.getXmjlId());
         boolean deptLeader = false,leaderLeader = false,segLeader = false;
@@ -403,6 +408,7 @@ public class ProjectServiceImpl implements ProjectService {
         if(xsry || deptLeader){
             buttonResp.setXsLeader(true);
         }
+        buttonResp.setProjectMember(projectMember);
         List<ProjectResponse> children = project.getChildren();
         Map<String,Boolean> childBtn = new HashMap<>();
         for (ProjectResponse child : children) {