Commit 0d6babba by peijy

10.26 修改测试问题

parent dcd826fd
# NODE_ENV='development'
# VUE_APP_MODE='development'
# VUE_APP_API_URL='/school'
\ No newline at end of file
# VUE_APP_API_URL='/abc'
......@@ -25,7 +25,7 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
//打包更改地方
1.appId
2.登录页图片
3.axios.js中改成 axios.defaults.baseURL = "/school";
4.vue.config.js
1.vue.config.js改成打包地址
开发测试时路径访问/login正常登录测试
测试钉钉免登陆是路径访问/dd或者/进行测试
2.退出登录不需要了
......@@ -23,6 +23,7 @@ declare module '@vue/runtime-core' {
VanCollapseItem: typeof import('vant/es')['CollapseItem']
VanConfigProvider: typeof import('vant/es')['ConfigProvider']
VanDatetimePicker: typeof import('vant/es')['DatetimePicker']
VanDialog: typeof import('vant/es')['Dialog']
VanDropdownItem: typeof import('vant/es')['DropdownItem']
VanDropdownMenu: typeof import('vant/es')['DropdownMenu']
VanEmpty: typeof import('vant/es')['Empty']
......
......@@ -12,6 +12,7 @@
"axios": "^0.21.1",
"compression-webpack-plugin": "^6.1.1",
"core-js": "^3.6.5",
"dingtalk-jsapi": "^3.0.28",
"fs": "^0.0.1-security",
"js-cookie": "^3.0.1",
"moment": "^2.29.4",
......
......@@ -37,19 +37,6 @@ const onConfirm = (value) => {
schoolYearResult.value = value[0] + '-' + value[1] ;
showPicker.value = false;
};
// const columns = [
// // 第一列
// {
// values: ['周一', '周二', '周三', '周四', '周五'],
// defaultIndex: 0,
// },
// // 第二列
// {
// values: ['上学期', '下学期'],
// defaultIndex: 0,
// },
// ];
const columns = ref([]);
onMounted(async () => {
const data = {
......@@ -60,7 +47,7 @@ onMounted(async () => {
console.log('schoolYear',schoolYear);
if(schoolYear.code == 200){
const schoolYearColumns =schoolYear.data.map(item => {
return item.schoolYear
return item.gradeYear
})
console.log('schoolYearColumns',schoolYearColumns)
columns.value = [{values:schoolYearColumns},{values: ['上学期', '下学期'],}]
......
......@@ -63,9 +63,10 @@ const icon = {
inactive: "https://fastly.jsdelivr.net/npm/@vant/assets/user-inactive.png",
};
onMounted(async () => {
console.log('getTotyp()',getTotyp())
if (getTotyp() != 1) {
userType.value = false;
}
});
......
......@@ -16,6 +16,7 @@ import store from "./store";
import { Form, Field, Uploader,DatetimePicker,Calendar } from "vant";
// import { Picker } from "vant";
import { Popup } from "vant";
import { Dialog } from 'vant'
// import { Toast } from "vant";
// import { Empty } from "vant";
// import { Dialog } from "vant";
......@@ -81,6 +82,7 @@ app
// .use(ContactCard)
// .use(Calendar)
// .use(Divider)
.use(Dialog)
.use(Calendar)
.use(VueHashCalendar)
.use(Uploader).use(DatetimePicker);
......
//钉钉免密登录
import axios from "../utils/axios";
//获取用户角色
export function getRole(code) {
return axios.get("/dd/App/user/getRole?code=" + code);
}
//获取token
export function getToken(code,roleType) {
return axios.get("/dd/App/user/login?code=" + code + "&roleType=" + roleType);
}
......@@ -18,6 +18,10 @@ export function login(params) {
return result;
}
//获取用户角色
export function loginType(phoneNumber) {
return axios.get(`/wx/user/getRoleType/${phoneNumber}`);
}
//用户登录接口
/*
* @params postData { studentName,studentIdCard(teacherIdCard),parentName,type,teacherName,openId}
......@@ -629,7 +633,20 @@ export function cancelLeave(taskId, params) {
data: params,
});
}
//根据用户找到所在的组织
export function getUserDept(userId){
return axios({
url: "/wx/teacherLeave/getUserDept/" + userId,
method: "get",
});
}
//根据部门和部门id 获取当前机构的 科室主任 处室主任
export function getDeptGrapRole(deptName,deptId){
return axios({
url: `/wx/teacherLeave/getDeptGrapRole?deptName=${deptName}&deptId=${deptId}`,
method: "get",
});
}
// 老师审批请假列表
export function teacherLeavelist(params) {
// console.log(params);
......@@ -1084,9 +1101,9 @@ export function getpersonalListinfo(id) {
});
}
//请假时间
export function getTotalTime(query) {
export function getTotalTime(query,type) {
return axios({
url: "/wx/teacherLeave/getTotalTime/" + store.state.userInfo.userId,
url: `/wx/teacherLeave/getTotalTime/${store.state.userInfo.userId}/${type}`,
method: "get",
params: query,
});
......
......@@ -2,7 +2,8 @@
import axios from "../utils/axios";
/********************** 字典 *******************/
//获取数据字典
//获取数据字典 course_arrange:节次 course_type:课程类型 section_type:课程
//specialty:志愿 art_subject:艺体所选科目 experiment_classify:实验类型
export function getDicts(type) {
let url = `/system/dict/data/type/${type}`;
let result = axios.get(url);
......@@ -22,6 +23,11 @@ export function getSchoolYear(data){
})
};
//获取学科
export function getSubject(){
return axios.get('/wx/teacher/expriment/getSubject')
};
/********************** 领导 *******************/
//领导—实验室完成情况统计
export function getLabCompleteList(data){
......@@ -129,15 +135,28 @@ export function addTeacherLab(data) {
...data
} )
}
//1.2 获取实验计划详细信息
//1.3 获取实验计划详细信息
export function getLabPlanDetail(id) {
return axios.get(`/wx/level/expriment/classYear/${id}`);
return axios.get(`/wx/teacher/expriment/classYear/${id}`);
}
//1.4 获取班级
export function getTeacherClass(data) {
return axios.get(`/wx/teacher/expriment/getTeacherClass`,{
params:data
});
}
//1.5获取实验室状态
export function getTeacherLab(data) {
return axios.get(`/wx/teacher/expriment/getTeacherLab`,{
params:data
});
}
//1.实验室申请记录
//1.1实验室申请记录
export function getLabApplyList(data){
return axios.get('/wx/level/expriment/list',{
return axios.get('/wx/teacher/expriment/list',{
params:data
})
};
......@@ -180,6 +199,10 @@ export function editApply(data) {
export function deleteApply(ids){
return axios.delete(`/wx/teacher/expriment/apply/${ids}`)
}
//3.6获取当前老师学年的班级
export function getTeacherschoolyearClass(id){
return axios.get(`/wx/teacher/expriment/getTeacherschoolyearClass/${id}`)
}
/********************** 级部申请 *******************/
//获取级部id
......
......@@ -37,8 +37,10 @@ export function checkBorrowDetail(id) {
/********** 物品归还(管理员) ***********/
//管理员物品列表查看
export function getEquipmentList(userId,equipmentName) {
return axios.get(`wx/equipment/getMyBorrowList/?userId=${userId}&equipmentName=${equipmentName}` );
export function getEquipmentList(data) {
return axios.get('wx/equipment/getReturningEquipmentList/',{
params:data
} );
}
//借用物品记录详情查看-克隆
......
......@@ -12,7 +12,7 @@ import router from "../router";
import {getToken} from "@/utils/auth";
import {tansParams} from "@/utils/common";
axios.defaults.baseURL = "/school";
axios.defaults.baseURL = "/wx_api";
// axios.defaults.baseURL = "/houduan";
// axios.defaults.baseURL = "/schoolnw";
......@@ -45,6 +45,7 @@ axios.defaults.headers["X-Requested-With"] = "XMLHttpRequest";
//axios.defaults.headers['token'] = localStorage.getItem('token') || ''
axios.defaults.headers.post["Content-Type"] = "application/json";
// 请求拦截器
axios.interceptors.request.use(
(config) => {
let cacheKey = config.url;
......@@ -116,21 +117,19 @@ axios.interceptors.response.use(
}
if (res.data.code != 200) {
console.log(res.data);
if(res.data.code == 2000){
if(res.data.code === 2000){
return res.data
}if(res.data.code == 3000){
}if(res.data.code === 3000){
return res.data
}
// if (res.data.message) Toast.fail(res.data.message);
if (res.data.code == 401) {
if (res.data.code === 401) {
router.push({path: "/"});
}
if (res.data.code == 500) {
// router.push({ path: "/login" });
// Toast.fail("获取信息异常");
// return Promise.reject(res.data);
if (res.data.code === 500) {
Toast.fail(res.data.msg);
router.push({path: "/login"});
router.push({path: "/dd"});
// router.push({path: "/login"});
}
return Promise.reject(res.data);
// return Promise.resolve(res.data);
......
import { getWxConfig,scanEquipmentInfo } from "../service/schoolProperty";
import wx from "weixin-js-sdk"; //调用微信相关
import {getWxConfig, scanEquipmentInfo} from "../service/schoolProperty";
// import wx from "weixin-js-sdk"; //调用微信相关
import * as dd from 'dingtalk-jsapi';
import Vue from 'vue';
import { useRouter } from "vue-router";
import {useRouter} from "vue-router";
import router from "@/router/index.js"
/***
* Date:2023-08-14
* Describe:用于调取微信扫码
* Date:2023-10-13
* Describe:用于调取钉钉扫码
* */
export function scanCodeFun(appId,type){
console.log('appId',appId)
let url = encodeURIComponent(location.href.split('#')[0]) //获取当前域名
console.log('location.href',location.href)
console.log('url',url)
let encode = ''
getWxConfig(url).then(res=>{
if(res.code == 200){
const data = res.data
wx.config({
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug: false,
// debug: true,
// 必填,公众号的唯一标识
appId,
// 必填,生成签名的时间戳
timestamp: data.timestamp,
// 必填,生成签名的随机串
nonceStr: data.noncestr,
// 必填,签名,见附录1
signature: data.signature,
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
jsApiList: ['scanQRCode'],
});
// setTimeout(()=>{
wx.ready(function () {
console.log(666)
wx.checkJsApi({
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'scanQRCode'
],
success: function (res){
console.log("res.checkResult.scanQRCode",res.checkResult.scanQRCode)
if(res.checkResult.scanQRCode === true){
wx.scanQRCode({
needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
console.log(777)
encode = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
console.log(encode,"encode")
if(type == 0){
console.log(type,"type")
export function scanCodeFun(type) {
let enCode ='';
dd.scan({
type: ['qr','bar'],
success: (res) => {
console.log('res',res)
enCode = res.text
if (type == 0) {
// 校产管理页面扫码显示设备信息
router.push({
path: "/schoolProperty/equipmentInfo",
query: {
encode:encode
encode: enCode
}
})
}
if(type == 1){
};
if (type == 1) {
// 物品借用
router.push({
path: "/schoolProperty/borrow/detail",
query:{
encode:encode
query: {
encode: enCode
}
});
};
if(type == 2){
if (type == 2) {
// 归还管理
router.push({
path: "/schoolProperty/return/detail",
query:{
encode:encode
query: {
encode: enCode
}
});
};
if(type == 3){
if (type == 3) {
// 物品领用
router.push({
path: "/schoolProperty/use/add",
query:{
encode:encode
query: {
encode: enCode
}
});
};
if(type == 4){
if (type == 4) {
// 设备报修
router.push({
path: "/schoolProperty/device/info",
query:{
encode:encode,
name:'新增'
query: {
encode: enCode,
name: '新增'
}
});
}
};
},
fail:function (res){
console.log('fail',res)
}
})
}
}
})
// fail: () => {
// },
// complete: (res) => {
// console.log('complete',res)
// },
});
// },3000)
}
})
// return encode
}
<template>
<!-- <div>钉钉内跳转</div>-->
<van-dialog v-model:show="showDialog" title="请选择角色" show-cancel-button @confirm="confirmDialog">
<van-radio-group style="justify-content: space-around;margin: 20px 0" v-model="checked" direction="horizontal">
<div v-for="(item,index) in typeResult" :key="index">
<van-radio :name="item.userLoginType" >{{item.userLoginType == "0" ? '教师' : '家长' }}
<span v-if="item.userLoginType == '1'">({{ item.studentName }})</span>
</van-radio>
</div>
</van-radio-group>
</van-dialog>
</template>
<script setup>
import {Dialog, Toast} from 'vant';
import {getRole, getToken} from "@/service/dd";
import {onMounted, ref} from "vue";
import * as dd from "dingtalk-jsapi";
import { setToken, setParentTelephone, setTotyp } from "@/utils/auth";
import {useRoute, useRouter} from "vue-router";
const router = useRouter();
const VanDialog = Dialog.Component;
const showDialog = ref(false);
const checked = ref();
const studentName = ref();
const typeResult = ref([]);
//code码
const code = ref()
onMounted(() => {
getCode()
console.log('showDialog', showDialog.value)
})
// 获取code
const getCode = () => {
dd.getAuthCode({
corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69',
success: (res) => {
console.log('获取新的免登码成功', res);
const code = res.code
// this.code = code;
// this.authCodeTimestamp = currentTime;
// console.log('this.authCodeTimestamp', this.authCodeTimestamp);
console.log('code', code);
getRoleType(code)
// console.log('loginResponse', loginResponse);
},
fail: (res) => {
console.log('获取免登码失败', res);
},
complete: () => {
},
});
}
//获取类型
const getRoleType = async (code) => {
const type = await getRole(code);
console.log('type', type);
if (type.code == 200) {
typeResult.value = type.data
if (type.data.length == 1) {
dd.getAuthCode({
corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69',
success: (res) => {
console.log('获取新的免登码成功', res);
const code = res.code
console.log('code', code);
const typeNew = type.data[0].userLoginType
console.log('666',typeNew)
getgetToken(code, typeNew)
},
fail: (res) => {
console.log('获取免登码失败', res);
},
complete: () => {
},
});
} else {
showDialog.value = true
}
} else {
Toast("获取信息失败!");
}
}
// 获取token登录
const getgetToken = async (code, roleType) => {
console.log('token code',code)
console.log('token roleType',roleType)
const result = await getToken(code, roleType);
console.log("asdasd", result);
if (result.code == 200) {
setToken(result.token);
setTotyp(roleType);
console.log(router);
router.replace({
path: "/main",
query:{
roleType:roleType
},
});
}else if (result.code == 500) {
Toast("获取信息失败,请重新进入");
return;
}
};
//确认弹框,再次获取code码
const confirmDialog = () => {
console.log('确认',checked.value)
dd.getAuthCode({
corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69',
success: (res) => {
console.log('获取新的免登码成功', res);
const code = res.code
console.log('code', code);
getgetToken(code, checked.value)
},
fail: (res) => {
console.log('获取免登码失败', res);
},
complete: () => {
},
});
}
</script>
<style scoped lang="less">
</style>
......@@ -27,6 +27,18 @@
label="性别"
/>
<van-field
v-model="cardid"
name="cardid"
label="身份证号"
/>
<van-field
v-model="phone"
name="phone"
label="联系电话"
/>
<van-field
:readonly="status == '1' || status == '2' ? true:false"
v-model="hobby"
name="hobby"
......@@ -56,7 +68,7 @@
<van-button type="warning" style="margin-right: 10px;border-radius: 5px;width: 90px;height: 40px">
不同意
</van-button>
<van-button type="success" style="border-radius: 5px;width: 90px;height: 40px" native-type="submit">
<van-button type="success" style="border-radius: 5px;width: 95px;height: 40px" native-type="submit">
重新报名
</van-button>
</div>
......@@ -79,6 +91,8 @@ const grade = ref('');
const classes = ref('');
const name = ref('');
const sex = ref('');
const cardid = ref('');
const phone = ref('');
const hobby = ref('');
const reason = ref('');
const status = ref('');
......@@ -98,20 +112,32 @@ onMounted(async ()=>{
reason.value = result.data.reason
reason.value = result.data.reason
status.value = result.data.status
phone.value = result.data.phone
cardid.value = result.data.cardid
}
console.log('result',result)
})
const goback = () => {
router.back()
}
const onSubmit = (values) => {
const onSubmit = async (values) => {
console.log('submit', values);
values.cid = route.query.id;
values.orgName = route.query.name
values.userId = store.state.userInfo.userId
console.log('values',values)
let addResult = await addClubApply(values)
console.log('addResult',addResult)
if(addResult.code == 200){
router.back()
}
};
//重新报名
const resubmit = () => {
// hobby.value = '';
// reason.value = '';
}
</script>
<style scoped>
......
......@@ -7,7 +7,9 @@
</div>
<div class="swiper">
<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white" >
<van-swipe-item v-for="(item,index) in 6" :key="index">{{ index }}</van-swipe-item>
<van-swipe-item v-for="(item,index) in content" :key="index">
<img :src="item" />
</van-swipe-item>
<!-- <van-swipe-item v-for="(item,index) in content" :key="index">{{ index }}</van-swipe-item>-->
</van-swipe>
......@@ -42,7 +44,13 @@ onMounted( async () => {
if(result.code == 200){
aim.value = result.data.aim
intro.value = result.data.intro
content.value = result.data.imgs
if(result.data.imgs){
content.value = result.data.imgs.split(',').map(item => {
return item.replace('dev-api','wx_api')
})
}
console.log('content.value',content.value)
}
})
//社团报名按钮
......@@ -68,9 +76,9 @@ const goback = () => {
.my-swipe .van-swipe-item {
color: #fff;
font-size: 20px;
line-height: 150px;
/*line-height: 150px;*/
text-align: center;
background-color: #39a9ed;
/*background-color: #39a9ed;*/
}
.title{
font-size: 14px;
......
......@@ -9,12 +9,15 @@
>
<div class="clubWrap">
<div class="clubItem" v-for="item in list" :key="item.id">
<div style="position: relative" @click="toDetail(item.id,item.name)">
<div style="position: relative;width: 100%;height: 100%" @click="toDetail(item.id,item.name)" >
<div class="image">
<van-image
fit="contain"
fit="fill"
position="center"
width="100%"
height="100%"
radius="10"
:src='item.src'
:src="item.imgs == null ? '':item.imgs.split(',')[0].replace('dev-api','wx_api')"
/>
</div>
<div class="clubName">{{ item.name }}</div>
......@@ -55,8 +58,8 @@ const onLoad = async () => {
if (result.code == 200) {
loading.value = false;
list.value = result.data
imgArr.value = result.data.map(item => item.imgs)
// src.value = imgArr.value.map(item => )
// imgArr.value = result.data.map(item => item.imgs)
imgArr.value = result.data.imgs
finished.value = true
}else {
Toast("获取信息失败!");
......@@ -100,10 +103,13 @@ const goback = () => {
.clubItem {
width: 50%;
height: 130px;
margin-bottom: 20px;
}
.image {
width: 90%;
height: 100px;
margin-right: 20px;
border-radius: 10px;
border: 1px solid silver;
......
......@@ -10,7 +10,7 @@
@click-tab="onClickTab"
title-inactive-color="#969799"
title-active-color="#39befe"
v-model:active="active"
v-model:active="activeName"
style="height: 44px"
>
<van-tab
......@@ -18,6 +18,7 @@
font-size:14px;
text-align:center;"
title="夏季时刻"
name="1"
><div
style="
background: #ffffff;
......@@ -67,6 +68,7 @@ text-align:center;"
font-size:14px;
text-align:center;"
title="冬季时刻"
name="0"
><div
style="
background: #ffffff;
......@@ -126,7 +128,7 @@ import {
getTimeList,
} from "@/service/home";
const router = useRouter();
const active = ref(0);
const activeName = ref('');
const nowtime = ref();
const onClickTab = ({ title }) => {
getDetail();
......@@ -137,17 +139,20 @@ onMounted(async () => {
if (result2.code == 200) {
nowtime.value = result2.rows;
if (result2.rows[0].isUsed == "1") {
active.value = 0;
activeName.value = '0';
getDetail();
} else {
active.value = 1;
activeName.value = '1';
getDetail();
}
}
});
const detail = ref();
const getDetail = async () => {
let result = await getTimeDetail(nowtime.value[active.value].id);
console.log('nowtime.value',nowtime.value)
console.log('active.value',activeName.value)
let result = await getTimeDetail(nowtime.value[activeName.value].id);
console.log('result',result)
detail.value = result.rows;
};
const goback = () => {
......
......@@ -337,10 +337,11 @@ const onGetPics = async () => {
let result = await schoolPiclist();
if (result.code == 200) {
let getData = result.data;
console.log('getData',getData)
console.log('href',window.location)
const href = window.location.origin
const url = getData.map(item => {
return href + '/csimges/' +item
return href + '/wx_api' +item
})
console.log('url',url)
state.picList = url;
......
......@@ -452,12 +452,12 @@ export default {
//localStorage.clear();
Toast.success("退出成功");
//测试服务器
console.log('window',window)
window.location.href = window.location.href.split('?')[0]
// router.push({
// path: "/login",
// query: {},
// });
// console.log('window',window)
// window.location.href = window.location.href.split('?')[0]
router.push({
path: "/login",
query: {},
});
})
.catch(() => {});
};
......
......@@ -320,14 +320,14 @@ export default {
Toast.success("退出成功");
console.log('openId',store)
//测试服务器
console.log('window',window)
window.location.href = window.location.href.split('?')[0]
// router.replace({
// path: "/login",
// query: {
// isLogout:1
// },
// });
// console.log('window',window)
// window.location.href = window.location.href.split('?')[0]
router.replace({
path: "/login",
query: {
isLogout:1
},
});
})
.catch(() => {});
})
......
......@@ -508,7 +508,7 @@ import { reactive, onMounted, toRefs, ref } from "vue";
import {} from "@/service/home";
import { useStore } from "vuex";
import { Toast } from "vant";
import { useRouter } from "vue-router";
import {useRoute, useRouter} from "vue-router";
import { formatDate } from "@/utils/time";
// import Tabbar from "@/components/tabbar";
import image1 from "@/assets/swiper1.jpeg"
......@@ -535,6 +535,7 @@ import {
getStudentInfo,//学生选课信息查询
} from "@/service/studentCourseSelection";
import {getGradeId} from '@/service/laboratoryManagement'
import * as dd from 'dingtalk-jsapi';
export default {
name: "Home",
......@@ -555,6 +556,7 @@ export default {
gradeListOption: [],
});
const router = useRouter();
const route = useRoute()
const store = useStore();
const stuOption = [];
const parentShow = ref(false); // 家长端内容是否显示 家长登录true 显示
......@@ -564,6 +566,7 @@ export default {
};
const courseStartTime = ref();
const courseEndTime = ref();
const roleType = ref()
const loadData = async () => {
console.log("加载数据", store);
goCalendar();
......@@ -578,7 +581,35 @@ export default {
onInitData();
}
};
//系统返回按钮退出页面
// const returnBtn = () => {
//
// const u = navigator.userAgent
// const that = this
// const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
// if (isiOS) {
// dd.biz.navigation.setLeft({
// control: true,
// onSuccess: function () {
// // if (that.$route.path === '/institution') {
// // dd.biz.navigation.close()
// // } else {
// // window.history.back()
// // }
// }
// })
// } else {
// // document.addEventListener('backbutton', function () {
// // if (that.$route.path === '/institution') {
// // dd.biz.navigation.close()
// // }
// // })
// }
// };
onMounted(async () => {
console.log('route',route)
console.log('store',store)
// roleType.value = route.query.roleType
// var ws = new WebSocket("ws:/ws/webSocket/{userId}");
loadData();
let result = await getTerm();
......@@ -591,6 +622,7 @@ export default {
state.typ = type;
//访问后台接口
if (type == 1) {
console.log('type',type)
parentShow.value = true;
initGradeList();
let result = await getparentPushList({
......@@ -605,6 +637,8 @@ export default {
return;
}
} else if (type == 0) {
console.log('type',type)
teacherShow.value = true;
let result = await getteacherPushList({ pageNum: 1, pageSize: 2 });
if (result.code == 200) {
......@@ -677,11 +711,14 @@ export default {
store.commit("editTeacherName", userInfo.teacherName);
store.commit("edituserInfo", userInfo);
console.log('userInfo666',userInfo)
if(getGradeId.value == '0'){
let gradeId = await getGradeId(userInfo.userId)
console.log('gradeId',gradeId)
if(gradeId.code == 200){
store.commit("editGradeId", gradeId.data);
}
}
onInitData();
}
};
......
......@@ -17,6 +17,24 @@
placeholder="标题默认姓名类别时间"
readonly
/>
<van-field
label="级部/处室"
v-model="state.applyOrgname"
rows="1"
autosize
type="textarea"
placeholder="级部/处室"
readonly
/>
<van-field
label="级部/处室主任"
v-model="state.handUserName1"
rows="1"
autosize
type="textarea"
placeholder="级部/处室主任"
readonly
/>
<!--非老师 -->
<van-field
v-if="employeeType == '1'"
......@@ -36,7 +54,7 @@
position="bottom"
>
<van-datetime-picker
v-model="state.startTime"
type="datetime"
@confirm="onConfirm1"
title="请选择时间"
......@@ -63,7 +81,7 @@
position="bottom"
>
<van-datetime-picker
v-model="state.endTimeShow"
type="datetime"
@confirm="onConfirm2"
title="请选择时间"
......@@ -91,7 +109,6 @@
position="bottom"
>
<van-datetime-picker
v-model="state.startTime"
type="date"
@change="onchange1"
@confirm="onConfirm1"
......@@ -124,7 +141,6 @@
@cancel="showapplystartSort = false"
/>
</van-popup>
<van-field
v-if="employeeType == '0'"
required
......@@ -143,7 +159,6 @@
position="bottom"
>
<van-datetime-picker
v-model="state.endTimeShow"
type="date"
@change="onchange2"
@confirm="onConfirm2"
......@@ -189,42 +204,42 @@
@click="showPicker = true"
:rules="[{ required: true, message: '请选择类型' }]"
/>
<van-field
required
v-model="state.applyOrgname"
is-link
readonly
name="picker"
label="级部/处室"
placeholder="点击选择级部/处室"
@click="showapplyOrgnamePicker = true"
:rules="[{ required: true, message: '请选择级部/处室' }]"
/>
<van-popup v-model:show="showapplyOrgnamePicker" position="bottom">
<van-picker
:columns="state.gradeOfficeList"
@confirm="onConfirmapplyOrgname"
@cancel="showapplyOrgnamePicker = false"
/>
</van-popup>
<van-field
v-model="state.handUserName1"
is-link
readonly
name="picker"
label="级部/处室主任"
placeholder="点击选择级部/处室主任"
@click="showhandUserName1Picker = true"
/>
<!-- <van-field-->
<!-- required-->
<!-- v-model="state.applyOrgname"-->
<!-- is-link-->
<!-- readonly-->
<!-- name="picker"-->
<!-- label="级部/处室"-->
<!-- placeholder="点击选择级部/处室"-->
<!-- @click="showapplyOrgnamePicker = true"-->
<!-- :rules="[{ required: true, message: '请选择级部/处室' }]"-->
<!-- />-->
<!-- <van-popup v-model:show="showapplyOrgnamePicker" position="bottom">-->
<!-- <van-picker-->
<!-- :columns="state.gradeOfficeList"-->
<!-- @confirm="onConfirmapplyOrgname"-->
<!-- @cancel="showapplyOrgnamePicker = false"-->
<!-- />-->
<!-- </van-popup>-->
<!-- <van-field-->
<!-- v-model="state.handUserName1"-->
<!-- is-link-->
<!-- readonly-->
<!-- name="picker"-->
<!-- label="级部/处室主任"-->
<!-- placeholder="点击选择级部/处室主任"-->
<!-- @click="showhandUserName1Picker = true"-->
<!-- />-->
<!-- :rules="[{ required: true, message: '请选择级部/处室主任' }]" -->
<van-popup v-model:show="showhandUserName1Picker" position="bottom">
<van-picker
:columns="state.gradeOfficeDirectorList"
@confirm="onConfirmhandUserName1"
@cancel="showhandUserName1Picker = false"
/>
</van-popup>
<!-- <van-popup v-model:show="showhandUserName1Picker" position="bottom">-->
<!-- <van-picker-->
<!-- :columns="state.gradeOfficeDirectorList"-->
<!-- @confirm="onConfirmhandUserName1"-->
<!-- @cancel="showhandUserName1Picker = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
required
v-if="state.totalTime >= 0.5"
......@@ -319,7 +334,7 @@
<script setup>
import { onMounted, ref } from "vue";
import { Dialog, Toast } from "vant";
import { useRouter } from "vue-router";
import {useRoute, useRouter} from "vue-router";
import { useStore } from "vuex";
import {
getleavtyp,
......@@ -352,7 +367,7 @@ const state = ref({
leaveReason: "", //请假原因
startTime: "", //开始时间
endTime: "", //结束时间
totalTime: "", //请假时长
totalTime: 0, //请假时长
startTimeShow: false, //开始时间选择显示
endTimeShow: false, //开始时间选择显示
totalTimeText: "", //请假时长显示
......@@ -367,11 +382,11 @@ const state = ref({
schoolLeaderList: [],
endSort: null,
startSort: null,
totalTime: 0,
});
const employeeType = ref(0);
const employeeType = ref();
const router = useRouter();
const route = useRoute()
const store = useStore();
const columns = ref([]);
// 提交表单
......@@ -392,7 +407,7 @@ const formatter = (type, val) => {
return val;
};
const loadData = async () => {
getGradeOffice();
// getGradeOffice();
schoolLeader();
let result = await getleavtyp();
if (result.code == 200) {
......@@ -409,10 +424,11 @@ const loadData = async () => {
};
const courseNumss = ref([]);
onMounted(async () => {
console.log("3- 组件挂在完毕执行 --- onMounted");
state.value.applyOrgname = route.query.deptName
state.value.handUserName1 = route.query.name
loadData();
employeeType.value = store.state.userInfo.employeeType;
console.log('route',route)
employeeType.value = route.query.type;
let result = await getcourseNum();
courseNumss.value = result.data;
for (let index = 0; index < result.data.length; index++) {
......@@ -448,7 +464,9 @@ const onConfirmapplyOrgname = async (value) => {
const courseNums = ref([]);
const getcourseNums = (tiem, Sort) => {
console.log(tiem, Sort);
if (store.state.userInfo.employeeType == 0) {
// if (store.state.userInfo.employeeType == 0) {
if (employeeType.value == 0) {
for (let index = 0; index < courseNums.value.length; index++) {
const element = courseNums.value[index];
if (courseNums.value[index].id == Sort) {
......@@ -590,7 +608,7 @@ const getTotalTimes = async () => {
(state.value.startSort != null) &
(state.value.endSort != null)
) {
let result = await getTotalTime(state.value);
let result = await getTotalTime(state.value,route.query.type);
state.value.totalTime = result.data;
state.value.dayCourse = result.dayCourse;
}
......@@ -698,8 +716,13 @@ const submitApplyadd = () => {
forbidClick: true,
});
console.log(valid);
console.log('postForm.value',postForm.value)
console.log('state.value',state.value)
addteatcherleave({
...state.value,
applyOrgid:route.query.deptId,
applyType:route.query.type,
teacherId: store.state.userInfo.userId,
teacherName: store.state.userInfo.teacherName,
startTime: formatDatetime(new Date(state.value.startTime.replace(/-/g, "/"))),
......@@ -728,6 +751,8 @@ const submitApplypost = () => {
console.log(valid);
postteatcherleavel({
...state.value,
applyOrgid:route.query.deptId,
applyType:route.query.type,
teacherId: store.state.userInfo.userId,
teacherName: store.state.userInfo.teacherName,
startTime: formatDatetime(new Date(state.value.startTime.replace(/-/g, "/"))),
......
......@@ -207,12 +207,22 @@
</div>
</van-list>
</van-pull-refresh>
<van-dialog v-model:show="showDialog" title="请选择部门" show-cancel-button @confirm="confirmDialog">
<van-radio-group style="justify-content: space-around;margin: 20px 0" v-model="dialogChecked">
<div style="margin-left: 40px" v-for="(item,index) in typeResult" :key="index">
<van-radio style="margin-bottom: 10px;" :name="item" >{{item.deptName}}
</van-radio>
</div>
</van-radio-group>
</van-dialog>
</template>
<script setup>
import { ref, toRefs, computed, reactive, onMounted } from "vue";
import { useRouter } from "vue-router";
import {
getDeptGrapRole,
getUserDept,
teacherLeavelist,
getcourseNum,
teacherLeavetaskDoneList,
......@@ -220,18 +230,23 @@ import {
deleteteatcherleave,
postTeatcherleave,
} from "@/service/home";
import { Toast } from "vant";
import { Dialog, Toast } from "vant";
import axios from "axios";
import { useStore } from "vuex";
import { formatDatetime, formatDate } from "@/utils/time.js";
const typeResult = ref([]);
const VanDialog = Dialog.Component;
const store = useStore();
const router = useRouter();
const dialogChecked = ref();
const state = reactive({
searchText: "",
typeId: "",
optionId: 0,
});
const showDialog = ref(false);
const tab = ref([{ title: "全部" }, { title: "已提交" }, { title: "未提交" }]);
const option = [];
const value1 = ref(0);
......@@ -364,6 +379,10 @@ onMounted(async () => {
loadData();
let result = await getcourseNum();
courseNums.value = result.data;
let deptResult = await getUserDept(store.state.userInfo.userId);
console.log('deptResult',deptResult)
typeResult.value = deptResult.data
console.log('typeResult.value',typeResult.value)
});
const goDetails = (item) => {
// if (item.state === "2") {
......@@ -405,14 +424,36 @@ const resolveType = computed(() => {
const goback = () => {
router.back();
};
//新增按钮
const goLeaveApply = (g) => {
/* 跳转 请假流程发起 */
showDialog.value = true
};
//确认弹框
const confirmDialog = async () => {
console.log('确认',dialogChecked.value)
let roleResult = await getDeptGrapRole(dialogChecked.value.deptName,dialogChecked.value.deptId)
console.log('roleResult',roleResult)
// /* 跳转 请假流程发起 */
store.commit("editApply", "");
router.push({
path: "/askForLeaveapply",
query: {},
query: {
type: roleResult.data.employeeType,
name: roleResult.data.userName,
deptName:dialogChecked.value.deptName,
deptId:dialogChecked.value.deptId
},
});
};
}
// const goLeaveApply = (g) => {
// /* 跳转 请假流程发起 */
// store.commit("editApply", "");
// router.push({
// path: "/askForLeaveapply",
// query: {},
// });
// };
</script>
<style lang="less" scoped>
......
<template>
<van-nav-bar title="实验室管理" left-text="返回" left-arrow @click-left="goback" ></van-nav-bar>
<!--领导 -->
<!-- <div v-if="leaderRole == true">-->
<div v-if="leaderRole == true">
<div class="recordBlock" @click="toPage(1)">
<van-image class="leftImg" :src="require('../../../assets/icon/record.png')"/>
<div>教师实验室统计</div>
......@@ -10,9 +10,9 @@
<van-image class="leftImg" :src="require('../../../assets/icon/statistics.png')"/>
<div>实验室完成情况统计</div>
</div>
<!-- </div>-->
</div>
<!--实验室管理员 -->
<!-- <div v-if="managerRole == true">-->
<div v-if="managerRole == true">
<div class="orderBlock" @click="toPage(3)">
<van-image class="leftImg" :src="require('../../../assets/icon/order.png')"/>
<div>年级实验预约</div>
......@@ -29,14 +29,14 @@
<van-image class="leftImg" :src="require('../../../assets/icon/personal.png')"/>
<div>个人实验审批</div>
</div>
<!-- </div>-->
</div>
<!-- <div class="competitionBlock" @click="toPage(7)">-->
<!-- <van-image class="leftImg" :src="require('../../../assets/icon/competition.png')"/>-->
<!-- <div>实验室竞赛</div>-->
<!-- </div>-->
<!--级部申请-->
<!-- <div v-if="levelPartRole == true">-->
<div v-if="levelPartRole == true">
<div class="levelOrderBlock" @click="toPage(8)">
<van-image class="leftImg" :src="require('../../../assets/icon/level.png')"/>
<div>年级实验室预约</div>
......@@ -49,10 +49,10 @@
<van-image class="leftImg" :src="require('../../../assets/icon/levelFinish.png')"/>
<div>实验室完成情况明细</div>
</div>
<!-- </div>-->
</div>
<!--教师申请-->
<!-- <div v-if="teacherRole == true">-->
<div v-if="teacherRole == true">
<div class="laboratoryBlock" @click="toPage(11)">
<van-image class="leftImg" :src="require('../../../assets/icon/laboratoryArrangement.png')"/>
<div>实验室安排</div>
......@@ -65,7 +65,7 @@
<van-image class="leftImg" :src="require('../../../assets/icon/personalApplication.png')"/>
<div>个人实验室申请</div>
</div>
<!-- </div>-->
</div>
</template>
......@@ -90,37 +90,37 @@ const teacherRole = ref()
onMounted(()=>{
//查找角色
//领导-校领导
// rolesArr.find(item => {
// if(item == 'schoolLeader'){
// return leaderRole.value = true
// }else{
// leaderRole.value = false
// }
// })
rolesArr.find(item => {
if(item == 'schoolLeader'){
return leaderRole.value = true
}else{
leaderRole.value = false
}
})
// 级部-级部主任
// rolesArr.find(item => {
// if(item == 'gradeLeader'){
// return levelPartRole.value = true
// }else{
// levelPartRole.value = false
// }
// })
rolesArr.find(item => {
if(item == 'gradeLeader'){
return levelPartRole.value = true
}else{
levelPartRole.value = false
}
})
//实验室管理员
// rolesArr.find(item => {
// if(item == 'phy_lab_admin' || item == 'che_lab_admin' || item == 'bio_lab_admin'){
// return managerRole.value = true
// }else{
// managerRole.value = false
// }
// })
rolesArr.find(item => {
if(item == 'phy_lab_admin' || item == 'che_lab_admin' || item == 'bio_lab_admin'){
return managerRole.value = true
}else{
managerRole.value = false
}
})
//教师
// rolesArr.find(item => {
// if(item == 'teacher'){
// return teacherRole.value = true
// }else{
// teacherRole.value = false
// }
// })
rolesArr.find(item => {
if(item == 'teacher'){
return teacherRole.value = true
}else{
teacherRole.value = false
}
})
})
const toPage = (type) => {
......
......@@ -28,8 +28,8 @@
finished-text="没有更多了"
@load="onLoad"
>
<div v-for="(item,index) in list" :key="index">
<div class="card" @click="toDetail(item.id)">
<div v-for="(item,index) in list" :key="index" style="position: relative;">
<div class="card" @click="toDetail(item.id)" style="padding-bottom: 20px">
<div class="topContent">
<div class="topLeft">
<van-image v-if="item.sub == '1'" style="height: 20px;width: 20px;vertical-align: middle"
......@@ -42,8 +42,9 @@
style="font-size: 16px;font-weight: bold;padding-left: 5px">{{ item.sub == '1' ? '物理' : item.sub == '2' ? '化学' : '生物' }}研究</span>
</div>
<div class="topRight">
<div v-if="item.declareState == '3'" class="unAssigned">已分配</div>
<div v-else class="assigned">未分配</div>
<div v-if="item.declareState == '3'" class="assigned">已分配</div>
<div v-if="item.declareState == '1'" class="declared">已申报</div>
<div v-if="item.declareState == '0'" class="unAssigned">未申报</div>
</div>
</div>
<div class="middleContent">
......@@ -63,14 +64,14 @@
</div>
<div style="width: 40%;overflow: hidden; white-space: nowrap; text-overflow: ellipsis">
<span>实验室:</span>
<span>{{ item.labName }}</span>
<span>{{ item.schoolTeacherExperimentApplyLabsList.map(item => item.labName).toString()}}</span>
</div>
</div>
<div class="bottomButton" v-if="item.declareState != '3'">
</div>
<div class="bottomButton" v-if="item.declareState == '0'" style="position: absolute;bottom: 0;right: 10px">
<van-button color="#e5c35d" size="small" class="edit" @click="toEdit(item.id)">修改</van-button>
<van-button type="danger" size="small" class="delete" @click="handleDelete(item.id)">删除</van-button>
</div>
<van-button type="primary" size="small" class="delete" @click="handleSubmit(item.id)">提交</van-button>
</div>
</div>
</van-list>
......@@ -80,7 +81,7 @@
</template>
<script setup>
import {getPersonalLabApplyList,deleteApply} from '@/service/laboratoryManagement'
import {getPersonalLabApplyList,deleteApply,applyToReport} from '@/service/laboratoryManagement'
import {reactive, onMounted, toRefs, ref} from "vue";
import {useStore} from "vuex";
......@@ -129,12 +130,14 @@ const onLoad = async () => {
}
console.log('params', params)
//接口
let result = await getPersonalLabApplyList(params)
console.log('result', result)
if (result.code == 200) {
let resultList = await getPersonalLabApplyList(params)
console.log('resultList', resultList)
if (resultList.code == 200) {
loading.value = false;
list.value = result.data
list.value = resultList.data;
finished.value = true
console.log(' list.value ', list.value )
} else {
Toast("获取信息失败!");
finished.value = true;
......@@ -176,6 +179,24 @@ const toEdit = (id) => {
const handleDelete = async (id) => {
let result = await deleteApply(id)
console.log('result',result)
if(result.code == 200){
Toast.success("删除成功");
onRefresh()
}
}
//提交按钮
const handleSubmit = async (id) => {
console.log('id',id)
const params = {
id:id
}
let submitResult = await applyToReport(params)
console.log('submitResult',submitResult)
if(submitResult.code == 200){
Toast.success("提交成功");
onRefresh()
}
}
//下拉刷新
const onRefresh = () => {
......@@ -238,7 +259,10 @@ const goback = () => {
background: #00c15d;
border-radius: 10px;
}
.declared{
background: #ee870a;
border-radius: 10px;
}
.unAssigned {
background: #4ea0fc;
border-radius: 10px;
......
......@@ -107,9 +107,9 @@ onMounted(async () => {
console.log('result',result)
if(result.code == 200){
Object.assign(formData,result.data)
form.sub = form.sub == '1' ? '物理' : form.sub == '2' ? '化学' : '生物';
form.semester = form.semester == '1' ? '上学期' : '下学期';
form.experimentClassify = form.experimentClassify == '1' ? '分组实验': form.experimentClassify == '2' ? '演示实验' : '探究实验';
formData.sub = formData.sub == '1' ? '物理' : formData.sub == '2' ? '化学' : '生物';
formData.semester = formData.semester == '1' ? '上学期' : '下学期';
formData.experimentClassify = formData.experimentClassify == '1' ? '分组实验': formData.experimentClassify == '2' ? '演示实验' : '探究实验';
}else{
Toast("获取信息失败!");
}
......
......@@ -42,21 +42,21 @@
<div class="middleContent">
<div style="width: 60%">
<span>级部:</span>
<span>2021级</span>
<span>{{item.grade}}</span>
</div>
<div style="width: 40%;">
<span>学期:</span>
<span>2022下学期</span>
<span>{{ item.schoolYear }}{{item.semester == '1' ? '上学期' :'下学期'}}</span>
</div>
</div>
<div class="bottomContent" style="padding-bottom: 20px">
<div style="width: 60%">
<span>实验时间:</span>
<span>2023-08-16</span>
<span>{{item.experimentTime}}</span>
</div>
<div style="width: 40%;overflow: hidden; white-space: nowrap; text-overflow: ellipsis">
<span>实验室:</span>
<span>101、401、102、103、104</span>
<span>{{ item.labName }}</span>
</div>
</div>
......
......@@ -84,6 +84,7 @@ onMounted(async () => {
console.log('queryEncode', queryEncode)
title.value = '物品借用新增'
let equipmentRes = await scanEquipmentInfo(queryEncode)
console.log('equipmentRes',equipmentRes)
if(equipmentRes.code == 3000){
Dialog.alert({
title: '提示',
......
......@@ -49,7 +49,8 @@ const equipmentName = ref('')
//扫码获取
const getCode = () => {
let enCode = scanCodeFun(store.state.appid,1) //获取到的设备自编码
let enCode = scanCodeFun(1) //获取到的设备自编码
//测试
// router.push({
// path: "/schoolProperty/borrow/detail",
......
......@@ -60,7 +60,7 @@ onMounted( () => {
const getList = async () => {
if (pullLoading.value) {
list.value = [];
pageNum.value = 0;
// pageNum.value = 0;
pullLoading.value = false;
}
let result = await getDeviceList(id,equipmentName.value)
......@@ -94,7 +94,8 @@ const onSearch = async (val) =>{
//扫码获取
const getCode = () => {
let enCode = scanCodeFun(store.state.appid,4) //获取到的设备自编码
let enCode = scanCodeFun(4) //获取到的设备自编码
//测试
// router.push({
// path: "/schoolProperty/device/info",
......
......@@ -41,7 +41,7 @@
/>
<van-field
v-if="name == '反馈' ? false : true"
readonly
:readonly="name == '查看' ? true : false"
v-model="fixForm.place"
name="地点"
label="地点"
......
......@@ -18,8 +18,8 @@
<div>报修人确认:{{item.repairState}}</div>
<div>备注:{{ item.remark }}</div>
<div class="state">
<div v-if="item.disposeState == 1" class="fixed">已完成</div>
<div v-if="item.disposeState == 0" class="unable">待维修</div>
<div v-if="item.disposeState == '1'" class="fixed">已完成</div>
<div v-if="item.disposeState == '0'" class="unable">待维修</div>
</div>
</div>
</van-list>
......
......@@ -2,7 +2,7 @@
<van-nav-bar title="报修单反馈" left-text="返回" left-arrow @click-left="goback"></van-nav-bar>
<!-- <div class="card">-->
<!-- <div class="title">报修台账新增</div>-->
<van-form class="formBlock" label-align="right" label-width="70px">
<van-form class="formBlock" label-align="right" label-width="75px">
<van-cell-group inset>
<van-field
readonly
......@@ -81,12 +81,12 @@
:rules="[{ required: true, message: '请填写修理时间' }]"
/>
<van-field
v-model="fixForm.repairStateName"
v-model="fixForm.disposeStateName"
readonly
label="修理状态"
/>
<van-field
v-model="fixForm.disposeStateName"
v-model="fixForm.repairStateName"
readonly
label="报修人确认"
/>
......@@ -161,14 +161,16 @@ onMounted(async () => {
if(repairResult.code == 200){
console.log('repairResult',repairResult)
Object.assign(fixForm,repairResult.data)
if(repairResult.repairState == '0'){
if(repairResult.data.repairState == '0'){
fixForm.repairStateName = '已维修'
}else{
}
if(repairResult.data.repairState == '1'){
fixForm.repairStateName = '已损坏'
}
if(repairResult.disposeState == '0'){
if(repairResult.data.disposeState == '0'){
fixForm.disposeStateName = '待处理'
}else{
}
if(repairResult.data.disposeState == '1'){
fixForm.disposeStateName = '已处理'
}
}
......
......@@ -48,6 +48,8 @@ import { useRouter } from "vue-router";
import {scanCodeFun} from "../../../utils/scanCode";
import {useStore} from "vuex";
import {onMounted,ref} from "vue";
import * as dd from 'dingtalk-jsapi';
const store = useStore();
const router = useRouter();
console.log('store',store.state.userInfo.roles)
......@@ -77,17 +79,7 @@ onMounted( () => {
})
//扫码获取
const getCode = () => {
let enCode = scanCodeFun(store.state.appid,0) //获取到的设备自编码
// alert(enCode)
// if(enCode){
// //测试
// router.push({
// path: "/schoolProperty/equipmentInfo",
// query: {
// encode:enCode
// }
// })
// }
let enCode = scanCodeFun(0) //获取到的设备自编码
}
const toPage = (type) => {
if(type == 0){
......
......@@ -6,8 +6,9 @@
</div>
<van-pull-refresh v-model="pullLoading" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="getList">
<div v-for="(item,index) in list" :key="index" class="listBlock" @click="toDetailPage(item.id,item.encode)">
<div class="flexBLock">
<div v-for="(item,index) in list" :key="index" @click="toDetailPage(item.id,item.encode)" >
<div v-if="item.returnState == 0" class="listBlock">
<div class="flexBLock" >
<div>
<div>型号:{{ item.model}}</div>
<div>自编码:{{ item.encode }}</div>
......@@ -24,7 +25,8 @@
</div>
<div>备注:已借用取回,暂不外借,设备换修。已借用取回,暂不外借,设备换修。</div>
<div v-if="item.returnState == 0" class="waitReturn">待归还</div>
<div v-if="item.returnState == 1" class="endReturn">已归还</div>
<!-- <div v-if="item.returnState == 1" class="endReturn">已归还</div>-->
</div>
</div>
</van-list>
</van-pull-refresh>
......@@ -59,7 +61,10 @@ const getList = async () => {
pageNum.value = 0;
pullLoading.value = false;
}
let result = await getEquipmentList(id)
const params = {
userId:id,
}
let result = await getEquipmentList(params)
console.log('result',result)
if(result.code == 200){
loading.value = false;
......@@ -77,7 +82,11 @@ const onSearch = async (val) =>{
list.value = [];
loading.value = true;
equipmentName.value = val
let searchResult = await getEquipmentList(id,equipmentName.value);
const params = {
userId:id,
equipmentName:equipmentName.value
}
let searchResult = await getEquipmentList(params);
console.log('searchResult',searchResult)
if(searchResult.code == 200){
loading.value = false;
......@@ -88,7 +97,9 @@ const onSearch = async (val) =>{
}
//扫码获取
const getCode = () => {
let enCode = scanCodeFun(store.state.appid,2) //获取到的设备自编码
// let enCode = scanCodeFun(store.state.appid,2) //获取到的设备自编码
let enCode = scanCodeFun(2) //获取到的设备自编码
// console.log(1)
//测试
// router.push({
......
......@@ -78,7 +78,8 @@ const onSearch = async (val) =>{
}
//扫码获取
const getCode = () => {
let enCode = scanCodeFun(store.state.appid,3) //获取到的设备自编码
let enCode = scanCodeFun(3) //获取到的设备自编码
// console.log(1)
//测试
// router.push({
......
[
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/icon/competition.png",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/index/home.jpg",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/index/hqbx.png",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/ttf/x.ttf",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/xxcjx.png",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/assets/zbb.png",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/router/config.js",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/store/other.js",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/utils/dict.js",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/utils/MyTools.js",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/views/tabbar/main/parent.vue",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/views/tabbar/main/teacher.vue",
"/Users/ths/WebstormProjects/二中/公众号/zhxy/src/views/teacher/laboratoryManagement/manager/applyTeacherApprove.vue"
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/icon/competition.png",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/index/home.jpg",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/index/hqbx.png",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/ttf/x.ttf",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/xxcjx.png",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/assets/zbb.png",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/router/config.js",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/store/other.js",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/utils/dict.js",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/utils/MyTools.js",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/views/tabbar/main/parent.vue",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/views/tabbar/main/teacher.vue",
"/Users/ths/WebstormProjects/二中钉钉/公众号-钉钉/dd_zhxy/src/views/teacher/laboratoryManagement/manager/applyTeacherApprove.vue"
]
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment