zhujindu недель назад: 2
Родитель
Сommit
39f7d8f09b
1 измененных файлов с 204 добавлено и 125 удалено
  1. 204 125
      src/views/week/dailyDetails.vue

+ 204 - 125
src/views/week/dailyDetails.vue

@@ -8,7 +8,7 @@
             <div
               class="shareBtn"
               @click="clickShareFlag(-1)"
-              v-if="reportTarget && source != 'share' && reportTarget.reportPostType == 'fx'">
+              v-if="reportTarget && source != 'share'">
               <van-icon name="share" />
               <div class="vedioLinks" @click.stop>
                 <span>一键分享日报,</span>
@@ -46,52 +46,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>
@@ -174,10 +132,15 @@
                 <div
                   class="shareBtn"
                   @click="clickShareFlag(index)"
-                  v-if="reportTarget && source != 'share' && reportTarget.reportPostType == 'fx'">
+                  v-if="reportTarget && source != 'share'">
                   <van-icon name="share" />
                 </div>
               </div>
+              <p class="contentContainerTitle">
+                <template v-if="item.deptName">{{ item.deptName }}-</template>{{ item.postName }}-{{
+                  item.nickName
+                }}点评
+              </p>
               <div style="padding: 10px 0">
                 <van-field
                   v-model="item.remarkContent"
@@ -227,7 +190,10 @@
       :urlList="urlList"
       :reportRemarksIndex="reportRemarksIndex"
       :reportContents="reportContents"
-      :checkedPlan="checkedPlan"></share>
+      :checkedPlan="checkedPlan"
+      :isTarget="isTarget"
+      :isReportCustom="isReportCustom"
+      :isHistory="reportTarget.isHistory"></share>
     <!--分享图片列表 -->
     <el-dialog
       title="选择分享的内容"
@@ -237,36 +203,67 @@
       :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;
+            align-items: center;
+            cursor: pointer;
+          "
+          v-if="reportTarget.isHistory == '0'"
+          @click="isTarget = !isTarget">
+          <van-checkbox v-model="isTarget" style="margin-right: 10px" @click.stop></van-checkbox>
+          <span>日报指标</span>
+        </p>
+        <p
+          style="
+            margin-bottom: 10px;
+            margin-top: 0;
+            display: flex;
+            align-items: center;
+            cursor: pointer;
+          "
+          v-if="reportTarget.isHistory == '0'"
+          @click="isReportCustom = !isReportCustom">
+          <van-checkbox
+            v-model="isReportCustom"
+            style="margin-right: 10px"
+            @click.stop></van-checkbox>
+          <span>日报填写内容</span>
+        </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>
@@ -296,11 +293,14 @@ 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 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',
+  name: 'dailyDetails',
   components: {
     visitedRealTime,
     createStoreBJ,
@@ -310,8 +310,11 @@ export default {
     ZYSAP,
     veryGoodPlaceOrder,
     share,
+    // chatBIReport,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -370,15 +373,18 @@ export default {
       reportRemarksIndex: -1,
       shareImgFlag: false,
       urlList: [],
+      title: '',
       setDailyDetailsBoxFlag: true,
       sourceType: '',
       checkedPlan: true, //今日总结&明日规划
-      visitIMG1Flag: false,
       shareVisible: true,
+      visitIMG1Flag: false,
       shareReportConfig: null,
       managerRemarkContent: '',
       postName: '',
       homePageIndicatorList: null,
+      isTarget: false, //日报指标
+      isReportCustom: true, //日报填写内容
     };
   },
   created() {
@@ -426,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: '日报审核',
@@ -530,11 +574,7 @@ export default {
       });
       getDetailById({ reportId: this.$route.query.reportId }).then((res) => {
         loading1.clear();
-        if (res.data.postName == '质感销售负责人' || res.data.postName == '质感销售专员') {
-          this.homePageIndicatorList = res.data.homePageIndicatorList;
-        } else {
-          this.homePageIndicatorList = null;
-        }
+        this.homePageIndicatorList = res.data.homePageIndicatorList;
         this.postName = res.data.postName;
         this.reportTargetAll = res.data.reportTargetAll;
         this.reportTarget = res.data;
@@ -542,6 +582,8 @@ export default {
         this.GZQuota = false;
         this.YFQuota = res.data.postType == 'YF' ? true : false;
         this.ptitle = res.data.pdeptName + '-' + res.data.ppostName + '-' + res.data.pnickName;
+        this.title =
+          res.data.deptName + '-' + res.data.postName + '-' + res.data.nickName + '的日报';
         if (res.data.postType == 'JZ') {
           this.JZQuota = true;
         } else if (res.data.postType == 'GZ') {
@@ -808,23 +850,6 @@ export default {
     border-radius: 6px;
   }
 }
-
-.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;
-  }
-}
-.table-headermd th.el-table__cell {
-  background-color: #1989fa;
-  color: #fff;
-}
 .el-dialog__wrapper {
   z-index: 9999 !important;
   display: flex;
@@ -837,25 +862,60 @@ export default {
     flex-direction: column;
     max-height: 70%;
     margin-top: 0 !important;
+    border-radius: 12px;
+    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+    z-index: 10000;
     .el-dialog__header {
-      height: 40px;
+      height: 50px;
       display: flex;
-      justify-content: right;
+      align-items: center;
+      justify-content: center;
+      border-bottom: 1px solid #ebeef5;
+      padding: 0 20px;
+      background-color: #fff;
+      .el-dialog__title {
+        font-size: 16px;
+        font-weight: 500;
+        color: #303133;
+      }
       .el-dialog__headerbtn {
-        position: static !important;
+        position: absolute;
+        right: 15px;
+        top: 15px;
       }
     }
     .el-dialog__body {
-      padding: 30px 20px !important;
+      padding: 20px !important;
       overflow-y: auto;
       flex: 1;
+      background-color: #fff;
     }
     .cell {
       font-size: 12px;
     }
     .footer-btn {
       display: flex;
-      justify-content: space-around;
+      justify-content: center;
+      gap: 30px;
+      padding: 15px 20px;
+      border-top: 1px solid #ebeef5;
+      background-color: #fff;
+      border-radius: 0 0 12px 12px;
+      margin-top: 0 !important;
+      button {
+        width: 120px;
+        height: 36px;
+        border-radius: 18px;
+      }
+      .van-button--primary {
+        background-color: #2b73cf;
+        border-color: #2b73cf;
+      }
+      .van-button--primary.van-button--plain {
+        color: #999;
+        border-color: #dcdfe6;
+        background-color: #f5f7fa;
+      }
     }
   }
 }
@@ -869,25 +929,44 @@ export default {
       margin-right: 3%;
       margin-top: 10px;
       position: relative;
+      border-radius: 8px;
+      overflow: hidden;
+      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
       img {
         width: 100%;
         height: 100%;
+        object-fit: cover;
       }
     }
   }
-  .el-dialog__header {
-    display: flex;
-    .el-dialog__title {
-      flex: 1;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
+  .el-dialog__title {
+    height: 50px;
+    line-height: 50px !important;
+  }
+  .el-dialog__footer {
+    padding: 0;
   }
 }
 .notifyIndex {
   z-index: 999999 !important;
 }
+
+.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;
+  }
+}
+.table-headermd th.el-table__cell {
+  background-color: #1989fa;
+  color: #fff;
+}
 .van-nav-bar__right:active {
   opacity: 1 !important;
 }