diff --git a/src/api/apis/apis.js b/src/api/apis/apis.js
index d768ca8..922436b 100644
--- a/src/api/apis/apis.js
+++ b/src/api/apis/apis.js
@@ -1162,4 +1162,44 @@ export default {
data
});
},
+ //基站统计数据
+ pStationReport(data) {
+ return service({
+ url: setUpUrls.pStationReport,
+ method: "POST",
+ data
+ });
+ },
+ //答题器统计数据
+ pKeyboardReport(data) {
+ return service({
+ url: setUpUrls.pKeyboardReport,
+ method: "POST",
+ data
+ });
+ },
+ //查询设备列表
+ pDeviceList(data) {
+ return service({
+ url: setUpUrls.pDeviceList,
+ method: "POST",
+ data
+ });
+ },
+ //查询设备详情
+ pDeviceDetail(data) {
+ return service({
+ url: setUpUrls.pDeviceDetail,
+ method: "POST",
+ data
+ });
+ },
+ //查询设备日志列表
+ pDeviceLogList(data) {
+ return service({
+ url: setUpUrls.pDeviceLogList,
+ method: "POST",
+ data
+ });
+ },
};
diff --git a/src/api/urls/apis.js b/src/api/urls/apis.js
index fe30a69..e813a90 100644
--- a/src/api/urls/apis.js
+++ b/src/api/urls/apis.js
@@ -296,6 +296,18 @@ export default {
versionPage:"/api_html/system/versionPage",
// 新增授课端版本
addVersion:"/api_html/system/addVersion",
+ // 基站统计数据
+ pStationReport:"/api_html/system/stationReport",
+ // 答题器统计数据
+ pKeyboardReport:"/api_html/system/keyboardReport",
+ // 查询设备列表
+ pDeviceList:"/api_html/system/deviceList",
+ // 查询设备详情
+ pDeviceDetail:"/api_html/system/deviceDetail",
+ // 查询设备日志列表
+ pDeviceLogList:"/api_html/system/deviceLogList",
// 文件上传
uploadApp:"/file/uploadApp",
+ // 文件上传
+ uploadImg:"/file/uploadImg",
}
diff --git a/src/router/permission.js b/src/router/permission.js
index 271a6af..a3d6618 100644
--- a/src/router/permission.js
+++ b/src/router/permission.js
@@ -18,28 +18,7 @@ router.beforeEach((to, from, next) => {
return item.roleName == userInfo.showRoleName;
});
console.log([...authorityRouterObj[0]?.authorityRouter])
- // store.commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
-
- //start 开发用,测试删除
- store.commit("setRouters", [
- "setUpStudent",
- "examinationPaper",
- "examinationPaperAdd",
- "examinationPaperEdit",
- "examinationPaperRecycle",
- "ask",
- "askAnalysis",
- "test",
- "testAnalysis",
- "portrait",
- "dataSync",
- "down",
- "account",
- "device",
- "clientVersion"
- ]);
- //end
-
+ store.commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
store.commit("setInfo", { ...userInfo });
store.getters.addRouters.forEach((res) => {
router.addRoute(res);
diff --git a/src/store/index.js b/src/store/index.js
index 6b2cb19..7bef70d 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -81,34 +81,11 @@ const store = new Vuex.Store({
if (userInfo.permissions && userInfo.permissions.length) {
userInfo.showRoleName = response.data.permissions[0]?.roleName;
userInfo.showRole = response.data.permissions[0]?.role;
- // 开发用,测试删除
- // userInfo.showRole = "ROLE_PERSONAL";
commit("setToken", "isLogin");
commit("setInfo", { ...userInfo });
commit("setRouters", [
...userInfo.permissions[0]?.authorityRouter,
]);
- //start 开发用,测试删除
- // commit("setRouters", [
- // "setUpStudent",
- // "examinationPaper",
- // "examinationPaperAdd",
- // "examinationPaperEdit",
- // "examinationPaperRecycle",
- // "ask",
- // "askAnalysis",
- // "test",
- // "testAnalysis",
- // "portrait",
- // "dataSync",
- // "down",
-
- // "account",
- // "device",
- // "clientVersion"
- // ]);
- //end
-
state.addRouters.forEach((res) => {
router.addRoute(res);
});
diff --git a/src/views/admin/account/index.vue b/src/views/admin/account/index.vue
index 95d52d2..d954441 100644
--- a/src/views/admin/account/index.vue
+++ b/src/views/admin/account/index.vue
@@ -129,7 +129,7 @@
{{
`${scoped.row.available == 0 ? "禁用" : "启用"}`
}}
- 删除
+
@@ -165,7 +165,7 @@
-
+
{
if (valid) {
let params = { ...this.formAddCount };
- const { data, status, info } = await this.$request.addUser({
+ const { data, status, info } = await this.$request.addTenant({
...params,
});
if (status === 0) {
@@ -377,7 +377,11 @@ export default {
},
setCount(obj) {
//修改账号
- this.formCount = { ...obj };
+ this.formCount.userId = obj.id;
+ this.formCount.loginName = obj.loginName;
+ this.formCount.tenantName = obj.tenantName;
+ this.formCount.contactPerson = obj.realName;
+ this.formCount.contactPhone = obj.phone;
this.diaCount = true;
},
handleDropdownClick(value, item) {
@@ -405,8 +409,8 @@ export default {
this.$refs.formCount.validate(async (valid) => {
if (valid) {
let params = { ...this.formCount };
- params.password = encryptLoginPassword(params.password);
- const { data, status, info } = await this.$request.tenantUpdateUser({
+ // params.password = encryptLoginPassword(params.password);
+ const { data, status, info } = await this.$request.updateTenant({
type: 3,
...params,
});
@@ -429,7 +433,7 @@ export default {
if (type == 1) {
query.available = obj.available == 0 ? 1 : 0;
}
- const { data, status, info } = await this.$request.tenantUpdateUser({
+ const { data, status, info } = await this.$request.updateTenant({
userId: obj.id,
type: type,
...query,
@@ -444,7 +448,7 @@ export default {
async _QueryData() {
let query = { ...this.query };
if (query.loginName) {
- delete query.type;
+ delete query.versionType;
delete query.available;
}
this.loading = true;
diff --git a/src/views/admin/clientVersion/index.vue b/src/views/admin/clientVersion/index.vue
index a722087..3443838 100644
--- a/src/views/admin/clientVersion/index.vue
+++ b/src/views/admin/clientVersion/index.vue
@@ -150,11 +150,7 @@ export default {
url: "/file/uploadApp",
loading: false,
diaAdd: false,
- tableData: [
- {
- schoolName: "111",
- },
- ],
+ tableData: [],
formAdd: {
versionName: "",
versionNumber: "",
@@ -186,7 +182,7 @@ export default {
};
},
created() {
- // this._QueryData();
+ this._QueryData();
},
methods: {
openAddDia() {
diff --git a/src/views/admin/device/index.vue b/src/views/admin/device/index.vue
index ceb95ab..5762de9 100644
--- a/src/views/admin/device/index.vue
+++ b/src/views/admin/device/index.vue
@@ -20,29 +20,24 @@
基站数量
@@ -130,6 +129,11 @@ export default {
2000,
{ leading: true, trailing: false }
),
+ linkToUserInfo() {
+ this.$router.push({
+ path:'/userInfo'
+ })
+ },
collapse() {
this.isCollapse = !this.isCollapse;
this.$store.dispatch("collapse");
diff --git a/src/views/personal/examinationPaper/add.vue b/src/views/personal/examinationPaper/add.vue
index 3cacce6..e650686 100644
--- a/src/views/personal/examinationPaper/add.vue
+++ b/src/views/personal/examinationPaper/add.vue
@@ -865,7 +865,7 @@
-
+
@@ -929,7 +929,7 @@ export default {
stem: {
src: "", //题干图片地址
type: 0, //题目难度
- tag: 0, //知识点
+ tag: [], //知识点
},
type: 1, //1-创建,2-复制答题卡
dialogVisible: false, //测验类型设置弹窗
diff --git a/src/views/personal/examinationPaper/edit.vue b/src/views/personal/examinationPaper/edit.vue
index d7a48b6..deaafce 100644
--- a/src/views/personal/examinationPaper/edit.vue
+++ b/src/views/personal/examinationPaper/edit.vue
@@ -144,7 +144,7 @@
circle
size="small"
icon="el-icon-tickets"
- @click="openStem(subQuestions,1)"
+ @click="openStem(subQuestions, 1)"
>
@@ -153,7 +153,7 @@
circle
size="small"
icon="el-icon-price-tag"
- @click="openTag(subQuestions)"
+ @click="openTag(subQuestions)"
>
@@ -270,6 +270,35 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -336,7 +365,7 @@
>,
-
+
取 消
-
+
- {{stem.src?"重新上传":"选择照片"}}
+ {{
+ stem.src ? "重新上传" : "选择照片"
+ }}
@@ -383,29 +418,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
取 消
- 确 定
+ 确 定
@@ -419,11 +452,11 @@ export default {
return {
dialogStem: false,
dialogTag: false,
- upLoadType:1,
+ upLoadType: 1,
stem: {
src: "", //题干图片地址
type: 0, //题目难度
- tag: 0, //知识点
+ tag: [], //知识点
},
title: "",
type: 1,
@@ -475,8 +508,8 @@ export default {
this._QueryDetail();
},
methods: {
- openStem(obj,type) {
- this.upLoadType = type
+ openStem(obj, type) {
+ this.upLoadType = type;
this.stem = { ...this.stem, obj };
this.dialogStem = true;
},
@@ -1081,7 +1114,7 @@ export default {
}
}
}
-.upload-demo{
+.upload-demo {
text-align: center;
}
.stem-pic {
diff --git a/src/views/personal/setUp/student.vue b/src/views/personal/setUp/student.vue
index d886bb7..a334fcd 100644
--- a/src/views/personal/setUp/student.vue
+++ b/src/views/personal/setUp/student.vue
@@ -83,7 +83,6 @@
-
-
-
+
+ {{
+ showAll ? "收起" : "更多..."
+ }}
+
+ {{ item }}
+
+
+
+
-
+
+
@@ -192,15 +208,16 @@ import { downloadFile, getBlob } from "@/utils";
export default {
data() {
return {
- diaUp: false,
- url: "/api_html/school/manager/importStudentClicker",
- diaStu: false,
- diaClass: false,
loading: false,
+ diaUp: false,//导入弹窗
+ url: "/api_html/school/manager/importStudentClicker",
+ diaStu: false,//添加学生
+ diaClass: false,//添加-修改班级
+ showAll: false, //修改年级科目显示
query: {
classId: "",
},
- formStu: {
+ formStu: {//添加学生信息
className: "",
studentName: "",
studentCode: "",
@@ -216,29 +233,32 @@ export default {
{ required: true, message: "请输入学生长学号", trigger: "blur" },
],
},
- formClass: {
+ formClass: {//添加班级信息
classId: "",
className: "",
- intoSchoolYear: "",
+ subjectNames: [],
},
rulesClass: {
className: [
{ required: true, message: "请输入班级名称", trigger: "blur" },
],
},
- classList: [],
- studentList: [],
+ classList: [],//班级列表
+ studentList: [],//学生列表
+ subjectList: [],//科目列表
+ subjectName: "",//添加科目名称
};
},
async created() {
// await this._QueryClass();
+ // this._QuerySubject();
// this._QueryData();
},
methods: {
addClass() {
this.formClass.classId = "";
this.formClass.className = "";
- this.formClass.intoSchoolYear = "";
+ this.formClass.subjectNames = [];
this.diaClass = true;
},
openAddDia() {
@@ -257,16 +277,28 @@ export default {
setClass(obj) {
this.formClass.classId = obj.id;
this.formClass.className = obj.className;
- this.formClass.intoSchoolYear = obj.intoSchoolYear + "";
+ this.formClass.subjectNames = obj.subjectNames;
this.diaClass = true;
},
+ addSubjectName() {
+ if (!this.subjectName) {
+ this.$message.warning("请填写科目名称");
+ return;
+ } else if (this.subjectList.includes(this.subjectName)) {
+ this.$message.warning("科目已存在,请重新填写~");
+ return;
+ }
+ this.subjectList.push(this.subjectName);
+ this.formClass.subjectNames.push(this.subjectName);
+ this.subjectName = "";
+ },
saveClass() {
this.$refs.formClass.validate(async (valid) => {
if (valid) {
const { data, status, info } = await this.$request.updateClass({
classId: this.formClass.classId,
className: this.formClass.className,
- intoSchoolYear: this.formClass.intoSchoolYear,
+ subjectNames: this.formClass.subjectNames,
});
if (status === 0) {
this.$message.success("修改成功");
@@ -315,6 +347,14 @@ export default {
this.diaUp = false;
this._QueryData();
},
+ async _QuerySubject() {
+ const { data, status, info } = await this.$request.pSubjectList();
+ if (status === 0) {
+ this.subjectList = [...data.subjectNames] || [];
+ } else {
+ this.$message.error(info);
+ }
+ },
async downExcel() {
this.loadingDown = true;
let { data, info, status } =
@@ -523,4 +563,34 @@ export default {
}
}
}
+.form-box {
+ .subject-box {
+ padding-right:50px;
+ max-height: 90px;
+ overflow: hidden;
+ position: relative;
+ &.active {
+ max-height: auto;
+ overflow: auto;
+ }
+ .showAll {
+ position: absolute;
+ bottom: 0;
+ right: 10px;
+ font-size: 12px;
+ color: #7f7f7f;
+ cursor: pointer;
+ padding: 2px;
+ &:hover {
+ color: #667ffd;
+ }
+ }
+ }
+ .el-icon-plus {
+ cursor: pointer;
+ &:hover {
+ color: #667ffd;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/views/standard/setUp/school.vue b/src/views/standard/setUp/school.vue
index 55a6e11..ed9dd8c 100644
--- a/src/views/standard/setUp/school.vue
+++ b/src/views/standard/setUp/school.vue
@@ -230,7 +230,7 @@ export default {
},
data() {
return {
- code: "",
+ code: "",//长水跳转标志
loading: false,
url: "xxx",
diaUp: false,
@@ -246,7 +246,7 @@ export default {
tenantName: "",
},
tableData: [],
- formSchool: {
+ formSchool: {//修改学校
sections: "",
managePwd: "",
contactPerson: "",
@@ -264,7 +264,7 @@ export default {
},
],
},
- formGrade: {
+ formGrade: {//修改年级
gradeName: "",
subjectNames: [],
classList: [],
@@ -297,14 +297,14 @@ export default {
this._QueryDataSchool();
this._QueryDataGrade();
},
- setGrade(obj) {
+ setGrade(obj) {//打开年级设置
this.formGrade.subjectNames = obj.subjectNames;
this.formGrade.classList = obj.classList;
this.formGrade.gradeName = obj.gradeName;
this.showAll = false;
this.diaGrade = true;
},
- addSubjectName() {
+ addSubjectName() {//添加科目
if (!this.subjectName) {
this.$message.warning("请填写科目名称");
return;
@@ -316,7 +316,7 @@ export default {
this.formGrade.subjectNames.push(this.subjectName);
this.subjectName = "";
},
- editSchool() {
+ editSchool() {//保存修改学校信息
if (!this.formSchool.sections.length) {
this.$message.error("请选择学段!");
return;
@@ -349,7 +349,7 @@ export default {
}
});
},
- async editGrade() {
+ async editGrade() {//保存修改年级信息
if (!this.formGrade.subjectNames.length) {
this.$message.error("请选择科目!");
return;
@@ -371,7 +371,7 @@ export default {
this.$message.error(info);
}
},
- async _QueryDataSchool() {
+ async _QueryDataSchool() {//学校详情
this.loading = true;
const { data, status, info } = await this.$request.schoolDetail();
this.loading = false;
diff --git a/src/views/standard/test/analysis.vue b/src/views/standard/test/analysis.vue
index 6841f4d..8706f6d 100644
--- a/src/views/standard/test/analysis.vue
+++ b/src/views/standard/test/analysis.vue
@@ -513,19 +513,6 @@ export default {
this.page = page;
this.examQuestionReport();
},
- async downExcel() {
- let data = await this.$request.subjectiveScoreTemplate({
- examId: this.id,
- });
- if (data && !data.code) {
- let blob = new Blob([data], {
- type: "application/vnd.ms-excel;charset=utf-8",
- });
- downloadFile(`主观题模版.xlsx`, blob);
- } else {
- this.$message.error(data.info);
- }
- },
async _QueryData() {
this.examDetail();
this.examStudentReport();
@@ -679,6 +666,19 @@ export default {
this.$message.error("下载失败");
}
},
+ async downExcel() {
+ let data = await this.$request.subjectiveScoreTemplate({
+ examId: this.id,
+ });
+ if (data && !data.code) {
+ let blob = new Blob([data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ downloadFile(`主观题模版.xlsx`, blob);
+ } else {
+ this.$message.error(data.info);
+ }
+ },
},
};
diff --git a/src/views/standard/test/editAnswer.vue b/src/views/standard/test/editAnswer.vue
index 761008d..5eb7059 100644
--- a/src/views/standard/test/editAnswer.vue
+++ b/src/views/standard/test/editAnswer.vue
@@ -285,7 +285,7 @@
>,
-
+
{
if (subIdx >= startIndex) {
diff --git a/src/views/standard/test/index.vue b/src/views/standard/test/index.vue
index 9fc5668..b91b5b5 100644
--- a/src/views/standard/test/index.vue
+++ b/src/views/standard/test/index.vue
@@ -530,7 +530,7 @@ export default {
});
},
methods: {
- changeSub(val) {
+ changeSub(val) {//科目改变触发事件
let sub;
if (val && val.length) {
let leng = val.length - 1;
@@ -552,14 +552,14 @@ export default {
},
});
},
- uploadSJ(obj) {
+ uploadSJ(obj) {//导入开关
this.examId = obj.id;
this.diaUp = true;
},
cancel() {
this.dialogVisible = false;
},
- saveSuccess() {
+ saveSuccess() {//修改答案回调
this.dialogVisible = false;
this._QueryData();
},
@@ -657,21 +657,6 @@ export default {
this.page = 1;
this._QueryData();
},
- async downExcel() {
- this.loadingDown = true;
- let data = await this.$request.subjectiveScoreTemplate({
- examId: this.examId,
- });
- this.loadingDown = false;
- if (data && !data.code) {
- let blob = new Blob([data], {
- type: "application/vnd.ms-excel;charset=utf-8",
- });
- downloadFile(`主观题模版.xlsx`, blob);
- } else {
- this.$message.error(data.info);
- }
- },
async changClazz() {
this.page = 1;
await this._QuerySubjectList();
@@ -863,7 +848,7 @@ export default {
this.$message.error(info);
}
},
- async downExl() {
+ async downExl() {//报表到处
if (this.exportLoading == true) return;
let query = {};
for (let key in this.query) {
@@ -907,6 +892,21 @@ export default {
this.$message.error("下载失败");
}
},
+ async downExcel() {//模板下载
+ this.loadingDown = true;
+ let data = await this.$request.subjectiveScoreTemplate({
+ examId: this.examId,
+ });
+ this.loadingDown = false;
+ if (data && !data.code) {
+ let blob = new Blob([data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ downloadFile(`主观题模版.xlsx`, blob);
+ } else {
+ this.$message.error(data.info);
+ }
+ },
},
};
diff --git a/vue.config.js b/vue.config.js
index 52d4610..79f0fbf 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -22,7 +22,8 @@ module.exports = {
},
proxy: {
"/": {
- target:"http://47.104.214.8",
+ // target:"http://47.104.214.8",
+ target:"http://121.40.127.171",
changeOrigin: true,
ws:true,
},