Преглед изворни кода

Merge branch 'feature_20260402_指标修改' into release

# Conflicts:
#	src/api/index.js
zhujindu пре 2 дана
родитељ
комит
2ba2d7e6b0
48 измењених фајлова са 3981 додато и 2292 уклоњено
  1. 9 0
      src/api/index.js
  2. 56 0
      src/components/componentsTarget/ZYPlaceOrder.vue
  3. 52 0
      src/components/componentsTarget/ZYSAP.vue
  4. 42 0
      src/components/componentsTarget/chunTaiSAP.vue
  5. 52 0
      src/components/componentsTarget/cizhuanjiaoSAP.vue
  6. 82 0
      src/components/componentsTarget/createStoreBJ.vue
  7. 52 0
      src/components/componentsTarget/fangshuiSAP.vue
  8. 0 0
      src/components/componentsTarget/index.css
  9. 52 0
      src/components/componentsTarget/moshouqiSAP.vue
  10. 52 0
      src/components/componentsTarget/neiqiangzhonggaoduanSAP.vue
  11. 52 0
      src/components/componentsTarget/neiwaiqiangpingtu.vue
  12. 84 0
      src/components/componentsTarget/performanceSAP.vue
  13. 63 0
      src/components/componentsTarget/placeOrder.vue
  14. 54 0
      src/components/componentsTarget/veryGoodPlaceOrder.vue
  15. 126 0
      src/components/componentsTarget/visitedRealTime.vue
  16. 52 0
      src/components/componentsTarget/zhiganwaiqiangSAP.vue
  17. 87 11
      src/components/share.vue
  18. 710 0
      src/components/shareAtarget.vue
  19. 509 0
      src/components/shareBtarget.vue
  20. 536 0
      src/components/shareCommonTarget.vue
  21. 96 0
      src/components/shareReportCustom.vue
  22. 43 5
      src/store/modules/user.js
  23. 6 67
      src/views/componentsTarget/createStoreBJ.vue
  24. 0 74
      src/views/componentsTarget/index.css
  25. 4 40
      src/views/componentsTarget/placeOrder.vue
  26. 6 29
      src/views/componentsTarget/visitedRealTime.vue
  27. 78 0
      src/views/home/ABtarget.vue
  28. 80 3
      src/views/home/Atarget.vue
  29. 78 0
      src/views/home/Btarget.vue
  30. 96 33
      src/views/home/HomeTarget.vue
  31. 42 1
      src/views/home/bottomBtn.vue
  32. 10 34
      src/views/home/hintTabPage/hintDetail.vue
  33. 110 82
      src/views/home/hintTabPage/index.vue
  34. 4 6
      src/views/home/hintTabPage/noVisit.vue
  35. 4 6
      src/views/home/hintTabPage/unCreateStore.vue
  36. 34 29
      src/views/home/index.vue
  37. 26 400
      src/views/week/daily.vue
  38. 21 432
      src/views/week/dailyApproval.vue
  39. 187 493
      src/views/week/dailyDetails.vue
  40. 129 490
      src/views/week/dailyHistoricalDetails.vue
  41. 19 2
      src/views/week/doubleWeekly.vue
  42. 18 2
      src/views/week/doubleWeeklyApproval.vue
  43. 18 2
      src/views/week/doubleWeeklyDetils.vue
  44. 74 42
      src/views/week/target.vue
  45. 19 2
      src/views/week/weekly.vue
  46. 18 2
      src/views/week/weeklyApproval.vue
  47. 21 3
      src/views/week/weeklyApprovalDetils.vue
  48. 18 2
      src/views/week/weeklyHistoricalDetils.vue

+ 9 - 0
src/api/index.js

@@ -1187,3 +1187,12 @@ export function selectUserDistanceTheStore(query) {
     params: query,
   });
 }
+
+//分享日报入记录表
+export function shareReportMobile(data) {
+  return request({
+    url: '/mobile/reportMobile/share',
+    method: 'post',
+    data,
+  });
+}

+ 56 - 0
src/components/componentsTarget/ZYPlaceOrder.vue

@@ -0,0 +1,56 @@
+<!-- 拜访数据(实时) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">昨日新增:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本月实际:</span></van-col>
+    <van-col span="12">
+      <p>
+        下单点数:<span class="colorbalck">{{
+          Micrometer(reportTargetAll.professionalSslYes)
+        }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单点数:<span class="colorbalck">{{
+          Micrometer(reportTargetAll.professionalSslMonth)
+        }}</span>
+      </p></van-col
+    >
+    <van-col span="12"><p></p></van-col>
+    <van-col span="12"
+      ><p>
+        下单率:<span class="colorbalck">{{ reportTargetAll.professionalSslOrderRateMonth }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单数量(桶):<span class="colorbalck">{{
+          Micrometer(reportTargetAll.professionalSslOrderNumYes)
+        }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单数量(桶):<span class="colorbalck">{{
+          Micrometer(reportTargetAll.professionalSslOrderNumMonth)
+        }}</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/ZYSAP.vue

@@ -0,0 +1,52 @@
+<!-- 拜访数据(实时) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.czjMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.czjQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.czjMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.czjQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 42 - 0
src/components/componentsTarget/chunTaiSAP.vue

@@ -0,0 +1,42 @@
+<!-- 拜访数据(实时) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月:</span></van-col
+    ><van-col span="12"><span class="rightTitle">本季:</span></van-col>
+    <van-col span="12"
+      ><p>
+        业绩实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        业绩实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        业绩成长率:<span class="colorbalck">{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        业绩成长率:<span class="colorbalck">{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/cizhuanjiaoSAP.vue

@@ -0,0 +1,52 @@
+<!-- 瓷砖胶SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col
+    ><van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjSapMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.czjSapQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.czjSapQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 82 - 0
src/components/componentsTarget/createStoreBJ.vue

@@ -0,0 +1,82 @@
+<!-- 建店布机 -->
+<template>
+  <van-row>
+    <van-col span="12">
+      <p>
+        <span class="leftTitle">本月实际:</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="rightTitle">今年实际(达成率):</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{ Micrometer(reportTargetAll.controlledShopMonthAct) }}</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{ Micrometer(reportTargetAll.controlledShopYearAct) }}</span>
+        <span class="colorbalck" v-if="reportTargetAll.controlledShopYearRate"
+          >({{ reportTargetAll.controlledShopYearRate }}%)</span
+        >
+        <span class="colorbalck" v-else>({{ '-' }})</span>
+      </p>
+    </van-col>
+    <div>
+      <div class="backLeft back"></div>
+      <div class="backRight back"></div>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.goldShopMonthAct) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.goldShopYearAct) }}</span>
+          <span class="colorbalck" v-if="reportTargetAll.goldShopYearRate">
+            ({{ reportTargetAll.goldShopYearRate }}%)
+          </span>
+          <span class="colorbalck" v-else>({{ '-' }})</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">仿石漆店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.fsqShopMonthAct) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">仿石漆店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.fsqShopYearAct) }}</span>
+          <span class="colorbalck" v-if="reportTargetAll.fsqShopYearRate"
+            >({{ reportTargetAll.fsqShopYearRate }}%)</span
+          >
+          <span class="colorbalck" v-else>({{ '-' }})</span>
+        </p>
+      </van-col>
+    </div>
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/fangshuiSAP.vue

@@ -0,0 +1,52 @@
+<!-- 防水+背胶SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col
+    ><van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.fsbjSapMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.fsbjSapQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.fsbjSapMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.fsbjSapQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.fsbjSapMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.fsbjSapQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 0 - 0
src/components/componentsTarget/index.css


+ 52 - 0
src/components/componentsTarget/moshouqiSAP.vue

@@ -0,0 +1,52 @@
+<!-- 魔术漆SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.ysqMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.ysqQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.ysqMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.ysqQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.ysqMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.ysqQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/neiqiangzhonggaoduanSAP.vue

@@ -0,0 +1,52 @@
+<!-- 内墙中高端SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.rjqSapMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.rjqSapQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.rjqSapMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.rjqSapQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.rjqSapMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.rjqSapQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/neiwaiqiangpingtu.vue

@@ -0,0 +1,52 @@
+<!-- 内外墙平涂 -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.nwqSapMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.nwqSapQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.nwqSapMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.nwqSapQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.nwqSapMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.nwqSapQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 84 - 0
src/components/componentsTarget/performanceSAP.vue

@@ -0,0 +1,84 @@
+<!-- 业绩目标SAP(千元)/公裝业绩SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"
+      ><span v-if="!JZQuota" class="leftTitle">本月业绩:</span
+      ><span v-if="JZQuota" class="leftTitle">本月实际:</span></van-col
+    >
+    <van-col span="12"
+      ><span v-if="!JZQuota" class="rightTitle">本季业绩:</span
+      ><span v-if="JZQuota" class="rightTitle">本季实际:</span></van-col
+    >
+    <van-col span="12">
+      <p v-if="!JZQuota">
+        本月实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.sapMonthAct) }}</span>
+      </p>
+      <p v-if="JZQuota">
+        本月累计:<span class="colorbalck">{{ Micrometer(reportTargetAll.sapMonthAct) }}</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p v-if="!JZQuota">
+        本季实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.sapQuarterAct) }}</span>
+      </p>
+      <p v-if="JZQuota">
+        本季累计:<span class="colorbalck">{{ Micrometer(reportTargetAll.sapQuarterAct) }}</span>
+      </p>
+    </van-col>
+    <van-col span="12"
+      ><p>
+        本月达成率:<span class="colorbalck">{{ reportTargetAll.sapMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        本季达成率:<span class="colorbalck">{{ reportTargetAll.sapQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        本月成长率:<span class="colorbalck">{{ reportTargetAll.sapMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        本季成长率:<span class="colorbalck">{{ reportTargetAll.sapQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="24" v-if="JZQuota"><span class="leftTitle">年度累计</span></van-col>
+    <van-col span="24" v-if="JZQuota"
+      ><p>
+        年度累计:<span class="colorbalck">{{ Micrometer(reportTargetAll.sapYearAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="24" v-if="JZQuota"
+      ><p>
+        年度达成率:<span class="colorbalck">{{ reportTargetAll.sapYearSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="24" v-if="JZQuota"
+      ><p>
+        年度成长率:<span class="colorbalck">{{ reportTargetAll.sapYearGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+    JZQuota: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 63 - 0
src/components/componentsTarget/placeOrder.vue

@@ -0,0 +1,63 @@
+<!-- 下单点数 -->
+<template>
+  <van-row>
+    <van-col span="24"><span class="leftTitle">本月进度:</span></van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{
+          Micrometer(reportTargetAll.controlledOrderShopMonthAct)
+        }}</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{ reportTargetAll.controlledShopMonthOrderRate }}%</span>
+      </p>
+    </van-col>
+    <div>
+      <div class="backLeft back"></div>
+      <div class="backRight back"></div>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.jpOrderShopMonthAct) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck"> {{ reportTargetAll.jpShopMonthOrderRate }}% </span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">同城分销近3月:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxOrderShopMonthAct) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">同城分销近3月:</span>
+          <span class="colorbalck"> {{ reportTargetAll.tcfxShopMonthOrderRate }}% </span>
+        </p>
+      </van-col>
+    </div>
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 54 - 0
src/components/componentsTarget/veryGoodPlaceOrder.vue

@@ -0,0 +1,54 @@
+<!-- 拜访数据(实时) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">昨日新增:</span></van-col
+    ><van-col span="12"><span class="rightTitle">本月实际:</span></van-col>
+    <van-col span="12"
+      ><p>
+        下单点数:<span class="colorbalck">{{ Micrometer(reportTargetAll.excellentPostYes) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单点数:<span class="colorbalck">{{
+          Micrometer(reportTargetAll.excellentPostMonth)
+        }}</span>
+      </p></van-col
+    >
+    <van-col span="12"><p></p></van-col>
+    <van-col span="12"
+      ><p>
+        下单率:<span class="colorbalck">{{ reportTargetAll.excellentPostOrderRateMonth }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单数量(包):<span class="colorbalck">{{
+          Micrometer(reportTargetAll.excellentPostOrderNumYes)
+        }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        下单数量(包):<span class="colorbalck">{{
+          Micrometer(reportTargetAll.excellentPostOrderNumMonth)
+        }}</span>
+      </p>
+    </van-col>
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 126 - 0
src/components/componentsTarget/visitedRealTime.vue

@@ -0,0 +1,126 @@
+<!-- 拜访数据(实时) -->
+<template>
+  <!-- 家装和公装 -->
+  <van-row v-if="JZQuota">
+    <van-col span="12"><span class="leftTitle">今日拜访:</span></van-col>
+    <van-col span="12"><span class="rightTitle">本月拜访:</span></van-col>
+    <van-col span="12"
+      ><p>
+        线内拜访点数:<span class="colorbalck">{{ reportTargetAll.inVisitAct }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        线内拜访点数:<span class="colorbalck">{{ reportTargetAll.inVisitActMonth }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        计划拜访点数:<span class="colorbalck">{{ reportTargetAll.visitTarget }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        计划拜访点数:<span class="colorbalck">{{ reportTargetAll.coverStoreNum }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        线内拜访率:<span class="colorbalck">{{ reportTargetAll.inVisitRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        线内拜访率:<span class="colorbalck">{{ reportTargetAll.inVisitMonthRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        整体拜访数:<span class="colorbalck">{{ reportTargetAll.allVisitNum }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        整体拜访率:<span class="colorbalck">{{ reportTargetAll.allVisitMonthRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+  <!-- 其他 -->
+  <van-row v-else>
+    <van-col span="12">
+      <span class="leftTitle">今日拜访点数:</span>
+    </van-col>
+    <van-col span="12">
+      <span class="rightTitle">月度拜访点数(拜访率):</span>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{ Micrometer(reportTargetAll.controlledShopVisitDayNum) }}</span>
+      </p>
+    </van-col>
+    <van-col span="12">
+      <p>
+        <span class="colLabel colLabel_KK">可控店:</span>
+        <span class="colorbalck">{{
+          Micrometer(reportTargetAll.controlledShopVisitMonthNum)
+        }}</span>
+        <span class="colorbalck">({{ reportTargetAll.controlledShopVisitMonthRate }}%)</span>
+      </p>
+    </van-col>
+    <div>
+      <div class="backLeft back"></div>
+      <div class="backRight back"></div>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.jpShopVisitDayNum) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_JP">金牌店:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.jpShopVisitMonthNum) }}</span>
+          <span class="colorbalck"> ({{ reportTargetAll.jpShopVisitMonthRate }}%) </span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">同城分销:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxShopVisitDayNum) }}</span>
+        </p>
+      </van-col>
+      <van-col span="12">
+        <p>
+          <span class="colLabel colLabel_TCFX">同城分销近3月:</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxShopVisitMonthNum) }}</span>
+          <span class="colorbalck"> ({{ reportTargetAll.tcfxShopVisitMonthRate }}%) </span>
+        </p>
+      </van-col>
+    </div>
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+    powerGrade: {
+      type: [Number, String],
+    },
+    JZQuota: {
+      type: Boolean,
+    },
+    GZdata: {
+      type: Boolean,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 52 - 0
src/components/componentsTarget/zhiganwaiqiangSAP.vue

@@ -0,0 +1,52 @@
+<!-- 质感外墙SAP(千元) -->
+<template>
+  <van-row>
+    <van-col span="12"><span class="leftTitle">本月业绩:</span></van-col
+    ><van-col span="12"><span class="rightTitle">本季业绩:</span></van-col>
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.zgwqMonthAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        实际:<span class="colorbalck">{{ Micrometer(reportTargetAll.zgwqQuarterAct) }}</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        达成率:<span class="colorbalck">{{ reportTargetAll.zgwqQuarterSuccessRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.zgwqMonthGrowRate }}%</span>
+      </p></van-col
+    >
+    <van-col span="12"
+      ><p>
+        成长率:<span class="colorbalck">{{ reportTargetAll.zgwqQuarterGrowRate }}%</span>
+      </p></van-col
+    >
+  </van-row>
+</template>
+<script>
+export default {
+  props: {
+    reportTargetAll: {
+      type: Object,
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>
+<style scoped>
+@import './index.css';
+</style>

+ 87 - 11
src/components/share.vue

@@ -55,12 +55,35 @@
             </div>
           </div>
         </div>
-        <template v-if="checkedPlan && reportContents">
+        <!-- 旧的日报内容 -->
+        <template v-if="checkedPlan && reportContents && isHistory == '1'">
           <template v-for="value in reportContents">
             <div :class="['text']">{{ value.dictValue }}</div>
             <div class="content">{{ value.content }}</div>
           </template>
         </template>
+        <!-- 日报指标 -->
+        <template v-if="isTarget">
+          <template v-if="reportTarget.targetType == '1'">
+            <!--targetType 0-历史指标  1-动态指标,String类型 -->
+            <shareCommonTarget
+              :homePageIndicatorDate="reportTarget.homePageIndicatorList"></shareCommonTarget>
+          </template>
+          <template v-else>
+            <!-- YFQuota:应用服务平台 不显示各项指标 -->
+            <shareAtarget :reportInfo="reportTarget"></shareAtarget>
+            <shareBtarget :reportInfo="reportTarget"></shareBtarget>
+          </template>
+          <!-- <shareAtarget :reportInfo="reportTarget"></shareAtarget>
+          <shareBtarget :reportInfo="reportTarget"></shareBtarget> -->
+        </template>
+        <!-- 日报填写内容 -->
+        <template v-if="isReportCustom">
+          <shareReportCustom
+            :disabled="true"
+            :reportCustomData="reportTarget.customTaskList"></shareReportCustom>
+        </template>
+        <!-- 今日拜访照片 -->
         <template v-if="photosData && photosData.length">
           <div class="text">今日拜访照片</div>
           <div class="content-photos">
@@ -86,7 +109,7 @@
       <div class="footerShare">
         <div class="right-text">
           <div>长按识别二维码查看详情&点评</div>
-          <div></div>
+          <!-- <div></div> -->
         </div>
         <vue-qr
           class="QRcodes"
@@ -97,6 +120,7 @@
           :logoSrc="require('@/assets/logo1.png')"
           :logoMargin="2"></vue-qr>
       </div>
+      <div class="footerTips">来自立邦好邦手</div>
     </div>
     <div
       class="share-mask"
@@ -122,11 +146,16 @@
 </template>
 <script>
 import html2canvas from 'html2canvas';
-import { imgToBase64 } from '@/api/index';
+import { imgToBase64, shareReportMobile } from '@/api/index';
 import VueQr from 'vue-qr';
+import ShareAtarget from './shareAtarget.vue';
+import shareBtarget from './shareBtarget.vue';
+import shareReportCustom from './shareReportCustom.vue';
+import uploadAliOss from '@/utils/uploadAliOss';
+import shareCommonTarget from './shareCommonTarget.vue';
 export default {
   name: 'share',
-  components: { VueQr },
+  components: { VueQr, ShareAtarget, shareReportCustom, shareBtarget, shareCommonTarget },
   props: {
     // 日报数据
     reportTarget: {
@@ -162,6 +191,21 @@ export default {
         return [];
       },
     },
+    // 是否显示 指标
+    isTarget: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否显示 日报填写内容
+    isReportCustom: {
+      type: Boolean,
+      default: true,
+    },
+    // 是否为历史汇报:0-新汇报 1-历史汇报
+    isHistory: {
+      type: String,
+      default: '0',
+    },
   },
   data() {
     return {
@@ -172,9 +216,15 @@ export default {
       qrcode: null,
       vueQrText: '',
       heightFlag: 'start', //图片高度不足,居中显示
+      shareDuration: 0, //分享时间
+      shareInterval: null,
     };
   },
   created() {
+    this.shareDuration = 0;
+    this.shareInterval = setInterval(() => {
+      this.shareDuration++;
+    }, 1000);
     this.zIndex = -1;
     this.canvasImageUrl = '';
     let links = process.env.NODE_ENV == 'production' ? 'http://1.npz.cn/3/' : 'http://1.npz.cn/2/';
@@ -266,7 +316,6 @@ export default {
           this.toastLoading().clear();
           let imageUrl = canvas.toDataURL('image/png');
           this.canvasImageUrl = imageUrl;
-
           // 图片加载完成后设置滚动容器高度
           const img = new Image();
           img.onload = () => {
@@ -308,6 +357,22 @@ export default {
           this.zIndex = 9;
           this.$emit('setShareImg', true);
           this.$emit('setDailyDetailsBox', false);
+          // 上传阿里云oss
+          // 图片名称:用户名-时间戳
+          let username = this.reportTarget.nickName;
+          let imgName = username + '-' + new Date().getTime();
+          uploadAliOss(imageUrl, imgName).then((res) => {
+            if (res.url && res.url.indexOf('http') != -1) {
+              console.log(res.url);
+              shareReportMobile({
+                reportId: this.reportId, //	long	汇报主键id
+                imageUrl: res.url, //	String	分享日报的图片的URL
+                shareDuration: this.shareDuration, //	long	分享用时(秒)
+              }).then((res) => {
+                if (this.shareInterval) clearInterval(this.shareInterval);
+              });
+            }
+          });
         })
         .catch((error) => {
           this.toastLoading().clear();
@@ -422,7 +487,7 @@ export default {
       line-height: vw(94);
       // margin-top: vw(152);
       // margin-bottom: vw(45);
-      margin: vw(35) 0;
+      margin: vw(35) 0 vw(20) 0;
       font-weight: bold;
     }
 
@@ -491,8 +556,9 @@ export default {
   .footerShare {
     // position: absolute;
     display: flex;
-    // align-items: center;
-    justify-content: flex-end;
+    flex-direction: column;
+    align-items: center;
+    // justify-content: flex-end;
     margin-top: vw(30);
     margin-right: 2px;
 
@@ -501,7 +567,7 @@ export default {
       display: flex;
       flex-direction: column;
       justify-content: space-between;
-      margin-right: vw(24);
+      // margin-right: vw(24);
 
       div {
         color: #ffffff;
@@ -531,6 +597,15 @@ export default {
     //   }
     // }
   }
+  .footerTips {
+    width: 100%;
+    text-align: center;
+    padding: 10px 0;
+    color: rgba(255, 255, 255, 0.721);
+    font-size: 14px;
+    font-family: PingFang-SC-Medium;
+    font-weight: 600;
+  }
   .html2canvasBox {
     width: 100%;
     height: 100%;
@@ -539,6 +614,7 @@ export default {
     overflow: hidden !important;
     display: flex;
     flex-direction: column;
+    -webkit-user-select: none; /* Safari */
   }
   #html2canvas {
     width: 100%;
@@ -617,8 +693,8 @@ export default {
   .QRcodes {
     // width: 45px; /* 固定像素尺寸 */
     // height: 45px;
-    width: vw(200); /* 固定像素尺寸 */
-    height: vw(200);
+    width: vw(280);
+    height: vw(280);
     position: relative;
     background: #ffffff;
     image-rendering: crisp-edges;

+ 710 - 0
src/components/shareAtarget.vue

@@ -0,0 +1,710 @@
+<template>
+  <div class="shareAtarget">
+    <div v-if="type != 4" class="container linep">
+      <!-- performanceSAP 业绩目标SAP(千元)/公裝业绩SAP(千元) -->
+      <template v-if="type != 3 && type != 4" name="1" :title="saptitle">
+        <div class="text">{{ saptitle }}</div>
+        <performanceSAP :reportTargetAll="reportTargetAll" :JZQuota="JZQuota"></performanceSAP>
+      </template>
+      <template v-if="powerGrade != 1 && !JZQuota && !GZdata" name="2" title="质感外墙SAP(千元)">
+        <div class="text">质感外墙SAP(千元)</div>
+        <zhiganwaiqiangSAP :reportTargetAll="reportTargetAll"></zhiganwaiqiangSAP>
+      </template>
+      <template v-if="powerGrade != 1 && !JZQuota && !GZdata" name="3" title="魔术漆SAP(千元)">
+        <div class="text">魔术漆SAP(千元)</div>
+        <moshouqiSAP :reportTargetAll="reportTargetAll"></moshouqiSAP>
+      </template>
+      <template v-if="powerGrade != 1 && !JZQuota && !GZdata" name="4" title="防水+背胶SAP(千元)">
+        <div class="text">防水+背胶SAP(千元)</div>
+        <fangshuiSAP :reportTargetAll="reportTargetAll"></fangshuiSAP>
+      </template>
+      <template v-if="powerGrade != 1 && !JZQuota && !GZdata" name="5" title="内墙中高端SAP(千元)">
+        <div class="text">内墙中高端SAP(千元)</div>
+        <neiqiangzhonggaoduanSAP :reportTargetAll="reportTargetAll"></neiqiangzhonggaoduanSAP>
+      </template>
+      <!-- 内外墙平涂SAP -->
+      <template name="6" v-if="powerGrade != 1 && !JZQuota && !GZdata" title="内外墙平涂SAP(千元)">
+        <div class="text">内外墙平涂SAP(千元)</div>
+        <neiwaiqiangpingtu :reportTargetAll="reportTargetAll"></neiwaiqiangpingtu>
+      </template>
+      <template
+        v-if="!JZQuota && !GZdata && [1, 4, 5].indexOf(powerGrade) !== -1"
+        name="7"
+        title="专业时时丽SAP(千元)">
+        <div class="text">专业时时丽SAP(千元)</div>
+        <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
+      </template>
+      <template
+        v-if="!JZQuota && !GZdata && [1, 4, 5].indexOf(powerGrade) !== -1"
+        name="8"
+        :title="'瓷砖胶SAP(千元)'">
+        <div class="text">瓷砖胶SAP(千元)</div>
+        <cizhuanjiaoSAP :reportTargetAll="reportTargetAll"></cizhuanjiaoSAP>
+      </template>
+      <template v-if="GZdata" name="9" title="纯态之家SAP(千元)">
+        <div class="text">纯态之家SAP(千元)</div>
+        <chunTaiSAP :reportTargetAll="reportTargetAll"></chunTaiSAP>
+      </template>
+      <template v-if="GZdata" name="10" title="商机关联的质感外墙业绩SAP(千元)">
+        <div class="text">商机关联的质感外墙业绩SAP(千元)</div>
+        <van-row>
+          <van-col span="12"><span class="leftTitle">本月:</span></van-col
+          ><van-col span="12"><span class="rightTitle">本季:</span></van-col>
+          <van-col span="12"
+            ><p>
+              业绩实际:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzZgwqMonthAct)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              业绩实际:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzZgwqQuarterAct)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              业绩成长率:<span class="colorbalck">{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              业绩成长率:<span class="colorbalck"
+                >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
+              >
+            </p></van-col
+          >
+        </van-row>
+      </template>
+      <template v-if="GZdata" name="11" title="累计出货有效客户">
+        <div class="text">累计出货有效客户</div>
+        <van-row>
+          <van-col span="12"
+            ><p>
+              全年实际:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzKhljYearAct)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              全年目标:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzKhljYearTarget)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"><p>&nbsp;</p></van-col>
+          <van-col span="12"
+            ><p>
+              目标达成率:<span class="colorbalck"
+                >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
+              >
+            </p></van-col
+          >
+        </van-row>
+      </template>
+      <template v-if="GZdata" name="12" title="今日拜访">
+        <div class="text">今日拜访</div>
+        <van-row>
+          <van-col span="12"
+            ><p>
+              公装客户数:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzVisitCustomerNum)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              工地数:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzVisitGdNum) }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              潜在客户数:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.gzVisitQzCustomerNum)
+              }}</span>
+            </p></van-col
+          >
+        </van-row>
+      </template>
+      <template v-if="JZQuota" name="13" title="展厅上样">
+        <div class="text">展厅上样</div>
+        <van-row>
+          <van-col span="24"
+            ><p>
+              当月新增店数:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.exhibitionHallMonthAct)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              全年实际店数:<span class="colorbalck"
+                >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
+              >
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              全年达成进度率:<span class="colorbalck"
+                >{{ reportTargetAll.exhibitionHallYearRate }}%</span
+              >
+            </p></van-col
+          >
+        </van-row>
+      </template>
+      <template v-if="JZQuota" name="14" title="基材粉料过账(千元)">
+        <div class="text">基材粉料过账(千元)</div>
+        <van-row>
+          <van-col span="12"><span class="leftTitle">本月实际:</span></van-col
+          ><van-col span="12"><span class="rightTitle">本季实际:</span></van-col>
+          <van-col span="12"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerQuarter }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单数(包):<span class="colorbalck">{{ reportTargetAll.jcPostOrderNumMonth }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单数(包):<span class="colorbalck">{{ reportTargetAll.jcPostOrderNumQuarter }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.jcPostOrderPriceMonth)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateMonth }}%</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateQuarter }}%</span>
+            </p></van-col
+          >
+          <van-col span="24"><span class="leftTitle">年度累计实际:</span></van-col>
+          <van-col span="24"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
+            </p></van-col
+          >
+          <van-col span="24"
+            ><p>
+              下单数(包):<span class="colorbalck">{{ reportTargetAll.jcPostOrderNumYear }}</span>
+            </p></van-col
+          >
+          <van-col span="24"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.jcPostOrderPriceYear)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="24"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateYear }}%</span>
+            </p></van-col
+          >
+        </van-row>
+      </template>
+      <template v-if="JZQuota" name="15" title="魔术漆过账(千元)">
+        <div class="text">魔术漆过账(千元)</div>
+        <van-row>
+          <van-col span="12"><span class="leftTitle">本月实际:</span></van-col
+          ><van-col span="12"><span class="rightTitle">本季实际:</span></van-col>
+          <van-col span="12"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerMonth }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerQuarter }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.msqPostOrderPriceMonth)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateMonth }}%</span>
+            </p></van-col
+          >
+          <van-col span="12"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateQuarter }}%</span>
+            </p></van-col
+          >
+          <van-col span="24"><span class="leftTitle">年度累计实际:</span></van-col>
+          <van-col span="24"
+            ><p>
+              客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
+            </p></van-col
+          >
+          <van-col span="24"
+            ><p>
+              下单销售额:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.msqPostOrderPriceYear)
+              }}</span>
+            </p></van-col
+          >
+          <van-col span="24"
+            ><p>
+              下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateYear }}%</span>
+            </p></van-col
+          >
+        </van-row>
+      </template>
+    </div>
+  </div>
+</template>
+<script>
+import performanceSAP from '@/components/componentsTarget/performanceSAP';
+import neiwaiqiangpingtu from '@/components/componentsTarget/neiwaiqiangpingtu';
+import zhiganwaiqiangSAP from '@/components/componentsTarget/zhiganwaiqiangSAP';
+import moshouqiSAP from '@/components/componentsTarget/moshouqiSAP';
+import fangshuiSAP from '@/components/componentsTarget/fangshuiSAP';
+import neiqiangzhonggaoduanSAP from '@/components/componentsTarget/neiqiangzhonggaoduanSAP';
+import chunTaiSAP from '@/components/componentsTarget/chunTaiSAP';
+import ZYSAP from '@/components/componentsTarget/ZYSAP';
+import cizhuanjiaoSAP from '@/components/componentsTarget/cizhuanjiaoSAP';
+export default {
+  components: {
+    performanceSAP,
+    neiwaiqiangpingtu,
+    zhiganwaiqiangSAP,
+    moshouqiSAP,
+    fangshuiSAP,
+    neiqiangzhonggaoduanSAP,
+    chunTaiSAP,
+    ZYSAP,
+    cizhuanjiaoSAP,
+  },
+  props: {
+    reportInfo: {
+      type: Object,
+    },
+  },
+  watch: {
+    reportInfo: {
+      handler(val) {
+        if (val.postType == 'GZ') {
+          this.GZdata = true;
+          this.saptitle = '公裝业绩SAP(千元)';
+        } else {
+          this.saptitle = '业绩目标SAP(千元)';
+          this.GZdata = false;
+        }
+        if (val.postType == 'JZ') {
+          this.JZQuota = true;
+        } else {
+          this.JZQuota = false;
+        }
+        this.reportInfoData = val;
+        this.powerGrade = val.positionId;
+        if (val.reportTargetAll != null) {
+          this.reportTargetAll = val.reportTargetAll;
+        }
+        this.type = val.userType;
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  data() {
+    return {
+      type: '-1',
+      JZQuota: false,
+      GZdata: false,
+      saptitle: '业绩目标SAP(千元)',
+      powerGrade: '2',
+      reportTargetAll: {},
+      activeNames: [
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '10',
+        '11',
+        '12',
+        '9',
+        '14',
+        '15',
+        '13',
+      ],
+    };
+  },
+};
+</script>
+
+<style scoped>
+.homeTitle {
+  padding: 6px 16px;
+}
+
+.homeTitle .van-icon__image {
+  width: 1.4em;
+  height: auto;
+}
+
+.container {
+  /* margin: 10px; */
+}
+
+.container .template {
+  margin-bottom: 10px;
+  border-radius: 6px;
+  overflow: hidden;
+}
+
+.progressContentlist {
+  font-size: 14px;
+  border-bottom: 1px dashed #f1f1f1;
+  padding: 10px 0;
+}
+
+.linep p {
+  /* margin: 10px 0 0 0; */
+  font-size: 14px;
+  color: #666;
+}
+</style>
+<style lang="scss">
+.myTab .van-tabs__nav--card {
+  margin: 0 !important;
+  border-left: 0;
+  border-right: 0;
+}
+.myTab .van-tabs__wrap,
+.van-tabs__nav--card {
+  height: 39px;
+}
+.myTab .van-tab {
+  line-height: 40px;
+}
+.linep .van-collapse-item__content {
+  color: #666;
+}
+.linep .van-collapse-item__content {
+  color: #666;
+}
+
+.linep .van-cell__title {
+  color: #1e5398;
+  font-weight: 500;
+  font-size: 16px;
+}
+
+.homeCellIcon {
+  line-height: 34px;
+}
+
+.homeTitle .van-cell__title {
+  color: #444;
+  font-size: 16px;
+  font-weight: bold;
+  padding-left: 4px;
+  line-height: 36px;
+  height: 36px;
+}
+
+.updataTime {
+  color: #999;
+  font-size: 12px;
+  text-align: center;
+}
+
+.homeTitle .van-tag--danger {
+  /* border-radius: 20px; */
+}
+
+.van-dialog__confirm,
+.van-dialog__confirm:active {
+  color: #0057ba;
+}
+
+.tipTitleBox p {
+  margin: 0;
+  line-height: 28px;
+  color: #555;
+}
+
+.tipTitleBox .p {
+  color: #555;
+  font-size: 16px;
+  border-bottom: 1px solid #f5f5f5;
+  margin: 0;
+  margin-bottom: 10px;
+  text-align: center;
+  padding: 14px 0px;
+}
+
+.storeTypeHome .van-collapse-item__content {
+  padding: 0;
+}
+
+.storeTypeHome .storeTypeHomeList .van-cell__title {
+  color: #4a4a4a;
+  font-size: 14px;
+}
+
+.storeTypeHome .monthNoVisit {
+  padding: 10px;
+  margin: 10px;
+  border-radius: 5px;
+  //   background-color: #ebf4ff;
+}
+
+.storeTypeHome .leftContent {
+  padding-right: 68px;
+  position: relative;
+}
+
+.storeTypeHome .monthNoVisitStatstext {
+  font-size: 12px;
+  //   background-color: #0057ba;
+  position: absolute;
+  right: 0;
+  top: 6px;
+  padding: 2px 6px 2px 12px;
+  border-bottom-left-radius: 60px;
+  border-top-left-radius: 60px;
+  color: #fff;
+}
+.ABtarage {
+  .table-headermd {
+    font-size: 12px;
+    text-align: center;
+    position: initial;
+    width: 98% !important;
+    margin: 0 auto;
+    border-right: 0;
+  }
+  .table-headermdhome {
+    font-size: 14px;
+  }
+  .table-headermdhome th.el-table__cell > .cell {
+    white-space: pre;
+  }
+  .table-headermd .el-table__header,
+  .table-headermd .el-table__body {
+    width: 100% !important;
+  }
+  .table-headermdhome.van-cell {
+    padding: 0 6px;
+    height: 100%;
+  }
+
+  .table-headermd th.el-table__cell > .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhometh.el-table__cell:first-child > .cell {
+    text-align: left;
+  }
+
+  .table-headermd th.el-table__cell {
+    // background-color: #1989fa;
+    color: #fff;
+  }
+  .table-headermdhome th.el-table__cell {
+    // background-color: #fff;
+    color: #444;
+  }
+  .table-headermd .el-table__cell {
+    padding: 4px 0;
+  }
+
+  .table-headermdhome.el-table .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhome .tipTitle {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+    text-align: center;
+  }
+
+  .table-headermd::before {
+    height: 0;
+  }
+
+  .table-headermd .cell,
+  .el-table--border .el-table__cell:first-child .cell {
+    padding: 0 4px;
+  }
+}
+.colBack {
+  width: 100%;
+  height: 100%;
+  display: block;
+  /* overflow: unset; */
+  position: relative;
+  z-index: 2;
+  float: left;
+  z-index: 2;
+  .back {
+    position: absolute;
+    // background: rgb(226, 240, 217);
+    height: 100%;
+    display: block;
+    overflow: hidden;
+    /* z-index: 1; */
+    border-radius: 12px;
+    bottom: -4px;
+  }
+  .backLeft {
+    width: 45%;
+    left: -12px;
+  }
+  .backRight {
+    width: 50%;
+    left: calc(50% - 12px);
+  }
+  .van-col {
+    position: relative;
+    z-index: 3;
+  }
+}
+</style>
+<style lang="scss">
+.shareAtarget {
+  p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    color: #fff !important;
+    /* color: #666; */
+  }
+  .leftTitle {
+    /* background-color: #74a4d9; */
+    color: #fff;
+    display: inline-block;
+    // padding: 0 4px;
+    border-radius: 2px;
+    font-size: 14px;
+  }
+  .rightTitle {
+    /* background-color: #e7b4bb; */
+    color: #fff;
+    display: inline-block;
+    // padding: 0 4px;
+    border-radius: 2px;
+    font-size: 14px;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+    .back {
+      position: absolute;
+      /* background: rgb(226, 240, 217); */
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+  .colLabel {
+    display: inline-block;
+    // padding: 2px 5px;
+    color: #fff;
+    margin-right: 10px;
+    border-radius: 3px;
+  }
+  .colLabel_KK {
+    /* background: rgb(235, 104, 119); */
+  }
+  .colLabel_FX {
+    /* background: rgb(253 120 88); */
+  }
+  .colLabel_JP {
+    /* background: rgb(241, 183, 137); */
+  }
+  .colLabel_JPBJ {
+    /* background: rgb(248 215 189); */
+  }
+  .colLabel_TCFX {
+    /* background: rgb(131 204 202); */
+  }
+  .colorbalck {
+    color: #fff;
+    margin-left: 8px;
+  }
+  .text {
+    background: url('../assets/textBack.png') no-repeat;
+    width: 100%;
+    height: vw(94);
+    background-size: cover;
+    color: #7d0207;
+    font-size: vw(36);
+    text-align: center;
+    line-height: vw(94);
+    // margin-top: vw(152);
+    // margin-bottom: vw(45);
+    margin: vw(35) 0 vw(15) 0;
+    font-weight: bold;
+  }
+}
+</style>

+ 509 - 0
src/components/shareBtarget.vue

@@ -0,0 +1,509 @@
+<template>
+  <div class="shareBtarget">
+    <div v-if="type != 4" class="container linep">
+      <!-- 拜访数据(实时) -->
+      <template name="7" v-if="powerGrade == 1 && !GZdata">
+        <div class="text">拜访数据(实时)</div>
+        <visitedRealTime
+          :reportTargetAll="reportTargetAll"
+          :powerGrade="powerGrade"
+          :JZQuota="JZQuota"></visitedRealTime>
+      </template>
+      <!-- 建店布机 -->
+      <template name="2" v-if="!JZQuota && !GZdata" title="建店布机">
+        <div class="text">建店布机</div>
+        <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
+      </template>
+      <!-- 下单点数 -->
+      <template v-if="powerGrade == 1 && !JZQuota && !GZdata" name="33" title="下单点数">
+        <div class="text">下单点数</div>
+        <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
+      </template>
+      <!-- 专业时时丽分销店下单 -->
+      <template name="16" v-if="!JZQuota && !GZdata" title="专业时时丽分销店下单">
+        <div class="text">专业时时丽分销店下单</div>
+        <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
+      </template>
+      <!-- 超好贴分销店下单 -->
+      <template name="17" v-if="!JZQuota && !GZdata" title="超好贴分销店下单">
+        <div class="text">超好贴分销店下单</div>
+        <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
+      </template>
+      <template v-if="powerGrade != 1 && !JZQuota && !GZdata" name="32" title="客户开拓">
+        <div class="text">客户开拓</div>
+        <van-row>
+          <van-col span="24"><span class="leftTitle">非片客户开发</span></van-col>
+          <van-col span="24">
+            <p>
+              全年开发数:<span class="colorbalck">{{
+                Micrometer(reportTargetAll.customerAct)
+              }}</span>
+            </p>
+          </van-col>
+          <van-col span="24">
+            <p>
+              全年进度率:<span class="colorbalck"> {{ reportTargetAll.customerYearRate }}% </span>
+            </p>
+          </van-col>
+        </van-row>
+      </template>
+    </div>
+    <div v-if="type == 4" class="container linep">
+      <template v-if="reportInfo.customerUserTargets">
+        <template v-for="(item, index) in reportInfo.customerUserTargets">
+          <div class="text">{{ item.nickName }}</div>
+          <van-row>
+            <van-col span="24"
+              ><p class="indexTile" style="margin-top: -2px">
+                <van-icon :name="bfindex" class="indexicon"></van-icon>拜访
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="leftTitle">本日实际:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="rightTitle">本月实际:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                拜访点数:<span class="colorbalck">{{ Micrometer(item.dayVisitCount) }}</span>
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                拜访点数:<span class="colorbalck">{{ Micrometer(item.monthVisitCount) }}</span>
+              </p></van-col
+            >
+            <van-col span="24"
+              ><p class="indexTile">
+                <van-icon :name="storeindex" class="indexicon"></van-icon>建店
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="leftTitle">本日新增:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="rightTitle">本月实际:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                分销店点数:<span class="colorbalck">{{ Micrometer(item.dayFxdAct) }}</span>
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                分销店点数:<span class="colorbalck">{{ Micrometer(item.monthFxdAct) }}</span>
+              </p></van-col
+            >
+            <van-col span="24"
+              ><p class="indexTile">
+                <van-icon :name="oderindex" class="indexicon"></van-icon>下单
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="leftTitle">昨日新增:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p><span class="rightTitle">本月实际:</span></p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                下单点数:<span class="colorbalck">{{ Micrometer(item.yesOrderAct) }}</span>
+              </p></van-col
+            >
+            <van-col span="12"
+              ><p>
+                下单点数:<span class="colorbalck">{{ Micrometer(item.monthOrderAct) }}</span>
+              </p></van-col
+            >
+          </van-row>
+        </template>
+      </template>
+    </div>
+  </div>
+</template>
+<script>
+import createStoreBJ from '@/components/componentsTarget/createStoreBJ';
+import visitedRealTime from '@/components/componentsTarget/visitedRealTime';
+import placeOrder from '@/components/componentsTarget/placeOrder';
+import ZYPlaceOrder from '@/components/componentsTarget/ZYPlaceOrder';
+import veryGoodPlaceOrder from '@/components/componentsTarget/veryGoodPlaceOrder';
+export default {
+  components: {
+    createStoreBJ,
+    visitedRealTime,
+    placeOrder,
+    ZYPlaceOrder,
+    veryGoodPlaceOrder,
+  },
+  props: {
+    reportInfo: {
+      type: Object,
+    },
+  },
+  watch: {
+    reportInfo: {
+      handler(val) {
+        if (val.postType == 'GZ') {
+          this.GZdata = true;
+          this.saptitle = '公裝业绩SAP(千元)';
+        } else {
+          this.saptitle = '业绩目标SAP(千元)';
+          this.GZdata = false;
+        }
+        if (val.postType == 'JZ') {
+          this.JZQuota = true;
+        } else {
+          this.JZQuota = false;
+        }
+        this.reportInfoData = val;
+        this.powerGrade = val.positionId;
+        if (val.reportTargetAll != null) {
+          this.reportTargetAll = val.reportTargetAll;
+        }
+        this.type = val.userType;
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  data() {
+    return {
+      type: '-1',
+      JZQuota: false,
+      GZdata: false,
+      saptitle: '业绩目标SAP(千元)',
+      powerGrade: '2',
+      reportTargetAll: {},
+      activeNames: [
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '10',
+        '11',
+        '12',
+        '16',
+        '17',
+        '20',
+        '21',
+        '22',
+        '23',
+        '24',
+        '25',
+        '26',
+        '27',
+        '28',
+        '29',
+        '30',
+        '31',
+        '32',
+        '33',
+        '34',
+        '35',
+        '36',
+        '37',
+        '38',
+        '39',
+        '40',
+        '41',
+        '42',
+        '43',
+      ],
+    };
+  },
+};
+</script>
+
+<style scoped>
+.container .template {
+  margin-bottom: 10px;
+  border-radius: 6px;
+  overflow: hidden;
+}
+
+.progressContentlist {
+  font-size: 14px;
+  border-bottom: 1px dashed #f1f1f1;
+  padding: 10px 0;
+}
+
+.linep p {
+  /* margin: 10px 0 0 0; */
+  font-size: 14px;
+  color: #666;
+}
+
+.leftTitle {
+  background-color: #74a4d9;
+  color: #fff;
+  display: inline-block;
+  padding: 0 4px;
+  border-radius: 2px;
+}
+
+.rightTitle {
+  background-color: #e7b4bb;
+  color: #fff;
+  display: inline-block;
+  padding: 0 4px;
+  border-radius: 2px;
+  white-space: nowrap;
+}
+</style>
+<style lang="scss">
+.myTab .van-tabs__nav--card {
+  margin: 0 !important;
+  border-left: 0;
+  border-right: 0;
+}
+.myTab .van-tabs__wrap,
+.van-tabs__nav--card {
+  height: 39px;
+}
+.myTab .van-tab {
+  line-height: 40px;
+}
+.linep .van-collapse-item__content {
+  color: #666;
+}
+.linep .van-collapse-item__content {
+  color: #666;
+}
+
+.linep .van-cell__title {
+  color: #1e5398;
+  font-weight: 500;
+  font-size: 16px;
+}
+
+.homeCellIcon {
+  line-height: 34px;
+}
+
+.homeTitle .van-cell__title {
+  color: #444;
+  font-size: 16px;
+  font-weight: bold;
+  padding-left: 4px;
+  line-height: 36px;
+  height: 36px;
+}
+
+.updataTime {
+  color: #999;
+  font-size: 12px;
+  text-align: center;
+}
+
+.van-dialog__confirm,
+.van-dialog__confirm:active {
+  color: #0057ba;
+}
+
+.tipTitleBox p {
+  margin: 0;
+  line-height: 28px;
+  color: #555;
+}
+
+.tipTitleBox .p {
+  color: #555;
+  font-size: 16px;
+  border-bottom: 1px solid #f5f5f5;
+  margin: 0;
+  margin-bottom: 10px;
+  text-align: center;
+  padding: 14px 0px;
+}
+
+.storeTypeHome .van-collapse-item__content {
+  padding: 0;
+}
+
+.storeTypeHome .storeTypeHomeList .van-cell__title {
+  color: #4a4a4a;
+  font-size: 14px;
+}
+
+.storeTypeHome .monthNoVisit {
+  padding: 10px;
+  margin: 10px;
+  border-radius: 5px;
+  background-color: #ebf4ff;
+}
+
+.storeTypeHome .leftContent {
+  padding-right: 68px;
+  position: relative;
+}
+
+.storeTypeHome .monthNoVisitStatstext {
+  font-size: 12px;
+  background-color: #0057ba;
+  position: absolute;
+  right: 0;
+  top: 6px;
+  padding: 2px 6px 2px 12px;
+  border-bottom-left-radius: 60px;
+  border-top-left-radius: 60px;
+  color: #fff;
+}
+.ABtarage {
+  .table-headermd {
+    font-size: 12px;
+    text-align: center;
+    position: initial;
+    width: 98% !important;
+    margin: 0 auto;
+    border-right: 0;
+  }
+  .table-headermdhome {
+    font-size: 14px;
+  }
+  .table-headermdhome th.el-table__cell > .cell {
+    white-space: pre;
+  }
+  .table-headermd .el-table__header,
+  .table-headermd .el-table__body {
+    width: 100% !important;
+  }
+  .table-headermdhome.van-cell {
+    padding: 0 6px;
+    height: 100%;
+  }
+
+  .table-headermd th.el-table__cell > .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhometh.el-table__cell:first-child > .cell {
+    text-align: left;
+  }
+
+  .table-headermd th.el-table__cell {
+    background-color: #1989fa;
+    color: #fff;
+  }
+  .table-headermdhome th.el-table__cell {
+    background-color: #fff;
+    color: #444;
+  }
+  .table-headermd .el-table__cell {
+    padding: 4px 0;
+  }
+
+  .table-headermdhome.el-table .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhome .tipTitle {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+    text-align: center;
+  }
+
+  .table-headermd::before {
+    height: 0;
+  }
+
+  .table-headermd .cell,
+  .el-table--border .el-table__cell:first-child .cell {
+    padding: 0 4px;
+  }
+}
+</style>
+
+<style lang="scss">
+.shareBtarget {
+  p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    color: #fff !important;
+    /* color: #666; */
+  }
+  .leftTitle {
+    /* background-color: #74a4d9; */
+    color: #fff;
+    display: inline-block;
+    // padding: 0 4px;
+    border-radius: 2px;
+    font-size: 14px;
+  }
+  .rightTitle {
+    /* background-color: #e7b4bb; */
+    color: #fff;
+    display: inline-block;
+    // padding: 0 4px;
+    border-radius: 2px;
+    font-size: 14px;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+    .back {
+      position: absolute;
+      /* background: rgb(226, 240, 217); */
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+  .colLabel {
+    display: inline-block;
+    // padding: 2px 5px;
+    color: #fff;
+    // margin-right: 10px;
+    border-radius: 3px;
+  }
+  .colorbalck {
+    color: #fff;
+    margin-left: 8px;
+  }
+  .text {
+    background: url('../assets/textBack.png') no-repeat;
+    width: 100%;
+    height: vw(94);
+    background-size: cover;
+    color: #7d0207;
+    font-size: vw(36);
+    text-align: center;
+    line-height: vw(94);
+    // margin-top: vw(152);
+    // margin-bottom: vw(45);
+    margin: vw(35) 0 vw(15) 0;
+    font-weight: bold;
+  }
+}
+</style>

+ 536 - 0
src/components/shareCommonTarget.vue

@@ -0,0 +1,536 @@
+<template>
+  <div class="shareCommonTarget">
+    <!-- labelStyle 垃圾,不能全匹配,需要特殊处理 -->
+    <template>
+      <div class="container linep">
+        <van-collapse v-model="activeNames">
+          <div v-for="(homePageItem, index) in homePageIndicatorDate" :key="index">
+            <van-collapse-item v-if="homePageItem.labelStyle == 1" :name="(index + 1).toString()">
+              <template #title>
+                <div class="text">{{ homePageItem.name }}</div>
+              </template>
+              <van-row>
+                <!-- 动态渲染标题栏 -->
+                <div
+                  v-for="(periodItem, periodIndex) in homePageItem.children"
+                  :key="'title-' + periodIndex">
+                  <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">
+                  <!-- 遍历第一个周期的所有指标 -->
+                  <div
+                    v-for="(metric, metricIndex) in homePageItem.children[0].children"
+                    :key="'metric-' + metricIndex">
+                    <!-- 左侧指标 -->
+                    <van-col span="12">
+                      <p>
+                        {{ metric.name }}:
+                        <span class="colorblack">
+                          {{ metric.indicatorDisplayValue }}
+                        </span>
+                      </p>
+                    </van-col>
+                    <!-- 对应右侧指标 -->
+                    <van-col span="12">
+                      <p>
+                        {{ homePageItem.children[1]?.children[metricIndex]?.name || '-' }}:
+                        <span class="colorblack">
+                          {{
+                            homePageItem.children[1]?.children[metricIndex]?.indicatorDisplayValue
+                          }}
+                        </span>
+                      </p>
+                    </van-col>
+                  </div>
+                </div>
+              </van-row>
+            </van-collapse-item>
+            <van-collapse-item v-if="homePageItem.labelStyle == 2" :name="(index + 1).toString()">
+              <template #title>
+                <div class="text">{{ homePageItem.name }}</div>
+              </template>
+              <!-- 外层循环:遍历主要类别 -->
+              <van-row
+                v-for="(category, index) in homePageItem.children"
+                :key="index"
+                :style="{ marginTop: index > 0 ? '10px' : '0' }">
+                <van-col span="24" 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="idx == 0 ? 24 : 12">
+                    <p>
+                      {{ item.name }}:<span
+                        :style="labelStyle(item.clickable)"
+                        class="colorbalck"
+                        >{{ item.indicatorDisplayValue }}</span
+                      >
+                    </p>
+                  </van-col>
+                </div>
+              </van-row>
+            </van-collapse-item>
+            <van-collapse-item v-if="homePageItem.labelStyle == 3" :name="(index + 1).toString()">
+              <template #title>
+                <div class="text">{{ homePageItem.name }}</div>
+              </template>
+              <!-- 外层循环:遍历主要类别 -->
+              <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="idx == 0 ? 24 : 12">
+                    <p>
+                      {{ item.name }}:<span
+                        :style="labelStyle(item.clickable)"
+                        class="colorbalck"
+                        >{{ item.indicatorDisplayValue }}</span
+                      >
+                    </p>
+                  </van-col>
+                </div>
+              </van-row>
+            </van-collapse-item>
+            <van-collapse-item v-if="homePageItem.labelStyle == 4" :name="(index + 1).toString()">
+              <template #title>
+                <div class="text">{{ homePageItem.name }}</div>
+              </template>
+              <!-- 外层循环:遍历主要类别 -->
+              <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"
+                    :class="index % 2 === 0 ? 'leftTitle' : 'rightTitle'"
+                    v-if="category.name">
+                    <span>{{ 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()">
+              <template #title>
+                <div class="text">{{ homePageItem.name }}</div>
+              </template>
+              <!-- 外层循环:遍历主要类别 -->
+              <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>
+                </div>
+              </van-row>
+            </van-collapse-item>
+          </div>
+        </van-collapse>
+      </div>
+    </template>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'shareCommonTarget',
+  props: {
+    homePageIndicatorDate: {
+      type: Object,
+      default: () => ({}),
+    },
+  },
+  data() {
+    return {
+      shows: true,
+      show: true,
+      num: 0,
+      todayGoal: {},
+      progressWidth: 0,
+      updataTime: '',
+      activeNames: [
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '10',
+        '11',
+        '12',
+        '16',
+        '17',
+        '20',
+        '21',
+        '22',
+        '23',
+        '24',
+        '25',
+        '26',
+        '27',
+        '28',
+        '29',
+        '30',
+        '31',
+        '32',
+        '33',
+        '34',
+        '35',
+        '36',
+        '37',
+        '38',
+        '39',
+        '40',
+        '41',
+        '42',
+        '43',
+      ],
+      activeNameType: [],
+      powerGradeShow: false,
+      showButton: false,
+      isCommit: null,
+      powerGrade: '2',
+      deptLevel: '',
+      // positionId:等级(1-销售员 2-销售部主管 3-大区主管 4-区域公司总经理 5-DIY公司)
+      reportTargetAll: {},
+      approvalPendingNum: 0,
+      isDiy: false,
+      approvalButton: false,
+      times: 5,
+      timer: null,
+      type: '-1',
+      monthNoVisit: {},
+      flag: true,
+      reportInfoData: {},
+      applyNumber: '',
+      proccessPendingNum: 0,
+      JZQuota: false,
+      GZdata: false,
+    };
+  },
+  methods: {
+    labelStyle(val) {
+      return {
+        'text-decoration': 'none',
+        color: '#fff',
+      };
+    },
+  },
+};
+</script>
+<style scoped>
+.shareCommonTarget {
+  .homeTitle {
+    padding: 6px 16px;
+  }
+
+  .homeTitle .van-icon__image {
+    width: 1.4em;
+    height: auto;
+  }
+
+  .container {
+    margin: 10px 0;
+  }
+
+  .container .van-collapse-item {
+    margin-bottom: 10px;
+    overflow: hidden;
+  }
+
+  .progressContentlist {
+    font-size: 14px;
+    padding: 10px 0;
+  }
+
+  .linep p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    color: #fff;
+  }
+
+  .leftTitle {
+    color: #fff;
+    display: inline-block;
+    margin-top: 10px;
+  }
+
+  .rightTitle {
+    color: #fff;
+    display: inline-block;
+    white-space: nowrap;
+    margin-top: 10px;
+  }
+  .colorblack {
+    color: #fff;
+  }
+  .colorbalck {
+    color: #fff;
+  }
+}
+</style>
+<style lang="scss">
+.shareCommonTarget {
+  .myTab .van-tabs__nav--card {
+    margin: 0 !important;
+  }
+
+  .myTab .van-tabs__wrap,
+  .van-tabs__nav--card {
+    height: 39px;
+  }
+
+  .myTab .van-tab {
+    line-height: 40px;
+  }
+
+  .linep .van-collapse-item__content {
+    color: #fff;
+  }
+
+  .linep .van-collapse-item__content {
+    color: #fff;
+  }
+
+  .linep .van-cell__title {
+    color: #fff;
+    font-weight: 500;
+    font-size: 16px;
+  }
+
+  .homeCellIcon {
+    line-height: 34px;
+  }
+
+  .homeTitle .van-cell__title {
+    color: #fff;
+    font-size: 16px;
+    font-weight: bold;
+    padding-left: 4px;
+    line-height: 36px;
+    height: 36px;
+  }
+
+  .updataTime {
+    color: #fff;
+    font-size: 12px;
+    text-align: center;
+  }
+
+  .homeTitle .van-tag--danger {
+    /* border-radius: 20px; */
+  }
+
+  .van-dialog__confirm,
+  .van-dialog__confirm:active {
+    color: #fff;
+  }
+
+  .van-collapse-item__content {
+    padding: 0px !important;
+    overflow: hidden;
+    background-color: unset !important;
+  }
+
+  .storeTypeHome .storeTypeHomeList .van-cell__title {
+    color: #fff;
+    font-size: 14px;
+  }
+
+  .storeTypeHome .monthNoVisit {
+    padding: 10px;
+    margin: 10px;
+    border-radius: 5px;
+    background-color: #ebf4ff;
+  }
+
+  .storeTypeHome .leftContent {
+    padding-right: 68px;
+    position: relative;
+  }
+
+  .storeTypeHome .monthNoVisitStatstext {
+    font-size: 12px;
+    background-color: #0057ba;
+    position: absolute;
+    right: 0;
+    top: 6px;
+    padding: 2px 6px 2px 12px;
+    color: #fff;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+
+    .back {
+      position: absolute;
+      background: rgb(226, 240, 217);
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+}
+.shareCommonTarget {
+  color: #fff;
+  .van-cell {
+    background-color: unset !important;
+    padding: 0 !important;
+  }
+  :deep(*) {
+    border: none !important;
+  }
+
+  .table-headermdhome {
+    font-size: 14px;
+  }
+
+  .table-headermdhome th.el-table__cell > .cell {
+    white-space: pre;
+  }
+
+  .table-headermd .el-table__header,
+  .table-headermd .el-table__body {
+    width: 100% !important;
+  }
+
+  .table-headermdhome.van-cell {
+    padding: 0 6px;
+    height: 100%;
+  }
+
+  .table-headermd th.el-table__cell > .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhometh.el-table__cell:first-child > .cell {
+    text-align: left;
+  }
+
+  .table-headermd th.el-table__cell {
+    background-color: #1989fa;
+    color: #fff;
+  }
+
+  .table-headermdhome th.el-table__cell {
+    // background-color: #fff;
+    color: #fff;
+  }
+
+  .table-headermd .el-table__cell {
+    padding: 4px 0;
+  }
+
+  .table-headermdhome.el-table .cell {
+    padding: 0 4px;
+    text-align: center;
+  }
+
+  .table-headermdhome .tipTitle {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+    text-align: center;
+  }
+
+  .table-headermd::before {
+    height: 0;
+  }
+
+  .table-headermd .cell,
+  .el-table--border .el-table__cell:first-child .cell {
+    padding: 0 4px;
+  }
+  .van-hairline--top-bottom::after,
+  .van-hairline-unset--top-bottom::after {
+    border-width: 0;
+  }
+  .van-cell::after {
+    border-width: 0;
+  }
+  .van-collapse-item--border::after {
+    border-width: 0;
+  }
+  .van-cell__right-icon {
+    display: none;
+  }
+  .text {
+    background: url('../assets/textBack.png') no-repeat;
+    width: 100%;
+    height: vw(94);
+    background-size: cover;
+    color: #7d0207;
+    font-size: vw(36);
+    text-align: center;
+    line-height: vw(94);
+    // margin-top: vw(152);
+    // margin-bottom: vw(45);
+    margin: vw(35) 0 vw(15) 0;
+    font-weight: bold;
+  }
+}
+</style>

+ 96 - 0
src/components/shareReportCustom.vue

@@ -0,0 +1,96 @@
+<template>
+  <div class="shareReportCustom" v-if="fromData && fromData.length">
+    <template v-for="(value, ind) in fromData">
+      <template v-if="value.sfaReportCustomCollections">
+        <div
+          v-for="(item, index) in value.sfaReportCustomCollections"
+          :key="item.reportCustomCollectionId">
+          <template v-if="item.isShare == '1'">
+            <template
+              v-if="
+                item.reportCustomCollectionType == 'sz' || item.reportCustomCollectionType == 'wb'
+              ">
+              <div class="text">{{ item.reportCustomCollectionName }}</div>
+              <div class="content">{{ item.answerValue }}</div>
+            </template>
+            <template
+              v-if="
+                item.reportCustomCollectionType == 'duox' || item.reportCustomCollectionType == 'dx'
+              ">
+              <div class="text">{{ item.reportCustomCollectionName }}</div>
+              <div class="content">
+                <p v-for="value in item.sfaReportCustomOptions">
+                  <template v-if="value.answerValue == 'Y'">{{ value.customOption }}</template>
+                </p>
+              </div>
+            </template>
+          </template>
+        </div>
+      </template>
+    </template>
+  </div>
+</template>
+<script>
+import zRadio from '@/components/componentZRadio';
+import zCheckbox from '@/components/componentZCheckbox';
+export default {
+  components: { zRadio, zCheckbox },
+  props: {
+    reportCustomData: {
+      type: Array,
+      default: () => [],
+    },
+    disabled: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  watch: {
+    reportCustomData: {
+      handler(val) {
+        this.postName = localStorage.getItem('postName');
+        this.filterFromData(val);
+      },
+      immediate: true,
+      deep: true,
+    },
+  },
+  data() {
+    return {
+      fromData: null,
+      postName: '',
+    };
+  },
+  methods: {
+    filterFromData(val) {
+      this.fromData = val;
+    },
+  },
+};
+</script>
+<style lang="scss">
+.shareReportCustom {
+  .text {
+    background: url('../assets/textBack.png') no-repeat;
+    width: 100%;
+    height: vw(94);
+    background-size: cover;
+    color: #7d0207;
+    font-size: vw(36);
+    text-align: center;
+    line-height: vw(94);
+    // margin-top: vw(152);
+    // margin-bottom: vw(45);
+    margin: vw(35) 0 vw(20) 0;
+    font-weight: bold;
+  }
+
+  .content {
+    font-size: vw(28);
+    font-weight: bold;
+    color: #ffff;
+    line-height: vw(63);
+    white-space: pre-wrap;
+  }
+}
+</style>

+ 43 - 5
src/store/modules/user.js

@@ -1,4 +1,4 @@
-import { getMobileUserInfo, getDictOption, loginLog } from '@/api/index';
+import { getMobileUserInfo, getDictOption, loginLog, getReportInfo } from '@/api/index';
 
 const user = {
   state: {
@@ -6,6 +6,7 @@ const user = {
     activaTypeStore: null, //未拜访门店
     activaCreateTypeStore: null, //建店未完工、未结案门店
     storeType: [],
+    reportInfo: null,
   },
 
   mutations: {
@@ -21,6 +22,9 @@ const user = {
     SET_ACTIVA_CREATE_TYPE_STORE: (state, value) => {
       state.activaCreateTypeStore = value;
     },
+    SET_REPORT_INFO: (state, reportInfo) => {
+      state.reportInfo = reportInfo;
+    },
   },
 
   actions: {
@@ -41,10 +45,22 @@ const user = {
             localStorage.setItem('getRequestFlage', 'true');
             // userDeptLevel用户部门等级字段,0-总部,1-公司,2-大区,3-销售部,4-业务员
             localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
-            // 门店类型
-            getDictOption({}, 'sfa_store_type').then((res) => {
-              commit('SET_STORE_TYPE', res.data);
-              resolve();
+            getReportInfo({ isContent: false }).then((res) => {
+              if (res.code == 200) {
+                commit('SET_REPORT_INFO', res.data);
+                localStorage.setItem('powerGrade', res.data.positionId);
+                localStorage.setItem('isDiy', res.data.diy);
+                localStorage.setItem('uType', res.data.userType);
+                localStorage.setItem('jzType', res.data.jzType);
+                localStorage.setItem('customerVisits', res.data.customerManagerVisits);
+                localStorage.setItem('postType', res.data.postType);
+                localStorage.setItem('reportType', res.data.reportType);
+                // 门店类型
+                getDictOption({}, 'sfa_store_type').then((res) => {
+                  commit('SET_STORE_TYPE', res.data);
+                  resolve();
+                });
+              }
             });
             // 登录日志
             var appVersion = navigator.appVersion;
@@ -80,6 +96,28 @@ const user = {
     activaCreateTypeStore({ commit }, value) {
       commit('SET_ACTIVA_CREATE_TYPE_STORE', value);
     },
+    // 获取用户ReportInfo
+    getReportInfoDeta({ dispatch, commit, state }) {
+      return new Promise((resolve, reject) => {
+        getReportInfo({ isContent: false })
+          .then((res) => {
+            if (res.code == 200) {
+              commit('SET_REPORT_INFO', res.data);
+              localStorage.setItem('powerGrade', res.data.positionId);
+              localStorage.setItem('isDiy', res.data.diy);
+              localStorage.setItem('uType', res.data.userType);
+              localStorage.setItem('jzType', res.data.jzType);
+              localStorage.setItem('customerVisits', res.data.customerManagerVisits);
+              localStorage.setItem('postType', res.data.postType);
+              localStorage.setItem('reportType', res.data.reportType);
+              resolve();
+            }
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
+    },
   },
 };
 

+ 6 - 67
src/views/componentsTarget/createStoreBJ.vue

@@ -27,22 +27,6 @@
         <span class="colorbalck" v-else>({{ '-' }})</span>
       </p>
     </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span>
-        <span class="colorbalck">{{ Micrometer(reportTargetAll.allShopMonthAct) }}</span>
-      </p>
-    </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span>
-        <span class="colorbalck">{{ Micrometer(reportTargetAll.allShopYearAct) }}</span>
-        <span class="colorbalck" v-if="reportTargetAll.allShopYearRate"
-          >({{ reportTargetAll.allShopYearRate }}%)</span
-        >
-        <span class="colorbalck" v-else>({{ '-' }})</span>
-      </p>
-    </van-col>
     <div>
       <div class="backLeft back"></div>
       <div class="backRight back"></div>
@@ -64,61 +48,16 @@
       </van-col>
       <van-col span="12">
         <p>
-          <span class="colLabel colLabel_JPBJ">金牌店布机</span>
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.goldShopBjMonthAct) }}</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          <span class="colLabel colLabel_JPBJ">金牌店布机</span>
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.goldShopBjYearAct) }}</span>
-          <span class="colorbalck" v-if="reportTargetAll.goldShopBjYearRate">
-            ({{ reportTargetAll.goldShopBjYearRate }}%)
-          </span>
-          <span class="colorbalck" v-else>({{ '-' }})</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          <span class="colLabel colLabel_TCFX">同城分销</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          <span class="colLabel colLabel_TCFX">同城分销</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          涂料店:<span class="colorbalck">{{
-            Micrometer(reportTargetAll.tcfxTlShopMonthAct)
-          }}</span>
+          <span class="colLabel colLabel_TCFX">仿石漆店</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.fsqShopMonthAct) }}</span>
         </p>
       </van-col>
       <van-col span="12">
         <p>
-          涂料店:<span class="colorbalck">{{
-            Micrometer(reportTargetAll.tcfxTlShopYearAct)
-          }}</span>
-          <span class="colorbalck" v-if="reportTargetAll.tcfxTlShopYearRate">
-            ({{ reportTargetAll.tcfxTlShopYearRate }}%)
-          </span>
-          <span class="colorbalck" v-else>({{ '-' }})</span>
-        </p>
-      </van-col>
-
-      <van-col span="12">
-        <p style="margin-top: 0">
-          厨卫店:
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxOtherShopMonthAct) }}</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p style="margin-top: 0">
-          厨卫店:
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxOtherShopYearAct) }}</span>
-          <span class="colorbalck" v-if="reportTargetAll.tcfxOtherShopYearRate">
-            ({{ reportTargetAll.tcfxOtherShopYearRate }}%)
+          <span class="colLabel colLabel_TCFX">仿石漆店</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.fsqShopYearAct) }}</span>
+          <span class="colorbalck" v-if="reportTargetAll.fsqShopYearRate">
+            ({{ reportTargetAll.fsqShopYearRate }}%)
           </span>
           <span class="colorbalck" v-else>({{ '-' }})</span>
         </p>

+ 0 - 74
src/views/componentsTarget/index.css

@@ -1,74 +0,0 @@
-p{
-    margin: 10px 0 0 0;
-    font-size: 14px;
-    /* color: #666; */
-}
-.leftTitle {
-    background-color: #74a4d9;
-    color: #fff;
-    display: inline-block;
-    padding: 0 4px;
-    border-radius: 2px;
-}
-.rightTitle {
-    background-color: #e7b4bb;
-    color: #fff;
-    display: inline-block;
-    padding: 0 4px;
-    border-radius: 2px;
-}
-
-.colBack {
-    width: 100%;
-    height: 100%;
-    display: block;
-    /* overflow: unset; */
-    position: relative;
-    z-index: 2;
-    float: left;
-    z-index: 2;
-    .back {
-        position: absolute;
-        background: rgb(226, 240, 217);
-        height: 100%;
-        display: block;
-        overflow: hidden;
-        /* z-index: 1; */
-        border-radius: 12px;
-        bottom: -4px;
-    }
-    .backLeft {
-        width: 45%;
-        left: -12px;
-    }
-    .backRight {
-        width: 50%;
-        left: calc(50% - 12px);
-    }
-    .van-col {
-        position: relative;
-        z-index: 3;
-    }
-}
-.colLabel{
-    display: inline-block;
-    padding: 2px 5px;
-    color: #fff;
-    margin-right: 10px;
-    border-radius:3px;
-}
-.colLabel_KK{
-    background: rgb(235, 104, 119);
-}
-.colLabel_FX{
-    background: rgb(253 120 88);
-}
-.colLabel_JP{
-    background: rgb(241, 183, 137);
-}
-.colLabel_JPBJ{
-    background: rgb(248 215 189);
-}
-.colLabel_TCFX{
-    background: rgb(131 204 202);
-}

+ 4 - 40
src/views/componentsTarget/placeOrder.vue

@@ -16,18 +16,6 @@
         <span class="colorbalck">{{ reportTargetAll.controlledShopMonthOrderRate }}%</span>
       </p>
     </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span>
-        <span class="colorbalck">{{ Micrometer(reportTargetAll.fxOrderShopMonthAct) }}</span>
-      </p>
-    </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span
-        ><span class="colorbalck">{{ reportTargetAll.fxShopMonthOrderRate }}%</span>
-      </p>
-    </van-col>
     <div>
       <div class="backLeft back"></div>
       <div class="backRight back"></div>
@@ -45,38 +33,14 @@
       </van-col>
       <van-col span="12">
         <p>
-          <span class="colLabel colLabel_TCFX">同城分销</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          <span class="colLabel colLabel_TCFX">同城分销</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          涂料店:
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxTlOrderShopMonthAct) }}</span>
+          <span class="colLabel colLabel_TCFX">同城分销近3月</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxOrderShopMonthAct) }}</span>
         </p>
       </van-col>
       <van-col span="12">
         <p>
-          涂料店:
-          <span class="colorbalck">{{ reportTargetAll.tcfxTlShopMonthOrderRate }}%</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p style="margin-top: 0">
-          厨卫店:
-          <span class="colorbalck">{{
-            Micrometer(reportTargetAll.tcfxOtherOrderShopMonthAct)
-          }}</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p style="margin-top: 0">
-          厨卫店:
-          <span class="colorbalck">{{ reportTargetAll.tcfxOtherShopMonthOrderRate }}%</span>
+          <span class="colLabel colLabel_TCFX">同城分销近3月</span>
+          <span class="colorbalck"> {{ reportTargetAll.tcfxShopMonthOrderRate }}% </span>
         </p>
       </van-col>
     </div>

+ 6 - 29
src/views/componentsTarget/visitedRealTime.vue

@@ -68,19 +68,6 @@
         <span class="colorbalck">({{ reportTargetAll.controlledShopVisitMonthRate }}%)</span>
       </p>
     </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span>
-        <span class="colorbalck">{{ Micrometer(reportTargetAll.fxShopVisitDayNum) }}</span>
-      </p>
-    </van-col>
-    <van-col span="12">
-      <p>
-        <span class="colLabel colLabel_FX">分销店</span>
-        <span class="colorbalck">{{ Micrometer(reportTargetAll.fxShopVisitMonthNum) }}</span>
-        <span class="colorbalck"> ({{ reportTargetAll.fxShopVisitMonthRate }}%) </span>
-      </p>
-    </van-col>
     <div>
       <div class="backLeft back"></div>
       <div class="backRight back"></div>
@@ -100,27 +87,17 @@
       <van-col span="12">
         <p>
           <span class="colLabel colLabel_TCFX">同城分销</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxShopVisitDayNum) }}</span>
         </p>
       </van-col>
       <van-col span="12">
         <p>
-          <span class="colLabel colLabel_TCFX">同城分销</span>
+          <span class="colLabel colLabel_TCFX">同城分销近3月</span>
+          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxShopVisitMonthNum) }}</span>
+          <span class="colorbalck"> ({{ reportTargetAll.tcfxShopVisitMonthRate }}%) </span>
         </p>
       </van-col>
-      <van-col span="12">
-        <p>
-          涂料店:
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxTlShopVisitDayNum) }}</span>
-        </p>
-      </van-col>
-      <van-col span="12">
-        <p>
-          <span style="font-weight: 600">近2月</span>涂料店:
-          <span class="colorbalck">{{ Micrometer(reportTargetAll.tcfxTlShopVisitMonthNum) }}</span>
-          <span class="colorbalck"> ({{ reportTargetAll.tcfxTlShopVisitMonthRate }}%) </span>
-        </p>
-      </van-col>
-      <van-col span="12">
+      <!-- <van-col span="12">
         <p style="margin-top: 0">
           厨卫店:<span class="colorbalck">{{
             Micrometer(reportTargetAll.tcfxOtherShopVisitDayNum)
@@ -134,7 +111,7 @@
           }}</span>
           <span class="colorbalck"> ({{ reportTargetAll.tcfxOtherShopVisitMonthRate }}%) </span>
         </p>
-      </van-col>
+      </van-col> -->
     </div>
   </van-row>
 </template>

+ 78 - 0
src/views/home/ABtarget.vue

@@ -1047,3 +1047,81 @@ export default {
   }
 }
 </style>
+<style lang="scss">
+.ABtarage {
+  p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    /* color: #666; */
+  }
+  .leftTitle {
+    background-color: #74a4d9;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+  .rightTitle {
+    background-color: #e7b4bb;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+    .back {
+      position: absolute;
+      background: rgb(226, 240, 217);
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+  .colLabel {
+    display: inline-block;
+    padding: 2px 5px;
+    color: #fff;
+    margin-right: 10px;
+    border-radius: 3px;
+  }
+  .colLabel_KK {
+    background: rgb(235, 104, 119);
+  }
+  .colLabel_FX {
+    background: rgb(253 120 88);
+  }
+  .colLabel_JP {
+    background: rgb(241, 183, 137);
+  }
+  .colLabel_JPBJ {
+    background: rgb(248 215 189);
+  }
+  .colLabel_TCFX {
+    background: rgb(131 204 202);
+  }
+}
+</style>

+ 80 - 3
src/views/home/Atarget.vue

@@ -47,9 +47,8 @@
           v-if="!JZQuota && !GZdata && [1, 4, 5].indexOf(powerGrade) !== -1"
           name="8"
           :title="'瓷砖胶SAP(千元)'">
-          <cizhuanjiaoSAP :reportTargetAll="reportTargetAll"></cizhuanjiaoSAP>
-        </van-collapse-item>
-        <van-collapse-item v-if="GZdata" name="9" title="纯态之家SAP(千元)">
+          <cizhuanjiaoSAP :reportTargetAll="reportTargetAll"></cizhuanjiaoSAP> </van-collapse-item
+        ><van-collapse-item v-if="GZdata" name="9" title="纯态之家SAP(千元)">
           <chunTaiSAP :reportTargetAll="reportTargetAll"></chunTaiSAP>
         </van-collapse-item>
         <van-collapse-item v-if="GZdata" name="10" title="商机关联的质感外墙业绩SAP(千元)">
@@ -639,3 +638,81 @@ export default {
   }
 }
 </style>
+<style lang="scss">
+.Atarget {
+  p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    /* color: #666; */
+  }
+  .leftTitle {
+    background-color: #74a4d9;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+  .rightTitle {
+    background-color: #e7b4bb;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+    .back {
+      position: absolute;
+      background: rgb(226, 240, 217);
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+  .colLabel {
+    display: inline-block;
+    padding: 2px 5px;
+    color: #fff;
+    margin-right: 10px;
+    border-radius: 3px;
+  }
+  .colLabel_KK {
+    background: rgb(235, 104, 119);
+  }
+  .colLabel_FX {
+    background: rgb(253 120 88);
+  }
+  .colLabel_JP {
+    background: rgb(241, 183, 137);
+  }
+  .colLabel_JPBJ {
+    background: rgb(248 215 189);
+  }
+  .colLabel_TCFX {
+    background: rgb(131 204 202);
+  }
+}
+</style>

+ 78 - 0
src/views/home/Btarget.vue

@@ -509,3 +509,81 @@ export default {
   }
 }
 </style>
+<style lang="scss">
+.Btarget {
+  p {
+    margin: 10px 0 0 0;
+    font-size: 14px;
+    /* color: #666; */
+  }
+  .leftTitle {
+    background-color: #74a4d9;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+  .rightTitle {
+    background-color: #e7b4bb;
+    color: #fff;
+    display: inline-block;
+    padding: 0 4px;
+    border-radius: 2px;
+  }
+
+  .colBack {
+    width: 100%;
+    height: 100%;
+    display: block;
+    /* overflow: unset; */
+    position: relative;
+    z-index: 2;
+    float: left;
+    z-index: 2;
+    .back {
+      position: absolute;
+      background: rgb(226, 240, 217);
+      height: 100%;
+      display: block;
+      overflow: hidden;
+      /* z-index: 1; */
+      border-radius: 12px;
+      bottom: -4px;
+    }
+    .backLeft {
+      width: 45%;
+      left: -12px;
+    }
+    .backRight {
+      width: 50%;
+      left: calc(50% - 12px);
+    }
+    .van-col {
+      position: relative;
+      z-index: 3;
+    }
+  }
+  .colLabel {
+    display: inline-block;
+    padding: 2px 5px;
+    color: #fff;
+    margin-right: 10px;
+    border-radius: 3px;
+  }
+  .colLabel_KK {
+    background: rgb(235, 104, 119);
+  }
+  .colLabel_FX {
+    background: rgb(253 120 88);
+  }
+  .colLabel_JP {
+    background: rgb(241, 183, 137);
+  }
+  .colLabel_JPBJ {
+    background: rgb(248 215 189);
+  }
+  .colLabel_TCFX {
+    background: rgb(131 204 202);
+  }
+}
+</style>

+ 96 - 33
src/views/home/HomeTarget.vue

@@ -1,6 +1,7 @@
 <template>
-  <div class="ABtarage">
+  <div class="ABtarage HomeTarget">
     <p class="updataTime">更新时间:{{ updataTime }}</p>
+    <!-- labelStyle 垃圾,不能全匹配,需要特殊处理 -->
     <template>
       <div class="container linep">
         <van-collapse v-model="activeNames">
@@ -14,13 +15,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">
                   <!-- 遍历第一个周期的所有指标 -->
@@ -32,13 +32,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>
@@ -47,20 +41,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>
@@ -77,7 +60,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>
@@ -91,7 +74,7 @@
                         :style="labelStyle(item.clickable)"
                         @click="onClick(item.clickable)"
                         class="colorbalck"
-                        >{{ Micrometer(item.indicatorValue) }}{{ item.indicatorUnit }}</span
+                        >{{ item.indicatorDisplayValue }}</span
                       >
                     </p>
                   </van-col>
@@ -115,7 +98,65 @@
                         :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)"
+                          @click="onClick(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 v-if="item.indicatorDate" style="color: #999">{{ item.indicatorDate }}</p>
+                    <p>
+                      {{ item.name }}:<span
+                        :style="labelStyle(item.clickable)"
+                        @click="onClick(item.clickable)"
+                        class="colorbalck"
+                        >{{ item.indicatorDisplayValue }}</span
                       >
                     </p>
                   </van-col>
@@ -132,8 +173,14 @@
 <script>
 import store from '@/store';
 import { userTodayPlanNum, getReportInfo } from '@/api/index';
+import { mapState } from 'vuex';
 export default {
   name: 'home',
+  computed: {
+    ...mapState({
+      reportInfo: (state) => state.user.reportInfo,
+    }),
+  },
   props: {
     tabVal: {
       type: [String, Number],
@@ -212,10 +259,18 @@ export default {
     };
   },
   watch: {
-    tabVal: {
+    // tabVal: {
+    //   handler(val) {
+    //     if (val == 2) {
+    //       // keep-alive 模式watch执行了两次
+    //       this.initData();
+    //     }
+    //   },
+    //   immediate: true,
+    // },
+    reportInfo: {
       handler(val) {
-        if (val == 2) {
-          // keep-alive 模式watch执行了两次
+        if (val) {
           this.initData();
         }
       },
@@ -242,6 +297,11 @@ export default {
       this.userTodayPlanNum();
     },
     getReportInfo() {
+      if (this.reportInfo && this.reportInfo.homePageIndicatorList != null) {
+        this.homePageIndicatorList = this.reportInfo.homePageIndicatorList;
+        this.updataTime = this.reportInfo.homePageIndicatorUpdateTime;
+      }
+      return;
       let loading1 = this.$toast.loading({
         duration: 0,
         message: '加载中...',
@@ -338,6 +398,7 @@ export default {
   display: inline-block;
   padding: 0 4px;
   border-radius: 2px;
+  margin-top: 10px;
 }
 
 .rightTitle {
@@ -347,6 +408,7 @@ export default {
   padding: 0 4px;
   border-radius: 2px;
   white-space: nowrap;
+  margin-top: 10px;
 }
 </style>
 <style lang="scss">
@@ -375,7 +437,7 @@ export default {
 
 .linep .van-cell__title {
   color: #1e5398;
-  font-weight: 500;
+  font-weight: 600;
   font-size: 16px;
 }
 
@@ -423,8 +485,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 {

+ 42 - 1
src/views/home/bottomBtn.vue

@@ -105,7 +105,13 @@
 </template>
 <script>
 import { getReportInfo } from '@/api/index';
+import { mapState } from 'vuex';
 export default {
+  computed: {
+    ...mapState({
+      reportInfo: (state) => state.user.reportInfo,
+    }),
+  },
   props: {
     tabVal: {
       type: [String, Number],
@@ -130,11 +136,46 @@ export default {
       reportType: null,
     };
   },
+  watch: {
+    reportInfo: {
+      handler(val) {
+        if (val) {
+          this.getReportInfo();
+        }
+      },
+      immediate: true,
+    },
+  },
   activated() {
-    this.getReportInfo();
+    // this.getReportInfo();
   },
   methods: {
     getReportInfo() {
+      if (this.reportInfo) {
+        let reportInfo = this.reportInfo;
+        if (reportInfo.postType == 'GZ') {
+          this.GZdata = true;
+        } else {
+          this.GZdata = false;
+        }
+        this.proccessPendingNum = reportInfo.proccessPendingNum;
+        this.reportInfoData = reportInfo;
+        this.approvalButton = reportInfo.approvalButton;
+        this.powerGrade = reportInfo.positionId;
+        this.showButton = reportInfo.showButton;
+        this.reportType = reportInfo.reportType;
+        if (reportInfo.reportTargetAll != null) {
+          this.updataTime = reportInfo.reportTargetAll.updateTime;
+        }
+        this.approvalPendingNum = reportInfo.approvalPendingNum;
+        this.type = reportInfo.userType;
+        // 金牌店老板生日提醒
+        if (reportInfo.ownerBirthdayReminds && reportInfo.ownerBirthdayReminds.length) {
+          this.ownerBirthdayBoxFlag = true;
+          this.ownerBirthdayReminds = reportInfo.ownerBirthdayReminds.join(',');
+        }
+      }
+      return;
       getReportInfo({ isContent: false }).then((res) => {
         if (res.code == 200) {
           if (res.data.postType == 'GZ') {

+ 10 - 34
src/views/home/hintTabPage/hintDetail.vue

@@ -32,7 +32,7 @@
         <van-tab
           v-for="(val, key, index) in tabsItemPantone"
           :key="index"
-          :title="key=='keKong'?'可控店':'金牌店'"
+          :title="key == 'keKong' ? '可控店' : '金牌店'"
           :name="key"></van-tab>
       </van-tabs>
     </div>
@@ -90,7 +90,7 @@ import {
   getReportMaterialType,
   getReportMaterial,
   selectColorMixerStoreInfo,
-  getColorWarning
+  getColorWarning,
 } from '@/api/index';
 import { mapState } from 'vuex';
 export default {
@@ -149,20 +149,11 @@ export default {
           ],
         },
         {
-          label: '同城分销-涂料店',
-          childredColumn: [
-            {
-              label: '(近2月)',
-              prop: 'TuLiaoNotVisited',
-            },
-          ],
-        },
-        {
-          label: '同城分销-其他店',
+          label: '同城分销',
           childredColumn: [
             {
               label: '(近3月)',
-              prop: 'QiTaNotVisited',
+              prop: 'TcfxNotVisited',
             },
           ],
         },
@@ -191,24 +182,6 @@ export default {
             },
           ],
         },
-        {
-          label: '同城分销-涂料店',
-          childredColumn: [
-            {
-              label: '(7天未结案)',
-              prop: 'TuLiaoAbnormalNum',
-            },
-          ],
-        },
-        {
-          label: '同城分销-其他店',
-          childredColumn: [
-            {
-              label: '(7天未结案)',
-              prop: 'QiTaAbnormalNum',
-            },
-          ],
-        },
       ],
       // 色卡
       pantone: [
@@ -396,7 +369,7 @@ export default {
         this.firstProp = 'warehouseName';
         let deptId = tree ? tree.deptId : null;
         this.getPantoneData(resolve, deptId);
-      }else if (this.fromType == 'colorWarning') {
+      } else if (this.fromType == 'colorWarning') {
         // 调色预警
         let deptId = tree ? tree.onlyId : null;
         this.firstProp = 'onlyName';
@@ -494,7 +467,7 @@ export default {
       // deptId 第一次传 null 获取当前等级下的数据(不需要当前层级)
       getReportMaterialType(
         { materialCode: this.materialCode, deptId: deptId },
-        this.controller.signal
+        this.controller.signal,
       ).then((res) => {
         this.maskShow = false;
         if (res.code == 200) {
@@ -532,7 +505,10 @@ export default {
     // 调色机详情
     getColorWarningFun(resolve, deptId) {
       // deptId 第一次传 null 获取当前等级下的数据(不需要当前层级)
-      selectColorMixerStoreInfo({ deptId: deptId,storeType:this.activaPantoneName }, this.controller.signal).then((res) => {
+      selectColorMixerStoreInfo(
+        { deptId: deptId, storeType: this.activaPantoneName },
+        this.controller.signal,
+      ).then((res) => {
         this.maskShow = false;
         if (res.code == 200) {
           res.data.forEach((val) => {

+ 110 - 82
src/views/home/hintTabPage/index.vue

@@ -92,7 +92,7 @@
                     '填写率-本月:' +
                       report.reportData.fillingRate +
                       ';审批率-本月:' +
-                      report.reportData.approvalRate
+                      report.reportData.approvalRate,
                   )
                 ">
                 下属详情
@@ -130,10 +130,7 @@
                 trigger="click"
                 popper-class="hintPopover"
                 v-if="colorWarning.tip">
-                <div
-                  class="popoverConten"
-                  v-for="(item, index) in colorWarning.tip"
-                  :key="index">
+                <div class="popoverConten" v-for="(item, index) in colorWarning.tip" :key="index">
                   {{ item }}
                 </div>
                 <div slot="reference" class="hintIconBox">
@@ -144,37 +141,47 @@
           </template>
           <div class="pantoneContent">
             <div v-for="(val, key, index) in colorWarning.contentData" :key="index">
-                <div :class="['title',key=='keKong'?'kekong':'jinpai']">{{ key=='keKong'?'可控店':'金牌店' }}</div>
-                <div class="pantoneItem">
-                  <div class="firstItem item">
-                    <div class="left">
-                      <div class="lebel">滚动7天未调色:</div>
-                      <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
-                        {{ Micrometer(val.colorSeven) }}家
-                      </div>
+              <div :class="['title', key == 'keKong' ? 'kekong' : 'jinpai']">
+                {{ key == 'keKong' ? '可控店' : '金牌店' }}
+              </div>
+              <div class="pantoneItem">
+                <div class="firstItem item">
+                  <div class="left">
+                    <div class="lebel">滚动7天未调色:</div>
+                    <div
+                      class="value valueIsClick"
+                      @click="colorWarningClick(val, key, val.mdwqsNum)">
+                      {{ Micrometer(val.colorSeven) }}家
                     </div>
-                    <div class="right">
-                      <div class="lebel">当月未调色:</div>
-                      <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
-                        {{ Micrometer(val.colorMonth) }}家
-                      </div>
+                  </div>
+                  <div class="right">
+                    <div class="lebel">当月未调色:</div>
+                    <div
+                      class="value valueIsClick"
+                      @click="colorWarningClick(val, key, val.mdwqsNum)">
+                      {{ Micrometer(val.colorMonth) }}家
                     </div>
                   </div>
-                  <div class="secondItem item">
-                    <div class="left">
-                      <div class="lebel">从未调色:</div>
-                      <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
-                        {{ Micrometer(val.colorStop) }}家
-                      </div>
+                </div>
+                <div class="secondItem item">
+                  <div class="left">
+                    <div class="lebel">从未调色:</div>
+                    <div
+                      class="value valueIsClick"
+                      @click="colorWarningClick(val, key, val.mdwqsNum)">
+                      {{ Micrometer(val.colorStop) }}家
                     </div>
-                    <div class="right">
-                      <div class="lebel">布机但近两年DIS为0:</div>
-                      <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
-                        {{ Micrometer(val.colorDis) }}家
-                      </div>
+                  </div>
+                  <div class="right">
+                    <div class="lebel">布机但近两年DIS为0:</div>
+                    <div
+                      class="value valueIsClick"
+                      @click="colorWarningClick(val, key, val.mdwqsNum)">
+                      {{ Micrometer(val.colorDis) }}家
                     </div>
                   </div>
                 </div>
+              </div>
             </div>
             <div class="mask" v-if="colorWarning.contentLosding">
               <van-loading type="spinner" color="#1989fa" />
@@ -260,7 +267,6 @@
             </div>
           </div>
         </van-collapse-item>
-         
       </van-collapse>
     </div>
   </div>
@@ -338,26 +344,26 @@ export default {
               },
             ],
           },
+          // {
+          //   title: '同城分销-涂料店',
+          //   titleProp: 'TuLiao',
+          //   bagColor: '#88abda',
+          //   visitDetail: [
+          //     {
+          //       leftTable: '近2个月拜访率:',
+          //       leftProp: 'visitRateInThePastTwoMonths',
+          //       leftUnit: '%',
+          //       leftIsClick: false,
+          //       rightTable: '未拜访:',
+          //       rightProp: 'notVisited',
+          //       rightUnit: '家',
+          //       rightIsClick: true,
+          //     },
+          //   ],
+          // },
           {
-            title: '同城分销-涂料店',
-            titleProp: 'TuLiao',
-            bagColor: '#88abda',
-            visitDetail: [
-              {
-                leftTable: '近2个月拜访率:',
-                leftProp: 'visitRateInThePastTwoMonths',
-                leftUnit: '%',
-                leftIsClick: false,
-                rightTable: '未拜访:',
-                rightProp: 'notVisited',
-                rightUnit: '家',
-                rightIsClick: true,
-              },
-            ],
-          },
-          {
-            title: '同城分销-其他店',
-            titleProp: 'QiTa',
+            title: '同城分销',
+            titleProp: 'Tcfx',
             bagColor: '#8f82bc',
             visitDetail: [
               {
@@ -442,31 +448,8 @@ export default {
             ],
           },
           {
-            title: '同城分销-涂料店',
-            titleProp: 'TuLiao',
-            bagColor: '#88abda',
-            visitDetail: [
-              {
-                leftTable: '本月累计:',
-                leftProp: 'month',
-                leftUnit: '家',
-                leftIsClick: false,
-              },
-              {
-                leftTable: '今年累计:',
-                leftProp: 'year',
-                leftUnit: '家',
-                leftIsClick: false,
-                rightTable: '7天未结案:',
-                rightProp: 'TuLiaoAbnormalNum',
-                rightUnit: '家',
-                rightIsClick: true,
-              },
-            ],
-          },
-          {
-            title: '同城分销-其他店',
-            titleProp: 'QiTa',
+            title: '仿石漆店',
+            titleProp: 'Fsq',
             bagColor: '#8f82bc',
             visitDetail: [
               {
@@ -480,13 +463,59 @@ export default {
                 leftProp: 'year',
                 leftUnit: '家',
                 leftIsClick: false,
-                rightTable: '7天未结案:',
-                rightProp: 'QiTaAbnormalNum',
-                rightUnit: '家',
-                rightIsClick: true,
+                // rightTable: '7天未结案:',
+                // rightProp: 'QiTaAbnormalNum',
+                // rightUnit: '家',
+                // rightIsClick: true,
               },
             ],
           },
+          // {
+          //   title: '同城分销-涂料店',
+          //   titleProp: 'TuLiao',
+          //   bagColor: '#88abda',
+          //   visitDetail: [
+          //     {
+          //       leftTable: '本月累计:',
+          //       leftProp: 'month',
+          //       leftUnit: '家',
+          //       leftIsClick: false,
+          //     },
+          //     {
+          //       leftTable: '今年累计:',
+          //       leftProp: 'year',
+          //       leftUnit: '家',
+          //       leftIsClick: false,
+          //       rightTable: '7天未结案:',
+          //       rightProp: 'TuLiaoAbnormalNum',
+          //       rightUnit: '家',
+          //       rightIsClick: true,
+          //     },
+          //   ],
+          // },
+          // {
+          //   title: '同城分销-其他店',
+          //   titleProp: 'QiTa',
+          //   bagColor: '#8f82bc',
+          //   visitDetail: [
+          //     {
+          //       leftTable: '本月累计:',
+          //       leftProp: 'month',
+          //       leftUnit: '家',
+          //       leftIsClick: false,
+          //     },
+          //     {
+          //       leftTable: '今年累计:',
+          //       leftProp: 'year',
+          //       leftUnit: '家',
+          //       leftIsClick: false,
+          //       rightTable: '7天未结案:',
+          //       rightProp: 'QiTaAbnormalNum',
+          //       rightUnit: '家',
+          //       rightIsClick: true,
+          //     },
+          //   ],
+          // },
         ],
         resData: null,
       },
@@ -587,7 +616,7 @@ export default {
       }
     },
     getColorWarning() {
-       if (this.empLevel !== 4) {
+      if (this.empLevel !== 4) {
         this.colorWarning.contentLosding = true;
         getColorWarning().then((res) => {
           this.colorWarning.contentLosding = false;
@@ -726,7 +755,6 @@ export default {
     .pantoneContent {
       padding-bottom: 10px;
       .title {
-        
         padding: 2px 5px;
         border-radius: 2px;
         background-color: #13b5b1;
@@ -734,7 +762,7 @@ export default {
         display: inline-block;
         color: #fff;
       }
-      .kekong{
+      .kekong {
         color: #fff;
         height: 21px;
         margin-right: 6px;
@@ -748,7 +776,7 @@ export default {
         padding: 0 3px;
         background: rgb(235, 104, 119);
       }
-      .jinpai{
+      .jinpai {
         color: #fff;
         height: 21px;
         margin-right: 6px;

+ 4 - 6
src/views/home/hintTabPage/noVisit.vue

@@ -96,11 +96,9 @@ export default {
         type = '可控店';
       } else if (value == 'jinPai') {
         type = '金牌店';
-      } else if (value == 'TuLiao') {
-        type = '同城分销-涂料店';
-      } else if (value == 'QiTa') {
-        type = '同城分销-其他店';
-      }else if (value == 'FuWuShang') {
+      } else if (value == 'Tcfx') {
+        type = '同城分销';
+      } else if (value == 'FuWuShang') {
         type = '服务商';
       }
       return type;
@@ -219,7 +217,7 @@ export default {
         this.TXisBD.lat,
         this.TXisBD.lon,
         this.TXisBD.lat,
-        this.TXisBD.lon
+        this.TXisBD.lon,
       ).toFixed(2);
       // GZ:工装店铺 直接进入拜访
       if (localStorage.getItem('postType') == 'GZ') {

+ 4 - 6
src/views/home/hintTabPage/unCreateStore.vue

@@ -105,7 +105,7 @@
                           placement="bottom"
                           width="200"
                           trigger="click">
-                          <div v-if="item.storeLabels">
+                          <div v-if="item && item.storeLabels">
                             <p>{{ timeData }}未通过的陈列任务:</p>
                             <p v-for="(tt, ind) in (item.storeLabels.targetOne + '').split(';')">
                               <template v-if="tt"> {{ ind + 1 }}、{{ tt }};</template>
@@ -113,7 +113,7 @@
                           </div>
                           <div
                             class="visitStoreIco"
-                            v-if="item.storeLabels.targetOne"
+                            v-if="item && item.storeLabels && item.storeLabels.targetOne"
                             style="background-color: #fff"
                             slot="reference">
                             <van-icon :name="targetOne" size="26" />
@@ -279,6 +279,7 @@ import { mapState } from 'vuex';
 import store from '@/store';
 import { getMonthCommon } from '@/utils';
 import { ProductItemImge } from '@/api/index';
+import targetOne from '@/assets/targetOne.png';
 export default {
   name: 'unCreateStore',
   computed: {
@@ -296,6 +297,7 @@ export default {
       visitRoutePath: '', //拜访页面路径
       clickIsFlage: true,
       timeData: '',
+      targetOne: targetOne,
     };
   },
   filters: {
@@ -307,10 +309,6 @@ export default {
         type = '金牌店7天未完工列表';
       } else if (value == 'jinPaiAbnormalNum') {
         type = '金牌店30天未结案列表';
-      } else if (value == 'TuLiaoAbnormalNum') {
-        type = '同城分销-涂料店7天未结案列表';
-      } else if (value == 'QiTaAbnormalNum') {
-        type = '同城分销-其他店7天未结案列表';
       }
       return type;
     },

+ 34 - 29
src/views/home/index.vue

@@ -47,12 +47,14 @@ import HomeTarget from './HomeTarget.vue';
 import { mapState } from 'vuex';
 import bottomBtn from './bottomBtn.vue';
 import { WXdigest } from '@/utils/digest';
+import store from '@/store';
 export default {
   name: 'home',
   components: { tabBar, hintTabPage, ABtarget, HomeTarget, bottomBtn },
   computed: {
     ...mapState({
       userInfo: (state) => state.user.userInfo,
+      reportInfo: (state) => state.user.reportInfo,
     }),
   },
   data() {
@@ -81,15 +83,8 @@ export default {
     },
   },
   activated() {
+    this.getReportInfo();
     WXdigest();
-    if (this.tabVal == '-1') {
-      // 从其他页面跳转过来如果;要重新获取对应tab数据
-      // if (this.$refs.hintTabPage) this.$refs.hintTabPage.initData();
-    } else if (this.tabVal == '0') {
-      // if (this.$refs.Atarget) this.$refs.Atarget.initData();
-    } else if (this.tabVal == '1') {
-      // if (this.$refs.Btarget) this.$refs.Btarget.initData();
-    }
   },
   created() {
     this.getDict();
@@ -108,19 +103,32 @@ export default {
       this.isLoading = false;
     },
     async getDict(isRefresh) {
+      let postType = this.userInfo.postType;
       let postName = this.userInfo.postName;
       if (postName == '质感销售负责人' || postName == '质感销售专员') {
         this.onlyShowHomeTarget = true;
       } else {
-        this.onlyShowHomeTarget = false;
-        let postType = this.userInfo.postType;
-        // postType:人员类型,JZ(家装)、GZ(公装)、YF(应服)、DIY(DIY)
-        if (postType == 'JZ' || postType == 'GZ') {
-          localStorage.setItem('isGZorJZ', 'true');
-          this.isGZorJZ = 'true';
+        // <!-- 0-历史指标  1-动态指标,String类型 -->
+        if (postType == 'GZ' || postType == 'BMD') {
+          if (this.reportInfo.targetType == '0') {
+            this.onlyShowHomeTarget = false;
+          } else if (this.reportInfo.targetType == '1') {
+            this.onlyShowHomeTarget = true;
+          }
+          if (postType == 'GZ') {
+            localStorage.setItem('isGZorJZ', 'true');
+            this.isGZorJZ = 'true';
+          }
         } else {
-          localStorage.setItem('isGZorJZ', 'false');
-          this.isGZorJZ = 'false';
+          this.onlyShowHomeTarget = false;
+          // postType:人员类型,JZ(家装)、GZ(公装)、YF(应服)、DIY(DIY)
+          if (postType == 'JZ') {
+            localStorage.setItem('isGZorJZ', 'true');
+            this.isGZorJZ = 'true';
+          } else {
+            localStorage.setItem('isGZorJZ', 'false');
+            this.isGZorJZ = 'false';
+          }
         }
       }
       // 家装或工装不显示提示类tab
@@ -164,19 +172,16 @@ export default {
       // window.location.href = process.env.VUE_APP_SSB_LINK + "/homeIndex"
     },
     getReportInfo() {
-      getReportInfo({ isContent: false }).then((res) => {
-        if (res.code == 200) {
-          localStorage.setItem('powerGrade', res.data.positionId);
-          localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
-          localStorage.setItem('isDiy', res.data.diy);
-          localStorage.setItem('uType', res.data.userType);
-          localStorage.setItem('jzType', res.data.jzType);
-          localStorage.setItem('customerVisits', res.data.customerManagerVisits);
-          localStorage.setItem('postType', res.data.postType);
-        } else {
-          this.$toast(res.msg);
-        }
-      });
+      this.toastLoading(0, '加载中...', true);
+      // 获取移动端获取用户信息接口
+      store
+        .dispatch('getReportInfoDeta')
+        .then(() => {
+          this.toastLoading().clear();
+        })
+        .catch(() => {
+          this.toastLoading().clear();
+        });
     },
     deepseek() {
       buryingPoint({

+ 26 - 400
src/views/week/daily.vue

@@ -30,396 +30,25 @@
         <target :homePageIndicatorDate="homePageIndicatorList"></target>
       </template>
       <template v-else>
-        <van-collapse v-model="activeNames" v-if="!YFQuota">
-          <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <van-collapse-item v-if="!GZQuota" title="拜访数据(实时)" name="7">
-            <visitedRealTime
-              :reportTargetAll="reportTargetAll"
-              :powerGrade="powerGrade"
-              :JZQuota="JZQuota"></visitedRealTime>
-          </van-collapse-item>
-          <van-collapse-item title="建店布机" v-if="!JZQuota && !GZQuota" name="2">
-            <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="33" title="下单点数">
-            <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
-          </van-collapse-item>
-          <van-collapse-item name="16" v-if="!JZQuota && !GZQuota" title="专业时时丽分销店下单">
-            <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
-          </van-collapse-item>
-          <van-collapse-item v-if="type != 3 && type != 4" name="1" :title="saptitle">
-            <performanceSAP :reportTargetAll="reportTargetAll" :JZQuota="JZQuota"></performanceSAP>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="43" title="纯态之家SAP(千元)">
-            <van-row style="margin-top: -10px">
-              <van-col span="12"><span class="leftTitle">本月</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzCtzjMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzCtzjQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjMonthSuccessRate) }}%</span></p></van-col>-->
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjQuarterSuccessRate) }}%</span></p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="42" title="商机关联的质感外墙业绩SAP(千元)">
-            <van-row style="margin-top: -10px">
-              <van-col span="12"><span class="leftTitle">本月</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzZgwqMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzZgwqQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqMonthSuccessRate) }}%</span></p></van-col>-->
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqQuarterSuccessRate) }}%</span></p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="41" title="累计出货有效客户">
-            <van-row>
-              <!--            <van-col span="12"><span class="leftTitle">全年开户</span></van-col><van-col span="12"><span class="rightTitle">本月报备</span></van-col>-->
-              <van-col span="12"
-                ><p>
-                  全年实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzKhljYearAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>报备成功数:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzBbMonthSuccessNum) }}</span></p></van-col>-->
-              <!--            <van-col span="12"><p>&nbsp;</p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  全年目标:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzKhljYearTarget)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"><p>&nbsp;</p></van-col>
-              <van-col span="12"
-                ><p>
-                  目标达成率:<span class="colorbalck"
-                    >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="40" title="今日拜访">
-            <van-row>
-              <van-col span="12"
-                ><p>
-                  公装客户数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitCustomerNum)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  工地数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitGdNum)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  潜在客户数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitQzCustomerNum)
-                  }}</span>
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="11" title="专业时时丽SAP(千元)">
-            <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="29" title="瓷砖胶SAP(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
-              <van-col span="12"
-                ><p>
-                  实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.czjSapMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.czjSapQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  达成率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapMonthSuccessRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  达成率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item name="17" v-if="!JZQuota && !GZQuota" title="超好贴分销店下单">
-            <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="23" title="展厅上样">
-            <van-row>
-              <van-col span="24"
-                ><p>
-                  当月新增店数:<span class="colorbalck">{{
-                    reportTargetAll.exhibitionHallMonthAct
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  全年实际店数:<span class="colorbalck"
-                    >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  全年达成进度率:<span class="colorbalck"
-                    >{{ reportTargetAll.exhibitionHallYearRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="22" title="基材粉料过账(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-              <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerQuarter }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumMonth
-                  }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumQuarter
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceMonth)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateMonth }}%</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.jcPostOrderRateQuarter }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-              <van-col span="24"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumYear
-                  }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceYear)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="24"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateYear }}%</span>
-                </p>
-              </van-col>
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="21" title="魔术漆过账(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-              <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerMonth }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{
-                    reportTargetAll.msqPostCustomerQuarter
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceMonth)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.msqPostOrderRateMonth }}%</span
-                  >
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.msqPostOrderRateQuarter }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-              <van-col span="24"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceYear)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="24"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateYear }}%</span>
-                </p>
-              </van-col>
-            </van-row>
-          </van-collapse-item>
-          <!-- 生动化陈列 sku -->
-          <div v-if="photoSkuImgSummaryeList && photoSkuImgSummaryeList.length" class="SKUTable">
-            <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="photoSkuImgSummaryeList"
-              border
-              class="table-headermd1"
-              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.storeName }}({{ scope.row.storeCode }})
-                </template>
-              </el-table-column>
-              <el-table-column label="SKU数量" prop="count" width="80px" align="center" />
-            </el-table>
-          </div>
+        <van-collapse v-model="activeNames" style="margin-top: -3px">
+          <template v-if="!YFQuota">
+            <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+              <!-- 0-历史指标  1-动态指标,String类型 -->
+              <target
+                v-if="reportTarget.targetType == '1'"
+                :homePageIndicatorDate="homePageIndicatorList"></target>
+              <template v-else>
+                <!-- 历史指标 -->
+                <Atarget :reportInfo="reportTarget"></Atarget>
+                <Btarget :reportInfo="reportTarget"></Btarget>
+              </template>
+            </template>
+            <template v-else>
+              <!-- YFQuota:应用服务平台 不显示各项指标 -->
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
+            </template>
+          </template>
         </van-collapse>
       </template>
       <div class="contentContainer">
@@ -516,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',
@@ -529,6 +160,8 @@ export default {
     veryGoodPlaceOrder,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -693,11 +326,7 @@ export default {
                 window.location.replace(window.location.origin + '/mobile/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;
@@ -988,11 +617,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') {

+ 21 - 432
src/views/week/dailyApproval.vue

@@ -15,434 +15,23 @@
         <target :homePageIndicatorDate="homePageIndicatorList"></target>
       </template>
       <template v-else>
-        <van-collapse v-model="activeNames" v-if="!YFQuota">
-          <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <van-collapse-item v-if="!GZQuota" title="拜访数据(实时)" name="7">
-            <visitedRealTime
-              :reportTargetAll="reportTargetAll"
-              :powerGrade="powerGrade"
-              :JZQuota="JZQuota"></visitedRealTime>
-          </van-collapse-item>
-          <van-collapse-item title="建店布机" v-if="!JZQuota && !GZQuota" name="2">
-            <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="33" title="下单点数">
-            <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
-          </van-collapse-item>
-          <van-collapse-item name="16" v-if="!JZQuota && !GZQuota" title="专业时时丽分销店下单">
-            <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
-          </van-collapse-item>
-          <van-collapse-item v-if="type != 3 && type != 4" name="1" :title="saptitle">
-            <performanceSAP :reportTargetAll="reportTargetAll" :JZQuota="JZQuota"></performanceSAP>
-          </van-collapse-item>
-          <van-collapse-item name="17" v-if="!JZQuota && !GZQuota" title="超好贴分销店下单">
-            <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="43" title="纯态之家SAP(千元)">
-            <van-row style="margin-top: -10px">
-              <van-col span="12"><span class="leftTitle">本月</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzCtzjMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzCtzjQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjMonthSuccessRate) }}%</span></p></van-col>-->
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzCtzjQuarterSuccessRate) }}%</span></p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="42" title="商机关联的质感外墙业绩SAP(千元)">
-            <van-row style="margin-top: -10px">
-              <van-col span="12"><span class="leftTitle">本月</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzZgwqMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzZgwqQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqMonthSuccessRate) }}%</span></p></van-col>-->
-              <!--            <van-col span="12" ><p>业绩达成率:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzZgwqQuarterSuccessRate) }}%</span></p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  业绩成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="41" title="累计出货有效客户">
-            <van-row>
-              <!--            <van-col span="12"><span class="leftTitle">全年开户</span></van-col><van-col span="12"><span class="rightTitle">本月报备</span></van-col>-->
-              <van-col span="12"
-                ><p>
-                  全年实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzKhljYearAct)
-                  }}</span>
-                </p></van-col
-              >
-              <!--            <van-col span="12" ><p>报备成功数:<span class="colorbalck">{{ Micrometer(reportTargetAll.gzBbMonthSuccessNum) }}</span></p></van-col>-->
-              <!--            <van-col span="12"><p>&nbsp;</p></van-col>-->
-              <van-col span="12"
-                ><p>
-                  全年目标:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzKhljYearTarget)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"><p>&nbsp;</p></van-col>
-              <van-col span="12"
-                ><p>
-                  目标达成率:<span class="colorbalck"
-                    >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="GZQuota" name="40" title="今日拜访">
-            <van-row>
-              <van-col span="12"
-                ><p>
-                  公装客户数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitCustomerNum)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  工地数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitGdNum)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  潜在客户数:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.gzVisitQzCustomerNum)
-                  }}</span>
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="11" title="专业时时丽SAP(千元)">
-            <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
-          </van-collapse-item>
-          <van-collapse-item v-if="!JZQuota && !GZQuota" name="29" title="瓷砖胶SAP(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
-              ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
-              <van-col span="12"
-                ><p>
-                  实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.czjSapMonthAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  实际:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.czjSapQuarterAct)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  达成率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapMonthSuccessRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  达成率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  成长率:<span class="colorbalck">{{ reportTargetAll.czjSapMonthGrowRate }}%</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  成长率:<span class="colorbalck"
-                    >{{ reportTargetAll.czjSapQuarterGrowRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="23" title="展厅上样">
-            <van-row>
-              <van-col span="24"
-                ><p>
-                  当月新增店数:<span class="colorbalck">{{
-                    reportTargetAll.exhibitionHallMonthAct
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  全年实际店数:<span class="colorbalck"
-                    >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  全年达成进度率:<span class="colorbalck"
-                    >{{ reportTargetAll.exhibitionHallYearRate }}%</span
-                  >
-                </p></van-col
-              >
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="22" title="基材粉料过账(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-              <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerQuarter }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumMonth
-                  }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumQuarter
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceMonth)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateMonth }}%</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.jcPostOrderRateQuarter }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-              <van-col span="24"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单数(包):<span class="colorbalck">{{
-                    reportTargetAll.jcPostOrderNumYear
-                  }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.jcPostOrderPriceYear)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="24"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.jcPostOrderRateYear }}%</span>
-                </p>
-              </van-col>
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item v-if="JZQuota" name="21" title="魔术漆过账(千元)">
-            <van-row>
-              <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-              <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerMonth }}</span>
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  客户数:<span class="colorbalck">{{
-                    reportTargetAll.msqPostCustomerQuarter
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceMonth)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.msqPostOrderRateMonth }}%</span
-                  >
-                </p>
-              </van-col>
-              <van-col span="12"
-                ><p>
-                  下单率:<span class="colorbalck"
-                    >{{ reportTargetAll.msqPostOrderRateQuarter }}%</span
-                  >
-                </p></van-col
-              >
-              <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-              <van-col span="24"
-                ><p>
-                  客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
-                </p>
-              </van-col>
-              <van-col span="24"
-                ><p>
-                  下单销售额:<span class="colorbalck">{{
-                    Micrometer(reportTargetAll.msqPostOrderPriceYear)
-                  }}</span>
-                </p></van-col
-              >
-              <van-col span="24"
-                ><p>
-                  下单率:<span class="colorbalck">{{ reportTargetAll.msqPostOrderRateYear }}%</span>
-                </p>
-              </van-col>
-            </van-row>
-          </van-collapse-item>
-          <van-collapse-item title="今日拜访照片" name="10" v-if="reportTarget.photoSummary">
-            <div
-              class="visitIMG1"
-              :style="{
-                overflow: 'hidden',
-                height: visitIMG1Flag ? 'auto' : '170px',
-              }">
-              <template v-for="(item, index) in reportTarget.photoSummary">
-                <van-col span="6" style="padding: 5px" @click="pviewFn(index)" :key="index">
-                  <img :src="item.fileUrl" alt="" />
-                </van-col>
-              </template>
-            </div>
-            <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>
+        <van-collapse v-model="activeNames" style="margin-top: -3px">
+          <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+            <!-- 0-历史指标  1-动态指标,String类型 -->
+            <target
+              v-if="reportTarget.targetType == '1'"
+              :homePageIndicatorDate="homePageIndicatorList"></target>
+            <template v-else>
+              <!-- 历史指标 -->
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
             </template>
-          </van-collapse-item>
+          </template>
+          <template v-else-if="!YFQuota">
+            <!-- YFQuota:应用服务平台 不显示各项指标 -->
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </van-collapse>
       </template>
       <div class="contentContainer">
@@ -548,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: {
@@ -560,6 +151,8 @@ export default {
     veryGoodPlaceOrder,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -740,11 +333,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;

+ 187 - 493
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>
@@ -33,442 +33,25 @@
           <target :homePageIndicatorDate="homePageIndicatorList"></target>
         </template>
         <template v-else>
-          <van-collapse v-model="activeNames" v-if="!YFQuota">
-            <!-- YFQuota:应用服务平台 不显示各项指标 -->
-            <van-collapse-item v-if="!GZQuota" title="拜访数据(实时)" name="7">
-              <visitedRealTime
-                :reportTargetAll="reportTargetAll"
-                :powerGrade="powerGrade"
-                :JZQuota="JZQuota"></visitedRealTime>
-            </van-collapse-item>
-            <van-collapse-item title="建店布机" v-if="!JZQuota && !GZQuota" name="2">
-              <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="33" title="下单点数">
-              <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
-            </van-collapse-item>
-            <van-collapse-item name="16" v-if="!JZQuota && !GZQuota" title="专业时时丽分销店下单">
-              <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
-            </van-collapse-item>
-            <van-collapse-item v-if="type != 3 && type != 4" name="1" :title="saptitle">
-              <performanceSAP
-                :reportTargetAll="reportTargetAll"
-                :JZQuota="JZQuota"></performanceSAP>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="43" title="纯态之家SAP(千元)">
-              <van-row style="margin-top: -10px">
-                <van-col span="12"><span class="leftTitle">本月</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzCtzjMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzCtzjQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="42" title="商机关联的质感外墙业绩SAP(千元)">
-              <van-row style="margin-top: -10px">
-                <van-col span="12"><span class="leftTitle">本月</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzZgwqMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzZgwqQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="41" title="累计出货有效客户">
-              <van-row>
-                <van-col span="12"
-                  ><p>
-                    全年实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzKhljYearAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年目标:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzKhljYearTarget)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"><p>&nbsp;</p></van-col>
-                <van-col span="12"
-                  ><p>
-                    目标达成率:<span class="colorbalck"
-                      >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="40" title="今日拜访">
-              <van-row>
-                <van-col span="12"
-                  ><p>
-                    公装客户数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitCustomerNum)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    工地数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitGdNum)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    潜在客户数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitQzCustomerNum)
-                    }}</span>
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="11" title="专业时时丽SAP(千元)">
-              <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="29" title="瓷砖胶SAP(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.czjSapMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.czjSapQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    达成率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapMonthSuccessRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    达成率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item name="17" v-if="!JZQuota && !GZQuota" title="超好贴分销店下单">
-              <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="23" title="展厅上样">
-              <van-row>
-                <van-col span="24"
-                  ><p>
-                    当月新增店数:<span class="colorbalck">{{
-                      reportTargetAll.exhibitionHallMonthAct
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年实际店数:<span class="colorbalck"
-                      >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年达成进度率:<span class="colorbalck"
-                      >{{ reportTargetAll.exhibitionHallYearRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="22" title="基材粉料过账(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-                <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.jcPostCustomerQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumMonth
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceMonth)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateMonth }}%</span
-                    >
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateQuarter }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-                <van-col span="24"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumYear
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceYear)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="24"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateYear }}%</span
-                    >
-                  </p>
-                </van-col>
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="21" title="魔术漆过账(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-                <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.msqPostCustomerMonth
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.msqPostCustomerQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceMonth)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateMonth }}%</span
-                    >
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateQuarter }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-                <van-col span="24"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceYear)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="24"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateYear }}%</span
-                    >
-                  </p>
-                </van-col>
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item title="今日拜访照片" name="10" v-if="reportTarget.photoSummary">
-              <div
-                class="visitIMG1"
-                :style="{
-                  overflow: 'hidden',
-                  height: visitIMG1Flag ? 'auto' : '170px',
-                }">
-                <template v-for="(item, index) in reportTarget.photoSummary">
-                  <van-col span="6" style="padding: 5px" @click="pviewFn(index)" :key="index">
-                    <img :src="item.fileUrl" alt="" />
-                  </van-col>
-                </template>
-              </div>
-              <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>
+          <van-collapse v-model="activeNames" style="margin-top: -3px">
+            <template v-if="!YFQuota">
+              <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+                <!-- 0-历史指标  1-动态指标,String类型 -->
+                <target
+                  v-if="reportTarget.targetType == '1'"
+                  :homePageIndicatorDate="homePageIndicatorList"></target>
                 <template v-else>
-                  <span style="margin-right: 5px">展开</span>
-                  <van-icon size="14" :name="require('@/assets/Icon/arrow-down.png')" />
+                  <!-- 历史指标 -->
+                  <Atarget :reportInfo="reportTarget"></Atarget>
+                  <Btarget :reportInfo="reportTarget"></Btarget>
                 </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>
-            </van-collapse-item>
+              <template v-else>
+                <!-- YFQuota:应用服务平台 不显示各项指标 -->
+                <Atarget :reportInfo="reportTarget"></Atarget>
+                <Btarget :reportInfo="reportTarget"></Btarget>
+              </template>
+            </template>
           </van-collapse>
         </template>
         <div class="contentContainer">
@@ -549,7 +132,7 @@
                 <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>
@@ -602,7 +185,10 @@
       :urlList="urlList"
       :reportRemarksIndex="reportRemarksIndex"
       :reportContents="reportContents"
-      :checkedPlan="checkedPlan"></share>
+      :checkedPlan="checkedPlan"
+      :isTarget="isTarget"
+      :isReportCustom="isReportCustom"
+      :isHistory="reportTarget.isHistory"></share>
     <!--分享图片列表 -->
     <el-dialog
       title="选择分享的内容"
@@ -612,36 +198,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>
@@ -673,6 +290,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',
@@ -687,6 +306,8 @@ export default {
     share,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -754,6 +375,8 @@ export default {
       managerRemarkContent: '',
       postName: '',
       homePageIndicatorList: null,
+      isTarget: false, //日报指标
+      isReportCustom: true, //日报填写内容
     };
   },
   created() {
@@ -801,31 +424,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: '日报审核',
@@ -905,11 +566,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;
@@ -1212,25 +869,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;
+      }
     }
   }
 }
@@ -1244,20 +936,22 @@ 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 {

+ 129 - 490
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>
@@ -46,442 +41,25 @@
           <target :homePageIndicatorDate="homePageIndicatorList"></target>
         </template>
         <template v-else>
-          <van-collapse v-model="activeNames" v-if="!YFQuota">
-            <!-- YFQuota:应用服务平台 不显示各项指标 -->
-            <van-collapse-item v-if="!GZQuota" title="拜访数据(实时)" name="7">
-              <visitedRealTime
-                :reportTargetAll="reportTargetAll"
-                :powerGrade="powerGrade"
-                :JZQuota="JZQuota"></visitedRealTime>
-            </van-collapse-item>
-            <van-collapse-item title="建店布机" v-if="!JZQuota && !GZQuota" name="2">
-              <createStoreBJ :reportTargetAll="reportTargetAll"></createStoreBJ>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="33" title="下单点数">
-              <placeOrder :reportTargetAll="reportTargetAll"></placeOrder>
-            </van-collapse-item>
-            <van-collapse-item name="16" v-if="!JZQuota && !GZQuota" title="专业时时丽分销店下单">
-              <ZYPlaceOrder :reportTargetAll="reportTargetAll"></ZYPlaceOrder>
-            </van-collapse-item>
-            <van-collapse-item v-if="type != 3 && type != 4" name="1" :title="saptitle">
-              <performanceSAP
-                :reportTargetAll="reportTargetAll"
-                :JZQuota="JZQuota"></performanceSAP>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="43" title="纯态之家SAP(千元)">
-              <van-row style="margin-top: -10px">
-                <van-col span="12"><span class="leftTitle">本月</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzCtzjMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzCtzjQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzCtzjMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzCtzjQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="42" title="商机关联的质感外墙业绩SAP(千元)">
-              <van-row style="margin-top: -10px">
-                <van-col span="12"><span class="leftTitle">本月</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzZgwqMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzZgwqQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzZgwqMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    业绩成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.gzZgwqQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="41" title="累计出货有效客户">
-              <van-row>
-                <van-col span="12"
-                  ><p>
-                    全年实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzKhljYearAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年目标:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzKhljYearTarget)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"><p>&nbsp;</p></van-col>
-                <van-col span="12"
-                  ><p>
-                    目标达成率:<span class="colorbalck"
-                      >{{ Micrometer(reportTargetAll.gzKhljSuccessRate) }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="GZQuota" name="40" title="今日拜访">
-              <van-row>
-                <van-col span="12"
-                  ><p>
-                    公装客户数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitCustomerNum)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    工地数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitGdNum)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    潜在客户数:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.gzVisitQzCustomerNum)
-                    }}</span>
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="11" title="专业时时丽SAP(千元)">
-              <ZYSAP :reportTargetAll="reportTargetAll"></ZYSAP>
-            </van-collapse-item>
-            <van-collapse-item v-if="!JZQuota && !GZQuota" name="29" title="瓷砖胶SAP(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月业绩</span></van-col
-                ><van-col span="12"><span class="rightTitle">本季业绩</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.czjSapMonthAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    实际:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.czjSapQuarterAct)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    达成率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapMonthSuccessRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    达成率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapQuarterSuccessRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapMonthGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    成长率:<span class="colorbalck"
-                      >{{ reportTargetAll.czjSapQuarterGrowRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item name="17" v-if="!JZQuota && !GZQuota" title="超好贴分销店下单">
-              <veryGoodPlaceOrder :reportTargetAll="reportTargetAll"></veryGoodPlaceOrder>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="23" title="展厅上样">
-              <van-row>
-                <van-col span="24"
-                  ><p>
-                    当月新增店数:<span class="colorbalck">{{
-                      reportTargetAll.exhibitionHallMonthAct
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年实际店数:<span class="colorbalck"
-                      >{{ Micrometer(reportTargetAll.exhibitionHallYearAct) }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    全年达成进度率:<span class="colorbalck"
-                      >{{ reportTargetAll.exhibitionHallYearRate }}%</span
-                    >
-                  </p></van-col
-                >
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="22" title="基材粉料过账(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-                <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerMonth }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.jcPostCustomerQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumMonth
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceMonth)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceQuarter)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateMonth }}%</span
-                    >
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateQuarter }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-                <van-col span="24"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.jcPostCustomerYear }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单数(包):<span class="colorbalck">{{
-                      reportTargetAll.jcPostOrderNumYear
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.jcPostOrderPriceYear)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="24"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.jcPostOrderRateYear }}%</span
-                    >
-                  </p>
-                </van-col>
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item v-if="JZQuota" name="21" title="魔术漆过账(千元)">
-              <van-row>
-                <van-col span="12"><span class="leftTitle">本月实际</span></van-col>
-                <van-col span="12"><span class="rightTitle">本季实际</span></van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.msqPostCustomerMonth
-                    }}</span>
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    客户数:<span class="colorbalck">{{
-                      reportTargetAll.msqPostCustomerQuarter
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceMonth)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceQuarter)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateMonth }}%</span
-                    >
-                  </p>
-                </van-col>
-                <van-col span="12"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateQuarter }}%</span
-                    >
-                  </p></van-col
-                >
-                <van-col span="24"><span class="leftTitle">年度累计实际</span></van-col>
-                <van-col span="24"
-                  ><p>
-                    客户数:<span class="colorbalck">{{ reportTargetAll.msqPostCustomerYear }}</span>
-                  </p>
-                </van-col>
-                <van-col span="24"
-                  ><p>
-                    下单销售额:<span class="colorbalck">{{
-                      Micrometer(reportTargetAll.msqPostOrderPriceYear)
-                    }}</span>
-                  </p></van-col
-                >
-                <van-col span="24"
-                  ><p>
-                    下单率:<span class="colorbalck"
-                      >{{ reportTargetAll.msqPostOrderRateYear }}%</span
-                    >
-                  </p>
-                </van-col>
-              </van-row>
-            </van-collapse-item>
-            <van-collapse-item title="今日拜访照片" name="10" v-if="reportTarget.photoSummary">
-              <div
-                class="visitIMG1"
-                :style="{
-                  overflow: 'hidden',
-                  height: visitIMG1Flag ? 'auto' : '170px',
-                }">
-                <template v-for="(item, index) in reportTarget.photoSummary">
-                  <van-col span="6" style="padding: 5px" @click="pviewFn(index)" :key="index">
-                    <img :src="item.fileUrl" alt="" />
-                  </van-col>
-                </template>
-              </div>
-              <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>
+          <van-collapse v-model="activeNames" style="margin-top: -3px">
+            <template v-if="!YFQuota">
+              <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+                <!-- 0-历史指标  1-动态指标,String类型 -->
+                <target
+                  v-if="reportTarget.targetType == '1'"
+                  :homePageIndicatorDate="homePageIndicatorList"></target>
                 <template v-else>
-                  <span style="margin-right: 5px">展开</span>
-                  <van-icon size="14" :name="require('@/assets/Icon/arrow-down.png')" />
+                  <!-- 历史指标 -->
+                  <Atarget :reportInfo="reportTarget"></Atarget>
+                  <Btarget :reportInfo="reportTarget"></Btarget>
                 </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>
-            </van-collapse-item>
+              <template v-else>
+                <!-- YFQuota:应用服务平台 不显示各项指标 -->
+                <Atarget :reportInfo="reportTarget"></Atarget>
+                <Btarget :reportInfo="reportTarget"></Btarget>
+              </template>
+            </template>
           </van-collapse>
         </template>
         <div class="contentContainer">
@@ -561,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>
@@ -582,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
@@ -597,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
         >
@@ -631,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="选择分享的内容"
@@ -641,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>
@@ -703,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',
@@ -717,6 +309,8 @@ export default {
     share,
     reportCustom,
     target,
+    Atarget,
+    Btarget,
   },
   data() {
     return {
@@ -787,6 +381,8 @@ export default {
       shareReportConfig: null,
       postName: '',
       homePageIndicatorList: null,
+      isTarget: false, //日报指标
+      isReportCustom: true, //日报填写内容
     };
   },
   watch: {
@@ -836,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: '日报审核',
@@ -1016,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;
@@ -1384,6 +1016,13 @@ export default {
       justify-content: center;
     }
   }
+  .el-dialog__title {
+    height: 50px;
+    line-height: 50px !important;
+  }
+  .el-dialog__footer {
+    padding: 0;
+  }
 }
 .notifyIndex {
   z-index: 999999 !important;

+ 19 - 2
src/views/week/doubleWeekly.vue

@@ -27,8 +27,20 @@
       <div class="lineGrey"></div>
       <div class="lineGrey"></div>
       <van-collapse v-model="activeNames">
-        <Atarget :reportInfo="reportTarget"></Atarget>
-        <Btarget :reportInfo="reportTarget"></Btarget>
+        <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+          <!-- 0-历史指标  1-动态指标,String类型 -->
+          <template v-if="reportTarget.targetType == '1'">
+            <target :homePageIndicatorDate="homePageIndicatorList"></target>
+          </template>
+          <template v-if="reportTarget.targetType == '0'">
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
+        </template>
+        <template v-else>
+          <Atarget :reportInfo="reportTarget"></Atarget>
+          <Btarget :reportInfo="reportTarget"></Btarget>
+        </template>
         <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <reportCustom
@@ -119,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',
@@ -133,6 +146,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -165,6 +179,7 @@ export default {
       temporaryShow: '',
       type: '-1',
       JZQuota: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -231,6 +246,7 @@ export default {
                 window.location.replace(window.location.origin + '/mobile/home');
               });
           } else {
+            this.homePageIndicatorList = res.data.homePageIndicatorList || null;
             this.reportTargetAll = res.data.reportTargetAll;
             this.reportTarget = res.data;
             this.type = res.data.userType;
@@ -546,6 +562,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 = [];

+ 18 - 2
src/views/week/doubleWeeklyApproval.vue

@@ -13,8 +13,20 @@
       <div class="lineGrey"></div>
       <div class="lineGrey"></div>
       <van-collapse v-model="activeNames">
-        <Atarget :reportInfo="reportTarget"></Atarget>
-        <Btarget :reportInfo="reportTarget"></Btarget>
+        <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+          <!-- 0-历史指标  1-动态指标,String类型 -->
+          <template v-if="reportTarget.targetType == '1'">
+            <target :homePageIndicatorDate="homePageIndicatorList"></target>
+          </template>
+          <template v-if="reportTarget.targetType == '0'">
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
+        </template>
+        <template v-else>
+          <Atarget :reportInfo="reportTarget"></Atarget>
+          <Btarget :reportInfo="reportTarget"></Btarget>
+        </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
 
@@ -124,6 +136,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',
@@ -138,6 +151,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -173,6 +187,7 @@ export default {
       type: '-1',
       JZQuota: false,
       reportTarget: {},
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -294,6 +309,7 @@ export default {
                 window.location.replace(window.location.origin + '/mobile/home');
               });
           } else {
+            this.homePageIndicatorList = res.data.homePageIndicatorList;
             this.reportTargetAll = res.data.reportTargetAll;
             this.reportTarget = res.data;
             this.type = res.data.userType;

+ 18 - 2
src/views/week/doubleWeeklyDetils.vue

@@ -12,8 +12,20 @@
     <!--        主体内容-->
     <div class="container linep">
       <van-collapse v-model="activeNames">
-        <Atarget :reportInfo="reportTarget"></Atarget>
-        <Btarget :reportInfo="reportTarget"></Btarget>
+        <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+          <!-- 0-历史指标  1-动态指标,String类型 -->
+          <template v-if="reportTarget.targetType == '1'">
+            <target :homePageIndicatorDate="homePageIndicatorList"></target>
+          </template>
+          <template v-if="reportTarget.targetType == '0'">
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
+        </template>
+        <template v-else>
+          <Atarget :reportInfo="reportTarget"></Atarget>
+          <Btarget :reportInfo="reportTarget"></Btarget>
+        </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
           <reportCustom
@@ -144,6 +156,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',
@@ -158,6 +171,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -201,6 +215,7 @@ export default {
       type: '-1',
       ptitle: '',
       JZQuota: false,
+      homePageIndicatorList: null,
       //
     };
   },
@@ -249,6 +264,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;

+ 74 - 42
src/views/week/target.vue

@@ -1,7 +1,8 @@
 <template>
-  <div class="ABtarage">
+  <div class="ABtarage HomeTarget">
+    <!-- labelStyle 垃圾,不能全匹配,需要特殊处理 -->
     <template>
-      <div class="container linep" style="margin: 0">
+      <div class="container linep">
         <van-collapse v-model="activeNames">
           <div v-for="(homePageItem, index) in homePageIndicatorDate" :key="index">
             <van-collapse-item
@@ -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 {

+ 19 - 2
src/views/week/weekly.vue

@@ -29,8 +29,20 @@
       <van-collapse v-model="activeNames" style="margin-top: -3px">
         <template v-if="!YFQuota">
           <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <Atarget :reportInfo="reportTarget"></Atarget>
-          <Btarget :reportInfo="reportTarget"></Btarget>
+          <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+            <!-- 0-历史指标  1-动态指标,String类型 -->
+            <template v-if="reportTarget.targetType == '1'">
+              <target :homePageIndicatorDate="homePageIndicatorList"></target>
+            </template>
+            <template v-if="reportTarget.targetType == '0'">
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
+            </template>
+          </template>
+          <template v-else>
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </template>
         <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
@@ -162,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: {
@@ -179,6 +192,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -214,6 +228,7 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -258,6 +273,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(
@@ -571,6 +587,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(

+ 18 - 2
src/views/week/weeklyApproval.vue

@@ -14,8 +14,20 @@
       <van-collapse v-model="activeNames">
         <template v-if="!YFQuota">
           <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <Atarget :reportInfo="reportTarget"></Atarget>
-          <Btarget :reportInfo="reportTarget"></Btarget>
+          <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+            <!-- 0-历史指标  1-动态指标,String类型 -->
+            <template v-if="reportTarget.targetType == '1'">
+              <target :homePageIndicatorDate="homePageIndicatorList"></target>
+            </template>
+            <template v-if="reportTarget.targetType == '0'">
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
+            </template>
+          </template>
+          <template v-else>
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
@@ -161,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: {
@@ -178,6 +191,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -220,6 +234,7 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -337,6 +352,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(

+ 21 - 3
src/views/week/weeklyApprovalDetils.vue

@@ -14,12 +14,23 @@
       <van-collapse v-model="activeNames">
         <template v-if="!YFQuota">
           <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <Atarget :reportInfo="reportTarget"></Atarget>
-          <Btarget :reportInfo="reportTarget"></Btarget>
+          <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+            <!-- 0-历史指标  1-动态指标,String类型 -->
+            <template v-if="reportTarget.targetType == '1'">
+              <target :homePageIndicatorDate="homePageIndicatorList"></target>
+            </template>
+            <template v-if="reportTarget.targetType == '0'">
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
+            </template>
+          </template>
+          <template v-else>
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
-
           <reportCustom
             ref="reportCustom"
             :disabled="true"
@@ -175,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',
@@ -193,6 +205,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -238,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();
@@ -278,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;

+ 18 - 2
src/views/week/weeklyHistoricalDetils.vue

@@ -15,8 +15,20 @@
       <van-collapse v-model="activeNames">
         <template v-if="!YFQuota">
           <!-- YFQuota:应用服务平台 不显示各项指标 -->
-          <Atarget :reportInfo="reportTarget"></Atarget>
-          <Btarget :reportInfo="reportTarget"></Btarget>
+          <template v-if="reportTarget.postType == 'GZ' || reportTarget.postType == 'BMD'">
+            <!-- 0-历史指标  1-动态指标,String类型 -->
+            <template v-if="reportTarget.targetType == '1'">
+              <target :homePageIndicatorDate="homePageIndicatorList"></target>
+            </template>
+            <template v-if="reportTarget.targetType == '0'">
+              <Atarget :reportInfo="reportTarget"></Atarget>
+              <Btarget :reportInfo="reportTarget"></Btarget>
+            </template>
+          </template>
+          <template v-else>
+            <Atarget :reportInfo="reportTarget"></Atarget>
+            <Btarget :reportInfo="reportTarget"></Btarget>
+          </template>
         </template>
         <div class="contentContainer" v-if="reportTarget.isHistory == '0'">
           <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
@@ -187,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: {
@@ -204,6 +217,7 @@ export default {
     Atarget,
     Btarget,
     reportCustom,
+    target,
   },
   data() {
     return {
@@ -252,6 +266,7 @@ export default {
       JZQuota: false,
       YFQuota: false, //应用服务
       GZdata: false,
+      homePageIndicatorList: null,
     };
   },
   created() {
@@ -381,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 =