Commit 0d6babba by peijy

10.26 修改测试问题

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