|
@@ -2,36 +2,46 @@
|
|
* @Description: 我的技能培训 => 技能培训详情 => 成绩和证书
|
|
* @Description: 我的技能培训 => 技能培训详情 => 成绩和证书
|
|
* @Author: 空白格
|
|
* @Author: 空白格
|
|
* @Date: 2022-08-26 16:50:09
|
|
* @Date: 2022-08-26 16:50:09
|
|
- * @LastEditors: gcz
|
|
|
|
- * @LastEditTime: 2022-08-29 16:24:54
|
|
|
|
|
|
+ * @LastEditors: 空白格
|
|
|
|
+ * @LastEditTime: 2022-08-30 10:07:36
|
|
* @FilePath: \veterans_client_web\src\views\PersonalCenter\SkillTraining\SkillsTrainingDetails\AchievementCertificate\AchievementCertificateIndex.vue
|
|
* @FilePath: \veterans_client_web\src\views\PersonalCenter\SkillTraining\SkillsTrainingDetails\AchievementCertificate\AchievementCertificateIndex.vue
|
|
* @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
|
|
* @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
|
|
-->
|
|
-->
|
|
<template>
|
|
<template>
|
|
- <div class='certificate'>
|
|
|
|
- <BannerBreadcrumb title="成绩与证书" :breadcrumb="true" :isRouter="true"/>
|
|
|
|
|
|
+ <div class="certificate">
|
|
|
|
+ <BannerBreadcrumb title="成绩与证书" :breadcrumb="true" :isRouter="true" />
|
|
<section class="wrap-r u-flex u-col-top certificate-wrap">
|
|
<section class="wrap-r u-flex u-col-top certificate-wrap">
|
|
<section class="certificate-list">
|
|
<section class="certificate-list">
|
|
<div class="title">成绩与证书</div>
|
|
<div class="title">成绩与证书</div>
|
|
- <div class="list u-flex u-flex-wrap u-row-between" v-if="total>=1">
|
|
|
|
- <div class="list-item" :class="{even:(index+1)%2 == 0}" v-for="(item,index) in dataList" :key="item.id">
|
|
|
|
|
|
+ <div class="list u-flex u-flex-wrap u-row-between" v-if="total >= 1">
|
|
|
|
+ <div
|
|
|
|
+ class="list-item"
|
|
|
|
+ :class="{ even: (index + 1) % 2 == 0 }"
|
|
|
|
+ v-for="(item, index) in dataList"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ >
|
|
<div class="up">
|
|
<div class="up">
|
|
- <div class="examName">{{item.examName}}</div>
|
|
|
|
- <div class="score">{{item.score}}</div>
|
|
|
|
- <div class="fullScore">(满分{{item.fullScore}})</div>
|
|
|
|
|
|
+ <div class="examName">{{ item.examName }}</div>
|
|
|
|
+ <div class="score">{{ item.score }}</div>
|
|
|
|
+ <div class="fullScore">(满分{{ item.fullScore }})</div>
|
|
<div class="certificateName" v-if="item.certificateName">
|
|
<div class="certificateName" v-if="item.certificateName">
|
|
- 获得<br />
|
|
|
|
- {{item.certificateName}}
|
|
|
|
- ({{getCertificateGradeName(item.grade)}})</div>
|
|
|
|
|
|
+ 获得<br />
|
|
|
|
+ {{ item.certificateName }}
|
|
|
|
+ ({{ getCertificateGradeName(item.grade) }})
|
|
|
|
+ </div>
|
|
<el-image
|
|
<el-image
|
|
- v-if="item.imgUrl.length>0"
|
|
|
|
- class="images" :src="item.imgUrl.split(',')[0]"
|
|
|
|
- :preview-src-list="item.imgUrl.split(',')">
|
|
|
|
|
|
+ v-if="item.imgUrl.length > 0"
|
|
|
|
+ class="images"
|
|
|
|
+ :src="item.imgUrl.split(',')[0]"
|
|
|
|
+ :preview-src-list="item.imgUrl.split(',')"
|
|
|
|
+ >
|
|
</el-image>
|
|
</el-image>
|
|
</div>
|
|
</div>
|
|
<div class="down u-flex">
|
|
<div class="down u-flex">
|
|
- <div class="passDate u-flex-1">{{item.passDate}}</div>
|
|
|
|
- <div class="btns u-flex-1"><span class="del" @click="delCertificate(item.id)">删除</span></div>
|
|
|
|
|
|
+ <div class="passDate u-flex-1">{{ item.passDate }}</div>
|
|
|
|
+ <div class="btns u-flex-1">
|
|
|
|
+ <span class="del" @click="delCertificate(item.id)">删除</span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -50,30 +60,27 @@
|
|
<div class="title">+ 录入</div>
|
|
<div class="title">+ 录入</div>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
<el-form-item label="考试名称:" prop="examName">
|
|
<el-form-item label="考试名称:" prop="examName">
|
|
- <el-input v-model="form.examName "></el-input>
|
|
|
|
|
|
+ <el-input v-model="form.examName"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="证书名称:" prop="certificateName">
|
|
<el-form-item label="证书名称:" prop="certificateName">
|
|
- <el-input v-model="form.certificateName "></el-input>
|
|
|
|
|
|
+ <el-input v-model="form.certificateName"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="成绩" prop="score">
|
|
<el-form-item label="成绩" prop="score">
|
|
- <el-input v-model="form.score "></el-input>
|
|
|
|
|
|
+ <el-input v-model="form.score"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="满分" prop="fullScore">
|
|
<el-form-item label="满分" prop="fullScore">
|
|
- <el-input v-model="form.fullScore "></el-input>
|
|
|
|
|
|
+ <el-input v-model="form.fullScore"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="证书等级" prop="grade">
|
|
<el-form-item label="证书等级" prop="grade">
|
|
- <el-select
|
|
|
|
- v-model="form.grade"
|
|
|
|
- placeholder="请选择证书等级"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in gradeList"
|
|
|
|
- :key="item.index"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <el-select v-model="form.grade" placeholder="请选择证书等级">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in gradeList"
|
|
|
|
+ :key="item.index"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="通过日期:" prop="passDate">
|
|
<el-form-item label="通过日期:" prop="passDate">
|
|
<div style="display: inline-block">
|
|
<div style="display: inline-block">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
@@ -88,25 +95,25 @@
|
|
<el-form-item label="上传照片" prop="imgUrl">
|
|
<el-form-item label="上传照片" prop="imgUrl">
|
|
<div class="inner-wrap">
|
|
<div class="inner-wrap">
|
|
<el-upload
|
|
<el-upload
|
|
- class="uploader logo-uploader"
|
|
|
|
- :action="upAction"
|
|
|
|
- accept="image/*"
|
|
|
|
- multiple
|
|
|
|
- :show-file-list="true"
|
|
|
|
- :on-success="fileUploadSuccess"
|
|
|
|
- :on-remove="fileRemove"
|
|
|
|
- :limit="2"
|
|
|
|
- list-type="picture"
|
|
|
|
- :file-list="fileList"
|
|
|
|
- >
|
|
|
|
- <img
|
|
|
|
- v-if="logoTempImg"
|
|
|
|
- :src="logoTempImg"
|
|
|
|
- class="uploader-img"
|
|
|
|
- />
|
|
|
|
- <i v-else class="el-icon-plus uploader-icon"></i>
|
|
|
|
- <div class="text">上传照片</div>
|
|
|
|
- </el-upload>
|
|
|
|
|
|
+ class="uploader logo-uploader"
|
|
|
|
+ :action="upAction"
|
|
|
|
+ accept="image/*"
|
|
|
|
+ multiple
|
|
|
|
+ :show-file-list="true"
|
|
|
|
+ :on-success="fileUploadSuccess"
|
|
|
|
+ :on-remove="fileRemove"
|
|
|
|
+ :limit="2"
|
|
|
|
+ list-type="picture"
|
|
|
|
+ :file-list="fileList"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ v-if="logoTempImg"
|
|
|
|
+ :src="logoTempImg"
|
|
|
|
+ class="uploader-img"
|
|
|
|
+ />
|
|
|
|
+ <i v-else class="el-icon-plus uploader-icon"></i>
|
|
|
|
+ <div class="text">上传照片</div>
|
|
|
|
+ </el-upload>
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<div class="btn" @click="submitForm">提交</div>
|
|
<div class="btn" @click="submitForm">提交</div>
|
|
@@ -118,131 +125,133 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import BannerBreadcrumb from "@/components/BannerBreadcrumb";
|
|
import BannerBreadcrumb from "@/components/BannerBreadcrumb";
|
|
-import { getCertificateList,deleteCertificate,addCertificate,getCertificate } from "@/api/Certificate";
|
|
|
|
|
|
+import {
|
|
|
|
+ getCertificateList,
|
|
|
|
+ deleteCertificate,
|
|
|
|
+ addCertificate,
|
|
|
|
+ getCertificate,
|
|
|
|
+} from "@/api/Certificate";
|
|
import { getDictData } from "@/api/Dict";
|
|
import { getDictData } from "@/api/Dict";
|
|
- export default {
|
|
|
|
- name: '',
|
|
|
|
- components: {BannerBreadcrumb},
|
|
|
|
- data () {
|
|
|
|
- return {
|
|
|
|
- upAction:process.env.VUE_APP_FILE_UPLOAD_URL,
|
|
|
|
- skillTrainId:'',
|
|
|
|
- fileList:[],
|
|
|
|
- logoTempImg:'',
|
|
|
|
- gradeList:[],
|
|
|
|
- queryParams: {
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 10,
|
|
|
|
- },
|
|
|
|
- imgUrlArr:[],
|
|
|
|
- form:{
|
|
|
|
- skillTrainId:'',
|
|
|
|
- examName:'',
|
|
|
|
- score:'',
|
|
|
|
- fullScore:'',
|
|
|
|
- passDate:'',
|
|
|
|
- certificateName:'',
|
|
|
|
- imgUrl:'',
|
|
|
|
- },
|
|
|
|
- rules:{
|
|
|
|
- examName: [
|
|
|
|
- { required: true, message: "请输入考试名称", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- certificateName: [
|
|
|
|
- { required: true, message: "请输入证书名称", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- score: [
|
|
|
|
- { required: true, message: "请输入成绩", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- fullScore: [
|
|
|
|
- { required: true, message: "请输入满分", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- passDate: [
|
|
|
|
- { required: true, message: "请选择通过日期", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- grade: [
|
|
|
|
- { required: true, message: "请选择证书等级", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- imgUrl: [
|
|
|
|
- { required: true, message: "请上传证书图片", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- total:0,
|
|
|
|
- loading:false,
|
|
|
|
- dataList:[],
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
|
|
+export default {
|
|
|
|
+ name: "",
|
|
|
|
+ components: { BannerBreadcrumb },
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ upAction: process.env.VUE_APP_BASE_API + "/file/upload/single/minio",
|
|
|
|
+ skillTrainId: "",
|
|
|
|
+ fileList: [],
|
|
|
|
+ logoTempImg: "",
|
|
|
|
+ gradeList: [],
|
|
|
|
+ queryParams: {
|
|
|
|
+ pageNum: 1,
|
|
|
|
+ pageSize: 10,
|
|
|
|
+ },
|
|
|
|
+ imgUrlArr: [],
|
|
|
|
+ form: {
|
|
|
|
+ skillTrainId: "",
|
|
|
|
+ examName: "",
|
|
|
|
+ score: "",
|
|
|
|
+ fullScore: "",
|
|
|
|
+ passDate: "",
|
|
|
|
+ certificateName: "",
|
|
|
|
+ imgUrl: "",
|
|
|
|
+ },
|
|
|
|
+ rules: {
|
|
|
|
+ examName: [
|
|
|
|
+ { required: true, message: "请输入考试名称", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ certificateName: [
|
|
|
|
+ { required: true, message: "请输入证书名称", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ score: [{ required: true, message: "请输入成绩", trigger: "blur" }],
|
|
|
|
+ fullScore: [{ required: true, message: "请输入满分", trigger: "blur" }],
|
|
|
|
+ passDate: [
|
|
|
|
+ { required: true, message: "请选择通过日期", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ grade: [{ required: true, message: "请选择证书等级", trigger: "blur" }],
|
|
|
|
+ imgUrl: [
|
|
|
|
+ { required: true, message: "请上传证书图片", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ total: 0,
|
|
|
|
+ loading: false,
|
|
|
|
+ dataList: [],
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ created() {
|
|
|
|
+ this.form.skillTrainId = this.$route.query.id;
|
|
|
|
+ this.getDataList();
|
|
|
|
+ this.getCertificateGrade();
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ /**
|
|
|
|
+ * 获取证书等级
|
|
|
|
+ */
|
|
|
|
+ getCertificateGrade() {
|
|
|
|
+ getDictData({ key: "certificate_grade" }).then((res) => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.gradeList = res.data.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ ...item,
|
|
|
|
+ value: item.text,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
},
|
|
},
|
|
- created(){
|
|
|
|
- this.form.skillTrainId = this.$route.query.id;
|
|
|
|
- this.getDataList();
|
|
|
|
- this.getCertificateGrade();
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 获取证书等级名称
|
|
|
|
+ * @param {Object} value
|
|
|
|
+ */
|
|
|
|
+ getCertificateGradeName(value) {
|
|
|
|
+ let name;
|
|
|
|
+ this.gradeList.forEach((item) => {
|
|
|
|
+ if (item.value == value) {
|
|
|
|
+ name = item.label;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ return name;
|
|
},
|
|
},
|
|
- methods: {
|
|
|
|
- /**
|
|
|
|
- * 获取证书等级
|
|
|
|
- */
|
|
|
|
- getCertificateGrade() {
|
|
|
|
- getDictData({ key:'certificate_grade' }).then(res=>{
|
|
|
|
- if(res.code == 200){
|
|
|
|
- this.gradeList = res.data.map(item => {
|
|
|
|
- return {
|
|
|
|
- ...item,
|
|
|
|
- value: item.text
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- /**
|
|
|
|
- * 获取证书等级名称
|
|
|
|
- * @param {Object} value
|
|
|
|
- */
|
|
|
|
- getCertificateGradeName(value) {
|
|
|
|
- let name;
|
|
|
|
- this.gradeList.forEach(item => {
|
|
|
|
- if (item.value == value) {
|
|
|
|
- name = item.label
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return name;
|
|
|
|
- },
|
|
|
|
- // fileUploadSuccess(res, file) {
|
|
|
|
- // // console.log("file", file);
|
|
|
|
- // this.form.imgUrl = '';
|
|
|
|
- // this.imgUrlArr = [];
|
|
|
|
- // this.imgUrlArr.push(res.data.url,);
|
|
|
|
- // this.form.imgUrl = this.imgUrlArr.toString();
|
|
|
|
- // },
|
|
|
|
- fileUploadSuccess(response, file, fileList) {
|
|
|
|
|
|
+ // fileUploadSuccess(res, file) {
|
|
|
|
+ // // console.log("file", file);
|
|
|
|
+ // this.form.imgUrl = '';
|
|
|
|
+ // this.imgUrlArr = [];
|
|
|
|
+ // this.imgUrlArr.push(res.data.url,);
|
|
|
|
+ // this.form.imgUrl = this.imgUrlArr.toString();
|
|
|
|
+ // },
|
|
|
|
+ fileUploadSuccess(response, file, fileList) {
|
|
let that = this;
|
|
let that = this;
|
|
- this.form.imgUrl = '';
|
|
|
|
|
|
+ this.form.imgUrl = "";
|
|
this.imgUrlArr = [];
|
|
this.imgUrlArr = [];
|
|
for (let index = 0; index < fileList.length; index++) {
|
|
for (let index = 0; index < fileList.length; index++) {
|
|
const element = fileList[index].response.data;
|
|
const element = fileList[index].response.data;
|
|
that.imgUrlArr.push(element.url);
|
|
that.imgUrlArr.push(element.url);
|
|
}
|
|
}
|
|
- this.form.imgUrl = this.imgUrlArr.toString();
|
|
|
|
|
|
+ this.form.imgUrl = this.imgUrlArr.toString();
|
|
},
|
|
},
|
|
fileRemove(file, fileList) {
|
|
fileRemove(file, fileList) {
|
|
let that = this;
|
|
let that = this;
|
|
- this.form.imgUrl = '';
|
|
|
|
|
|
+ this.form.imgUrl = "";
|
|
this.imgUrlArr = [];
|
|
this.imgUrlArr = [];
|
|
for (let index = 0; index < fileList.length; index++) {
|
|
for (let index = 0; index < fileList.length; index++) {
|
|
const element = fileList[index].response.data;
|
|
const element = fileList[index].response.data;
|
|
that.imgUrlArr.push(element.url);
|
|
that.imgUrlArr.push(element.url);
|
|
}
|
|
}
|
|
- this.form.imgUrl = this.imgUrlArr.toString();
|
|
|
|
|
|
+ this.form.imgUrl = this.imgUrlArr.toString();
|
|
},
|
|
},
|
|
- getDataList() {
|
|
|
|
- this.loading = true;
|
|
|
|
- getCertificateList(Object.assign(this.queryParams,{skillTrainId:this.form.skillTrainId})).then((res) => {
|
|
|
|
- this.dataList = res.data;
|
|
|
|
- this.total = res.data.length;
|
|
|
|
- this.loading = false;
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- /**
|
|
|
|
|
|
+ getDataList() {
|
|
|
|
+ this.loading = true;
|
|
|
|
+ getCertificateList(
|
|
|
|
+ Object.assign(this.queryParams, {
|
|
|
|
+ skillTrainId: this.form.skillTrainId,
|
|
|
|
+ })
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ this.dataList = res.data;
|
|
|
|
+ this.total = res.data.length;
|
|
|
|
+ this.loading = false;
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ /**
|
|
* 分页切换
|
|
* 分页切换
|
|
* @date 2022-08-12
|
|
* @date 2022-08-12
|
|
* @param {any} page
|
|
* @param {any} page
|
|
@@ -252,89 +261,92 @@ import { getDictData } from "@/api/Dict";
|
|
// this.queryParams.pageNum = page;
|
|
// this.queryParams.pageNum = page;
|
|
// this.getDataList();
|
|
// this.getDataList();
|
|
// },
|
|
// },
|
|
- resetFields(){
|
|
|
|
- this.$refs['form'].resetFields();
|
|
|
|
- this.fileList=[];
|
|
|
|
- this.form.imgUrl = '';
|
|
|
|
|
|
+ resetFields() {
|
|
|
|
+ this.$refs["form"].resetFields();
|
|
|
|
+ this.fileList = [];
|
|
|
|
+ this.form.imgUrl = "";
|
|
this.imgUrlArr = [];
|
|
this.imgUrlArr = [];
|
|
},
|
|
},
|
|
- submitForm() {
|
|
|
|
- this.$refs['form'].validate((valid) => {
|
|
|
|
- if (valid) {
|
|
|
|
- addCertificate(this.form).then(res=>{
|
|
|
|
|
|
+ submitForm() {
|
|
|
|
+ this.$refs["form"].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ addCertificate(this.form)
|
|
|
|
+ .then((res) => {
|
|
this.$message.success(res.msg);
|
|
this.$message.success(res.msg);
|
|
this.resetFields();
|
|
this.resetFields();
|
|
this.getDataList();
|
|
this.getDataList();
|
|
- }).catch(err=>{
|
|
|
|
- console.log('addCertificate err',err);
|
|
|
|
- this.$message.error(err.msg)
|
|
|
|
})
|
|
})
|
|
- } else {
|
|
|
|
- console.log('error submit!!');
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- delCertificate(id){
|
|
|
|
- this.$confirm("您确认删除该证书吗?", "提示", {
|
|
|
|
- confirmButtonText: "确定",
|
|
|
|
- cancelButtonText: "取消",
|
|
|
|
- type: "warning",
|
|
|
|
- }).then(()=>{
|
|
|
|
- deleteCertificate({skillTrainId:id}).then(res=>{
|
|
|
|
- console.log('res',res);
|
|
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ console.log("addCertificate err", err);
|
|
|
|
+ this.$message.error(err.msg);
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ console.log("error submit!!");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ delCertificate(id) {
|
|
|
|
+ this.$confirm("您确认删除该证书吗?", "提示", {
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
+ type: "warning",
|
|
|
|
+ }).then(() => {
|
|
|
|
+ deleteCertificate({ skillTrainId: id })
|
|
|
|
+ .then((res) => {
|
|
|
|
+ console.log("res", res);
|
|
this.$message.success(res.msg);
|
|
this.$message.success(res.msg);
|
|
this.getDataList();
|
|
this.getDataList();
|
|
- }).catch(err=>{
|
|
|
|
- console.log('deleteCertificate err',err);
|
|
|
|
- this.$message.error(err.msg)
|
|
|
|
})
|
|
})
|
|
- })
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ console.log("deleteCertificate err", err);
|
|
|
|
+ this.$message.error(err.msg);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
},
|
|
},
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
-<style lang='scss' scoped>
|
|
|
|
-.certificate{
|
|
|
|
- overflow: hidden;
|
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.certificate {
|
|
|
|
+ overflow: hidden;
|
|
}
|
|
}
|
|
-.wrap-r{
|
|
|
|
|
|
+.wrap-r {
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
background: #fff;
|
|
background: #fff;
|
|
padding: 20px;
|
|
padding: 20px;
|
|
- width:70%;
|
|
|
|
|
|
+ width: 70%;
|
|
margin: 23px auto;
|
|
margin: 23px auto;
|
|
}
|
|
}
|
|
-.title{
|
|
|
|
- font-size: 20px;
|
|
|
|
- color: #1A1A1A;
|
|
|
|
- font-weight: 600;
|
|
|
|
- margin-bottom: 24px;
|
|
|
|
- }
|
|
|
|
-.certificate-wrap{
|
|
|
|
|
|
+.title {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ color: #1a1a1a;
|
|
|
|
+ font-weight: 600;
|
|
|
|
+ margin-bottom: 24px;
|
|
|
|
+}
|
|
|
|
+.certificate-wrap {
|
|
padding: 0;
|
|
padding: 0;
|
|
width: 1200px;
|
|
width: 1200px;
|
|
background-color: #f4f4f4;
|
|
background-color: #f4f4f4;
|
|
- .certificate-list{
|
|
|
|
|
|
+ .certificate-list {
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
flex: 1;
|
|
flex: 1;
|
|
padding: 20px;
|
|
padding: 20px;
|
|
margin-right: 20px;
|
|
margin-right: 20px;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
- .list{
|
|
|
|
- &-item{
|
|
|
|
|
|
+ .list {
|
|
|
|
+ &-item {
|
|
width: 240px;
|
|
width: 240px;
|
|
margin-bottom: 24px;
|
|
margin-bottom: 24px;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
text-align: center;
|
|
text-align: center;
|
|
color: #fff;
|
|
color: #fff;
|
|
- background: #FE5862;
|
|
|
|
- &.even{
|
|
|
|
- background: #FE9C37;
|
|
|
|
|
|
+ background: #fe5862;
|
|
|
|
+ &.even {
|
|
|
|
+ background: #fe9c37;
|
|
}
|
|
}
|
|
- .up{
|
|
|
|
|
|
+ .up {
|
|
position: relative;
|
|
position: relative;
|
|
padding: 30px 20px 0;
|
|
padding: 30px 20px 0;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
@@ -342,8 +354,8 @@ import { getDictData } from "@/api/Dict";
|
|
background: url(@/assets/images/certificate-bg.png) no-repeat;
|
|
background: url(@/assets/images/certificate-bg.png) no-repeat;
|
|
background-size: 200px 246px;
|
|
background-size: 200px 246px;
|
|
background-position: 52px 100px;
|
|
background-position: 52px 100px;
|
|
-
|
|
|
|
- .images{
|
|
|
|
|
|
+
|
|
|
|
+ .images {
|
|
position: absolute;
|
|
position: absolute;
|
|
left: 0;
|
|
left: 0;
|
|
right: 0;
|
|
right: 0;
|
|
@@ -351,38 +363,38 @@ import { getDictData } from "@/api/Dict";
|
|
top: 0;
|
|
top: 0;
|
|
opacity: 0;
|
|
opacity: 0;
|
|
}
|
|
}
|
|
- .examName{
|
|
|
|
|
|
+ .examName {
|
|
font-size: 20px;
|
|
font-size: 20px;
|
|
height: 80px;
|
|
height: 80px;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
- .score{
|
|
|
|
|
|
+ .score {
|
|
font-size: 60px;
|
|
font-size: 60px;
|
|
line-height: 1;
|
|
line-height: 1;
|
|
margin-bottom: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
- .fullScore{
|
|
|
|
|
|
+ .fullScore {
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
- color: rgba(255,255,255,.4);
|
|
|
|
|
|
+ color: rgba(255, 255, 255, 0.4);
|
|
margin-bottom: 45px;
|
|
margin-bottom: 45px;
|
|
}
|
|
}
|
|
- .certificateName{
|
|
|
|
|
|
+ .certificateName {
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .down{
|
|
|
|
|
|
+ .down {
|
|
height: 44px;
|
|
height: 44px;
|
|
- background: rgba(255,255,255,.4);
|
|
|
|
- .btns{
|
|
|
|
- .del{
|
|
|
|
|
|
+ background: rgba(255, 255, 255, 0.4);
|
|
|
|
+ .btns {
|
|
|
|
+ .del {
|
|
display: inline-block;
|
|
display: inline-block;
|
|
padding: 0 15px;
|
|
padding: 0 15px;
|
|
border-radius: 24px;
|
|
border-radius: 24px;
|
|
height: 24px;
|
|
height: 24px;
|
|
line-height: 24px;
|
|
line-height: 24px;
|
|
text-align: center;
|
|
text-align: center;
|
|
- background: rgba(255,255,255,0.70);
|
|
|
|
- color: #FE5862;
|
|
|
|
|
|
+ background: rgba(255, 255, 255, 0.7);
|
|
|
|
+ color: #fe5862;
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
@@ -391,7 +403,7 @@ import { getDictData } from "@/api/Dict";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .certificate-form{
|
|
|
|
|
|
+ .certificate-form {
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
width: 380px;
|
|
width: 380px;
|
|
padding: 20px;
|
|
padding: 20px;
|
|
@@ -399,11 +411,11 @@ import { getDictData } from "@/api/Dict";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-.el-form{
|
|
|
|
|
|
+.el-form {
|
|
// .el-form-item{
|
|
// .el-form-item{
|
|
// margin-bottom: 10px;
|
|
// margin-bottom: 10px;
|
|
// }
|
|
// }
|
|
- .btn{
|
|
|
|
|
|
+ .btn {
|
|
background: #709078;
|
|
background: #709078;
|
|
color: #fff;
|
|
color: #fff;
|
|
text-align: center;
|
|
text-align: center;
|
|
@@ -414,7 +426,7 @@ import { getDictData } from "@/api/Dict";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-.logo-uploader :deep(.el-upload){
|
|
|
|
|
|
+.logo-uploader :deep(.el-upload) {
|
|
border: 1px dashed #d9d9d9;
|
|
border: 1px dashed #d9d9d9;
|
|
border-radius: 6px;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|