mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-20 00:06:47 +08:00
@@ -44,7 +44,7 @@ export default defineComponent({
|
|||||||
const store = useStore();
|
const store = useStore();
|
||||||
const isLogin = ref(false);
|
const isLogin = ref(false);
|
||||||
// console.log("router", router.getRoutes(), route);
|
// console.log("router", router.getRoutes(), route);
|
||||||
console.log("版本0.9.7------------");
|
console.log("版本0.9.8------------");
|
||||||
const routes = computed(() => {
|
const routes = computed(() => {
|
||||||
return router.getRoutes().filter((e) => e.meta?.isLink);
|
return router.getRoutes().filter((e) => e.meta?.isLink);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-21 14:32:52
|
* @Date: 2022-11-21 14:32:52
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2022-12-08 15:47:05
|
* @LastEditTime: 2022-12-09 14:39:01
|
||||||
* @FilePath: /fe-manage/src/api/config.js
|
* @FilePath: /fe-manage/src/api/config.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -16,3 +16,6 @@ export const ProjectDeleteTask = (obj) => http.delete('/admin/project/deleteTask
|
|||||||
export const IsExistence = (obj) => http.post('/admin/router/queryTaskDoesItExist',obj);
|
export const IsExistence = (obj) => http.post('/admin/router/queryTaskDoesItExist',obj);
|
||||||
// 判断当前在线课是否已经添加到该项目下
|
// 判断当前在线课是否已经添加到该项目下
|
||||||
export const IsExistenceProject = (obj) => http.post('/admin/project/queryTaskDoesItExistForProject',obj);
|
export const IsExistenceProject = (obj) => http.post('/admin/project/queryTaskDoesItExistForProject',obj);
|
||||||
|
// 判断当前在线课是否已经添加到该模板库下
|
||||||
|
export const IsExistenceProjectTemplate = (obj) => http.post('/admin/project/template/queryTaskDoesItExistForTemplate',obj);
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
<div class="file_img"></div>
|
<div class="file_img"></div>
|
||||||
<div class="file_detail">
|
<div class="file_detail">
|
||||||
<div class="file_name">
|
<div class="file_name">
|
||||||
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</span>
|
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
|
||||||
|
{{ item.name.indexOf('-')!==-1?item.name.slice(0,item.name.indexOf('-')) + item.name.slice(item.name.indexOf('.')) :item.name }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="file_size">-->
|
<!-- <div class="file_size">-->
|
||||||
<!-- <span style="color: #999ba3">{{ item.size }}</span>-->
|
<!-- <span style="color: #999ba3">{{ item.size }}</span>-->
|
||||||
@@ -35,6 +37,7 @@
|
|||||||
:class="`${{uploading: 'updatacolor3', done: 'updatacolor' ,error: 'updatacolor2'}[item.status] || 'updatacolor'}`"
|
:class="`${{uploading: 'updatacolor3', done: 'updatacolor' ,error: 'updatacolor2'}[item.status] || 'updatacolor'}`"
|
||||||
:style="{width:`${item.status==='uploading'?parseInt(item.percent):100}%`}"></div>
|
:style="{width:`${item.status==='uploading'?parseInt(item.percent):100}%`}"></div>
|
||||||
<div v-if="item.status"
|
<div v-if="item.status"
|
||||||
|
style="right:-62px"
|
||||||
:class="`${{uploading: 'updataxq1', done: 'updataxq' ,error: 'updataxq2'}[item.status] || 'updataxq'}`">
|
:class="`${{uploading: 'updataxq1', done: 'updataxq' ,error: 'updataxq2'}[item.status] || 'updataxq'}`">
|
||||||
{{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }}
|
{{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -212,6 +212,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<span style="margin-right: 3px">完成标准设置:</span>
|
<span style="margin-right: 3px">完成标准设置:</span>
|
||||||
@@ -236,6 +237,8 @@
|
|||||||
</a-checkbox>
|
</a-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
|
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<span style="margin-right: 3px">现场参与:</span>
|
<span style="margin-right: 3px">现场参与:</span>
|
||||||
@@ -393,7 +396,7 @@ import { getMemberInfo } from "@/api/index1";
|
|||||||
import { debounce } from "lodash-es";
|
import { debounce } from "lodash-es";
|
||||||
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
|
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import AssessmentList from "../drawers/ AssessmentList.vue";
|
import AssessmentList from "@/components/drawers/AssessmentList.vue";
|
||||||
|
|
||||||
// import { toDate } from "../../api/method";、
|
// import { toDate } from "../../api/method";、
|
||||||
import { addTempTask } from "../../api/indexTaskadd";
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
|
|||||||
@@ -104,10 +104,10 @@
|
|||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import AssessmentList from "./ AssessmentList.vue";
|
import { RouterEditTask, IsExistence, IsExistenceProject} from "@/api/indexTask";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
|
||||||
import * as api from "../../api/indexInvist";
|
import * as api from "../../api/indexInvist";
|
||||||
import { addTempTask } from "../../api/indexTaskadd";
|
import { addTempTask } from "../../api/indexTaskadd";
|
||||||
|
import AssessmentList from "@/components/drawers/AssessmentList.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "AddInvist",
|
name: "AddInvist",
|
||||||
components: {
|
components: {
|
||||||
@@ -222,6 +222,29 @@ export default {
|
|||||||
return message.warning("请选择评估");
|
return message.warning("请选择评估");
|
||||||
}
|
}
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
|
IsExistence({
|
||||||
|
chapterId: Number(props.isactive),
|
||||||
|
courseId: state.assessment.assessmentId,
|
||||||
|
routerId: props.routerId,
|
||||||
|
type: 11,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log('shifouchongfu',res)
|
||||||
|
console.log("路径图中是否包含此评估了", res);
|
||||||
|
if (res.data.data.length) {
|
||||||
|
let strdata = res.data.data;
|
||||||
|
let tipStr = "";
|
||||||
|
for (let i = 0; i < strdata.length; i++) {
|
||||||
|
if (i == strdata.length - 1) {
|
||||||
|
tipStr += strdata[i].courseName;
|
||||||
|
} else {
|
||||||
|
tipStr += strdata[i].courseName + "/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
message.destroy();
|
||||||
|
message.warning("评估(" + tipStr + ")重复添加");
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId: props.isactive,
|
chapterId: props.isactive,
|
||||||
courseId: state.assessment.assessmentId,
|
courseId: state.assessment.assessmentId,
|
||||||
@@ -241,7 +264,35 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}).catch(err=>{
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
|
IsExistenceProject({
|
||||||
|
courseId: state.assessment.assessmentId,
|
||||||
|
projectId: props.projectId,
|
||||||
|
stageId: props.chooseStageId || 0,
|
||||||
|
type: 11,
|
||||||
|
}).then(res=>{
|
||||||
|
console.log(res)
|
||||||
|
console.log("项目中是否包含此评估了", res);
|
||||||
|
if (res.data.data.length) {
|
||||||
|
let strdata = res.data.data;
|
||||||
|
let tipStr = "";
|
||||||
|
for (let i = 0; i < strdata.length; i++) {
|
||||||
|
if (i == strdata.length - 1) {
|
||||||
|
tipStr += strdata[i].courseName;
|
||||||
|
} else {
|
||||||
|
tipStr += strdata[i].courseName + "/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
message.destroy();
|
||||||
|
message.warning("评估(" + tipStr + ")重复添加");
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
apiTask
|
apiTask
|
||||||
.addTask({
|
.addTask({
|
||||||
courseId: state.assessment.assessmentId,
|
courseId: state.assessment.assessmentId,
|
||||||
@@ -259,6 +310,11 @@ export default {
|
|||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
|
message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}).catch(err=>{
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
|
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
addTempTask({
|
addTempTask({
|
||||||
courseId: state.assessment.assessmentId,
|
courseId: state.assessment.assessmentId,
|
||||||
|
|||||||
@@ -335,7 +335,8 @@ import { addTempTask } from "../../api/indexTaskadd";
|
|||||||
import { getMemberInfo } from "@/api/index1";
|
import { getMemberInfo } from "@/api/index1";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { fileUp } from "../../api/indexEval";
|
import { fileUp } from "../../api/indexEval";
|
||||||
import AssessmentList from "../drawers/ AssessmentList.vue";
|
//import AssessmentList from "./AssessmentList.vue";
|
||||||
|
import AssessmentList from "@/components/drawers/AssessmentList.vue";
|
||||||
import { debounce } from "lodash-es";
|
import { debounce } from "lodash-es";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import { queryAppraiseDetailById } from "../../api/indexInvist";
|
import { queryAppraiseDetailById } from "../../api/indexInvist";
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<a-form-item has-feedback label="选择考试" name="choosedTest">
|
<a-form-item has-feedback label="选择试卷" name="choosedTest">
|
||||||
<a-button
|
<a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
style="width: 100px; margin-left: 35px"
|
style="width: 100px; margin-left: 35px"
|
||||||
@@ -106,7 +106,7 @@
|
|||||||
@click.prevent
|
@click.prevent
|
||||||
@click="selectTest()"
|
@click="selectTest()"
|
||||||
>
|
>
|
||||||
选择考试
|
选择试卷
|
||||||
</a-button>
|
</a-button>
|
||||||
|
|
||||||
<a-tag
|
<a-tag
|
||||||
@@ -648,7 +648,7 @@ export default {
|
|||||||
}
|
}
|
||||||
if (!state.paperId) {
|
if (!state.paperId) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入选择考试");
|
return message.warning("请输入选择试卷");
|
||||||
}
|
}
|
||||||
if (!formState.choosedTime) {
|
if (!formState.choosedTime) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ export default {
|
|||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
// width: "30%",
|
// width: "30%",
|
||||||
key: "name",
|
key: "name",
|
||||||
width: "150px",
|
width: "20%",
|
||||||
align: "left",
|
align: "left",
|
||||||
className: "classify",
|
className: "classify",
|
||||||
},
|
},
|
||||||
@@ -122,21 +122,21 @@ export default {
|
|||||||
title: "题数",
|
title: "题数",
|
||||||
dataIndex: "num",
|
dataIndex: "num",
|
||||||
key: "num",
|
key: "num",
|
||||||
width: "80px",
|
width: "20%",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "创建人",
|
title: "创建人",
|
||||||
dataIndex: "creator",
|
dataIndex: "creator",
|
||||||
key: "creator",
|
key: "creator",
|
||||||
width: "150px",
|
width: "20%",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "创建时间",
|
title: "创建时间",
|
||||||
dataIndex: "time",
|
dataIndex: "time",
|
||||||
key: "time",
|
key: "time",
|
||||||
width: "200px",
|
width: "20%",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@@ -244,8 +244,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.contentMain {
|
.contentMain {
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
.main_left {
|
.main_left {
|
||||||
padding-right: 30px;
|
padding-right: 30px;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
|
|||||||
396
src/components/drawers/AssessmentList_bak.vue
Normal file
396
src/components/drawers/AssessmentList_bak.vue
Normal file
@@ -0,0 +1,396 @@
|
|||||||
|
<!-- 评估列表 -->
|
||||||
|
<template>
|
||||||
|
<a-drawer
|
||||||
|
:visible="assessmentVisible"
|
||||||
|
class="drawerStyle addinvistDrawer"
|
||||||
|
width="70%"
|
||||||
|
title="添加评估"
|
||||||
|
placement="right"
|
||||||
|
@after-visible-change="afterVisibleChange"
|
||||||
|
>
|
||||||
|
<div class="drawerMain">
|
||||||
|
<div class="header">
|
||||||
|
<div v-if="edit" class="headerTitle">编辑评估11</div>
|
||||||
|
<div v-else class="headerTitle">添加评估11</div>
|
||||||
|
<img
|
||||||
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
|
src="../../assets/images/basicinfo/close.png"
|
||||||
|
@click="closeDrawer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="contentMain">
|
||||||
|
<div class="main_left">
|
||||||
|
<div class="main_item">
|
||||||
|
<div class="fi_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="inputV1"
|
||||||
|
style="width: 424px; height: 40px"
|
||||||
|
placeholder="请输入评估名称"
|
||||||
|
maxlength="20"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="btns" @click="getAllInvistText">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">搜索</div>
|
||||||
|
</div>
|
||||||
|
<div class="btnsn" @click="resetInvist">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">重置</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main_item2">
|
||||||
|
<a-table
|
||||||
|
style="border: 1px solid #f2f6fe"
|
||||||
|
:columns="tableDataFunc()"
|
||||||
|
:data-source="tableData"
|
||||||
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
|
expandRowByClick="true"
|
||||||
|
@expand="expandTable"
|
||||||
|
:pagination="false"
|
||||||
|
:row-key="(record) => record.assessmentId"
|
||||||
|
:row-selection="{
|
||||||
|
selectedRowKeys: selectedRowKeys,
|
||||||
|
onChange: onSelectChange,
|
||||||
|
type: 'radio',
|
||||||
|
}"
|
||||||
|
filterMultiple:false
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div class="pa">
|
||||||
|
<a-pagination
|
||||||
|
showSizeChanger="true"
|
||||||
|
showQuickJumper="true"
|
||||||
|
hideOnSinglePage="true"
|
||||||
|
:pageSize="pageSize"
|
||||||
|
:current="currentPage"
|
||||||
|
:total="tableDataTotal"
|
||||||
|
class="pagination"
|
||||||
|
@change="handelChangePage"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, watch } from "vue";
|
||||||
|
import * as api from "../../api/indexInvist.js";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
export default {
|
||||||
|
name: "AssessmentList",
|
||||||
|
// components: {
|
||||||
|
// },
|
||||||
|
props: {
|
||||||
|
assessmentVisible: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
assessmentId: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
titleTag: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
assessmentName: {
|
||||||
|
type: String,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props, ctx) {
|
||||||
|
watch(
|
||||||
|
props,
|
||||||
|
(newVal) => {
|
||||||
|
state.selectedRowKeys = newVal.assessmentId
|
||||||
|
? [newVal.assessmentId]
|
||||||
|
: [];
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
);
|
||||||
|
|
||||||
|
const state = reactive({
|
||||||
|
assessmentVisible: false,
|
||||||
|
assessment: null,
|
||||||
|
inputV1: "",
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
tableDataTotal: 0,
|
||||||
|
tableData: [],
|
||||||
|
selectedRowKeys: [],
|
||||||
|
assessmentId: null,
|
||||||
|
assessmentName: null,
|
||||||
|
});
|
||||||
|
const closeDrawer = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
|
ctx.emit("update:assessmentVisible", false);
|
||||||
|
ctx.emit("update:titleTag", true);
|
||||||
|
};
|
||||||
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("state getAllInvistText", bool, "======", props.titleTag);
|
||||||
|
if (props.assessmentVisible && bool) {
|
||||||
|
getAllInvistText();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const tableDataFunc = () => {
|
||||||
|
const columns = [
|
||||||
|
{
|
||||||
|
title: "名称",
|
||||||
|
dataIndex: "name",
|
||||||
|
// width: "30%",
|
||||||
|
key: "name",
|
||||||
|
width: "20%",
|
||||||
|
align: "left",
|
||||||
|
className: "classify",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "题数",
|
||||||
|
dataIndex: "num",
|
||||||
|
key: "num",
|
||||||
|
width: "20%",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "creator",
|
||||||
|
key: "creator",
|
||||||
|
width: "20%",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "time",
|
||||||
|
key: "time",
|
||||||
|
width: "20%",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return columns;
|
||||||
|
};
|
||||||
|
const rowSelection = {
|
||||||
|
type: "radio",
|
||||||
|
onSelect: (selectedRows) => {
|
||||||
|
state.assessment = selectedRows;
|
||||||
|
|
||||||
|
/* state.assessmentId = selectedRows.assessmentId;
|
||||||
|
ctx.emit("checkedAss", state.assessment);
|
||||||
|
ctx.emit("update:assessmentId", state.assessmentId);
|
||||||
|
ctx.emit("update:assessmentName", state.assessment.name);
|
||||||
|
console.log("state.assessment",state.assessment);
|
||||||
|
state.selectedRowKeys = [];
|
||||||
|
closeDrawer();*/
|
||||||
|
},
|
||||||
|
};
|
||||||
|
// const onSelectChange = (selectedRowKeys) => {
|
||||||
|
// if(selectedRowKeys.length>2){return}
|
||||||
|
// state.selectedRowKeys = selectedRowKeys;
|
||||||
|
// };
|
||||||
|
|
||||||
|
const onSelectChange = (selectedRowKeys, selectRow) => {
|
||||||
|
console.log("selectedRowKeys changed: ", selectedRowKeys, selectRow);
|
||||||
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
|
console.log(selectRow);
|
||||||
|
state.assessment = selectRow[0];
|
||||||
|
state.assessmentId = selectRow[0].assessmentId;
|
||||||
|
ctx.emit("checkedAss", state.assessment);
|
||||||
|
ctx.emit("update:assessmentId", state.assessmentId);
|
||||||
|
ctx.emit("update:assessmentName", state.assessment.name);
|
||||||
|
|
||||||
|
closeDrawer();
|
||||||
|
};
|
||||||
|
|
||||||
|
const handelChangePage = (page, pageSize) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
state.pageSize = pageSize;
|
||||||
|
getAllInvistText();
|
||||||
|
};
|
||||||
|
const getTableDate = (tableData) => {
|
||||||
|
let data = tableData;
|
||||||
|
let array = [];
|
||||||
|
data.map((value, index) => {
|
||||||
|
let obj = {
|
||||||
|
key: index,
|
||||||
|
assessmentId: value.assessmentId,
|
||||||
|
num: value.essayQuestionVoList.length,
|
||||||
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
|
creator: value.createUser ? value.createUser : "-",
|
||||||
|
time: dayjs(value.createTime).format("YYYY-MM-DD"),
|
||||||
|
};
|
||||||
|
array.push(obj);
|
||||||
|
});
|
||||||
|
// (state.selectedRowKeys = []), (state.tableData = array);
|
||||||
|
state.tableData = array;
|
||||||
|
};
|
||||||
|
//获取全部评估信息接口
|
||||||
|
const getAllInvistText = () => {
|
||||||
|
api
|
||||||
|
.queryAssessmentDetailList({
|
||||||
|
assessmentName: state.inputV1,
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
let arr = res.data.data.rows;
|
||||||
|
if (res.status === 200) {
|
||||||
|
console.log("获取全部评估信息", res.data.data);
|
||||||
|
state.selectedRowKeys = [props.assessmentId]
|
||||||
|
console.log(props.assessmentId,props)
|
||||||
|
getTableDate(arr);
|
||||||
|
state.tableDataTotal = Number(res.data.data.total);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取全部评估信息接口失败", err);
|
||||||
|
// state.createLoading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//重置评估信息
|
||||||
|
const resetInvist = () => {
|
||||||
|
state.inputV1 = "";
|
||||||
|
getAllInvistText();
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
afterVisibleChange,
|
||||||
|
closeDrawer,
|
||||||
|
tableDataFunc,
|
||||||
|
rowSelection,
|
||||||
|
getAllInvistText,
|
||||||
|
resetInvist,
|
||||||
|
handelChangePage,
|
||||||
|
onSelectChange,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.ant-table-striped :deep(.table-striped) td {
|
||||||
|
background-color: #fafafa !important;
|
||||||
|
}
|
||||||
|
.addinvistDrawer {
|
||||||
|
.drawerMain {
|
||||||
|
.header {
|
||||||
|
height: 73px;
|
||||||
|
border-bottom: 1px solid #e8e8e8;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
.headerTitle {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 25px;
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contentMain {
|
||||||
|
|
||||||
|
.main_left {
|
||||||
|
padding-right: 30px;
|
||||||
|
margin-top: 32px;
|
||||||
|
.main_item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
.fi_input {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.btns {
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 38px;
|
||||||
|
background: #409eff;
|
||||||
|
border-radius: 8px;
|
||||||
|
//border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
.search {
|
||||||
|
width: 15px;
|
||||||
|
height: 17px;
|
||||||
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btnsn {
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 38px;
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
.search {
|
||||||
|
width: 16px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #409eff;
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main_item2 {
|
||||||
|
.pa {
|
||||||
|
width: 100%;
|
||||||
|
margin: 15px auto;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main_btns {
|
||||||
|
height: 72px;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||||
|
.btn1 {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
color: #4ea6ff;
|
||||||
|
background-color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.btn2 {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 0;
|
||||||
|
margin-left: 15px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">选择考试</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"
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnss" style="margin-top: 20px">
|
<div class="btnss" style="margin-top: 20px">
|
||||||
<div class="btn btn1" @click="newTest()" style="margin-right: 20px">
|
<div class="btn btn1" @click="newTest()" style="margin-right: 20px">
|
||||||
<div class="wz">新建考试</div>
|
<div class="wz">新建试卷</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
|
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { toRefs, reactive } from "vue";
|
import { toRefs, reactive } from "vue";
|
||||||
import * as api from "../../api/indexExam";
|
import * as api from "../../api/indexExam";
|
||||||
import { message } from "ant-design-vue";
|
//import { message } from "ant-design-vue";
|
||||||
import { iframeUrl } from "../../api/method";
|
import { iframeUrl } from "../../api/method";
|
||||||
export default {
|
export default {
|
||||||
name: "STest",
|
name: "STest",
|
||||||
@@ -267,12 +267,12 @@ export default {
|
|||||||
});
|
});
|
||||||
state.tableData = array
|
state.tableData = array
|
||||||
state.tableDataTotal = array.length
|
state.tableDataTotal = array.length
|
||||||
message.destroy()
|
//message.destroy()
|
||||||
message.success("获取选择考试列表成功");
|
//message.success("获取选择考试列表成功");
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
message.destroy();
|
//message.destroy();
|
||||||
message.error("获取选择考试列表失败");
|
//message.error("获取选择考试列表失败");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -75,10 +75,10 @@
|
|||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 2022-11-30注释 后面放开 -->
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
<!-- <div class="btn btn3" @click="openMessage">
|
<div class="btn btn3" @click="openMessage">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">导出</div>
|
<div class="btnText">导出</div>
|
||||||
</div> -->
|
</div>
|
||||||
<div class="btn btn4" @click="of_hShow">
|
<div class="btn btn4" @click="of_hShow">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">新建课程</div>
|
<div class="btnText">新建课程</div>
|
||||||
@@ -629,6 +629,9 @@
|
|||||||
<!-- <div class="file_name">
|
<!-- <div class="file_name">
|
||||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
<div class="file_name">
|
||||||
|
<span style="color: #6f6f6f;width:140px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.slice(item.lastIndexOf('/')+1) }}</span>
|
||||||
|
</div>
|
||||||
<!-- 条件渲染 s -->
|
<!-- 条件渲染 s -->
|
||||||
<!-- <div class="file_size">
|
<!-- <div class="file_size">
|
||||||
<span style="color: #999ba3">{{ item.size }}</span>
|
<span style="color: #999ba3">{{ item.size }}</span>
|
||||||
@@ -1548,7 +1551,7 @@
|
|||||||
<div class="modalMain">
|
<div class="modalMain">
|
||||||
<div class="schooltime" :style="{ display: stm_hs ? 'block' : 'none' }">
|
<div class="schooltime" :style="{ display: stm_hs ? 'block' : 'none' }">
|
||||||
<div class="st_main">
|
<div class="st_main">
|
||||||
<div class="stm_inputbtn">
|
<div class="stm_inputbtn" style="width: 100%">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="kk_inputV1"
|
v-model:value="kk_inputV1"
|
||||||
style="
|
style="
|
||||||
@@ -1570,11 +1573,22 @@
|
|||||||
placeholder="请输入教师名称"
|
placeholder="请输入教师名称"
|
||||||
/>
|
/>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-date-picker
|
<!-- <a-date-picker
|
||||||
v-model:value="selectTime"
|
v-model:value="selectTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="创建时间"
|
placeholder="创建时间"
|
||||||
style="width: 270px; margin-right: 14px"
|
style="width: 270px; margin-right: 14px"
|
||||||
|
/> -->
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="selectTime"
|
||||||
|
type="date"
|
||||||
|
style="width: 270px; margin-right: 14px"
|
||||||
|
:show-time="{
|
||||||
|
defaultValue: [
|
||||||
|
moment('00:00:00', 'HH:mm:ss'),
|
||||||
|
moment('23:59:59', 'HH:mm:ss'),
|
||||||
|
],
|
||||||
|
}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="stm_btn btn1" @click="handleSearchTable">
|
<div class="stm_btn btn1" @click="handleSearchTable">
|
||||||
@@ -1585,13 +1599,17 @@
|
|||||||
<div class="reset"></div>
|
<div class="reset"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="stm_btn3 btn3" @click="createkk">
|
</div>
|
||||||
|
<div
|
||||||
|
class="stm_btn3 btn3"
|
||||||
|
@click="createkk"
|
||||||
|
style="margin-bottom: 10px"
|
||||||
|
>
|
||||||
<div class="add"></div>
|
<div class="add"></div>
|
||||||
<div class="btnText">
|
<div class="btnText">
|
||||||
<span style="color: #ffffff">新建开课</span>
|
<span style="color: #ffffff">新建开课</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<!-- 无数据样式 -->
|
<!-- 无数据样式 -->
|
||||||
<div class="notable" v-if="tableData6.length === 0">
|
<div class="notable" v-if="tableData6.length === 0">
|
||||||
<div class="notablebox">
|
<div class="notablebox">
|
||||||
@@ -1956,9 +1974,9 @@
|
|||||||
>
|
>
|
||||||
<div class="file_img"></div>
|
<div class="file_img"></div>
|
||||||
<div class="file_detail">
|
<div class="file_detail">
|
||||||
<!-- <div class="file_name">
|
<div class="file_name">
|
||||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
<span style="color: #6f6f6f;width:140px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.slice(item.lastIndexOf('/')+1) }}</span>
|
||||||
</div> -->
|
</div>
|
||||||
<!-- 条件渲染 s -->
|
<!-- 条件渲染 s -->
|
||||||
<!-- <div class="file_size">
|
<!-- <div class="file_size">
|
||||||
<span style="color: #999ba3">{{ item.size }}</span>
|
<span style="color: #999ba3">{{ item.size }}</span>
|
||||||
@@ -2675,7 +2693,7 @@ import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue";
|
|||||||
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
||||||
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
||||||
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
||||||
import AssessmentList from "../../components/drawers/ AssessmentList.vue";
|
import AssessmentList from "../../components/drawers/AssessmentList.vue";
|
||||||
import {
|
import {
|
||||||
list,
|
list,
|
||||||
edit,
|
edit,
|
||||||
@@ -2713,7 +2731,7 @@ import SeeModal from "./components/seeModal.vue";
|
|||||||
import CourseModal from "./courseModal.vue";
|
import CourseModal from "./courseModal.vue";
|
||||||
import * as moment from "moment";
|
import * as moment from "moment";
|
||||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||||
import { codeUrl } from "../../api/method";
|
import { codeUrl, toDate } from "../../api/method";
|
||||||
//列表表格
|
//列表表格
|
||||||
const columns1 = [
|
const columns1 = [
|
||||||
{
|
{
|
||||||
@@ -2867,7 +2885,7 @@ const columns1 = [
|
|||||||
key: "10",
|
key: "10",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ text }) => {
|
customRender: ({ text }) => {
|
||||||
return text ? getdateToTime(text * 1000) : "-";
|
return text ? text : "-";
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -3013,9 +3031,6 @@ const columns6 = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "开始时间",
|
title: "开始时间",
|
||||||
dataIndex: "starttime",
|
dataIndex: "starttime",
|
||||||
@@ -3280,6 +3295,7 @@ export default defineComponent({
|
|||||||
],
|
],
|
||||||
//在线面授管理学习记录
|
//在线面授管理学习记录
|
||||||
tableData3: [
|
tableData3: [
|
||||||
|
|
||||||
{
|
{
|
||||||
key: 1,
|
key: 1,
|
||||||
projectName: "刘莉",
|
projectName: "刘莉",
|
||||||
@@ -3415,7 +3431,7 @@ export default defineComponent({
|
|||||||
value4: "",
|
value4: "",
|
||||||
//选择线上还是面授
|
//选择线上还是面授
|
||||||
xzinputV1: "",
|
xzinputV1: "",
|
||||||
valueE1: 2,
|
valueE1:2,
|
||||||
valueE2: "",
|
valueE2: "",
|
||||||
//确定面授
|
//确定面授
|
||||||
ft_eidt: false,
|
ft_eidt: false,
|
||||||
@@ -4111,15 +4127,30 @@ export default defineComponent({
|
|||||||
// 渲染开课操作
|
// 渲染开课操作
|
||||||
const getTableDate3 = async () => {
|
const getTableDate3 = async () => {
|
||||||
// let datas = state.tableData6;
|
// let datas = state.tableData6;
|
||||||
|
let beginTime = "";
|
||||||
|
let endTime = "";
|
||||||
|
if (state.selectTime) {
|
||||||
|
// beginTime = parseInt(new Date(state.selectTime[0].$d).getTime() / 1000);
|
||||||
|
// endTime = parseInt(new Date(state.selectTime[1].$d).getTime() / 1000);
|
||||||
|
beginTime = toDate(
|
||||||
|
new Date(state.selectTime[0].$d).getTime() / 1000,
|
||||||
|
"Y-M-D h:m:s"
|
||||||
|
);
|
||||||
|
endTime = toDate(
|
||||||
|
new Date(state.selectTime[1].$d).getTime() / 1000,
|
||||||
|
"Y-M-D h:m:s"
|
||||||
|
);
|
||||||
|
}
|
||||||
let obj = {
|
let obj = {
|
||||||
pageNo: state.currentPage222,
|
pageNo: state.currentPage222,
|
||||||
pageSize: state.pageSize222,
|
pageSize: state.pageSize222,
|
||||||
createName: state.kk_inputV1,
|
createName: state.kk_inputV1,
|
||||||
teacher: state.kk_inputV2,
|
teacher: state.kk_inputV2,
|
||||||
beginTime: parseInt(new Date(state.selectTime).getTime() / 1000),
|
beginTime: beginTime,
|
||||||
|
endTime: endTime,
|
||||||
offcourseId: state.offcourseId,
|
offcourseId: state.offcourseId,
|
||||||
};
|
};
|
||||||
console.log("获取开课", obj);
|
console.log("获取开obj", obj, state.selectTime);
|
||||||
let res = await planList(obj);
|
let res = await planList(obj);
|
||||||
console.log("开课res", res);
|
console.log("开课res", res);
|
||||||
const { rows, total, pageNo } = res.data.data;
|
const { rows, total, pageNo } = res.data.data;
|
||||||
@@ -4236,19 +4267,15 @@ export default defineComponent({
|
|||||||
state.valueE1 = "";
|
state.valueE1 = "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
//新建面授课
|
||||||
const createft = () => {
|
const createft = () => {
|
||||||
if (!state.valueE1 || !state.xzinputV1) {
|
if (!state.xzinputV1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入必填项");
|
return message.warning("请输入必填项");
|
||||||
}
|
}
|
||||||
console.log(
|
console.log("state.bs_hs && state.valueE1 == 2",state.bs_hs , state.valueE1 == 2);
|
||||||
" state.valueE1",
|
|
||||||
state.valueE1,
|
if (state.valueE1 === 2) {
|
||||||
!state.bs_hs && state.valueE1 == 2,
|
|
||||||
state.bs_hs,
|
|
||||||
state.valueE1 == 2
|
|
||||||
);
|
|
||||||
if (state.bs_hs && state.valueE1 == 2) {
|
|
||||||
state.of_hs = false;
|
state.of_hs = false;
|
||||||
// state.ft_hs = true;
|
// state.ft_hs = true;
|
||||||
CourseModalRef.value.visibleOpen(null, state.xzinputV1);
|
CourseModalRef.value.visibleOpen(null, state.xzinputV1);
|
||||||
@@ -4745,7 +4772,7 @@ export default defineComponent({
|
|||||||
completeType: item.completeType,
|
completeType: item.completeType,
|
||||||
endTime: new Date(item.endTime) / 1000,
|
endTime: new Date(item.endTime) / 1000,
|
||||||
evalFlag: item.evalFlag,
|
evalFlag: item.evalFlag,
|
||||||
name: item.name+'1',
|
name: item.name + "1",
|
||||||
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
|
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
|
||||||
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
|
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
|
||||||
teacherId: item.teacherId,
|
teacherId: item.teacherId,
|
||||||
@@ -4769,7 +4796,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
const postData = {
|
const postData = {
|
||||||
offcourseId: null, //不传代表新增
|
offcourseId: null, //不传代表新增
|
||||||
name: item.name+'1',
|
name: item.name + "1",
|
||||||
picUrl: item.picUrl,
|
picUrl: item.picUrl,
|
||||||
targetUser: item.targetUser,
|
targetUser: item.targetUser,
|
||||||
meaning: item.meaning,
|
meaning: item.meaning,
|
||||||
@@ -5129,6 +5156,7 @@ export default defineComponent({
|
|||||||
// size: file.size,
|
// size: file.size,
|
||||||
// });
|
// });
|
||||||
// console.log(state.filesList);
|
// console.log(state.filesList);
|
||||||
|
console.log(res.data.data)
|
||||||
state.filesList = [res.data.data];
|
state.filesList = [res.data.data];
|
||||||
// state.hasImgName = res.data.data;
|
// state.hasImgName = res.data.data;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3103,7 +3103,7 @@ import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue";
|
|||||||
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
||||||
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
||||||
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
||||||
import AssessmentList from "../../components/drawers/ AssessmentList.vue";
|
import AssessmentList from "../../components/drawers/AssessmentList.vue";
|
||||||
import {
|
import {
|
||||||
list,
|
list,
|
||||||
edit,
|
edit,
|
||||||
|
|||||||
@@ -156,6 +156,7 @@
|
|||||||
<div class="mbl_items12">
|
<div class="mbl_items12">
|
||||||
<div
|
<div
|
||||||
class="i12_box1"
|
class="i12_box1"
|
||||||
|
style="position:relative;"
|
||||||
v-for="(item, index) in detail.attach"
|
v-for="(item, index) in detail.attach"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
@@ -205,13 +206,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="file_detail">
|
<div class="file_detail">
|
||||||
<div class="file_name">
|
<div class="file_name">
|
||||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
<!-- http://111.231.196.214:12016/7.231.196.214:12016/7-1670486854017.jpg -->
|
||||||
|
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:4px;left:72px;">
|
||||||
|
{{ item.indexOf('-')!==-1?item.slice(item.lastIndexOf('/')+1,item.indexOf('-')) + item.slice(item.lastIndexOf('.')) :item }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="file_updata">
|
<div class="file_updata">
|
||||||
<div class="updatabox">
|
<div class="updatabox">
|
||||||
<div class="updatacolor"></div>
|
<div class="updatacolor"></div>
|
||||||
<div class="updataxq">上传完成</div>
|
<div class="updataxq" style="right:-62px;">上传完成</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="upjd">
|
<div class="upjd">
|
||||||
<span style="margin: auto 5px">100%</span>
|
<span style="margin: auto 5px">100%</span>
|
||||||
@@ -642,21 +646,21 @@ export default defineComponent({
|
|||||||
|
|
||||||
.updataxq {
|
.updataxq {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 2px;
|
right: -62px;
|
||||||
top: -30px;
|
top: -30px;
|
||||||
color: #57c887;
|
color: #57c887;
|
||||||
}
|
}
|
||||||
|
|
||||||
.updataxq2 {
|
.updataxq2 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 2px;
|
right: -62px;
|
||||||
top: -30px;
|
top: -30px;
|
||||||
color: #ff7474;
|
color: #ff7474;
|
||||||
}
|
}
|
||||||
|
|
||||||
.updataxq3 {
|
.updataxq3 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 2px;
|
right: -62px;
|
||||||
top: -30px;
|
top: -30px;
|
||||||
color: #388be1;
|
color: #388be1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -449,6 +449,7 @@ export default defineComponent({
|
|||||||
state.qdms_inputV6 = "";
|
state.qdms_inputV6 = "";
|
||||||
state.imgList = [];
|
state.imgList = [];
|
||||||
state.attach = "";
|
state.attach = "";
|
||||||
|
state.auditDescription="";
|
||||||
|
|
||||||
// valueHtml.value = "";
|
// valueHtml.value = "";
|
||||||
};
|
};
|
||||||
@@ -661,21 +662,9 @@ export default defineComponent({
|
|||||||
if (res.data.code === 200) return res.data.data;
|
if (res.data.code === 200) return res.data.data;
|
||||||
});
|
});
|
||||||
if (res.rows && res.rows.length > 0) {
|
if (res.rows && res.rows.length > 0) {
|
||||||
state.auditDescription = res.rows[0].description
|
let i =res.rows.length;
|
||||||
? res.rows[0].description
|
state.auditDescription = res.rows[i-1].description?res.rows[i-1].description :"-";
|
||||||
: "-";
|
|
||||||
console.log("state.auditDescription", state.auditDescription);
|
|
||||||
}
|
}
|
||||||
api2.auditList(obj).then((res)=>{
|
|
||||||
|
|
||||||
if(res.data.data.rows &&res.data.data.rows.length > 0){
|
|
||||||
let i =res.data.data.rows.length ;
|
|
||||||
state.auditDescription = res.data.data.rows[i-1].description?res.data.data.rows[i-1].description :"-";
|
|
||||||
console.log("state.auditDescription",state.auditDescription);
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
state.qdms_inputV1 = item.name;
|
state.qdms_inputV1 = item.name;
|
||||||
|
|||||||
@@ -854,6 +854,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="item in fileList"
|
v-for="item in fileList"
|
||||||
:key="item.uid"
|
:key="item.uid"
|
||||||
|
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
|
||||||
class="docListStyle"
|
class="docListStyle"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
@@ -866,11 +867,11 @@
|
|||||||
"
|
"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
<span style="font: oblique bold 16px Sans-serif">{{
|
<span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
|
||||||
item.name
|
item.name
|
||||||
}}</span>
|
}}</span>
|
||||||
<span
|
<span
|
||||||
style="color: #4ea6ff; float: right; cursor: pointer"
|
style="color: #4ea6ff; cursor: pointer"
|
||||||
@click="deFile(item.uid)"
|
@click="deFile(item.uid)"
|
||||||
>删除</span
|
>删除</span
|
||||||
>
|
>
|
||||||
@@ -1462,6 +1463,7 @@ export default {
|
|||||||
codevisible: false, //二维码是否显示
|
codevisible: false, //二维码是否显示
|
||||||
codeInfo: null, //二维码内容
|
codeInfo: null, //二维码内容
|
||||||
|
|
||||||
|
levelTotal: 0, //设置基本信息需判断的关卡总数
|
||||||
previewSelect: 0,
|
previewSelect: 0,
|
||||||
studySelect: 0,
|
studySelect: 0,
|
||||||
previewStartNum: 0,
|
previewStartNum: 0,
|
||||||
@@ -2057,6 +2059,10 @@ export default {
|
|||||||
//获取设置信息
|
//获取设置信息
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
//previewSetting studySetting
|
//previewSetting studySetting
|
||||||
|
if (res.data.data.chapterList) {
|
||||||
|
state.levelTotal = res.data.data.chapterList.length;
|
||||||
|
}
|
||||||
|
|
||||||
state.previewSelect = res.data.data.routerInfo.enablePreview;
|
state.previewSelect = res.data.data.routerInfo.enablePreview;
|
||||||
state.studySelect = res.data.data.routerInfo.enableStudy;
|
state.studySelect = res.data.data.routerInfo.enableStudy;
|
||||||
if (res.data.data.routerInfo.previewSetting) {
|
if (res.data.data.routerInfo.previewSetting) {
|
||||||
@@ -2231,7 +2237,7 @@ export default {
|
|||||||
message.warning("删除失败");
|
message.warning("删除失败");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 设置------------------------------------------------------
|
// 设置start------------------------------------------------------
|
||||||
//编辑基本信息
|
//编辑基本信息
|
||||||
const editLearnInfo = () => {
|
const editLearnInfo = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -2241,6 +2247,13 @@ export default {
|
|||||||
previewSetting: state.previewStartNum + "," + state.previewEndNum,
|
previewSetting: state.previewStartNum + "," + state.previewEndNum,
|
||||||
studySetting: state.studyStartNum + "," + state.studyEndNum,
|
studySetting: state.studyStartNum + "," + state.studyEndNum,
|
||||||
};
|
};
|
||||||
|
if (
|
||||||
|
state.previewStartNum > state.levelTotal ||
|
||||||
|
state.previewEndNum > state.levelTotal ||
|
||||||
|
state.studyStartNum > state.levelTotal ||
|
||||||
|
state.studyEndNum > state.levelTotal
|
||||||
|
)
|
||||||
|
return message.warning("关卡数超过范围");
|
||||||
console.log("编辑设置基本信息obj", obj);
|
console.log("编辑设置基本信息obj", obj);
|
||||||
api
|
api
|
||||||
.editLearnInfo(obj)
|
.editLearnInfo(obj)
|
||||||
@@ -2248,13 +2261,14 @@ export default {
|
|||||||
console.log("编辑设置基本信息成功", res);
|
console.log("编辑设置基本信息成功", res);
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
message.success("修改成功");
|
message.success("修改成功");
|
||||||
|
closebtn();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("编辑设置基本信息失败", err);
|
console.log("编辑设置基本信息失败", err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 设置-----------------------------------------------------
|
// 设置end-----------------------------------------------------
|
||||||
//添加学员
|
//添加学员
|
||||||
watch(
|
watch(
|
||||||
() => state.addAuthList,
|
() => state.addAuthList,
|
||||||
@@ -2312,12 +2326,14 @@ export default {
|
|||||||
//清空所选的学员
|
//清空所选的学员
|
||||||
const clearChooseStu = () => {
|
const clearChooseStu = () => {
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
title: '确定清空所有学员吗?', onOk: async () => {
|
title: "确定清空所有学员吗?",
|
||||||
state.addAuthList = []
|
onOk: async () => {
|
||||||
|
state.addAuthList = [];
|
||||||
// student.studentDelAll({id: state.routerId, type: 2})
|
// student.studentDelAll({id: state.routerId, type: 2})
|
||||||
// state.tabledata = []
|
// state.tabledata = []
|
||||||
// state.tableDataTotal = 0;
|
// state.tableDataTotal = 0;
|
||||||
}, bodyStyle: 'margin-top:70%'
|
},
|
||||||
|
bodyStyle: "margin-top:70%",
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2645,8 +2661,9 @@ export default {
|
|||||||
|
|
||||||
.docListStyle {
|
.docListStyle {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 300px !important;
|
width: 500px !important;
|
||||||
justify-content: space-around;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.del_btnbox {
|
.del_btnbox {
|
||||||
|
|||||||
@@ -56,7 +56,10 @@
|
|||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">任务大纲</div>
|
<div class="taskmain">任务大纲</div>
|
||||||
<!-- <button class="btn" @click="showFaceIn">批量面授报名</button> -->
|
<!-- <button class="btn" @click="showFaceIn">批量面授报名</button> -->
|
||||||
<router-link class="edit" :to="{ path: `/temTask`, query: { projectId: projectId } }">
|
<router-link
|
||||||
|
class="edit"
|
||||||
|
:to="{ path: `/temTask`, query: { projectId: projectId } }"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
class="editimg"
|
class="editimg"
|
||||||
src="../../assets/images/projectadd/edit.png"
|
src="../../assets/images/projectadd/edit.png"
|
||||||
@@ -147,7 +150,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="iconame">「{{ item.course }}」</div>
|
<div class="iconame">「{{ item.course }}」</div>
|
||||||
<div class="icontext">{{ item.name }}</div>
|
<div class="icontext" :title="item.name">
|
||||||
|
{{ item.name }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="type">
|
<div class="type">
|
||||||
@@ -283,33 +288,28 @@
|
|||||||
v-model:checked="checked"
|
v-model:checked="checked"
|
||||||
@click="changeopclo"
|
@click="changeopclo"
|
||||||
/>
|
/>
|
||||||
<div v-if="(checked==true)"
|
<div v-if="checked == true" class="opclo">
|
||||||
class="opclo">
|
|
||||||
<span>关闭</span>
|
<span>关闭</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="(checked==false)"
|
<div v-if="checked == false" class="opclo">
|
||||||
class="opclo" >
|
|
||||||
<span>开启</span>
|
<span>开启</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="(checked==true)"
|
<div v-if="checked == true" class="ntc_content">
|
||||||
class="ntc_content">
|
|
||||||
<div class="ntcc_tit">当前公告内容:</div>
|
<div class="ntcc_tit">当前公告内容:</div>
|
||||||
<div class="textarea">
|
<div class="textarea">
|
||||||
{{noticeContent==""?"暂无公告":noticeContent}}
|
{{ noticeContent == "" ? "暂无公告" : noticeContent }}
|
||||||
<div v-if="(editFlag == false)" class="btnarea" >
|
<div v-if="editFlag == false" class="btnarea">
|
||||||
<div> </div>
|
<div> </div>
|
||||||
<div class="area_btn" @click="editNotice">
|
<div class="area_btn" @click="editNotice">
|
||||||
|
|
||||||
<div class="btnText">编辑</div>
|
<div class="btnText">编辑</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template v-if="(editFlag==true)">
|
<template v-if="editFlag == true">
|
||||||
<div> </div>
|
<div> </div>
|
||||||
<div class="ntcc_tit" >编辑公告:</div>
|
<div class="ntcc_tit">编辑公告:</div>
|
||||||
<div class="textarea">
|
<div class="textarea">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="projectInfo.notice"
|
v-model:value="projectInfo.notice"
|
||||||
@@ -592,7 +592,10 @@
|
|||||||
<div class="box"></div>
|
<div class="box"></div>
|
||||||
<div class="onetitle">上传共享文档</div>
|
<div class="onetitle">上传共享文档</div>
|
||||||
<div class="oneedi">
|
<div class="oneedi">
|
||||||
<a-switch v-model:checked="attachSwitch" @change="checkedClose"></a-switch>
|
<a-switch
|
||||||
|
v-model:checked="attachSwitch"
|
||||||
|
@change="checkedClose"
|
||||||
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox" style="margin: 20px">
|
<div class="btnbox" style="margin: 20px">
|
||||||
@@ -638,11 +641,11 @@
|
|||||||
"
|
"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
<span style="font: oblique bold 16px Sans-serif">{{
|
<span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
|
||||||
item.name
|
item.name
|
||||||
}}</span>
|
}}</span>
|
||||||
<span
|
<span
|
||||||
style="color: #4ea6ff; float: right; cursor: pointer"
|
style="color: #4ea6ff; cursor: pointer"
|
||||||
@click="deFile(item.uid)"
|
@click="deFile(item.uid)"
|
||||||
>删除</span
|
>删除</span
|
||||||
>
|
>
|
||||||
@@ -844,8 +847,8 @@ export default defineComponent({
|
|||||||
seven1: null,
|
seven1: null,
|
||||||
seven2: null,
|
seven2: null,
|
||||||
edit: true,
|
edit: true,
|
||||||
fileList:[],
|
fileList: [],
|
||||||
attachSwitch:true,
|
attachSwitch: true,
|
||||||
// 共享文档列表
|
// 共享文档列表
|
||||||
docList: [
|
docList: [
|
||||||
{
|
{
|
||||||
@@ -863,17 +866,17 @@ export default defineComponent({
|
|||||||
],
|
],
|
||||||
isEdit: false, // 是否处于编辑状态
|
isEdit: false, // 是否处于编辑状态
|
||||||
// 基本信息
|
// 基本信息
|
||||||
projectInfo: { },
|
projectInfo: {},
|
||||||
noticeContent:"",
|
noticeContent: "",
|
||||||
editFlag:false,
|
editFlag: false,
|
||||||
});
|
});
|
||||||
const value = ref("");
|
const value = ref("");
|
||||||
const textnum = "150";
|
const textnum = "150";
|
||||||
const routered = useRouter();
|
const routered = useRouter();
|
||||||
const changeopclo = () => {
|
const changeopclo = () => {
|
||||||
state.projectInfo.noticeFlag = state.checked?1:0;
|
state.projectInfo.noticeFlag = state.checked ? 1 : 0;
|
||||||
api
|
api
|
||||||
.templateEdit( state.projectInfo)
|
.templateEdit(state.projectInfo)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
})
|
})
|
||||||
@@ -913,9 +916,9 @@ export default defineComponent({
|
|||||||
state.isEdit = false;
|
state.isEdit = false;
|
||||||
getDetail();
|
getDetail();
|
||||||
};
|
};
|
||||||
const editNotice =()=>{
|
const editNotice = () => {
|
||||||
state.editFlag = true ;
|
state.editFlag = true;
|
||||||
}
|
};
|
||||||
|
|
||||||
const checkType = (type) => {
|
const checkType = (type) => {
|
||||||
let typeRules = [
|
let typeRules = [
|
||||||
@@ -951,21 +954,30 @@ export default defineComponent({
|
|||||||
state.projectInfo = res.data.data.projectTemplateInfo;
|
state.projectInfo = res.data.data.projectTemplateInfo;
|
||||||
|
|
||||||
state.noticeContent = state.projectInfo.notice;
|
state.noticeContent = state.projectInfo.notice;
|
||||||
state.checked = state.projectInfo.noticeFlag==1?true:false;
|
state.checked = state.projectInfo.noticeFlag == 1 ? true : false;
|
||||||
console.log("res.data.data.projectTemplateInfo",res.data.data.projectTemplateInfo);
|
console.log(
|
||||||
|
"res.data.data.projectTemplateInfo",
|
||||||
|
res.data.data.projectTemplateInfo
|
||||||
|
);
|
||||||
|
|
||||||
try{
|
try {
|
||||||
state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach);
|
state.fileList = JSON.parse(
|
||||||
}catch{
|
res.data.data.projectTemplateInfo.attach
|
||||||
|
);
|
||||||
|
} catch {
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
}
|
}
|
||||||
state.attachSwitch = res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false
|
state.attachSwitch =
|
||||||
|
res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false;
|
||||||
let data = res.data.data.stageList;
|
let data = res.data.data.stageList;
|
||||||
console.log("data=====", data);
|
console.log("data=====", data);
|
||||||
for (let i in data) {
|
for (let i in data) {
|
||||||
console.log("what ------ > ", i, data);
|
console.log("what ------ > ", i, data);
|
||||||
if(data[i].taskList.length!==0){
|
if (data[i].taskList.length !== 0) {
|
||||||
state.taskSyllabus.push({ text: data[i].name?data[i].name:'无阶段任务', children: [] });
|
state.taskSyllabus.push({
|
||||||
|
text: data[i].name ? data[i].name : "无阶段任务",
|
||||||
|
children: [],
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let j in data[i].taskList) {
|
for (let j in data[i].taskList) {
|
||||||
@@ -990,11 +1002,11 @@ export default defineComponent({
|
|||||||
// 发布公告
|
// 发布公告
|
||||||
const addNotice = () => {
|
const addNotice = () => {
|
||||||
// state.projectInfo.notice=
|
// state.projectInfo.notice=
|
||||||
if(!state.projectInfo.notice){
|
if (!state.projectInfo.notice) {
|
||||||
return message.warning("请输入公告内容");
|
return message.warning("请输入公告内容");
|
||||||
}
|
}
|
||||||
api
|
api
|
||||||
.templateEdit( state.projectInfo)
|
.templateEdit(state.projectInfo)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
state.noticeContent = state.projectInfo.notice;
|
state.noticeContent = state.projectInfo.notice;
|
||||||
message.success("公告发布成功");
|
message.success("公告发布成功");
|
||||||
@@ -1004,7 +1016,7 @@ export default defineComponent({
|
|||||||
message.error("公告发布失败" + err);
|
message.error("公告发布失败" + err);
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
state.editFlag =false;
|
state.editFlag = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 删除阶段
|
// 删除阶段
|
||||||
@@ -1043,7 +1055,6 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// 新建或编辑阶段
|
// 新建或编辑阶段
|
||||||
const stateEdit = () => {
|
const stateEdit = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -1186,7 +1197,7 @@ export default defineComponent({
|
|||||||
.templateEdit({
|
.templateEdit({
|
||||||
sourceBelongId: state.projectInfo.sourceBelongId,
|
sourceBelongId: state.projectInfo.sourceBelongId,
|
||||||
projectTemplateId: localStorage.getItem("projectTemplateId"),
|
projectTemplateId: localStorage.getItem("projectTemplateId"),
|
||||||
attachSwitch: state.attachSwitch?1:-1
|
attachSwitch: state.attachSwitch ? 1 : -1,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("开关更新成功", res);
|
console.log("开关更新成功", res);
|
||||||
@@ -1277,7 +1288,7 @@ export default defineComponent({
|
|||||||
handleChange2,
|
handleChange2,
|
||||||
scoresum,
|
scoresum,
|
||||||
checkedClose,
|
checkedClose,
|
||||||
editNotice
|
editNotice,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -1951,8 +1962,9 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
.docListStyle {
|
.docListStyle {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 300px !important;
|
width: 500px !important;
|
||||||
justify-content: space-around;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.taskBox {
|
.taskBox {
|
||||||
.onerow {
|
.onerow {
|
||||||
|
|||||||
@@ -5,11 +5,11 @@
|
|||||||
<div class="leftmain">
|
<div class="leftmain">
|
||||||
<div class="tit">
|
<div class="tit">
|
||||||
阶段
|
阶段
|
||||||
<!-- <img-->
|
<img
|
||||||
<!-- src="../../assets/images/projectadd/right.png"-->
|
src="../../assets/images/projectadd/right.png"
|
||||||
<!-- style="margin-left: 10px; cursor: pointer"-->
|
style="margin-left: 10px; cursor: pointer"
|
||||||
<!-- @click="showCancel"-->
|
@click="showCancel"
|
||||||
<!-- />-->
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn3" @click="showModal()" style="margin-left: 19px">
|
<div class="btn btn3" @click="showModal()" style="margin-left: 19px">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -880,13 +880,13 @@
|
|||||||
<div class="close_exit" @click="closeCancel"></div>
|
<div class="close_exit" @click="closeCancel"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<span>您确定要取消阶段吗</span>
|
<span>您确定要删除所有阶段吗?</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1" @click="closeCancel">
|
<div class="del_btn btn1" @click="closeCancel">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2" @click="showModal">
|
<div class="del_btn btn2" @click="removeAllLevel">
|
||||||
<div class="btnText">确定</div>
|
<div class="btnText">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1020,7 +1020,7 @@
|
|||||||
<div class="close_exit" @click="closeDeleteStage"></div>
|
<div class="close_exit" @click="closeDeleteStage"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<span>您确定要删除此阶段</span>
|
<span style="width:320px;display:flex;justify-content:center;align-items:center;">{{level.length==1?"当前阶段为第一阶段,删除后任务将被移出,为无阶段模式,确认删除阶段吗?":"您确定要删除此阶段"}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1" @click="closeDeleteStage">
|
<div class="del_btn btn1" @click="closeDeleteStage">
|
||||||
@@ -1680,6 +1680,7 @@ export default {
|
|||||||
const showDeleteStage = (id) => {
|
const showDeleteStage = (id) => {
|
||||||
state.deleteStageId = id;
|
state.deleteStageId = id;
|
||||||
state.deleteStageModal = true;
|
state.deleteStageModal = true;
|
||||||
|
console.log(state.level)
|
||||||
};
|
};
|
||||||
//关闭删除阶段弹窗
|
//关闭删除阶段弹窗
|
||||||
const closeDeleteStage = () => {
|
const closeDeleteStage = () => {
|
||||||
@@ -1815,6 +1816,39 @@ export default {
|
|||||||
getTableData(final.taskList);
|
getTableData(final.taskList);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 删除所有阶段
|
||||||
|
const removeAllLevel = () => {
|
||||||
|
// state.cancelModal = false;
|
||||||
|
console.log(state.level)
|
||||||
|
let removeArr = state.level;
|
||||||
|
for(let i=0;i<removeArr.length;i++){
|
||||||
|
let obj = {
|
||||||
|
stageId: removeArr[i].id
|
||||||
|
}
|
||||||
|
apistage
|
||||||
|
.deleteStage(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("删除阶段成功", res);
|
||||||
|
if(removeArr.length-1==i){
|
||||||
|
message.destroy();
|
||||||
|
message.success("删除全部阶段成功");
|
||||||
|
closeDeleteStage();
|
||||||
|
localStorage.setItem("stageId", "");
|
||||||
|
getTask();
|
||||||
|
state.cancelModal = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
if(removeArr.length-1==i){
|
||||||
|
console.log("删除阶段失败", err);
|
||||||
|
message.destroy();
|
||||||
|
message.success("删除全部阶段失败");
|
||||||
|
state.cancelModal = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//选择单个任务
|
//选择单个任务
|
||||||
const changeRow = (e) => {
|
const changeRow = (e) => {
|
||||||
//selectRow:已经选择的任务的id数组
|
//selectRow:已经选择的任务的id数组
|
||||||
@@ -2019,6 +2053,7 @@ export default {
|
|||||||
temporaryStorage,
|
temporaryStorage,
|
||||||
submitStorage,
|
submitStorage,
|
||||||
cancelStorage,
|
cancelStorage,
|
||||||
|
removeAllLevel
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1236,6 +1236,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="item in fileList"
|
v-for="item in fileList"
|
||||||
:key="item.uid"
|
:key="item.uid"
|
||||||
|
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
|
||||||
class="docListStyle"
|
class="docListStyle"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
@@ -1248,7 +1249,7 @@
|
|||||||
"
|
"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
<span style="font: oblique bold 16px Sans-serif">{{
|
<span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
|
||||||
item.name
|
item.name
|
||||||
}}</span>
|
}}</span>
|
||||||
<span
|
<span
|
||||||
|
|||||||
Reference in New Issue
Block a user