Ver código fonte

feature_20251117_日报填写内容自定义配置

zhujindu 2 semanas atrás
pai
commit
aea160f9d3

+ 8 - 7
src/components/componentZCheckbox.vue

@@ -22,7 +22,6 @@ export default {
   name: 'zSelect',
   props: {
     zCheckboxcolumns: [],
-    checkboxval: '',
     textc: '',
     rules: false,
     answerType: '',
@@ -37,12 +36,14 @@ export default {
     };
   },
   watch: {
-    checkboxval: {
-      handler(va) {
-        if (this.checkboxval == '' || this.checkboxval == undefined) {
-          this.zSelectValuec = [];
-        } else {
-          this.zSelectValuec = this.checkboxval.split(',');
+    zCheckboxcolumns: {
+      // 返显
+      handler(val) {
+        this.zSelectValuec = [];
+        for (let i = 0; i < val.length; i++) {
+          if (val[i].answerValue == 'Y') {
+            this.zSelectValuec.push(String(val[i][this.id]));
+          }
         }
       },
       immediate: true,

+ 8 - 4
src/components/componentZRadio.vue

@@ -18,7 +18,6 @@
 export default {
   name: 'zSelect',
   props: {
-    radio: '',
     textc: '',
     zRadiocolumns: [],
     answerType: '',
@@ -33,9 +32,14 @@ export default {
     };
   },
   watch: {
-    radio: {
-      handler(va) {
-        this.zradioc = this.radio;
+    zRadiocolumns: {
+      // 返显
+      handler(val) {
+        for (let i = 0; i < val.length; i++) {
+          if (val[i].answerValue == 'Y') {
+            this.zradioc = String(val[i][this.id]);
+          }
+        }
       },
       immediate: true,
     },

+ 6 - 13
src/views/week/daily.vue

@@ -757,13 +757,7 @@ export default {
               title: '系统提示',
               message: '暂存成功',
             })
-            .then(() => {
-              // if(this.$route.query.reportId!=undefined){
-              //   window.location.replace(window.location.origin+"/mobile/myHistoricalDaily")
-              // }else{
-              //   window.location.replace(window.location.origin+"/mobile/home")
-              // }
-            });
+            .then(() => {});
         } else {
           this.$toast.fail(res.msg);
         }
@@ -819,11 +813,9 @@ export default {
           this.submintFun();
         } else {
           // 新的
-          // 验证通过
-          let reportCustomData = this.$refs.reportCustom
-            ? this.$refs.reportCustom.fromData
-            : {} || {};
-          this.submintFun(reportCustomAnswers);
+          this.reportCustomTabstoreVal((reportCustomAnswers) => {
+            this.submintFun(reportCustomAnswers);
+          });
         }
       }
     },
@@ -885,9 +877,11 @@ export default {
       });
     },
     reportCustomTabstoreVal(callback) {
+      // 必填校验
       this.$refs.reportCustom.$refs.tabstoreVal
         .validate()
         .then(() => {
+          // 验证通过
           this.filterReportCustomData(callback);
         })
         .catch((errors) => {
@@ -896,7 +890,6 @@ export default {
         });
     },
     filterReportCustomData(callback) {
-      // 验证通过
       let reportCustomData = this.$refs.reportCustom ? this.$refs.reportCustom.fromData : {} || {};
       let reportCustomAnswers = [];
       for (let i = 0; i < reportCustomData.length; i++) {

+ 35 - 25
src/views/week/dailyApproval.vue

@@ -425,36 +425,44 @@
         </van-collapse-item>
       </van-collapse>
       <div class="contentContainer">
-        <div v-if="GZQuota">
-          <p class="contentContainerTitle">今日项目跟进数</p>
-          <div style="padding: 10px 0">
-            <van-field readonly v-model="projectFollowNum" type="digit" />
+        <!-- isHistory 是否为历史汇报:0-新汇报 1-历史汇报 -->
+        <reportCustom
+          ref="reportCustom"
+          v-if="reportTarget.isHistory == '0'"
+          :disabled="true"
+          :reportCustomData="reportTarget.customTaskList"></reportCustom>
+        <template v-else>
+          <div v-if="GZQuota">
+            <p class="contentContainerTitle">今日项目跟进数</p>
+            <div style="padding: 10px 0">
+              <van-field readonly v-model="projectFollowNum" type="digit" />
+            </div>
+            <p class="contentContainerTitle">今日TUC成功报备数量</p>
+            <div style="padding: 10px 0">
+              <van-field readonly v-model="tucReportingSuccessNum" type="digit" />
+            </div>
+          </div>
+          <!-- 今日未拜访原因 如果不为空则展示,为空则不展示 -->
+          <div v-if="reportTarget.notVisitReason && reportTarget.notVisitReason != ''">
+            <p class="contentContainerTitle">截至日报提交时间,今日拜访0家店的原因</p>
+            <div style="padding: 10px 0">
+              <van-field
+                readonly
+                v-model="reportTarget.notVisitReason"
+                rows="4"
+                autosize
+                type="textarea" />
+            </div>
           </div>
-          <p class="contentContainerTitle">今日TUC成功报备数量</p>
+          <p class="contentContainerTitle">今日机会与挑战总结</p>
           <div style="padding: 10px 0">
-            <van-field readonly v-model="tucReportingSuccessNum" type="digit" />
+            <van-field v-model="Contents" rows="4" autosize readonly type="textarea" />
           </div>
-        </div>
-        <!-- 今日未拜访原因 如果不为空则展示,为空则不展示 -->
-        <div v-if="reportTarget.notVisitReason && reportTarget.notVisitReason != ''">
-          <p class="contentContainerTitle">截至日报提交时间,今日拜访0家店的原因</p>
+          <p class="contentContainerTitle">明日工作规划</p>
           <div style="padding: 10px 0">
-            <van-field
-              readonly
-              v-model="reportTarget.notVisitReason"
-              rows="4"
-              autosize
-              type="textarea" />
+            <van-field v-model="Content2" rows="4" autosize readonly type="textarea" />
           </div>
-        </div>
-        <p class="contentContainerTitle">今日机会与挑战总结</p>
-        <div style="padding: 10px 0">
-          <van-field v-model="Contents" rows="4" autosize readonly type="textarea" />
-        </div>
-        <p class="contentContainerTitle">明日工作规划</p>
-        <div style="padding: 10px 0">
-          <van-field v-model="Content2" rows="4" autosize readonly type="textarea" />
-        </div>
+        </template>
       </div>
       <div class="contentContainer">
         <p class="contentContainerTitle">打分 <span>请点亮小星星,一颗小星星代表1分</span></p>
@@ -517,6 +525,7 @@ import ZYPlaceOrder from '@/views/componentsTarget/ZYPlaceOrder';
 import performanceSAP from '@/views/componentsTarget/performanceSAP';
 import ZYSAP from '@/views/componentsTarget/ZYSAP';
 import veryGoodPlaceOrder from '@/views/componentsTarget/veryGoodPlaceOrder';
+import reportCustom from './reportCustom';
 export default {
   name: 'daily',
   components: {
@@ -527,6 +536,7 @@ export default {
     performanceSAP,
     ZYSAP,
     veryGoodPlaceOrder,
+    reportCustom,
   },
   data() {
     return {

+ 4 - 3
src/views/week/reportCustom.vue

@@ -55,7 +55,6 @@
                 ]">
                 <template #input>
                   <z-checkbox
-                    :checkboxval="item.answerValue"
                     :textc="item.reportCustomOptionId"
                     :zCheckboxcolumns="item.sfaReportCustomOptions"
                     :id="'reportCustomOptionId'"
@@ -87,7 +86,6 @@
                   <z-radio
                     :answerType="item.reportCustomCollectionType"
                     :collectionType="item.collectionType"
-                    :radio="item.answerValue"
                     :textc="item.reportCustomOptionId"
                     :zRadiocolumns="item.sfaReportCustomOptions"
                     :id="'reportCustomOptionId'"
@@ -130,7 +128,7 @@ export default {
   watch: {
     reportCustomData: {
       handler(val) {
-        this.fromData = val;
+        this.filterFromData(val);
       },
       immediate: true,
       deep: true,
@@ -146,6 +144,9 @@ export default {
     };
   },
   methods: {
+    filterFromData(val) {
+      this.fromData = val;
+    },
     showCalendarClick(item, index) {
       if (!item.allowWriteAgain) return;
       this.dateIndex = index;