提交 319e9296 authored 作者: 刘旭's avatar 刘旭

更新

上级 815a7389
...@@ -259,6 +259,7 @@ const attendanceStatus = computed(() => { ...@@ -259,6 +259,7 @@ const attendanceStatus = computed(() => {
"QD-QTQJ": tagList[4], "QD-QTQJ": tagList[4],
"QDBQ-": tagList[1], "QDBQ-": tagList[1],
"QD-QTBQ": tagList[6], "QD-QTBQ": tagList[6],
"QDBQ-QTBQ": tagList[6],
// "-QT": tagList[7], // "-QT": tagList[7],
}; };
......
...@@ -242,6 +242,7 @@ const attendanceStatus = computed(() => { ...@@ -242,6 +242,7 @@ const attendanceStatus = computed(() => {
"QD-QTQJ": tagList[4], "QD-QTQJ": tagList[4],
"QDBQ-": tagList[1], "QDBQ-": tagList[1],
"QD-QTBQ": tagList[6], "QD-QTBQ": tagList[6],
"QDBQ-QTBQ": tagList[6],
// "-QT": tagList[7], // "-QT": tagList[7],
}; };
......
...@@ -78,7 +78,9 @@ ...@@ -78,7 +78,9 @@
>应出勤: >应出勤:
<text <text
>&nbsp;{{ >&nbsp;{{
props.myAttendanceItem.courseSum[0]?.Sum props.myAttendanceItem.coursePro[0]?.SumPro
? props.myAttendanceItem.coursePro[0]?.SumPro
: 0
}}</text }}</text
></view ></view
> >
...@@ -141,8 +143,8 @@ const percent = computed( ...@@ -141,8 +143,8 @@ const percent = computed(
100 100
); );
const lackCount = computed(() => { const lackCount = computed(() => {
const reallyNum = Number(props.myAttendanceItem.courseSum[0]?.Sum || 0); const reallyNum = Number(props.myAttendanceItem.coursePro[0]?.SumPro || 0);
const { leave = 0, normal = 0 } = props.myAttendanceItem.State || {}; const { leave = 0, normal = 0 } = props.myAttendanceItem.State || {};
return reallyNum - leave - normal; return reallyNum - leave - normal;
}); });
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
@clear="clear" @clear="clear"
/> />
<view v-if="myAttendanceList.length"> <view v-if="myAttendanceList.length">
<text class="fund">为你找到{{ listQuery.total }}个的课程</text> <text class="fund">为你找到{{ listQuery.total }}个的班级</text>
<block v-for="(item, index) in myAttendanceList" :key="index"> <block v-for="(item, index) in myAttendanceList" :key="index">
<myAttendanceItem :myAttendanceItem="item" @init="init" /> <myAttendanceItem :myAttendanceItem="item" @init="init" />
......
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
><u-input ><u-input
v-model="form.fillInfo" v-model="form.fillInfo"
type="select" type="select"
placeholder="请选择个人信息"
@click="selectShow = true" @click="selectShow = true"
/></u-form-item> /></u-form-item>
<u-form-item v-if="isFText" label="自定义内容" prop="" <u-form-item v-if="isFText" label="自定义内容" prop=""
...@@ -77,6 +78,20 @@ ...@@ -77,6 +78,20 @@
v-model="saveData.parmeters.Model.F_LQKJ_Entity[0].FText" v-model="saveData.parmeters.Model.F_LQKJ_Entity[0].FText"
type="textarea" type="textarea"
/></u-form-item> /></u-form-item>
<u-form-item label="证件类型" prop=""
><u-input
v-model="form.idCard"
type="select"
placeholder="请选择证件类型"
@click="selectShow1 = true"
/></u-form-item>
<u-form-item v-if="form.idCard" label="证件类型" prop=""
><u-input
v-model="saveData.parmeters.Model.F_LQKJ_Entity[0].FText1"
:placeholder="`请输入${
form.idCard === '港澳同胞回乡证' ? '港澳同胞回乡证' : '居民身份证'
}`"
/></u-form-item>
</u-form> </u-form>
<view style="margin-top: 30rpx"> <view style="margin-top: 30rpx">
<u-button @tap="application" type="primary" size="medium" <u-button @tap="application" type="primary" size="medium"
...@@ -93,6 +108,13 @@ ...@@ -93,6 +108,13 @@
value-name="FNUMBER" value-name="FNUMBER"
@confirm="selectConfirm" @confirm="selectConfirm"
/> />
<u-select
v-model="selectShow1"
:list="selectList1"
label-name="FDATAVALUE"
value-name="FNUMBER"
@confirm="selectConfirm1"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
...@@ -115,6 +137,13 @@ const props = defineProps({ ...@@ -115,6 +137,13 @@ const props = defineProps({
{ FDATAVALUE: "自定义内容", FNUMBER: 2, children: [] }, { FDATAVALUE: "自定义内容", FNUMBER: 2, children: [] },
], ],
}, },
selectList1: {
type: Array,
default: [
{ FDATAVALUE: "居民身份证", FNUMBER: 0 },
{ FDATAVALUE: "港澳同胞回乡证", FNUMBER: 1 },
],
},
trainItem: { trainItem: {
type: Array, type: Array,
default: () => [], default: () => [],
...@@ -124,12 +153,15 @@ const props = defineProps({ ...@@ -124,12 +153,15 @@ const props = defineProps({
const emits = defineEmits(["update:modelValue", "initTrain"]); const emits = defineEmits(["update:modelValue", "initTrain"]);
const uniA: any = uni;
const selectShow = ref(false); const selectShow = ref(false);
const selectShow1 = ref(false);
const form = ref({ const form = ref({
fillInfo: "", // 是否填写个人信息 fillInfo: "", // 是否填写个人信息
fillRiding: "否", // 是否统一乘车 fillRiding: "否", // 是否统一乘车
fillArrAngEroom: "否", // 是否安排单间 fillArrAngEroom: "否", // 是否安排单间
fillCohabItant: "否", // 是否需填同住人 fillCohabItant: "否", // 是否需填同住人
idCard: "",
}); });
const isFText = ref(false); const isFText = ref(false);
...@@ -174,6 +206,7 @@ const saveData: any = ref({ ...@@ -174,6 +206,7 @@ const saveData: any = ref({
FNumber: "", FNumber: "",
}, },
FText: "", FText: "",
FText1: "",
FIsRiding: false, FIsRiding: false,
FIsArrangeRoom: false, FIsArrangeRoom: false,
FIsCohabit: false, FIsCohabit: false,
...@@ -210,7 +243,7 @@ const selectConfirm = (val: any) => { ...@@ -210,7 +243,7 @@ const selectConfirm = (val: any) => {
} else { } else {
isFText.value = false; isFText.value = false;
saveData.value.parmeters.Model.F_LQKJ_Entity[0].FType = val[0].value; saveData.value.parmeters.Model.F_LQKJ_Entity[0].FType = val[0].value;
if (val[0].value) { if (val[0].value === 0 || val[0].value === 1) {
saveData.value.parmeters.Model.F_LQKJ_Entity[0].FStreet.FNumber = saveData.value.parmeters.Model.F_LQKJ_Entity[0].FStreet.FNumber =
val[1].value; val[1].value;
saveData.value.parmeters.Model.F_LQKJ_Entity[0].FAffiliationDGW.FNumber = saveData.value.parmeters.Model.F_LQKJ_Entity[0].FAffiliationDGW.FNumber =
...@@ -225,8 +258,19 @@ const selectConfirm = (val: any) => { ...@@ -225,8 +258,19 @@ const selectConfirm = (val: any) => {
} }
}; };
const selectConfirm1 = (val: any) => {
form.value.idCard = val[0].label;
};
// 报名 // 报名
const application = async () => { const application = async () => {
const { FNumber, FText1 } = saveData.value.parmeters.Model.F_LQKJ_Entity[0];
if (!isFText.value && !FNumber && props.trainItem.fisFillInfo === "true")
return toast("请选择个人信息");
if (!form.value.idCard) return toast("请选择证件类型");
if (!FText1) return toast("证件号不能为空");
if (!uniA.$u.test.idCard(FText1) && form.value.idCard === "居民身份证")
return toast("居民身份证格式不正确");
const { data: res }: any = await signUp(saveData.value); const { data: res }: any = await signUp(saveData.value);
if (res.code == 200) { if (res.code == 200) {
initTrain(); initTrain();
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
size="mini" size="mini"
:count="courseItem.FileCount" :count="courseItem.FileCount"
:offset="[-4, -4]" :offset="[-4, -4]"
></u-badge> />
<u-icon <u-icon
name="file-text-fill" name="file-text-fill"
color="#05a8ff" color="#05a8ff"
...@@ -79,10 +79,10 @@ ...@@ -79,10 +79,10 @@
<template #foot> <template #foot>
<view class="course-footer"> <view class="course-footer">
<view>所属班级:{{ courseItem.className }}</view> <view>所属班级:{{ courseItem.className }}</view>
<view @tap="toSeeMore" style="width: 40%; text-align: end"> <!-- <view @tap="toSeeMore" style="width: 40%; text-align: end">
<text>查看更多 </text> <text>查看更多 </text>
<u-icon name="arrow-right-double" color="#05A8FF" size="24" /> <u-icon name="arrow-right-double" color="#05A8FF" size="24" />
</view> </view> -->
</view> </view>
<u-collapse v-show="current !== 1"> <u-collapse v-show="current !== 1">
<u-collapse-item @change="collapseChange"> <u-collapse-item @change="collapseChange">
...@@ -210,7 +210,7 @@ const lackCount = computed(() => { ...@@ -210,7 +210,7 @@ const lackCount = computed(() => {
repair = 0, repair = 0,
normal = 0, normal = 0,
} = props.courseItem.States[0]?.Value || {}; } = props.courseItem.States[0]?.Value || {};
return reallyNum - leave - repair - normal; return reallyNum - leave - normal;
}); });
const toSeeMore = () => { const toSeeMore = () => {
...@@ -244,7 +244,7 @@ const tapSignOut = () => { ...@@ -244,7 +244,7 @@ const tapSignOut = () => {
if (result) { if (result) {
const { data: res }: any = await teacOpenQT(props.courseItem.courseId); const { data: res }: any = await teacOpenQT(props.courseItem.courseId);
if (res.code == 200) { if (res.code == 200) {
emits("init"); emits("init", props.current);
toast("开放签退成功"); toast("开放签退成功");
} }
} }
......
...@@ -2,9 +2,7 @@ ...@@ -2,9 +2,7 @@
<view class="details-item-container"> <view class="details-item-container">
<u-card <u-card
:show-head="false" :show-head="false"
:show-foot=" :show-foot="state?.status == '缺勤' || state?.status == '未签退'"
state?.status == '缺勤' || state?.status == '未签退' ? true : false
"
:border="false" :border="false"
margin="0" margin="0"
> >
...@@ -83,7 +81,7 @@ ...@@ -83,7 +81,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { signInAndOut } from "@/api/course"; import { signInAndOut } from "@/api/course";
import { toast } from "@/utils/util"; import { toast, zconfirm } from "@/utils/util";
import { baseUrl } from "@/utils/request"; import { baseUrl } from "@/utils/request";
import fillPopup from "./fillPopup.vue"; import fillPopup from "./fillPopup.vue";
import dayjs from "dayjs"; import dayjs from "dayjs";
...@@ -112,7 +110,6 @@ const tagList = [ ...@@ -112,7 +110,6 @@ const tagList = [
{ color: "#5363FF", status: "请假" }, { color: "#5363FF", status: "请假" },
{ color: "#5363FF", status: "请假" }, { color: "#5363FF", status: "请假" },
{ color: "#19be6b", status: "正常出勤" }, { color: "#19be6b", status: "正常出勤" },
{ color: "#19be6b", status: "正常出勤" },
// { color: "#5363FF", status: "未签到" }, // { color: "#5363FF", status: "未签到" },
] as any; ] as any;
...@@ -133,7 +130,8 @@ const state: any = computed(() => { ...@@ -133,7 +130,8 @@ const state: any = computed(() => {
"QDQJ-": tagList[3], "QDQJ-": tagList[3],
"QD-QTQJ": tagList[4], "QD-QTQJ": tagList[4],
"QDBQ-": tagList[1], "QDBQ-": tagList[1],
"QD-QTBQ": tagList[6], "QD-QTBQ": tagList[5],
"QDBQ-QTBQ": tagList[0],
// "-QT": tagList[7], // "-QT": tagList[7],
} as any; } as any;
...@@ -189,8 +187,49 @@ const leave = () => { ...@@ -189,8 +187,49 @@ const leave = () => {
// 补签 // 补签
const repair = () => { const repair = () => {
fillState.label = "补签"; fillState.label = "补签";
fillRef.value.init("签到补签"); // fillRef.value.init("签到补签");
fillState.show = true; // fillState.show = true;
zconfirm("确定补签?", (result: boolean) => {
if (result) {
if (
props.detailItem.State.length &&
!props.detailItem.State[0].Value[0]?.SingOut
)
continuityRepair();
else submit("");
}
});
};
const continuityRepair = async () => {
let obj = {
parmeters: {
NeedReturnFields: ["FID"],
IsDeleteEntry: "false",
Model: {
FCourseId: {
FNUMBER: props.detailItem.courseNum,
},
FClassId: {
FNUMBER: props.detailItem.classNumber,
},
FStudentId: {
FNUMBER: props.detailItem.studentNum,
},
FDate: dayjs().format("YYYY-MM-DD HH:mm:ss"),
FLocation: "",
FLocationDetails: "",
FCockinType: "",
FReason: "",
},
},
};
obj.parmeters.Model.FCockinType = "QTBQ";
const { data: res }: any = await signInAndOut(obj);
if (res.code == 200) {
emits("init");
toast("填报成功");
}
}; };
const submit = async (reason: string) => { const submit = async (reason: string) => {
......
...@@ -45,7 +45,6 @@ ...@@ -45,7 +45,6 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
// import headers from "@/components/header/index.vue"
import addressBookItem from "./components/addressBookItem.vue"; import addressBookItem from "./components/addressBookItem.vue";
import { getClassBook } from "@/api/class"; import { getClassBook } from "@/api/class";
import { useTeachStore } from "@/stores/modules/teachStore"; import { useTeachStore } from "@/stores/modules/teachStore";
...@@ -121,7 +120,7 @@ const init = async () => { ...@@ -121,7 +120,7 @@ const init = async () => {
if (res.code == 200) { if (res.code == 200) {
if (res.total > 10) status.value = "loadmore"; if (res.total > 10) status.value = "loadmore";
else status.value = "nomore"; else status.value = "nomore";
addressBookList.value = res.data; addressBookList.value = res.data || [];
listQuery.total = res.total; listQuery.total = res.total;
} }
}; };
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<courseItem <courseItem
:courseItem="item" :courseItem="item"
:current="tabsState.current" :current="tabsState.current"
@init="init" @init="tabsChange"
/> />
</block> </block>
<view v-if="tabsState.current" style="padding: 20rpx"> <view v-if="tabsState.current" style="padding: 20rpx">
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
// import headers from "@/components/header/index.vue"
import courseItem from "./components/courseItem.vue"; import courseItem from "./components/courseItem.vue";
import { getCourseList } from "@/api/course"; import { getCourseList } from "@/api/course";
import { useTeachStore } from "@/stores/modules/teachStore"; import { useTeachStore } from "@/stores/modules/teachStore";
......
...@@ -30,11 +30,16 @@ ...@@ -30,11 +30,16 @@
> >
</view> </view>
<view class="item">课酬参考:{{ lecturerItem.FSALARY }}</view> <view class="item">课酬参考:{{ lecturerItem.FSALARY }}</view>
<view class="item" <view
class="item"
@tap="callPhone($event, lecturerItem.FPHONENUMBER)"
>联系电话:{{ lecturerItem.FPHONENUMBER }}</view
>
<!-- <view class="item"
>联系电话:{{ >联系电话:{{
hidePhoneNumber(lecturerItem.FPHONENUMBER) hidePhoneNumber(lecturerItem.FPHONENUMBER)
}}</view }}</view
> > -->
</view> </view>
</view> </view>
<view class="body-right"> <view class="body-right">
...@@ -50,7 +55,13 @@ ...@@ -50,7 +55,13 @@
</template> </template>
<template #foot> <template #foot>
<view class="foot"> <view class="foot">
<text @click="toSeeMore">{{ lecturerItem.FINTRODUCE }}</text> <text>{{ lecturerItem.FINTRODUCE }}</text>
<text class="see-more" @click="toSeeMore"
>查看更多<u-icon
name="arrow-right-double"
color="#05a8ff"
size="24"
/></text>
</view> </view>
</template> </template>
</u-card> </u-card>
...@@ -60,7 +71,7 @@ ...@@ -60,7 +71,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { baseUrl } from "@/utils/request"; import { baseUrl } from "@/utils/request";
import { hidePhoneNumber, toast } from "@/utils/util"; import { hidePhoneNumber, toast, callPhone } from "@/utils/util";
import { useCourseStore } from "@/stores/modules/courseStore"; import { useCourseStore } from "@/stores/modules/courseStore";
import taughtsPopup from "./taughtsPopup.vue"; import taughtsPopup from "./taughtsPopup.vue";
...@@ -217,6 +228,12 @@ const toSeeMore = () => { ...@@ -217,6 +228,12 @@ const toSeeMore = () => {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.see-more {
text-align: end;
margin-top: 4rpx;
color: #05a8ff;
}
} }
} }
</style> </style>
...@@ -68,8 +68,8 @@ const hideshow = ref(true); ...@@ -68,8 +68,8 @@ const hideshow = ref(true);
const docmHeight = document.documentElement.clientHeight; const docmHeight = document.documentElement.clientHeight;
const data = reactive({ const data = reactive({
formData: { formData: {
Phone: "16673514373", Phone: "",
Password: "123456", Password: "",
OpenID: globalStore.openId, OpenID: globalStore.openId,
} as Login.LoginForm, } as Login.LoginForm,
rules: { rules: {
......
...@@ -18,8 +18,8 @@ function request( ...@@ -18,8 +18,8 @@ function request(
returnError?: boolean returnError?: boolean
) { ) {
// 判断是否在微信浏览器 // 判断是否在微信浏览器
let en: any = window.navigator.userAgent.toLowerCase(); // let en: any = window.navigator.userAgent.toLowerCase();
// 匹配en中是否含有MicroMessenger字符串 // // 匹配en中是否含有MicroMessenger字符串
// if (en.match(/MicroMessenger/i) != "micromessenger") { // if (en.match(/MicroMessenger/i) != "micromessenger") {
// studentStore.$reset(); // studentStore.$reset();
// teachStore.$reset(); // teachStore.$reset();
......
...@@ -63,7 +63,8 @@ export default defineConfig({ ...@@ -63,7 +63,8 @@ export default defineConfig({
proxy: { proxy: {
"/k3cloud": { "/k3cloud": {
// target: 'https://weixin.lingqingkeji.com:86/', // target: 'https://weixin.lingqingkeji.com:86/',
target: "http://192.168.1.168:81/", target: "http://192.168.1.168/",
// target: "http://14.29.230.199:81/",
// target: "http://192.168.1.61/", // target: "http://192.168.1.61/",
secure: false, secure: false,
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论