feat:合并

This commit is contained in:
lixg
2022-12-09 14:39:46 +08:00
10 changed files with 431 additions and 46 deletions

View File

@@ -212,6 +212,7 @@
</div>
</div>
</div>
<!--
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">完成标准设置</span>
@@ -236,6 +237,8 @@
</a-checkbox>
</div>
</div>
-->
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">现场参与</span>
@@ -393,7 +396,7 @@ import { getMemberInfo } from "@/api/index1";
import { debounce } from "lodash-es";
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
import dayjs from "dayjs";
import AssessmentList from "../drawers/ AssessmentList.vue";
import AssessmentList from "@/components/drawers/AssessmentList.vue";
// import { toDate } from "../../api/method";、
import { addTempTask } from "../../api/indexTaskadd";

View File

@@ -104,10 +104,10 @@
import { reactive, toRefs } from "vue";
import * as apiTask from "../../api/indexTaskadd";
import { message } from "ant-design-vue";
import AssessmentList from "./ AssessmentList.vue";
import { RouterEditTask, IsExistence, IsExistenceProject} from "@/api/indexTask";
import * as api from "../../api/indexInvist";
import { addTempTask } from "../../api/indexTaskadd";
import AssessmentList from "@/components/drawers/AssessmentList.vue";
export default {
name: "AddInvist",
components: {

View File

@@ -335,7 +335,8 @@ import { addTempTask } from "../../api/indexTaskadd";
import { getMemberInfo } from "@/api/index1";
import dayjs from "dayjs";
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 ProjectManager from "@/components/project/ProjectManagerNew";
import { queryAppraiseDetailById } from "../../api/indexInvist";

View File

@@ -98,7 +98,7 @@
alt=""
/>
</div>
<a-form-item has-feedback label="选择试" name="choosedTest">
<a-form-item has-feedback label="选择试" name="choosedTest">
<a-button
type="primary"
style="width: 100px; margin-left: 35px"
@@ -106,7 +106,7 @@
@click.prevent
@click="selectTest()"
>
选择
选择试
</a-button>
<a-tag
@@ -648,7 +648,7 @@ export default {
}
if (!state.paperId) {
message.destroy();
return message.warning("请输入选择试");
return message.warning("请输入选择试");
}
if (!formState.choosedTime) {
message.destroy();

View File

@@ -114,7 +114,7 @@ export default {
dataIndex: "name",
// width: "30%",
key: "name",
width: "150px",
width: "20%",
align: "left",
className: "classify",
},
@@ -122,21 +122,21 @@ export default {
title: "题数",
dataIndex: "num",
key: "num",
width: "80px",
width: "20%",
align: "center",
},
{
title: "创建人",
dataIndex: "creator",
key: "creator",
width: "150px",
width: "20%",
align: "center",
},
{
title: "创建时间",
dataIndex: "time",
key: "time",
width: "200px",
width: "20%",
align: "center",
},
];
@@ -244,8 +244,7 @@ export default {
}
}
.contentMain {
display: flex;
justify-content: space-between;
.main_left {
padding-right: 30px;
margin-top: 32px;

View 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>

View File

@@ -8,7 +8,7 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">选择</div>
<div class="headerTitle">选择试</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -53,7 +53,7 @@
</div>
<div class="btnss" style="margin-top: 20px">
<div class="btn btn1" @click="newTest()" style="margin-right: 20px">
<div class="wz">新建</div>
<div class="wz">新建试</div>
</div>
</div>
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
@@ -115,7 +115,7 @@
<script>
import { toRefs, reactive } from "vue";
import * as api from "../../api/indexExam";
import { message } from "ant-design-vue";
//import { message } from "ant-design-vue";
import { iframeUrl } from "../../api/method";
export default {
name: "STest",
@@ -267,12 +267,12 @@ export default {
});
state.tableData = array
state.tableDataTotal = array.length
message.destroy()
message.success("获取选择考试列表成功");
//message.destroy()
//message.success("获取选择考试列表成功");
})
.catch(() => {
message.destroy();
message.error("获取选择考试列表失败");
//message.destroy();
//message.error("获取选择考试列表失败");
});
};

View File

@@ -2885,7 +2885,7 @@ const columns1 = [
key: "10",
align: "center",
customRender: ({ text }) => {
return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-";
},
},
{
@@ -3295,6 +3295,7 @@ export default defineComponent({
],
//在线面授管理学习记录
tableData3: [
{
key: 1,
projectName: "刘莉",
@@ -4266,19 +4267,15 @@ export default defineComponent({
state.valueE1 = "";
}
};
//新建面授课
const createft = () => {
if (!state.valueE1 || !state.xzinputV1) {
if (!state.xzinputV1) {
message.destroy();
return message.warning("请输入必填项");
}
console.log(
" state.valueE1",
state.valueE1,
!state.bs_hs && state.valueE1 == 2,
state.bs_hs,
state.valueE1 == 2
);
if (state.bs_hs && state.valueE1 == 2) {
console.log("state.bs_hs && state.valueE1 == 2",state.bs_hs , state.valueE1 == 2);
if (state.valueE1 === 2) {
state.of_hs = false;
// state.ft_hs = true;
CourseModalRef.value.visibleOpen(null, state.xzinputV1);

View File

@@ -449,6 +449,7 @@ export default defineComponent({
state.qdms_inputV6 = "";
state.imgList = [];
state.attach = "";
state.auditDescription="";
// valueHtml.value = "";
};
@@ -661,21 +662,9 @@ export default defineComponent({
if (res.data.code === 200) return res.data.data;
});
if (res.rows && res.rows.length > 0) {
state.auditDescription = res.rows[0].description
? res.rows[0].description
: "-";
console.log("state.auditDescription", state.auditDescription);
let i =res.rows.length;
state.auditDescription = res.rows[i-1].description?res.rows[i-1].description :"-";
}
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;