Browse Source

主管任务审批主管任务审批

zhujindu 6 months ago
parent
commit
af17928e4e

+ 2 - 2
src/components/zCheckbox2.vue

@@ -32,10 +32,10 @@ export default {
   data() {
     return {
       zSelect: false,
-      zSelectValuec: '',
+      zSelectValuec: [],
     };
   },
-  created() {
+  activated() {
     this.checkboxvalFn();
   },
   methods: {

+ 9 - 1
src/components/zRadio2.vue

@@ -28,9 +28,17 @@ export default {
   data() {
     return {
       radioChange: false,
-      zradioc: this.radio,
+      zradioc: '',
     };
   },
+  watch: {
+    radio: {
+      handler(va) {
+        this.zradioc = this.radio;
+      },
+      immediate: true,
+    },
+  },
   methods: {
     radiofn(value) {
       this.radioChange = true;

+ 12 - 10
src/views/week/SUPTaskApproval/detailItem.vue

@@ -307,16 +307,18 @@ export default {
       );
     },
     numberFn(val, index) {
-      if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
-        this.collectionItemList[index].answerName = this.collectionItemList[
-          index
-        ].answerName.replace(
-          /\.\d{2,}$/,
-          this.collectionItemList[index].answerName.substr(
-            this.collectionItemList[index].answerName.indexOf('.'),
-            3
-          )
-        );
+      if (this.collectionItemList[index].answerName) {
+        if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
+          this.collectionItemList[index].answerName = this.collectionItemList[
+            index
+          ].answerName.replace(
+            /\.\d{2,}$/,
+            this.collectionItemList[index].answerName.substr(
+              this.collectionItemList[index].answerName.indexOf('.'),
+              3
+            )
+          );
+        }
       }
     },
     zSelectVal(value) {

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

@@ -495,9 +495,7 @@ export default {
       });
     },
     onClickLeft() {
-      this.$router.replace({
-        path: '/My/index',
-      });
+      this.$router.go(-1);
     },
     regionClick() {
       // if(this.powerGrade>4){

+ 1 - 12
src/views/week/VisitSummaryDetail.vue

@@ -219,18 +219,7 @@ export default {
       // });
     },
     onClickLeft() {
-      if (this.source == 'SUPTaskApproval') {
-        this.$router.replace({
-          path: '/SUPTaskApproval',
-          query: {
-            tabVal: this.info.approvalStatus == '1' ? '1' : '2',
-          },
-        });
-      } else {
-        this.$router.replace({
-          path: '/VisitSummary',
-        });
-      }
+      this.$router.go(-1);
     },
     onSubmit() {
       let collectionAnswerlisd = this.$refs.allowWriteAgainSummary.collectionAnswerlisd;

+ 153 - 126
src/views/week/VisitSummaryMy.vue

@@ -1,84 +1,96 @@
 <template>
-  <div class="bgcolor">
+  <div class="bgcolor VisitSummaryMy">
     <!--        顶部条-->
     <van-nav-bar
-        class="navBar"
-        title="家装推广会历史提报查询"
-        left-arrow
-        @click-left="onClickLeft"
-    />
+      class="navBar"
+      title="家装推广会历史提报查询"
+      left-arrow
+      @click-left="onClickLeft" />
     <div class="container contentpd16">
       <van-row gutter="20">
         <van-col span="12">
           <van-cell :title="formData.startTime" is-link @click="StartTimeClick">
             <template #right-icon>
-              <van-icon :name="timeico" class="search-icon"/>
+              <van-icon :name="timeico" class="search-icon" />
             </template>
           </van-cell>
         </van-col>
         <van-col span="12">
           <van-cell :title="formData.endTime" is-link @click="EndTimeClick">
             <template #right-icon>
-              <van-icon :name="timeico" class="search-icon"/>
+              <van-icon :name="timeico" class="search-icon" />
             </template>
           </van-cell>
         </van-col>
         <van-col span="24">
           <van-cell class="inputSearch">
-            <van-field  v-model="formData.summaryTaskName" placeholder="请输入任务名称" />
+            <van-field v-model="formData.summaryTaskName" placeholder="请输入任务名称" />
           </van-cell>
         </van-col>
       </van-row>
-      <br>
+      <br />
       <van-button type="info" size="small" plain class="Btn100" @click="searchBtn">查找</van-button>
     </div>
     <div class="container">
-      <van-list v-model="loading" :finished="finished" @load="onLoad" finished-text="--已经到底了--">
-        <div class="cellcontent brud" v-for="(item,index) in list" :key="index">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        @load="onLoad"
+        finished-text="--已经到底了--">
+        <div class="cellcontent brud" v-for="(item, index) in list" :key="index">
           <van-cell>
             <div class="cardContent" @click="dailyFn(item)">
-              <div class="title"  >
-                <p class="textLeft">{{item.nickName}}的{{item.summaryTaskName}}</p>
+              <div class="title">
+                <p class="textLeft">{{ item.nickName }}的{{ item.summaryTaskName }}</p>
               </div>
-              <div class="info">提交时间:{{item.createTime}}</div>
+              <div class="info">提交时间:{{ item.createTime }}</div>
+            </div>
+            <div class="approvalStatusBtn" v-if="item.approvalStatus">
+              <van-button type="primary" size="small" v-if="item.approvalStatus == '2'"
+                >审批通过</van-button
+              >
+              <van-button type="info" size="small" v-if="item.approvalStatus == '1'"
+                >提交待审批</van-button
+              >
+              <van-button color="red" size="small" v-if="item.approvalStatus == '3'"
+                >拒绝待提交</van-button
+              >
             </div>
           </van-cell>
         </div>
-        <van-empty  v-if="list.length==0"/>
+        <van-empty v-if="list.length == 0" />
       </van-list>
     </div>
-    <br>
-    <br>
+    <br />
+    <br />
     <van-popup v-model="StartTimeShow" capture position="bottom">
       <van-datetime-picker
-          v-model="strtcurrentDate"
-          type="date"
-          title="选择查找开始时间"
-          :min-date="strtminDate"
-          :max-date="strtmaxDate"
-          @confirm="onStartTimeConfirm"
-          @cancel="StartTimeShow = false"
-      />
+        v-model="strtcurrentDate"
+        type="date"
+        title="选择查找开始时间"
+        :min-date="strtminDate"
+        :max-date="strtmaxDate"
+        @confirm="onStartTimeConfirm"
+        @cancel="StartTimeShow = false" />
     </van-popup>
     <van-popup v-model="EndTimeShow" capture position="bottom">
       <van-datetime-picker
-          v-model="endcurrentDate"
-          type="date"
-          title="选择查找结束时间"
-          :min-date="endminDate"
-          :max-date="endmaxDate"
-          @confirm="onEndTimeConfirm"
-          @cancel="EndTimeShow = false"
-      />
+        v-model="endcurrentDate"
+        type="date"
+        title="选择查找结束时间"
+        :min-date="endminDate"
+        :max-date="endmaxDate"
+        @confirm="onEndTimeConfirm"
+        @cancel="EndTimeShow = false" />
     </van-popup>
   </div>
 </template>
 
 <script>
-import timeico from "@/assets/Icon/datatims.png";
-import {getDeptInfo,getSummaryMobileDeptInfo,queryHistorySummaryList} from "@/api/index";
+import timeico from '@/assets/Icon/datatims.png';
+import { getDeptInfo, getSummaryMobileDeptInfo, queryHistorySummaryList } from '@/api/index';
 export default {
-  name: "MyHistoricalWeekly",
+  name: 'MyHistoricalWeekly',
   data() {
     return {
       timeico: timeico,
@@ -90,46 +102,45 @@ export default {
       endmaxDate: new Date(),
       strtcurrentDate: new Date(),
       endcurrentDate: new Date(),
-      list:[],
+      list: [],
       loading: false,
       finished: true,
-      formData:{
-        type:"1", // 汇报类型或入口 1-下属业务员日报 2-下属销售部主管周报 3-下属大区主管半月报
-        startTime:"", // 开始时间,必传  格式:yyyy-MM-dd  String类型
-        endTime:"", // 结束时间,必传  格式:yyyy-MM-dd  String类型
-        pageNum:1 , // 当前页码  int类型
-        pageSize:10, // 当前每页条数  int类型
+      formData: {
+        type: '1', // 汇报类型或入口 1-下属业务员日报 2-下属销售部主管周报 3-下属大区主管半月报
+        startTime: '', // 开始时间,必传  格式:yyyy-MM-dd  String类型
+        endTime: '', // 结束时间,必传  格式:yyyy-MM-dd  String类型
+        pageNum: 1, // 当前页码  int类型
+        pageSize: 10, // 当前每页条数  int类型
       },
-      tableList:[]
-    }
+      tableList: [],
+    };
   },
 
   created() {
-    this.userList=[]
-    this.formData.startTime =this.getThreeDaysAgo()
-    this.strtcurrentDate=new Date(this.getThreeDaysAgo())
-    this.formData.endTime = this.parseTime(new Date(), '{y}-{m}-{d}') + ""
-    this.endminDate=new Date(this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'),2))
-    this.searchBtn()
+    this.userList = [];
+    this.formData.startTime = this.getThreeDaysAgo();
+    this.strtcurrentDate = new Date(this.getThreeDaysAgo());
+    this.formData.endTime = this.parseTime(new Date(), '{y}-{m}-{d}') + '';
+    this.endminDate = new Date(this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'), 2));
+    this.searchBtn();
   },
   watch: {
-    $route(to, from) {
-    }
+    $route(to, from) {},
   },
   methods: {
-    dateFn(val){
-      return val.slice(0,4)+"-"+val.slice(4,6)+"-"+val.slice(6,8)
+    dateFn(val) {
+      return val.slice(0, 4) + '-' + val.slice(4, 6) + '-' + val.slice(6, 8);
     },
-    onLoad(){
-      this.querySubReport()
+    onLoad() {
+      this.querySubReport();
     },
-    searchBtn(){
-      this.formData.pageNum=1
+    searchBtn() {
+      this.formData.pageNum = 1;
       this.list = [];
-      this.querySubReport()
+      this.querySubReport();
     },
-    querySubReport(){
-      let loading1=this.$toast.loading({
+    querySubReport() {
+      let loading1 = this.$toast.loading({
         duration: 0,
         message: '加载中...',
         forbidClick: true,
@@ -138,19 +149,19 @@ export default {
         this.list = [];
         this.refreshing = false;
       }
-      queryHistorySummaryList(this.formData).then(res=>{
-        loading1.clear()
-        if(res.code==200){
-          this.loading=false
-          this.list = this.list.concat(res.data)
-          if (this.list.length >=res.total) {
+      queryHistorySummaryList(this.formData).then((res) => {
+        loading1.clear();
+        if (res.code == 200) {
+          this.loading = false;
+          this.list = this.list.concat(res.data);
+          if (this.list.length >= res.total) {
             this.finished = true;
-          }else{
+          } else {
             this.finished = false;
           }
-          this.formData.pageNum=this.formData.pageNum+1
+          this.formData.pageNum = this.formData.pageNum + 1;
         }
-      })
+      });
     },
     getThreeDaysAgo() {
       let myDate = new Date();
@@ -159,14 +170,10 @@ export default {
       let lastM = lw.getMonth() + 1;
       let lastD = lw.getDate();
       let startData =
-          lastY +
-          "-" +
-          (lastM < 10 ? "0" + lastM : lastM) +
-          "-" +
-          (lastD < 10 ? "0" + lastD : lastD); //三十天之前日期
+        lastY + '-' + (lastM < 10 ? '0' + lastM : lastM) + '-' + (lastD < 10 ? '0' + lastD : lastD); //三十天之前日期
       return startData;
     },
-    GetPreMonthDay(date, monthNum,type) {
+    GetPreMonthDay(date, monthNum, type) {
       var dateArr = date.split('-');
       var year = dateArr[0]; //获取当前日期的年份
       var month = dateArr[1]; //获取当前日期的月份
@@ -189,50 +196,50 @@ export default {
       if (month2 < 10) {
         month2 = '0' + month2;
       }
-      var t2 =""
-      if(monthNum>0){
-        t2= year2 + '-' + month2 + '-01';
-      }else{
-        if(type=="end"){
-          var Months=new Date().getMonth()+1
-          var days111=new Date().getDate()
+      var t2 = '';
+      if (monthNum > 0) {
+        t2 = year2 + '-' + month2 + '-01';
+      } else {
+        if (type == 'end') {
+          var Months = new Date().getMonth() + 1;
+          var days111 = new Date().getDate();
           if (Months < 10) {
             Months = '0' + Months;
           }
           if (days111 < 10) {
             days111 = '0' + days111;
           }
-          if(new Date().getFullYear()==year){
-            if(parseInt(month2)>=new Date().getMonth()+1){
-              t2= year2 + '-' + Months + '-' + days111;
-            }else{
-              var daysd=this.getMonthDays(year2,month2)
-              t2= year2 + '-' + month2 + '-' + daysd;
+          if (new Date().getFullYear() == year) {
+            if (parseInt(month2) >= new Date().getMonth() + 1) {
+              t2 = year2 + '-' + Months + '-' + days111;
+            } else {
+              var daysd = this.getMonthDays(year2, month2);
+              t2 = year2 + '-' + month2 + '-' + daysd;
             }
-          }else{
-            var daysd=this.getMonthDays(year2,month2)
-            t2= year2 + '-' + month2 + '-' + daysd;
+          } else {
+            var daysd = this.getMonthDays(year2, month2);
+            t2 = year2 + '-' + month2 + '-' + daysd;
           }
-        }else{
-          t2= year2 + '-' + month2 + '-' + day2;
+        } else {
+          t2 = year2 + '-' + month2 + '-' + day2;
         }
       }
       return t2;
     },
-    getMonthDays(year,month){
-      var stratDate = new Date(year,month-1,1),
-          endData = new Date(year,month,1);
-      var days = (endData -stratDate)/(1000*60*60*24);
+    getMonthDays(year, month) {
+      var stratDate = new Date(year, month - 1, 1),
+        endData = new Date(year, month, 1);
+      var days = (endData - stratDate) / (1000 * 60 * 60 * 24);
       return days;
     },
     dailyFn(row) {
       this.$router.push({
-        path: "/VisitSummaryDetail",
-        query: {userSummaryId: row.userSummaryId,}
-      })
+        path: '/VisitSummaryDetail',
+        query: { userSummaryId: row.userSummaryId },
+      });
     },
     onClickLeft() {
-      this.$router.go(-1)
+      this.$router.go(-1);
     },
     StartTimeClick() {
       this.StartTimeShow = true;
@@ -241,26 +248,28 @@ export default {
       this.EndTimeShow = true;
     },
     onStartTimeConfirm(val) {
-      this.formData.startTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + ""
+      this.formData.startTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + '';
       this.StartTimeShow = false;
-      this.endminDate = new Date(val)
-      this.endmaxDate=new Date(this.GetPreMonthDay(this.formData.startTime,-2,"end"))
-      if((new Date(this.formData.startTime).getTime()>new Date(this.formData.endTime).getTime())||(new Date(this.endmaxDate).getTime()<new Date(this.formData.endTime).getTime())) {
-        this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + ""
-        this.endcurrentDate=  this.GetPreMonthDay(this.formData.startTime,-2)
+      this.endminDate = new Date(val);
+      this.endmaxDate = new Date(this.GetPreMonthDay(this.formData.startTime, -2, 'end'));
+      if (
+        new Date(this.formData.startTime).getTime() > new Date(this.formData.endTime).getTime() ||
+        new Date(this.endmaxDate).getTime() < new Date(this.formData.endTime).getTime()
+      ) {
+        this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + '';
+        this.endcurrentDate = this.GetPreMonthDay(this.formData.startTime, -2);
       }
-
     },
     onEndTimeConfirm(val) {
-      this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}')
-      this.strtmaxDate = new Date(val)
-      if(new Date(this.formData.startTime).getTime()>new Date(this.formData.endTime).getTime()){
-        this.formData.startTime=this.formData.endTime
+      this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}');
+      this.strtmaxDate = new Date(val);
+      if (new Date(this.formData.startTime).getTime() > new Date(this.formData.endTime).getTime()) {
+        this.formData.startTime = this.formData.endTime;
       }
       this.EndTimeShow = false;
     },
-  }
-}
+  },
+};
 </script>
 <style>
 .cardContent {
@@ -277,7 +286,7 @@ export default {
 
 .cardContent .title p {
   padding: 0;
-  margin: 0
+  margin: 0;
 }
 
 .cardContent .title .textLeft {
@@ -321,27 +330,45 @@ export default {
   color: #fff !important;
   background-color: #0057ba;
   border: 1px solid #0057ba;
-  height: 36px
+  height: 36px;
 }
 
 .contentpd16 .van-cell {
-  background-color: #EBF4FF;
+  background-color: #ebf4ff;
   margin: 8px 0;
   border-radius: 5px;
   padding: 4px 16px;
 }
-.elTreeTableLsiy  th.el-table__cell>.cell{text-align: center;}
-.elTreeTableLsiy td.el-table__cell div{
+.elTreeTableLsiy th.el-table__cell > .cell {
+  text-align: center;
+}
+.elTreeTableLsiy td.el-table__cell div {
   text-align: right;
 }
-.elTreeTableLsiy .el-table__cell{
+.elTreeTableLsiy .el-table__cell {
   padding: 2px 0;
 }
-.elTreeTableLsiy .el-table__cell:first-child .cell{
+.elTreeTableLsiy .el-table__cell:first-child .cell {
   text-align: center;
 }
-.contentpd16 .inputSearch .van-cell{
+.contentpd16 .inputSearch .van-cell {
   padding: 0;
   margin: 4px 0;
 }
-</style>
+</style>
+<style scoped lang="scss">
+.VisitSummaryMy {
+  .brud {
+    position: relative;
+  }
+  .approvalStatusBtn {
+    position: absolute;
+    bottom: 4px;
+    right: 1px;
+    .van-button {
+      border-radius: 5px;
+      width: 78px;
+    }
+  }
+}
+</style>

+ 12 - 10
src/views/week/allowWriteAgainSummary.vue

@@ -300,16 +300,18 @@ export default {
       );
     },
     numberFn(val, index) {
-      if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
-        this.collectionItemList[index].answerName = this.collectionItemList[
-          index
-        ].answerName.replace(
-          /\.\d{2,}$/,
-          this.collectionItemList[index].answerName.substr(
-            this.collectionItemList[index].answerName.indexOf('.'),
-            3
-          )
-        );
+      if (this.collectionItemList[index].answerName) {
+        if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
+          this.collectionItemList[index].answerName = this.collectionItemList[
+            index
+          ].answerName.replace(
+            /\.\d{2,}$/,
+            this.collectionItemList[index].answerName.substr(
+              this.collectionItemList[index].answerName.indexOf('.'),
+              3
+            )
+          );
+        }
       }
     },
     zSelectVal(value) {

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

@@ -1,6 +1,6 @@
 <template>
   <div class="componVisitSummary">
-    <van-form ref="tabstoreVal">
+    <van-form ref="tabstoreVal" v-if="collectionItemList">
       <div v-for="(item, index) in collectionItemList" :key="index">
         <div v-if="item.answerType == 'sz'" class="formLabel z-cell">
           <van-cell>
@@ -291,6 +291,7 @@ export default {
     };
   },
   created() {
+    debugger;
     this.formData.startTime = this.getThreeDaysAgo();
     this.strtcurrentDate = new Date(this.getThreeDaysAgo());
     this.formData.endTime = this.parseTime(new Date(), '{y}-{m}-{d}') + '';
@@ -337,16 +338,18 @@ export default {
       );
     },
     numberFn(val, index) {
-      if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
-        this.collectionItemList[index].answerName = this.collectionItemList[
-          index
-        ].answerName.replace(
-          /\.\d{2,}$/,
-          this.collectionItemList[index].answerName.substr(
-            this.collectionItemList[index].answerName.indexOf('.'),
-            3
-          )
-        );
+      if (this.collectionItemList[index].answerName) {
+        if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerName)) {
+          this.collectionItemList[index].answerName = this.collectionItemList[
+            index
+          ].answerName.replace(
+            /\.\d{2,}$/,
+            this.collectionItemList[index].answerName.substr(
+              this.collectionItemList[index].answerName.indexOf('.'),
+              3
+            )
+          );
+        }
       }
     },
     zSelectVal(value) {

+ 8 - 0
src/views/week/index.vue

@@ -224,6 +224,14 @@
               <template #icon>
                 <van-icon :name="history" class="zicon" />
               </template>
+              <template #title>
+                <span>家装推广会历史提报查询</span>
+                <span
+                  style="font-weight: 600; font-size: 16px; color: red; margin-left: 15px"
+                  v-if="summaryApprovalFeedbackNum"
+                  >({{ summaryApprovalFeedbackNum }})</span
+                >
+              </template>
             </van-cell>
           </div>
         </van-cell-group>