用户审核个人认证 云员工认证

main
lijingyu007 6 months ago
parent 193ff49ca9
commit ab4afcc1af
  1. 919
      src/views/system/ApplicationReview/index copy.vue
  2. 217
      src/views/system/ApplicationReview/index.vue
  3. 689
      src/views/system/ApplicationReview/indexold.vue

@ -0,0 +1,919 @@
<template>
<div class="container" style="padding: 30px !important">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="个人认证" name="first"></el-tab-pane>
<el-tab-pane label="企业认证" name="second"></el-tab-pane>
</el-tabs>
<el-table v-if="activeName == 'first'" v-loading="loading" :data="ApplicationReviewList">
<el-table-column label="用户编号" align="center" prop="userId" />
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="身份证号" align="center" prop="idNumber" />
<!-- <el-table-column label="所在城市" align="center" prop="city" />
<el-table-column label="个人技能" align="center" prop="testSkills" />
<el-table-column label="注册时间" align="center" prop="loginDate" width="180" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>-->
<el-table-column label="状态" align="center" prop="loginDate" width="180">
<template slot-scope="scope">
<span v-if="scope.row.status == 0" style="color: #e6a23c">未审核</span>
<span v-if="scope.row.status == 1" style="color: #67c23a">审核通过</span>
<el-tooltip class="item" effect="dark" :content="scope.row.auditOpinion" placement="top-start">
<span v-if="scope.row.status == 2" style="color: #f56c6c; cursor: pointer">审核未通过</span>
</el-tooltip>
</template>
</el-table-column>
<!-- <el-table-column label="现用户类型" align="center" prop="cur" />
<el-table-column label="申请认证类型" align="center" prop="apply" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate('see',scope.row)" v-hasPermi="['system:ApplicationReview:edit']" >查看详情</el-button> -->
<!-- <el-button v-if="scope.row.status!=1" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate('examine',scope.row)">审核</el-button> -->
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleUpdate('del', scope.row)"
>删除</el-button
>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate('senk', scope.row)"
>查看详情</el-button
>
</template>
</el-table-column>
</el-table>
<el-table v-if="activeName == 'second'" v-loading="loading" :data="companyApplyList">
<el-table-column label="公司编号" align="center" prop="applyId" />
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="公司名称" align="center" prop="companyDesc" />
<el-table-column label="状态" align="center" prop="loginDate" width="180">
<template slot-scope="scope">
<span v-if="scope.row.status == 0" style="color: #e6a23c">待审核</span>
<span v-if="scope.row.status == 1" style="color: #67c23a">审核通过</span>
<span v-if="scope.row.status == 2" style="color: #f56c6c; cursor: pointer">审核未通过</span>
<!-- <el-tooltip class="item" effect="dark" :content="scope.row.auditOpinion" placement="top-start">
<span v-if="scope.row.status == 2" style="color: #f56c6c; cursor: pointer">审核未通过</span>
</el-tooltip> -->
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button v-if="scope.row.status != 1" size="mini" type="text" icon="el-icon-delete" @click="companyApplyFn(scope.row)"
>审核</el-button
>
<el-button size="mini" type="text" icon="el-icon-delete" @click="companyDelete(scope.row.applyId)"
>删除</el-button
>
<el-button size="mini" type="text" icon="el-icon-view" @click="opencompanyDetail(scope.row.applyId)"
>查看详情</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-if="activeName == 'first'"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination
v-if="activeName == 'second'"
v-show="total1 > 0"
:total="total1"
:page.sync="queryParams1.pageNum"
:limit.sync="queryParams1.pageSize"
@pagination="getCompanyList"
/>
<!-- 申请审核对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<!-- 认证公司 -->
<el-form v-if="companyApply" :model="companyApply" label-width="200px">
<el-form-item label="公司名称" prop="name" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.name" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="统一信用代码" prop="creditCode" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.creditCode" placeholder="请输入统一信用代码" />
</el-form-item>
<el-form-item label="通讯地址" prop="address" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.address" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="网址" prop="webSite" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.webSite" placeholder="请输入网址" />
</el-form-item>
<el-form-item label="营业执照" prop="filePath" v-if="cA || tAcA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="companyApply.businessLicenseUrl"
:serverAddr="materialServerAddr"
fileName="营业执照"
:limit="1"
/> -->
<AuthImg :authSrc="companyApply.businessLicenseUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item label="认证公司补充材料" prop="filePath" v-if="cA || tAcA">
<multifile-link
v-if="allFileGetFlag"
v-model="companyApply.otherCQList"
:serverAddr="materialServerAddr"
fileName="认证公司补充材料"
:limit="10"
/>
</el-form-item>
<el-form-item label="公司简介" prop="companyDesc" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.companyDesc" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="联系人姓名" prop="contactName" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.contactName" placeholder="请输入联系人姓名" />
</el-form-item>
<el-form-item label="联系人职位" prop="contactPosition" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.contactPosition" placeholder="请输入联系人职位" />
</el-form-item>
</el-form>
<!-- 测试者 p2pt p2ct c2ct 三合一 -->
<el-form v-if="testerApply" :model="testerApply" label-width="200px">
<el-form-item label="真实姓名" prop="name" v-if="tA">
<el-input readonly v-model="testerApply.name" placeholder="请输入真实姓名" />
</el-form-item>
<el-form-item label="所在城市" prop="city" v-if="tA">
<el-input readonly v-model="testerApply.city" placeholder="请输入所在城市" />
</el-form-item>
<el-form-item label="身份证号码" prop="idNumber" v-if="tA">
<el-input readonly v-model="testerApply.idNumber" placeholder="请输入身份证号码" />
</el-form-item>
<el-form-item label="身份证正面" prop="filePath" v-if="tA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="testerApply.idCardFrontUrl"
:serverAddr="materialServerAddr"
fileName="身份证正面"
:limit="1"
/> -->
<AuthImg :authSrc="testerApply.idCardFrontUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item label="身份证反面" prop="filePath" v-if="tA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="testerApply.idCardBackUrl"
:serverAddr="materialServerAddr"
fileName="身份证反面"
:limit="1"
/> -->
<AuthImg :authSrc="testerApply.idCardBackUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item label="测试能力" prop="testSkills" v-if="tA">
<el-input readonly v-model="testerApply.testSkills" type="textarea" placeholder="请输入内容" />
<el-popover placement="top-start" title="示例:" width="400" trigger="hover">
<span>性能测试LoadRunner, Jmeter自动化测试Selenium</span>
<el-link slot="reference" style="color: #46a6ff">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="奖项和证书" prop="certificate" v-if="tA">
<el-input readonly v-model="testerApply.certificate" type="textarea" placeholder="请输入内容" />
<el-popover placement="top-start" title="示例:" width="570" trigger="hover">
<span
>STQB认证软件测试工程师<br />国家软考认证软件评测师<br />或国家等级考试软件测试工程师证书
<br />
2019年全国大学生软件测试大赛二等奖
</span>
<el-link slot="reference" style="color: #46a6ff">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="工作经历" prop="workExperience" v-if="tA">
<el-input readonly v-model="testerApply.workExperience" type="textarea" placeholder="请输入内容" />
<el-popover placement="top-start" title="示例:" width="570" trigger="hover">
<span
>2017.5-2021.7 西安未央软件有限公司 软件测试工程师<br />
2013.9-2017.4. 西安大唐软件有限公司 软件测试工程师<br />
2009.9-2013.7 西安电子科技大学 软件工程专业 本科
</span>
<el-link slot="reference" style="color: #46a6ff">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="测试项目案例" prop="testProjects" v-if="tA || tAcA || c2ct">
<el-input readonly v-model="testerApply.testProjects" type="textarea" placeholder="请输入内容" />
<el-popover placement="top-start" title="示例:" width="530" trigger="hover">
<span
>2021 航空仿真软件单元测试<br />
2020 企业供应链管理平台安全测试<br />
2020 B2C的电商平台系统前后台会员管理订单支付及后台订单处理相关模块测试
</span>
<el-link slot="reference" style="color: #46a6ff">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="其它补充材料" prop="filePath" v-if="tA || tAcA || c2ct">
<multifile-link
v-if="allFileGetFlag"
v-model="testerApply.otherTQList"
:serverAddr="materialServerAddr"
fileName="其它补充材料"
:limit="10"
/>
</el-form-item>
<el-form-item label="补充说明" prop="otherInfo" v-if="tAcA || c2ct">
<el-input readonly v-model="testerApply.otherInfo" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitPass">审核通过</el-button>
<el-button type="primary" @click="submitUnpass">审核不通过</el-button>
</div>
</el-dialog>
<!-- 添加或修改企业认证申请对话框 -->
<el-dialog :title="title" :visible.sync="unpassOpen" width="500px" append-to-body class="certclas">
<el-form ref="examform" :model="examform" :rules="rules" label-width="80px">
<el-form-item label="姓名" prop="name">
<el-input v-model="examform.name" disabled placeholder="请输入内容" />
</el-form-item>
<el-form-item label="身份证号" prop="idNumber">
<el-input v-model="examform.idNumber" disabled placeholder="请输入内容" />
</el-form-item>
<!-- <el-form-item label="所在城市" prop="city">
<el-input v-model="examform.city" disabled placeholder="请输入内容" />
</el-form-item>
<el-form-item label="个人技能" prop="testSkills">
<el-input v-model="examform.testSkills" disabled placeholder="请输入内容" />
</el-form-item>
<el-form-item label="技能证书" prop="certificateUrl">
<el-image v-if="examform.certificateUrl" :z-index="9999" style="width:150px;height:150px;z-index:1000" :src="examform.certificateUrl" :preview-src-list="srcList">
</el-image>
<p v-else>未上传</p>
</el-form-item>
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="examform.workExperience" disabled type="textarea" placeholder="请输入内容" />
</el-form-item> -->
<el-form-item v-if="title != '查看认证信息'" label="审核结果" prop="status">
<el-select v-model="examform.status" style="width: 380px">
<el-option label="未审核" value="0">未审核</el-option>
<el-option label="审核通过" value="1">审核通过</el-option>
<el-option label="审核不通过" value="2">审核不通过</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="examform.status == 2" label="审核意见" prop="auditOpinion">
<el-input v-model="examform.auditOpinion" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div v-if="title != '查看认证信息'" slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
<div v-else slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel">关闭</el-button>
</div>
</el-dialog>
<!-- 公司审核详情 -->
<el-dialog
:title="companyDetailInfo.name + '认证详情'"
:visible.sync="companyOpen"
width="1000px"
append-to-body
>
<div>认证人{{companyDetailInfo.contact_name}}</div>
<img :src="baseTarget + companyDetailInfo.businessLicenseUrl" style="width: 100%" alt="" />
</el-dialog>
<!-- 公司审核 -->
<el-dialog title="认证审核" :visible.sync="companyApplyOpen" width="500px" append-to-body>
<el-form :rules="companyApplyFormRules" ref="companyApplyForm" label-width="80px" :model="companyApplyForm">
<el-form-item label="状态" prop="status">
<el-select v-model="companyApplyForm.status" placeholder="请选择审核结果">
<el-option label="通过" value="1"></el-option>
<el-option label="不通过" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="意见" prop="auditOpinion">
<el-input v-model="companyApplyForm.auditOpinion" placeholder="请输入咨询内容"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="companyApplySubmit"> </el-button>
<el-button size="mini" @click="companyApplyCancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listApplicationReview,
delApplicationReview,
addApplicationReview,
updateApplicationReview,
exportApplicationReview,
listtestercert,
gettestercert,
deltestercert,
updatetestercert,
companyList,
companyDetail,
companyDelete,
companyApplyPost,
} from '@/api/system/ApplicationReview'
import { getUnauditInfo, changeAllStatusOnce, user_status, apple_type } from '@/api/system/user'
import { changeCAStatus } from '@/api/tester/CompanyApply'
import { changeTAStatus } from '@/api/tester/TesterApply'
import MultifileLink from '@/views/components/MultifileLink'
import AuthImg from '@/views/components/AuthImg'
export default {
name: 'ApplicationReview',
components: {
MultifileLink,
AuthImg,
},
data() {
return {
//
companyOpen: false,
companyApplyOpen: false,
// newmodel
activeName: 'first',
companyApplyList: [],
srcList: [],
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
total1: 0,
//
ApplicationReviewList: [],
//
title: '',
//
open: false,
unpassOpen: false,
//
daterangeLoginDate: [],
//
daterangeCreateTime: [],
//
daterangeUpdateTime: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
deptId: null,
userName: null,
nickName: null,
userType: null,
email: null,
phonenumber: null,
sex: null,
avatar: null,
password: null,
status: null,
loginIp: null,
loginDate: null,
companyStatus: null,
testerStatus: null,
},
queryParams1: {
pageNum: 1,
pageSize: 10,
},
//
testerApply: {},
companyApply: {},
examform: {
auditOpinion: '',
auditorId: '',
status: '',
applyId: '',
name: '',
idNumber: '',
city: '',
certificateUrl: '',
testSkills: '',
workExperience: '',
},
//
rules: {
// auditOpinion: [{ required: true, message: "", trigger: "blur" },],
status: [{ required: true, message: '请选择审核结果', trigger: 'blur' }],
},
materialServerAddr: '',
allFileGetFlag: false,
cA: false,
tA: false,
tAcA: false,
c2ct: false,
companyDetailInfo: {},
baseTarget: process.env.VUE_APP_BASE_TARGET,
companyApplyForm: {},
companyApplyFormRules: {
status: [{ required: true, message: '请选择审核结果', trigger: 'blur' }],
},
}
},
created() {
this.getList()
this.getClientConfigKey('material.server').then((response) => {
this.materialServerAddr = response.msg
})
},
methods: {
//
companyApplyFn(row) {
this.companyApplyForm.applyId = row.applyId
this.companyApplyForm.userId = row.userId
this.companyApplyOpen = true
},
//
companyApplySubmit() {
this.$refs['companyApplyForm'].validate((valid) => {
if (valid) {
this.companyApplyForm.userId =
companyApplyPost(this.companyApplyForm).then(res => {
console.log(res);
if (res.code == 200)
{
this.$message.success('审核成功')
this.companyApplyCancel()
this.getCompanyList()
}
})
}
})
},
companyApplyCancel() {
this.companyApplyForm = {}
this.companyApplyOpen = false
},
//
//
companyDelete(id) {
this.$confirm('是否确认删除编号为"' + id + '"的数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(function () {
return companyDelete(id)
})
.then(() => {
this.getCompanyList()
this.msgSuccess('删除成功')
})
},
//
opencompanyDetail(id) {
companyDetail(id).then((res) => {
this.companyDetailInfo = res.data
this.companyOpen = true
})
},
// tab
handleClick(val) {
this.activeName = val.name
if (this.activeName == 'first') {
this.getList()
} else {
this.getCompanyList()
}
},
//
getCompanyList() {
this.loading = true
companyList(this.queryParams1)
.then((res) => {
this.loading = false
this.total1 = res.total
this.companyApplyList = res.rows
})
.catch((error) => {
this.loading = false
})
},
/** 查询个人申请审核列表 */
getList() {
this.loading = true
this.queryParams.params = {}
// if (null != this.daterangeLoginDate && "" != this.daterangeLoginDate) {
// this.queryParams.params["beginLoginDate"] = this.daterangeLoginDate[0];
// this.queryParams.params["endLoginDate"] = this.daterangeLoginDate[1];
// }
// if (null != this.daterangeCreateTime && "" != this.daterangeCreateTime) {
// this.queryParams.params["beginCreateTime"] =
// this.daterangeCreateTime[0];
// this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
// }
// if (null != this.daterangeUpdateTime && "" != this.daterangeUpdateTime) {
// this.queryParams.params["beginUpdateTime"] =
// this.daterangeUpdateTime[0];
// this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
// }
listtestercert(this.queryParams).then((response) => {
// console.log('',response)
this.ApplicationReviewList = this.makeApplyStatus(response.rows)
this.total = response.total
this.loading = false
})
},
makeApplyStatus(responseRows) {
if (responseRows && responseRows.length > 0) {
var newArr = responseRows.map(function (item, idnex) {
var cS = item.companyStatus
var tS = item.testerStatus
var result = 0
/***
*
*n: [0, '普通用户'],
*c: [1, '公司用户'],
*pt: [2, '个人测试者用户'],
*ct: [3, '测试公司用户'],
*/
if (cS == 2) {
if (tS == 2) {
result = 3
} else {
result = 1
}
} else {
if (tS == 2) {
result = 2
} else {
result = 0
}
}
item.cur = user_status.getDescFromValue(result)
item.userStatus = result
/***
* 申请
* 0 p2c
* 1 p2pt
* 2 p2ct
* 3 c2ct
* 或更新
* 4 更新公司 uc
* 5 更新测试公司 uct
* 6 更新个人测试者 upt
*/
if (cS == 2) {
if (tS == 2) {
result = 5 //uct
} else if (tS == 1) {
result = 3 //c2ct
} else {
result = 4 //uc
}
} else if (cS == 1) {
if (tS == 2) {
//
} else if (tS == 1) {
result = 2 //p2ct
} else {
result = 0 //p2c
}
} else {
if (tS == 2) {
result = 6 //upt
} else if (tS == 1) {
result = 1 //p2pt
} else {
//
}
}
// console.log(apple_type.upt);
// console.log(apple_type.getDesc('upt'));
// console.log(apple_type.getDescFromValue(apple_type.upt));
item.apply = apple_type.getDescFromValue(result)
item.appleType = result
return item
})
return newArr
} else {
return responseRows
}
},
//
cancel() {
this.unpassOpen = false
this.reset()
},
//
reset() {
this.examform = {
// auditOpinion: null,
}
this.resetForm('examform')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeLoginDate = []
this.daterangeCreateTime = []
this.daterangeUpdateTime = []
this.resetForm('queryForm')
this.handleQuery()
},
// //
// handleSelectionChange(selection) {
// this.ids = selection.map((item) => item.userId);
// this.single = selection.length !== 1;
// this.multiple = !selection.length;
// },
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加申请审核'
},
/** 审核按钮操作 */
handleUpdate(type, row) {
this.reset()
if (type == 'see') {
const userId = row.userId || this.ids
this.allFileGetFlag = false
this.open = false
const userStatus = row.userStatus
const appleType = row.appleType
this.tAcA = false //p2ct
this.tA = false //p2pt
this.c2ct = false //c2ct
this.cA = false //p2c
getUnauditInfo(userId).then((response) => {
if (response.testerApply) {
if (response.companyApply) {
//??? p2ct
this.tAcA = true
} else {
if (
userStatus &&
appleType &&
userStatus == user_status.c &&
appleType == apple_type.c2ct
) {
//c2ct
this.c2ct = true
} else {
//p2pt
this.tA = true
}
}
} else {
if (response.companyApply) {
//??? p2c
this.cA = true
}
}
if (response.testerApply) {
this.testerApply = response.testerApply
} else {
this.testerApply = {
applyId: null,
name: null,
city: null,
idNumber: null,
testSkills: null,
testProjects: null,
workExperience: null,
certificate: null,
createTime: null,
updateTime: null,
idCardFrontUrl: [],
idCardBackUrl: [],
otherTQList: [],
otherInfo: null,
}
}
if (response.companyApply) {
this.companyApply = response.companyApply
} else {
this.companyApply = {
applyId: null,
name: null,
creditCode: null,
address: null,
webSite: null,
companyDesc: null,
contactName: null,
contactPosition: null,
createTime: null,
updateTime: null,
businessLicenseUrl: [],
otherCQList: [],
}
}
this.allFileGetFlag = true
this.open = true
this.title = '申请审核'
})
} else if (type == 'del') {
this.$confirm('确定删除当前认证审核吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
deltestercert(row.applyId).then((res) => {
this.$message.success('删除成功')
this.getList()
})
})
} else if (type == 'senk') {
this.title = '查看认证信息'
this.unpassOpen = true
let {
applyId,
name,
idNumber,
city,
certificateUrl,
testSkills,
workExperience,
status,
auditOpinion,
} = row
this.srcList.push(certificateUrl)
this.examform = {
applyId,
name,
idNumber,
city,
certificateUrl,
testSkills,
workExperience,
status: status + '',
auditOpinion,
}
} else {
console.log('row--', row)
this.unpassOpen = true
let {
applyId,
name,
idNumber,
city,
certificateUrl,
testSkills,
workExperience,
status,
auditOpinion,
} = row
this.examform = {
applyId,
name,
idNumber,
city,
certificateUrl,
testSkills,
workExperience,
status: status + '',
auditOpinion,
}
this.title = '审核实名认证'
this.srcList.push(certificateUrl)
}
},
/** 审核通过 */
submitPass() {
if (this.tAcA) {
this.testerApply.remark = '' + this.companyApply.applyId
this.testerApply.status = 1
this.doPostApplyMethod(changeAllStatusOnce, this.testerApply)
}
if (this.tA || this.c2ct) {
this.testerApply.status = 1
this.doPostApplyMethod(changeTAStatus, this.testerApply)
}
if (this.cA) {
this.companyApply.status = 1
this.doPostApplyMethod(changeCAStatus, this.companyApply)
}
},
/** 审核不通过 */
/** 审核的确定 */
submitForm() {
if (!this.examform.status) {
this.$message.warning('请选择审核结果')
return
}
if (this.examform.status == 2) {
if (!this.examform.auditOpinion) {
this.$message.warning('请输入审核意见')
return
}
}
let data = {
applyId: this.examform.applyId,
status: parseInt(this.examform.status),
// auditorId: this.examform.auditorId,
auditOpinion: this.examform.auditOpinion,
}
console.log('data---', data)
// return;
updatetestercert(data).then((res) => {
console.log('data---', res.data.code)
if (res.data.code == 200) {
// console.log('111---',res.data)
this.$message.success('审核完成')
this.getList()
this.unpassOpen = false
} else {
// console.log('222---',res.data)
if (res.data.msg) {
this.$message.error(res.data.msg)
} else {
this.$message.success('审核完成')
}
this.unpassOpen = false
}
})
return
this.$refs['examform'].validate((valid) => {
if (valid) {
if (this.tAcA) {
this.testerApply.remark = '' + this.companyApply.applyId
this.testerApply.status = 2
this.testerApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeAllStatusOnce, this.testerApply)
}
if (this.tA || this.c2ct) {
this.testerApply.status = 2
this.testerApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeTAStatus, this.testerApply)
}
if (this.cA) {
this.companyApply.status = 2
this.companyApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeCAStatus, this.companyApply)
}
}
})
},
/** 审核不通过 */
submitUnpass() {
this.unpassOpen = true
},
doPostApplyMethod(methodPost, aData) {
// if (this.unpassOpen) {
// aData.auditOpinion = this.form.auditOpinion;
// }
methodPost(aData).then((response) => {
this.open = false
this.unpassOpen = false
this.getList()
})
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$confirm('是否确认删除申请审核编号为"' + userIds + '"的数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(function () {
return delApplicationReview(userIds)
})
.then(() => {
this.getList()
this.msgSuccess('删除成功')
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams
this.$confirm('是否确认导出所有申请审核数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(function () {
return exportApplicationReview(queryParams)
})
.then((response) => {
this.download(response.msg)
})
},
},
}
</script>
<style scoped>
.certclas >>> .el-textarea.is-disabled .el-textarea__inner,
.certclas >>> .el-input.is-disabled .el-input__inner {
background-color: transparent;
color: #606266;
}
</style>

@ -9,29 +9,27 @@
<el-table-column label="用户编号" align="center" prop="userId" /> <el-table-column label="用户编号" align="center" prop="userId" />
<el-table-column label="姓名" align="center" prop="name" /> <el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="身份证号" align="center" prop="idNumber" /> <el-table-column label="身份证号" align="center" prop="idNumber" />
<!-- <el-table-column label="所在城市" align="center" prop="city" />
<el-table-column label="个人技能" align="center" prop="testSkills" />
<el-table-column label="注册时间" align="center" prop="loginDate" width="180" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>-->
<el-table-column label="状态" align="center" prop="loginDate" width="180"> <el-table-column label="状态" align="center" prop="loginDate" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status == 0" style="color: #e6a23c">未审核</span> <span v-if="scope.row.status == 0" style="color: #e6a23c">未审核</span>
<span v-if="scope.row.status == 1" style="color: #67c23a">审核通过</span> <span v-if="scope.row.status == 1" style="color: #0952c8">待审核</span>
<span v-if="scope.row.status == 2" style="color: #67c23a">审核通过</span>
<el-tooltip class="item" effect="dark" :content="scope.row.auditOpinion" placement="top-start"> <el-tooltip class="item" effect="dark" :content="scope.row.auditOpinion" placement="top-start">
<span v-if="scope.row.status == 2" style="color: #f56c6c; cursor: pointer">审核未通过</span> <span v-if="scope.row.status == 3" style="color: #f56c6c; cursor: pointer">审核未通过</span>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="现用户类型" align="center" prop="cur" />
<el-table-column label="申请认证类型" align="center" prop="apply" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate('see',scope.row)" v-hasPermi="['system:ApplicationReview:edit']" >查看详情</el-button> --> <!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate('see',scope.row)" v-hasPermi="['system:ApplicationReview:edit']" >查看详情</el-button> -->
<!-- <el-button v-if="scope.row.status!=1" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate('examine',scope.row)">审核</el-button> --> <el-button
v-if="scope.row.status == 1 || scope.row.status == 3"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate('examine', scope.row)"
>审核</el-button
>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleUpdate('del', scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleUpdate('del', scope.row)"
>删除</el-button >删除</el-button
> >
@ -58,7 +56,12 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status != 1" size="mini" type="text" icon="el-icon-delete" @click="companyApplyFn(scope.row)" <el-button
v-if="scope.row.status != 1"
size="mini"
type="text"
icon="el-icon-delete"
@click="companyApplyFn(scope.row)"
>审核</el-button >审核</el-button
> >
<el-button size="mini" type="text" icon="el-icon-delete" @click="companyDelete(scope.row.applyId)" <el-button size="mini" type="text" icon="el-icon-delete" @click="companyDelete(scope.row.applyId)"
@ -233,28 +236,13 @@
<el-form-item label="身份证号" prop="idNumber"> <el-form-item label="身份证号" prop="idNumber">
<el-input v-model="examform.idNumber" disabled placeholder="请输入内容" /> <el-input v-model="examform.idNumber" disabled placeholder="请输入内容" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="所在城市" prop="city">
<el-input v-model="examform.city" disabled placeholder="请输入内容" />
</el-form-item>
<el-form-item label="个人技能" prop="testSkills">
<el-input v-model="examform.testSkills" disabled placeholder="请输入内容" />
</el-form-item>
<el-form-item label="技能证书" prop="certificateUrl">
<el-image v-if="examform.certificateUrl" :z-index="9999" style="width:150px;height:150px;z-index:1000" :src="examform.certificateUrl" :preview-src-list="srcList">
</el-image>
<p v-else>未上传</p>
</el-form-item>
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="examform.workExperience" disabled type="textarea" placeholder="请输入内容" />
</el-form-item> -->
<el-form-item v-if="title != '查看认证信息'" label="审核结果" prop="status"> <el-form-item v-if="title != '查看认证信息'" label="审核结果" prop="status">
<el-select v-model="examform.status" style="width: 380px"> <el-select v-model="examform.status" style="width: 380px">
<el-option label="未审核" value="0">未审核</el-option> <el-option label="审核通过" value="2">审核通过</el-option>
<el-option label="审核通过" value="1">审核通过</el-option> <el-option label="审核不通过" value="3">审核不通过</el-option>
<el-option label="审核不通过" value="2">审核不通过</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="examform.status == 2" label="审核意见" prop="auditOpinion"> <el-form-item v-if="examform.status == 3" label="审核意见" prop="auditOpinion">
<el-input v-model="examform.auditOpinion" type="textarea" placeholder="请输入内容" /> <el-input v-model="examform.auditOpinion" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -320,7 +308,7 @@ import { changeCAStatus } from '@/api/tester/CompanyApply'
import { changeTAStatus } from '@/api/tester/TesterApply' import { changeTAStatus } from '@/api/tester/TesterApply'
import MultifileLink from '@/views/components/MultifileLink' import MultifileLink from '@/views/components/MultifileLink'
import AuthImg from '@/views/components/AuthImg' import AuthImg from '@/views/components/AuthImg'
import { getApplyList, getApplyById, applyPost } from '@/api/cloudUser'
export default { export default {
name: 'ApplicationReview', name: 'ApplicationReview',
components: { components: {
@ -437,11 +425,9 @@ export default {
companyApplySubmit() { companyApplySubmit() {
this.$refs['companyApplyForm'].validate((valid) => { this.$refs['companyApplyForm'].validate((valid) => {
if (valid) { if (valid) {
this.companyApplyForm.userId = this.companyApplyForm.userId = companyApplyPost(this.companyApplyForm).then((res) => {
companyApplyPost(this.companyApplyForm).then(res => { console.log(res)
console.log(res); if (res.code == 200) {
if (res.code == 200)
{
this.$message.success('审核成功') this.$message.success('审核成功')
this.companyApplyCancel() this.companyApplyCancel()
this.getCompanyList() this.getCompanyList()
@ -503,104 +489,17 @@ export default {
/** 查询个人申请审核列表 */ /** 查询个人申请审核列表 */
getList() { getList() {
this.loading = true this.loading = true
this.queryParams.params = {} getApplyList(this.queryParams)
// if (null != this.daterangeLoginDate && "" != this.daterangeLoginDate) { .then((res) => {
// this.queryParams.params["beginLoginDate"] = this.daterangeLoginDate[0]; this.total = res.total
// this.queryParams.params["endLoginDate"] = this.daterangeLoginDate[1]; this.ApplicationReviewList = res.rows
// }
// if (null != this.daterangeCreateTime && "" != this.daterangeCreateTime) {
// this.queryParams.params["beginCreateTime"] =
// this.daterangeCreateTime[0];
// this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
// }
// if (null != this.daterangeUpdateTime && "" != this.daterangeUpdateTime) {
// this.queryParams.params["beginUpdateTime"] =
// this.daterangeUpdateTime[0];
// this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
// }
listtestercert(this.queryParams).then((response) => {
// console.log('',response)
this.ApplicationReviewList = this.makeApplyStatus(response.rows)
this.total = response.total
this.loading = false this.loading = false
}) })
}, .catch((error) => {
makeApplyStatus(responseRows) { this.loading = false
if (responseRows && responseRows.length > 0) {
var newArr = responseRows.map(function (item, idnex) {
var cS = item.companyStatus
var tS = item.testerStatus
var result = 0
/***
*
*n: [0, '普通用户'],
*c: [1, '公司用户'],
*pt: [2, '个人测试者用户'],
*ct: [3, '测试公司用户'],
*/
if (cS == 2) {
if (tS == 2) {
result = 3
} else {
result = 1
}
} else {
if (tS == 2) {
result = 2
} else {
result = 0
}
}
item.cur = user_status.getDescFromValue(result)
item.userStatus = result
/***
* 申请
* 0 p2c
* 1 p2pt
* 2 p2ct
* 3 c2ct
* 或更新
* 4 更新公司 uc
* 5 更新测试公司 uct
* 6 更新个人测试者 upt
*/
if (cS == 2) {
if (tS == 2) {
result = 5 //uct
} else if (tS == 1) {
result = 3 //c2ct
} else {
result = 4 //uc
}
} else if (cS == 1) {
if (tS == 2) {
//
} else if (tS == 1) {
result = 2 //p2ct
} else {
result = 0 //p2c
}
} else {
if (tS == 2) {
result = 6 //upt
} else if (tS == 1) {
result = 1 //p2pt
} else {
//
}
}
// console.log(apple_type.upt);
// console.log(apple_type.getDesc('upt'));
// console.log(apple_type.getDescFromValue(apple_type.upt));
item.apply = apple_type.getDescFromValue(result)
item.appleType = result
return item
}) })
return newArr
} else {
return responseRows
}
}, },
// //
cancel() { cancel() {
this.unpassOpen = false this.unpassOpen = false
@ -784,6 +683,7 @@ export default {
} }
this.title = '审核实名认证' this.title = '审核实名认证'
this.srcList.push(certificateUrl) this.srcList.push(certificateUrl)
this.examform.userId = row.userId
} }
}, },
/** 审核通过 */ /** 审核通过 */
@ -809,57 +709,10 @@ export default {
this.$message.warning('请选择审核结果') this.$message.warning('请选择审核结果')
return return
} }
if (this.examform.status == 2) { applyPost(this.examform.userId, this.examform).then((res) => {
if (!this.examform.auditOpinion) { this.$message.success('审核成功')
this.$message.warning('请输入审核意见')
return
}
}
let data = {
applyId: this.examform.applyId,
status: parseInt(this.examform.status),
// auditorId: this.examform.auditorId,
auditOpinion: this.examform.auditOpinion,
}
console.log('data---', data)
// return;
updatetestercert(data).then((res) => {
console.log('data---', res.data.code)
if (res.data.code == 200) {
// console.log('111---',res.data)
this.$message.success('审核完成')
this.getList() this.getList()
this.unpassOpen = false this.cancel()
} else {
// console.log('222---',res.data)
if (res.data.msg) {
this.$message.error(res.data.msg)
} else {
this.$message.success('审核完成')
}
this.unpassOpen = false
}
})
return
this.$refs['examform'].validate((valid) => {
if (valid) {
if (this.tAcA) {
this.testerApply.remark = '' + this.companyApply.applyId
this.testerApply.status = 2
this.testerApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeAllStatusOnce, this.testerApply)
}
if (this.tA || this.c2ct) {
this.testerApply.status = 2
this.testerApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeTAStatus, this.testerApply)
}
if (this.cA) {
this.companyApply.status = 2
this.companyApply.auditOpinion = this.form.auditOpinion
this.doPostApplyMethod(changeCAStatus, this.companyApply)
}
}
}) })
}, },
/** 审核不通过 */ /** 审核不通过 */

@ -1,689 +0,0 @@
<template>
<div class="container" style="padding: 30px!important; ">
<el-table v-loading="loading" :data="ApplicationReviewList">
<el-table-column label="用户编号" align="center" prop="userId" />
<el-table-column label="用户名" align="center" prop="userName" />
<el-table-column label="手机号码" align="center" prop="phonenumber" />
<el-table-column
label="注册时间"
align="center"
prop="loginDate"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="现用户类型" align="center" prop="cur" />
<el-table-column label="申请认证类型" align="center" prop="apply" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:ApplicationReview:edit']"
>查看详情</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 申请审核对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="800px"
append-to-body
:close-on-click-modal="false"
>
<!-- 认证公司 -->
<el-form
v-if="companyApply"
:model="companyApply"
label-width="200px"
>
<el-form-item label="公司名称" prop="name" v-if="cA || tAcA">
<el-input readonly
v-model="companyApply.name"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="统一信用代码" prop="creditCode" v-if="cA || tAcA">
<el-input readonly
v-model="companyApply.creditCode"
placeholder="请输入统一信用代码"
/>
</el-form-item>
<el-form-item label="通讯地址" prop="address" v-if="cA || tAcA">
<el-input readonly
v-model="companyApply.address"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="网址" prop="webSite" v-if="cA || tAcA">
<el-input readonly v-model="companyApply.webSite" placeholder="请输入网址" />
</el-form-item>
<el-form-item label="营业执照" prop="filePath" v-if="cA || tAcA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="companyApply.businessLicenseUrl"
:serverAddr="materialServerAddr"
fileName="营业执照"
:limit="1"
/> -->
<AuthImg :authSrc="companyApply.businessLicenseUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item
label="认证公司补充材料"
prop="filePath"
v-if="cA || tAcA"
>
<multifile-link
v-if="allFileGetFlag"
v-model="companyApply.otherCQList"
:serverAddr="materialServerAddr"
fileName="认证公司补充材料"
:limit="10"
/>
</el-form-item>
<el-form-item label="公司简介" prop="companyDesc" v-if="cA || tAcA">
<el-input readonly
v-model="companyApply.companyDesc"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="联系人姓名" prop="contactName" v-if="cA || tAcA">
<el-input readonly
v-model="companyApply.contactName"
placeholder="请输入联系人姓名"
/>
</el-form-item>
<el-form-item
label="联系人职位"
prop="contactPosition"
v-if="cA || tAcA"
>
<el-input readonly
v-model="companyApply.contactPosition"
placeholder="请输入联系人职位"
/>
</el-form-item>
</el-form>
<!-- 测试者 p2pt p2ct c2ct 三合一 -->
<el-form
v-if="testerApply"
:model="testerApply"
label-width="200px"
>
<el-form-item label="真实姓名" prop="name" v-if="tA">
<el-input readonly v-model="testerApply.name" placeholder="请输入真实姓名" />
</el-form-item>
<el-form-item label="所在城市" prop="city" v-if="tA">
<el-input readonly v-model="testerApply.city" placeholder="请输入所在城市" />
</el-form-item>
<el-form-item label="身份证号码" prop="idNumber" v-if="tA">
<el-input readonly
v-model="testerApply.idNumber"
placeholder="请输入身份证号码"
/>
</el-form-item>
<el-form-item label="身份证正面" prop="filePath" v-if="tA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="testerApply.idCardFrontUrl"
:serverAddr="materialServerAddr"
fileName="身份证正面"
:limit="1"
/> -->
<AuthImg :authSrc="testerApply.idCardFrontUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item label="身份证反面" prop="filePath" v-if="tA">
<!-- <multifile-link
v-if="allFileGetFlag"
v-model="testerApply.idCardBackUrl"
:serverAddr="materialServerAddr"
fileName="身份证反面"
:limit="1"
/> -->
<AuthImg :authSrc="testerApply.idCardBackUrl" alt=""></AuthImg>
</el-form-item>
<el-form-item label="测试能力" prop="testSkills" v-if="tA">
<el-input readonly
v-model="testerApply.testSkills"
type="textarea"
placeholder="请输入内容"
/>
<el-popover
placement="top-start"
title="示例:"
width="400"
trigger="hover"
>
<span>性能测试LoadRunner, Jmeter自动化测试Selenium</span>
<el-link slot="reference" style="color: #46a6ff;">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="奖项和证书" prop="certificate" v-if="tA">
<el-input readonly
v-model="testerApply.certificate"
type="textarea"
placeholder="请输入内容"
/>
<el-popover
placement="top-start"
title="示例:"
width="570"
trigger="hover">
<span>STQB认证软件测试工程师<br>国家软考认证软件评测师<br>或国家等级考试软件测试工程师证书 <br>
2019年全国大学生软件测试大赛二等奖
</span>
<el-link slot="reference" style="color: #46a6ff;">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="工作经历" prop="workExperience" v-if="tA">
<el-input readonly
v-model="testerApply.workExperience"
type="textarea"
placeholder="请输入内容"
/>
<el-popover
placement="top-start"
title="示例:"
width="570"
trigger="hover">
<span>2017.5-2021.7 西安未央软件有限公司 软件测试工程师<br>
2013.9-2017.4. 西安大唐软件有限公司 软件测试工程师<br>
2009.9-2013.7 西安电子科技大学 软件工程专业 本科
</span>
<el-link slot="reference" style="color: #46a6ff;">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item
label="测试项目案例"
prop="testProjects"
v-if="tA || tAcA || c2ct"
>
<el-input readonly
v-model="testerApply.testProjects"
type="textarea"
placeholder="请输入内容"
/>
<el-popover
placement="top-start"
title="示例:"
width="530"
trigger="hover">
<span>2021 航空仿真软件单元测试<br>
2020 企业供应链管理平台安全测试<br>
2020 B2C的电商平台系统前后台会员管理订单支付及后台订单处理相关模块测试
</span>
<el-link slot="reference" style="color: #46a6ff;">查看示例</el-link>
</el-popover>
</el-form-item>
<el-form-item label="其它补充材料" prop="filePath" v-if="tA || tAcA || c2ct">
<multifile-link
v-if="allFileGetFlag"
v-model="testerApply.otherTQList"
:serverAddr="materialServerAddr"
fileName="其它补充材料"
:limit="10"
/>
</el-form-item>
<el-form-item label="补充说明" prop="otherInfo" v-if="tAcA || c2ct">
<el-input readonly
v-model="testerApply.otherInfo"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitPass">审核通过</el-button>
<el-button type="primary" @click="submitUnpass">审核不通过</el-button>
</div>
</el-dialog>
<!-- 添加或修改企业认证申请对话框 -->
<el-dialog
:title="title"
:visible.sync="unpassOpen"
width="500px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="审核意见" prop="auditOpinion">
<el-input
v-model="form.auditOpinion"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listApplicationReview,
delApplicationReview,
addApplicationReview,
updateApplicationReview,
exportApplicationReview,
} from "@/api/system/ApplicationReview";
import {
getUnauditInfo,
changeAllStatusOnce,
user_status,
apple_type,
} from "@/api/system/user";
import { changeCAStatus } from "@/api/tester/CompanyApply";
import { changeTAStatus } from "@/api/tester/TesterApply";
import MultifileLink from "@/views/components/MultifileLink";
import AuthImg from "@/views/components/AuthImg";
export default {
name: "ApplicationReview",
components: {
MultifileLink,
AuthImg,
},
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
ApplicationReviewList: [],
//
title: "",
//
open: false,
unpassOpen: false,
//
daterangeLoginDate: [],
//
daterangeCreateTime: [],
//
daterangeUpdateTime: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
deptId: null,
userName: null,
nickName: null,
userType: null,
email: null,
phonenumber: null,
sex: null,
avatar: null,
password: null,
status: null,
loginIp: null,
loginDate: null,
companyStatus: null,
testerStatus: null,
},
//
testerApply: {},
companyApply: {},
form: {
auditOpinion: null,
},
//
rules: {
auditOpinion: [
{ required: true, message: "审核意见不能为空", trigger: "blur" },
],
},
materialServerAddr: "",
allFileGetFlag: false,
cA: false,
tA: false,
tAcA: false,
c2ct: false,
};
},
created() {
this.getList();
this.getClientConfigKey("material.server").then((response) => {
this.materialServerAddr = response.msg;
});
},
methods: {
/** 查询申请审核列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
// if (null != this.daterangeLoginDate && "" != this.daterangeLoginDate) {
// this.queryParams.params["beginLoginDate"] = this.daterangeLoginDate[0];
// this.queryParams.params["endLoginDate"] = this.daterangeLoginDate[1];
// }
// if (null != this.daterangeCreateTime && "" != this.daterangeCreateTime) {
// this.queryParams.params["beginCreateTime"] =
// this.daterangeCreateTime[0];
// this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
// }
// if (null != this.daterangeUpdateTime && "" != this.daterangeUpdateTime) {
// this.queryParams.params["beginUpdateTime"] =
// this.daterangeUpdateTime[0];
// this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
// }
listApplicationReview(this.queryParams).then((response) => {
this.ApplicationReviewList = this.makeApplyStatus(response.rows);
this.total = response.total;
this.loading = false;
});
},
makeApplyStatus(responseRows) {
if (responseRows && responseRows.length > 0) {
var newArr = responseRows.map(function (item, idnex) {
var cS = item.companyStatus;
var tS = item.testerStatus;
var result = 0;
/***
*
*n: [0, '普通用户'],
*c: [1, '公司用户'],
*pt: [2, '个人测试者用户'],
*ct: [3, '测试公司用户'],
*/
if (cS == 2) {
if (tS == 2) {
result = 3;
} else {
result = 1;
}
} else {
if (tS == 2) {
result = 2;
} else {
result = 0;
}
}
item.cur = user_status.getDescFromValue(result);
item.userStatus = result;
/***
* 申请
* 0 p2c
* 1 p2pt
* 2 p2ct
* 3 c2ct
* 或更新
* 4 更新公司 uc
* 5 更新测试公司 uct
* 6 更新个人测试者 upt
*/
if (cS == 2) {
if (tS == 2) {
result = 5; //uct
} else if (tS == 1) {
result = 3; //c2ct
} else {
result = 4; //uc
}
} else if (cS == 1) {
if (tS == 2) {
//
} else if (tS == 1) {
result = 2; //p2ct
} else {
result = 0; //p2c
}
} else {
if (tS == 2) {
result = 6; //upt
} else if (tS == 1) {
result = 1; //p2pt
} else {
//
}
}
// console.log(apple_type.upt);
// console.log(apple_type.getDesc('upt'));
// console.log(apple_type.getDescFromValue(apple_type.upt));
item.apply = apple_type.getDescFromValue(result);
item.appleType = result;
return item;
});
return newArr;
} else {
return responseRows;
}
},
//
cancel() {
this.unpassOpen = false;
this.reset();
},
//
reset() {
this.form = {
auditOpinion: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeLoginDate = [];
this.daterangeCreateTime = [];
this.daterangeUpdateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// //
// handleSelectionChange(selection) {
// this.ids = selection.map((item) => item.userId);
// this.single = selection.length !== 1;
// this.multiple = !selection.length;
// },
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加申请审核";
},
/** 审核按钮操作 */
handleUpdate(row) {
this.reset();
const userId = row.userId || this.ids;
this.allFileGetFlag = false;
this.open = false;
const userStatus = row.userStatus;
const appleType = row.appleType;
this.tAcA = false; //p2ct
this.tA = false; //p2pt
this.c2ct = false; //c2ct
this.cA = false; //p2c
getUnauditInfo(userId).then((response) => {
if (response.testerApply) {
if (response.companyApply) {
//??? p2ct
this.tAcA = true;
} else {
if (userStatus && appleType && userStatus == user_status.c && appleType == apple_type.c2ct) {
//c2ct
this.c2ct = true;
} else {
//p2pt
this.tA = true;
}
}
} else {
if (response.companyApply) {
//??? p2c
this.cA = true;
}
}
if (response.testerApply) {
this.testerApply = response.testerApply;
} else {
this.testerApply = {
applyId: null,
name: null,
city: null,
idNumber: null,
testSkills: null,
testProjects: null,
workExperience: null,
certificate: null,
createTime: null,
updateTime: null,
idCardFrontUrl: [],
idCardBackUrl: [],
otherTQList: [],
otherInfo: null,
};
}
if (response.companyApply) {
this.companyApply = response.companyApply;
} else {
this.companyApply = {
applyId: null,
name: null,
creditCode: null,
address: null,
webSite: null,
companyDesc: null,
contactName: null,
contactPosition: null,
createTime: null,
updateTime: null,
businessLicenseUrl: [],
otherCQList: [],
};
}
this.allFileGetFlag = true;
this.open = true;
this.title = "申请审核";
});
},
/** 审核通过 */
submitPass() {
if (this.tAcA) {
this.testerApply.remark = "" + this.companyApply.applyId;
this.testerApply.status = 1;
this.doPostApplyMethod(changeAllStatusOnce, this.testerApply);
}
if (this.tA || this.c2ct) {
this.testerApply.status = 1;
this.doPostApplyMethod(changeTAStatus, this.testerApply);
}
if (this.cA) {
this.companyApply.status = 1;
this.doPostApplyMethod(changeCAStatus, this.companyApply);
}
},
/** 审核不通过 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.tAcA) {
this.testerApply.remark = "" + this.companyApply.applyId;
this.testerApply.status = 2;
this.testerApply.auditOpinion = this.form.auditOpinion;
this.doPostApplyMethod(changeAllStatusOnce, this.testerApply);
}
if (this.tA || this.c2ct) {
this.testerApply.status = 2;
this.testerApply.auditOpinion = this.form.auditOpinion;
this.doPostApplyMethod(changeTAStatus, this.testerApply);
}
if (this.cA) {
this.companyApply.status = 2;
this.companyApply.auditOpinion = this.form.auditOpinion;
this.doPostApplyMethod(changeCAStatus, this.companyApply);
}
}
});
},
/** 审核不通过 */
submitUnpass() {
this.unpassOpen = true;
},
doPostApplyMethod(methodPost, aData) {
// if (this.unpassOpen) {
// aData.auditOpinion = this.form.auditOpinion;
// }
methodPost(aData).then((response) => {
this.open = false;
this.unpassOpen = false;
this.getList();
});
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids;
this.$confirm(
'是否确认删除申请审核编号为"' + userIds + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return delApplicationReview(userIds);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出所有申请审核数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exportApplicationReview(queryParams);
})
.then((response) => {
this.download(response.msg);
});
},
},
};
</script>
Loading…
Cancel
Save