mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 11:56:46 +08:00
Merge branch 'develop' into manage-release
# Conflicts: # src/App.vue # src/components/drawers/AddHomework.vue # src/components/drawers/AddTest.vue # src/components/student/ChangeLevelModal.vue # src/components/student/TableStudent.vue # src/views/examine/ProjectReviewed.vue
This commit is contained in:
44
src/App.vue
44
src/App.vue
@@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { computed, defineComponent, ref, watch } from "vue";
|
import { computed, defineComponent, ref } from "vue";
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import NavLeft from "@/components/NavLeft";
|
import NavLeft from "@/components/NavLeft";
|
||||||
@@ -44,16 +44,16 @@ 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.14------------");
|
console.log("版本1.01------------");
|
||||||
const routes = computed(() => {
|
const routes = computed(() => {
|
||||||
return router.getRoutes().filter((e) => e.meta?.isLink);
|
return router.getRoutes().filter((e) => e.meta?.isLink);
|
||||||
});
|
});
|
||||||
watch(
|
// watch(
|
||||||
() => route.path,
|
// () => route.path,
|
||||||
() => {
|
// () => {
|
||||||
route.path === "/login" && (isLogin.value = true);
|
// route.path === "/login" && (isLogin.value = true);
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
const currentRouteName = computed(() => route.name);
|
const currentRouteName = computed(() => route.name);
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@@ -186,6 +186,34 @@ export default defineComponent({
|
|||||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cus-btn {
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 16px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.white {
|
||||||
|
background: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cus-input {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.cus-select {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
// @media screen and (max-width: 1366px) {
|
// @media screen and (max-width: 1366px) {
|
||||||
// .cmMain {
|
// .cmMain {
|
||||||
// width: 750px;
|
// width: 750px;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="main_table">
|
<div class="main_table">
|
||||||
<!--
|
<!--
|
||||||
<a-table
|
<a-table
|
||||||
v-if="edit"
|
v-if="edit"
|
||||||
class="ant-table-striped"
|
class="ant-table-striped"
|
||||||
@@ -64,7 +64,6 @@
|
|||||||
:pagination="false"
|
:pagination="false"
|
||||||
/>-->
|
/>-->
|
||||||
<a-table
|
<a-table
|
||||||
|
|
||||||
class="ant-table-striped"
|
class="ant-table-striped"
|
||||||
:row-class-name="
|
:row-class-name="
|
||||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||||
@@ -80,19 +79,20 @@
|
|||||||
:pagination="false"
|
:pagination="false"
|
||||||
/>
|
/>
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
v-if="tableDataTotal > 10"
|
v-if="tableDataTotal > 10"
|
||||||
:showSizeChanger="false"
|
:showSizeChanger="false"
|
||||||
showQuickJumper="true"
|
showQuickJumper="true"
|
||||||
hideOnSinglePage="true"
|
hideOnSinglePage="true"
|
||||||
:pageSize="pageSize"
|
:pageSize="pageSize"
|
||||||
:current="currentPage"
|
:current="currentPage"
|
||||||
:total="tableDataTotal"
|
:total="tableDataTotal"
|
||||||
class="pagination"
|
class="pagination"
|
||||||
@change="handelChangePage"
|
@change="handelChangePage"
|
||||||
/>
|
/>
|
||||||
</div></div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
@@ -171,7 +171,7 @@ export default {
|
|||||||
time: undefined,
|
time: undefined,
|
||||||
caseId: null,
|
caseId: null,
|
||||||
caseName: "",
|
caseName: "",
|
||||||
isClick: false
|
isClick: false,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addcaseVisible", false);
|
ctx.emit("update:addcaseVisible", false);
|
||||||
@@ -202,13 +202,13 @@ export default {
|
|||||||
width: "200px",
|
width: "200px",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: "导入时间",
|
// title: "导入时间",
|
||||||
// dataIndex: "time",
|
// dataIndex: "time",
|
||||||
// key: "time",
|
// key: "time",
|
||||||
// width: "400px",
|
// width: "400px",
|
||||||
// align: "center",
|
// align: "center",
|
||||||
// },
|
// },
|
||||||
];
|
];
|
||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
@@ -218,6 +218,7 @@ export default {
|
|||||||
}
|
}
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
state.apiTaskList = selectedRows;
|
state.apiTaskList = selectedRows;
|
||||||
|
console.log("selectedRows", selectedRows);
|
||||||
};
|
};
|
||||||
const handelChangePage = (page, pageSize) => {
|
const handelChangePage = (page, pageSize) => {
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
@@ -276,16 +277,16 @@ export default {
|
|||||||
};
|
};
|
||||||
const updateTask = () => {
|
const updateTask = () => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
if(!props.isactive){
|
if (!props.isactive) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请先选中关卡");
|
return message.warning("请先选中关卡");
|
||||||
}
|
}
|
||||||
if(state.isClick){
|
if (state.isClick) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error('请勿频繁点击')
|
message.error("请勿频繁点击");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.isClick = true;
|
state.isClick = true;
|
||||||
for (let i = 0; i < state.apiTaskList.length; i++) {
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId: props.isactive,
|
chapterId: props.isactive,
|
||||||
@@ -308,12 +309,12 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (props.isLevel == 2) {
|
} else if (props.isLevel == 2) {
|
||||||
if(state.isClick){
|
if (state.isClick) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error('请勿频繁点击')
|
message.error("请勿频繁点击");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.isClick = true;
|
state.isClick = true;
|
||||||
for (let i = 0; i < state.apiTaskList.length; i++) {
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
apiTask
|
apiTask
|
||||||
.addTask({
|
.addTask({
|
||||||
@@ -338,19 +339,21 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (props.isLevel == 3) {
|
} else if (props.isLevel == 3) {
|
||||||
if(state.isClick){
|
if (state.isClick) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error('请勿频繁点击')
|
message.error("请勿频繁点击");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.isClick = true;
|
state.isClick = true;
|
||||||
for (let i = 0; i < state.apiTaskList.length; i++) {
|
for (let i = 0; i < state.apiTaskList.length; i++) {
|
||||||
apiTask
|
apiTask
|
||||||
.addTaskTemplate({
|
.addTaskTemplate({
|
||||||
courseId: Number(state.apiTaskList[i].casesId),
|
courseId: Number(state.apiTaskList[i].casesId),
|
||||||
name: state.apiTaskList[i].title,
|
name: state.apiTaskList[i].title,
|
||||||
projectTaskId: props.projectTaskId,
|
projectTaskId: props.projectTaskId,
|
||||||
projectTemplateId: Number(localStorage.getItem("projectTemplateId")),
|
projectTemplateId: Number(
|
||||||
|
localStorage.getItem("projectTemplateId")
|
||||||
|
),
|
||||||
stageId: Number(props.chooseStageId) || 0,
|
stageId: Number(props.chooseStageId) || 0,
|
||||||
type: 3,
|
type: 3,
|
||||||
})
|
})
|
||||||
@@ -371,6 +374,7 @@ export default {
|
|||||||
};
|
};
|
||||||
//搜索案例列表
|
//搜索案例列表
|
||||||
const searchList = () => {
|
const searchList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
if (state.inputV1 !== "") {
|
if (state.inputV1 !== "") {
|
||||||
getAllCaseText();
|
getAllCaseText();
|
||||||
} else {
|
} else {
|
||||||
@@ -432,7 +436,7 @@ export default {
|
|||||||
.main_items {
|
.main_items {
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.mi_ipts {
|
.mi_ipts {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -374,9 +374,11 @@ export default {
|
|||||||
// this.selectedRows = selectedRows;
|
// this.selectedRows = selectedRows;
|
||||||
// };
|
// };
|
||||||
const searchProjectList = () => {
|
const searchProjectList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
getAllProjText();
|
getAllProjText();
|
||||||
};
|
};
|
||||||
const resetProjectList = () => {
|
const resetProjectList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
state.inputV1 = "";
|
state.inputV1 = "";
|
||||||
state.inputV2 = "";
|
state.inputV2 = "";
|
||||||
state.inputV3 = "";
|
state.inputV3 = "";
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@
|
|||||||
maxlength="20"
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="btns" @click="getAllInvistText">
|
<div class="btns" @click="searchList">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">搜索</div>
|
<div class="btnText">搜索</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -43,10 +43,11 @@
|
|||||||
>创建人:
|
>创建人:
|
||||||
<span class="data">{{ assessment.creator }}</span>
|
<span class="data">{{ assessment.creator }}</span>
|
||||||
</span>
|
</span>
|
||||||
|
<!--
|
||||||
<span class="title"
|
<span class="title"
|
||||||
>创建时间:
|
>创建时间:
|
||||||
<span class="data">{{ assessment.time }}</span>
|
<span class="data">{{ assessment.time }}</span>
|
||||||
</span>
|
</span>-->
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div v-else>
|
<div v-else>
|
||||||
@@ -144,14 +145,19 @@ export default {
|
|||||||
assessmentId: null,
|
assessmentId: null,
|
||||||
assessmentName: null,
|
assessmentName: null,
|
||||||
});
|
});
|
||||||
|
const afterVisibleChange=()=>{
|
||||||
|
|
||||||
|
}
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:assessmentVisible", false);
|
ctx.emit("update:assessmentVisible", false);
|
||||||
|
|
||||||
};
|
};
|
||||||
//清空所选
|
//清空所选
|
||||||
const clearLine = () => {
|
const clearLine = () => {
|
||||||
console.log("state.selectedRowKeys", state.selectedRowKeys);
|
console.log("state.selectedRowKeys", state.selectedRowKeys);
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
state.addOnlineList = [];
|
state.addOnlineList = [];
|
||||||
|
state.inputV1 = "";
|
||||||
};
|
};
|
||||||
const queryInfo = () => {
|
const queryInfo = () => {
|
||||||
//if (props.edit) {
|
//if (props.edit) {
|
||||||
@@ -185,8 +191,8 @@ export default {
|
|||||||
assessmentId: info.assessmentId,
|
assessmentId: info.assessmentId,
|
||||||
name: info.assessmentName,
|
name: info.assessmentName,
|
||||||
num: num,
|
num: num,
|
||||||
creator: info.createUser ? info.createUser : "-",
|
creator: info.createUserName ? info.createUserName : "-",
|
||||||
time: dayjs(info.createTime).format("YYYY-MM-DD"),
|
time: dayjs(info.createTime).format("YYYY-MM-DD HH:mm"),
|
||||||
};
|
};
|
||||||
//更新讨论信息
|
//更新讨论信息
|
||||||
state.assessment = obj;
|
state.assessment = obj;
|
||||||
@@ -277,8 +283,8 @@ export default {
|
|||||||
assessmentId: value.assessmentId,
|
assessmentId: value.assessmentId,
|
||||||
num: num,
|
num: num,
|
||||||
name: value.assessmentName ? value.assessmentName : "-",
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
creator: value.createUser ? value.createUser : "-",
|
creator: value.createUserName ? value.createUserName : "-",
|
||||||
time: dayjs(value.createTime).format("YYYY-MM-DD"),
|
time: dayjs(value.createTime).format("YYYY-MM-DD HH:mm"),
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
@@ -287,6 +293,7 @@ export default {
|
|||||||
};
|
};
|
||||||
//获取全部评估信息接口
|
//获取全部评估信息接口
|
||||||
const getAllInvistText = () => {
|
const getAllInvistText = () => {
|
||||||
|
|
||||||
api
|
api
|
||||||
.queryAssessmentDetailList({
|
.queryAssessmentDetailList({
|
||||||
assessmentName: state.inputV1,
|
assessmentName: state.inputV1,
|
||||||
@@ -308,9 +315,15 @@ export default {
|
|||||||
// state.createLoading = false;
|
// state.createLoading = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//重置评估信息
|
||||||
|
const searchList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
|
|
||||||
|
getAllInvistText();
|
||||||
|
};
|
||||||
//重置评估信息
|
//重置评估信息
|
||||||
const resetInvist = () => {
|
const resetInvist = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
state.inputV1 = "";
|
state.inputV1 = "";
|
||||||
getAllInvistText();
|
getAllInvistText();
|
||||||
};
|
};
|
||||||
@@ -321,10 +334,7 @@ export default {
|
|||||||
state.selectedRowKeys,
|
state.selectedRowKeys,
|
||||||
state.assessmentId
|
state.assessmentId
|
||||||
);
|
);
|
||||||
if (!state.assessmentId) {
|
state.inputV1 = "";
|
||||||
clearLine();
|
|
||||||
}
|
|
||||||
|
|
||||||
queryInfo();
|
queryInfo();
|
||||||
getAllInvistText();
|
getAllInvistText();
|
||||||
});
|
});
|
||||||
@@ -332,10 +342,11 @@ export default {
|
|||||||
() => props.assessmentId,
|
() => props.assessmentId,
|
||||||
() => {
|
() => {
|
||||||
if (!props.assessmentId) {
|
if (!props.assessmentId) {
|
||||||
clearLine();
|
clearLine();
|
||||||
state.assessment = null;
|
state.assessment = null;
|
||||||
} else {
|
} else {
|
||||||
queryInfo();
|
queryInfo();
|
||||||
|
console.log("dd");
|
||||||
}
|
}
|
||||||
console.log("props.assessmentId", props.assessmentId);
|
console.log("props.assessmentId", props.assessmentId);
|
||||||
},
|
},
|
||||||
@@ -353,6 +364,8 @@ export default {
|
|||||||
resetInvist,
|
resetInvist,
|
||||||
handelChangePage,
|
handelChangePage,
|
||||||
queryInfo,
|
queryInfo,
|
||||||
|
searchList,
|
||||||
|
afterVisibleChange,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -202,8 +202,8 @@ export default {
|
|||||||
assessmentId: value.assessmentId,
|
assessmentId: value.assessmentId,
|
||||||
num: num,
|
num: num,
|
||||||
name: value.assessmentName ? value.assessmentName : "-",
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
creator: value.createUser ? value.createUser : "-",
|
creator: value.createUserName ? value.createUserName : "-",
|
||||||
time: dayjs(value.createTime).format("YYYY-MM-DD"),
|
time: dayjs(value.createTime).format("YYYY-MM-DD HH:mm"),
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<div class="fi_input">
|
<div class="fi_input">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width:424px; height: 40px; border-radius: 8px"
|
style="width: 424px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入项目名称"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -54,20 +54,21 @@
|
|||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
}"
|
}"
|
||||||
/>
|
/>
|
||||||
<div class="tableBox" style="margin-top:85px;">
|
<div class="tableBox" style="margin-top: 85px">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
v-if="tableDataTotal > 10"
|
v-if="tableDataTotal > 10"
|
||||||
:showSizeChanger="false"
|
:showSizeChanger="false"
|
||||||
showQuickJumper="true"
|
showQuickJumper="true"
|
||||||
hideOnSinglePage="true"
|
hideOnSinglePage="true"
|
||||||
:pageSize="pageSize"
|
:pageSize="pageSize"
|
||||||
:current="currentPage"
|
:current="currentPage"
|
||||||
:total="tableDataTotal"
|
:total="tableDataTotal"
|
||||||
class="pagination"
|
class="pagination"
|
||||||
@change="changePagination"
|
@change="changePagination"
|
||||||
/>
|
/>
|
||||||
</div></div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
@@ -131,20 +132,20 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: "状态",
|
// title: "状态",
|
||||||
// width: "13%",
|
// width: "13%",
|
||||||
// dataIndex: "status",
|
// dataIndex: "status",
|
||||||
// key: "status",
|
// key: "status",
|
||||||
// align: "center",
|
// align: "center",
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// title: "价格",
|
// title: "价格",
|
||||||
// width: "13%",
|
// width: "13%",
|
||||||
// dataIndex: "quiz_price",
|
// dataIndex: "quiz_price",
|
||||||
// key: "price",
|
// key: "price",
|
||||||
// align: "center",
|
// align: "center",
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
title: "可答题人数",
|
title: "可答题人数",
|
||||||
width: "20%",
|
width: "20%",
|
||||||
@@ -161,7 +162,7 @@ export default {
|
|||||||
}
|
}
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
state.evListData = selectedRows[0] ? selectedRows[0] : {};
|
state.evListData = selectedRows[0] ? selectedRows[0] : {};
|
||||||
console.log("state.evListData",state.evListData);
|
console.log("state.evListData", state.evListData);
|
||||||
};
|
};
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
@@ -229,19 +230,20 @@ export default {
|
|||||||
//获取测评列表
|
//获取测评列表
|
||||||
const getAllEvalText = () => {
|
const getAllEvalText = () => {
|
||||||
let objael = {
|
let objael = {
|
||||||
keyword:state.inputV1,
|
keyword: state.inputV1,
|
||||||
|
|
||||||
};
|
};
|
||||||
api
|
api
|
||||||
.choiceEvaluation(objael)
|
.choiceEvaluation(objael)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
state.tableDataTotal=9;
|
state.tableDataTotal = 9;
|
||||||
|
// console.log("测评列表", res.data.data);
|
||||||
getTableDataList(res.data.data);
|
getTableDataList(res.data.data);
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
};
|
};
|
||||||
//搜索测评列表
|
//搜索测评列表
|
||||||
const searchList = () => {
|
const searchList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
if (state.inputV1 !== "") {
|
if (state.inputV1 !== "") {
|
||||||
getAllEvalText();
|
getAllEvalText();
|
||||||
} else {
|
} else {
|
||||||
@@ -311,7 +313,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.mi_btns {
|
.mi_btns {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
.btn {
|
.btn {
|
||||||
padding: 0px 26px 0px 26px;
|
padding: 0px 26px 0px 26px;
|
||||||
|
|||||||
@@ -63,16 +63,12 @@
|
|||||||
:unCheckedValue="0"
|
:unCheckedValue="0"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
><span
|
><span
|
||||||
style="
|
style="width: 100%;color: rgba(109, 117, 132, 1);font-size: 14px;"
|
||||||
width: 100%;
|
|
||||||
color: rgba(109, 117, 132, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
"
|
|
||||||
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||||
></a-switch>
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content" v-if="projectInfo.boeFlag">
|
||||||
<div class="setc_name"><span>是否BOEU实施:</span></div>
|
<div class="setc_name"><span>是否BOEU实施:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<a-switch
|
<a-switch
|
||||||
@@ -83,7 +79,7 @@
|
|||||||
></a-switch>
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="set_content">
|
<div class="set_content" v-if="projectInfo.remark ">
|
||||||
<div class="setc_name"><span>项目说明:</span></div>
|
<div class="setc_name"><span>项目说明:</span></div>
|
||||||
<div class="setc_main">
|
<div class="setc_main">
|
||||||
<span style="color: #999999">{{ projectInfo.remark }}</span>
|
<span style="color: #999999">{{ projectInfo.remark }}</span>
|
||||||
|
|||||||
@@ -527,6 +527,7 @@ export default {
|
|||||||
};
|
};
|
||||||
//搜索
|
//搜索
|
||||||
const search = () => {
|
const search = () => {
|
||||||
|
state.selectedRows = [];
|
||||||
//重新获取列表
|
//重新获取列表
|
||||||
getClassList();
|
getClassList();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -245,6 +245,7 @@ export default {
|
|||||||
// };
|
// };
|
||||||
//获取选择考试列表
|
//获取选择考试列表
|
||||||
const getManageList = () => {
|
const getManageList = () => {
|
||||||
|
state.selectedRowKeys = [];
|
||||||
let obj = {
|
let obj = {
|
||||||
keyWord: state.inputPname,
|
keyWord: state.inputPname,
|
||||||
pageIndex: state.currentPage,
|
pageIndex: state.currentPage,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@
|
|||||||
style="padding-left: 20px; margin-right: 0px"
|
style="padding-left: 20px; margin-right: 0px"
|
||||||
>
|
>
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-form-item title="姓名:" @click="getStuList">
|
<a-form-item title="姓名:" >
|
||||||
<a-input
|
<a-input
|
||||||
class="cus-input"
|
class="cus-input"
|
||||||
v-model:value="tableParam.studentName"
|
v-model:value="tableParam.studentName"
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-button class="cus-btn" style="width: 100px">
|
<a-button class="cus-btn" style="width: 100px" @click="getStuList">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<img
|
<img
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@@ -117,7 +117,7 @@ import { computed, defineProps, onMounted, ref, watch } from "vue";
|
|||||||
import { delStudentList, getStuPage } from "@/api/index1";
|
import { delStudentList, getStuPage } from "@/api/index1";
|
||||||
import CommonStudent from "@/components/student/CommonStudent";
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
import ChangeLevelModal from "./ChangeLevelModal.vue";
|
import ChangeLevelModal from "./ChangeLevelModal.vue";
|
||||||
import {message} from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
id: String,
|
id: String,
|
||||||
@@ -191,7 +191,7 @@ const tableData = ref({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const stuRowSelection = computed(() => ({
|
const stuRowSelection = computed(() => ({
|
||||||
columnWidth: 10,
|
columnWidth: 20,
|
||||||
selectedRowKeys: stuSelectKeys.value,
|
selectedRowKeys: stuSelectKeys.value,
|
||||||
onChange: onStuSelectChange,
|
onChange: onStuSelectChange,
|
||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
@@ -233,9 +233,16 @@ function getStuList() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function reset() {}
|
function reset() {
|
||||||
|
tableParam.value.studentName="";
|
||||||
|
}
|
||||||
|
|
||||||
function bathDel() {
|
function bathDel() {
|
||||||
|
if( stuSelectKeys.value &&
|
||||||
|
stuSelectKeys.value.length === 0){
|
||||||
|
message.destroy();
|
||||||
|
return message.warning("请先选中学员");
|
||||||
|
}
|
||||||
stuSelectKeys.value &&
|
stuSelectKeys.value &&
|
||||||
stuSelectKeys.value.length &&
|
stuSelectKeys.value.length &&
|
||||||
delStudentList({
|
delStudentList({
|
||||||
|
|||||||
@@ -143,7 +143,6 @@
|
|||||||
placeholder="请输入课程名称"
|
placeholder="请输入课程名称"
|
||||||
v-model:value="xzinputV1"
|
v-model:value="xzinputV1"
|
||||||
v-model:validate="validate"
|
v-model:validate="validate"
|
||||||
|
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
show-count
|
show-count
|
||||||
:type="2"
|
:type="2"
|
||||||
@@ -226,7 +225,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-radio-group v-model:value="valueE1">
|
<a-radio-group v-model:value="valueE1">
|
||||||
<div class="bc_box">
|
<div class="bc_box">
|
||||||
<div class="bc_boxl">
|
<!-- 2022-12-21 隐藏 后面放开 lixiaoge -->
|
||||||
|
<!-- <div class="bc_boxl">
|
||||||
<div class="ol_checkbox" @click="expectOnline">
|
<div class="ol_checkbox" @click="expectOnline">
|
||||||
<a-radio
|
<a-radio
|
||||||
v-model:checked="checked"
|
v-model:checked="checked"
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
线上
|
线上
|
||||||
</a-radio>
|
</a-radio>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="bc_boxr">
|
<div class="bc_boxr">
|
||||||
<div class="ol_checkbox">
|
<div class="ol_checkbox">
|
||||||
<a-radio
|
<a-radio
|
||||||
@@ -364,7 +364,6 @@
|
|||||||
placeholder="请输入课程名称"
|
placeholder="请输入课程名称"
|
||||||
v-model:value="qdms_inputV1"
|
v-model:value="qdms_inputV1"
|
||||||
v-model:validate="validate"
|
v-model:validate="validate"
|
||||||
|
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
show-count
|
show-count
|
||||||
:type="2"
|
:type="2"
|
||||||
@@ -2219,9 +2218,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
|
||||||
<a-spin :spinning="addLoading" tip="" />
|
|
||||||
</div>
|
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<!--新建开课页面 -->
|
<!--新建开课页面 -->
|
||||||
<!--开课学员管理页面 -->
|
<!--开课学员管理页面 -->
|
||||||
@@ -2278,7 +2275,11 @@
|
|||||||
<span>{{ currentPlanItem.teacher }}</span>
|
<span>{{ currentPlanItem.teacher }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="stmm_i5">
|
<div class="stmm_i5">
|
||||||
<TableStudent :type="3" :id="offcoursePlanId" :columns="stuColumns">
|
<TableStudent
|
||||||
|
:type="3"
|
||||||
|
:id="offcoursePlanId"
|
||||||
|
:columns="stuColumns"
|
||||||
|
>
|
||||||
<!-- <template #extension = "data">-->
|
<!-- <template #extension = "data">-->
|
||||||
<!-- <div style="display: flex">-->
|
<!-- <div style="display: flex">-->
|
||||||
<!-- <button @click="handlJoinStu(data)">成绩录入</button>-->
|
<!-- <button @click="handlJoinStu(data)">成绩录入</button>-->
|
||||||
@@ -3412,21 +3413,21 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "加入方式",
|
// title: "加入方式",
|
||||||
width: "10%",
|
// width: "10%",
|
||||||
dataIndex: "join",
|
// dataIndex: "join",
|
||||||
key: "6",
|
// key: "6",
|
||||||
align: "center",
|
// align: "center",
|
||||||
customRender: ({ record }) => {
|
// customRender: ({ record }) => {
|
||||||
switch (String(record.source)) {
|
// switch (String(record.source)) {
|
||||||
case "1":
|
// case "1":
|
||||||
return "手动加入";
|
// return "手动加入";
|
||||||
case "2":
|
// case "2":
|
||||||
return "报名加入";
|
// // return "报名加入";
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
// {
|
// {
|
||||||
// title: "签到状态",
|
// title: "签到状态",
|
||||||
// width: '10%',
|
// width: '10%',
|
||||||
@@ -3732,7 +3733,7 @@ export default defineComponent({
|
|||||||
codevisible: false, //二维码弹窗
|
codevisible: false, //二维码弹窗
|
||||||
codeInfo: null, //二维码内容
|
codeInfo: null, //二维码内容
|
||||||
codeUrl: codeUrl,
|
codeUrl: codeUrl,
|
||||||
|
|
||||||
// 课程三级分类
|
// 课程三级分类
|
||||||
options2222: [
|
options2222: [
|
||||||
{
|
{
|
||||||
@@ -4658,7 +4659,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log("state.validate", state.validate);
|
console.log("state.validate", state.validate);
|
||||||
|
|
||||||
|
|
||||||
if (!state.validate) {
|
if (!state.validate) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
@@ -4842,7 +4842,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
//保存开课
|
//保存开课
|
||||||
const handleSureStu = () => {
|
const handleSureStu = () => {
|
||||||
state.addLoading = true;
|
|
||||||
let startTime,
|
let startTime,
|
||||||
endTime = 0;
|
endTime = 0;
|
||||||
if (state.xjkkinputV3) {
|
if (state.xjkkinputV3) {
|
||||||
@@ -4884,17 +4884,19 @@ export default defineComponent({
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
return message.error("请输入必填项");
|
return message.error("请输入必填项");
|
||||||
} else {
|
} else {
|
||||||
state.addLoading = true;
|
|
||||||
console.log("state.addLoading ", state.addLoading);
|
console.log("state.addLoading ", state.addLoading);
|
||||||
}
|
}
|
||||||
|
state.addLoading = true;
|
||||||
editPlan(postData).then((res) => {
|
editPlan(postData).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
getTableDate3();
|
getTableDate3();
|
||||||
handleCancelStu();
|
handleCancelStu();
|
||||||
rest();
|
rest();
|
||||||
}
|
}
|
||||||
|
state.addLoading = false;
|
||||||
});
|
});
|
||||||
state.addLoading = false;
|
|
||||||
};
|
};
|
||||||
//编辑开课
|
//编辑开课
|
||||||
const handelEditStu = async (itm) => {
|
const handelEditStu = async (itm) => {
|
||||||
@@ -8125,183 +8127,9 @@ export default defineComponent({
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.i5_left {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.select {
|
|
||||||
margin-right: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addTimeBox {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.addTime {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10;
|
|
||||||
margin-left: 10px;
|
|
||||||
color: rgba(0, 0, 0, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker {
|
|
||||||
padding-left: 85px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-range .ant-picker-active-bar {
|
|
||||||
margin-left: 85px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
padding: 0px 26px 0px 26px;
|
|
||||||
height: 38px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
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 {
|
|
||||||
background-size: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #ffffff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnn {
|
|
||||||
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 {
|
|
||||||
background-size: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #4ea6ff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1 {
|
|
||||||
.search {
|
|
||||||
width: 15px;
|
|
||||||
height: 17px;
|
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2 {
|
|
||||||
.search {
|
|
||||||
width: 16px;
|
|
||||||
height: 18px;
|
|
||||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.76);
|
|
||||||
|
|
||||||
.search {
|
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn1:active {
|
|
||||||
background: #0982ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn2:active {
|
|
||||||
background: rgba(64, 158, 255, 0.2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btns {
|
|
||||||
display: flex;
|
|
||||||
// flex-wrap: wrap;
|
|
||||||
.btn {
|
|
||||||
padding: 0px 26px 0px 26px;
|
|
||||||
height: 38px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
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 {
|
|
||||||
background-size: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #ffffff;
|
|
||||||
line-height: 36px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3 {
|
|
||||||
margin-right: 0px;
|
|
||||||
|
|
||||||
.search {
|
|
||||||
width: 17px;
|
|
||||||
height: 18px;
|
|
||||||
background-image: url("../../assets/images/courseManage/add0.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3:hover {
|
|
||||||
background: rgba(64, 158, 255, 0.76);
|
|
||||||
|
|
||||||
.search {
|
|
||||||
background-image: url("../../assets/images/courseManage/add0.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnText {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn3:active {
|
|
||||||
background: #0982ff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.stmm_i6 {
|
.stmm_i6 {
|
||||||
@@ -8641,29 +8469,7 @@ export default defineComponent({
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cus-btn {
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
margin-right: 16px;
|
|
||||||
border: 1px solid #4ea6ff;
|
|
||||||
border-radius: 8px;
|
|
||||||
background: #4ea6ff;
|
|
||||||
cursor: pointer;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.white {
|
|
||||||
background: #fff;
|
|
||||||
color: #4ea6ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cus-input {
|
|
||||||
height: 40px;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// .tableSelect {
|
// .tableSelect {
|
||||||
// position: relative;
|
// position: relative;
|
||||||
|
|||||||
@@ -49,16 +49,21 @@
|
|||||||
placeholder="请输入创建人"
|
placeholder="请输入创建人"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="inpbox1">
|
<div class="inpbox1">
|
||||||
|
<div class="select addTimeBox">
|
||||||
|
<div class="addTime">审核时间:</div>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="valueDate"
|
v-model:value="valueDate"
|
||||||
:show-time="{ format: 'HH:mm' }"
|
style="width: 360px"
|
||||||
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
format="YYYY-MM-DD"
|
||||||
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
format="YYYY/MM/DD HH:mm"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tmplh_btn">
|
<div class="tmplh_btn">
|
||||||
<div class="btn btn1" @click="getProjList">
|
<div class="btn btn1" @click="getProjList">
|
||||||
@@ -144,6 +149,7 @@
|
|||||||
import { onMounted, reactive, toRefs } from "vue";
|
import { onMounted, reactive, toRefs } from "vue";
|
||||||
import { auditedlist } from "../../api/indexAudit";
|
import { auditedlist } from "../../api/indexAudit";
|
||||||
import * as moment from "moment";
|
import * as moment from "moment";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectViewed",
|
name: "ProjectViewed",
|
||||||
@@ -324,8 +330,8 @@ export default {
|
|||||||
const getProjList = () => {
|
const getProjList = () => {
|
||||||
state.loading=true
|
state.loading=true
|
||||||
let objn = {
|
let objn = {
|
||||||
beginTime: state.valueDate ? state.valueDate[0] : "",
|
beginTime: state.valueDate ? dayjs(state.valueDate[0]).format("YYYY-MM-DD") : "",
|
||||||
endTime: state.valueDate ? state.valueDate[1] : "",
|
endTime: state.valueDate ? dayjs(state.valueDate[1]).format("YYYY-MM-DD") : "",
|
||||||
createName: state.valuecreater,
|
createName: state.valuecreater,
|
||||||
manager: state.valuename,
|
manager: state.valuename,
|
||||||
name: state.valueproj,
|
name: state.valueproj,
|
||||||
@@ -408,6 +414,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.projAuditModal {
|
.projAuditModal {
|
||||||
|
|
||||||
.ant-modal {
|
.ant-modal {
|
||||||
width: 816px !important;
|
width: 816px !important;
|
||||||
min-height: 420px !important;
|
min-height: 420px !important;
|
||||||
@@ -539,7 +546,26 @@ export default {
|
|||||||
|
|
||||||
.projectviewed {
|
.projectviewed {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
.addTimeBox {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.addTime {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
margin-left: 10px;
|
||||||
|
color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-picker {
|
||||||
|
padding-left: 85px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-picker-range .ant-picker-active-bar {
|
||||||
|
margin-left: 85px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.tmpl {
|
.tmpl {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="left clearfix">
|
<div class="left clearfix">
|
||||||
<div class="leftmain">
|
<div class="leftmain">
|
||||||
<div class="tit" style="margin-left: 18px">关卡</div>
|
<div class="tit" style="margin-left: 18px">关卡</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>
|
||||||
<div class="btnText">添加关卡</div>
|
<div class="btnText">添加关卡</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -206,7 +206,8 @@
|
|||||||
<router-link to="/leveladd">
|
<router-link to="/leveladd">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<img
|
<img
|
||||||
class="img2" style="margin-right:22px;"
|
class="img2"
|
||||||
|
style="margin-right: 22px"
|
||||||
src="../../assets/images/leveladd/back.png"
|
src="../../assets/images/leveladd/back.png"
|
||||||
/>
|
/>
|
||||||
<div class="return">返回</div>
|
<div class="return">返回</div>
|
||||||
@@ -688,7 +689,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 87px; text-align: center">
|
<div style="width: 87px; text-align: center">
|
||||||
{{ element.cretime }}分钟
|
{{ element.cretime ? element.cretime + "分钟" : "-" }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
@@ -1309,22 +1310,21 @@ export default {
|
|||||||
api
|
api
|
||||||
.deleteChapter(obj)
|
.deleteChapter(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if(res.data.code==200){
|
if (res.data.code == 200) {
|
||||||
console.log("删除关卡成功", res);
|
console.log("删除关卡成功", res);
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("删除关卡成功");
|
message.success("删除关卡成功");
|
||||||
let chapter = localStorage.getItem("chapterId")
|
let chapter = localStorage.getItem("chapterId");
|
||||||
if(state.deleteChapterId == chapter){
|
if (state.deleteChapterId == chapter) {
|
||||||
localStorage.removeItem("chapterId")
|
localStorage.removeItem("chapterId");
|
||||||
}
|
}
|
||||||
closeDeleteChapter();
|
closeDeleteChapter();
|
||||||
getDetail();
|
getDetail();
|
||||||
}else if(res.data.code==-1){
|
} else if (res.data.code == -1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("至少保留一个关卡");
|
message.success("至少保留一个关卡");
|
||||||
closeDeleteChapter();
|
closeDeleteChapter();
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("删除关卡失败", err);
|
console.log("删除关卡失败", err);
|
||||||
@@ -1418,13 +1418,16 @@ export default {
|
|||||||
state.chooseProjectList = JSON.stringify(state.level[i].taskList);
|
state.chooseProjectList = JSON.stringify(state.level[i].taskList);
|
||||||
console.log("state.level[i].taskList", state.level[i].taskList);
|
console.log("state.level[i].taskList", state.level[i].taskList);
|
||||||
state.level[i].taskList.forEach((element) => {
|
state.level[i].taskList.forEach((element) => {
|
||||||
// console.log("element", element);
|
console.log("element", element);
|
||||||
let obj = {
|
let obj = {
|
||||||
id: element.routerTaskId,
|
id: element.routerTaskId,
|
||||||
key: element.routerTaskId,
|
key: element.routerTaskId,
|
||||||
lei: checkType(element.type),
|
lei: checkType(element.type),
|
||||||
creater: element.name,
|
creater: element.name,
|
||||||
cretime: element.duration,
|
cretime:
|
||||||
|
element.duration || element.duration == 0
|
||||||
|
? element.duration
|
||||||
|
: "-",
|
||||||
checked1: element.flag,
|
checked1: element.flag,
|
||||||
routerTaskId: element.routerTaskId,
|
routerTaskId: element.routerTaskId,
|
||||||
courseId: element.courseId,
|
courseId: element.courseId,
|
||||||
@@ -1466,7 +1469,7 @@ export default {
|
|||||||
? JSON.parse(localStorage.getItem("chapterId"))
|
? JSON.parse(localStorage.getItem("chapterId"))
|
||||||
: null;
|
: null;
|
||||||
console.log("chapter", chapter);
|
console.log("chapter", chapter);
|
||||||
if (chapter >0) {
|
if (chapter > 0) {
|
||||||
dataAssignment(chapter); //用哪个的任务表
|
dataAssignment(chapter); //用哪个的任务表
|
||||||
state.isactive = chapter; //哪个亮
|
state.isactive = chapter; //哪个亮
|
||||||
} else {
|
} else {
|
||||||
@@ -1513,7 +1516,7 @@ export default {
|
|||||||
title: "姓名",
|
title: "姓名",
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
key: "name",
|
key: "name",
|
||||||
width: 60,
|
width: 160,
|
||||||
align: "left",
|
align: "left",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
className: "classify",
|
className: "classify",
|
||||||
@@ -1535,13 +1538,13 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: "岗位",
|
// title: "岗位",
|
||||||
// dataIndex: "gang",
|
// dataIndex: "gang",
|
||||||
// key: "gang",
|
// key: "gang",
|
||||||
// width: 110,
|
// width: 110,
|
||||||
// align: "center",
|
// align: "center",
|
||||||
// className: "h",
|
// className: "h",
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
title: "当前关卡",
|
title: "当前关卡",
|
||||||
@@ -1551,14 +1554,14 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "进度",
|
title: "进度",
|
||||||
dataIndex: "jin",
|
dataIndex: "jin",
|
||||||
key: "jin",
|
key: "jin",
|
||||||
width: 110,
|
width: 110,
|
||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "开始时间",
|
title: "开始时间",
|
||||||
dataIndex: "time",
|
dataIndex: "time",
|
||||||
@@ -1853,7 +1856,7 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
chapterId: ele.chapterId,
|
chapterId: ele.chapterId,
|
||||||
courseId: ele.courseId,
|
courseId: ele.courseId,
|
||||||
duration: ele.cretime,
|
duration: ele.cretime == "-" ? 0 : ele.cretime,
|
||||||
flag: ele.checked1,
|
flag: ele.checked1,
|
||||||
name: ele.creater,
|
name: ele.creater,
|
||||||
routerId: ele.routerId,
|
routerId: ele.routerId,
|
||||||
@@ -2667,7 +2670,7 @@ export default {
|
|||||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
min-height:512px;
|
min-height: 512px;
|
||||||
.boomcen {
|
.boomcen {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
|
|||||||
@@ -332,7 +332,7 @@
|
|||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
<!--
|
||||||
<a-tab-pane key="3" tab="项目积分">
|
<a-tab-pane key="3" tab="项目积分">
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<div class="projectscore">
|
<div class="projectscore">
|
||||||
@@ -478,6 +478,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
-->
|
||||||
|
|
||||||
<a-tab-pane key="4" tab="设置">
|
<a-tab-pane key="4" tab="设置">
|
||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
<a-tabs>
|
<a-tabs>
|
||||||
|
|||||||
@@ -175,7 +175,7 @@
|
|||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2" v-if="courseSyncFlag">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<div class="inname">同步学习记录</div>
|
<div class="inname">同步学习记录</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2" v-if="projectInfo.remark">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<div class="inname" style="margin-top: 13px">项目说明</div>
|
<div class="inname" style="margin-top: 13px">项目说明</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -851,7 +851,7 @@
|
|||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="ed">编辑</div>
|
<div class="ed">编辑</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="edit" @click="toEdit">
|
<div class="edit" v-if="status!=3 && status!=2" @click="toEdit">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="ed">编辑</div>
|
<div class="ed">编辑</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1442,14 +1442,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="modalHeader"
|
class="modalHeader"
|
||||||
style="
|
style="width: 100%;height: 68px;display: flex;align-items: center; justify-content: space-between; ">
|
||||||
width: 100%;
|
|
||||||
height: 68px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div class="headerLeft" style="margin-left: 32px">
|
<div class="headerLeft" style="margin-left: 32px">
|
||||||
<span style="width: 15px; height: 15px"
|
<span style="width: 15px; height: 15px"
|
||||||
><img src="../../assets/images/taskpage/pub.png"
|
><img src="../../assets/images/taskpage/pub.png"
|
||||||
|
|||||||
@@ -329,7 +329,7 @@
|
|||||||
<!-- 添加外链侧弹窗 -->
|
<!-- 添加外链侧弹窗 -->
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<!--TODO1216
|
<!--TODO1216
|
||||||
<div class="item" @click="showDrawerAddDiscuss">
|
<div class="item" @click="showDrawerAddDiscuss">
|
||||||
<div class="itcon">
|
<div class="itcon">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
@@ -427,7 +427,7 @@
|
|||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--TODO1216
|
<!--TODO1216
|
||||||
<div class="item" @click="showDrawerAddVote">
|
<div class="item" @click="showDrawerAddVote">
|
||||||
<div class="itcon">
|
<div class="itcon">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
@@ -455,7 +455,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="boom">
|
<div class="boom">
|
||||||
<div class="boomcen">
|
<div class="boomcen">
|
||||||
@@ -649,7 +648,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 87px; text-align: center">
|
<div style="width: 87px; text-align: center">
|
||||||
{{ element.cretime }}分钟
|
{{ element.cretime ? element.cretime + "分钟" : "-" }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
@@ -913,10 +912,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1">
|
<div class="del_btn btn1">
|
||||||
<div class="btnText" @click="delete_exit">取消</div>
|
<div class="btnText" @click="closeCancel">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
<div class="btnText" @click="showModal">确定</div>
|
<div class="btnText" @click="removeAllLevel">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1389,7 +1388,7 @@ export default {
|
|||||||
? "投票"
|
? "投票"
|
||||||
: "-",
|
: "-",
|
||||||
creater: value.name,
|
creater: value.name,
|
||||||
cretime: Number(value.duration) > 0 ? value.duration : "-",
|
cretime: value.duration || value.duration == 0 ? value.duration : "-",
|
||||||
checked1: value.flag ? true : false,
|
checked1: value.flag ? true : false,
|
||||||
checked: false, //是否选中类型
|
checked: false, //是否选中类型
|
||||||
courseId: value.courseId,
|
courseId: value.courseId,
|
||||||
@@ -1402,12 +1401,16 @@ export default {
|
|||||||
state.tableData = array;
|
state.tableData = array;
|
||||||
console.log("state.tableData", state.tableData);
|
console.log("state.tableData", state.tableData);
|
||||||
};
|
};
|
||||||
//把阶段放到level里
|
//把阶段放到level里
|
||||||
const getStageData = (tableData) => {
|
const getStageData = (tableData) => {
|
||||||
let data = tableData;
|
let data = tableData;
|
||||||
let array = [];
|
let array = [];
|
||||||
data.map((value) => {
|
data.map((value) => {
|
||||||
console.log("dd",Number(value.templateStageId) ,Number(value.templateStageId) > 0);
|
console.log(
|
||||||
|
"dd",
|
||||||
|
Number(value.templateStageId),
|
||||||
|
Number(value.templateStageId) > 0
|
||||||
|
);
|
||||||
if (Number(value.templateStageId) > 0) {
|
if (Number(value.templateStageId) > 0) {
|
||||||
let obj = {
|
let obj = {
|
||||||
id: value.templateStageId,
|
id: value.templateStageId,
|
||||||
@@ -1623,20 +1626,48 @@ export default {
|
|||||||
console.log("获取任务列表失败", err);
|
console.log("获取任务列表失败", err);
|
||||||
});
|
});
|
||||||
};*/
|
};*/
|
||||||
|
// 删除所有阶段
|
||||||
//获取任务列表
|
const removeAllLevel = () => {
|
||||||
const getTask = async () => {
|
// state.cancelModal = false;
|
||||||
|
console.log(state.level);
|
||||||
await api
|
let removeArr = state.level;
|
||||||
.templateDetail(localStorage.getItem("projectTemplateId")).then((res) => {
|
for (let i = 0; i < removeArr.length; i++) {
|
||||||
console.log("22222", res.data.data.stageList);
|
|
||||||
state.projectTitle = res.data.data.projectTemplateInfo.name;
|
api
|
||||||
state.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
.deleteStage(removeArr[i].id)
|
||||||
state.stageList = res.data.data.stageList;
|
.then((res) => {
|
||||||
getStageData(res.data.data.stageList);
|
console.log("删除阶段成功", res);
|
||||||
updateStageChoosd();
|
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 getTask = async () => {
|
||||||
|
await api
|
||||||
|
.templateDetail(localStorage.getItem("projectTemplateId"))
|
||||||
|
.then((res) => {
|
||||||
|
console.log("22222", res.data.data.stageList);
|
||||||
|
state.projectTitle = res.data.data.projectTemplateInfo.name;
|
||||||
|
state.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
||||||
|
state.stageList = res.data.data.stageList;
|
||||||
|
getStageData(res.data.data.stageList);
|
||||||
|
updateStageChoosd();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function updateStageChoosd() {
|
function updateStageChoosd() {
|
||||||
@@ -1659,9 +1690,15 @@ export default {
|
|||||||
getTableData(state.stageList[0].taskList);
|
getTableData(state.stageList[0].taskList);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log(state.chooseStageId,state.stageList.find((e) => e.templateStageId == state.chooseStageId)?.taskList,state.stageList);
|
console.log(
|
||||||
|
state.chooseStageId,
|
||||||
|
state.stageList.find((e) => e.templateStageId == state.chooseStageId)
|
||||||
|
?.taskList,
|
||||||
|
state.stageList
|
||||||
|
);
|
||||||
getTableData(
|
getTableData(
|
||||||
state.stageList.find((e) => e.templateStageId == state.chooseStageId)?.taskList
|
state.stageList.find((e) => e.templateStageId == state.chooseStageId)
|
||||||
|
?.taskList
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1956,10 +1993,9 @@ export default {
|
|||||||
console.log("state.level", id, state.level);
|
console.log("state.level", id, state.level);
|
||||||
state.chooseStageId = id;
|
state.chooseStageId = id;
|
||||||
let final = state.level.find((item) => item.id === id);
|
let final = state.level.find((item) => item.id === id);
|
||||||
if(final !=null){
|
if (final != null) {
|
||||||
getTableData(final.taskList);
|
getTableData(final.taskList);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//选择单个任务
|
//选择单个任务
|
||||||
@@ -2154,6 +2190,7 @@ export default {
|
|||||||
getTableData,
|
getTableData,
|
||||||
deleteTask,
|
deleteTask,
|
||||||
editStage,
|
editStage,
|
||||||
|
removeAllLevel,
|
||||||
updateTableData,
|
updateTableData,
|
||||||
changeVData,
|
changeVData,
|
||||||
changeRow,
|
changeRow,
|
||||||
|
|||||||
@@ -78,6 +78,7 @@
|
|||||||
|
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
|
show-time
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
v-model:value="projectInfo.rangeTime"
|
v-model:value="projectInfo.rangeTime"
|
||||||
@@ -214,7 +215,7 @@ import TrainClass from "@/components/project/TrainClass";
|
|||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||||
|
import dayjs from "dayjs";
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
@@ -240,9 +241,8 @@ const getDetail = () =>
|
|||||||
route.query.projectTemplateId &&
|
route.query.projectTemplateId &&
|
||||||
api.templateDetail(route.query.projectTemplateId).then((res) => {
|
api.templateDetail(route.query.projectTemplateId).then((res) => {
|
||||||
projectInfo.value = res.data.data.projectTemplateInfo;
|
projectInfo.value = res.data.data.projectTemplateInfo;
|
||||||
projectInfo.value.rangeTime = [
|
projectInfo.value.rangeTime = [dayjs(projectInfo.value.beginTime).format("YYYY-MM-DD HH:mm"),
|
||||||
projectInfo.value.beginTime,
|
dayjs(projectInfo.value.endTime).format("YYYY-MM-DD HH:mm"),
|
||||||
projectInfo.value.endTime,
|
|
||||||
];
|
];
|
||||||
projectInfo.value.courseSyncFlag = !!projectInfo.value.courseSyncFlag
|
projectInfo.value.courseSyncFlag = !!projectInfo.value.courseSyncFlag
|
||||||
});
|
});
|
||||||
@@ -253,8 +253,8 @@ const backPage = () => {
|
|||||||
|
|
||||||
function timeChange(e) {
|
function timeChange(e) {
|
||||||
if (e && e.length === 2) {
|
if (e && e.length === 2) {
|
||||||
projectInfo.value.beginTime = e[0];
|
projectInfo.value.beginTime = dayjs(e[0]).format("YYYY-MM-DD HH:mm"),
|
||||||
projectInfo.value.endTime = e[1];
|
projectInfo.value.endTime =dayjs(e[1]).format("YYYY-MM-DD HH:mm")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,6 +281,8 @@ const createProject = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
projectInfo.value.courseSyncFlag = courseSyncFlag.value ? 1 : 0;
|
projectInfo.value.courseSyncFlag = courseSyncFlag.value ? 1 : 0;
|
||||||
|
projectInfo.value.beginTime = dayjs(projectInfo.value.beginTime).format("YYYY-MM-DD HH:mm"),
|
||||||
|
projectInfo.value.endTime =dayjs(projectInfo.value.endTime).format("YYYY-MM-DD HH:mm")
|
||||||
api
|
api
|
||||||
.templateEdit({
|
.templateEdit({
|
||||||
...projectInfo.value,
|
...projectInfo.value,
|
||||||
|
|||||||
@@ -24,12 +24,17 @@
|
|||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-range-picker
|
<div class="select addTimeBox">
|
||||||
v-model:value="projectTime"
|
<div class="addTime">创建时间:</div>
|
||||||
separator="至"
|
<a-range-picker
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
v-model:value="projectTime"
|
||||||
/>
|
style="width: 420px"
|
||||||
</div>
|
format="YYYY-MM-DD"
|
||||||
|
separator="至"
|
||||||
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btn btn1" @click="handleSearch">
|
<div class="btn btn1" @click="handleSearch">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -166,7 +171,8 @@
|
|||||||
<div class="btnText" @click="handleCancelModal">取消</div>
|
<div class="btnText" @click="handleCancelModal">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
<div class="btnText" @click="handleSure">确定</div>
|
<div class="btnText" v-if="!addLoading" @click="handleSure">确定</div>
|
||||||
|
<div class="btnText" v-else>确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -414,7 +420,7 @@ export default {
|
|||||||
if (state.projectTime) {
|
if (state.projectTime) {
|
||||||
startTime = toDate(
|
startTime = toDate(
|
||||||
new Date(state.projectTime[0].$d).getTime() / 1000,
|
new Date(state.projectTime[0].$d).getTime() / 1000,
|
||||||
"Y-M-D"
|
"Y-M-D hh:mm"
|
||||||
);
|
);
|
||||||
endTime = toDate(
|
endTime = toDate(
|
||||||
new Date(state.projectTime[1].$d).getTime() / 1000,
|
new Date(state.projectTime[1].$d).getTime() / 1000,
|
||||||
@@ -665,6 +671,7 @@ export default {
|
|||||||
state.copy_hs = true;
|
state.copy_hs = true;
|
||||||
};
|
};
|
||||||
const handleSure = () => {
|
const handleSure = () => {
|
||||||
|
|
||||||
// 发布
|
// 发布
|
||||||
if (state.pub_hs) {
|
if (state.pub_hs) {
|
||||||
editReleaseStatus({
|
editReleaseStatus({
|
||||||
@@ -710,11 +717,13 @@ export default {
|
|||||||
}
|
}
|
||||||
// 复制
|
// 复制
|
||||||
if (state.copy_hs) {
|
if (state.copy_hs) {
|
||||||
|
state.addLoading = true;
|
||||||
let resultPost = restData(state.copyItem);
|
let resultPost = restData(state.copyItem);
|
||||||
resultPost.assessmentName = resultPost.assessmentName + "(1)";
|
resultPost.assessmentName = resultPost.assessmentName + "(1)";
|
||||||
console.log("resultPost");
|
console.log("resultPost");
|
||||||
console.log(resultPost);
|
console.log(resultPost);
|
||||||
createResearch(resultPost).then((res) => {
|
createResearch(resultPost).then((res) => {
|
||||||
|
state.addLoading =false;
|
||||||
console.log(res);
|
console.log(res);
|
||||||
handleCancelModal();
|
handleCancelModal();
|
||||||
getTableDate();
|
getTableDate();
|
||||||
@@ -865,6 +874,26 @@ export default {
|
|||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
.addTimeBox {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.addTime {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
margin-left: 10px;
|
||||||
|
color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-picker {
|
||||||
|
padding-left: 85px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-picker-range .ant-picker-active-bar {
|
||||||
|
margin-left: 85px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.out {
|
.out {
|
||||||
//display: flex;
|
//display: flex;
|
||||||
display: block;
|
display: block;
|
||||||
|
|||||||
Reference in New Issue
Block a user