Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
zhangyc
2022-11-30 12:11:50 +08:00
16 changed files with 542 additions and 402 deletions

View File

@@ -41,7 +41,7 @@ export default defineComponent({
const store = useStore();
const isLogin = ref(false);
// console.log("router", router.getRoutes(), route);
console.log("版本0.02------------");
console.log("版本0.05------------");
const routes = computed(() => {
return router.getRoutes().filter((e) => e.meta?.isLink);
});

View File

@@ -21,3 +21,5 @@ export const queryExaminationList = (obj) => http.post('/examination/queryExamin
export const queryExaminationAloneExtendList = (obj) => http.post('/examination/queryExaminationAloneExtendList', obj);
// 对接三方考试任务保存接口-三方
export const examinationTaskSave = (obj) => http.post('/examination/examinationTaskSave', obj);
//编辑考试信息
export const updateExamination = (obj) => http.post('/examination/updateExamination', obj);

View File

@@ -12,7 +12,7 @@ import http from "./config";
// 接口-请求
//查询在线课信息列表接口
export const queryOnlinelList = (obj) => http.post('/queryOnlineClassesDetailList', obj)
export const queryOnlinelList = (obj) => http.post('/onlineClasses/queryOnlineClassesDetailList', obj)

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-24 16:39:48
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-29 15:28:34
* @LastEditTime: 2022-11-29 18:31:34
* @FilePath: /fe-manage/src/components/Modals/addOnlineCourse.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@@ -42,6 +42,10 @@ export default {
type: Boolean,
default: false,
},
closeOnlineModal: {
type: Function,
default: () => {},
},
},
setup(props, ctx) {
// console.log("学习路径", props.addOnlineCoursevisible, ctx);
@@ -50,6 +54,7 @@ export default {
});
const closeModal = () => {
ctx.emit("update:addOnlineCoursevisible", false);
props.closeOnlineModal();
};
return {
...toRefs(state),

View File

@@ -160,7 +160,6 @@ export default {
currentPage: 1,
tableDataTotal: 0,
pageSize: 10,
searching:false,
selectedRowKeys: [],
apiTaskList: [],
inputV1: "",
@@ -222,23 +221,6 @@ export default {
const getTableDate = (tableData) => {
let data = tableData;
let array = [];
if(state.searching){
data.map((value, index) => {
let obj = {
key: index,
authorId: value.authorId,
authorName: value.authorName,
companyId: value.companyId,
coverUrl: value.coverUrl,
id: value.id,
casesId: value.casesId,
title: value.title,
};
if(obj.title == state.inputV1){
array.push(obj);
}
});
} else {
data.map((value, index) => {
let obj = {
key: index,
@@ -252,7 +234,6 @@ export default {
};
array.push(obj);
});
}
state.tableData = array;
};
//获取全部案例信息接口
@@ -264,7 +245,7 @@ export default {
orderField: "",
pageIndex: state.currentPage,
pageSize: state.pageSize,
top: true,
isTop: "",
})
.then((res) => {
if (res.status === 200) {
@@ -318,10 +299,6 @@ export default {
}
} else if (props.isLevel == 3) {
for (let i = 0; i < state.apiTaskList.length; i++) {
console.log(
state.apiTaskList[i],
"state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId"
);
apiTask
.addTask({
courseId: state.apiTaskList[i].caseid,
@@ -349,17 +326,14 @@ export default {
//搜索案例列表
const searchList = ()=> {
if(state.inputV1 !== ''){
state.searching = true
getAllCaseText()
}else {
state.searching = false
resetCase()
}
}
//重置案例信息
const resetCase = () => {
state.inputV1 = ""
state.searching = false
state.selectedRowKeys=[]
state.currentPage = 1
getAllCaseText();

View File

@@ -198,7 +198,6 @@ export default {
time: undefined,
onlineClassesId: null,
onlineName: "",
searching:false,
selectV: "",
selectedRowKeys: [],
tableData: [],
@@ -286,23 +285,10 @@ export default {
let data = tableData;
let array = [];
data.map((value,index) => {
if(state.searching){
{
let obj = {
key: index + 1,
num:"",
name:value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher,
sysCreateBy:value.sysCreateBy,
overtime:"",
};
if(obj.name == state.inputV1 || obj.contenttype == state.selectV){
array.push(obj);
}
} else {
let obj = {
key: index + 1,
num:"",
num:value.onlineClassesId,
name:value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher,
@@ -345,7 +331,7 @@ export default {
state.addOnlineList.map((value) => {
RouterEditTask({
chapterId: Number(props.isactive),
courseId: value.onlineClassesId,
courseId: value.num,
name: value.name,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
@@ -363,11 +349,11 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
});
})
} else if (props.isLevel == 2) {
} else if (props.isLevel === 2) {
state.addOnlineList.map((value) => {
apiTask
.addTask({
courseId: value.onlineClassesId,
courseId: value.num,
name: value.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
@@ -415,7 +401,6 @@ export default {
//搜索在线列表
const searchList = ()=> {
if(state.inputV1 !== '' || state.selectV !== ''){
state.searching = true
getAllOnlineText()
}else {
resetOnline()
@@ -425,7 +410,6 @@ export default {
const resetOnline = () => {
state.inputV1 = "";
state.selectV = "";
state.searching = false;
state.selectedRowKeys = [];
state.addOnlineList = [];
state.currentPage = 1;

View File

@@ -119,6 +119,7 @@
class="tag-style"
v-if="paperName != ''"
:closable="true"
@close="delTag"
>{{ paperName }}</a-tag
>
<!-- <a-tag
@@ -478,6 +479,7 @@ export default {
showAnalysis: 2,
showAnswers: 2,
choosedTime: "",
paperName:"",
choosedTest: [
{
key: 1,
@@ -499,6 +501,8 @@ export default {
STvisible: false, //选择试卷抽屉
paperId: null, //试卷id 子组件传过来给考试抽屉创建考试信息需要
paperName: "", //试卷名称 子组件传过来给考试抽屉选择试卷后框框用
id:"",
testName:"",
choosedTestList: [
{
value: "提高核心竞争力",
@@ -640,6 +644,10 @@ export default {
const resetForm = () => {
formRef.value.resetFields();
state.paperName = "";
state.paperId = null;
state.id = "";
state.testName = "";
};
const handleValidate = (...args) => {
@@ -666,6 +674,10 @@ export default {
state.STvisible = true;
};
const delTag = () => {
state.paperId = 0;
state.paperName = "";
};
const queryTest = () => {
// state.addLoading = true;
queryExaminationDetailById({ examinationId: props.EditTestId })
@@ -682,6 +694,8 @@ export default {
formState.scoringModel = Number(res.data.data.scoringModel) || 1;
formState.showAnalysis = Number(res.data.data.showAnalysis) || 1;
formState.showAnswers = Number(res.data.data.showAnswers) || 1;
formState.papaerName = res.data.data.examinationTestName;
state.paperName = res.data.data.examinationTestName;
if (
res.data.data.examinationEndTime &&
res.data.data.examinationStartTime
@@ -700,7 +714,7 @@ export default {
});
};
const updateTest = () => {
//state.addLoading = true;
//state.addLoading = true;updateTask
let obj = {
examinationDuration: formState.examinationDuration,
examinationEndTime: dayjs(formState.choosedTime[1]).format(
@@ -720,6 +734,8 @@ export default {
scoringModel: formState.scoringModel,
showAnalysis: formState.showAnalysis,
showAnswers: formState.showAnswers,
examinationTestId:state.id,
examinationTestName:state.testName,
};
if (props.edit) {
// 编辑任务
@@ -746,10 +762,8 @@ export default {
const updateTask = (res) => {
state.EditTestId = res.data.data.examinationId;
console.log("state.EditTestId=====0",state.EditTestId,props.faceLevel);
if(props.faceLevel){
state.EditTestId = res.data.data.examinationId;
console.log("state.EditTestId=====",state.EditTestId);
}else{
if (props.isLevel == 1) {
let editObj1 = {
@@ -790,7 +804,6 @@ export default {
//message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("");
addTempTask({
courseId: res.data.data.examinationId,
duration: res.data.data.examinationDuration,
@@ -851,6 +864,8 @@ export default {
const getData = (value) => {
state.paperId = value.paperId;
state.paperName = value.testName;
state.id = value.id
state.testName = value.testName
};
return {
formState,
@@ -867,6 +882,7 @@ export default {
resetForm,
handleValidate,
formRef,
delTag,
// layout,
rules,
updateTest,

View File

@@ -97,7 +97,6 @@ import { reactive, toRefs } from "vue";
tableDataTotal: 0,
pageSize: 10,
inputV1:"",
searching:false,
evaluationTypeId:null,
evaluationTypeName:"",
tableData: [],
@@ -160,11 +159,10 @@ import { reactive, toRefs } from "vue";
state.evListData = selectedRows[0] ? selectedRows[0] : {}
}
const closeDrawer = () => {
ctx.emit("update:EvalListVisible", false);
state.selectedRowKeys = []
state.evListData = {}
state.inputV1 = ""
state.searching = false
ctx.emit("update:EvalListVisible", false);
};
const afterVisibleChange = (bol) => {
if ( bol == true ) {
@@ -177,6 +175,7 @@ import { reactive, toRefs } from "vue";
}
const changePagination = (page) => {
state.currentPage = page;
getAllEvalText();
};
//如果编辑情况会通过父亲传回来evaluationTypeId遍历出相同的那个选项 再将那个选项的key值赋给state.selectRowKeys
const getTableDataList = (tableData) => {
@@ -202,24 +201,6 @@ import { reactive, toRefs } from "vue";
});
state.tableData = array;
state.selectedRowKeys = arrayKey;
}else if (state.searching){
data.map((value,index) => {
let obj = {
key:index+1,
status:value.status,
quiz_code:value.quiz_code,
quiz_kid:value.quiz_kid,
title:value.title,
theme_desc:value.theme_desc,
quiz_price:value.quiz_price,
quiz_range:value.quiz_range,
};
if(state.inputV1 == obj.title)
{
array.push(obj);
}
});
state.tableData = array;
}
else{
data.map((value,index) => {
@@ -242,7 +223,7 @@ import { reactive, toRefs } from "vue";
//获取测评列表
const getAllEvalText = ()=> {
let objael = {
"keyword": "",
"keyword": state.inputV1,
"user_id": "965341999643234304",
}
api
@@ -256,10 +237,8 @@ import { reactive, toRefs } from "vue";
//搜索测评列表
const searchList = ()=> {
if(state.inputV1 !== ''){
state.searching = true
getAllEvalText()
}else {
state.searching = false
resetData()
}
}

View File

@@ -135,6 +135,7 @@ import { getTask } from "../../api/indexTaskadd";
import {toDate} from "../../api/method";
import {auditView} from "../../api/indexAudit";
import {message} from "ant-design-vue";
export default {
name: "ProjectAudit",
components: {},
@@ -155,6 +156,10 @@ export default {
type: String,
default: null,
},
finishdFun: {
type: Function,
default: null
}
},
setup(props, ctx) {
@@ -195,6 +200,8 @@ export default {
const closeDrawer = () => {
ctx.emit("update:ProjAuditvisible", false);
console.log(props.finishdFun)
props.finishdFun && props.finishdFun()
state.valueSuggest = null;
state.valuePass = "1";
};
@@ -202,8 +209,7 @@ export default {
//获取项目信息
const getTaskInfo = () => {
getTask({
// 先使用了固定projectId
projectId: 37,
projectId: props.chooseProject,
}).then((res) => {
console.log("get task", res.data.data);
let info = res.data.data.projectInfo;
@@ -310,6 +316,7 @@ export default {
// overflow-x: auto;
display: flex;
flex-direction: column;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
@@ -319,6 +326,7 @@ export default {
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -328,12 +336,14 @@ export default {
// margin-left: 24px;
}
}
.main {
width: 100%;
height: 100%;
// background-color: #bfa;
overflow-y: auto;
padding-right: 10px;
.content7 {
margin-top: 20px;
@@ -401,11 +411,13 @@ export default {
}
}
}
.detaile {
width: 100%;
// background-color: blue;
display: flex;
justify-content: center;
.can {
width: 130px;
height: 40px;
@@ -415,6 +427,7 @@ export default {
background-color: #fff;
margin-right: 30px;
}
.debtn {
width: 130px;
height: 40px;
@@ -425,10 +438,12 @@ export default {
cursor: pointer;
}
}
.audit {
margin-left: 34px;
margin-right: 34px;
position: relative;
.set_content {
margin: 32px auto;
display: flex;
@@ -443,6 +458,7 @@ export default {
.setc_main {
flex: 1;
margin-left: 12px;
textarea {
border-radius: 4px !important;
resize: none;

View File

@@ -23,17 +23,18 @@
<a-input
v-model:value="inputPname"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入试卷名称或序号"
placeholder="请输入试卷名称"
/>
</div>
<div class="namecon" style="margin-right: 30px">
<!-- 因为接口不支持创建人搜索所以暂时注调 -->
<!-- <div class="namecon" style="margin-right: 30px">
<div class="name">创建人</div>
<a-input
v-model:value="inputCname"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入创建人"
/>
</div>
</div> -->
</div>
<div class="btns">
<div
@@ -72,6 +73,7 @@
<div class="tableBox">
<div class="pa">
<a-pagination
v-if="tableDataTotal>10"
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
@@ -147,6 +149,7 @@ export default {
closeDrawer();
};
const closeDrawer = () => {
state.selectedRowKeys = []
ctx.emit("update:STvisible", false);
};
@@ -217,56 +220,57 @@ export default {
}
state.selectedRowKeys = selectedRowKeys;
state.SelectTestData = selectedRows[0];
console.log("state.SelectTestData---------------", state.SelectTestData);
};
const newTest = () => {
console.log("创建考试没设计图");
state.addExamVisible = true;
};
const getTableDate = (tableData) => {
let data = tableData;
let array = [];
data.map((value, index) => {
let obj = {
key: index + 1,
sysCreateBy: value.sysCreateBy,
paperId: value.paperId,
testName: value.testName,
paperMode: value.paperMode,
sysUpdateTime: value.sysUpdateTime,
};
array.push(obj);
});
state.tableData = array;
};
// const getTableDate = (tableData) => {
// let data = tableData;
// let array = [];
// data.map((value, index) => {
// let obj = {
// key: index + 1,
// sysCreateBy: value.sysCreateBy,
// paperId: value.paperId,
// testName: value.testName,
// paperMode: value.paperMode == 1 ? "固定试卷" : "随机",
// sysUpdateTime: value.sysUpdateTime,
// };
// array.push(obj);
// });
// state.tableData = array;
// state.tableDataTotal = array.length
// };
//获取选择考试列表
const getManageList = () => {
let obj = {
keyWord: state.inputPname,
pageIndex: state.pageSize,
pageIndex: state.currentPage,
pageSize: state.pageSize,
published: true,
};
api
.queryExaminationList(obj)
.then((data) => {
// getTableDate(res.data.data);
//** 表格repaint */
let array = []
data.map((value, index) => {
data.data.data.map((value, index) => {
let obj = {
key: index + 1,
sysCreateBy: value.sysCreateBy,
paperId: value.paperId,
paperId: index + 1,
testName: value.testName,
paperMode: value.paperMode,
paperMode: value.randomMode ? "是" : "否",
sysUpdateTime: value.sysUpdateTime,
id:value.id,
};
array.push(obj);
});
//** */
state.tableData = array
state.tableDataTotal = array.length
message.destroy()
message.success("获取选择考试列表成功");
})
.catch(() => {
@@ -289,7 +293,6 @@ export default {
...toRefs(state),
closeDrawer,
afterVisibleChange,
getTableDate,
onSelectChange,
CreatSTText,
newTest,

View File

@@ -2506,7 +2506,10 @@
classify="addstudent"
/>
<!-- 新建在线课弹窗 -->
<addOnlineCourse v-model:addOnlineCoursevisible="addOnlineCoursevisible" />
<addOnlineCourse
v-model:addOnlineCoursevisible="addOnlineCoursevisible"
:closeOnlineModal="closeOnlineCoursevisible"
/>
<!-- 新建在线课弹窗 -->
<!-- 授权名单抽屉 -->
@@ -4825,6 +4828,11 @@ export default defineComponent({
});
}
);
const closeOnlineCoursevisible = () => {
console.log("执行");
getTableDate();
};
return {
...toRefs(state),
getdateToDateFn,
@@ -4931,6 +4939,8 @@ export default defineComponent({
showOwnPrower,
showViewPrower,
showManagePrower,
closeOnlineCoursevisible,
};
},
});

View File

@@ -16,9 +16,8 @@
<div class="inpbox1">
<a-select
v-model:value="valueproj"
placeholder="请选择内容分类"
@change="handleChangeproj"
:options="optionsproj"
value-key="value"
:options="[{label:'请选择内容分类',value:''},...calssifyList]"
/>
</div>
<div class="inpbox1">
@@ -91,21 +90,14 @@
<script>
import {reactive, toRefs, onMounted} from "vue";
import {courseListView} from "../../api/indexAudit";
import * as api1 from "@/api/index1";
export default {
name: "CoursereViewed",
setup() {
const state = reactive({
optionsproj: [
{
value: "0",
label: "Jack",
},
{
value: "1",
label: "rose",
},
],
calssifyList: [], //分类字典
valueproj: "",
valuecreater: "",
valuename: "",
@@ -136,6 +128,7 @@ export default {
dataIndex: "content",
key: "content",
align: "center",
customRender: ({text}) => state.calssifyList.find(e => e.value == text)?.label,
},
{
title: "审核状态",
@@ -187,7 +180,7 @@ export default {
const getList = () => {
let objn = {
auditStatus: 0,
// categoryId: 0,
categoryId: state.valueproj,
createName: state.valuecreater,
name: state.valuename,
pageNo: state.currentPage,
@@ -196,17 +189,18 @@ export default {
courseListView(objn)
.then((res) => {
console.log("获取已审核课程成功", res.data.data);
let result = res.data.data.rows;
state.total = res.data.data.total;
if (res.data.data.total > 0) {
setTableData(result);
}
setTableData(res.data.data.rows);
})
.catch((err) => {
console.log("获取已审核课程失败", err);
});
};
const setTableData = (table) => {
if(!table || !table.length){
state.tableData1 = []
return
}
let data = table;
let array = [];
data.map((item) => {
@@ -234,27 +228,30 @@ export default {
state.tableData1 = array;
};
const reset = () => {
(state.valueproj = null),
(state.valueproj = ''),
(state.valuecreater = null),
(state.valuename = null),
getList();
};
const handleChangeproj = (value, item) => {
console.log(value, item);
state.valueproj = item.value;
};
const changePagination = (pagina) => {
state.currentPage = pagina;
getList();
};
onMounted(() => {
const getDictList = (param) => api1.getDict({
pageNo: 1,
pageSize: 20,
setCode: param
}).then((res) => res.data.data.rows)
onMounted(async () => {
getList();
//获取分类列表
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode}))
});
return {
...toRefs(state),
getList,
setTableData,
handleChangeproj,
reset,
changePagination,
};
@@ -264,8 +261,10 @@ export default {
<style lang="scss">
.coursereviewed {
width: 100%;
.tmpl {
width: 100%;
.tmpl_header {
display: flex;
flex-wrap: wrap;
@@ -274,33 +273,39 @@ export default {
margin-left: 32px;
margin-right: 32px;
.tmplh_inp {
.inpbox {
display: flex;
margin-top: 32px;
flex-wrap: wrap;
.inpbox1 {
display: flex;
justify-content: center;
align-items: center;
margin-right: 24px;
margin-top: 10px;
.ant-select-selector {
border-radius: 8px;
width: 270px;
height: 40px;
padding-top: 5px;
}
span {
white-space: nowrap;
}
}
}
}
.tmplh_btn {
display: flex;
// margin-left: 38px;
margin-top: 42px;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
@@ -311,72 +316,90 @@ export default {
margin-right: 14px;
cursor: pointer;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
.btnText1 {
color: rgb(255, 255, 255);
}
.btnText2 {
color: rgba(64, 158, 255, 1);
}
}
.btn1 {
background: #409eff;
.search {
width: 15px;
height: 17px;
background-image: url("../../assets/images/courseManage/search0.png");
}
}
.btn2 {
background: #ffffff;
border: 1px solid #388be1;
.search {
width: 16px;
height: 18px;
background-image: url("../../assets/images/courseManage/reset1.png");
}
}
.btn1:hover {
background: rgb(255, 255, 255);
border: 1px solid #388be1;
.search {
background-image: url("../../assets/images/courseManage/search1.png");
}
.btnText {
color: rgba(64, 158, 255, 1);
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("../../assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.tmpl_body {
padding: 0px 30px;
.tmpl_tabbox {
.operation {
display: flex;
justify-content: center;
align-items: center;
color: #4ea6ff;
.nselect {
justify-content: center;
align-items: center;
display: flex;
.jc {
margin-left: 20px;
white-space: nowrap;
@@ -385,6 +408,7 @@ export default {
}
}
}
.pa {
width: 100%;
margin-top: 20px;

View File

@@ -16,9 +16,7 @@
<div class="inpbox1">
<a-select
v-model:value="valueproj"
placeholder="请选择内容分类"
@change="handleChangeproj"
:options="optionsproj"
:options="[{label:'请选择内容分类',value:''},...calssifyList]"
/>
</div>
<div class="inpbox1">
@@ -408,6 +406,8 @@ import { toDate } from "../../api/method";
import {message} from "ant-design-vue";
import {Editor, Toolbar} from "@wangeditor/editor-for-vue";
import {iframeUrl} from "../../api/method";
import * as api1 from "@/api/index1";
export default {
name: "CoursereViewedN",
components: {
@@ -426,6 +426,7 @@ export default {
label: "rose",
},
],
calssifyList: [], //分类字典
valueproj: "",
valuecreater: "",
valuename: "",
@@ -465,6 +466,7 @@ export default {
dataIndex: "content",
key: "content",
align: "center",
customRender: ({text}) => state.calssifyList.find(e => e.value == text)?.label,
},
{
title: "状态",
@@ -526,11 +528,21 @@ export default {
iframeUrl: iframeUrl,
});
/*
* 获取字典列表
* param faceclassPic | faceclassClass | faceclassScene
* */
const getDictList = (param) => api1.getDict({
pageNo: 1,
pageSize: 20,
setCode: param
}).then((res) => res.data.data.rows)
const getFaceList = () => {
let objn = {
auditStatus: 1,
// beginTime: 0,
// categoryId: 0,
categoryId: state.valueproj,
createName: state.valuecreater,
// endTime: 0,
name: state.valuename,
@@ -552,6 +564,10 @@ export default {
});
};
const setFaceData = (tableData) => {
if(!tableData || !tableData.length){
state.tableData1 = []
return
}
let data = tableData;
let array = [];
data.map((item) => {
@@ -581,7 +597,7 @@ export default {
state.tableData1 = array;
};
const reset = () => {
state.valueproj = null;
state.valueproj = '';
state.valuecreater = null;
state.valuename = null;
getFaceList();
@@ -624,8 +640,10 @@ export default {
return message.warning("审核提交失败");
});
};
onMounted(() => {
onMounted(async () => {
getFaceList();
//获取分类列表
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode}))
});
return {
...toRefs(state),
@@ -645,13 +663,16 @@ export default {
.ant-modal {
width: 640px !important;
height: 400px !important;
.ant-modal-content {
width: 640px !important;
height: 400px !important;
.ant-modal-body {
width: 640px !important;
height: 400px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 640px;
@@ -672,15 +693,18 @@ export default {
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
@@ -688,6 +712,7 @@ export default {
background-image: url(@/assets/images/taskpage/gan.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
@@ -698,6 +723,7 @@ export default {
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
@@ -707,15 +733,19 @@ export default {
flex-direction: column;
// background-color: red;
position: relative;
.item {
display: flex;
width: 100%;
.left {
width: 110px;
text-align: right;
}
.rig {
width: 450px;
.ant-input {
border-radius: 8px;
resize: none !important;
@@ -723,10 +753,12 @@ export default {
}
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
@@ -738,17 +770,20 @@ export default {
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
@@ -760,6 +795,7 @@ export default {
}
}
}
.lookCourseModal {
.ant-modal {
.ant-modal-content {
@@ -769,10 +805,12 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
.headerLeft {
margin-left: 27px;
display: flex;
align-items: center;
.headerLeftText {
font-size: 16px;
font-weight: 400;
@@ -781,26 +819,32 @@ export default {
}
}
}
.modalMain {
.m_title {
margin-bottom: 20px;
}
.m_body {
display: flex;
flex-wrap: wrap;
.mb_left {
width: 50%;
.mbl_items {
display: flex;
align-items: center;
justify-content: flex-end;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
@@ -808,9 +852,11 @@ export default {
margin-top: -15px;
}
}
.item_inp {
flex: 1;
position: relative;
.inp_num {
position: absolute;
left: 398px;
@@ -818,17 +864,20 @@ export default {
}
}
}
.mbl_items2 {
display: flex;
align-items: start;
margin-top: 10px;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
@@ -836,13 +885,16 @@ export default {
margin-top: -15px;
}
}
.item_inp {
flex: 1;
.i_upload_img {
width: 100px;
height: 100px;
border-radius: 8px;
}
.i_upload {
width: 100px;
height: 100px;
@@ -851,8 +903,10 @@ export default {
text-align: center;
align-items: center;
cursor: pointer;
.addimg {
position: relative;
.heng {
position: absolute;
top: 50px;
@@ -860,6 +914,7 @@ export default {
width: 50px;
border: 1px solid #4ea6ff;
}
.shu {
position: absolute;
top: 25px;
@@ -871,33 +926,40 @@ export default {
}
}
}
.i2_cz {
width: 440px;
margin-left: 100px;
.i2_top {
display: flex;
justify-content: space-between;
}
}
.i8_bottom {
display: flex;
width: 440px;
margin-left: 100px;
}
}
.mb_right {
width: 50%;
.mbl_items {
display: flex;
align-items: flex-start;
justify-content: flex-end;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
@@ -905,12 +967,15 @@ export default {
margin-right: 5px;
}
}
.item_inp {
flex: 1;
}
.accessory {
display: flex;
align-items: center;
.accessory_icon {
width: 16px;
height: 16px;
@@ -919,16 +984,19 @@ export default {
}
}
}
.mbl_items2 {
display: flex;
align-items: start;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
@@ -936,9 +1004,11 @@ export default {
margin-top: -15px;
}
}
.item_inp {
flex: 1;
position: relative;
.inp_num {
position: absolute;
left: 395px;
@@ -946,9 +1016,11 @@ export default {
}
}
}
.mbl_items12 {
width: 440px;
margin-left: 100px;
.i12_box1 {
display: flex;
align-items: center;
@@ -956,28 +1028,34 @@ export default {
border: 1px solid #eff4fc;
border-radius: 8px;
margin-bottom: 10px;
.file_img {
width: 27px;
height: 32px;
// background-image: url(@/assets/images/coursewareManage/imgs.png);
margin-right: 22px;
img {
width: 100%;
height: 100%;
}
}
.file_detail {
width: 250px;
margin-right: 21px;
.file_updata {
display: flex;
align-items: center;
.updatabox {
position: relative;
width: 230px;
height: 5px;
background-color: rgba(192, 192, 192, 0.25);
border-radius: 3px;
.updatacolor {
position: absolute;
left: 0;
@@ -986,6 +1064,7 @@ export default {
background-color: #57c887;
border-radius: 3px;
}
.updatacolor2 {
position: absolute;
left: 0;
@@ -994,6 +1073,7 @@ export default {
background-color: #ff7474;
border-radius: 3px;
}
.updatacolor3 {
position: absolute;
left: 0;
@@ -1002,18 +1082,21 @@ export default {
background-color: #388be1;
border-radius: 3px;
}
.updataxq {
position: absolute;
right: 2px;
top: -30px;
color: #57c887;
}
.updataxq2 {
position: absolute;
right: 2px;
top: -30px;
color: #ff7474;
}
.updataxq3 {
position: absolute;
right: 2px;
@@ -1023,8 +1106,10 @@ export default {
}
}
}
.file_operation {
display: flex;
.fobox {
margin-right: 5px;
cursor: pointer;
@@ -1034,17 +1119,21 @@ export default {
}
}
}
.m_footer {
display: flex;
margin: 20px 0;
.fotnam {
width: 100px;
display: flex;
justify-content: end;
padding-right: 15px;
}
.fotarea {
position: relative;
.fuwenben {
width: 90%;
height: 20px;
@@ -1057,6 +1146,7 @@ export default {
}
}
}
.m_btn {
width: 100%;
margin-top: 25px;
@@ -1064,6 +1154,7 @@ export default {
display: flex;
justify-content: center;
align-content: center;
.btn {
width: 100px;
height: 40px;
@@ -1075,16 +1166,19 @@ export default {
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn5 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
}
.btn6 {
background-color: #4ea6ff;
color: #ffffff;
@@ -1095,10 +1189,13 @@ export default {
}
}
}
.coursereviewedn {
width: 100%;
.tmpl {
width: 100%;
.tmpl_header {
display: flex;
flex-wrap: wrap;
@@ -1107,33 +1204,39 @@ export default {
margin-left: 32px;
margin-right: 32px;
.tmplh_inp {
.inpbox {
display: flex;
margin-top: 32px;
flex-wrap: wrap;
.inpbox1 {
display: flex;
justify-content: center;
align-items: center;
margin-right: 24px;
margin-top: 10px;
.ant-select-selector {
border-radius: 8px;
width: 270px;
height: 40px;
padding-top: 5px;
}
span {
white-space: nowrap;
}
}
}
}
.tmplh_btn {
display: flex;
// margin-left: 38px;
margin-top: 42px;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
@@ -1144,72 +1247,90 @@ export default {
margin-right: 14px;
cursor: pointer;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
.btnText1 {
color: rgb(255, 255, 255);
}
.btnText2 {
color: rgba(64, 158, 255, 1);
}
}
.btn1 {
background: #409eff;
.search {
width: 15px;
height: 17px;
background-image: url("../../assets/images/courseManage/search0.png");
}
}
.btn2 {
background: #ffffff;
border: 1px solid #388be1;
.search {
width: 16px;
height: 18px;
background-image: url("../../assets/images/courseManage/reset1.png");
}
}
.btn1:hover {
background: rgb(255, 255, 255);
border: 1px solid #388be1;
.search {
background-image: url("../../assets/images/courseManage/search1.png");
}
.btnText {
color: rgba(64, 158, 255, 1);
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("../../assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.tmpl_body {
padding: 0px 30px;
.tmpl_tabbox {
.operation {
display: flex;
justify-content: center;
align-items: center;
color: #4ea6ff;
.nselect {
justify-content: center;
align-items: center;
display: flex;
.jc {
margin-left: 20px;
white-space: nowrap;
@@ -1218,6 +1339,7 @@ export default {
}
}
}
.pa {
width: 100%;
margin-top: 20px;

View File

@@ -57,14 +57,14 @@
@change="rankTimeChange"
/>
</div>
<div class="inpbox1">
<a-select
v-model:value="valuestate"
placeholder="请选择审核状态"
@change="handleChangeproj"
:options="optionsproj"
/>
</div>
<!-- <div class="inpbox1">-->
<!-- <a-select-->
<!-- v-model:value="valuestate"-->
<!-- placeholder="请选择审核状态"-->
<!-- @change="handleChangeproj"-->
<!-- :options="optionsproj"-->
<!-- />-->
<!-- </div>-->
</div>
</div>
<div class="tmplh_btn">
@@ -193,8 +193,8 @@ export default {
{
title: "所属项目",
dataIndex: "belong",
key: "belong",
dataIndex: "sourceBelongName",
key: "sourceBelongName",
align: "center",
width: "10%",
},
@@ -317,6 +317,7 @@ export default {
name: item.name,
belong: "",
manager: item.manager || "-",
sourceBelongName: item.sourceBelongName,
status:
item.status == 0
? "草稿"
@@ -337,6 +338,7 @@ export default {
number: item.projectId,
name: item.name,
belong: "",
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-",
status:
item.status == 0

View File

@@ -104,6 +104,7 @@
v-model:chooseProject="chooseProject"
v-model:chooseCreateId="chooseCreateId"
v-model:chooseCreater="chooseCreater"
v-model:finishdFun="getProjList"
/>
</div>
</template>
@@ -154,8 +155,8 @@ export default {
{
title: "所属项目",
dataIndex: "belong",
key: "belong",
dataIndex: "sourceBelongName",
key: "sourceBelongName",
align: "center",
width: "11%",
},
@@ -250,6 +251,7 @@ export default {
number: item.projectId,
name: item.name,
belong: item.parentId,
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-",
status:
item.status == 0
@@ -277,6 +279,7 @@ export default {
number: item.projectId,
name: item.name,
belong: item.parentId,
sourceBelongName: item.sourceBelongName,
manager: item.manager || "-",
status:
item.status == 0

View File

@@ -576,7 +576,7 @@
<!-- 编辑多层项目弹窗 - end -->
<!-- 创建多层子项目弹窗 -->
<div>
<a-modal
<a-modalbe
v-model:visible="doublesonpro"
:title="null"
@ok="closeModal3"
@@ -705,7 +705,7 @@
>
</div>
</div>
</a-modal>
</a-modalbe>
</div>
<!-- 创建多层子项目弹窗 -->
<!-- 编辑多层子项目弹窗 start-->