|
@@ -0,0 +1,399 @@
|
|
|
+<script setup>
|
|
|
+import { closeToast, showLoadingToast, showToast } from 'vant'
|
|
|
+import { download2 } from '~/request/request'
|
|
|
+import { userInfo } from '~/store/user'
|
|
|
+
|
|
|
+const { uo_type, user_id } = userInfo
|
|
|
+const isBureau = ref(false)// 当前用户是否局端
|
|
|
+isBureau.value = uo_type === '1'
|
|
|
+
|
|
|
+const { currentRoute } = useRouter()
|
|
|
+const route = currentRoute.value
|
|
|
+const jjmk_id = route.query.jjmk_id
|
|
|
+const detailData = ref({})
|
|
|
+
|
|
|
+const jjtj = ref({})
|
|
|
+const zbtj = ref({})
|
|
|
+
|
|
|
+function getData() {
|
|
|
+ showLoadingToast({
|
|
|
+ message: '加载中...',
|
|
|
+ forbidClick: true,
|
|
|
+ })
|
|
|
+ request({
|
|
|
+ url: '/jdbg/jsldgl_myjsjxkh_khhz/detail',
|
|
|
+ data: {
|
|
|
+ jjmk_id,
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ closeToast()
|
|
|
+ detailData.value = res.data.one_info
|
|
|
+
|
|
|
+ if (detailData.value.jjmkl_jjmkl_id_1 == 1)
|
|
|
+ jjtj.value = JSON.parse(res.data.one_info.jjmkl_jjtj_json)
|
|
|
+
|
|
|
+ else if (detailData.value.jjmkl_jjmkl_id_1 == 10)
|
|
|
+
|
|
|
+ zbtj.value = JSON.parse(res.data.one_info.jjmkl_zbdffj_json)
|
|
|
+ })
|
|
|
+}
|
|
|
+getData()
|
|
|
+
|
|
|
+function getFile(url, fileName) {
|
|
|
+ download2(url, null, fileName.split('.')[0])
|
|
|
+}
|
|
|
+
|
|
|
+const auditOptions10 = [{
|
|
|
+ v: '1',
|
|
|
+ n: '优秀',
|
|
|
+}, {
|
|
|
+ v: '3',
|
|
|
+ n: '良好',
|
|
|
+}, {
|
|
|
+ v: '4',
|
|
|
+ n: '合格',
|
|
|
+}, {
|
|
|
+ v: '5',
|
|
|
+ n: '不合格',
|
|
|
+}]
|
|
|
+const auditOptions1 = [{
|
|
|
+ v: '6',
|
|
|
+ n: '符合',
|
|
|
+}, {
|
|
|
+ v: '7',
|
|
|
+ n: '不符合',
|
|
|
+}]
|
|
|
+const auditchecked = ref('')
|
|
|
+const auditOptions = ref([])
|
|
|
+const auditDialogShow = ref(false)
|
|
|
+const jjmkl_jdshqk_clyj = ref('')
|
|
|
+let operaItem = {}
|
|
|
+function clickAudit(item) {
|
|
|
+ operaItem = item
|
|
|
+ auditchecked.value = ''
|
|
|
+ jjmkl_jdshqk_clyj.value = ''
|
|
|
+ if (item.jjmkl_jjmkl_id_1 == '10')
|
|
|
+ auditOptions.value = auditOptions10
|
|
|
+ else if (item.jjmkl_jjmkl_id_1 == '1')
|
|
|
+ auditOptions.value = auditOptions1
|
|
|
+
|
|
|
+ auditDialogShow.value = true
|
|
|
+}
|
|
|
+function beforeCloseDialog(action) {
|
|
|
+ if (action == 'confirm') {
|
|
|
+ if (auditchecked.value == '') {
|
|
|
+ showToast('请选择审核结果')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ else if ((auditchecked.value == '5' || auditchecked.value == '7') && jjmkl_jdshqk_clyj.value == '') {
|
|
|
+ showToast('请填写意见')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ dialogSubmit()
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+}
|
|
|
+function dialogSubmit() {
|
|
|
+ let transObj = {}
|
|
|
+ if (!isBureau.value) {
|
|
|
+ transObj = {
|
|
|
+ jjmk_id: operaItem.jjmk_id,
|
|
|
+ jjmkl_xdshqk: auditchecked.value,
|
|
|
+ jjmkl_xdshqk_clyj: jjmkl_jdshqk_clyj.value,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (isBureau.value) {
|
|
|
+ transObj = {
|
|
|
+ jjmk_id: operaItem.jjmk_id,
|
|
|
+ jjmkl_jdshqk: auditchecked.value,
|
|
|
+ jjmkl_jdshqk_clyj: jjmkl_jdshqk_clyj.value,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ showLoadingToast({
|
|
|
+ message: '提交中...',
|
|
|
+ forbidClick: true,
|
|
|
+ })
|
|
|
+ request({
|
|
|
+ url: '/jdbg/jsldgl_myjsjxkh_khhz/edit',
|
|
|
+ data: {
|
|
|
+ jjmk_id: transObj.jjmk_id,
|
|
|
+ jdbg_jsldgl_myjsjxkh_khhz: {
|
|
|
+ jjmkl_xdshqk: transObj.jjmkl_xdshqk,
|
|
|
+ jjmkl_xdshqk_clyj: transObj.jjmkl_xdshqk_clyj,
|
|
|
+ jjmkl_jdshqk: transObj.jjmkl_jdshqk,
|
|
|
+ jjmkl_jdshqk_clyj: transObj.jjmkl_jdshqk_clyj,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ closeToast()
|
|
|
+ if (res.code == 1) {
|
|
|
+ showToast(res.msg)
|
|
|
+ getData()
|
|
|
+ }
|
|
|
+
|
|
|
+ // listMyAuditFor.value = []
|
|
|
+ // pageMyAuditFor = 1
|
|
|
+ // onLoadMyAuditFor()
|
|
|
+ })
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="tableContainer">
|
|
|
+ <div class="topPart">
|
|
|
+ <table class="Tb" width="100%" cellspacing="0" cellpadding="0">
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 学校名称
|
|
|
+ </td>
|
|
|
+ <td>{{ detailData.jjmk_uo_name }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 姓名
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ {{ detailData.jjmk_xm }}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 考核类别
|
|
|
+ </td>
|
|
|
+ <td>{{ detailData.jjmkl_jjmkl_name_1 }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 名师类别
|
|
|
+ </td>
|
|
|
+ <td>{{ detailData.jjmkl_jjmkl_name_2 }}</td>
|
|
|
+ </tr>
|
|
|
+ <template v-if="detailData.jjmkl_jjmkl_id_1 == 1">
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 教学类别
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ detailData.jjmkl_jjmkl_name_3 }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tbody v-for="(item, index) in jjtj" :key="index" class="bg-hex-fffff9 border_bottom">
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 进阶条件
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.cate1 }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 内容
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.desc }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 附件
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <span style="color: #1A7AFD;" @click="getFile(item.file.url, item.file.name)">{{ item.file.name
|
|
|
+ }}</span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 申报表
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div v-for="f in detailData.jjmkl_sqb_file.split(';')" :key="f">
|
|
|
+ <span style="color: #1A7AFD;" @click="getFile(f.split('|')[0], f.split('|')[1])">
|
|
|
+ {{ f.split('|')[1]
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 量化表
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div v-for="f in detailData.jjmkl_lhb_file.split(';')" :key="f">
|
|
|
+ <span style="color: #1A7AFD;" @click="getFile(f.split('|')[0], f.split('|')[1])">
|
|
|
+ {{ f.split('|')[1]
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-else-if="detailData.jjmkl_jjmkl_id_1 == 10">
|
|
|
+ <tbody v-for="(item, index) in zbtj" :key="index" class="bg-hex-fffff9 border_bottom">
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 一级指标
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.cate1 }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 二级指标
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.cate2 }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 内容
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.desc }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 得分
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ item.score }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 附件
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <span style="color: #1A7AFD;" @click="getFile(item.file.url, item.file.name)">
|
|
|
+ {{ item.file.name
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 总分
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="specialTd">
|
|
|
+ {{ detailData.jjmkl_zbzf }}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </template>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 校端审核情况
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div v-if="detailData.jjmkl_xdshqk !== '2'">
|
|
|
+ <span
|
|
|
+ :class="{ 'text-red': detailData.jjmkl_xdshqk_option_n === '不合格' || detailData.jjmkl_xdshqk_option_n === '不符合' }"
|
|
|
+ >{{
|
|
|
+ detailData.jjmkl_xdshqk_option_n
|
|
|
+ }}</span>
|
|
|
+ <p v-if="detailData.jjmkl_xdshqk_option_n === '不合格' || detailData.jjmkl_xdshqk_option_n === '不符合'">
|
|
|
+ {{ detailData.jjmkl_xdshqk_clyj }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div v-if="detailData.jjmkl_xdshqk === '2' && !isBureau">
|
|
|
+ <van-button class="rightButton" type="primary" @click="clickAudit(detailData)">
|
|
|
+ 审核
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="titleOpt">
|
|
|
+ 局端审核情况
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div v-if="detailData.jjmkl_jdshqk !== '2'">
|
|
|
+ <span
|
|
|
+ :class="{ 'text-red': detailData.jjmkl_jdshqk_option_n === '不合格' || detailData.jjmkl_jdshqk_option_n === '不符合' }"
|
|
|
+ >{{
|
|
|
+ detailData.jjmkl_jdshqk_option_n
|
|
|
+ }}</span>
|
|
|
+ <p v-if="detailData.jjmkl_jdshqk_option_n === '不合格' || detailData.jjmkl_jdshqk_option_n === '不符合'">
|
|
|
+ {{ detailData.jjmkl_jdshqk_clyj }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div v-if="detailData.jjmkl_jdshqk === '2' && isBureau">
|
|
|
+ <van-button class="rightButton" type="primary" @click="clickAudit(detailData)">
|
|
|
+ 审核
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <van-dialog
|
|
|
+ v-model:show="auditDialogShow" title="审核" confirm-button-text="提交" show-cancel-button
|
|
|
+ :before-close="beforeCloseDialog"
|
|
|
+ >
|
|
|
+ <div class="dialogDiv">
|
|
|
+ <van-radio-group v-model="auditchecked">
|
|
|
+ <van-cell-group inset>
|
|
|
+ <van-cell v-for="item of auditOptions" :key="item" :title="item.n" clickable @click="auditchecked = item.v">
|
|
|
+ <template #right-icon>
|
|
|
+ <van-radio :name="item.v" />
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ </van-cell-group>
|
|
|
+ </van-radio-group>
|
|
|
+ <van-field
|
|
|
+ v-if="auditchecked === '5' || auditchecked === '7'" v-model="jjmkl_jdshqk_clyj" rows="3" autosize
|
|
|
+ type="textarea" placeholder="填写意见"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </van-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.border_bottom {
|
|
|
+ border-bottom: 2px solid #666;
|
|
|
+ border-top: 2px solid #666;
|
|
|
+}
|
|
|
+
|
|
|
+.text-red {
|
|
|
+ color: red;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.specialTd table tbody tr td) {
|
|
|
+ border: 1px #CCCCCC solid !important;
|
|
|
+}
|
|
|
+
|
|
|
+.rightButton {
|
|
|
+ height: 30px;
|
|
|
+}
|
|
|
+</style>
|