examView.vue 9.79 KB
<template>
  <div v-if="show">
    <el-dialog
      v-model="show" title="查看详情" class="dialog" :close-on-click-modal="true" width="80%"
      @close="close"
    >
      <h1 class="center">{{ form.content.name }}</h1>
      <el-row justify="space-between">
        <div v-if="form.content.commitTime">提交日期:<span>{{ form.content.commitTime }}</span> </div>
        <div>提交单位:<span>{{ form.content.memberName }}</span> </div>
      </el-row>
      <br>
      <div class="vipData">
        <div>人数合计:
          <span>{{ form.content.personCount }}</span>
        </div>
        <div>新会员合计:
          <span>{{ form.content.newPersonCount }}</span>
        </div>
        <div>续费合计人数:
          <span>{{ form.content.oldPersonCount }}</span>
        </div>
        <div v-if="(deptType==1||deptType==2||deptType==3)&&form.content.allFee ">费用合计:
          <span>{{ form.content.allFee }}</span>
        </div>
      </div>
      <br>
      <div>
        <el-form :inline="true" label-position="top" size="small">
          <el-row style="width: 100%;">
            <el-col :span="4">
              <el-form-item label="姓名"> 
                <el-input v-model="queryParams.name" placeholder="" style="width: 100%;" @keyup.enter="selectFN" />
              </el-form-item>       
            </el-col>
            <el-col :span="4">
              <el-form-item label="证件类型">
                <el-select v-model="queryParams.idcType" style="width: 100%;" @change="selectFN">
                  <!-- <el-option label="全部" value="" /> -->
                  <!-- <el-option label="身份证" value="0" />
                  <el-option label="护照" value="1" /> -->
                  <el-option v-for="item in cardType" :key="item.value" :hidden="item.value==2" :label="item.label" :value="item.value" />
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item label="证件号码">
                <el-input v-model="queryParams.idcCode" style="width: 100%;" placeholder="请输入" @keyup.enter="selectFN" />
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item label="缴费编号">
                <el-input v-model="queryParams.code" style="width: 100%;" placeholder="请输入" @keyup.enter="selectFN" />
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item label="单位">
                <el-input v-model="queryParams.dName" style="width: 100%;" placeholder="请输入" @keyup.enter="selectFN" />
              </el-form-item>
            </el-col>
          </el-row>
        </el-form>
        <el-row justify="space-between">
          <div>
            <el-button v-if="form.auditStatus==0&&deptType!=2" size="small" type="primary" @click="auditFn">审核</el-button>
            <!-- <el-button size="small" :icon="Download" type="warning" @click="exportData">导出</el-button> -->
          </div>
          <div>
            <el-button size="small" type="primary" @click="selectFN">查询</el-button>
            <el-button size="small" @click="rest">重置</el-button>
          </div>
        </el-row>
      </div>

      <br>
      <div>
        <el-table :data="list" max-height="600" border>
          <el-table-column type="index" width="55" align="center" label="序号" />
          <el-table-column label="姓名" align="center" prop="personName" min-width="100" />
          <el-table-column label="证件类型" align="center" prop="personIdcType" min-width="100">
            <template #default="scope">
              <!-- {{ scope.row.personIdcType=='0'?'身份证':'护照' }} -->
              <div> {{ cardType[scope.row.personIdcType]?.label }}</div>
            </template>
          </el-table-column>
          <el-table-column label="证件号码" align="center" prop="personIdcCode" min-width="170" />
          <el-table-column label="所属单位(团体会员)" align="center" prop="memberInfoName" min-width="140" />

          <el-table-column label="原有效期" align="center" prop="originValidityDate" min-width="100">
            <template #default="scope">
              <span v-if="scope.row.personIdcType==3">--</span>
              <span v-else>{{ scope.row.originValidityDate? parseTime(scope.row.originValidityDate, '{y}-{m}-{d}'):'/' }}</span>
            </template>
          </el-table-column>
          <!-- <el-table-column label="认证后有效期" align="center" prop="nowValidityDate" min-width="110">
            <template #default="scope">
              <span>{{ scope.row.nowValidityDate? parseTime(scope.row.nowValidityDate, '{y}-{m}-{d}'):'/' }}</span>
            </template>
          </el-table-column> -->
          <el-table-column v-if="deptType==1||deptType==2||deptType==3" label="单价" align="center" prop="unitPrice" min-width="100" />
          <el-table-column label="缴费年限" align="center" prop="payYear" min-width="100" />

          <el-table-column v-if="deptType==1||deptType==2||deptType==3" label="总价" align="center" prop="allPrice" min-width="100" />
          <el-table-column label="缴费编号" align="center" prop="" min-width="120">
            <template #default="props">
              <!-- <el-button style="margin: 0;" link type="primary" @click="orderFn(props.row)">{{ props.row.wfCode }}</el-button> -->
              {{ props.row.wfCode }}
            </template>
          </el-table-column>
          <!-- <el-table-column label="操作" align="center" prop="" min-width="100">
            <template #default="props">
              <el-button style="margin: 0;" link type="primary" @click="orderFn(props.row)">审核记录</el-button>
            </template>
          </el-table-column> -->
        </el-table>
        <pagination
          v-show="total > 0"
          v-model:page="queryParams.pageNum"
          v-model:limit="queryParams.pageSize"
          :total="total"
          @pagination="selectFN"
        />
      </div>
      <br>

      <!-- 审核记录 -->
      <h2>审核记录</h2>
      <el-table :data="auditList" max-height="300" border>
        <el-table-column type="index" width="55" align="center" label="序号" />
        <el-table-column label="审核协会" align="center" prop="handlerDeptName" />
        <el-table-column label="审核状态" align="center" prop="">
          <template #default="props">
            <div v-if="props.row.auditStatus==0">审核中</div>
            <div v-if="props.row.auditStatus==1" class="text-success">审核通过</div>
            <div v-if="props.row.auditStatus==2" class="text-danger">审核拒绝</div>
            <div v-if="props.row.auditStatus==3" class="text-warning">已撤回</div>
            <div v-if="props.row.auditStatus==100">审核中</div>
          </template>
        </el-table-column>
        <el-table-column label="审核时间" align="center" prop="">
          <template #default="props">
            {{ parseTime(props.row.handleDate, '{y}-{m}-{d} {h}:{i}') }}
          </template>
        </el-table-column>
        <el-table-column label="备注" align="center" prop="reason" />
      </el-table>
    </el-dialog>
    <DoDialog ref="DoAudit" @approval="approvalFN" />
    <orderDetail ref="orderDetailRef" />
  </div>
</template>

<script setup >
import { reactive } from '@vue/runtime-core'
import { toRefs, getCurrentInstance, computed, ref } from 'vue'
import { getDetailList } from '@/api/member/audit'
import DoDialog from '../cityAudit/do.vue'
import useUserStore from '@/store/modules/user'
import orderDetail from '@/views/member/cityAudit/orderDetail.vue'
import { getHistoryByRelateId } from '@/api/member/audit.js'

const deptType = computed(() => useUserStore().deptType)

const { proxy } = getCurrentInstance()
const emit = defineEmits(['approval'])
const data = reactive({
  show: false,
  form: {},
  list: [],
  queryParams: {
    pageNum: 1,
    pageSize: 10
  },
  auditList: [],
  rList: [],
  rInx: '',
  typeList: ['', '中跆协', '省协会', '直属协会', '市协会', '区协会', '道馆']
})
const { show, form, list, queryParams, auditList } = toRefs(data)
const id = ref()
const exam = null
const total = ref(0)
const cardType = ref([
  { label: '身份证', value: '0' },
  { label: '港澳台通行证 ', value: '1' },
  { label: '中国护照', value: '2' },
  { label: '外国护照', value: '3' },
  { label: '其它', value: '4' }
])

function open(params, row) {
  data.show = true
  show.value = true
  if (params) {
    form.value = params
    queryParams.value.recordId = params.recordId
    selectFN()
  }
}

// 查询
async function selectFN() {
  const res = await getDetailList(queryParams.value)
  if (res.code == 200) {
    list.value = res.rows
    total.value = res.total
    id.value = list.value?.[0]?.rangeId
    if (id.value) auditFN()
  }
}

// 审核记录
async function auditFN() {
  const res = await getHistoryByRelateId(id.value)
  auditList.value = res.data
}


// 重置
function rest() {
  queryParams.value = {
    recordId: form.value.recordId,
    pageNum: 1,
    pageSize: 10
  }
  selectFN()
}

function auditFn() {
  proxy.$refs['DoAudit'].open([form.value.recordId])
}

function approvalFN() {
  show.value = false
  form.value.auditStatus = 1
  close()
}

function close() {
  emit('approval', exam)
  show.value = false
  queryParams.value = {
    pageNum: 1,
    pageSize: 10
  }
  total.value = 0
}

defineExpose({
  open
})

</script>

<style lang="scss" scoped>
.center{
  text-align: center;
  margin-top: 0;
}
.flex{
  display: flex;
  // justify-content: space-between;
  font-size: 16px;

}

.x-flex{
  display: flex;
  font-size: 16px;
}
.el-button {
  margin-bottom: 18px;
}


.col-4{
  padding: 10px;
  text-align: center;
  font-size: 16px;
  border:1px solid #ebeef5
}

.first{
  background-color: #f8f8f9;
}


</style>