zhujindu недель назад: 2
Родитель
Сommit
a51ced125b

+ 1 - 1
src/views/week/VisitSummary.vue

@@ -227,7 +227,7 @@ export default {
       approvalStatusList: [
         //1-待审批 2-审批通过 3-拒绝待提交
         { text: '审批状态(全部)', value: '' },
-        { text: '待审批', value: '1' },
+        { text: '提交待审批', value: '1' },
         { text: '审批通过', value: '2' },
         { text: '拒绝待提交', value: '3' },
       ],

+ 31 - 1
src/views/week/allowWriteAgainSummary.vue

@@ -175,7 +175,11 @@
           <div style="background-color: #0057ba; color: #fff">搜索</div>
         </van-col>
       </van-row>
-      <van-picker show-toolbar :columns="chainsData" value-key="chainName" @confirm="onConfirmChainsList"
+      <van-picker
+        show-toolbar
+        :columns="chainsData"
+        value-key="chainName"
+        @confirm="onConfirmChainsList"
         @cancel="moreTypeShow = false" />
     </van-popup>
     <!-- 门店 -->
@@ -1025,4 +1029,30 @@ export default {
   margin: 0;
   margin-top: -10px;
 }
+.componVisitSummary {
+  .van-popup {
+    .tips {
+      width: 100%;
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      position: absolute;
+      top: 100px;
+      z-index: 999999;
+      div {
+        width: 80%;
+        height: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        text-align: center;
+        font-size: 15px;
+        background: rgba(225, 236, 250, 0.8);
+        border-radius: 6px;
+        color: #575656;
+      }
+    }
+  }
+}
 </style>

+ 6 - 0
src/views/week/assignAwait/JZfollowUp.vue

@@ -34,6 +34,10 @@
         转交下属
       </van-button>
     </assignAwaitDetail>
+    <!-- 催办历史 -->
+    <hasten
+      v-if="infoData && infoData.customerClueInfoUrgeList"
+      :hastenList="infoData.customerClueInfoUrgeList"></hasten>
     <!-- 历史跟进记录 -->
     <p style="margin: 0 16px 8px; color: #888" v-if="infoData && infoData.userCustomerClueList">
       该客资历史跟进记录
@@ -103,6 +107,7 @@ import { mapState } from 'vuex';
 import radioGroup from './radioGroup';
 import followUpHistory from './followUpHistory';
 import store from '@/store';
+import hasten from '@/views/clew/hasten';
 
 export default {
   name: 'assignPage',
@@ -110,6 +115,7 @@ export default {
     assignAwaitDetail,
     radioGroup,
     followUpHistory,
+    hasten,
   },
   computed: {
     ...mapState({

+ 1 - 1
src/views/week/assignAwait/radioGroup.vue

@@ -4,7 +4,7 @@
       <template v-if="clueOptionList[0].answerType == 'dx'">
         <van-radio-group v-model="clueOptionList[0].searchValue" @change="radioGroupChange">
           <template v-for="(item, index) in clueOptionList[0].customerClueOptionList">
-            <van-radio :name="item.customerClueOptionId" :key="index" @click="radioClick">
+            <van-radio :name="item.customerClueOptionId" @click="radioClick" :key="index">
               {{ item.customerClueOption }}
             </van-radio>
             <radioGroup

+ 26 - 0
src/views/week/componVisitSummary.vue

@@ -1126,4 +1126,30 @@ export default {
   margin: 0;
   margin-top: -10px;
 }
+.componVisitSummary {
+  .van-popup {
+    .tips {
+      width: 100%;
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      position: absolute;
+      top: 100px;
+      z-index: 999999;
+      div {
+        width: 80%;
+        height: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        text-align: center;
+        font-size: 15px;
+        background: rgba(225, 236, 250, 0.8);
+        border-radius: 6px;
+        color: #575656;
+      }
+    }
+  }
+}
 </style>

+ 7 - 10
src/views/week/daily.vue

@@ -145,6 +145,8 @@ import ZYSAP from '@/views/componentsTarget/ZYSAP';
 import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
 import reportCustom from './reportCustom';
 import target from './target.vue';
+import Atarget from '@/views/home/Atarget.vue';
+import Btarget from '@/views/home/Btarget.vue';
 
 export default {
   name: 'daily',
@@ -158,6 +160,8 @@ export default {
     veryGoodPlaceOrder,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -322,11 +326,7 @@ export default {
                 window.location.replace(window.location.origin + this.locationOrigin + '/home');
               });
           } else {
-            if (res.data.postName == '质感销售负责人' || res.data.postName == '质感销售专员') {
-              this.homePageIndicatorList = res.data.homePageIndicatorList;
-            } else {
-              this.homePageIndicatorList = null;
-            }
+            this.homePageIndicatorList = res.data.homePageIndicatorList;
             localStorage.setItem('powerGrade', res.data.positionId);
             localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
             this.GZQuota = false;
@@ -619,11 +619,8 @@ export default {
         this.GZQuota = false;
         this.JZQuota = false;
         this.YFQuota = res.data.postType == 'YF' ? true : false;
-        if (res.data.postName == '质感销售负责人' || res.data.postName == '质感销售专员') {
-          this.homePageIndicatorList = res.data.homePageIndicatorList;
-        } else {
-          this.homePageIndicatorList = null;
-        }
+        this.homePageIndicatorList = res.data.homePageIndicatorList;
+
         if (res.data.postType == 'JZ') {
           this.JZQuota = true;
         } else if (res.data.postType == 'GZ') {

+ 10 - 5
src/views/week/dailyApproval.vue

@@ -27,6 +27,11 @@
               <Btarget :reportInfo="reportTarget"></Btarget>
             </template>
           </template>
+          <template v-else-if="!YFQuota">
+            <!-- YFQuota:应用服务平台 不显示各项指标 -->
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </van-collapse>
       </template>
       <div class="contentContainer">
@@ -132,6 +137,8 @@ import ZYSAP from '@/views/componentsTarget/ZYSAP';
 import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
 import reportCustom from './reportCustom';
 import target from './target.vue';
+import Atarget from '@/views/home/Atarget.vue';
+import Btarget from '@/views/home/Btarget.vue';
 export default {
   name: 'daily',
   components: {
@@ -144,6 +151,8 @@ export default {
     veryGoodPlaceOrder,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -328,11 +337,7 @@ export default {
       });
       getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
         this.postName = res.data.postName;
-        if (res.data.postName == '质感销售负责人' || res.data.postName == '质感销售专员') {
-          this.homePageIndicatorList = res.data.homePageIndicatorList;
-        } else {
-          this.homePageIndicatorList = null;
-        }
+        this.homePageIndicatorList = res.data.homePageIndicatorList;
         this.GZQuota = false;
         this.JZQuota = false;
         this.YFQuota = res.data.postType == 'YF' ? true : false;

+ 2 - 2
src/views/week/dailyDetails.vue

@@ -293,7 +293,7 @@ import performanceSAP from '@/views/componentsTarget/performanceSAP';
 import ZYSAP from '@/views/componentsTarget/ZYSAP';
 import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
 import share from '@/components/share';
-// import chatBIReport from './chatBIReport.vue';
+import chatBIReport from './chatBIReport.vue';
 import reportCustom from './reportCustom';
 import target from './target.vue';
 import Atarget from '@/views/home/Atarget.vue';
@@ -310,7 +310,7 @@ export default {
     ZYSAP,
     veryGoodPlaceOrder,
     share,
-    // chatBIReport,
+    chatBIReport,
     reportCustom,
     target,
     Atarget,

+ 133 - 103
src/views/week/dailyHistoricalDetails.vue

@@ -10,12 +10,7 @@
             <div
               class="shareBtn"
               @click="clickShareFlag(-1)"
-              v-if="
-                reportTarget &&
-                source != 'share' &&
-                reportTarget.reportPostType == 'fx' &&
-                reportTarget.status != -1
-              ">
+              v-if="reportTarget && source != 'share' && reportTarget.status != -1">
               <van-icon name="share" />
               <div class="vedioLinks" @click.stop>
                 <span>一键分享日报,</span>
@@ -59,52 +54,10 @@
                   <Btarget :reportInfo="reportTarget"></Btarget>
                 </template>
               </template>
-              <div
-                v-if="reportTarget.photoSummary.length > 8"
-                class="arrowIcon"
-                style="
-                  display: flex;
-                  align-items: center;
-                  justify-content: center;
-                  padding: 5px 0;
-                  font-size: 14px;
-                  color: #969799;
-                "
-                @click="visitIMG1Flag = !visitIMG1Flag">
-                <template v-if="visitIMG1Flag">
-                  <span style="margin-right: 5px">折叠</span>
-                  <van-icon size="14" :name="require('@/assets/Icon/arrow-up.png')" />
-                </template>
-                <template v-else>
-                  <span style="margin-right: 5px">展开</span>
-                  <van-icon size="14" :name="require('@/assets/Icon/arrow-down.png')" />
-                </template>
-              </div>
-              <!-- 生动化陈列 sku -->
-              <template
-                v-if="
-                  reportTarget.photoSkuImgSummaryeList &&
-                  reportTarget.photoSkuImgSummaryeList.length
-                ">
-                <p style="padding-bottom: 10px; font-size: 14px; color: #1e5398; font-weight: 500">
-                  SKU陈列照识别结果
-                </p>
-                <p style="padding-bottom: 10px; font-size: 14px; font-weight: 500">
-                  目前识别桶装和战略产品合计106个,后续会增加被识别产品数
-                </p>
-                <el-table
-                  :data="reportTarget.photoSkuImgSummaryeList"
-                  border
-                  class="table-headermd table-headermdhome"
-                  style="width: 100%">
-                  <el-table-column label="序号" type="index" width="50px" align="center" />
-                  <el-table-column label="门店名称(编号)" prop="name" align="center">
-                    <template slot-scope="scope">
-                      {{ scope.row.name }}({{ scope.row.code }})
-                    </template>
-                  </el-table-column>
-                  <el-table-column label="SKU数量" prop="count" width="80px" align="center" />
-                </el-table>
+              <template v-else>
+                <!-- YFQuota:应用服务平台 不显示各项指标 -->
+                <Atarget :reportInfo="reportTarget"></Atarget>
+                <Btarget :reportInfo="reportTarget"></Btarget>
               </template>
             </template>
           </van-collapse>
@@ -186,12 +139,7 @@
                 <div
                   class="shareBtn"
                   @click="clickShareFlag(index)"
-                  v-if="
-                    reportTarget &&
-                    source != 'share' &&
-                    reportTarget.reportPostType == 'fx' &&
-                    reportTarget.status != -1
-                  ">
+                  v-if="reportTarget && source != 'share' && reportTarget.status != -1">
                   <van-icon name="share" />
                 </div>
               </div>
@@ -207,7 +155,7 @@
             </div>
           </div>
         </div>
-        <div class="contentContainer">
+        <div class="contentContainer" v-if="reportTarget.comment && reportTarget.status != -1">
           <p class="contentContainerTitle">点评</p>
           <div style="padding: 10px 0">
             <van-field
@@ -222,7 +170,7 @@
         </div>
       </div>
       <br />
-      <div class="contentborder">
+      <div class="contentborder" v-if="reportTarget.comment && reportTarget.status != -1">
         <van-button type="info" size="small" plain class="Btn1" @click="submint"
           >提交点评</van-button
         >
@@ -256,7 +204,10 @@
       :urlList="urlList"
       :reportRemarksIndex="reportRemarksIndex"
       :reportContents="reportContents"
-      :checkedPlan="checkedPlan"></share>
+      :checkedPlan="checkedPlan"
+      :isTarget="isTarget"
+      :isReportCustom="isReportCustom"
+      :isHistory="reportTarget.isHistory"></share>
     <!--分享图片列表 -->
     <el-dialog
       title="选择分享的内容"
@@ -266,36 +217,50 @@
       :close-on-click-modal="false"
       @close="wuliaoTableClose"
       custom-class="shareImgFlag">
-      <div v-if="reportTarget.photoSummary">
+      <div>
         <!-- <p style="margin-bottom: 10px; margin-top: 0; display: flex">
           今日总结&明日规划的文本内容<van-checkbox
             v-model="checkedPlan"
             style="margin-left: 10px"></van-checkbox>
         </p> -->
-        <p style="margin-top: 0">请点击勾选想要分享的今日拜访照片</p>
-        <div class="shareVisitImg">
-          <template v-for="(itemImg, indexImg) in reportTarget.photoSummary">
-            <div>
-              <img :src="itemImg.fileUrl" alt="" @click="selectImg(itemImg)" />
-              <van-icon
-                @click.stop
-                name="success"
-                class="activaImg"
-                color="#fff"
-                size="15"
-                style="
-                  position: absolute;
-                  right: 0;
-                  bottom: 0;
-                  /* margin: -15px 0 0 -15px; */
-                  pointer-events: none;
-                  background: #2b73cf;
-                  border: 2px solid #fff;
-                "
-                v-if="itemImg.checked" />
-            </div>
-          </template>
-        </div>
+        <p
+          style="margin-bottom: 10px; margin-top: 0; display: flex"
+          v-if="reportTarget.isHistory == '0'">
+          日报指标<van-checkbox v-model="isTarget" style="margin-left: 10px"></van-checkbox>
+        </p>
+        <p
+          style="margin-bottom: 10px; margin-top: 0; display: flex"
+          v-if="reportTarget.isHistory == '0'">
+          日报填写内容<van-checkbox
+            v-model="isReportCustom"
+            style="margin-left: 10px"></van-checkbox>
+        </p>
+        <template v-if="reportTarget.photoSummary">
+          <p style="margin-top: 0">请点击勾选想要分享的今日拜访照片</p>
+          <div class="shareVisitImg">
+            <template v-for="(itemImg, indexImg) in reportTarget.photoSummary">
+              <div>
+                <img :src="itemImg.fileUrl" alt="" @click="selectImg(itemImg)" />
+                <van-icon
+                  @click.stop
+                  name="success"
+                  class="activaImg"
+                  color="#fff"
+                  size="15"
+                  style="
+                    position: absolute;
+                    right: 0;
+                    bottom: 0;
+                    /* margin: -15px 0 0 -15px; */
+                    pointer-events: none;
+                    background: #2b73cf;
+                    border: 2px solid #fff;
+                  "
+                  v-if="itemImg.checked" />
+              </div>
+            </template>
+          </div>
+        </template>
       </div>
       <span slot="footer" class="footer-btn">
         <van-button plain type="primary" @click="shareImgFlag = false">取 消</van-button>
@@ -328,6 +293,8 @@ import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
 import share from '@/components/share';
 import reportCustom from './reportCustom';
 import target from './target.vue';
+import Atarget from '@/views/home/Atarget.vue';
+import Btarget from '@/views/home/Btarget.vue';
 
 export default {
   name: 'daily',
@@ -342,6 +309,8 @@ export default {
     share,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -412,6 +381,8 @@ export default {
       shareReportConfig: null,
       postName: '',
       homePageIndicatorList: null,
+      isTarget: false, //日报指标
+      isReportCustom: true, //日报填写内容
     };
   },
   watch: {
@@ -461,31 +432,69 @@ export default {
         buryingPointName: '日报详情分享',
         buryingPointPosition: '日报详情',
       });
+      this.isReportCustom = true;
       this.urlList = [];
       this.reportRemarksIndex = index;
+      // <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
+      if (this.reportTarget.isHistory == '0') {
+        this.setPhotoSummary();
+        this.shareImgFlag = true;
+      } else {
+        this.setPhotoSummary();
+        // 没有图片直接打开分享
+        if (this.reportTarget.photoSummary && this.reportTarget.photoSummary.length) {
+          // 选择分享的图片
+          this.setShareFlag = true;
+        }
+      }
+    },
+    setPhotoSummary() {
       if (this.reportTarget.photoSummary && this.reportTarget.photoSummary.length) {
         // 重置分享图片状态
         this.reportTarget.photoSummary.forEach((item) => {
-          // item.photos.forEach((val) => {
           this.$set(item, 'checked', false);
-          // });
         });
-        // 选择分享的图片
-        this.shareImgFlag = true;
-      } else {
-        this.setShareFlag = true;
       }
     },
     // 确认分享
     confirmShare() {
-      this.reportTarget.photoSummary.forEach((item) => {
-        // item.photos.forEach((val) => {
-        if (item.checked) this.urlList.push(item.fileUrl);
-        // });
-      });
-      if (this.urlList.length == 0 && !this.checkedPlan) {
-        this.$notify({ type: 'warning', message: '请选择分享内容!', className: 'notifyIndex' });
-        return;
+      // 旧的分享没有图标不会进来
+      // 是否有图片
+      if (this.reportTarget.photoSummary) {
+        this.reportTarget.photoSummary.forEach((item) => {
+          if (item.checked) this.urlList.push(item.fileUrl);
+        });
+
+        if (this.reportTarget.isHistory == '0') {
+          if (this.urlList.length == 0 && !this.isTarget && !this.isReportCustom) {
+            this.$notify({
+              type: 'warning',
+              message: '请选择分享内容!',
+              className: 'notifyIndex',
+            });
+            return;
+          }
+        } else {
+          if (this.urlList.length == 0 && !this.checkedPlan) {
+            this.$notify({
+              type: 'warning',
+              message: '请选择分享内容!',
+              className: 'notifyIndex',
+            });
+            return;
+          }
+        }
+      } else {
+        if (this.reportTarget.isHistory == '0') {
+          if (!this.isTarget && !this.isReportCustom) {
+            this.$notify({
+              type: 'warning',
+              message: '请选择分享内容!',
+              className: 'notifyIndex',
+            });
+            return;
+          }
+        }
       }
       buryingPoint({
         systemModel: '日报审核',
@@ -641,9 +650,7 @@ export default {
               });
             });
         } else {
-          if (res.data.postName == '质感销售负责人' || res.data.postName == '质感销售专员') {
-            this.homePageIndicatorList = res.data.homePageIndicatorList;
-          }
+          this.homePageIndicatorList = res.data.homePageIndicatorList;
           console.log(this.homePageIndicatorList);
           this.postName = res.data.postName;
           this.GZQuota = false;
@@ -1009,10 +1016,33 @@ export default {
       justify-content: center;
     }
   }
+  .el-dialog__title {
+    height: 50px;
+    line-height: 50px !important;
+  }
+  .el-dialog__footer {
+    padding: 0;
+  }
 }
 .notifyIndex {
   z-index: 999999 !important;
 }
+.table-headermd th.el-table__cell {
+  background-color: #1989fa;
+  color: #fff;
+}
+.table-headermd {
+  font-size: 12px;
+  text-align: center;
+  position: initial;
+  width: 98% !important;
+  margin: 0 auto;
+  border-right: 0;
+  border-radius: 10px;
+  .el-table__cell {
+    padding: 6px 0 !important;
+  }
+}
 .van-nav-bar__right:active {
   opacity: 1 !important;
 }

+ 7 - 5
src/views/week/doubleHistoricalWeeklyDetils.vue

@@ -3,6 +3,7 @@
     <!--        顶部条-->
     <div class="navBarTOP">
       <van-nav-bar class="navBar" title="半月报详情" left-arrow @click-left="onClickLeft" />
+      <!--      <p style="margin-left: 16px;    font-size: 14px;">{{title}}</p>-->
     </div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
@@ -45,6 +46,7 @@
                     readonly
                     type="textarea" />
                 </div>
+                <<<<<<< HEAD =======
               </div>
             </div>
           </van-collapse-item>
@@ -101,6 +103,7 @@
             <div style="padding: 10px 0">
               <van-field v-model="item.remarkContent" rows="4" autosize readonly type="textarea" />
             </div>
+            <!-- <p style="text-align: right">点评时间:{{ item.createTime }}</p> -->
           </div>
         </div>
       </div>
@@ -123,6 +126,10 @@
       <van-button type="info" size="small" plain class="Btn1" @click="submint">提交点评</van-button>
     </div>
     <br />
+    <!--    <div class="envelopes" @click="openEnterpriseChat" >-->
+    <!--      <img :src="envelopes">-->
+    <!--      <p>红包奖励</p>-->
+    <!--    </div>-->
     <br /><br />
     <br /><br />
   </div>
@@ -206,7 +213,6 @@ export default {
       managerRemarkContent: '',
       isDiy: false,
       type: '-1',
-      JZQuota: false,
       //
     };
   },
@@ -369,10 +375,6 @@ export default {
       });
       getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
         loading1.clear();
-        this.JZQuota = false;
-        if (res.data.postType == 'JZ') {
-          this.JZQuota = true;
-        }
         this.title =
           res.data.deptName + '-' + res.data.postName + '-' + res.data.nickName + '的半月报';
         this.ptitle = res.data.pdeptName + '-' + res.data.ppostName + '-' + res.data.pnickName;

+ 5 - 0
src/views/week/doubleWeekly.vue

@@ -131,6 +131,7 @@ import zhiganwaiqiangSAP from '@/views/componentsTarget/zhiganwaiqiangSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 
 export default {
   name: 'home',
@@ -145,6 +146,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -177,6 +179,7 @@ export default {
       temporaryShow: '',
       type: '-1',
       JZQuota: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -243,6 +246,7 @@ export default {
                 window.location.replace(window.location.origin + this.locationOrigin + '/home');
               });
           } else {
+            this.homePageIndicatorList = res.data.homePageIndicatorList || null;
             this.reportTargetAll = res.data.reportTargetAll;
             this.reportTarget = res.data;
             this.type = res.data.userType;
@@ -560,6 +564,7 @@ export default {
         this.reportTargetAll = res.data.reportTargetAll;
         this.reportTarget = res.data;
         this.type = res.data.userType;
+        this.homePageIndicatorList = res.data.homePageIndicatorList || null;
         var reportContentsList1 = [];
         var reportContentsList2 = [];
         var reportContentsList3 = [];

+ 6 - 5
src/views/week/doubleWeeklyApproval.vue

@@ -64,6 +64,7 @@
           <van-collapse-item title="本期工作规划" name="8">
             <div style="margin-top: -10px">
               <div v-for="(item2, index2) in reportContentsList3" :key="index2">
+                <!--              <p class="texttitle"><span class="opint"></span><span>{{selectDictLabel(weekType,item2.doubleWeekType)}}</span></p>-->
                 <div style="padding: 10px 0; min-height: 32px" class="contentContainer">
                   <van-field
                     v-model="item2.doubleWeekContent"
@@ -136,6 +137,7 @@ import zhiganwaiqiangSAP from '@/views/componentsTarget/zhiganwaiqiangSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 
 export default {
   name: 'home',
@@ -150,6 +152,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -185,6 +188,7 @@ export default {
       type: '-1',
       JZQuota: false,
       reportTarget: {},
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -198,7 +202,7 @@ export default {
     $route(to, from) {
       this.powerGrade = localStorage.getItem('powerGrade');
       if (to.path == '/doubleWeeklyApproval') {
-        this.getReportInfo();
+        this.getDetailById();
         this.number == 0;
         this.Content = '';
       }
@@ -296,10 +300,6 @@ export default {
       getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
         loading1.clear();
         if (res.code == 200) {
-          this.JZQuota = false;
-          if (res.data.postType == 'JZ') {
-            this.JZQuota = true;
-          }
           if (res.data.status != '1') {
             this.$dialog
               .alert({
@@ -310,6 +310,7 @@ export default {
                 window.location.replace(window.location.origin + this.locationOrigin + '/home');
               });
           } else {
+            this.homePageIndicatorList = res.data.homePageIndicatorList;
             this.reportTargetAll = res.data.reportTargetAll;
             this.reportTarget = res.data;
             this.type = res.data.userType;

+ 11 - 14
src/views/week/doubleWeeklyDetils.vue

@@ -3,12 +3,14 @@
     <!--        顶部条-->
     <div class="navBarTOP">
       <van-nav-bar class="navBar" title="半月报详情" left-arrow @click-left="onClickLeft" />
+      <!--      <p style="text-align: right;margin-right: 16px;color: #1e5398;">{{title}}</p>-->
     </div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
+    <!--    <div class="lineGrey"></div>-->
     <!--        主体内容-->
     <div class="container linep">
       <van-collapse v-model="activeNames">
@@ -37,6 +39,7 @@
           <van-collapse-item title="上期工作成果" name="7">
             <div style="margin-top: -10px">
               <div v-for="(item, index) in reportContentsList2" :key="index">
+                <!--              <p class="texttitle"><span class="opint"></span><span>{{selectDictLabel(weekType,item.doubleWeekType)}}</span></p>-->
                 <p class="texttitle texttitle2">计划工作进度</p>
                 <div style="padding: 10px 0; min-height: 32px" class="contentContainer">
                   <van-field
@@ -46,6 +49,7 @@
                     readonly
                     type="textarea" />
                 </div>
+                <!--              <p  style="min-height: 32px;">{{reportContentsList1[index].doubleWeekContent}}</p>-->
                 <p class="texttitle texttitle2">实际工作进度</p>
                 <div style="padding: 10px 0; min-height: 32px" class="contentContainer">
                   <van-field
@@ -55,26 +59,15 @@
                     readonly
                     type="textarea" />
                 </div>
+                <!--              <p>{{}}</p>-->
               </div>
             </div>
           </van-collapse-item>
           <van-collapse-item title="本期工作规划" name="8">
             <div style="margin-top: -10px">
               <div v-for="(item2, index2) in reportContentsList3" :key="index2">
-                <div style="padding: 10px 0; min-height: 32px" class="contentContainer">
-                  <van-field
-                    v-model="item2.doubleWeekContent"
-                    rows="4"
-                    autosize
-                    readonly
-                    type="textarea" />
-                </div>
-              </div>
-            </div>
-          </van-collapse-item>
-          <van-collapse-item title="本期工作规划" name="8">
-            <div style="margin-top: -10px">
-              <div v-for="(item2, index2) in reportContentsList3" :key="index2">
+                <!--              <p class="texttitle"><span class="opint"></span><span>{{selectDictLabel(weekType,item2.doubleWeekType)}}</span></p>-->
+                <!--              <p>{{item2.doubleWeekContent}}</p>-->
                 <div style="padding: 10px 0; min-height: 32px" class="contentContainer">
                   <van-field
                     v-model="item2.doubleWeekContent"
@@ -156,6 +149,7 @@ import zhiganwaiqiangSAP from '@/views/componentsTarget/zhiganwaiqiangSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 
 export default {
   name: 'home',
@@ -170,6 +164,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -213,6 +208,7 @@ export default {
       type: '-1',
       ptitle: '',
       JZQuota: false,
+      homePageIndicatorList: null,
       //
     };
   },
@@ -261,6 +257,7 @@ export default {
           this.JZQuota = true;
         }
         loading1.clear();
+        this.homePageIndicatorList = res.data.homePageIndicatorList;
         this.title = res.data.deptName + '  ' + res.data.nickName;
         this.reportTargetAll = res.data.reportTargetAll;
         this.reportTarget = res.data;

+ 73 - 41
src/views/week/target.vue

@@ -1,5 +1,6 @@
 <template>
-  <div class="ABtarage">
+  <div class="ABtarage HomeTarget">
+    <!-- labelStyle 垃圾,不能全匹配,需要特殊处理 -->
     <template>
       <div class="container linep" v-if="homePageIndicatorDate">
         <van-collapse v-model="activeNames">
@@ -13,13 +14,12 @@
                 <div
                   v-for="(periodItem, periodIndex) in homePageItem.children"
                   :key="'title-' + periodIndex">
-                  <van-col span="12">
+                  <van-col span="12" v-if="periodItem.name">
                     <span :class="periodIndex % 2 === 0 ? 'leftTitle' : 'rightTitle'">{{
                       periodItem.name
                     }}</span>
                   </van-col>
                 </div>
-
                 <!-- 动态渲染指标项 -->
                 <div v-if="homePageItem.children.length >= 2">
                   <!-- 遍历第一个周期的所有指标 -->
@@ -31,13 +31,7 @@
                       <p>
                         {{ metric.name }}:
                         <span class="colorblack">
-                          <template v-if="metric.indicatorUnit === '%'"
-                            >{{ metric.indicatorValue }}%</template
-                          >
-                          <template v-else>
-                            {{ Micrometer(metric.indicatorValue) }}
-                            {{ metric.indicatorUnit }}
-                          </template>
+                          {{ metric.indicatorDisplayValue }}
                         </span>
                       </p>
                     </van-col>
@@ -46,20 +40,9 @@
                       <p>
                         {{ homePageItem.children[1]?.children[metricIndex]?.name || '-' }}:
                         <span class="colorblack">
-                          <template
-                            v-if="
-                              homePageItem.children[1]?.children[metricIndex]?.indicatorUnit === '%'
-                            ">
-                            {{ homePageItem.children[1]?.children[metricIndex]?.indicatorValue }}%
-                          </template>
-                          <template v-else>
-                            {{
-                              Micrometer(
-                                homePageItem.children[1]?.children[metricIndex]?.indicatorValue,
-                              )
-                            }}
-                            {{ homePageItem.children[1]?.children[metricIndex]?.indicatorUnit }}
-                          </template>
+                          {{
+                            homePageItem.children[1]?.children[metricIndex]?.indicatorDisplayValue
+                          }}
                         </span>
                       </p>
                     </van-col>
@@ -76,7 +59,7 @@
                 v-for="(category, index) in homePageItem.children"
                 :key="index"
                 :style="{ marginTop: index > 0 ? '10px' : '0' }">
-                <van-col span="24">
+                <van-col span="24" v-if="category.name">
                   <span :class="index % 2 === 0 ? 'leftTitle' : 'rightTitle'">{{
                     category.name
                   }}</span>
@@ -88,9 +71,8 @@
                     <p>
                       {{ item.name }}:<span
                         :style="labelStyle(item.clickable)"
-                        @click="onClick(item.clickable)"
                         class="colorbalck"
-                        >{{ Micrometer(item.indicatorValue) }}{{ item.indicatorUnit }}</span
+                        >{{ item.indicatorDisplayValue }}</span
                       >
                     </p>
                   </van-col>
@@ -112,9 +94,63 @@
                     <p>
                       {{ item.name }}:<span
                         :style="labelStyle(item.clickable)"
-                        @click="onClick(item.clickable)"
                         class="colorbalck"
-                        >{{ Micrometer(item.indicatorValue) }}{{ item.indicatorUnit }}</span
+                        >{{ item.indicatorDisplayValue }}</span
+                      >
+                    </p>
+                  </van-col>
+                </div>
+              </van-row>
+            </van-collapse-item>
+            <van-collapse-item
+              v-if="homePageItem.labelStyle == 4"
+              :name="(index + 1).toString()"
+              :title="homePageItem.name">
+              <!-- 外层循环:遍历主要类别 -->
+              <template v-for="(category, index) in homePageItem.children">
+                <van-row
+                  :style="{
+                    width: category.name ? '49%' : '100%',
+                    float: category.name ? 'left' : 'none',
+                  }">
+                  <van-col span="20" v-if="category.name">
+                    <span :class="index % 2 === 0 ? 'leftTitle' : 'rightTitle'">{{
+                      category.name
+                    }}</span>
+                  </van-col>
+
+                  <!-- 内层循环:遍历各个统计项 -->
+                  <div v-for="(item, idx) in category.children" :key="idx">
+                    <van-col :span="24">
+                      <p>
+                        {{ item.name }}:<span
+                          :style="labelStyle(item.clickable)"
+                          class="colorbalck"
+                          >{{ item.indicatorDisplayValue }}</span
+                        >
+                      </p>
+                    </van-col>
+                  </div>
+                </van-row>
+              </template>
+            </van-collapse-item>
+            <van-collapse-item
+              v-if="homePageItem.labelStyle == 5"
+              :name="(index + 1).toString()"
+              :title="homePageItem.name">
+              <!-- 外层循环:遍历主要类别 -->
+              <van-row
+                v-for="(category, index) in homePageItem.children"
+                :key="index"
+                :style="{ marginTop: index == 0 ? '-10px' : '0' }">
+                <!-- 内层循环:遍历各个统计项 -->
+                <div v-for="(item, idx) in category.children" :key="idx">
+                  <van-col :span="24">
+                    <p>
+                      {{ item.name }}:<span
+                        :style="labelStyle(item.clickable)"
+                        class="colorbalck"
+                        >{{ item.indicatorDisplayValue }}</span
                       >
                     </p>
                   </van-col>
@@ -129,12 +165,12 @@
 </template>
 
 <script>
-import store from '@/store';
 export default {
   name: 'home',
   props: {
     homePageIndicatorDate: {
       type: Array,
+      default: () => [],
     },
   },
   data() {
@@ -215,13 +251,6 @@ export default {
         color: val == 1 ? '#0057ba' : '#666666',
       };
     },
-    // 跳转详情
-    onClick(val) {
-      if (val == 1) {
-        store.dispatch('setActivaTypeStore', 'FuWuShang');
-        this.$router.push({ path: '/noVisit' });
-      }
-    },
   },
 };
 </script>
@@ -236,7 +265,7 @@ export default {
 }
 
 .container {
-  /* margin: 10px; */
+  margin: 10px 0;
 }
 
 .container .van-collapse-item {
@@ -263,6 +292,7 @@ export default {
   display: inline-block;
   padding: 0 4px;
   border-radius: 2px;
+  margin-top: 10px;
 }
 
 .rightTitle {
@@ -272,6 +302,7 @@ export default {
   padding: 0 4px;
   border-radius: 2px;
   white-space: nowrap;
+  margin-top: 10px;
 }
 </style>
 <style lang="scss">
@@ -300,7 +331,7 @@ export default {
 
 .linep .van-cell__title {
   color: #1e5398;
-  font-weight: 500;
+  font-weight: 600 !important;
   font-size: 16px;
 }
 
@@ -348,8 +379,9 @@ export default {
   padding: 14px 0px;
 }
 
-.storeTypeHome .van-collapse-item__content {
-  padding: 0;
+.HomeTarget .van-collapse-item__content {
+  padding: 0px 15px 15px 15px;
+  overflow: hidden;
 }
 
 .storeTypeHome .storeTypeHomeList .van-cell__title {

+ 5 - 5
src/views/week/weekly.vue

@@ -174,6 +174,7 @@ import fangshuiSAP from '@/views/componentsTarget/fangshuiSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 export default {
   name: 'home',
   components: {
@@ -191,6 +192,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -216,16 +218,14 @@ export default {
       value: '2',
       timeList: [],
       isclick: true,
-      reportTargetAll: {},
       reportTarget: {},
       reportContentsList1: [],
       reportContentsList2: [],
       reportContentsList3: [],
       temporaryShow: '',
-      type: '-1',
-      JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -270,8 +270,8 @@ export default {
           } else {
             this.GZdata = false;
           }
+          this.homePageIndicatorList = res.data.homePageIndicatorList;
           var dayTime = res.data.date;
-          this.type = res.data.userType;
           this.timeList = this.parseTimeParagraph(
             dayTime.slice(0, 4) + '-' + dayTime.slice(4, 6) + '-' + dayTime.slice(6, 8),
           );
@@ -285,7 +285,6 @@ export default {
                 window.location.replace(window.location.origin + this.locationOrigin + '/home');
               });
           } else {
-            this.reportTargetAll = res.data.reportTargetAll;
             this.reportTarget = res.data;
             this.reportContents = res.data.reportContents;
             var reportContentsList1 = [];
@@ -585,6 +584,7 @@ export default {
         localStorage.setItem('powerGrade', res.data.positionId);
         localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
         this.type = res.data.userType;
+        this.homePageIndicatorList = res.data.homePageIndicatorList;
         var dayTime = res.data.date;
         this.YFQuota = res.data.postType == 'YF' ? true : false;
         this.timeList = this.parseTimeParagraph(

+ 4 - 0
src/views/week/weeklyApproval.vue

@@ -173,6 +173,7 @@ import fangshuiSAP from '@/views/componentsTarget/fangshuiSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 export default {
   name: 'weeklyApproval',
   components: {
@@ -190,6 +191,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -232,6 +234,7 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -353,6 +356,7 @@ export default {
           } else {
             this.GZdata = false;
           }
+          this.homePageIndicatorList = res.data.homePageIndicatorList;
           var dayTime = res.data.date;
           this.type = res.data.userType;
           this.timeList = this.parseTimeParagraph(

+ 7 - 1
src/views/week/weeklyApprovalDetils.vue

@@ -31,7 +31,6 @@
         </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
-
           <reportCustom
             ref="reportCustom"
             :disabled="true"
@@ -187,6 +186,7 @@ import fangshuiSAP from '@/views/componentsTarget/fangshuiSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 
 export default {
   name: 'home',
@@ -205,6 +205,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -250,14 +251,18 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
+    this.postName = localStorage.getItem('postName');
+    this.homePageIndicatorList = null;
     this.powerGrade = localStorage.getItem('powerGrade');
     this.getDetailById();
   },
   watch: {
     $route(to, from) {
+      this.postName = localStorage.getItem('postName');
       this.powerGrade = localStorage.getItem('powerGrade');
       if (to.path == '/weeklyApprovalDetils') {
         this.getDetailById();
@@ -290,6 +295,7 @@ export default {
           } else {
             this.GZdata = false;
           }
+          this.homePageIndicatorList = res.data.homePageIndicatorList || null;
           var dayTime = res.data.date;
           this.type = res.data.userType;
           this.ptitle = res.data.pdeptName + '-' + res.data.ppostName + '-' + res.data.pnickName;

+ 4 - 0
src/views/week/weeklyHistoricalDetils.vue

@@ -199,6 +199,7 @@ import fangshuiSAP from '@/views/componentsTarget/fangshuiSAP';
 import Atarget from '@/views/home/Atarget.vue';
 import Btarget from '@/views/home/Btarget.vue';
 import reportCustom from './reportCustom.vue';
+import target from './target.vue';
 export default {
   name: 'home',
   components: {
@@ -216,6 +217,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -264,6 +266,7 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -393,6 +396,7 @@ export default {
           } else {
             this.GZdata = false;
           }
+          this.homePageIndicatorList = res.data.homePageIndicatorList || null;
           var dayTime = res.data.date;
           this.type = res.data.userType;
           this.title =