819527061@qq.com
2023-11-28 1c7b86f984498eab66968c8d9e9ece42634b96bb
pages/my-application/my-application.vue
@@ -48,7 +48,7 @@
    <!-- 我的申请卡片区域 -->
    <!-- <u-checkbox-group v-model="checkBoxValue" placement="column" @change="checkboxChange" style="margin-bottom:150px"> -->
    <combination-card v-for="(item, index) in shenqingData" index="index">
      <template v-slot:top>
        <template v-slot:top>
        <!-- <u-checkbox size="35" :key="item.id" :name="item.id"></u-checkbox> -->
        <view>
          <text>{{ item.title }}</text>
@@ -61,7 +61,7 @@
              <text>所属流程:{{ item.processName }}</text>
            </view>
            <view class="">
              <text>审批环节:{{ item.currTaskName }}</text>
              <text>审批环节:{{ item.currTaskName ||'' }}</text>
            </view>
          </view>
          <view class="center-content__two center-margin">
@@ -86,30 +86,38 @@
        <view class="bottom-container">
          <!-- 按钮区域 -->
          <view class="bottom-content__chulizhong bottom-content__item">
            <view @click="withDrawClick(item.id)" v-if="item.status == 1">
            <!-- <view @click="withDrawClick(item.procInstId)" v-if="item.status == 1">
              <image src="@/static/home/cehui.png" mode=""></image>
              <view>撤回</view>
            </view>
            <view @click="checkTheScheduleClick(item.procInstId)" v-if="item.status == 1">
            </view> -->
            <view @click="() => checkTheScheduleClick(item.procInstId)" v-if="item.status == 1">
              <image src="@/static/home/jindu.png" mode=""></image>
              <view>查看进度</view>
            </view>
            <view @click="theFormDataClick(item.tableId)" v-if="item.status == 1 || item.status == 2">
            <view @click="() => shenqingDetail(item)" v-if="item.actType == 'Offsetting' || item.actType == 'XsWaybill'">
              <image src="@/static/home/biaodan.png" mode=""></image>
              <view>申请详情</view>
            </view>
            <view v-if="item.status == 3" @click="apply(item)">
<!--            <view @click="() => shenqingDetail(item)" v-if="(item.status == 1 || item.status == 2 || item.status == 3 ) && (item.processName == '发运通知单')">-->
<!--              <image src="@/static/home/biaodan.png" mode=""></image>-->
<!--              <view>申请详情</view>-->
<!--            </view>-->
            <!-- <view v-if="item.status == 3" @click="apply(item)">
              <image src="@/static/home/history.png" mode=""></image>
              <view>重新申请</view>
            </view>
            <view v-if="item.status == 3" @click="editMyApplication(item)">
            </view> -->
            <!-- <view @click="editMyApplication(item)" v-if="item.status == 1 && item.processName == '发运通知单'">
              <image src="@/static/home/history.png" mode=""></image>
              <view>编辑</view>
            </view>
            </view> -->
            <view @click="approvalHistoryClick(item.procInstId)" v-if="item.status == 2 || item.status == 3">
              <image src="@/static/home/history.png" mode=""></image>
              <view>审批历史</view>
            </view>
                  <!-- <view @click="deleteWithDrawApplication(item.tableId)" v-if="item.status == 3">
                     <image src="@/static/home/delete.png" mode=""></image>
                     <view>删除</view>
                  </view> -->
          </view>
        </view>
      </template>
@@ -118,10 +126,11 @@
    <!-- 撤回模态框 -->
    <view class="wodeshenqingMotai">
      <u-modal width="684rpx" :show="withDrawShow" title="撤回原因" :showCancelButton="true" @confirm="withDrawConfirm"
      <u-modal width="684rpx" :show="withDrawShow" title="提示" :showCancelButton="true" @confirm="withDrawConfirm"
               @cancel="withDrawCancel">
        <view class="slot-content">
          <u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea>
          <!-- <u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea> -->
               <text>确认撤回该申请吗?</text>
        </view>
      </u-modal>
    </view>
@@ -139,9 +148,11 @@
    </view>
    <!--返回顶部-->
    <u-back-top :scroll-top="scrollTop"></u-back-top>
    <view class="back-top-container">
      <u-back-top :scroll-top="scrollTop" style="position:fixed;bottom:100px;right:100px;"></u-back-top>
    </view>
    <view class="" style="height:50px;">
    <view class="empty-placeH">
    </view>
@@ -191,8 +202,8 @@
      // 撤回模态框
      withDrawShow: false,
      withDrawData: {
        reason: '',
        id: '', // 撤回申请ID
        // reason: '',
        // id: '', // 撤回申请ID
        procInstId: ''
      },
      // 重新申请
@@ -299,6 +310,20 @@
    this.init();
  },
  methods: {
    shenqingDetail(item) { //跳转详情页面
      console.log(item,'item=====')
      if(item.actType == 'Offsetting') {  //收款 actType = ‘Offsetting’
        uni.navigateTo({
          url: `/pages/payment-form-data/payment-form-data?id=${item.tableId}`,
        })
      }else if(item.actType == 'XsWaybill') {
        uni.navigateTo({
          url: `/pages/new-application-form-data/new-application-form-data?id=${item.tableId}`
        })
      }
    },
    init() {
      this.myApplication.pageNumber = 1;
      this.loadingType = 0;
@@ -340,7 +365,7 @@
        // this.myApplication.pageNumber++; // 每触底一次 page +1
        if (this.myApplication.title || this.myApplication.status || this.myApplication.result || this.myApplication.startTime || this.myApplication.endTime) {
          if(this.myApplication.pageNumber == 1){
            this.shenqingData = response.data.records
            this.shenqingData = response.data.records;
          }else{
            this.shenqingData = this.shenqingData.concat(response.data.records);
          }
@@ -401,17 +426,12 @@
      this.init();
    },
    // 撤回模态框
    withDrawClick(id) {
    withDrawClick(procInstId) {
      this.withDrawShow = true;
      this.withDrawData.id = id;
      this.withDrawData.procInstId = procInstId;
    },
    withDrawConfirm() {
      this.shenqingData.forEach(i => {
        if (i.id == this.withDrawData.id) {
          this.withDrawData.procInstId = i.procInstId;
        }
      });
      this.$reqPost('withDraw', this.withDrawData, 'form').then(res => {
      this.$reqPost('cancel', this.withDrawData).then(res => {
        console.log('res', res);
        if (res.code == 0) {
          uni.showToast({
@@ -426,95 +446,86 @@
        this.getMoreNews();
      });
      console.log(this.withDrawId);
      if (this.withDrawData.reason.length >= 2) {
        console.log(this.withDrawData.reason);
      } else {
        uni.showToast({
          title: '请规范输入',
          duration: 2000
        });
      }
    },
    withDrawCancel() {
      this.withDrawShow = false;
    },
    apply(v) {
      if (!v.procDefId || v.procDefId == 'null') {
        this.$u.toast('流程定义为空');
        return;
      }
      this.form.id = v.id;
      this.form.procDefId = v.procDefId;
      this.form.title = v.title;
      // 加载审批人
      // this.userLoading = true;
      uni.showLoading({
        title: '审批人加载中'
      });
      // getFirstNode(v.procDefId).then((res) => {
      this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
        // this.userLoading = false;
        console.log('审批人', res);
        uni.hideLoading();
        if (res.data) {
          this.error = '';
          if (res.data.type == 3 || res.data.type == 4) {
            this.isGateway = true;
            this.form.firstGateway = true;
            this.showAssign = false;
            this.isCustom = false;
            return;
          }
          if (res.data.type == 5) {
            this.isCustom = true;
            this.isGateway = false;
            this.form.firstGateway = false;
            this.showAssign = false;
            return;
          }
          if (res.data.type == 1) {
            this.showAssign = true;
            this.isGateway = false;
            this.form.firstGateway = false;
            this.isCustom = false;
            if (res.data.users && res.data.users.length > 0) {
              this.assigneeList = res.data.users;
              // 默认勾选
              let ids = [];
              res.data.users.forEach(e => {
                ids.push(e.userId);
              });
              this.form.assignees = ids;
              this.showAssign = true;
              // 获取表单内容,重新创建申请
              this.$reqPost('apply', this.form, 'form').then(res => {
                console.log('重新提交申请', res);
                if (res.code == 0) {
                  uni.showToast({
                    title: res.data,
                    icon: 'success',
                    duration: 2000
                  });
                }
                // 初始化申请列表
                this.myApplication.pageNumber = 1;
                this.shenqingData = [];
                this.getMoreNews();
              })
            } else {
              this.form.assignees = [];
              this.showAssign = true;
              this.error = '请进入"流程管理"为审批节点分配候选审批人员';
            }
          }
        }
        console.log(this.form);
      });
    // apply(v) {
    //   if (!v.procDefId || v.procDefId == 'null') {
    //     this.$u.toast('流程定义为空');
    //     return;
    //   }
    //   this.form.id = v.id;
    //   this.form.procDefId = v.procDefId;
    //   this.form.title = v.title;
    //   // 加载审批人
    //   // this.userLoading = true;
    //   uni.showLoading({
    //     title: '审批人加载中'
    //   });
    //   // getFirstNode(v.procDefId).then((res) => {
    //   this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
    //     // this.userLoading = false;
    //     console.log('审批人', res);
    //     uni.hideLoading();
    //     if (res.data) {
    //       this.error = '';
    //       if (res.data.type == 3 || res.data.type == 4) {
    //         this.isGateway = true;
    //         this.form.firstGateway = true;
    //         this.showAssign = false;
    //         this.isCustom = false;
    //         return;
    //       }
    //       if (res.data.type == 5) {
    //         this.isCustom = true;
    //         this.isGateway = false;
    //         this.form.firstGateway = false;
    //         this.showAssign = false;
    //         return;
    //       }
    //       if (res.data.type == 1) {
    //         this.showAssign = true;
    //         this.isGateway = false;
    //         this.form.firstGateway = false;
    //         this.isCustom = false;
    //         if (res.data.users && res.data.users.length > 0) {
    //           this.assigneeList = res.data.users;
    //           // 默认勾选
    //           let ids = [];
    //           res.data.users.forEach(e => {
    //             ids.push(e.userId);
    //           });
    //           this.form.assignees = ids;
    //           this.showAssign = true;
    //           // 获取表单内容,重新创建申请
    //           this.$reqPost('apply', this.form, 'form').then(res => {
    //             console.log('重新提交申请', res);
    //             if (res.code == 0) {
    //               uni.showToast({
    //                 title: res.data,
    //                 icon: 'success',
    //                 duration: 2000
    //               });
    //             }
    //             // 初始化申请列表
    //             this.myApplication.pageNumber = 1;
    //             this.shenqingData = [];
    //             this.getMoreNews();
    //           })
    //         } else {
    //           this.form.assignees = [];
    //           this.showAssign = true;
    //           this.error = '请进入"流程管理"为审批节点分配候选审批人员';
    //         }
    //       }
    //     }
    //     console.log(this.form);
    //   });
      this.modalVisible = true;
      // }
    },
    //   this.modalVisible = true;
    //   // }
    // },
    // 修改申请
    editMyApplication(v) {
      console.log('修改申请');
@@ -553,6 +564,7 @@
    },
    // 查看进度
    checkTheScheduleClick(v) {
      console.log(v,'v====查看进度====')
      uni.navigateTo({
        url: `/pages/check-the-schedule/check-the-schedule?index=${v}`
      });
@@ -569,6 +581,14 @@
        url: `/pages/approval-history/approval-history?index=${v}`
      });
    },
      // 删除已撤回申请
      deleteWithDrawApplication(id){
         this.deleteWithDrawApplicationGlobal(id).then(res=>{
            console.log('shenqing,回显',res);
         }).catch(err=>{
            console.log('shenqing,删除错误');
         })
      },
    // 新增申请
    newApplicationClick() {
      uni.navigateTo({
@@ -786,6 +806,21 @@
    }
  }
  // 返回顶部
  .back-top-container{
    .u-transition{
      position:fixed;
      bottom:vww(80)!important;
      right:vww(20)!important;
    }
  }
   // 底部占位
   .empty-placeH{
      height:vww(50);
   }
  // 底部
  .bottomTabbar {
    position: fixed;