This commit is contained in:
lpq
2023-02-19 20:02:48 +08:00
13 changed files with 1374 additions and 1926 deletions

View File

@@ -185,7 +185,7 @@ function confirm() {
name: selectsData.value[0].title, name: selectsData.value[0].title,
type: props.type, type: props.type,
courseId: selectsData.value[0].id, courseId: selectsData.value[0].id,
info: selectsData.value[0] info: {...selectsData.value[0]}
}) })
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]

View File

@@ -168,7 +168,7 @@ async function confirm() {
}); });
if (taskIndex.value === -1) { if (taskIndex.value === -1) {
const list = props.taskList const list = props.taskList
list.push({name: formData.value.evaluationName, type: props.type, info: formData.value}) list.push({name: formData.value.evaluationName, type: props.type, info: {...formData.value}})
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]
data.name = formData.value.evaluationName data.name = formData.value.evaluationName

View File

@@ -134,7 +134,7 @@ const disabledRangeTime = () => ({
function confirm() { function confirm() {
if (taskIndex.value === -1) { if (taskIndex.value === -1) {
const list = props.taskList const list = props.taskList
list.push({name: formData.value.workName, type: props.type, info: formData.value}) list.push({name: formData.value.workName, type: props.type, info: {...formData.value}})
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]
data.name = formData.value.workName data.name = formData.value.workName

View File

@@ -77,8 +77,9 @@
:disabled-time="disabledRangeTime" :disabled-time="disabledRangeTime"
style="width: 400px; height: 40px; border-radius: 8px" style="width: 400px; height: 40px; border-radius: 8px"
v-model:value="dateTime" v-model:value="dateTime"
format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm"
@change="timeChange" @change="timeChange"
format="YYYY/MM/DD HH:mm"
:placeholder="[' 开始时间', ' 结束时间']" :placeholder="[' 开始时间', ' 结束时间']"
/> />
</div> </div>
@@ -433,8 +434,6 @@ const range = (start, end) => {
function timeChange(time, timeStr) { function timeChange(time, timeStr) {
formData.value.liveStartTime = timeStr[0] formData.value.liveStartTime = timeStr[0]
formData.value.submitStartTime = timeStr[0]
formData.value.submitEndTime = timeStr[1]
formData.value.liveEndTime = timeStr[1] formData.value.liveEndTime = timeStr[1]
} }
@@ -456,6 +455,7 @@ async function confirm() {
throw Error("数据校验不通过") throw Error("数据校验不通过")
}); });
if (taskIndex.value === -1) { if (taskIndex.value === -1) {
<<<<<<< HEAD
let list = props.taskList let list = props.taskList
list.push( list.push(
{name: formData.value.liveName, {name: formData.value.liveName,
@@ -463,6 +463,10 @@ async function confirm() {
info: {...formData.value} info: {...formData.value}
}) })
console.log("list:" + list) console.log("list:" + list)
=======
const list = props.taskList
list.push({name: formData.value.liveName, type: props.type, info: {...formData.value}})
>>>>>>> aa76caecde0cba165ddb01f060970317f34071b3
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]
data.name = formData.value.liveName data.name = formData.value.liveName
@@ -474,7 +478,7 @@ async function confirm() {
function openDrawer(i, row) { function openDrawer(i, row) {
row && (formData.value = {...row.info}); row && (formData.value = {...row.info});
row && (dateTime.value = [dayjs(row.info.submitStartTime, "YYYY-MM-DD HH:mm"), dayjs(row.info.submitEndTime, "YYYY-MM-DD HH:mm")]); row && (dateTime.value = [row.info.liveStartTime, row.info.liveEndTime]);
(i >= 0) && (taskIndex.value = i) (i >= 0) && (taskIndex.value = i)
visible.value = true visible.value = true
} }

View File

@@ -118,7 +118,7 @@ function confirm() {
name: selectsData.value[0].name, name: selectsData.value[0].name,
type: props.type, type: props.type,
courseId: selectsData.value[0].id, courseId: selectsData.value[0].id,
info: selectsData.value[0] info: {...selectsData.value[0]}
}) })
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]

View File

@@ -311,7 +311,7 @@ function confirm() {
name: selectsData.value[0].name, name: selectsData.value[0].name,
type: props.type, type: props.type,
courseId: selectsData.value[0].id, courseId: selectsData.value[0].id,
info: selectsData.value[0] info: {...selectsData.value[0]}
}) })
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]

View File

@@ -450,7 +450,7 @@ function confirm() {
} }
if (taskIndex.value === -1) { if (taskIndex.value === -1) {
const list = props.taskList const list = props.taskList
list.push({name: formData.value.examinationName, type: props.type, info: formData.value}) list.push({name: formData.value.examinationName, type: props.type, info: {...formData.value}})
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]
data.name = formData.value.examinationName data.name = formData.value.examinationName
@@ -474,7 +474,7 @@ function confirmouter() {
if (taskIndex.value === -1) { if (taskIndex.value === -1) {
const list = props.taskList const list = props.taskList
list.push({name: formDataOuter.value.examinationName, type: props.type, info: formDataOuter.value}) list.push({name: formDataOuter.value.examinationName, type: props.type, info: {...formDataOuter.value}})
} else { } else {
const data = props.taskList[taskIndex.value] const data = props.taskList[taskIndex.value]
data.name = formDataOuter.value.examinationName data.name = formDataOuter.value.examinationName

View File

@@ -3,10 +3,10 @@
<div class="main_item"> <div class="main_item">
<div class="fi_input"> <div class="fi_input">
<a-input <a-input
v-model:value="params.assessmentName" v-model:value="params.assessmentName"
style="width: 424px; height: 40px; border-radius: 8px" style="width: 424px; height: 40px; border-radius: 8px"
placeholder="请输入评估名称" placeholder="请输入评估名称"
maxlength="20" maxlength="20"
/> />
</div> </div>
<div class="btns" @click="search"> <div class="btns" @click="search">
@@ -20,41 +20,39 @@
</div> </div>
<div class="main_item"> <div class="main_item">
<button class="xkbtn" @click="goResearchmanage"> <button class="xkbtn" @click="goResearchmanage">新建评估</button>
新建评估
</button>
</div> </div>
<div class="main_notice" style="display:none;"> <div class="main_notice" style="display: none">
<div class="mntc_left"> <div class="mntc_left">
<div class="notice_icon"></div> <div class="notice_icon"></div>
</div> </div>
</div> </div>
<div class="main_table"> <div class="main_table">
<a-table <a-table
:customRow="customRow" :customRow="customRow"
class="ant-table-striped" class="ant-table-striped"
:row-class-name="(_, index) => (index % 2 === 1 ? 'table-striped' : null)" :row-class-name="(_, index) => (index % 2 === 1 ? 'table-striped' : null)"
row-key="id" row-key="id"
:columns="columns" :columns="columns"
:data-source="data" :data-source="data"
:loading="loading" :loading="loading"
:pagination="pagination" :pagination="pagination"
:row-selection="rowSelection" :row-selection="rowSelection"
/> />
</div> </div>
</template> </template>
<script setup> <script setup>
import {computed, defineEmits, defineProps, ref, watch} from "vue"; import { computed, defineEmits, defineProps, ref, watch } from "vue";
import {useRouter} from "vue-router"; import { useRouter } from "vue-router";
import {useRowsPage} from "@/api/request"; import { useRowsPage } from "@/api/request";
import {ASSESSMENT_PAGE} from "@/api/apis"; import { ASSESSMENT_PAGE } from "@/api/apis";
const props = defineProps({ const props = defineProps({
id: String, id: String,
name: String name: String,
}) });
const emit = defineEmits([]) const emit = defineEmits([]);
const columns = ref([ const columns = ref([
{ {
title: "名称", title: "名称",
@@ -71,11 +69,17 @@ const columns = ref([
align: "center", align: "center",
ellipsis: true, ellipsis: true,
customRender: (text) => { customRender: (text) => {
return ( return (
<div class="racona"> <div class="racona">
<span> {text.record.essayQuestionVoList.length + text.record.multipleStemVoList.length + text.record.scoringQuestionVoList.length + text.record.singleStemVoList.length}</span> <span>
</div> {" "}
); {text.record.essayQuestionVoList.length +
text.record.multipleStemVoList.length +
text.record.scoringQuestionVoList.length +
text.record.singleStemVoList.length}
</span>
</div>
);
}, },
}, },
{ {
@@ -94,38 +98,45 @@ const columns = ref([
align: "center", align: "center",
ellipsis: true, ellipsis: true,
}, },
]) ]);
const initParams = { const initParams = {
assessmentName: '', assessmentName: "",
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
} releaseStatus: 2,
const router = useRouter() };
const params = ref(initParams) const router = useRouter();
const params = ref(initParams);
const rowSelectKeys = ref([]); const rowSelectKeys = ref([]);
const selectsData = ref([]); const selectsData = ref([]);
const {data, loading, total, fetch} = useRowsPage(ASSESSMENT_PAGE, params.value) const { data, loading, total, fetch } = useRowsPage(
console.log(data) ASSESSMENT_PAGE,
watch(()=>props.id, () => { params.value
if (props.id) { );
rowSelectKeys.value = [props.id] console.log(data);
selectsData.value = [{id: props.id, assessmentName: props.name}] watch(
} else { () => props.id,
rowSelectKeys.value = [] () => {
selectsData.value = [] if (props.id) {
rowSelectKeys.value = [props.id];
selectsData.value = [{ id: props.id, assessmentName: props.name }];
} else {
rowSelectKeys.value = [];
selectsData.value = [];
}
} }
}) );
const customRow = (record) => ({ const customRow = (record) => ({
onClick: () => { onClick: () => {
rowSelectKeys.value = [record.id] rowSelectKeys.value = [record.id];
selectsData.value = [record] selectsData.value = [record];
emit('update:id', selectsData.value[0].id) emit("update:id", selectsData.value[0].id);
emit('update:name', selectsData.value[0].assessmentName) emit("update:name", selectsData.value[0].assessmentName);
} },
}) });
const pagination = computed(() => ({ const pagination = computed(() => ({
total: total.value, total: total.value,
@@ -137,10 +148,10 @@ const pagination = computed(() => ({
const changePagination = (e) => { const changePagination = (e) => {
params.value.pageIndex = e; params.value.pageIndex = e;
fetch() fetch();
}; };
const rowSelection = computed(() => ({ const rowSelection = computed(() => ({
type: 'radio', type: "radio",
columnWidth: 20, columnWidth: 20,
selectedRowKeys: rowSelectKeys.value, selectedRowKeys: rowSelectKeys.value,
onChange: onSelectChange, onChange: onSelectChange,
@@ -150,27 +161,26 @@ const rowSelection = computed(() => ({
function onSelectChange(e, l) { function onSelectChange(e, l) {
rowSelectKeys.value = e; rowSelectKeys.value = e;
selectsData.value = l; selectsData.value = l;
emit('update:id', selectsData.value[0].id) emit("update:id", selectsData.value[0].id);
emit('update:name', selectsData.value[0].assessmentName) emit("update:name", selectsData.value[0].assessmentName);
} }
function search() { function search() {
params.value.pageIndex = 1 params.value.pageIndex = 1;
fetch() fetch();
} }
function reset() { function reset() {
rowSelectKeys.value = []; rowSelectKeys.value = [];
selectsData.value = []; selectsData.value = [];
params.value.pageIndex = 1 params.value.pageIndex = 1;
params.value.keyWord = '' params.value.keyWord = "";
fetch() fetch();
} }
const goResearchmanage = () => { const goResearchmanage = () => {
router.push({path: "/researchmanage"}); router.push({ path: "/researchmanage" });
} };
</script> </script>
<style lang="scss"> <style lang="scss">
.xkbtn { .xkbtn {
@@ -315,8 +325,8 @@ const goResearchmanage = () => {
} }
.ant-table-tbody .ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td { > td {
background: #f6f9fd; background: #f6f9fd;
} }

View File

@@ -200,7 +200,7 @@ function confirm() {
name: selectsData.value[0].title, name: selectsData.value[0].title,
type: 3, type: 3,
courseId: selectsData.value[0].id, courseId: selectsData.value[0].id,
info: selectsData.value[0] info: {...selectsData.value[0]}
}) })
} }

View File

@@ -10,7 +10,7 @@ import activityImg from '@/assets/images/leveladd/huo.png'
import testImg from '@/assets/images/leveladd/ce.png' import testImg from '@/assets/images/leveladd/ce.png'
import evaImg from '@/assets/images/leveladd/diao.png' import evaImg from '@/assets/images/leveladd/diao.png'
import voteImg from '@/assets/images/leveladd/tou.png' import voteImg from '@/assets/images/leveladd/tou.png'
import projectImg from '@/assets/images/leveladd/xiang.png' // import projectImg from '@/assets/images/leveladd/xiang.png'
import AddOnline from "@/components/drawers/AddOnline.vue"; import AddOnline from "@/components/drawers/AddOnline.vue";
import AddCase from "@/components/drawers/AddCase.vue"; import AddCase from "@/components/drawers/AddCase.vue";
@@ -23,7 +23,7 @@ import AddInvist from "@/components/drawers/AddInvist.vue";
import AddVote from "@/components/vote/AddVote.vue"; import AddVote from "@/components/vote/AddVote.vue";
import AddLive from "@/components/drawers/AddLive.vue"; import AddLive from "@/components/drawers/AddLive.vue";
import AddRef from "@/components/drawers/AddRef.vue"; import AddRef from "@/components/drawers/AddRef.vue";
import AddProject from "@/components/drawers/AddProject.vue"; // import AddProject from "@/components/drawers/AddProject.vue";
// import AddFaceteach from "@/components/drawers/AddFaceteach.vue"; // import AddFaceteach from "@/components/drawers/AddFaceteach.vue";
export const TASK_TYPE = { export const TASK_TYPE = {
@@ -87,9 +87,9 @@ export const TASK_TYPE = {
img: voteImg, img: voteImg,
component: AddVote component: AddVote
}, },
13: { // 13: {
name: '项目', // name: '项目',
img: projectImg, // img: projectImg,
component: AddProject // component: AddProject
}, // },
} }

View File

@@ -329,8 +329,11 @@
<div <div
@click="showFaceStuSignUp" @click="showFaceStuSignUp"
class="editright" class="editright"
style="margin-right:130px;cursor: pointer;"> style="margin-right: 130px; cursor: pointer"
<span class="editextb" style="margin-left:0px;">批量面授报名</span> >
<span class="editextb" style="margin-left: 0px"
>批量面授报名</span
>
</div> </div>
<router-link <router-link
:to="{ path: '/leveladddetail', query: { routerId: routerId } }" :to="{ path: '/leveladddetail', query: { routerId: routerId } }"
@@ -410,7 +413,8 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
"> "
>
<img <img
:src=" :src="
item.type == 1 item.type == 1
@@ -542,7 +546,11 @@
: item.type === 4 : item.type === 4
? homeworkModel(item) ? homeworkModel(item)
: item.type === 5 : item.type === 5
? examinationModel(item, value.name, value.chapterId) ? examinationModel(
item,
value.name,
value.chapterId
)
: item.type === 10 : item.type === 10
? evaluationModel(item, value.name) ? evaluationModel(item, value.name)
: item.type === 12 : item.type === 12
@@ -1424,7 +1432,9 @@ export default {
hasTask: false, hasTask: false,
stage: [], stage: [],
statess: [], statess: [],
routerId: route.query.routerId?route.query.routerId:localStorage.getItem('routerId'), //学习路径页面传的学习路径id routerId: route.query.routerId
? route.query.routerId
: localStorage.getItem("routerId"), //学习路径页面传的学习路径id
gatename: null, //关卡名称 gatename: null, //关卡名称
gatenamee: null, //学员管理关卡名称 gatenamee: null, //学员管理关卡名称
action: null, action: null,
@@ -1595,7 +1605,7 @@ export default {
projectModelVisible: false, projectModelVisible: false,
faceTeachModelVisibleTitle: "", faceTeachModelVisibleTitle: "",
examinationModelVisibleTitle: "", examinationModelVisibleTitle: "",
outchapter:"", outchapter: "",
evaluationModelVisibleTitle: "", evaluationModelVisibleTitle: "",
homeworkModelVisibleTitle: "", homeworkModelVisibleTitle: "",
commonModelVisibleTitle: "", commonModelVisibleTitle: "",
@@ -1625,7 +1635,7 @@ export default {
? "http://43.143.139.204:12016/" ? "http://43.143.139.204:12016/"
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/", : location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
isreload: true, isreload: true,
TaskFaceImpStuvisible: false TaskFaceImpStuvisible: false,
}); });
const levelList = reactive({ const levelList = reactive({
@@ -2290,7 +2300,10 @@ export default {
state.nodata = false; state.nodata = false;
} }
let data = res.data.data.chapterList; let data = res.data.data.chapterList;
console.log('----------------111111111111111-----------------2222222222', res.data.data.chapterList) console.log(
"----------------111111111111111-----------------2222222222",
res.data.data.chapterList
);
state.stage = res.data.data.chapterList.map((e) => ({ state.stage = res.data.data.chapterList.map((e) => ({
id: e.id, id: e.id,
name: e.name, name: e.name,
@@ -2588,7 +2601,8 @@ export default {
return message.error("该任务无法学习,请联系管理员进行替换。"); return message.error("该任务无法学习,请联系管理员进行替换。");
window.open( window.open(
window.location.protocol + window.location.protocol +
import.meta.env.VITE_BOE_ONLINE_CLASS_URL + import.meta.env.VUE_APP_BOE_API_URL +
"/mobile/pages/study/courseStudy?id=" +
item.targetId, item.targetId,
"_top" "_top"
); );
@@ -2831,9 +2845,9 @@ export default {
// 面授课学员报名弹框 // 面授课学员报名弹框
const showFaceStuSignUp = () => { const showFaceStuSignUp = () => {
console.log('我点击了- 批量面授报名') console.log("我点击了- 批量面授报名");
state.TaskFaceImpStuvisible = true; state.TaskFaceImpStuvisible = true;
} };
return { return {
...toRefs(state), ...toRefs(state),
@@ -2909,7 +2923,7 @@ export default {
selectProjectName4, selectProjectName4,
changeLevel, changeLevel,
checkPer, checkPer,
showFaceStuSignUp showFaceStuSignUp,
}; };
}, },
}; };

View File

@@ -4,7 +4,7 @@
<div class="header"> <div class="header">
<span class="title" <span class="title"
>{{ >{{
projectInfo.projectId ? "编辑" : "创建" projectInfo.id ? "编辑" : "创建"
}}{{ ptojectType == "3" ? "班级" : "项目" }}</span }}{{ ptojectType == "3" ? "班级" : "项目" }}</span
> >
<div <div
@@ -49,7 +49,7 @@
v-model:validate="projectInfo.validate" v-model:validate="projectInfo.validate"
:maxlength="30" :maxlength="30"
show-count show-count
:id="projectInfo.projectId" :id="projectInfo.id"
></NameInput> ></NameInput>
</div> </div>
</div> </div>
@@ -98,33 +98,20 @@
<div class="inname">项目时间</div> <div class="inname">项目时间</div>
</div> </div>
<div v-if="projectInfo.projectId" class="in"> <div class="in">
<a-range-picker <a-range-picker
separator="至" separator="至"
:show-time="{ format: 'HH:mm' }" :show-time="{ format: 'HH:mm' }"
:placeholder="[' 开始时间', ' 结束时间']" :placeholder="[' 开始时间2', ' 结束时间2']"
:disabled-date="disabledDate1" :disabledDate="disabledDate"
v-model:value="projectInfo.rangeTime" v-model:value="timeRange"
@calendarChange="calendarChange"
style="width: 100%; height: 40px; border-radius: 5px" style="width: 100%; height: 40px; border-radius: 5px"
:allowClear="false" :allowClear="false"
format="YYYY-MM-DD HH:mm"
valueFormat="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
@change="timeChange" @change="timeChange"
@ok="clickOk" :disabled="!!viewDetail"
@openChange="panelOpen"
:disabled="viewDetail ? true : false"
/>
</div>
<div v-else class="in">
<a-range-picker
separator="至"
:show-time="{ format: 'HH:mm' }"
:placeholder="[' 开始时间', ' 结束时间']"
v-model:value="projectInfo.rangeTime"
style="width: 100%; height: 40px; border-radius: 5px"
valueFormat="YYYY-MM-DD HH:mm"
@change="timeChange"
:disabled="viewDetail ? true : false"
/> />
</div> </div>
</div> </div>
@@ -304,7 +291,6 @@ import {message} from "ant-design-vue";
import {useRoute, useRouter} from "vue-router"; import {useRoute, useRouter} from "vue-router";
import * as api from "../../api/index"; import * as api from "../../api/index";
import {useStore} from "vuex"; import {useStore} from "vuex";
import * as moment from "moment";
import TrainClass from "@/components/project/TrainClass"; import TrainClass from "@/components/project/TrainClass";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
@@ -330,13 +316,14 @@ export default {
const routers = useRoute(); const routers = useRoute();
const router = useRouter(); const router = useRouter();
const state = reactive({ const state = reactive({
datePartial: 'start',
loading: false, loading: false,
currentPage: 1, //当前页 currentPage: 1, //当前页
tableDataTotal: -1, //模版列表总数 tableDataTotal: -1, //模版列表总数
pageSize: 10, //每页10条数据 pageSize: 10, //每页10条数据
totalPages: 0, //总页数 totalPages: 0, //总页数
viewDetail: null, viewDetail: null,
projectInfo: {}, projectInfo: {id: ''},
projectPic: [], projectPic: [],
memberParam: { memberParam: {
pageNo: 1, pageNo: 1,
@@ -349,8 +336,10 @@ export default {
ptojectType: "", ptojectType: "",
changeCondition: false, changeCondition: false,
clickNum: 0, clickNum: 0,
timeRange: []
}); });
// 封面图选择 // 封面图选择
const handleChangeSelect = (value) => { const handleChangeSelect = (value) => {
console.log(value); console.log(value);
@@ -369,7 +358,7 @@ export default {
}); });
watch(routers.query, () => { watch(routers.query, () => {
state.projectInfo.projectId = routers.query.projectId; state.projectInfo.id = routers.query.id;
state.projectInfo.parentName = routers.query.parentName; state.projectInfo.parentName = routers.query.parentName;
state.projectInfo.parentId = routers.query.parentId; state.projectInfo.parentId = routers.query.parentId;
}); });
@@ -377,12 +366,12 @@ export default {
function getProjectInfo() { function getProjectInfo() {
state.projectInfo.parentName = routers.query.parentName; state.projectInfo.parentName = routers.query.parentName;
state.projectInfo.parentId = routers.query.parentId; state.projectInfo.parentId = routers.query.parentId;
state.projectInfo.projectId = routers.query.projectId; state.projectInfo.id = routers.query.projectId;
(state.projectInfo.projectId || state.projectInfo.parentId) && (state.projectInfo.id || state.projectInfo.parentId) &&
api api
.getProjectDetail({ .getProjectDetail({
projectId: projectId:
state.projectInfo.projectId || state.projectInfo.parentId, state.projectInfo.id || state.projectInfo.parentId,
}) })
.then((res) => { .then((res) => {
state.projectInfo = { state.projectInfo = {
@@ -392,22 +381,11 @@ export default {
!routers.query.projectId && !routers.query.projectId &&
!!routers.query.parentId && !!routers.query.parentId &&
(state.projectInfo.name = ""); (state.projectInfo.name = "");
state.projectInfo.rangeTime = [ state.timeRange = [state.projectInfo.beginTime, state.projectInfo.endTime];
state.projectInfo.beginTime,
state.projectInfo.endTime,
];
state.projectInfo.rangeTime1 = [
state.projectInfo.beginTime,
state.projectInfo.endTime,
];
state.projectInfo.edits = true;
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag; state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
if (Number(state.projectInfo.status) === -5) { if (Number(state.projectInfo.status) === -5) {
let obj = { let obj = {
project_id: state.projectInfo.projectId, project_id: state.projectInfo.id,
type: 1, type: 1,
pageNo: 1, pageNo: 1,
pageSize: 1, pageSize: 1,
@@ -441,7 +419,7 @@ export default {
state.projectInfo.projectTemplateId = option.id state.projectInfo.projectTemplateId = option.id
state.projectInfo.id = '' state.projectInfo.id = ''
state.projectInfo.type = 3; state.projectInfo.type = 3;
state.projectInfo.rangeTime = [dayjs(option.beginTime, "YYYY-MM-DD HH:mm"), dayjs(option.endTime, "YYYY-MM-DD HH:mm")]; state.timeRange = [option.beginTime, option.endTime];
state.projectInfo.parentName = routers.query.parentName; state.projectInfo.parentName = routers.query.parentName;
state.projectInfo.parentId = routers.query.parentId; state.projectInfo.parentId = routers.query.parentId;
}; };
@@ -517,7 +495,7 @@ export default {
const offName = await validateName({ const offName = await validateName({
name: state.projectInfo.name, name: state.projectInfo.name,
type: 1, type: 1,
id: state.projectInfo.projectId, id: state.projectInfo.id,
}).then((res) => { }).then((res) => {
return res.data.data == 1; return res.data.data == 1;
}); });
@@ -531,7 +509,7 @@ export default {
api.createProject(state.projectInfo).then((res) => { api.createProject(state.projectInfo).then((res) => {
state.loading = false; state.loading = false;
message.destroy(); message.destroy();
message.success(state.projectInfo.projectId ? "编辑成功" : "创建成功"); message.success(state.projectInfo.id ? "编辑成功" : "创建成功");
router.push({ router.push({
path: "/taskpage", path: "/taskpage",
query: {projectId: res.data.data}, query: {projectId: res.data.data},
@@ -546,44 +524,24 @@ export default {
state.projectInfo.sourceBelongFullName = orgName; state.projectInfo.sourceBelongFullName = orgName;
} }
const clickOk = (e) => {
state.clickNum = state.clickNum + 1
if (state.clickNum == 2) {
state.clickNum = 0
state.changeCondition = false;
} else {
state.changeCondition = true;
}
console.log(e)
}
const panelOpen = (e) => {
console.log(e)
if (!e) {
state.clickNum = 0
state.changeCondition = false;
}
}
const disabledDate1 = (current) => {
if (state.changeCondition) {
return current && current < moment(state.projectInfo.rangeTime[0]).endOf("YYYY-MM-DD HH:mm:ss");
} else {
return current && current > moment(state.projectInfo.rangeTime1[0]).endOf("YYYY-MM-DD HH:mm:ss")
}
};
const disabledDate = (current) => { const disabledDate = (current) => {
return current && current < dayjs().startOf("day"); //编辑的时候 开始实际只能选当前时间之前的时间
if (state.projectInfo.id && state.datePartial === 'start') {
return current && current > dayjs(state.timeRange[0]).endOf("YYYY-MM-DD HH:mm");
}
return current && current < dayjs().endOf('day');
}; };
function calendarChange(date, dateStr, partial) {
state.datePartial = partial
}
return { return {
...toRefs(state), ...toRefs(state),
disabledDate, disabledDate,
disabledDate1,
clickOk,
panelOpen,
managerChange, managerChange,
calendarChange,
timeChange, timeChange,
classificationChange, classificationChange,
classificationChange5, classificationChange5,

File diff suppressed because it is too large Load Diff