applyList.vue 8.31 KB
<template>
  <view>
    <view class="text-center whitebg" v-if="userType=='2'">
      <view class="cardNav">
        <view class="active">审核</view>
        <view @click="goMerge">合并</view>
        <view @click="goMergeUp">提交</view>
      </view>
    </view>
    <!--  团队会员审核 -->
    <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
                           styleType="text" activeColor="#AD181F"></uni-segmented-control>
    <view class="appList">
      <view class="vipData" v-if="userType == '1'" v-show="totalCost>0">
        <view>费用合计:
          <text>¥{{ totalCost.toFixed(2) }}</text>
        </view>
      </view>

      <view class="appItem" v-for="(item,index) in list" :key="index">
        <view class="status" @click="goDetail(item)">
          <text v-if="item.auditStatus == 0" class="text-primary">审核中</text>
          <text v-if="item.auditStatus == 1" class="text-success">审核通过</text>
          <text v-if="item.auditStatus == 2" class="text-danger">审核拒绝</text>
          <text v-if="item.auditStatus == 3" class="text-warning">审核撤回</text>
        </view>
        <view class="date">
          <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons>
          {{item.content.commitTime}} 提交</view>
        <view class="text-primary" @click="goDetail(item)" v-if="item.content?.wfCode">{{item.content?.wfCode}}</view>
        <view class="name w100 mt0" @click="goDetail(item)">
          <!-- <text class="dot"></text> -->
          {{item.content.certName}}</view>
        <view class="flexbox" @click="goDetail(item)">
          <view v-if="userType == '3'">
            所属省份
            <view>{{item.content.province}}</view>
          </view>
          <view v-if="userType == '2'">
            所属一级
            <view>{{item.content.firstDeptName}}</view>
          </view>
          <view v-if="userType == '2'">
            所属二级
            <view>{{item.content.secondDeptName}}</view>
          </view>
          <view>
            年限
            <view>{{item.content.renewYear}}</view>
          </view>
          <view v-if="deptType == 1">
            会员/新会员
            <view>{{item.content.allCount}}/<text class="text-danger">{{item.content.newCount}}</text>
            </view>
          </view>
          <view v-if="deptType == 1">
            费用合计
            <view> ¥{{ (item?.content?.allFee*1).toFixed(2) }}</view>
          </view>
        </view>
        <view class="func" v-if="(userType == '1'&&item.auditStatus == 0)">
          <button @click="audit(item.recordId,'0')">拒绝</button>
          <button @click="audit(item.recordId,'1')">同意</button>
        </view>
        <!-- 中跆协 -->
        <view class="func" v-if="(userType == '1'&&item.auditStatus == 1&&item.canTui==1)">
          <button @click="sendBack(item)">撤回</button>
        </view>
        <!-- 市 -->
        <view class="func" v-if="userType == '3'">
			<button @click="goGroupInfo(item)">机构资料</button>
          <button v-if="item.auditStatus == 1&&item.isView==1&&item.content.allCount > 0" @click="sendBack(item)">撤回</button>
		    <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button>
		    <button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button>
		  
		</view>
        <!-- 省 -->
        <view class="func" v-if="userType == '2'">
			<button @click="goGroupInfo(item)">机构资料</button>
			<button v-if="item.auditStatus == 1" @click="sendBack(item)">撤回</button>
			<button v-if="item.auditStatus == 0" @click="audit(item.recordId,'0')">拒绝</button>
			<button v-if="item.auditStatus == 0" @click="audit(item.recordId,'1')">同意</button>
        </view>
      </view>
    </view>

    <view class="nodata" v-if="list.length==0">
      <image mode="aspectFit" src="/static/nodata.png"></image>
      <text>暂无数据</text>
    </view>
    <!-- 		<view v-if="userType=='2'" class="block-btn-box">
			<button @click="goMerge" class="btn-red-kx">前往合并 > </button>
		</view> -->
  </view>
</template>

<script setup>
import * as api from '@/common/api.js'
import config from '@/config.js'
import {
  onMounted,
  ref
} from 'vue'
import {
  onLoad
} from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({
  // pageNum: 1,
  // pageSize: 10
  auditStatus: '0'
})
const navs = ref(['审核中', '审核通过', '审核拒绝', '撤回'])
const current = ref()
const list = ref([])
const total = ref(0)
const deptType = ref('')
const userType = ref('')
const totalCost = ref(0)
onLoad(() => {
  if (app.globalData.isLogin) {
    init()
  } else {

    app.firstLoadCallback = () => {
      init()
    };
  }
})

function init() {
  deptType.value = app.globalData.deptType
  userType.value = app.globalData.userType
  // console.log(userType.value)
  getList()
}

function onClickItem(e) {
  console.log(e)
  queryParams.value.auditStatus = e.currentIndex
  getList()
}

function getList() {
  uni.showLoading({
    title: '加载中'
  })
  if (deptType.value == 2 || deptType.value == 3) {
    // 省
    queryParams.value.mergeFlag = 0
  } else if (deptType.value == 1) {
    queryParams.value.noEmpty = 1
  } else if (deptType.value == 4 || deptType.value == 5) {
    queryParams.value.noEmpty = 1
  }
  totalCost.value = 0
  api.getGroupList(queryParams.value).then(res => {
    uni.hideLoading()
    list.value = res.rows
    list.value.forEach(item => {
      item.content = JSON.parse(item.content)
      // item.doc = JSON.parse(item.doc)	
      totalCost.value = totalCost.value + (item.content.allFee * 1)
    })
    total.value = res.total
  })
}

function audit(recordId, flag) {
  if (flag == '0') {
    // 拒绝
    // 弹出框填写理由
    uni.showModal({
      title: '请输入拒绝理由',
      editable: true,
      success: function(res) {
        if (res.confirm) {
          if (!res.content) {
            uni.showToast({
              title: '请输入拒绝理由',
              icon: 'none'
            })
          } else {
            doApproval(recordId, flag, res.content)
          }
        }
      }
    })
  } else if (flag == '1') {
    // 二次确认
    uni.showModal({
      title: '提示',
      content: `确定审批通过吗`,
      success: function(res) {
        if (res.confirm) {
          doApproval(recordId, flag)
        }
      }
    })
  }
}

function doApproval(recordId, flag, reason) {
  var obj = {
    flag: flag,
    reason: reason || '',
    recordIds: []
  }
  obj.recordIds.push(recordId)
  console.log(obj)
  api.groupAudit(obj).then((res) => {
    uni.showToast({
      title: '操作成功',
      icon: 'none'
    })
    getList()
  })
}

function goDetail(item) {
  const auditLog = encodeURIComponent(JSON.stringify(item.auditLog))
  const form = encodeURIComponent(JSON.stringify(item))

  if (userType.value == '1') {
    // 查看
    let path = `/group/apply/mergeUpDetail?form=${form}`
    uni.navigateTo({
      url: path
    });
  } else if (userType.value == '2' || userType.value == '3') {
    // 审核记录
    let path = `/group/apply/record?certId=${item.content.certId}`
    uni.navigateTo({
      url: path
    });
  }
}

function goMerge() {
  let path = `/group/apply/merge`
  uni.redirectTo({
    url: path
  });
}

function goMergeUp() {
  let path = `/group/apply/mergeUp`
  uni.redirectTo({
    url: path
  });
}

function sendBack(row) {
  uni.showModal({
    title: '提示',
    content: `确定撤回${row.content.certName}吗`,
    success: function(res) {
      if (res.confirm) {
        api.certifiedwithDraw({
          recordId: row.recordId,
          reason: row.reason
        }).then(res => {
          uni.showToast({
            title: '操作成功',
            icon: 'none'
          })
          getList()
        })

      }
    }
  })
}

	function goGroupInfo(row){
		uni.navigateTo({
			url: `/group/groupInfo?memId=${row.content?.memId}`
		})
	}
</script>

<style scoped>
	.mt0 {
		margin-top: 0 !important;
	}

	.appList .appItem .name {
		width: 80%;
		word-break: break-all;
	}
</style>