mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-10 11:26:49 +08:00
Merge branch 'master' of http://gitlab.dongwu-inc.com:10080/BOE/fe-stu
# Conflicts: # src/router/index.js
This commit is contained in:
@@ -36,7 +36,7 @@ import { useStore } from "vuex";
|
|||||||
import { onMounted } from "vue";
|
import { onMounted } from "vue";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
|
|
||||||
console.log("版本2.0.1------------");
|
console.log("版本2.0.2------------");
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getUserInfo();
|
getUserInfo();
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const routes = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory("/fe-student"),
|
history: createWebHistory(import.meta.env.VITE_BASE),
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,12 @@
|
|||||||
<span class="content" style="margin-left: 31px">下一个</span>
|
<span class="content" style="margin-left: 31px">下一个</span>
|
||||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="return">
|
<div class="return">
|
||||||
<div style="display: flex" @click="returnclick">
|
<div style="display: flex" @click="returnclick">
|
||||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||||
|
src="../../assets/image/return.png" />返回</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<div class="debateTitle" style="color: #fff">
|
<div class="debateTitle" style="color: #fff">
|
||||||
@@ -47,12 +48,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())" >
|
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())">
|
||||||
<UploadImg v-model:value="fileList" ref="uploadRef">
|
<UploadImg v-model:value="fileList" ref="uploadRef">
|
||||||
<button class="shangchuan" style="cursor: pointer">
|
<button class="shangchuan" style="cursor: pointer">
|
||||||
上传
|
上传
|
||||||
</button>
|
</button>
|
||||||
</UploadImg></div>
|
</UploadImg>
|
||||||
|
</div>
|
||||||
<div class="uploadDetail"
|
<div class="uploadDetail"
|
||||||
:style="{ display: showFileList && fileList && fileList.length > 0 ? 'block' : 'none' }"
|
:style="{ display: showFileList && fileList && fileList.length > 0 ? 'block' : 'none' }"
|
||||||
@mousemove="showFileList = 1" @mouseout="showFileList = 0" style="padding-top: 60px">
|
@mousemove="showFileList = 1" @mouseout="showFileList = 0" style="padding-top: 60px">
|
||||||
@@ -66,38 +68,38 @@
|
|||||||
</span>
|
</span>
|
||||||
<span class="detail2" style="margin-right: 10px">{{ file.percentage }}%</span>
|
<span class="detail2" style="margin-right: 10px">{{ file.percentage }}%</span>
|
||||||
<span class="detail1">{{
|
<span class="detail1">{{
|
||||||
{
|
{
|
||||||
ready: "正在上传",
|
ready: "正在上传",
|
||||||
abort: "暂停",
|
abort: "暂停",
|
||||||
uploading: "正在上传",
|
uploading: "正在上传",
|
||||||
fail: "上传失败",
|
fail: "上传失败",
|
||||||
success: "上传成功",
|
success: "上传成功",
|
||||||
}[file.status]
|
}[file.status]
|
||||||
}}</span>
|
}}</span>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="progressinner" :style="{ width: `${(291 * file.percentage) / 100}px` }"></div>
|
<div class="progressinner" :style="{ width: `${(291 * file.percentage) / 100}px` }"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btndetail" @click="reUpload(i)">
|
<button class="btn btndetail" @click="reUpload(i)">
|
||||||
{{
|
{{
|
||||||
{
|
{
|
||||||
ready: "暂停",
|
ready: "暂停",
|
||||||
uploading: "暂停",
|
uploading: "暂停",
|
||||||
abort: "开始",
|
abort: "开始",
|
||||||
fail: "重传",
|
fail: "重传",
|
||||||
}[file.status]
|
}[file.status]
|
||||||
}}
|
}}
|
||||||
</button>
|
</button>
|
||||||
<button class="btn" @click="remove">
|
<button class="btn" @click="remove">
|
||||||
{{
|
{{
|
||||||
{
|
{
|
||||||
ready: "取消",
|
ready: "取消",
|
||||||
abort: "取消",
|
abort: "取消",
|
||||||
uploading: "取消",
|
uploading: "取消",
|
||||||
fail: "取消",
|
fail: "取消",
|
||||||
success: "删除",
|
success: "删除",
|
||||||
}[file.status]
|
}[file.status]
|
||||||
}}
|
}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -108,27 +110,28 @@
|
|||||||
<div class="text">作业内容</div>
|
<div class="text">作业内容</div>
|
||||||
<div class="box"></div>
|
<div class="box"></div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())" >
|
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())">
|
||||||
<el-input v-model="sbValue.content" :autosize="{ minRows: 12.5, maxRows: 12.5 }" resize="none"
|
<el-input v-model="sbValue.content" :autosize="{ minRows: 12.5, maxRows: 12.5 }" resize="none"
|
||||||
type="textarea" />
|
type="textarea" />
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="join">
|
<div v-else class="join">
|
||||||
<el-input disabled v-model="sbValue.content" :autosize="{ minRows: 12.5, maxRows: 12.5 }" resize="none"
|
<el-input disabled v-model="sbValue.content" :autosize="{ minRows: 12.5, maxRows: 12.5 }" resize="none"
|
||||||
type="textarea" />
|
type="textarea" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())" >
|
<div v-if="dayjs().isBefore(dayjs(data?.submitEndTime)) && dayjs(data?.submitStartTime).isBefore(dayjs())">
|
||||||
<div style="display: flex; justify-content: center">
|
<div style="display: flex; justify-content: center">
|
||||||
<button class="tijiao" @click="handleClick">{{ submitList && submitList.length > 0 ? "再次" : ""
|
<button class="tijiao" @click="handleClick">{{ submitList && submitList.length > 0 ? "再次" : ""
|
||||||
}}提交</button>
|
}}提交</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else >
|
<div v-else>
|
||||||
<div style="display: flex; justify-content: center">
|
<div style="display: flex; justify-content: center">
|
||||||
<button disabled class="tijiao" style="background:#999;border-radius: 6px;cursor: not-allowed;">未到开始时间</button>
|
<button disabled class="tijiao"
|
||||||
</div>
|
style="background:#999;border-radius: 6px;cursor: not-allowed;">未到开始时间</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -148,11 +151,11 @@
|
|||||||
<div class="content3">附件</div>
|
<div class="content3">附件</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(value, index) in submitList" :key="index" class="historytitle2" :style="{
|
<div v-for="(value, index) in submitList" :key="index" class="historytitle2" :style="{
|
||||||
'border-bottom':
|
'border-bottom':
|
||||||
index === submitList.length - 1
|
index === submitList.length - 1
|
||||||
? '1px solid rgba(215, 229, 253, 0)'
|
? '1px solid rgba(215, 229, 253, 0)'
|
||||||
: '1px solid rgba(215, 229, 253, 1)',
|
: '1px solid rgba(215, 229, 253, 1)',
|
||||||
}">
|
}">
|
||||||
<div class="content1">{{ value.createTime }}</div>
|
<div class="content1">{{ value.createTime }}</div>
|
||||||
<div class="content2">
|
<div class="content2">
|
||||||
<div>
|
<div>
|
||||||
@@ -163,9 +166,9 @@
|
|||||||
<div class="content3">
|
<div class="content3">
|
||||||
<div><span style="margin-left: 10px">
|
<div><span style="margin-left: 10px">
|
||||||
<el-link target="_blank" type="primary" :href="value.workUploadAddress?.split(',')[0] || ''">{{
|
<el-link target="_blank" type="primary" :href="value.workUploadAddress?.split(',')[0] || ''">{{
|
||||||
value.workUploadAddress?.split(',')[0].split('/').at(-1) ||
|
value.workUploadAddress?.split(',')[0].split('/').at(-1) ||
|
||||||
''
|
''
|
||||||
}}</el-link>
|
}}</el-link>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -182,12 +185,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="timebox clearfix">
|
<div class="timebox clearfix">
|
||||||
<div class="innertime">
|
<div class="innertime">
|
||||||
{{data?.submitStartTime}} 至 {{data?.submitEndTime}}
|
{{ data?.submitStartTime }} 至 {{ data?.submitEndTime }}
|
||||||
</div>
|
</div>
|
||||||
<div class="endtime clearfix">
|
<div class="endtime clearfix">
|
||||||
<div v-if="dayjs(data?.submitEndTime).isBefore(dayjs())" class="endtimetext">该任务已结束</div>
|
<div v-if="dayjs(data?.submitEndTime).isBefore(dayjs())" class="endtimetext">该任务已结束</div>
|
||||||
<div v-else class="endtimetext">距离结束还有 <span class="te">{{parseInt(dayjs(data?.submitEndTime).diff(dayjs(), "minute") / 60)}}</span> 小时
|
<div v-else class="endtimetext">距离结束还有 <span class="te">{{
|
||||||
<span class="te">{{dayjs(data?.submitEndTime).diff(dayjs(), "minute") % 60}}</span> 分钟</div>
|
parseInt(dayjs(data?.submitEndTime).diff(dayjs(), "minute") / 60)
|
||||||
|
}}</span>
|
||||||
|
小时
|
||||||
|
<span class="te">{{ dayjs(data?.submitEndTime).diff(dayjs(), "minute") % 60 }}</span> 分钟
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="righttitle">
|
<div class="righttitle">
|
||||||
@@ -257,7 +264,9 @@ const {
|
|||||||
query: { courseId: workId, type, id: taskId, pName, sName },
|
query: { courseId: workId, type, id: taskId, pName, sName },
|
||||||
} = useRoute();
|
} = useRoute();
|
||||||
|
|
||||||
const { data } = useRequest(TASK_WORK_DETAIL, { workId, taskId });
|
const { data } = taskId && taskId !== 'undefined' ? useRequest(TASK_WORK_DETAIL, { workId, taskId }) : useRequest(TASK_WORK_DETAIL, { workId });
|
||||||
|
|
||||||
|
console.log('data==----->', data)
|
||||||
|
|
||||||
const { data: submitList } = useRequest(TASK_WORK_SUBMIT_LIST, {
|
const { data: submitList } = useRequest(TASK_WORK_SUBMIT_LIST, {
|
||||||
workerId: workId,
|
workerId: workId,
|
||||||
|
|||||||
@@ -96,6 +96,15 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog title="" top="247px" v-model="dialogVisible" :show-close="false"
|
||||||
|
style="display:flex;justify-content:center;align-items:center;height: 283px;padding:0;border-radius: 4px;"
|
||||||
|
width="502px">
|
||||||
|
<div style="width:288px;color:#333333;font-size: 22px;font-weight: 600;">当前项目未到开始时间</div>
|
||||||
|
<span slot="footer" style="display:inline-block;margin-top:60px;">
|
||||||
|
<el-button @click="dialogVisible = false" style="width:140px;height:40px;margin-right: 22px;">取消</el-button>
|
||||||
|
<el-button type="primary" @click="dialogVisible = false" style="width:140px;height:40px;">确定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, toRefs, ref, onMounted, computed } from "vue";
|
import { reactive, toRefs, ref, onMounted, computed } from "vue";
|
||||||
@@ -120,7 +129,7 @@ const projectname = ref(""); //项目名称
|
|||||||
const searchTime = ref(""); //选择时间
|
const searchTime = ref(""); //选择时间
|
||||||
const beginTime = ref(""); //结束时间
|
const beginTime = ref(""); //结束时间
|
||||||
const endTime = ref(""); //开始时间
|
const endTime = ref(""); //开始时间
|
||||||
|
const dialogVisible = ref(false)
|
||||||
const userInfo = computed(() => store.state.userInfo);
|
const userInfo = computed(() => store.state.userInfo);
|
||||||
|
|
||||||
//获取项目列表--------start------------------------------------
|
//获取项目列表--------start------------------------------------
|
||||||
@@ -179,6 +188,10 @@ const resetClick = () => {
|
|||||||
//搜索--------------end-----------------------------------------
|
//搜索--------------end-----------------------------------------
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const goProjectDetails = (value) => {
|
const goProjectDetails = (value) => {
|
||||||
|
if(value.status===2){
|
||||||
|
dialogVisible.value=true
|
||||||
|
return
|
||||||
|
}
|
||||||
import.meta.env.MODE === "development"
|
import.meta.env.MODE === "development"
|
||||||
? router.push({
|
? router.push({
|
||||||
path: "/projectdetails",
|
path: "/projectdetails",
|
||||||
|
|||||||
Reference in New Issue
Block a user