Pārlūkot izejas kodu

主管任务审批

zhujindu 6 mēneši atpakaļ
vecāks
revīzija
0d25ebf60b

+ 6 - 0
src/views/week/SUPTaskApproval/index.vue

@@ -64,6 +64,12 @@ export default {
           this.$toast(err.msg);
         });
     },
+    approveFn(row) {
+      this.$router.push({
+        path: '/VisitSummaryDetail',
+        query: { userSummaryId: row.userSummaryId },
+      });
+    },
   },
 };
 </script>

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

@@ -1,5 +1,5 @@
 <template>
-  <div class="bgcolor">
+  <div class="bgcolor VisitSummary">
     <!--        顶部条-->
     <van-nav-bar class="navBar" title="主管任务查询" left-arrow @click-left="onClickLeft" />
     <div class="container contentpd16">
@@ -39,6 +39,13 @@
             <van-field v-model="formData.summaryTaskName" placeholder="请输入任务名称" />
           </van-cell>
         </van-col>
+        <van-col span="24">
+          <van-cell
+            :title="approvalStatus.text"
+            is-link
+            @click="approvalStatusShow = true"
+            arrow-direction="down" />
+        </van-col>
       </van-row>
       <br />
       <van-button type="info" size="small" plain class="Btn100" @click="searchBtn">查找</van-button>
@@ -64,9 +71,15 @@
               <div class="title">
                 <p class="textLeft">{{ item.nickName }}的{{ item.summaryTaskName }}</p>
               </div>
+              <div class="info">部门:{{ item.deptName }}</div>
               <div class="info">提交时间:{{ item.createTime }}</div>
             </div>
           </van-cell>
+          <div class="approvalStatusBtn">
+            <van-button type="primary">主要按钮</van-button>
+            <!-- <van-button type="info">信息按钮</van-button>
+            <van-button color="red">危险按钮</van-button> -->
+          </div>
         </div>
         <van-empty v-if="list.length == 0" />
       </van-list>
@@ -126,6 +139,14 @@
         @confirm="onEndTimeConfirm"
         @cancel="EndTimeShow = false" />
     </van-popup>
+    <!-- approvalStatus:审批状态:1-待审批 2-审批通过 3-拒绝待提交 -->
+    <van-popup v-model="approvalStatusShow" capture position="bottom">
+      <van-picker
+        show-toolbar
+        :columns="approvalStatusList"
+        @confirm="onSalesApprovalStatus"
+        @cancel="approvalStatusShow = false" />
+    </van-popup>
   </div>
 </template>
 
@@ -178,9 +199,19 @@ export default {
         pageSize: 10, // 当前每页条数  int类型
       },
       tableList: [],
+      approvalStatusShow: false,
+      approvalStatusList: [
+        //1-待审批 2-审批通过 3-拒绝待提交
+        { text: '审批状态(全部)', value: '' },
+        { text: '待审批', value: '1' },
+        { text: '审批通过', value: '2' },
+        { text: '拒绝待提交', value: '3' },
+      ],
+      approvalStatus: {},
     };
   },
   created() {
+    this.approvalStatus = this.approvalStatusList[0];
     this.userList = [];
     this.formData.startTime = this.getThreeDaysAgo();
     // this.formData.startTime = this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'),2)
@@ -310,6 +341,7 @@ export default {
       this.formData.regionId = this.regionCode; // 大区id,必传  Long类型
       this.formData.deptId = this.deptCode; // 部门id,如果为周报或日报为必传  Long类型
       this.formData.userId = this.userCode; // 业务员id,如果为日报为必传      Long类型
+      this.formData.approvalStatus = this.approvalStatus.value; // 业务员id,如果为日报为必传      Long类型
       queryHistorySummaryList(this.formData).then((res) => {
         loading1.clear();
         if (res.code == 200) {
@@ -547,6 +579,10 @@ export default {
 
       this.EndTimeShow = false;
     },
+    onSalesApprovalStatus(val) {
+      this.approvalStatus = val;
+      this.approvalStatusShow = false;
+    },
   },
 };
 </script>
@@ -635,3 +671,15 @@ export default {
   margin: 4px 0;
 }
 </style>
+<style scoped lang="scss">
+.VisitSummary {
+  .brud {
+    position: relative;
+  }
+  .approvalStatusBtn {
+    position: absolute;
+    top: 10px;
+    right: 10px;
+  }
+}
+</style>

+ 5 - 1
src/views/week/VisitSummaryAdd.vue

@@ -423,7 +423,11 @@ export default {
         this.timer = setTimeout(() => {
           this.flagclick = true;
         }, 2000);
-        insertCustomAnswer(this.collectionItemList)
+        insertCustomAnswer({
+          userSummaryId: '', //	Long	用户总结id,如果为新增则不填,编辑则必填
+          summaryId: this.$route.query.summaryId, //Long	主管任务id
+          customItemList: this.collectionItemList, //List<Object>	答案列表
+        })
           .then((res) => {
             if (res.code == 200) {
               this.$router.go(-1);

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

@@ -46,6 +46,20 @@
         ref="componVisitSummary"></componVisitSummary>
     </div>
     <br />
+    <div class="approvalRemarh">
+      <div class="approvalLabel">审批意见</div>
+      <div class="remark">
+        <van-field
+          v-model="approvalMessage"
+          rows="3"
+          type="textarea"
+          placeholder="请输入审批意见" />
+      </div>
+    </div>
+    <div class="bottomBtn">
+      <van-button color="red" round @click="approvalStoreFun('Nopass')">拒绝</van-button>
+      <van-button type="primary" round @click="approvalStoreFun('pass')">通过</van-button>
+    </div>
     <div class="tc" style="padding: 0 16px" v-if="writeAgain">
       <van-button class="submitBtn" block type="info" color="#0057ba" @click="onSubmit">
         补填保存
@@ -96,6 +110,7 @@ export default {
       type: '-1',
       collectionItemLists: [],
       writeAgain: false,
+      approvalMessage: '',
       //
     };
   },
@@ -219,10 +234,38 @@ export default {
           this.$toast(err.msg);
         });
     },
+    approvalStoreFun(type) {
+      if (type == 'pass') {
+        for (var c = 0; c < this.collectionAnswerlisd.length; c++) {
+          for (var b = 0; b < this.collectionItemList.length; b++) {
+            if (this.collectionAnswerlisd[c].id == this.collectionItemList[b].customId) {
+              this.collectionItemList[b].customOptionList = this.collectionAnswerlisd[c].value;
+            }
+          }
+        }
+        if (this.flagclick) {
+          this.flagclick = false;
+          this.timer = null;
+          this.timer = setTimeout(() => {
+            this.flagclick = true;
+          }, 2000);
+          insertCustomAnswer({
+            userSummaryId: this.userSummaryId, //	Long	用户总结id,如果为新增则不填,编辑则必填
+            summaryId: this.summaryId, //Long	主管任务id
+            customItemList: this.collectionItemList, //List<Object>	答案列表
+          }).then((res) => {
+            if (res.code == 200) {
+              this.$router.go(-1);
+            }
+          });
+        }
+      } else {
+      }
+    },
   },
 };
 </script>
-<style scoped>
+<style scoped lang="scss">
 .container {
   background-color: white;
 }
@@ -271,6 +314,29 @@ export default {
   font-weight: initial;
   font-size: 14px;
 }
+.bottomBtn {
+  position: fixed;
+  bottom: 0;
+  z-index: 10;
+  height: 50px;
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-around;
+  .van-button {
+    /* flex: 1; */
+    width: 40%;
+  }
+}
+.approvalRemarh {
+  width: 94%;
+  margin: 0px auto;
+  border-radius: 6px;
+  .approvalLabel {
+    font-size: 14px;
+    padding: 5px 0;
+  }
+}
 </style>
 <style>
 .table-headermd {

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

@@ -190,6 +190,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>
             <van-cell
               title="主管任务审批"
@@ -275,6 +283,7 @@ export default {
       photoApprovalNum: 0,
       summaryApprovalButton: false,
       summaryPendingApprovalNum: 0,
+      summaryApprovalFeedbackNum: 0,
     };
   },
   watch: {
@@ -362,6 +371,7 @@ export default {
         this.thisWeekRemarkNum = res.data.thisWeekRemarkNum; //查询本周点评的数量,null不需要展示
         this.photoApprovalNum = res.data.photoApprovalNum; //首页照片异常待反馈数量
         this.summaryPendingApprovalNum = res.data.summaryPendingApprovalNum;
+        this.summaryApprovalFeedbackNum = res.data.summaryApprovalFeedbackNum;
         if (res.data.deptLevel === 0) {
           this.showDaily = false;
           this.showWeekly = false;