|
@@ -10,7 +10,8 @@
|
|
|
<span>地点:{{ classdetail.teach_info.kj_name }}</span>
|
|
|
</p>
|
|
|
<p class="date">
|
|
|
- <span>{{ classdetail.kkbk_starttime }} - {{ classdetail.kkbk_endtime }}</span> <span class="ml-2">课时: {{ classdetail.khfw_kcgl.kk_kss }}</span>
|
|
|
+ <span>{{ classdetail.kkbk_starttime }} - {{ classdetail.kkbk_endtime }}</span> <span class="ml-2">课时: {{
|
|
|
+ classdetail.khfw_kcgl.kk_kss }}</span>
|
|
|
</p>
|
|
|
<div v-for="ja in classdetail.ja" :key="ja" class="plan-file">
|
|
|
<a :href="resolveSingleFileString(ja.kkj_fj).url">课程教案:{{ resolveSingleFileString(ja.kkj_fj).name }}
|
|
@@ -47,11 +48,28 @@
|
|
|
<div class="unback" v-if="Object.keys(classdetail.fk).length == 0">
|
|
|
<textarea v-model="textMessage" placeholder="请输入课程情况反馈内容..." class="textarea"></textarea>
|
|
|
<p class="up-pic">上传照片</p>
|
|
|
- <van-uploader v-model="fileList" :after-read="afterRead">
|
|
|
+ <div class="relative w-25vw h-25vw">
|
|
|
+ <div class="w-full h-full bg-gray-100 text-center leading-25vw text-30px text-gray-500">
|
|
|
+ <van-loading class="absolute loading_center" v-if="img_loading" color="#1989fa" />
|
|
|
+ <span v-else>+</span>
|
|
|
+ </div>
|
|
|
+ <input ref="fileRef" title="上传文件" type='file' multiple name="file"
|
|
|
+ class="file-input absolute top-0 left-0 w-25vw h-25vw" @change="fkUpload($event)"
|
|
|
+ accept="image/png, image/jpeg, .svs" />
|
|
|
+ </div>
|
|
|
+ <div v-if="kkk_img.length > 0" class="flex flex-wrap">
|
|
|
+ <div class="w-30vw mr-2 my-2 relative" v-for="(m, i) in kkk_img" :key="i">
|
|
|
+ <img class="w-full" :src="https + m.split(',')[1]" alt="">
|
|
|
+ <div
|
|
|
+ class="w-20px h-20px border-red-500 border-1 rounded-1/2 bg-red-500 text-white absolute -top-5px -right-5px text-center text-25px leading-16px cursor-pointer"
|
|
|
+ @click="deleteFkimg(i)">×</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- <van-uploader v-model="fileList" :after-read="afterRead">
|
|
|
<template #preview-cover="{ file }">
|
|
|
<div class="preview-cover van-ellipsis">{{ file.name }}</div>
|
|
|
</template>
|
|
|
- </van-uploader>
|
|
|
+ </van-uploader> -->
|
|
|
<div @click="(back = false), fkback()" class="submit">
|
|
|
<button>提交</button>
|
|
|
</div>
|
|
@@ -157,7 +175,7 @@ import {
|
|
|
import { stxk_up } from "../api";
|
|
|
import { ref, reactive, nextTick } from "vue";
|
|
|
import { useRoute } from "vue-router";
|
|
|
-import { showToast } from "vant";
|
|
|
+import { showConfirmDialog, showToast } from "vant";
|
|
|
import { user } from "../../../store/user";
|
|
|
import getTeamInfo from "~/store/team";
|
|
|
import { resolveSingleFileString, resolveFileString } from "~/utils/helper";
|
|
@@ -188,7 +206,7 @@ function getDetail() {
|
|
|
}
|
|
|
getDetail();
|
|
|
|
|
|
-// 点名
|
|
|
+//#region 点名
|
|
|
let user_ids = [];
|
|
|
let checked = $ref([]);
|
|
|
function checkChange(e) {
|
|
@@ -221,7 +239,7 @@ function submitDM(member) {
|
|
|
});
|
|
|
});
|
|
|
if (checked.length == '0') {
|
|
|
- if (user_ids.length == '0' && classdetail.value.dm?.qdqk?.length == 0 && classdetail.value.member.length>0) {
|
|
|
+ if (user_ids.length == '0' && classdetail.value.dm?.qdqk?.length == 0 && classdetail.value.member.length > 0) {
|
|
|
return showToast('所有学生已到!')
|
|
|
} else {
|
|
|
return showToast('请选择未到或补卡');
|
|
@@ -242,9 +260,9 @@ function submitDM(member) {
|
|
|
});
|
|
|
} else if (checked == "2") {
|
|
|
console.log(classdetail.value.dm.qdqk.length);
|
|
|
- if(classdetail.value.dm.qdqk.length > 0){
|
|
|
+ if (classdetail.value.dm.qdqk.length > 0) {
|
|
|
console.log(111111111);
|
|
|
- classdetail.value.dm?.qdqk.forEach(val=>{
|
|
|
+ classdetail.value.dm?.qdqk.forEach(val => {
|
|
|
user_ids.push(val.kkbm_s_user_id)
|
|
|
})
|
|
|
}
|
|
@@ -266,18 +284,56 @@ function submitDM(member) {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+// #endregion
|
|
|
|
|
|
// 课堂反馈图片上传
|
|
|
+let img_loading = $ref(false);
|
|
|
let kkq_id = "";
|
|
|
-let kkk_img = [];
|
|
|
+let kkk_img = $ref([]);
|
|
|
+function fkUpload(e) {
|
|
|
+ img_loading = true;
|
|
|
+ console.log('上传文件列表', e.target.files)
|
|
|
+ let file = [];
|
|
|
+ console.log(typeof e.target.files);
|
|
|
+ Array.from(e.target.files).forEach(item => {
|
|
|
+ stxk_up({ file: item }).then((res) => {
|
|
|
+ if (res.code == '1') {
|
|
|
+ showToast(res.msg)
|
|
|
+ kkk_img.push(res.data.file_name + "," + res.data.url);
|
|
|
+ console.log(kkk_img);
|
|
|
+ img_loading = false;
|
|
|
+ }else{
|
|
|
+ showToast(res.msg)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ // kkk_img = [];
|
|
|
+ //
|
|
|
+}
|
|
|
+function deleteFkimg(i) {
|
|
|
+ showConfirmDialog({
|
|
|
+ title: '删除该图片',
|
|
|
+ message:
|
|
|
+ '确认删除?',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ kkk_img.splice(i, 1);
|
|
|
+ showToast('操作成功~')
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ showToast('取消操作~')
|
|
|
+ });
|
|
|
+
|
|
|
+}
|
|
|
const afterRead = (fileList) => {
|
|
|
const { file } = fileList;
|
|
|
+ console.log(file);
|
|
|
file.status = "uploading";
|
|
|
- stxk_up({ file: file}).then((res) => {
|
|
|
- if(res.code=='1'){
|
|
|
+ stxk_up({ file: file }).then((res) => {
|
|
|
+ if (res.code == '1') {
|
|
|
kkk_img.push(res.data.file_name + "," + res.data.url);
|
|
|
file.status = "done";
|
|
|
- }
|
|
|
+ }
|
|
|
});
|
|
|
};
|
|
|
// 课堂反馈提交
|
|
@@ -460,6 +516,25 @@ function delCd(c) {
|
|
|
--van-padding-xs: 0;
|
|
|
}
|
|
|
|
|
|
+.file-input {
|
|
|
+ display: inline-block;
|
|
|
+ color: #fff;
|
|
|
+ // padding: 8px 10px 0px 30px;
|
|
|
+ // width: 40px;
|
|
|
+ font-size: 20px;
|
|
|
+ background: url();
|
|
|
+ opacity: 0;
|
|
|
+ z-index: 100;
|
|
|
+}
|
|
|
+
|
|
|
+.loading_center {
|
|
|
+ top: 0;
|
|
|
+ bottom: 0;
|
|
|
+ right: 0;
|
|
|
+ left: 0;
|
|
|
+ margin: auto;
|
|
|
+}
|
|
|
+
|
|
|
.class-detail {
|
|
|
background-color: #fff;
|
|
|
min-width: 3.75 * 13.3vw;
|
|
@@ -847,5 +922,4 @@ function delCd(c) {
|
|
|
position: absolute;
|
|
|
top: 0.32 * 13.3vw;
|
|
|
right: 0.3 * 13.3vw;
|
|
|
-}
|
|
|
-</style>
|
|
|
+}</style>
|