mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-17 23:06:47 +08:00
Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # src/components/vote/AddVote.vue # src/components/vote/CreateVote.vue
This commit is contained in:
497
package-lock.json
generated
497
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -16,6 +16,7 @@
|
|||||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||||
"ant-design-vue": "^3.2.12",
|
"ant-design-vue": "^3.2.12",
|
||||||
"axios": "^1.1.3",
|
"axios": "^1.1.3",
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"dayjs": "^1.11.6",
|
"dayjs": "^1.11.6",
|
||||||
"element-plus": "^2.2.17",
|
"element-plus": "^2.2.17",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="endtime" style="margin-left: 64px">签到时间:{{beginTime}}</div>
|
<div class="endtime" style="margin-left: 64px">签到时间:{{beginTime}}</div>
|
||||||
<!-- <div class="endtime" style="margin-left: 40px">签退时间:{{endTime}}</div> -->
|
<div class="endtime" style="margin-left: 40px">签退时间:{{endTime}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="search">
|
<div class="search">
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ const disabledDate = (current) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const disabledRangeTime = () => ({
|
const disabledRangeTime = () => ({
|
||||||
disabledHours: () => range(0, 24).splice(4, 20),
|
// disabledHours: () => range(0, 24).splice(4, 20),
|
||||||
disabledMinutes: () => range(30, 60),
|
disabledMinutes: () => range(30, 60),
|
||||||
disabledSeconds: () => [55, 56],
|
disabledSeconds: () => [55, 56],
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ const disabledDate = (current) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const disabledRangeTime = () => ({
|
const disabledRangeTime = () => ({
|
||||||
disabledHours: () => range(0, 24).splice(4, 20),
|
// disabledHours: () => range(0, 24).splice(4, 20),
|
||||||
disabledMinutes: () => range(30, 60),
|
disabledMinutes: () => range(30, 60),
|
||||||
disabledSeconds: () => [55, 56],
|
disabledSeconds: () => [55, 56],
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -452,7 +452,7 @@ const disabledDate = (current) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const disabledRangeTime = () => ({
|
const disabledRangeTime = () => ({
|
||||||
disabledHours: () => range(0, 24).splice(4, 20),
|
// disabledHours: () => range(0, 24).splice(4, 20),
|
||||||
disabledMinutes: () => range(30, 60),
|
disabledMinutes: () => range(30, 60),
|
||||||
disabledSeconds: () => [55, 56],
|
disabledSeconds: () => [55, 56],
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -68,14 +68,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">选择试卷:</span>
|
<span style="margin-right: 3px">选择试卷:</span>
|
||||||
</div>
|
</div>
|
||||||
<s-test v-model:id="formData.examinationTestId" v-model:name="formData.examinationTestName">
|
<s-test v-model:id="formData.examinationPaperId" v-model:name="formData.examinationTestName">
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<button class="xkbtn" style="margin:0">
|
<button class="xkbtn" style="margin:0">
|
||||||
{{ formData.examinationTestId ? "重选" : "选择" }}试卷
|
{{ formData.examinationPaperId ? "重选" : "选择" }}试卷
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</s-test>
|
</s-test>
|
||||||
<div v-if="formData.examinationTestId">
|
<div v-if="formData.examinationPaperId">
|
||||||
<a-tag closable color="processing" @close="delTag" :closeIcon="true">
|
<a-tag closable color="processing" @close="delTag" :closeIcon="true">
|
||||||
<span style="font-size: 14px; line-height: 33px">{{ formData.examinationTestName }}</span>
|
<span style="font-size: 14px; line-height: 33px">{{ formData.examinationTestName }}</span>
|
||||||
</a-tag>
|
</a-tag>
|
||||||
@@ -328,7 +328,7 @@ const props = defineProps({
|
|||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
const initValue = {
|
const initValue = {
|
||||||
examinationName: '',
|
examinationName: '',
|
||||||
examinationTestId: '',
|
examinationPaperId: '',
|
||||||
examinationStartTime: '',
|
examinationStartTime: '',
|
||||||
examinationEndTime: '',
|
examinationEndTime: '',
|
||||||
examinationDuration: '',
|
examinationDuration: '',
|
||||||
@@ -349,7 +349,7 @@ const innerRule = {
|
|||||||
message: '请输入考试名称',
|
message: '请输入考试名称',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
examinationTestId: [
|
examinationPaperId: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入选择试卷',
|
message: '请输入选择试卷',
|
||||||
@@ -451,7 +451,7 @@ function openDrawer(i, row) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const delTag = () => {
|
const delTag = () => {
|
||||||
formData.value.examinationTestId = '';
|
formData.value.examinationPaperId = '';
|
||||||
formData.value.examinationTestName = '';
|
formData.value.examinationTestName = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
<img src="../../assets/images/studentimg/character.png" />
|
<img src="../../assets/images/studentimg/character.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="stumation">
|
<div class="stumation">
|
||||||
<div class="stuname">{{pro.routerInfo.name}}</div>
|
<div class="stuname">{{pro==null?"":pro.routerInfo.name}}</div>
|
||||||
<div class="stugangw">{{pro.routerInfo.organizationName?pro.routerInfo.organizationName:"" + '-' + pro.routerInfo.jobName?pro.routerInfo.jobName:""}}</div>
|
<div class="stugangw">{{pro==null?"":pro.routerInfo.organizationName?pro.routerInfo.organizationName:"" + '-' + pro==null?"":pro.routerInfo.jobName?pro.routerInfo.jobName:""}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sortbox">
|
<div class="sortbox">
|
||||||
<div class="sortname">进度排名</div>
|
<div class="sortname">进度排名</div>
|
||||||
@@ -43,8 +43,8 @@
|
|||||||
<div class="sortbox" style="margin-left: 34px">
|
<div class="sortbox" style="margin-left: 34px">
|
||||||
<div class="sortname">完成必修</div>
|
<div class="sortname">完成必修</div>
|
||||||
<div class="sortnub">
|
<div class="sortnub">
|
||||||
<span class="nub1">{{pro.currentReqCnt}}</span>
|
<span class="nub1">{{pro==null?"":pro.currentReqCnt}}</span>
|
||||||
<span class="total">/{{pro.totalReqCnt}}</span>
|
<span class="total">/{{pro==null?"":pro.totalReqCnt}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-divider
|
<a-divider
|
||||||
@@ -57,18 +57,18 @@
|
|||||||
<div class="sortbox" style="margin-left: 34px">
|
<div class="sortbox" style="margin-left: 34px">
|
||||||
<div class="sortname">已修证书</div>
|
<div class="sortname">已修证书</div>
|
||||||
<div class="sortnub">
|
<div class="sortnub">
|
||||||
<span class="nub1">{{pro.routerInfo.certCnt?pro.routerInfo.certCnt:0}}</span>
|
<span class="nub1">{{pro==null?"":pro.routerInfo.certCnt?pro.routerInfo.certCnt:0}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="secondrow">
|
<!-- <div class="secondrow">
|
||||||
<div class="rowleft">{{ pro.name }}</div>
|
<div class="rowleft">{{ pro.name }}</div> -->
|
||||||
<!-- <div class="rowbox" @click="showProMess">
|
<!-- <div class="rowbox" @click="showProMess">
|
||||||
<div class="shuom">说明</div>
|
<div class="shuom">说明</div>
|
||||||
<div><img src="../../assets/images/studentimg/chak.png" /></div>
|
<div><img src="../../assets/images/studentimg/chak.png" /></div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
<div v-for="(item) in pro.chapterList" class="mainbox"
|
<!-- <div v-for="(item) in pro.chapterList" class="mainbox"
|
||||||
style="margin-top: 15px; height: 56px"
|
style="margin-top: 15px; height: 56px"
|
||||||
:key="item.chapterId">
|
:key="item.chapterId">
|
||||||
<div class="rowtitle" @click="changeDown">
|
<div class="rowtitle" @click="changeDown">
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="mainbox">
|
<div class="mainbox">
|
||||||
<a-collapse v-model:activeKey="stageListActive">
|
<a-collapse v-model:activeKey="stageListActive">
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<div></div>
|
<div></div>
|
||||||
</template>
|
</template>
|
||||||
<a-collapse-panel
|
<a-collapse-panel
|
||||||
v-for="value in pro.chapterList"
|
v-for="value in pro==null?[]:pro.chapterList"
|
||||||
:key="value.chapterId"
|
:key="value.chapterId"
|
||||||
:header="value.chapterName"
|
:header="value.chapterName"
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
: item.type === 12
|
: item.type === 12
|
||||||
? require('../../assets/images/leveladd/tou.png')
|
? require('../../assets/images/leveladd/tou.png')
|
||||||
: item.type === 13
|
: item.type === 13
|
||||||
? require('../../assets/images/leveladd/diao.png')
|
? require('../../assets/images/leveladd/xiangmu.png')
|
||||||
: null
|
: null
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
@@ -266,8 +266,8 @@ export default {
|
|||||||
const getStuProgress = () => {
|
const getStuProgress = () => {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
let obj = {
|
let obj = {
|
||||||
routerId:props.routerId,
|
routerId:props.routerId==null?props.studentId:props.routerId
|
||||||
studentId:props.studentId
|
// routerId:props.studentId
|
||||||
}
|
}
|
||||||
stuProgress(obj).then(res => {
|
stuProgress(obj).then(res => {
|
||||||
console.log("查询当前学员进度信息success",res)
|
console.log("查询当前学员进度信息success",res)
|
||||||
@@ -296,6 +296,7 @@ export default {
|
|||||||
"测评",
|
"测评",
|
||||||
"评估",
|
"评估",
|
||||||
"投票",
|
"投票",
|
||||||
|
"项目",
|
||||||
];
|
];
|
||||||
return typeRules[type];
|
return typeRules[type];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">组员名单1</div>
|
<div class="headerTitle">组员名单</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -498,7 +498,7 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
projectGroupId: props.chooseGroupId,
|
projectGroupId: props.chooseGroupId,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
studentIds: state.selectedRows,
|
ids: state.selectedRows,
|
||||||
};
|
};
|
||||||
console.log("删除小组学员obj", obj);
|
console.log("删除小组学员obj", obj);
|
||||||
delGroupStudent(obj)
|
delGroupStudent(obj)
|
||||||
|
|||||||
@@ -110,6 +110,8 @@
|
|||||||
? require('../../assets/images/leveladd/tou.png')
|
? require('../../assets/images/leveladd/tou.png')
|
||||||
: item.course === '评估'
|
: item.course === '评估'
|
||||||
? require('../../assets/images/leveladd/diao.png')
|
? require('../../assets/images/leveladd/diao.png')
|
||||||
|
: item.course === '项目'
|
||||||
|
? require('../../assets/images/leveladd/xiangmu.png')
|
||||||
: null
|
: null
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ export default {
|
|||||||
currentStageId: props.datasource.stageId,
|
currentStageId: props.datasource.stageId,
|
||||||
type: 1,
|
type: 1,
|
||||||
pid: props.datasource.projectId,
|
pid: props.datasource.projectId,
|
||||||
taskId: props.datasource.projectTaskId,
|
taskId: props.datasource.id,
|
||||||
taskType: props.datasource.type,
|
taskType: props.datasource.type,
|
||||||
status: state.projectName,
|
status: state.projectName,
|
||||||
studentName: state.name,
|
studentName: state.name,
|
||||||
@@ -360,7 +360,7 @@ export default {
|
|||||||
currentStageId: props.datasource.stageId,
|
currentStageId: props.datasource.stageId,
|
||||||
type: 1,
|
type: 1,
|
||||||
pid: props.datasource.projectId,
|
pid: props.datasource.projectId,
|
||||||
taskId: props.datasource.projectTaskId,
|
taskId: props.datasource.id,
|
||||||
taskType: props.datasource.type,
|
taskType: props.datasource.type,
|
||||||
status: state.projectName,
|
status: state.projectName,
|
||||||
studentName: state.name,
|
studentName: state.name,
|
||||||
|
|||||||
@@ -333,18 +333,39 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
className: "h",
|
className: "h",
|
||||||
customRender: (text) => {
|
customRender: (text) => {
|
||||||
|
debugger
|
||||||
|
console.log("text"+text.record)
|
||||||
|
if (text.record.finishStatus===1 || text.record.finishStatus===2) {
|
||||||
return (
|
return (
|
||||||
<div class="racona">
|
<div class="racona">
|
||||||
<a
|
<a-button
|
||||||
|
type="link"
|
||||||
onClick={()=>{
|
onClick={()=>{
|
||||||
state.studentKid = text.record.studentKid;
|
state.studentKid = text.record.studentKid;
|
||||||
state.datasource = text.record;
|
state.datasource = text.record;
|
||||||
state.CAvisible = true;
|
state.CAvisible = true;
|
||||||
}}>
|
}}>
|
||||||
查看答卷
|
查看答卷
|
||||||
</a>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
}else {
|
||||||
|
return (
|
||||||
|
<div class="racona">
|
||||||
|
<a-button
|
||||||
|
type="link"
|
||||||
|
disabled
|
||||||
|
onClick={()=>{
|
||||||
|
state.studentKid = text.record.studentKid;
|
||||||
|
state.datasource = text.record;
|
||||||
|
state.CAvisible = true;
|
||||||
|
}}>
|
||||||
|
查看答卷
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -897,8 +897,8 @@ const submitAuth = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function handleStageOk() {
|
function handleStageOk() {
|
||||||
// 判断添加人数是否已超过限制人数
|
// 判断添加人数是否已超过限制人数 限制 = 本次添加的人 + 原有的人
|
||||||
if (props.groupMemberCount < selectsData.value.projectMemberList.length + props.groupMemberNumber) {
|
if (props.groupMemberCount < selectsData.value.studentList.length + props.groupMemberNumber) {
|
||||||
return message.warning("添加小组学员超过最大值");
|
return message.warning("添加小组学员超过最大值");
|
||||||
}
|
}
|
||||||
// 对选中的人员进行判断是否已经分组了
|
// 对选中的人员进行判断是否已经分组了
|
||||||
|
|||||||
@@ -231,7 +231,14 @@
|
|||||||
type="link"
|
type="link"
|
||||||
>拒绝</a-button
|
>拒绝</a-button
|
||||||
>
|
>
|
||||||
<a-button v-if="checkPer(permissions)" @click="del(record.id)" type="link" danger>删除</a-button>
|
<a-button
|
||||||
|
v-if="checkPer(permissions)"
|
||||||
|
:disabled="record.isLeader === '1' "
|
||||||
|
@click="del(record.id,record)"
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
>删除</a-button
|
||||||
|
>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -362,13 +369,13 @@ import ExportHomeWork from "../Modals/ExportHomeWork.vue";
|
|||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import ImpStu from "../drawers/AddLevelImportStu";
|
import ImpStu from "../drawers/AddLevelImportStu";
|
||||||
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
||||||
import {checkPer} from "@/utils/utils";
|
import { checkPer } from "@/utils/utils";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
permissions:{
|
permissions: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: "",
|
||||||
},
|
},
|
||||||
id: String,
|
id: String,
|
||||||
columns: {
|
columns: {
|
||||||
@@ -455,7 +462,7 @@ const tablecolumns = ref([
|
|||||||
title: "所属小组",
|
title: "所属小组",
|
||||||
dataIndex: "groupName",
|
dataIndex: "groupName",
|
||||||
key: "groupName",
|
key: "groupName",
|
||||||
width: props.type===1?100:0,
|
width: props.type === 1 ? 100 : 0,
|
||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
@@ -533,10 +540,8 @@ const stuRowSelection = computed(() => ({
|
|||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//显示学员换组弹窗
|
//显示学员换组弹窗
|
||||||
function showChangeGroupModal () {
|
function showChangeGroupModal() {
|
||||||
// debugger
|
// debugger
|
||||||
checkgroupParam.value.changegroupV = true;
|
checkgroupParam.value.changegroupV = true;
|
||||||
}
|
}
|
||||||
@@ -547,12 +552,12 @@ function exportTaskStu() {
|
|||||||
window.open(
|
window.open(
|
||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API
|
process.env.VUE_APP_BASE_API
|
||||||
}/admin/student/exportTaskStudent?type=${1}&pid=${props.targetId}`
|
}/admin/student/exportTaskStudent?type=${1}&pid=${props.id}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function exportTaskStuRouter() {
|
function exportTaskStuRouter() {
|
||||||
console.log("props.datasource", props);
|
console.log("props.datasource", props, props.id);
|
||||||
window.open(
|
window.open(
|
||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API
|
process.env.VUE_APP_BASE_API
|
||||||
@@ -614,15 +619,25 @@ function reset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function bathDel() {
|
function bathDel() {
|
||||||
|
debugger
|
||||||
if (stuSelectKeys.value && stuSelectKeys.value.length === 0) {
|
if (stuSelectKeys.value && stuSelectKeys.value.length === 0) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请先选中学员");
|
return message.warning("请先选中学员");
|
||||||
}
|
}
|
||||||
|
// 判断选择的人员中是否有小组长
|
||||||
|
let arr = [...tableData.value.list].filter(x => [...stuSelectKeys.value].some(id => id === x.id)).filter(item => item.isLeader === '1');
|
||||||
|
if (arr.length > 0) {
|
||||||
|
return message.warning("选择人员中:"+arr[0].studentName + "是小组长,请勿删除!");
|
||||||
|
}
|
||||||
tableData.value.loading = true;
|
tableData.value.loading = true;
|
||||||
delStudentList({ids: stuSelectKeys.value,}).then(() => getStuList());
|
delStudentList({ ids: stuSelectKeys.value }).then(() => getStuList());
|
||||||
}
|
}
|
||||||
|
|
||||||
function del(id) {
|
function del(id,row) {
|
||||||
|
if (row.isLeader === '1') {
|
||||||
|
return message.warning(""+row.name + "是小组长,请勿删除!");
|
||||||
|
}
|
||||||
|
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
title: () => "确定删除?",
|
title: () => "确定删除?",
|
||||||
icon: () => createVNode(ExclamationCircleOutlined),
|
icon: () => createVNode(ExclamationCircleOutlined),
|
||||||
@@ -631,7 +646,7 @@ function del(id) {
|
|||||||
okType: "danger",
|
okType: "danger",
|
||||||
cancelText: () => "取消",
|
cancelText: () => "取消",
|
||||||
onOk() {
|
onOk() {
|
||||||
if(id){
|
if (id) {
|
||||||
tableData.value.loading = true;
|
tableData.value.loading = true;
|
||||||
delStudentList({ ids: [id] }).then(() => getStuList());
|
delStudentList({ ids: [id] }).then(() => getStuList());
|
||||||
}
|
}
|
||||||
@@ -754,14 +769,13 @@ const exportHomeWorkShow = () => {
|
|||||||
//导出
|
//导出
|
||||||
const exportStu = () => {
|
const exportStu = () => {
|
||||||
console.log("props.datasource", props);
|
console.log("props.datasource", props);
|
||||||
if (props.id!=undefined) {
|
if (props.id != undefined) {
|
||||||
window.open(
|
window.open(
|
||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API
|
process.env.VUE_APP_BASE_API
|
||||||
}/admin/student/exportTaskStudent?type=${3}&pid=${props.id}&thirdType=2`
|
}/admin/student/exportTaskStudent?type=${3}&pid=${props.id}&thirdType=2`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//批量操作 结业、通过、拒绝等
|
//批量操作 结业、通过、拒绝等
|
||||||
@@ -803,11 +817,11 @@ const AddImpStuvisibleClose = (isget) => {
|
|||||||
if (isget) {
|
if (isget) {
|
||||||
getStuList();
|
getStuList();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
function startLoading(){
|
function startLoading() {
|
||||||
tableData.value.loading = true;
|
tableData.value.loading = true;
|
||||||
}
|
}
|
||||||
defineExpose({getStuList,startLoading})
|
defineExpose({ getStuList, startLoading });
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.TableStudent {
|
.TableStudent {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
class="nameimg"
|
class="nameimg"
|
||||||
src="../../assets/images/basicinfo/asterisk.png"
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
/>
|
/>
|
||||||
<div class="inname">封面图</div>
|
<div class="inname">封面图2</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in select" style="flex: 1; display: flex">
|
<div class="in select" style="flex: 1; display: flex">
|
||||||
<div
|
<div
|
||||||
@@ -324,11 +324,24 @@
|
|||||||
<div class="topc">封面图</div>
|
<div class="topc">封面图</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="imagesBox">
|
<div class="imagesBox">
|
||||||
<div
|
<!-- <div
|
||||||
@click="() => (projectInfo.picUrl = src.value)"
|
@click="() => (projectInfo.picUrl = src.value)"
|
||||||
v-for="item in projectPic"
|
v-for="item in projectPic"
|
||||||
:key="item.code"
|
:key="item.code"
|
||||||
class="learnBgItem"
|
class="learnBgItem"
|
||||||
|
> -->
|
||||||
|
<div
|
||||||
|
@click="chooseImg2(item)"
|
||||||
|
v-for="item in projectPic"
|
||||||
|
:key="item.code"
|
||||||
|
class="learnBgItem"
|
||||||
|
:style="{
|
||||||
|
border:
|
||||||
|
pathBgId === item.code
|
||||||
|
? '2px solid rgba(78, 166, 255, 1)'
|
||||||
|
: '1px solid #ccc',
|
||||||
|
'background-image': 'url(' + item.value.split(',')[0] + ')',
|
||||||
|
}"
|
||||||
>
|
>
|
||||||
<!-- <img class="im" :src="item.source" /> -->
|
<!-- <img class="im" :src="item.source" /> -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3468,7 +3468,7 @@ export default {
|
|||||||
<a-select-option value="删除" label="删除">
|
<a-select-option value="删除" label="删除">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// console.log("点击了111", text);
|
{/* console.log("点击了111", text); */}
|
||||||
showDeleteOne(text.record.studentId);
|
showDeleteOne(text.record.studentId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ module.exports = defineConfig({
|
|||||||
port: 8070,
|
port: 8070,
|
||||||
proxy: {
|
proxy: {
|
||||||
"/manageApi": {
|
"/manageApi": {
|
||||||
target: 'http:' + process.env.VUE_APP_PROXY_URL,
|
// target: 'http:' + process.env.VUE_APP_PROXY_URL,
|
||||||
|
target: 'http://localhost:30001',
|
||||||
changeOrigin: true, //表示是否改变原域名
|
changeOrigin: true, //表示是否改变原域名
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
"^/manageApi": "",
|
"^/manageApi": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user