viewDetails.vue 6.35 KB
<template>
  <el-dialog
    v-model="showDialog"
    destroy-on-close
    title="查看详情"
    width="70%"
  >
    <el-row class="title" justify="space-between">
      <div>提交日期:{{ form.commitTime }}</div>
      <div>提交单位:{{ form.memName }}</div>
    </el-row>
    
    <div class="nav">
      <span>年限合计:<text>{{ form.renewYear }}</text></span>
      <span>费用合计:<text>{{ form.allPrice ?? 0 }}</text></span>
      <span>政策优惠:<text>{{ form.discount ? form.discount : '--' }}</text></span>
      <span>付款费用:<text>{{ form.finalPrice }}</text></span>
    </div>
    <br>
    <br>
    <div>
      <el-button
        v-if="deptType!=6&&showAudit"
        :disabled="deptType==1&&form.auditStatus!=1||deptType==2&&form.shenAuditStatus!=1" type="primary"
        @click="handelAudit"
      >审核
      </el-button>
    </div>
    <br>
    <br>
    <el-table
      :data="infoList" border style="width: 100%;"
    >
      <el-table-column align="center" label="序号" type="index" width="55" />
      <el-table-column align="center" label="缴费编号" min-width="120" prop="wfCode" show-overflow-tooltip />
      <el-table-column
        align="center" label="缴费单位" min-width="120"
        prop="memName" show-overflow-tooltip
      />
      <el-table-column
        align="center" label="所属协会" min-width="120"
        prop="shenMemName" show-overflow-tooltip
      />
      <el-table-column align="center" label="新会员" width="80">
        <template #default="{row}">
          {{ row.isNew == 1 ? '是' : "否" }}
        </template>
      </el-table-column>
      <el-table-column align="center" label="认证年限" width="100">
        <template #default="{row}">
          {{ row.renewYear ? row.renewYear + '年' : '--' }}
        </template>
      </el-table-column>
      <el-table-column align="center" label="费用合计" min-width="100" prop="allPrice" />
      <el-table-column align="center" label="政策优惠" min-width="100" prop="discount">
        <template #default="{row}">
          {{ row.discount ? row.discount : '--' }}
        </template>
      </el-table-column>
      <el-table-column align="center" label="付款费用" min-width="100" prop="finalPrice" />
      <el-table-column align="center" label="提交日期" width="100">
        <template #default="{row}">
          <span>{{ parseTime(row.commitTime, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
      <el-table-column align="center" label="审核日期" width="100">
        <template #default="{row}">
          <span>{{ parseTime(row.shenAuditTime, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
      <el-table-column align="center" label="协会信息" prop="auditStatus" width="100">
        <template #default="{row}">
          <span v-if="row.checkPass==0" class="text-danger">异常</span>
          <span v-else class="text-success">正常</span>
        </template>
      </el-table-column>
      
      <!--      <el-table-column label="审核状态" align="center" width="90" prop="auditStatus">-->
      <!--        <template #default="{row}">-->
      <!--          <div v-if="deptType==2">-->
      <!--            <div v-if="row.shenAuditStatus == 1">审核中</div>-->
      <!--            <div v-if="row.shenAuditStatus == 2" class="text-success">审核通过</div>-->
      <!--            <div v-if="row.shenAuditStatus == 3" class="text-danger">审核拒绝</div>-->
      <!--          </div>-->
      <!--          <div v-else>-->
      <!--            <div v-if="row.shenAuditStatus == 1">审核中</div>-->
      <!--            <div v-if="row.shenAuditStatus == 2" class="text-success">审核通过</div>-->
      <!--            <div v-if="row.shenAuditStatus == 3" class="text-danger">审核拒绝</div>-->
      <!--          </div>-->
      <!--        </template>-->
      <!--      </el-table-column>-->
      
      <el-table-column v-if="deptType!=6" align="center" fixed="right" label="操作" width="100">
        <template #default="{row}">
          <el-button type="warning" @click="handleInfo(row)">机构资料</el-button>
        </template>
      </el-table-column>
    </el-table>
    <br>
    <h3>审核记录</h3>
    <el-table :data="auditList" border max-height="300">
      <el-table-column align="center" label="序号" type="index" width="55" />
      <el-table-column align="center" label="审核协会" prop="auditDeptName" />
      <el-table-column align="center" label="审核状态" prop="">
        <template #default="{row}">
          <div v-if="row.auditResult==='9'">审核中</div>
          <div v-if="row.auditResult==='1'" class="text-success">审核通过</div>
          <div v-if="row.auditResult==='0'" class="text-danger">审核拒绝</div>
        </template>
      </el-table-column>
      <el-table-column align="center" label="审核时间" prop="">
        <template #default="{row}">
          {{ parseTime(row.auditTime, '{y}-{m}-{d} {h}:{i}') }}
        </template>
      </el-table-column>
      <el-table-column align="center" label="备注" prop="auditMsg" />
    </el-table>
  </el-dialog>
</template>

<script setup>
import { ref, computed } from 'vue'
import useUserStore from '@/store/modules/user'
import { getLogs } from '@/api/system/config'

const deptType = computed(() => useUserStore().deptType)
const emit = defineEmits(['handelInfo', 'handleAudit'])
const props = defineProps({
  showAudit: {
    type: Boolean,
    default: true
  }
})

const showDialog = ref(false)
const auditList = ref([])
const infoList = ref([])
const form = ref({})

function open(row) {
  showDialog.value = true
  form.value = row
  infoList.value = [row]
  if (row.auditLogs) auditList.value = JSON.parse(row.auditLogs)
  getAuditLogs()
}

function handelAudit() {
  emit('handleAudit', form.value)
}

function handleInfo(row) {
  emit('handelInfo', row)
}

function close() {
  showDialog.value = false
}

async function getAuditLogs() {
  if (!form.value.id) return
  const res = await getLogs(form.value.id)
  auditList.value = res.data
  console.log(res)
}

defineExpose({
  open,
  close
})

</script>

<style lang="scss" scoped>
.title {
  font-size: 16px;
}

.nav {
  background-color: #fddbe2;
  height: 40px;
  line-height: 40px;
  margin-top: 30px;
  font-size: 16px;
  
  span {
    margin: 0 30px;
    
    text {
      color: #db1111;
      font-weight: bold;
    }
  }
}
</style>