Kaynağa Gözat

Merge branch 'feature_20250331_日报分享' into uat(dev)

# Conflicts:
#	src/views/week/dailyDetails.vue
zhujindu 6 ay önce
ebeveyn
işleme
bc91f79352

+ 38 - 33
src/components/share.vue

@@ -237,34 +237,35 @@ export default {
           this.canvasImageUrl = imageUrl;
 
           // 图片加载完成后设置滚动容器高度
-          const img = new Image();
-          img.onload = () => {
-            const scrollContainer = this.$refs.html2canvas.querySelector('.scroll-container');
-            // 根据图片实际高度设置容器高度(增加20px缓冲)
-            // 根据设备像素比调整图片高度
-            // 使用实际渲染高度而非原始图片高度
-            const imgHeight = img.offsetHeight + 20;
-            // 设置容器最小高度保证内容显示,同时允许自动扩展
-            scrollContainer.style.minHeight = `${imgHeight}px`;
-            // 保持父容器为可见滚动
-            scrollContainer.parentElement.style.overflow = 'visible';
-            // 强制浏览器重排
-            // scrollContainer.style.display = 'none';
-            // scrollContainer.offsetHeight; // 触发重排
-            // scrollContainer.style.display = 'block';
+          // const img = new Image();
+          // img.onload = () => {
+          //   const scrollContainer = this.$refs.html2canvas.querySelector('.scroll-container');
+          //   // 根据图片实际高度设置容器高度(增加20px缓冲)
+          //   // 根据设备像素比调整图片高度
+          //   // 使用实际渲染高度而非原始图片高度
+          //   const imgHeight = img.offsetHeight + 20;
+          //   // 设置容器最小高度保证内容显示,同时允许自动扩展
+          //   scrollContainer.style.minHeight = `${imgHeight}px`;
+          //   // 保持父容器为可见滚动
+          //   scrollContainer.parentElement.style.overflow = 'visible';
+          //   // 强制浏览器重排
+          //   scrollContainer.style.display = 'none';
+          //   scrollContainer.offsetHeight; // 触发重排
+          //   scrollContainer.style.display = 'block';
 
-            // 添加移动端滚动优化
-            // requestAnimationFrame(() => {
-            //   scrollContainer.style.overflow = 'auto';
-            //   scrollContainer.style.overflowScrolling = 'touch';
-            //   scrollContainer.style.webkitOverflowScrolling = 'touch';
-            //   scrollContainer.style.overscrollBehavior = 'contain';
-            //   scrollContainer.style.touchAction = 'pan-y';
-            // });
-          };
-          img.src = imageUrl;
+          //   // 添加移动端滚动优化
+          //   requestAnimationFrame(() => {
+          //     scrollContainer.style.overflow = 'auto';
+          //     scrollContainer.style.overflowScrolling = 'touch';
+          //     scrollContainer.style.webkitOverflowScrolling = 'touch';
+          //     scrollContainer.style.overscrollBehavior = 'contain';
+          //     scrollContainer.style.touchAction = 'pan-y';
+          //   });
+          // };
+          // img.src = imageUrl;
           this.zIndex = 9;
           this.$emit('setShareImg', true);
+          this.$emit('setDailyDetailsBox', false);
         })
         .catch((error) => {
           this.toastLoading().clear();
@@ -274,14 +275,14 @@ export default {
     },
     creatQrCode() {
       // let proText = 'https://suishenbang.nipponpaint.com.cn';
-      let path = '/dailyHistoricalDetails&source=share&reportId=' + this.reportId || '';
+      let path = 'http://1.npz.cn/2/' + this.reportId || '';
       var qrcode = new QRCode(this.$refs.QRcodes, {
-        text: process.env.VUE_APP_SSB_LINK + '/homeIndex?path=' + path,
+        text: path,
         colorDark: '#000000',
         colorLight: 'rgba(255,255,255,0)', // 完全透明背景
         correctLevel: QRCode.CorrectLevel.H,
-        width: 140, // 固定尺寸保证安卓一致性
-        height: 140,
+        width: 100, // 固定尺寸保证安卓一致性
+        height: 100,
         margin: 2,
         render: 'canvas',
         onRenderingEnd: () => {
@@ -309,6 +310,7 @@ export default {
     closeShare() {
       this.canvasImageUrl = '';
       this.$emit('setShareImg', false);
+      this.$emit('setDailyDetailsBox', true);
     },
   },
 };
@@ -548,21 +550,24 @@ export default {
 <style lang="scss">
 .share {
   .QRcodes {
-    width: 140px; /* 固定像素尺寸 */
-    height: 140px;
+    width: 104px; /* 固定像素尺寸 */
+    height: 104px;
     margin-right: 12px;
     position: relative;
     background: #ffffff;
     image-rendering: crisp-edges;
     image-rendering: -webkit-optimize-contrast; /* 安卓浏览器兼容 */
     // padding: 2px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
     .logo {
       position: absolute;
       top: 50%;
       left: 50%;
       transform: translate(-50%, -50%);
-      width: 40px;
-      height: 40px;
+      width: 20px;
+      height: 20px;
       img {
         width: 100% !important;
         height: 100% !important;

+ 6 - 1
src/views/week/dailyDetails.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="dailyDetails">
-    <div class="dailyDetailsBox">
+    <div class="dailyDetailsBox" v-if="setDailyDetailsBoxFlag">
       <!--        顶部条-->
       <div class="navBarTOP">
         <van-nav-bar class="navBar" title="日报详情" left-arrow @click-left="onClickLeft">
@@ -522,6 +522,7 @@
       :reportTarget="reportTarget"
       :reportId="$route.query.reportId"
       @setShareImg="setShareImg"
+      @setDailyDetailsBox="setDailyDetailsBox"
       :urlList="urlList"
       :reportRemarksIndex="reportRemarksIndex"></share>
     <!--分享图片列表 -->
@@ -654,6 +655,7 @@ export default {
       shareImgFlag: false,
       urlList: [],
       title: '',
+      setDailyDetailsBoxFlag: true,
       //
     };
   },
@@ -679,6 +681,9 @@ export default {
     this.setShareFlag = false;
   },
   methods: {
+    setDailyDetailsBox(flag) {
+      this.setDailyDetailsBoxFlag = flag;
+    },
     setShareImg(flag) {
       this.setShareFlag = flag;
     },

+ 8 - 3
src/views/week/dailyHistoricalDetails.vue

@@ -544,7 +544,7 @@
     <share
       v-if="setShareFlag"
       :reportTarget="reportTarget"
-      :reportId="$route.query.reportId"
+      :reportId="reportId"
       @setShareImg="setShareImg"
       :urlList="urlList"
       :reportRemarksIndex="reportRemarksIndex"></share>
@@ -682,10 +682,13 @@ export default {
       reportRemarksIndex: -1,
       shareImgFlag: false,
       urlList: [],
+      reportId: '',
       //
     };
   },
   created() {
+    this.reportId = this.$route.query.reportId ? this.$route.query.reportId.replace('?', '') : '';
+    console.log(this.reportId);
     this.powerGrade = localStorage.getItem('powerGrade');
     this.isDiy = localStorage.getItem('isDiy');
     this.getDetailById();
@@ -705,6 +708,8 @@ export default {
     },
   },
   activated() {
+    this.reportId = this.$route.query.reportId ? this.$route.query.reportId.replace('?', '') : '';
+    console.log(this.reportId);
     this.source = this.$route.query.source;
     this.num = 0;
     this.userTodayPlanNum();
@@ -840,7 +845,7 @@ export default {
       }
       var remak = {
         remarkContent: this.managerRemarkContent,
-        reportId: this.$route.query.reportId,
+        reportId: this.reportId,
       };
       insertRemark(remak).then((res) => {
         loading1.clear();
@@ -891,7 +896,7 @@ export default {
         message: '加载中...',
         forbidClick: true,
       });
-      getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
+      getDetailById({ reportId: this.reportId }).then((res) => {
         loading1.clear();
         if (res.code == 500 && this.source == 'share') {
           this.$dialog