mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
feat:隐藏功能
This commit is contained in:
@@ -9,6 +9,9 @@ export const projlist = (obj) => http.post('/admin/project/list', obj)
|
||||
//获取待审核项目列表
|
||||
export const auditlist = (obj) => http.post('/admin/project/auditlist', obj)
|
||||
|
||||
//获取已审核项目列表
|
||||
export const auditedlist = (obj) => http.post('/admin/project/auditedlist', obj)
|
||||
|
||||
//获取已审核项目列表
|
||||
export const listView = (obj) => http.post('/admin/project/listView', obj)
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
function formatNumber(n) {
|
||||
n = n.toString();
|
||||
return n[1] ? n : "0" + n;
|
||||
}
|
||||
|
||||
function toDate(number, format) {
|
||||
var formateArr = ["Y", "M", "D", "h", "m", "s"];
|
||||
var returnArr = [];
|
||||
@@ -25,6 +25,7 @@ function toDate(number, format) {
|
||||
}
|
||||
return format;
|
||||
}
|
||||
|
||||
function getWeek(date) {
|
||||
//date:'Y-M-D'
|
||||
let time = new Date(date).getDay()
|
||||
@@ -163,6 +164,19 @@ function autoComma(number) {
|
||||
}
|
||||
}
|
||||
|
||||
//节流
|
||||
function throttle(fn, delay = 200) {
|
||||
var timer = null;
|
||||
return function () {
|
||||
console.log('throttle')
|
||||
var context = this, args = arguments;
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function () {
|
||||
fn.apply(context, args);
|
||||
}, delay);
|
||||
};
|
||||
}
|
||||
|
||||
//把token存到cookie
|
||||
//name 字段名 value 字段值 perpetual 有效期
|
||||
const setCookie = (name, value, perpetual) => {
|
||||
@@ -201,7 +215,7 @@ function getCookie(name) {
|
||||
//滚动加载信息
|
||||
const scrollLoad = (e) => {
|
||||
// console.log("滚动", e, b);
|
||||
const { target } = e;
|
||||
const {target} = e;
|
||||
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||
const clientHeight = target.clientHeight;
|
||||
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||
@@ -422,6 +436,7 @@ const organizationalTree = []
|
||||
|
||||
const iframeUrl = "https://u-pre.boe.com/pc/iframe"
|
||||
export {
|
||||
throttle,
|
||||
toDate,
|
||||
getWeek,
|
||||
autoComma,
|
||||
|
||||
@@ -1,49 +1,30 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:visible="addevalVisible"
|
||||
class="drawerStyle addevalDrawer"
|
||||
width="80%"
|
||||
title="添加测评"
|
||||
placement="right"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
>
|
||||
<a-drawer :visible="addevalVisible" class="drawerStyle addevalDrawer" width="80%" title="添加测评" placement="right"
|
||||
@after-visible-change="afterVisibleChange">
|
||||
<div class="drawerMain">
|
||||
<div class="header">
|
||||
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}测评</div>
|
||||
<img
|
||||
style="width: 29px; height: 29px; cursor: pointer"
|
||||
src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer"
|
||||
/>
|
||||
<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="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">测评名称:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-input
|
||||
v-model:value="inputV1"
|
||||
style="width: 424px; height: 32px"
|
||||
placeholder="请输入测评名称"
|
||||
maxlength="20"
|
||||
/>
|
||||
<a-input v-model:value="inputV1" style="width: 424px; height: 32px" placeholder="请输入测评名称"
|
||||
maxlength="20" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">选择测评:</span>
|
||||
</div>
|
||||
@@ -52,13 +33,9 @@
|
||||
选择测评
|
||||
</button>
|
||||
<span style="margin-left: 10px">
|
||||
<a-tag
|
||||
class="tag-style"
|
||||
v-if="evaluationTypeName !== ''"
|
||||
:closable="true"
|
||||
@close="delTag"
|
||||
>{{ evaluationTypeName }}</a-tag
|
||||
>
|
||||
<a-tag class="tag-style" v-if="evaluationTypeName !== ''" :closable="true" @close="delTag">{{
|
||||
evaluationTypeName
|
||||
}}</a-tag>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -67,12 +44,8 @@
|
||||
<span style="margin-right: 3px">有效期:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-range-picker
|
||||
style="width: 424px"
|
||||
v-model:value="time"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
<a-range-picker style="width: 424px" v-model:value="time" format="YYYY-MM-DD HH:mm:ss"
|
||||
:placeholder="[' 开始时间', ' 结束时间']" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item2">
|
||||
@@ -80,12 +53,9 @@
|
||||
<span style="margin-right: 3px">测评说明:</span>
|
||||
</div>
|
||||
<div class="textarea">
|
||||
<a-textarea
|
||||
v-model:value="description"
|
||||
placeholder="请输入测评说明"
|
||||
style="width: 424px; height: 120px"
|
||||
allowClear
|
||||
/>
|
||||
<a-textarea maxlength="150" v-model:value="description" placeholder="请输入测评说明"
|
||||
style="width: 424px; height: 120px" allowClear />
|
||||
<span style="position:relative;top:96px;left:-54px;z-index:9999;">{{ description.length }}/150</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -95,26 +65,23 @@
|
||||
<button class="btn2" @click="creoredit">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
<EvList
|
||||
v-model:EvalListVisible="EvalListVisible"
|
||||
v-model:evaluationTypeName="evaluationTypeName"
|
||||
@getEvListData="checkFinish"
|
||||
/>
|
||||
<EvList v-model:EvalListVisible="EvalListVisible" v-model:evaluationTypeName="evaluationTypeName"
|
||||
@getEvListData="checkFinish" />
|
||||
<!-- <div class="aeLoading" :style="{display:addLoading?'flex':'none'}">
|
||||
<a-spin :spinning="addLoading" tip="添加中..." />
|
||||
</div> -->
|
||||
</a-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import {reactive, toRefs} from "vue";
|
||||
import { reactive, toRefs } from "vue";
|
||||
// import { useRouter } from "vue-router";
|
||||
import EvList from "./EvList.vue";
|
||||
import * as api from "../../api/indexEval";
|
||||
import * as apitaskadd from "../../api/indexTaskadd";
|
||||
import {message} from "ant-design-vue";
|
||||
import {RouterEditTask} from "@/api/indexTask";
|
||||
import { message } from "ant-design-vue";
|
||||
import { RouterEditTask } from "@/api/indexTask";
|
||||
import dayjs from "dayjs";
|
||||
import {addTempTask} from "../../api/indexTaskadd";
|
||||
import { addTempTask } from "../../api/indexTaskadd";
|
||||
|
||||
export default {
|
||||
name: "AddEval",
|
||||
@@ -170,7 +137,7 @@ export default {
|
||||
evaluationTypeId: null,
|
||||
evaluationTypeName: '',
|
||||
description: "",
|
||||
EvalListVisible: false,
|
||||
EvalListVisible: false
|
||||
// addLoading:false,
|
||||
});
|
||||
const checkFinish = (value) => {
|
||||
@@ -287,6 +254,7 @@ export default {
|
||||
createEvalText()
|
||||
}
|
||||
}
|
||||
|
||||
const editInvistText = () => {
|
||||
if (!state.inputV1) {
|
||||
message.destroy();
|
||||
@@ -372,7 +340,7 @@ export default {
|
||||
queryInvistById,
|
||||
editInvistText,
|
||||
showEvalDrawer,
|
||||
updateTask,
|
||||
updateTask
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -46,10 +46,11 @@
|
||||
<div class="img3"></div>
|
||||
<div class="wz">批量删除</div>
|
||||
</div>
|
||||
<div class="btn btn2">
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="btn btn2">
|
||||
<div class="img2"></div>
|
||||
<div class="wz">导出信息</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="line">
|
||||
<div class="inline">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="header">
|
||||
<div class="headerTitle">审核项目</div>
|
||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer" />
|
||||
@click="closeDrawer"/>
|
||||
</div>
|
||||
<div class="main" style="padding-right: 10px">
|
||||
<a-tabs v-model:activeKey="activeSetKey">
|
||||
@@ -15,62 +15,78 @@
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目名称:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ name }}</span>
|
||||
<span style="color: #999999">{{ projectInfo.name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>封面图:</span></div>
|
||||
<div class="setc_main">
|
||||
<img style="width: 151px; height: 84px" :src="picUrl" alt="" />
|
||||
<img style="width: 151px; height: 84px" :src="projectInfo.picUrl" alt=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目时间:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ startTime }} ~ {{ endTime }}</span>
|
||||
<span style="color: #999999">{{ projectInfo.beginTime }} ~ {{ projectInfo.endTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目经理:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ manager }}</span>
|
||||
<span style="color: #999999">{{ projectInfo.manager }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>资源归属:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ sourceBelongName }}</span>
|
||||
<span style="color: #999999">{{ projectInfo.sourceBelongName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目说明:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ remark }}</span>
|
||||
<span style="color: #999999">{{ projectInfo.remark }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>同步学习记录:</span></div>
|
||||
<div class="setc_main">
|
||||
<a-radio v-model:checked="checkedSty"><span
|
||||
style="color: #333333">同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span></a-radio>
|
||||
<a-switch
|
||||
v-model:checked="projectInfo.courseSyncFlag"
|
||||
:checkedValue="1"
|
||||
:unCheckedValue="0"
|
||||
:disabled="true"
|
||||
><span
|
||||
style="
|
||||
width: 100%;
|
||||
color: rgba(109, 117, 132, 1);
|
||||
font-size: 14px;
|
||||
"
|
||||
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||
></a-switch>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目级别:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ level }}</span>
|
||||
<ProjectLevel v-model:value="projectInfo.level" :disabled="true"></ProjectLevel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>培训体系:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999">{{ systemId }}</span>
|
||||
<TrainClass v-model:value="projectInfo.systemId" :disabled="true"></TrainClass>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>是否BOEU实施:</span></div>
|
||||
<div class="setc_main">
|
||||
<a-radio v-model:checked="checkedBOEU"><span style="color: #333333">BOEU实施</span></a-radio>
|
||||
<a-switch
|
||||
v-model:checked="projectInfo.boeFlag"
|
||||
:checkedValue="1"
|
||||
:unCheckedValue="0"
|
||||
:disabled="true"
|
||||
></a-switch>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,11 +112,11 @@
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="sign" style="position:relative;left:70px;top:-3px;">
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt=""/>
|
||||
</div>
|
||||
<div class="setc_name"><span>审核意见:</span></div>
|
||||
<div class="setc_main">
|
||||
<a-textarea v-model:value="valueSuggest" :rows="4" />
|
||||
<a-textarea v-model:value="valueSuggest" :rows="4"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -115,15 +131,20 @@
|
||||
|
||||
<script>
|
||||
import {toRefs, reactive, onMounted} from "vue";
|
||||
import { getTask } from "../../api/indexTaskadd";
|
||||
import { toDate } from "../../api/method";
|
||||
import { auditView } from "../../api/indexAudit";
|
||||
import { message } from "ant-design-vue";
|
||||
import {getTask} from "../../api/indexTaskadd";
|
||||
import {toDate} from "../../api/method";
|
||||
import {auditView} from "../../api/indexAudit";
|
||||
import {message} from "ant-design-vue";
|
||||
import * as api1 from "@/api/index1";
|
||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||
import TrainClass from "@/components/project/TrainClass";
|
||||
|
||||
export default {
|
||||
name: "ProjectAudit",
|
||||
components: {},
|
||||
components: {
|
||||
ProjectLevel,
|
||||
TrainClass,
|
||||
},
|
||||
props: {
|
||||
ProjAuditvisible: {
|
||||
type: Boolean,
|
||||
@@ -181,8 +202,9 @@ export default {
|
||||
noticeFlag: null, //未改
|
||||
templateId: null, //未改
|
||||
attach: null,
|
||||
calssifyList:[],
|
||||
faceclassScene:[]
|
||||
calssifyList: [],
|
||||
faceclassScene: [],
|
||||
projectInfo: {}
|
||||
});
|
||||
|
||||
const closeDrawer = () => {
|
||||
@@ -199,6 +221,7 @@ export default {
|
||||
projectId: props.chooseProject,
|
||||
}).then((res) => {
|
||||
console.log("get task", res.data.data);
|
||||
state.projectInfo = res.data.data.projectInfo;
|
||||
let info = res.data.data.projectInfo;
|
||||
let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
|
||||
let end = toDate(info.endTime / 1000, "Y-M-D h:m");
|
||||
@@ -264,7 +287,7 @@ export default {
|
||||
state.showDetail = !state.showDetail;
|
||||
};
|
||||
const subMit = () => {
|
||||
if(!state.valueSuggest){
|
||||
if (!state.valueSuggest) {
|
||||
message.error(`请输入审核意见!`);
|
||||
return
|
||||
}
|
||||
@@ -293,8 +316,8 @@ export default {
|
||||
setCode: param
|
||||
}).then((res) => res.data.data.rows)
|
||||
onMounted(async () => {
|
||||
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode })) //内容
|
||||
state.faceclassScene = (await getDictList("faceclassScene")).map(e => ({ label: e.dictName, value: e.dictCode })) //场景
|
||||
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({label: e.dictName, value: e.dictCode})) //内容
|
||||
state.faceclassScene = (await getDictList("faceclassScene")).map(e => ({label: e.dictName, value: e.dictCode})) //场景
|
||||
});
|
||||
return {
|
||||
...toRefs(state),
|
||||
|
||||
@@ -46,9 +46,15 @@ export default {
|
||||
watch(state.id, () => {
|
||||
ctx.emit('update:modelValue', state.id)
|
||||
})
|
||||
onMounted(() => {
|
||||
state.options = [{id: props.modelValue, name: props.name}, ...store.state.orgtreeList]
|
||||
watch(props, () => {
|
||||
if (props.modelValue !== state.id) {
|
||||
state.id = props.modelValue
|
||||
}
|
||||
})
|
||||
onMounted(() => {
|
||||
state.options = [...store.state.orgtreeList]
|
||||
})
|
||||
|
||||
function change(key, obj) {
|
||||
ctx.emit('update:name', obj[0])
|
||||
}
|
||||
|
||||
@@ -33,6 +33,13 @@ export default {
|
||||
options: [],
|
||||
id: props.modelValue
|
||||
});
|
||||
|
||||
watch(props, () => {
|
||||
if (props.modelValue !== state.id) {
|
||||
state.id = props.modelValue
|
||||
}
|
||||
})
|
||||
|
||||
watch(state.id,()=>{
|
||||
ctx.emit('update:modelValue',state.id)
|
||||
})
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
</a-select>
|
||||
</template>
|
||||
<script>
|
||||
import {reactive, toRefs, watch} from "vue";
|
||||
import {scrollLoad} from "@/api/method";
|
||||
import {onMounted, reactive, toRefs, watch} from "vue";
|
||||
import {scrollLoad, throttle} from "@/api/method";
|
||||
import * as api1 from "@/api/index1";
|
||||
|
||||
export default {
|
||||
@@ -46,21 +46,36 @@ export default {
|
||||
loading: false,
|
||||
init: false
|
||||
});
|
||||
const getMemberThrottle = throttle(getMember, 500)
|
||||
|
||||
watch(() => state.memberParam, getMember)
|
||||
watch(() => props.value, init)
|
||||
watch(() => state.memberParam, getMemberThrottle)
|
||||
watch(props, init)
|
||||
|
||||
onMounted(() => {
|
||||
console.log('onMounted')
|
||||
init()
|
||||
})
|
||||
|
||||
function getMember() {
|
||||
state.loading = true
|
||||
state.options = []
|
||||
getMemberData()
|
||||
}
|
||||
|
||||
|
||||
function getMemberData() {
|
||||
api1.getMemberInfo(state.memberParam).then((res) => {
|
||||
const list = res.data.data.rows.filter(e => !props.value?.includes(e.id + '')).map(e => ({
|
||||
label: e.realName,
|
||||
value: e.id
|
||||
}));
|
||||
state.options.push(...list)
|
||||
if (state.memberParam.pageNo === 1 && props.value) {
|
||||
const arrManagerId = props.value.split(',')
|
||||
const arrManager = props.name.split(',')
|
||||
state.options = [...arrManager.map((e, i) => ({label: e, value: arrManagerId[i]})), ...list]
|
||||
} else state.options.push(...list)
|
||||
state.loading = false
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
const memberScroll = (e) => {
|
||||
@@ -77,14 +92,26 @@ export default {
|
||||
};
|
||||
|
||||
function init() {
|
||||
if (props.value && props.name) {
|
||||
console.log('init--', props)
|
||||
if (props.value !== state.managerArray.join(',')) {
|
||||
if (props.value) {
|
||||
const arrManager = props.name.split(',')
|
||||
const arrManagerId = props.value.split(',')
|
||||
state.managerArray = arrManagerId
|
||||
state.options = arrManager.map((e, i) => ({label: e, value: arrManagerId[i]}))
|
||||
state.init = true
|
||||
} else {
|
||||
state.managerArray = []
|
||||
}
|
||||
getMemberData()
|
||||
return;
|
||||
}
|
||||
if (!props.value) {
|
||||
if (!(state.options && state.options.length)) {
|
||||
state.options = []
|
||||
getMember()
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function change(e, l) {
|
||||
|
||||
@@ -33,6 +33,14 @@ export default {
|
||||
watch(state.id, () => {
|
||||
ctx.emit('update:modelValue', state.id)
|
||||
})
|
||||
|
||||
watch(props, () => {
|
||||
if (props.modelValue !== state.id) {
|
||||
state.id = props.modelValue
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
state.options = store.state.projectSys.map(e => ({value: parseInt(e.dictCode), label: e.dictName}))
|
||||
})
|
||||
|
||||
@@ -73,8 +73,8 @@
|
||||
<span style="margin-right: 3px">基础投票数:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-upload @change="handleChange" :multiple="true" :max-count="1" action="/manageApi/vote/baseVoteupload"
|
||||
v-model:file-list="fileList">
|
||||
<a-upload @change="handleChange" :before-upload="beforeUpload" :multiple="true" :max-count="1"
|
||||
action="/manageApi/vote/baseVoteupload" v-model:file-list="fileList">
|
||||
<button class="xkbtn">点击上传</button></a-upload>
|
||||
<div v-if="voteCount > 0"><a-tag color="processing"> <span style="font-size:14px;line-height: 33px;">{{
|
||||
voteCount
|
||||
@@ -218,7 +218,23 @@ export default {
|
||||
|
||||
};
|
||||
|
||||
// 限制文件格式上传
|
||||
const beforeUpload = (obj) => {
|
||||
console.log(obj)
|
||||
}
|
||||
|
||||
const handleChange = info => {
|
||||
console.log(info.file.type, info.file.type.indexOf('sheet'))
|
||||
if (info.file.type.indexOf('sheet') == -1) {
|
||||
message.destroy()
|
||||
message.error("请上传正确的文件格式")
|
||||
|
||||
console.log(state.fileList)
|
||||
|
||||
state.fileList = []
|
||||
return
|
||||
}
|
||||
|
||||
let resFileList = [...info.fileList];
|
||||
|
||||
|
||||
@@ -353,7 +369,7 @@ export default {
|
||||
if (props.edit) {
|
||||
api
|
||||
.editVote(obj)
|
||||
.then(async(res) => {
|
||||
.then(async (res) => {
|
||||
console.log("updte======");
|
||||
await updateToTask(res);
|
||||
closeDrawer();
|
||||
@@ -367,7 +383,7 @@ export default {
|
||||
} else {
|
||||
api
|
||||
.createVote(obj)
|
||||
.then(async(res) => {
|
||||
.then(async (res) => {
|
||||
await updateToTask(res);
|
||||
closeDrawer();
|
||||
message.destroy();
|
||||
@@ -401,6 +417,7 @@ export default {
|
||||
queryStem,
|
||||
closeStem,
|
||||
handleChange,
|
||||
beforeUpload,
|
||||
log,
|
||||
};
|
||||
},
|
||||
|
||||
@@ -67,10 +67,11 @@
|
||||
<div class="search"></div>
|
||||
<div class="btnText">重置</div>
|
||||
</div>
|
||||
<div class="btn btn3" @click="openMessage">
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="btn btn3" @click="openMessage">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">导出</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="btn btn4" @click="of_hShow">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">新建课程</div>
|
||||
@@ -612,9 +613,7 @@
|
||||
v-for="(item, index) in imgList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="file_img">
|
||||
|
||||
</div>
|
||||
<div class="file_img"></div>
|
||||
<div class="file_detail">
|
||||
<!-- <div class="file_name">
|
||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||
@@ -690,9 +689,10 @@
|
||||
<div class="btnText" @click="ft_exit">取消</div>
|
||||
</div>
|
||||
<div class="btn btn6">
|
||||
<div v-if="(isEdit==0)" class="btnText" @click="handlePush">确定</div>
|
||||
<div v-if="isEdit==1" class="btnText">已保存</div>
|
||||
|
||||
<div v-if="isEdit == 0" class="btnText" @click="handlePush">
|
||||
确定
|
||||
</div>
|
||||
<div v-if="isEdit == 1" class="btnText">已保存</div>
|
||||
</div>
|
||||
<div class="btn btn6">
|
||||
<div class="btnText" @click="reviewClick">提交审核</div>
|
||||
@@ -1332,7 +1332,7 @@
|
||||
:tabBarStyle="{ marginLeft: '10px' }"
|
||||
@change="faceManageChange"
|
||||
>
|
||||
<a-tab-pane key="1" tab="报名管理">
|
||||
<!-- <a-tab-pane key="1" tab="报名管理">
|
||||
<div class="b_menunav">
|
||||
<div class="bm_select">
|
||||
<a-select
|
||||
@@ -1347,14 +1347,7 @@
|
||||
@focus="focus"
|
||||
@change="handleChange"
|
||||
>
|
||||
<!-- <a-select-option value="status">状态</a-select-option>
|
||||
<a-select-option value="passed">已通过</a-select-option>
|
||||
<a-select-option value="weishenhe">
|
||||
未审核
|
||||
</a-select-option>
|
||||
<a-select-option value="reject">
|
||||
管理员拒绝
|
||||
</a-select-option> -->
|
||||
|
||||
</a-select>
|
||||
</div>
|
||||
<div class="bm_input">
|
||||
@@ -1393,8 +1386,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="学习记录">
|
||||
</a-tab-pane> -->
|
||||
<a-tab-pane key="1" tab="学习记录">
|
||||
<div class="b_menunav">
|
||||
<div class="bm_select">
|
||||
<a-select
|
||||
@@ -1937,9 +1930,7 @@
|
||||
v-for="(item, index) in filesList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="file_img">
|
||||
|
||||
</div>
|
||||
<div class="file_img"></div>
|
||||
<div class="file_detail">
|
||||
<!-- <div class="file_name">
|
||||
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||
@@ -1991,10 +1982,8 @@
|
||||
<div class="btnText" @click="handleCancelStu">取消</div>
|
||||
</div>
|
||||
<div class="cstm_btn btn6">
|
||||
<div v-if="addLoading" class="btnText" >保存中</div>
|
||||
<div v-if="addLoading" class="btnText">保存中</div>
|
||||
<div v-else class="btnText" @click="handleSureStu">确定</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2085,7 +2074,8 @@
|
||||
添加学员
|
||||
</span>
|
||||
</div>
|
||||
<div class="stmm_btn btn4" @click="hideShow">
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="stmm_btn btn4" @click="hideShow">
|
||||
<div class="btn4_sub">
|
||||
<span style="color: #4ea6ff; margin-right: 4px">
|
||||
批量操作
|
||||
@@ -2122,7 +2112,7 @@
|
||||
<div class="stmm_btn btn5" @click="handleExportStu">
|
||||
<div class="export"></div>
|
||||
<div class="btnText">导出</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="stmm_i6">
|
||||
@@ -2488,7 +2478,6 @@
|
||||
<div class="btnText" @click="agreereject_exit">取消</div>
|
||||
</div>
|
||||
<div class="qrm_btn btn2">
|
||||
|
||||
<div class="btnText" @click="handleAgreeTrue">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2546,10 +2535,8 @@
|
||||
<div class="btnText" @click="delete_exit1">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
|
||||
<div v-if="addLoading" class="btnText" >保存中...</div>
|
||||
<div v-if="addLoading" class="btnText">保存中...</div>
|
||||
<div v-else class="btnText" @click="handleDeleteExit">确定</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2609,10 +2596,9 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="aeLoading" :style="{display: addLoading ? 'flex' : 'none'}" >
|
||||
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
||||
<a-spin :spinning="addLoading" tip="保存中..." />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
@@ -3090,25 +3076,25 @@ const columns7 = [
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "结业状态",
|
||||
width: 100,
|
||||
className: "h",
|
||||
dataIndex: "overstatus",
|
||||
key: "overstatus",
|
||||
fixed: "right",
|
||||
align: "center",
|
||||
// key: "9",
|
||||
// {
|
||||
// title: "结业状态",
|
||||
// width: 100,
|
||||
// className: "h",
|
||||
// dataIndex: "overstatus",
|
||||
// key: "overstatus",
|
||||
// fixed: "right",
|
||||
// align: "center",
|
||||
// customRender: ({ record }) => {
|
||||
// switch (String(record.source)) {
|
||||
// case "0":
|
||||
// return "未结业";
|
||||
// case "1":
|
||||
// return "已结业";
|
||||
// }
|
||||
// // key: "9",
|
||||
// // align: "center",
|
||||
// // customRender: ({ record }) => {
|
||||
// // switch (String(record.source)) {
|
||||
// // case "0":
|
||||
// // return "未结业";
|
||||
// // case "1":
|
||||
// // return "已结业";
|
||||
// // }
|
||||
// // },
|
||||
// },
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
width: 100,
|
||||
@@ -3137,12 +3123,12 @@ export default defineComponent({
|
||||
},
|
||||
setup() {
|
||||
const state = reactive({
|
||||
addLoading:false,
|
||||
addLoading: false,
|
||||
currentPlanItem: {},
|
||||
teacherId:null,
|
||||
teacher:null,
|
||||
teacherId: null,
|
||||
teacher: null,
|
||||
selectedRowKeys7: [],
|
||||
isEdit:0,
|
||||
isEdit: 0,
|
||||
|
||||
//列表表格
|
||||
tableData1: [
|
||||
@@ -3383,7 +3369,6 @@ export default defineComponent({
|
||||
addStudentList: null, //选中列表
|
||||
|
||||
newCourseName: null, //新建开课名称
|
||||
|
||||
});
|
||||
|
||||
const showStuAdd = () => {
|
||||
@@ -3734,8 +3719,8 @@ export default defineComponent({
|
||||
const rest = () => {
|
||||
options4CurName.value = "";
|
||||
options4CurId.value = "";
|
||||
state.teacher =null;
|
||||
state.teacherId =null;
|
||||
state.teacher = null;
|
||||
state.teacherId = null;
|
||||
};
|
||||
const handleChangeTea1 = (val) => {
|
||||
console.log(787877);
|
||||
@@ -4038,7 +4023,6 @@ export default defineComponent({
|
||||
for (const keyName of checkList) {
|
||||
if (!keyName) {
|
||||
count++;
|
||||
|
||||
}
|
||||
}
|
||||
return count ? false : true;
|
||||
@@ -4060,13 +4044,13 @@ export default defineComponent({
|
||||
state.qdms_inputV6 = "";
|
||||
state.imgList = [];
|
||||
valueHtml.value = "";
|
||||
state.fileList =[];
|
||||
state.fileList = [];
|
||||
};
|
||||
//保存面授课
|
||||
const handlePush = (param) => {
|
||||
//state.isEdit = 1;
|
||||
|
||||
console.log("========",state.addLoading);
|
||||
console.log("========", state.addLoading);
|
||||
console.log("state.imgList");
|
||||
console.log(state.imgList);
|
||||
let files = "";
|
||||
@@ -4077,8 +4061,22 @@ export default defineComponent({
|
||||
}
|
||||
files = files.slice(0, files.length - 1);
|
||||
console.log(files);
|
||||
let tid = (state.teacherId==null)?(state.qdms_inputV5 ? state.qdms_inputV5 : null):state.teacherId;
|
||||
console.log("state.teacherId==null",state.teacherId==null,"state.qdms_inputV5",state.qdms_inputV5,"state.teacherId",state.teacherId,"tid",tid);
|
||||
let tid =
|
||||
state.teacherId == null
|
||||
? state.qdms_inputV5
|
||||
? state.qdms_inputV5
|
||||
: null
|
||||
: state.teacherId;
|
||||
console.log(
|
||||
"state.teacherId==null",
|
||||
state.teacherId == null,
|
||||
"state.qdms_inputV5",
|
||||
state.qdms_inputV5,
|
||||
"state.teacherId",
|
||||
state.teacherId,
|
||||
"tid",
|
||||
tid
|
||||
);
|
||||
const postData = {
|
||||
offcourseId: state.offcourseId, //不传代表新增
|
||||
name: state.qdms_inputV1,
|
||||
@@ -4088,13 +4086,13 @@ export default defineComponent({
|
||||
categoryId: state.fen_lei,
|
||||
sceneId: state.chang_jin,
|
||||
tips: state.tags_val ? state.tags_val.join(",") : null,
|
||||
teacherId:tid, //?
|
||||
teacherId: tid, //?
|
||||
intro: state.qdms_inputV6,
|
||||
attach: files,
|
||||
outline: valueHtml.value,
|
||||
//teacherId:state.teacherId ,
|
||||
};
|
||||
console.log("===",state.teacherId,"hha",state.qdms_inputV5);
|
||||
console.log("===", state.teacherId, "hha", state.qdms_inputV5);
|
||||
console.log("postData");
|
||||
console.log(postData);
|
||||
const checkList = [
|
||||
@@ -4107,7 +4105,7 @@ export default defineComponent({
|
||||
if (!checkVal(checkList)) {
|
||||
message.destroy();
|
||||
return message.error("请输入必填项");
|
||||
}else{
|
||||
} else {
|
||||
state.addLoading = true;
|
||||
}
|
||||
|
||||
@@ -4140,11 +4138,10 @@ export default defineComponent({
|
||||
};
|
||||
const createkk = () => {
|
||||
getTea();
|
||||
state.offcoursePlanId =null;
|
||||
state.offcoursePlanId = null;
|
||||
state.cstm_hs = true;
|
||||
};
|
||||
const handleCancelStu = () => {
|
||||
|
||||
state.cstm_hs = false;
|
||||
state.kk_eidt = false;
|
||||
state.xjkkradioV1 = "";
|
||||
@@ -4158,15 +4155,14 @@ export default defineComponent({
|
||||
};
|
||||
//保存开课
|
||||
const handleSureStu = () => {
|
||||
|
||||
let startTime,
|
||||
endTime = 0;
|
||||
if (state.xjkkinputV3) {
|
||||
startTime = parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
|
||||
endTime = parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
|
||||
}
|
||||
let t=state.signCom?"1,":"0,";
|
||||
let p= state.comLeave?"1":"0";
|
||||
let t = state.signCom ? "1," : "0,";
|
||||
let p = state.comLeave ? "1" : "0";
|
||||
let type = t.concat(p);
|
||||
const postData = {
|
||||
offcourseId: state.offcourseId,
|
||||
@@ -4176,14 +4172,14 @@ export default defineComponent({
|
||||
applyFlag: state.checked1 ? 1 : 0,
|
||||
attach: state.filesList.length ? state.filesList.join(",") : "",
|
||||
beginTime: startTime,
|
||||
completeType:type,
|
||||
completeType: type,
|
||||
endTime: endTime,
|
||||
evalFlag: state.checked4 ? 1 : 0,
|
||||
name: state.xjkkinputV1,
|
||||
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
|
||||
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
||||
teacherId: state.xjkkinputV4 ? state.xjkkinputV4 : "",
|
||||
teacher:options4CurName.value,
|
||||
teacher: options4CurName.value,
|
||||
};
|
||||
console.log(postData);
|
||||
const checkList = [
|
||||
@@ -4196,9 +4192,9 @@ export default defineComponent({
|
||||
if (!checkVal(checkList)) {
|
||||
message.destroy();
|
||||
return message.error("请输入必填项");
|
||||
}else{
|
||||
} else {
|
||||
state.addLoading = true;
|
||||
console.log("state.addLoading ",state.addLoading );
|
||||
console.log("state.addLoading ", state.addLoading);
|
||||
}
|
||||
editPlan(postData).then((res) => {
|
||||
if (res.data.code === 200) {
|
||||
@@ -4211,7 +4207,6 @@ export default defineComponent({
|
||||
};
|
||||
//编辑开课
|
||||
const handelEditStu = async (itm) => {
|
||||
|
||||
console.log(itm);
|
||||
state.offcourseId = itm.offcourseId;
|
||||
state.offcoursePlanId = itm.offcoursePlanId;
|
||||
@@ -4234,8 +4229,8 @@ export default defineComponent({
|
||||
options4CurId.value = item.teacherId;
|
||||
// (state.regisCom = item.completeType.split(",")[0] == "1" ? true : false),
|
||||
(state.signCom = item.completeType.split(",")[0] == "1" ? true : false),
|
||||
(state.comLeave = item.completeType.split(",")[1] == "1" ? true : false),
|
||||
|
||||
(state.comLeave =
|
||||
item.completeType.split(",")[1] == "1" ? true : false),
|
||||
(state.checked4 = item.evalFlag === 1 ? true : false);
|
||||
state.xjkkinputV1 = item.name;
|
||||
if (item.signFlag === 1) {
|
||||
@@ -4310,21 +4305,21 @@ export default defineComponent({
|
||||
state.ftQR_hs = false;
|
||||
state.ftsQR_hs = false;
|
||||
state.vipftQR_hs = false;
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
};
|
||||
const rg_exit = () => {
|
||||
state.rg_hs = false;
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
};
|
||||
const graduate_exit = () => {
|
||||
state.graduate_hs = false;
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
};
|
||||
const agreereject_exit = () => {
|
||||
state.agreereject_hs = false;
|
||||
state.agreestudy_hs = false;
|
||||
state.rejectstudy_hs = false;
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
};
|
||||
const delete_exit1 = () => {
|
||||
state.delete_hs = false;
|
||||
@@ -4333,7 +4328,7 @@ export default defineComponent({
|
||||
state.nouse_hs = false;
|
||||
state.rg_hs = false;
|
||||
state.graduate_hs = false;
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
};
|
||||
const handleRejectExit = (itm, type) => {
|
||||
if (type === "1") {
|
||||
@@ -4388,7 +4383,6 @@ export default defineComponent({
|
||||
};
|
||||
//确认复制
|
||||
const handleAgreeTrue = async () => {
|
||||
|
||||
if (state.agreestudy_hs) {
|
||||
handleStudent({
|
||||
offcoursePlanId: state.offcoursePlanId,
|
||||
@@ -4398,7 +4392,7 @@ export default defineComponent({
|
||||
});
|
||||
getTableDate2();
|
||||
delete_exit1();
|
||||
state.addLoading =false;
|
||||
state.addLoading = false;
|
||||
}
|
||||
if (state.rejectstudy_hs) {
|
||||
handleStudent({
|
||||
@@ -4409,12 +4403,11 @@ export default defineComponent({
|
||||
});
|
||||
getTableDate2();
|
||||
delete_exit1();
|
||||
|
||||
}
|
||||
};
|
||||
//确认复制课程
|
||||
const handleDeleteExit = async () => {
|
||||
state.addLoading =true;
|
||||
state.addLoading = true;
|
||||
|
||||
if (state.del_hs) {
|
||||
console.log(11111111);
|
||||
@@ -4447,7 +4440,6 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
if (state.copy_hs) {
|
||||
console.log(2222222);
|
||||
@@ -4474,7 +4466,7 @@ export default defineComponent({
|
||||
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
|
||||
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
|
||||
teacherId: item.teacherId,
|
||||
teacher:item.teacher,
|
||||
teacher: item.teacher,
|
||||
};
|
||||
console.log(obj);
|
||||
editPlan(obj).then((res) => {
|
||||
@@ -4505,14 +4497,13 @@ export default defineComponent({
|
||||
intro: item.intro,
|
||||
attach: item.attach,
|
||||
outline: item.outline,
|
||||
teacher:item.teacher,
|
||||
teacher: item.teacher,
|
||||
};
|
||||
edit(postData).then((res) => {
|
||||
if (res.data.code === 200) {
|
||||
getTableDate();
|
||||
delete_exit1();
|
||||
rest();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -4532,7 +4523,6 @@ export default defineComponent({
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
const handleDeleteKaike = (value) => {
|
||||
state.offcoursePlanId = value.offcoursePlanId;
|
||||
@@ -4577,8 +4567,8 @@ export default defineComponent({
|
||||
//获取教师
|
||||
const getTea = async () => {
|
||||
console.log("获取授课教师信息");
|
||||
options4CurName.value =state.teacher;
|
||||
options4CurId.value =state.teacherId;
|
||||
options4CurName.value = state.teacher;
|
||||
options4CurId.value = state.teacherId;
|
||||
|
||||
const item1 = await getMemberInfoApi({
|
||||
pageNo: state.currentPageTea1,
|
||||
@@ -4603,13 +4593,12 @@ export default defineComponent({
|
||||
options4CurName.value = item.realName;
|
||||
state.xjkkinputV4 = item.realName;
|
||||
state.teacherId = item.id;
|
||||
|
||||
} else if (state.offcourseId) {
|
||||
options4CurName.value = item.realName;
|
||||
state.qdms_inputV5 = item.realName;
|
||||
state.teacher = item.realName;
|
||||
state.teacherId =item.id;
|
||||
console.log("那个老师",item);
|
||||
state.teacherId = item.id;
|
||||
console.log("那个老师", item);
|
||||
}
|
||||
}
|
||||
newArr.push({
|
||||
@@ -4623,7 +4612,6 @@ export default defineComponent({
|
||||
};
|
||||
//编辑面授课
|
||||
const handleEdit = async (itm, type) => {
|
||||
|
||||
state.isEdit = 0;
|
||||
console.log(45555);
|
||||
console.log(itm);
|
||||
@@ -4653,9 +4641,9 @@ export default defineComponent({
|
||||
state.teacher = item.teacher;
|
||||
state.teacherId = item.teacherId;
|
||||
state.qdms_inputV6 = item.intro;
|
||||
if(item.attach==""){
|
||||
state.imgList =[];
|
||||
}else{
|
||||
if (item.attach == "") {
|
||||
state.imgList = [];
|
||||
} else {
|
||||
if (item.attach.indexOf(",")) {
|
||||
const arr = item.attach.split(",");
|
||||
arr.forEach((item) => {
|
||||
@@ -4874,9 +4862,9 @@ export default defineComponent({
|
||||
}
|
||||
};
|
||||
const submitReview = (id) => {
|
||||
state.addLoading =true;
|
||||
state.addLoading = true;
|
||||
|
||||
if(id==""){
|
||||
if (id == "") {
|
||||
return message.error("请先完成保存");
|
||||
}
|
||||
let obj = {
|
||||
@@ -4890,8 +4878,7 @@ export default defineComponent({
|
||||
ft_exit();
|
||||
rest();
|
||||
getTableDate();
|
||||
state.addLoading =false;
|
||||
|
||||
state.addLoading = false;
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -5098,7 +5085,7 @@ export default defineComponent({
|
||||
});
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.aeLoading{
|
||||
.aeLoading {
|
||||
z-index: 10000;
|
||||
}
|
||||
.courseManage {
|
||||
@@ -5259,7 +5246,7 @@ export default defineComponent({
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top:-100%;
|
||||
top: -100%;
|
||||
transform: translate(-50%, -50%);
|
||||
.of_header {
|
||||
position: absolute;
|
||||
@@ -6869,7 +6856,8 @@ export default defineComponent({
|
||||
.stmm_btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
margin-right: 14px;
|
||||
// <!-- 2022-11-30注释 后面放开 -->
|
||||
// margin-right: 14px;
|
||||
background: #ffffff;
|
||||
border: 1px solid #4ea6ff;
|
||||
border-radius: 8px;
|
||||
|
||||
@@ -54,17 +54,9 @@
|
||||
v-model:value="valueDate"
|
||||
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
@change="rankTimeChange"
|
||||
valueFormat="X"
|
||||
/>
|
||||
</div>
|
||||
<!-- <div class="inpbox1">-->
|
||||
<!-- <a-select-->
|
||||
<!-- v-model:value="valuestate"-->
|
||||
<!-- placeholder="请选择审核状态"-->
|
||||
<!-- @change="handleChangeproj"-->
|
||||
<!-- :options="optionsproj"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="tmplh_btn">
|
||||
@@ -148,9 +140,8 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { reactive, toRefs, onMounted } from "vue";
|
||||
import { listView, auditList } from "../../api/indexAudit";
|
||||
import { toDate } from "@/api/method";
|
||||
import {reactive, toRefs, onMounted} from "vue";
|
||||
import {listView, auditList, auditlist, auditedlist} from "../../api/indexAudit";
|
||||
|
||||
export default {
|
||||
name: "ProjectViewed",
|
||||
@@ -180,8 +171,8 @@ export default {
|
||||
columns1: [
|
||||
{
|
||||
title: "序号",
|
||||
dataIndex: "number",
|
||||
key: "number",
|
||||
dataIndex: "projectId",
|
||||
key: "projectId",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
@@ -193,8 +184,8 @@ export default {
|
||||
|
||||
{
|
||||
title: "所属项目",
|
||||
dataIndex: "sourceBelongName",
|
||||
key: "sourceBelongName",
|
||||
dataIndex: "topName",
|
||||
key: "topName",
|
||||
align: "center",
|
||||
width: "10%",
|
||||
},
|
||||
@@ -209,23 +200,24 @@ export default {
|
||||
dataIndex: "status",
|
||||
key: "status",
|
||||
align: "center",
|
||||
customRender: ({record: {status}}) => <div>{{2: '审核通过', 3: '审核拒绝'}[status]}</div>,
|
||||
},
|
||||
{
|
||||
title: "创建人",
|
||||
dataIndex: "creater",
|
||||
key: "creater",
|
||||
dataIndex: "createName",
|
||||
key: "createName",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "审核时间",
|
||||
dataIndex: "time",
|
||||
key: "time",
|
||||
dataIndex: "updateTime",
|
||||
key: "updateTime",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "审核说明",
|
||||
dataIndex: "msg",
|
||||
key: "msg",
|
||||
dataIndex: "description",
|
||||
key: "description",
|
||||
align: "center",
|
||||
},
|
||||
|
||||
@@ -239,7 +231,7 @@ export default {
|
||||
<div>
|
||||
<span
|
||||
onClick={() => {
|
||||
showProjAuditModal(value.record.id);
|
||||
showProjAuditModal(value.record.auditList);
|
||||
}}
|
||||
style="cursor:pointer;color:#387DF7"
|
||||
>
|
||||
@@ -254,23 +246,25 @@ export default {
|
||||
columnsAudit: [
|
||||
{
|
||||
title: "审核人",
|
||||
dataIndex: "name",
|
||||
key: "name",
|
||||
dataIndex: "createName",
|
||||
key: "createName",
|
||||
align: "center",
|
||||
},
|
||||
|
||||
{
|
||||
title: "审核状态",
|
||||
dataIndex: "belong",
|
||||
key: "belong",
|
||||
dataIndex: "status",
|
||||
key: "status",
|
||||
align: "center",
|
||||
customRender: ({record: {status}}) => <div>{{'2': '审核通过', '-2': '审核拒绝'}[(status + '')]}</div>,
|
||||
},
|
||||
|
||||
{
|
||||
title: "审核时间",
|
||||
dataIndex: "time",
|
||||
key: "time",
|
||||
dataIndex: "createTime",
|
||||
key: "createTime",
|
||||
align: "center",
|
||||
width: 220
|
||||
},
|
||||
|
||||
{
|
||||
@@ -286,124 +280,21 @@ export default {
|
||||
});
|
||||
const getProjList = () => {
|
||||
let objn = {
|
||||
beginTime: state.valueDate == undefined ? "" : Date.parse(state.valueDate[0]) ,
|
||||
endTime: state.valueDate == undefined ? "" : Date.parse(state.valueDate[1]),
|
||||
beginTime: state.valueDate ? state.valueDate[0] : '',
|
||||
endTime: state.valueDate ? state.valueDate[1] : '',
|
||||
createName: state.valuecreater,
|
||||
manager: state.valuename,
|
||||
name: state.valueproj,
|
||||
pageNo: state.currentPage,
|
||||
pageSize: state.pageSize,
|
||||
status: 0,
|
||||
status: 1,
|
||||
};
|
||||
listView(objn)
|
||||
.then((res) => {
|
||||
console.log("获取已审核项目成功", res.data.data.rows);
|
||||
auditedlist(objn).then((res) => {
|
||||
let result = res.data.data;
|
||||
state.total = res.data.data.total;
|
||||
setTableData(result.rows);
|
||||
state.tableData1 = result.rows
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取已审核项目失败", err);
|
||||
});
|
||||
};
|
||||
const setTableData = (tabledata) => {
|
||||
let data = tabledata;
|
||||
let array = [];
|
||||
data.map((item,index) => {
|
||||
if(item.type == 3){
|
||||
let obj = {
|
||||
key:index+1,
|
||||
number: item.projectId,
|
||||
name: item.name,
|
||||
belong: "",
|
||||
manager: item.manager || "-",
|
||||
sourceBelongName: item.sourceBelongName,
|
||||
status:
|
||||
item.status == 0
|
||||
? "草稿"
|
||||
: item.status == 1
|
||||
? "已发布"
|
||||
: item.status == 2
|
||||
? "已结束"
|
||||
: "-",
|
||||
creater: item.createName,
|
||||
time: toDate(item.beginTime, "Y-M-D h:m"),
|
||||
msg: item.description || "-",
|
||||
id: item.projectId,
|
||||
};
|
||||
array.push(obj);
|
||||
} else {
|
||||
let obj = {
|
||||
key:index+1,
|
||||
number: item.projectId,
|
||||
name: item.name,
|
||||
belong: "",
|
||||
sourceBelongName: item.sourceBelongName,
|
||||
manager: item.manager || "-",
|
||||
status:
|
||||
item.status == 0
|
||||
? "草稿"
|
||||
: item.status == 1
|
||||
? "已发布"
|
||||
: item.status == 2
|
||||
? "已结束"
|
||||
: "-",
|
||||
creater: item.createName,
|
||||
time: toDate(item.beginTime, "Y-M-D h:m"),
|
||||
msg: item.description || "-",
|
||||
id: item.projectId,
|
||||
children: item.subList ? setTableData(item.subList) : [] ,
|
||||
};
|
||||
array.push(obj);
|
||||
}
|
||||
});
|
||||
state.tableData1 = array;
|
||||
return array
|
||||
};
|
||||
// const getName = (item) => {
|
||||
// if (
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
||||
// !Object.prototype.hasOwnProperty.call(
|
||||
// item.subList[0].subList[0],
|
||||
// "name"
|
||||
// )
|
||||
// ) {
|
||||
// // 两层
|
||||
// return item.subList[0].name;
|
||||
// } else if (
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0].subList[0], "name")
|
||||
// ) {
|
||||
// //三层
|
||||
// return item.subList[0].subList[0].name;
|
||||
// // return item.name
|
||||
// } else {
|
||||
// // 单层
|
||||
// return item.name;
|
||||
// }
|
||||
// };
|
||||
// const getBelong = (item) => {
|
||||
// if (
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
||||
// !Object.prototype.hasOwnProperty.call(
|
||||
// item.subList[0].subList[0],
|
||||
// "name"
|
||||
// )
|
||||
// ) {
|
||||
// // 两层
|
||||
// return item.name;
|
||||
// } else if (
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0], "name") &&
|
||||
// Object.prototype.hasOwnProperty.call(item.subList[0].subList[0], "name")
|
||||
// ) {
|
||||
// //三层
|
||||
// return item.subList[0].name + "/" + item.subList[0].subList[0].name;
|
||||
// // return item.name
|
||||
// } else {
|
||||
// // 单层
|
||||
// return item.name;
|
||||
// }
|
||||
// };
|
||||
const changePagination = (pagina) => {
|
||||
state.currentPage = pagina;
|
||||
getProjList();
|
||||
@@ -419,21 +310,9 @@ export default {
|
||||
const closeProjAuditModal = () => {
|
||||
state.projAuditModal = false;
|
||||
};
|
||||
const showProjAuditModal = (id) => {
|
||||
const showProjAuditModal = (data) => {
|
||||
state.tableDataAudit = data
|
||||
state.projAuditModal = true;
|
||||
auditList({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
project_id: id,
|
||||
})
|
||||
.then((res) => {
|
||||
console.log("获取到了审核日志列表", res);
|
||||
let result = res.data.data;
|
||||
setAudit(result.rows);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("审核日志列表获取失败", err);
|
||||
});
|
||||
};
|
||||
const setAudit = (table) => {
|
||||
let data = table;
|
||||
@@ -464,7 +343,6 @@ export default {
|
||||
return {
|
||||
...toRefs(state),
|
||||
getProjList,
|
||||
setTableData,
|
||||
changePagination,
|
||||
reset,
|
||||
closeProjAuditModal,
|
||||
@@ -479,13 +357,16 @@ export default {
|
||||
.ant-modal {
|
||||
width: 816px !important;
|
||||
min-height: 420px !important;
|
||||
|
||||
.ant-modal-content {
|
||||
width: 816px !important;
|
||||
min-height: 420px !important;
|
||||
|
||||
.ant-modal-body {
|
||||
width: 816px !important;
|
||||
min-height: 420px !important;
|
||||
padding: 0 !important;
|
||||
|
||||
.delete {
|
||||
z-index: 999;
|
||||
width: 816px;
|
||||
@@ -506,15 +387,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;
|
||||
@@ -522,6 +406,7 @@ export default {
|
||||
background-image: url(@/assets/images/taskpage/gan.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.close_exit {
|
||||
position: absolute;
|
||||
right: 42px;
|
||||
@@ -532,6 +417,7 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.body {
|
||||
width: 100%;
|
||||
margin: 34px auto 56px auto;
|
||||
@@ -541,9 +427,11 @@ export default {
|
||||
flex-direction: column;
|
||||
// background-color: red;
|
||||
position: relative;
|
||||
|
||||
.ant-table-empty {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.back {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
@@ -552,10 +440,12 @@ export default {
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
|
||||
.del_btnbox {
|
||||
display: flex;
|
||||
margin: 30px auto;
|
||||
justify-content: center;
|
||||
|
||||
.del_btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -567,17 +457,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;
|
||||
@@ -589,10 +482,13 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.projectviewed {
|
||||
width: 100%;
|
||||
|
||||
.tmpl {
|
||||
width: 100%;
|
||||
|
||||
.tmpl_header {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -601,33 +497,39 @@ export default {
|
||||
|
||||
margin-left: 32px;
|
||||
margin-right: 32px;
|
||||
|
||||
.tmplh_inp {
|
||||
.inpbox {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 42px;
|
||||
|
||||
.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: 32px;
|
||||
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
@@ -638,72 +540,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;
|
||||
@@ -712,6 +632,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pa {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
|
||||
@@ -207,72 +207,6 @@ export default {
|
||||
console.log("获取待审核项目失败", err);
|
||||
});
|
||||
};
|
||||
const setProjList = (tableData) => {
|
||||
let data = tableData;
|
||||
let array = [];
|
||||
data.map((item, index) => {
|
||||
if (item.type == 3) {
|
||||
let obj = {
|
||||
key: index + 1,
|
||||
number: item.projectId,
|
||||
name: item.name,
|
||||
belong: item.parentId,
|
||||
sourceBelongName: item.sourceBelongName,
|
||||
manager: item.manager || "-",
|
||||
status:
|
||||
item.status == 0
|
||||
? "草稿"
|
||||
: item.status == 1
|
||||
? "待审核"
|
||||
: item.status == 2
|
||||
? "通过"
|
||||
: item.status == 3
|
||||
? "发布"
|
||||
: item.status == -1
|
||||
? "已结束"
|
||||
: item.status == -2
|
||||
? "拒绝"
|
||||
: "-",
|
||||
creater: item.createName,
|
||||
time: item.createTime,
|
||||
projectId: item.projectId,
|
||||
createId: item.createId,
|
||||
};
|
||||
array.push(obj);
|
||||
} else {
|
||||
let obj = {
|
||||
key: index + 1,
|
||||
number: item.projectId,
|
||||
name: item.name,
|
||||
belong: item.parentId,
|
||||
sourceBelongName: item.sourceBelongName,
|
||||
manager: item.manager || "-",
|
||||
status:
|
||||
item.status == 0
|
||||
? "草稿"
|
||||
: item.status == 1
|
||||
? "待审核"
|
||||
: item.status == 2
|
||||
? "通过"
|
||||
: item.status == 3
|
||||
? "发布"
|
||||
: item.status == -1
|
||||
? "已结束"
|
||||
: item.status == -2
|
||||
? "拒绝"
|
||||
: "-",
|
||||
creater: item.createName,
|
||||
time: item.createTime,
|
||||
projectId: item.projectId,
|
||||
createId: item.createId,
|
||||
children: item.subList ? setProjList(item.subList) : [],
|
||||
};
|
||||
array.push(obj);
|
||||
}
|
||||
});
|
||||
state.tableData1 = array
|
||||
return array
|
||||
};
|
||||
const changePagination = (pagina) => {
|
||||
state.currentPage = pagina;
|
||||
getProjList();
|
||||
@@ -291,7 +225,6 @@ export default {
|
||||
...toRefs(state),
|
||||
showProjAudit,
|
||||
getProjList,
|
||||
setProjList,
|
||||
changePagination,
|
||||
reset,
|
||||
};
|
||||
|
||||
@@ -336,7 +336,10 @@ export default {
|
||||
|
||||
const classificationChange5 = (key, option) => {
|
||||
state.projectInfo = option
|
||||
state.projectInfo.type = 3
|
||||
state.projectInfo.rangeTime = [option.beginTime, option.endTime]
|
||||
state.projectInfo.parentName = routers.query.parentName
|
||||
state.projectInfo.parentId = routers.query.parentId
|
||||
};
|
||||
//获取模版列表
|
||||
const getTemplate = () => {
|
||||
|
||||
@@ -347,7 +347,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<router-link :to="`/projectadd?parentId=${projectInfo.parentId}&parentName=${projectInfo.parentName}`">
|
||||
<router-link :to="`/projectadd?parentId=${projectInfo.parentId || ''}&parentName=${projectInfo.parentName || ''}`">
|
||||
<div
|
||||
class="taskbox"
|
||||
style="
|
||||
@@ -1342,7 +1342,7 @@ export default {
|
||||
编辑
|
||||
</span>
|
||||
: ''}
|
||||
{(value.record.status === 0 || value.record.status === -2) && value.record.type !== 1 ?
|
||||
{(value.record.status === 0 || value.record.status === -2) && value.record.type === 3 ?
|
||||
<span
|
||||
onClick={() => {
|
||||
showReviewModal(value.record.projectId);
|
||||
@@ -1484,7 +1484,7 @@ export default {
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
{value.record.status === 3 || value.record.status === 2 ?
|
||||
{value.record.type === 3 ?
|
||||
<a-select-option value="存为模版" label="存为模版">
|
||||
<div
|
||||
onClick={() => {
|
||||
@@ -1494,7 +1494,7 @@ export default {
|
||||
存为模版
|
||||
</div>
|
||||
</a-select-option> : ''}
|
||||
{value.record.status === 3 || value.record.status === 2 ?
|
||||
{value.record.type === 3 ?
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<div
|
||||
onClick={() => {
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
<a-tab-pane key="1" tab="概览">
|
||||
<div class="split"></div>
|
||||
<!-- 概览(无数据) -->
|
||||
<div style="display: none">
|
||||
<div>
|
||||
<div class="onerow">
|
||||
<div class="taskmain">快速创建项目详情</div>
|
||||
</div>
|
||||
@@ -149,7 +149,8 @@
|
||||
</div>
|
||||
<div class="centermain">快速添加学员</div>
|
||||
</div>
|
||||
<div
|
||||
<!-- 2022-12-2注释 后面放开 -->
|
||||
<!-- <div
|
||||
class="taskbox"
|
||||
@click="showModal"
|
||||
style="background: linear-gradient(180deg, #e5f6ec, #eef9f3)"
|
||||
@@ -167,12 +168,12 @@
|
||||
发布
|
||||
</div>
|
||||
<div class="centermain">快速发布项目</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- 概览(无数据) -->
|
||||
<!-- 概览(有数据) -->
|
||||
<div>
|
||||
<div style="display: none">
|
||||
<div class="onerow">
|
||||
<div class="taskmain">项目概览</div>
|
||||
</div>
|
||||
@@ -447,7 +448,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="operations">
|
||||
<div
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div
|
||||
class="operation"
|
||||
style="cursor: pointer"
|
||||
:style="{
|
||||
@@ -456,8 +458,8 @@
|
||||
@click="showFS"
|
||||
>
|
||||
学员
|
||||
</div>
|
||||
<div
|
||||
</div> -->
|
||||
<!-- <div
|
||||
class="operation"
|
||||
style="cursor: pointer"
|
||||
@click="showAA(item.name)"
|
||||
@@ -469,7 +471,7 @@
|
||||
}"
|
||||
>
|
||||
考勤
|
||||
</div>
|
||||
</div> -->
|
||||
<div
|
||||
class="operation"
|
||||
style="cursor: pointer"
|
||||
@@ -477,7 +479,8 @@
|
||||
>
|
||||
二维码
|
||||
</div>
|
||||
<div
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div
|
||||
class="operation"
|
||||
style="cursor: pointer; margin-right: 35px"
|
||||
@click="
|
||||
@@ -499,7 +502,7 @@
|
||||
"
|
||||
>
|
||||
管理
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</a-collapse-panel>
|
||||
@@ -804,29 +807,19 @@
|
||||
></a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="5" tab="项目积分" disabled>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <a-tab-pane key="5" tab="项目积分" disabled>
|
||||
<ProjectScore :projectId="projectId"></ProjectScore>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="6" tab="排行榜" disabled>
|
||||
</a-tab-pane> -->
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <a-tab-pane key="6" tab="排行榜" disabled>
|
||||
<div class="split"></div>
|
||||
<div class="content6">
|
||||
<div class="title">排行榜</div>
|
||||
<div class="line"></div>
|
||||
<div class="search">
|
||||
<div class="left">
|
||||
<!-- <div class="name">
|
||||
<div class="text">姓名:</div>
|
||||
<a-input
|
||||
v-model:value="valueName"
|
||||
placeholder="请输入姓名"
|
||||
style="
|
||||
width: 264px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-left: 5px;
|
||||
"
|
||||
/>
|
||||
</div> -->
|
||||
|
||||
<div class="time">
|
||||
<div class="text">选择时间:</div>
|
||||
<a-range-picker
|
||||
@@ -933,7 +926,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tab-pane> -->
|
||||
<a-tab-pane key="7" tab="设置">
|
||||
<div class="split"></div>
|
||||
|
||||
@@ -1684,7 +1677,7 @@ import SeeStu from "../../components/drawers/SeeStu";
|
||||
import ChangeGroup from "../../components/drawers/ChangeGroup";
|
||||
import NoticePub from "../../components/drawers/NoticePub";
|
||||
import NoticeHis from "../../components/drawers/NoticeHis";
|
||||
import ProjectScore from "../../components/drawers/ProjectScore";
|
||||
// import ProjectScore from "../../components/drawers/ProjectScore";
|
||||
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
||||
import { storage } from "../../api/storage";
|
||||
import * as api from "../../api/index1";
|
||||
@@ -1723,7 +1716,7 @@ export default {
|
||||
SeeStu,
|
||||
ChangeGroup,
|
||||
NoticePub,
|
||||
ProjectScore,
|
||||
// ProjectScore,
|
||||
TaskImpStu,
|
||||
projSet,
|
||||
NoticeHis,
|
||||
|
||||
@@ -3,13 +3,16 @@
|
||||
<div class="managepage">
|
||||
<div class="up">
|
||||
<div class="header">
|
||||
<div style="width: 100%">
|
||||
<div class="export">
|
||||
<!-- 2022-11-30注释 后面放开 新增display: flex; justify-content: space-between 评估管理的div更改位置-->
|
||||
<div style="width: 100%; display: flex; justify-content: space-between">
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="export">
|
||||
<img src="../../assets/images/research/export.png" />
|
||||
<span style="color: #4ea6ff; font-size: 14px; margin-left: 3px">
|
||||
导出信息
|
||||
</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="text">评估管理</div>
|
||||
<router-link to="/researchmanage" class="goback">
|
||||
<span class="return"></span>
|
||||
<router-link class="returntext" to="/researchmanage">
|
||||
@@ -17,7 +20,7 @@
|
||||
</router-link>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="text">评估管理</div>
|
||||
<!-- <div class="text">评估管理</div> -->
|
||||
</div>
|
||||
<div class="message">
|
||||
<div class="title">基本信息</div>
|
||||
|
||||
Reference in New Issue
Block a user