Commit 60af7f88 by zhaopanyu

zpy 11.8

parent c2538ae7
import request from "@/utils/request";
// 新增学校获奖
export function addawards(data) {
return request({
url: "school/awards/add",
method: "post",
data: data,
});
}
// 编辑学校获奖
export function updateAwards(data) {
return request({
url: "/school/awards/edit",
method: "put",
data: data,
});
}
// 查看学校获奖列表
export function listAwards(query) {
return request({
url: "/school/awards/list",
method: "get",
params: query,
});
}
//查看详情
export function getAwards(id) {
return request({
url: "/school/awards/" + id,
method: "get",
});
}
// 删除学校获奖信息
export function delAwards(ids) {
return request({
url: "/school/awards/" + ids,
method: "delete",
});
}
//提交
export function subApply(data) {
return request({
url: "/school/awards/submit",
method: "put",
data,
});
}
// 组织机构下拉框
export function getdeptTree() {
return request({
url: "/system/user/deptTree",
method: "get",
});
}
//获取部门主任
export function getDeptLeader(form) {
return request({
url: "/school/teacherLeave/getDeptLeader/" + form.competentDeptId,
method: "get",
params: form, // 这里使用 params 传递参数
});
}
// 新增学校获奖(个人)
export function addawardsgr(data) {
return request({
url: "/school/awards/addGr",
method: "post",
data: data,
});
}
// 查看学校获奖列表(个人)
export function listAwardsgr(query) {
return request({
url: "/school/awards/listGr",
method: "get",
params: query,
});
}
// 查看学校获奖列表(查看已通过)
export function listAwardstg(query) {
return request({
url: "/school/awards/listTg",
method: "get",
params: query,
});
}
import request from "@/utils/request";
// 查看学生违纪列表(管理员)
export function listDiscipline(query) {
return request({
url: "/school/discipline/list",
method: "get",
params: query,
});
}
//查看学生违纪列表(个人)
export function listDisciplinegr(query) {
return request({
url: "/school/discipline/listGr",
method: "get",
params: query,
});
}
//查看详情
export function getDiscipline(id) {
return request({
url: "/school/discipline/" + id,
method: "get",
});
}
// 新增学生违纪(管理员)
export function addDiscipline(data) {
return request({
url: "/school/discipline/add",
method: "post",
data: data,
});
}
// 新增学生违纪(个人)
export function addDisciplinegr(data) {
return request({
url: "/school/discipline/addGr",
method: "post",
data: data,
});
}
// 编辑学生违纪
export function updateDiscipline(data) {
return request({
url: "/school/discipline/edit",
method: "put",
data: data,
});
}
// 删除学生违纪
export function delDiscipline(ids) {
return request({
url: "/school/discipline/" + ids,
method: "delete",
});
}
//提交
export function subApply(data) {
return request({
url: "/school/discipline/submit",
method: "put",
data,
});
}
// 获取最新三个年级
export function getGrade() {
return request({
url: "/school/discipline/getGrade",
method: "get",
});
}
// 根据年级获取班级
export function getClassList(query) {
return request({
url: "/school/discipline/getClassList",
method: "get",
params: query,
});
}
// 查看学生违纪(查看已通过)
export function listDisciplinetg(query) {
return request({
url: "/school/discipline/listTg",
method: "get",
params: query,
});
}
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699256425910" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23045" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M859.7 778.7l-95.6-165.5c44-56 67.9-124.7 67.9-197.1 0-85.5-33.3-165.8-93.7-226.3C677.8 129.3 597.5 96 512 96c-85.5 0-165.8 33.3-226.3 93.7C225.3 250.2 192 330.5 192 416c0 79.1 28.5 153.8 80.7 212.4L186 778.7c-10.9 18.9-9.4 42.3 3.9 59.6 13.3 17.3 35.5 24.8 56.5 19.2l56.9-15.2 15.2 56.8c5.6 21.1 23.3 36.5 44.9 39.4 2.4 0.3 4.7 0.5 7.1 0.5 19 0 36.7-10.1 46.5-26.9l101.7-176.1c2.8-0.1 5.6-0.1 8.4-0.3L628.8 912c9.7 16.8 27.4 26.9 46.4 26.9 2.3 0 4.7-0.2 7.1-0.5 21.6-2.8 39.2-18.3 44.9-39.4l15.2-56.9 56.8 15.2c21.1 5.6 43.3-1.9 56.5-19.2S870.6 797.5 859.7 778.7zM331 235c48.4-48.4 112.6-75 181-75 68.4 0 132.7 26.6 181 75 48.4 48.4 75 112.6 75 181 0 56.4-18.2 110.1-51.7 154.3l-15.4 17c-41.5 45.8-98.6 74.9-160.7 81.8l-22.6 2.5-15.7-0.6c-62.9-2.5-122.3-27.6-167.1-70.7l-11.1-10.7C280 542.1 256 480.9 256 416 256 347.6 282.6 283.3 331 235zM373.9 858.5l-13.8-51.4c-3.1-11.6-10.5-21.2-20.9-27.2-6.9-4-14.6-6-22.3-6-3.9 0-7.8 0.5-11.7 1.5l-51.4 13.8L321 672.8c37.9 28.3 81.2 47.6 127.3 56.9L373.9 858.5zM740.4 775.4c-23.8-6.4-48.5 7.8-54.9 31.7l-13.8 51.5-77-133.3c45-12 86.9-33.7 123-64.2l74 128.2L740.4 775.4z" p-id="23046" fill="#7fdfef"></path><path d="M512 560c79.4 0 144-64.6 144-144s-64.6-144-144-144c-79.4 0-144 64.6-144 144S432.6 560 512 560zM512 336c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80S467.9 336 512 336z" p-id="23047" fill="#7fdfef"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699256425910" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23045" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M859.7 778.7l-95.6-165.5c44-56 67.9-124.7 67.9-197.1 0-85.5-33.3-165.8-93.7-226.3C677.8 129.3 597.5 96 512 96c-85.5 0-165.8 33.3-226.3 93.7C225.3 250.2 192 330.5 192 416c0 79.1 28.5 153.8 80.7 212.4L186 778.7c-10.9 18.9-9.4 42.3 3.9 59.6 13.3 17.3 35.5 24.8 56.5 19.2l56.9-15.2 15.2 56.8c5.6 21.1 23.3 36.5 44.9 39.4 2.4 0.3 4.7 0.5 7.1 0.5 19 0 36.7-10.1 46.5-26.9l101.7-176.1c2.8-0.1 5.6-0.1 8.4-0.3L628.8 912c9.7 16.8 27.4 26.9 46.4 26.9 2.3 0 4.7-0.2 7.1-0.5 21.6-2.8 39.2-18.3 44.9-39.4l15.2-56.9 56.8 15.2c21.1 5.6 43.3-1.9 56.5-19.2S870.6 797.5 859.7 778.7zM331 235c48.4-48.4 112.6-75 181-75 68.4 0 132.7 26.6 181 75 48.4 48.4 75 112.6 75 181 0 56.4-18.2 110.1-51.7 154.3l-15.4 17c-41.5 45.8-98.6 74.9-160.7 81.8l-22.6 2.5-15.7-0.6c-62.9-2.5-122.3-27.6-167.1-70.7l-11.1-10.7C280 542.1 256 480.9 256 416 256 347.6 282.6 283.3 331 235zM373.9 858.5l-13.8-51.4c-3.1-11.6-10.5-21.2-20.9-27.2-6.9-4-14.6-6-22.3-6-3.9 0-7.8 0.5-11.7 1.5l-51.4 13.8L321 672.8c37.9 28.3 81.2 47.6 127.3 56.9L373.9 858.5zM740.4 775.4c-23.8-6.4-48.5 7.8-54.9 31.7l-13.8 51.5-77-133.3c45-12 86.9-33.7 123-64.2l74 128.2L740.4 775.4z" p-id="23046" fill="#7fdfef"></path><path d="M512 560c79.4 0 144-64.6 144-144s-64.6-144-144-144c-79.4 0-144 64.6-144 144S432.6 560 512 560zM512 336c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80S467.9 336 512 336z" p-id="23047" fill="#7fdfef"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255445849" class="icon" viewBox="0 0 1185 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11276" xmlns:xlink="http://www.w3.org/1999/xlink" width="231.4453125" height="200"><path d="M564.951579 988.698947a285.345684 285.345684 0 1 1 285.345684-285.345684A286.369684 286.369684 0 0 1 564.951579 988.698947z m0-507.957894a222.612211 222.612211 0 1 0 222.61221 222.61221 223.474526 223.474526 0 0 0-222.61221-222.61221z" fill="#40c6e6" p-id="11277"></path><path d="M655.872 490.145684h-241.448421L232.582737 110.753684h241.448421z m-197.551158-62.706526h100.325053l-122.287158-253.978947h-100.298105z" fill="#40c6e6" p-id="11278"></path><path d="M687.211789 490.145684h-191.326315a31.366737 31.366737 0 1 1 0-62.706526h150.501052l122.287158-253.978947h-100.271158l-81.515789 172.463157a30.881684 30.881684 0 0 1-56.42779-25.088l100.325053-206.955789h241.448421z" fill="#40c6e6" p-id="11279"></path><path d="M564.951579 838.224842a137.970526 137.970526 0 1 1 137.970526-137.970526 135.248842 135.248842 0 0 1-137.970526 137.970526z m0-213.207579a75.264 75.264 0 1 0 75.264 75.264 76.288 76.288 0 0 0-75.264-75.290947z" fill="#40c6e6" p-id="11280"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255445849" class="icon" viewBox="0 0 1185 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11276" xmlns:xlink="http://www.w3.org/1999/xlink" width="231.4453125" height="200"><path d="M564.951579 988.698947a285.345684 285.345684 0 1 1 285.345684-285.345684A286.369684 286.369684 0 0 1 564.951579 988.698947z m0-507.957894a222.612211 222.612211 0 1 0 222.61221 222.61221 223.474526 223.474526 0 0 0-222.61221-222.61221z" fill="#40c6e6" p-id="11277"></path><path d="M655.872 490.145684h-241.448421L232.582737 110.753684h241.448421z m-197.551158-62.706526h100.325053l-122.287158-253.978947h-100.298105z" fill="#40c6e6" p-id="11278"></path><path d="M687.211789 490.145684h-191.326315a31.366737 31.366737 0 1 1 0-62.706526h150.501052l122.287158-253.978947h-100.271158l-81.515789 172.463157a30.881684 30.881684 0 0 1-56.42779-25.088l100.325053-206.955789h241.448421z" fill="#40c6e6" p-id="11279"></path><path d="M564.951579 838.224842a137.970526 137.970526 0 1 1 137.970526-137.970526 135.248842 135.248842 0 0 1-137.970526 137.970526z m0-213.207579a75.264 75.264 0 1 0 75.264 75.264 76.288 76.288 0 0 0-75.264-75.290947z" fill="#40c6e6" p-id="11280"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255601470" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16030" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M265.41 142.94l-97.22-2.55v121.24c0 91.11 77.61 98.35 101.64 98.37l-4.09-217.07z" fill="#40c6e6" p-id="16031"></path><path d="M455 630.73c-19.34-14.82-45.93-23-74.87-23a14.49 14.49 0 0 0-14.7 14.27 14.25 14.25 0 0 0 9.63 13.33 15.16 15.16 0 0 0 5.12 0.9c25.06 0 83.34 7.85 83.34 80.57v182.86l-188.14-4.94-5-0.13a14.24 14.24 0 1 0-0.8 28.44l208.3 5.47h0.4a15 15 0 0 0 10.28-4 14 14 0 0 0 4.46-10.2V716.77C493 669.69 472.36 644 455 630.73z" fill="#40c6e6" p-id="16032"></path><path d="M478.26 930.5h-0.46L269.51 925a16.85 16.85 0 0 1-11.89-5.25 15.88 15.88 0 0 1 0.85-22.79 16.89 16.89 0 0 1 11.95-4.41l191.09 5V716.77c0-70.91-56.88-78.57-81.34-78.57a17.15 17.15 0 0 1-5.8-1 16.32 16.32 0 0 1-11-15.21 16.51 16.51 0 0 1 16.75-16.23c29.37 0 56.39 8.31 76.08 23.39 17.74 13.53 38.8 39.73 38.8 87.62v197.5a16.07 16.07 0 0 1-5.09 11.65 17 17 0 0 1-11.65 4.58z m-208.34-33.92a12.88 12.88 0 0 0-8.75 3.37 11.88 11.88 0 0 0-0.65 17.08 12.87 12.87 0 0 0 9.09 4l208.65 5.47a13 13 0 0 0 8.92-3.49 12.06 12.06 0 0 0 3.83-8.74v-197.5c0-46.26-20.22-71.46-37.18-84.46-19-14.55-45.15-22.57-73.65-22.57A12.51 12.51 0 0 0 367.43 622a12.31 12.31 0 0 0 8.3 11.45 13.17 13.17 0 0 0 4.45 0.78c25.66 0 85.34 8 85.34 82.57v184.91l-195.2-5.12z" fill="#40c6e6" p-id="16033"></path><path d="M745 331.49q0 14.35-1.32 28.34c29.2-1.53 94.94-14.33 94.94-98.19V140.39L745 142.85z" fill="#40c6e6" p-id="16034"></path><path d="M851.12 128a7.56 7.56 0 0 0-5.34-2L745 128.61V98.15H270v31.94a7.51 7.51 0 0 0-4.15-1.37L161 126a7.54 7.54 0 0 0-5.34 2 7 7 0 0 0-2.23 5.1v128.53c0 39.27 13.06 69.18 38.83 88.92 19.94 15.27 47.53 23.68 77.69 23.68a7.57 7.57 0 0 0 2.94-0.59c18 128.3 116.58 227.18 234.57 227.18 117.84 0 216.33-98.63 234.5-226.68 28.15-0.9 53.75-9.19 72.55-23.59 25.77-19.74 38.83-49.65 38.83-88.92V133.08a7 7 0 0 0-2.22-5.08zM838.6 261.63c0 83.85-65.74 96.66-94.94 98.19q1.3-14 1.32-28.34V142.85l93.62-2.46zM593.11 566.84a195.49 195.49 0 0 1-171.27 0c-26.47-12.75-50.32-31-70.88-54.36a260.23 260.23 0 0 1-48.39-81.26 283.28 283.28 0 0 1-17.86-99.74v-219.1h445.53v219.11a283.28 283.28 0 0 1-17.86 99.74A260.22 260.22 0 0 1 664 512.49c-20.58 23.31-44.42 41.6-70.89 54.35zM270 360h-0.13c-24 0-101.64-7.26-101.64-98.37V140.39l97.22 2.55h0.33a7.62 7.62 0 0 0 4.22-1.38v189.93q0 14.51 1.35 28.64A7.66 7.66 0 0 0 270 360z" fill="#40c6e6" p-id="16035"></path><path d="M725.94 900h-4.41l-169.46 0.49V717.31c0-72.72 58.28-80.57 83.34-80.57a15.23 15.23 0 0 0 4.23-0.6 14.31 14.31 0 0 0 10.52-13.63 14.49 14.49 0 0 0-14.75-14.23c-28.93 0-55.52 8.16-74.87 23-17.32 13.27-38 39-38 86v197.5a14 14 0 0 0 4.33 10.08 15 15 0 0 0 10.45 4.14l188.68-0.5a14.24 14.24 0 1 0 0-28.46z" fill="#40c6e6" p-id="16036"></path><path d="M537.37 931a17 17 0 0 1-11.85-4.71 16.09 16.09 0 0 1-4.95-11.52V717.31c0-47.9 21.07-74.09 38.75-87.63C579 614.6 606 606.29 635.41 606.29a16.17 16.17 0 0 1 4.78 31.78 17.28 17.28 0 0 1-4.78 0.68c-24.46 0-81.34 7.66-81.34 78.57v181.22l171.87-0.54c9.21 0 16.72 7.26 16.75 16.18a15.87 15.87 0 0 1-4.9 11.51A16.91 16.91 0 0 1 726 930.5z m98-320.76c-28.5 0-54.65 8-73.65 22.57-17 13-37.18 38.19-37.18 84.46v197.5a11.9 11.9 0 0 0 3.72 8.63 12.94 12.94 0 0 0 9 3.59L726 926.5a12.93 12.93 0 0 0 9-3.63 11.9 11.9 0 0 0 3.68-8.63A12.52 12.52 0 0 0 725.94 902h-4.41l-171.46 0.49V717.31c0-74.52 59.68-82.57 85.34-82.57a13.27 13.27 0 0 0 3.67-0.52 12.38 12.38 0 0 0 9.07-11.71 12.51 12.51 0 0 0-12.74-12.22z" fill="#40c6e6" p-id="16037"></path><path d="M712.38 431.23a283.28 283.28 0 0 0 17.86-99.74V112.38H284.71v219.11a283.28 283.28 0 0 0 17.86 99.74A260.23 260.23 0 0 0 351 512.49c20.56 23.32 44.41 41.6 70.88 54.36a195.49 195.49 0 0 0 171.27 0c26.47-12.75 50.32-31 70.88-54.36a260.22 260.22 0 0 0 48.35-81.26z m-95.43 24.31c-21.75 32.4-59.3 51.75-100.44 51.75s-78.7-19.35-100.45-51.76a13.93 13.93 0 0 1 4.36-19.68 15.08 15.08 0 0 1 20.39 4.21c16.29 24.27 44.59 38.77 75.69 38.77s59.4-14.49 75.69-38.76a15.07 15.07 0 0 1 20.39-4.21 13.93 13.93 0 0 1 4.37 19.68z" fill="#40c6e6" p-id="16038"></path><path d="M612.59 435.86a15.07 15.07 0 0 0-20.39 4.21c-16.29 24.27-44.59 38.76-75.69 38.76s-59.4-14.49-75.69-38.77a15.08 15.08 0 0 0-20.39-4.21 13.93 13.93 0 0 0-4.36 19.68c21.75 32.41 59.3 51.76 100.45 51.76s78.69-19.34 100.44-51.75a13.93 13.93 0 0 0-4.37-19.68z" fill="#40c6e6" p-id="16039"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255601470" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16030" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M265.41 142.94l-97.22-2.55v121.24c0 91.11 77.61 98.35 101.64 98.37l-4.09-217.07z" fill="#40c6e6" p-id="16031"></path><path d="M455 630.73c-19.34-14.82-45.93-23-74.87-23a14.49 14.49 0 0 0-14.7 14.27 14.25 14.25 0 0 0 9.63 13.33 15.16 15.16 0 0 0 5.12 0.9c25.06 0 83.34 7.85 83.34 80.57v182.86l-188.14-4.94-5-0.13a14.24 14.24 0 1 0-0.8 28.44l208.3 5.47h0.4a15 15 0 0 0 10.28-4 14 14 0 0 0 4.46-10.2V716.77C493 669.69 472.36 644 455 630.73z" fill="#40c6e6" p-id="16032"></path><path d="M478.26 930.5h-0.46L269.51 925a16.85 16.85 0 0 1-11.89-5.25 15.88 15.88 0 0 1 0.85-22.79 16.89 16.89 0 0 1 11.95-4.41l191.09 5V716.77c0-70.91-56.88-78.57-81.34-78.57a17.15 17.15 0 0 1-5.8-1 16.32 16.32 0 0 1-11-15.21 16.51 16.51 0 0 1 16.75-16.23c29.37 0 56.39 8.31 76.08 23.39 17.74 13.53 38.8 39.73 38.8 87.62v197.5a16.07 16.07 0 0 1-5.09 11.65 17 17 0 0 1-11.65 4.58z m-208.34-33.92a12.88 12.88 0 0 0-8.75 3.37 11.88 11.88 0 0 0-0.65 17.08 12.87 12.87 0 0 0 9.09 4l208.65 5.47a13 13 0 0 0 8.92-3.49 12.06 12.06 0 0 0 3.83-8.74v-197.5c0-46.26-20.22-71.46-37.18-84.46-19-14.55-45.15-22.57-73.65-22.57A12.51 12.51 0 0 0 367.43 622a12.31 12.31 0 0 0 8.3 11.45 13.17 13.17 0 0 0 4.45 0.78c25.66 0 85.34 8 85.34 82.57v184.91l-195.2-5.12z" fill="#40c6e6" p-id="16033"></path><path d="M745 331.49q0 14.35-1.32 28.34c29.2-1.53 94.94-14.33 94.94-98.19V140.39L745 142.85z" fill="#40c6e6" p-id="16034"></path><path d="M851.12 128a7.56 7.56 0 0 0-5.34-2L745 128.61V98.15H270v31.94a7.51 7.51 0 0 0-4.15-1.37L161 126a7.54 7.54 0 0 0-5.34 2 7 7 0 0 0-2.23 5.1v128.53c0 39.27 13.06 69.18 38.83 88.92 19.94 15.27 47.53 23.68 77.69 23.68a7.57 7.57 0 0 0 2.94-0.59c18 128.3 116.58 227.18 234.57 227.18 117.84 0 216.33-98.63 234.5-226.68 28.15-0.9 53.75-9.19 72.55-23.59 25.77-19.74 38.83-49.65 38.83-88.92V133.08a7 7 0 0 0-2.22-5.08zM838.6 261.63c0 83.85-65.74 96.66-94.94 98.19q1.3-14 1.32-28.34V142.85l93.62-2.46zM593.11 566.84a195.49 195.49 0 0 1-171.27 0c-26.47-12.75-50.32-31-70.88-54.36a260.23 260.23 0 0 1-48.39-81.26 283.28 283.28 0 0 1-17.86-99.74v-219.1h445.53v219.11a283.28 283.28 0 0 1-17.86 99.74A260.22 260.22 0 0 1 664 512.49c-20.58 23.31-44.42 41.6-70.89 54.35zM270 360h-0.13c-24 0-101.64-7.26-101.64-98.37V140.39l97.22 2.55h0.33a7.62 7.62 0 0 0 4.22-1.38v189.93q0 14.51 1.35 28.64A7.66 7.66 0 0 0 270 360z" fill="#40c6e6" p-id="16035"></path><path d="M725.94 900h-4.41l-169.46 0.49V717.31c0-72.72 58.28-80.57 83.34-80.57a15.23 15.23 0 0 0 4.23-0.6 14.31 14.31 0 0 0 10.52-13.63 14.49 14.49 0 0 0-14.75-14.23c-28.93 0-55.52 8.16-74.87 23-17.32 13.27-38 39-38 86v197.5a14 14 0 0 0 4.33 10.08 15 15 0 0 0 10.45 4.14l188.68-0.5a14.24 14.24 0 1 0 0-28.46z" fill="#40c6e6" p-id="16036"></path><path d="M537.37 931a17 17 0 0 1-11.85-4.71 16.09 16.09 0 0 1-4.95-11.52V717.31c0-47.9 21.07-74.09 38.75-87.63C579 614.6 606 606.29 635.41 606.29a16.17 16.17 0 0 1 4.78 31.78 17.28 17.28 0 0 1-4.78 0.68c-24.46 0-81.34 7.66-81.34 78.57v181.22l171.87-0.54c9.21 0 16.72 7.26 16.75 16.18a15.87 15.87 0 0 1-4.9 11.51A16.91 16.91 0 0 1 726 930.5z m98-320.76c-28.5 0-54.65 8-73.65 22.57-17 13-37.18 38.19-37.18 84.46v197.5a11.9 11.9 0 0 0 3.72 8.63 12.94 12.94 0 0 0 9 3.59L726 926.5a12.93 12.93 0 0 0 9-3.63 11.9 11.9 0 0 0 3.68-8.63A12.52 12.52 0 0 0 725.94 902h-4.41l-171.46 0.49V717.31c0-74.52 59.68-82.57 85.34-82.57a13.27 13.27 0 0 0 3.67-0.52 12.38 12.38 0 0 0 9.07-11.71 12.51 12.51 0 0 0-12.74-12.22z" fill="#40c6e6" p-id="16037"></path><path d="M712.38 431.23a283.28 283.28 0 0 0 17.86-99.74V112.38H284.71v219.11a283.28 283.28 0 0 0 17.86 99.74A260.23 260.23 0 0 0 351 512.49c20.56 23.32 44.41 41.6 70.88 54.36a195.49 195.49 0 0 0 171.27 0c26.47-12.75 50.32-31 70.88-54.36a260.22 260.22 0 0 0 48.35-81.26z m-95.43 24.31c-21.75 32.4-59.3 51.75-100.44 51.75s-78.7-19.35-100.45-51.76a13.93 13.93 0 0 1 4.36-19.68 15.08 15.08 0 0 1 20.39 4.21c16.29 24.27 44.59 38.77 75.69 38.77s59.4-14.49 75.69-38.76a15.07 15.07 0 0 1 20.39-4.21 13.93 13.93 0 0 1 4.37 19.68z" fill="#40c6e6" p-id="16038"></path><path d="M612.59 435.86a15.07 15.07 0 0 0-20.39 4.21c-16.29 24.27-44.59 38.76-75.69 38.76s-59.4-14.49-75.69-38.77a15.08 15.08 0 0 0-20.39-4.21 13.93 13.93 0 0 0-4.36 19.68c21.75 32.41 59.3 51.76 100.45 51.76s78.69-19.34 100.44-51.75a13.93 13.93 0 0 0-4.37-19.68z" fill="#40c6e6" p-id="16039"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255570612" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13667" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M939.52 891.733333l-82.090667-141.994666a166.4 166.4 0 0 0-51.2-220.330667V168.96a39.936 39.936 0 0 0-39.936-39.936H196.608A39.765333 39.765333 0 0 0 156.842667 168.96v680.106667a39.765333 39.765333 0 0 0 39.765333 39.765333h290.986667l-1.706667 2.901333a17.066667 17.066667 0 0 0 0 18.090667 17.066667 17.066667 0 0 0 17.066667 7.509333l53.077333-6.826666 20.650667 49.322666a17.066667 17.066667 0 0 0 14.677333 10.410667h1.024a17.066667 17.066667 0 0 0 14.848-8.533333L682.666667 831.317333a174.250667 174.250667 0 0 0 30.208 2.901334 178.005333 178.005333 0 0 0 30.378666-2.901334L819.2 961.706667a17.066667 17.066667 0 0 0 14.848 8.533333h1.024a17.066667 17.066667 0 0 0 14.677333-10.410667L870.4 910.506667l53.077333 6.826666a17.066667 17.066667 0 0 0 17.066667-25.6z m-742.912-37.034666a5.632 5.632 0 0 1-5.632-5.632V168.96a5.802667 5.802667 0 0 1 5.632-5.802667h569.344a5.802667 5.802667 0 0 1 5.802667 5.802667V512a162.474667 162.474667 0 0 0-46.592-10.410667v-274.773333a17.066667 17.066667 0 0 0-17.066667-17.066667H254.464a17.066667 17.066667 0 0 0-17.066667 17.066667v564.224a17.066667 17.066667 0 0 0 17.066667 17.066667H534.186667l-26.965334 46.592zM546.133333 667.477333a166.229333 166.229333 0 0 0 21.845334 82.261334l-14.165334 24.234666H271.530667V243.882667h419.498666v258.56A166.912 166.912 0 0 0 546.133333 667.477333z m48.469334 247.466667l-12.288-29.525333a17.066667 17.066667 0 0 0-17.066667-10.24l-31.744 3.925333 57.344-99.328A166.4 166.4 0 0 0 648.533333 821.248zM580.266667 667.477333a132.437333 132.437333 0 1 1 132.437333 132.608A132.608 132.608 0 0 1 580.266667 667.477333z m280.746666 207.701334a17.066667 17.066667 0 0 0-17.92 10.24l-12.288 29.525333-54.101333-93.696A166.4 166.4 0 0 0 836.266667 779.776l57.344 99.328z" fill="#40c6e6" p-id="13668"></path><path d="M794.794667 629.248L753.322667 614.4l-27.136-34.133333A17.066667 17.066667 0 0 0 699.733333 580.266667l-27.136 34.133333-41.130666 14.848a17.066667 17.066667 0 0 0-10.410667 10.752 17.066667 17.066667 0 0 0 2.048 14.848l24.917333 36.522667 0.512 44.202666a17.066667 17.066667 0 0 0 6.997334 13.312 17.066667 17.066667 0 0 0 14.848 2.56l42.325333-12.458666 42.496 12.458666a14.677333 14.677333 0 0 0 4.778667 0 17.066667 17.066667 0 0 0 9.898666-3.242666 17.066667 17.066667 0 0 0 7.168-13.312l1.194667-44.202667 24.917333-36.522667a17.066667 17.066667 0 0 0 2.218667-14.848 17.066667 17.066667 0 0 0-10.581333-10.069333z m-47.445334 47.104a17.066667 17.066667 0 0 0-3.072 9.045333v27.136L716.8 704.853333a17.066667 17.066667 0 0 0-9.557333 0l-24.576 7.68-0.853334-27.136a17.066667 17.066667 0 0 0-3.072-9.045333l-15.189333-22.528 25.429333-9.045333a18.602667 18.602667 0 0 0 7.850667-5.632l17.066667-21.504 17.066666 21.504a18.602667 18.602667 0 0 0 7.850667 5.632l25.429333 9.045333zM558.250667 295.253333h-153.6a17.066667 17.066667 0 0 0 0 34.133334h153.6a17.066667 17.066667 0 0 0 0-34.133334zM337.749333 642.901333h87.210667a17.066667 17.066667 0 0 0 0-34.133333h-87.210667a17.066667 17.066667 0 0 0 0 34.133333zM494.933333 684.202667h-157.184a17.066667 17.066667 0 0 0 0 34.133333H494.933333a17.066667 17.066667 0 0 0 0-34.133333z" fill="#40c6e6" p-id="13669"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255570612" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13667" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M939.52 891.733333l-82.090667-141.994666a166.4 166.4 0 0 0-51.2-220.330667V168.96a39.936 39.936 0 0 0-39.936-39.936H196.608A39.765333 39.765333 0 0 0 156.842667 168.96v680.106667a39.765333 39.765333 0 0 0 39.765333 39.765333h290.986667l-1.706667 2.901333a17.066667 17.066667 0 0 0 0 18.090667 17.066667 17.066667 0 0 0 17.066667 7.509333l53.077333-6.826666 20.650667 49.322666a17.066667 17.066667 0 0 0 14.677333 10.410667h1.024a17.066667 17.066667 0 0 0 14.848-8.533333L682.666667 831.317333a174.250667 174.250667 0 0 0 30.208 2.901334 178.005333 178.005333 0 0 0 30.378666-2.901334L819.2 961.706667a17.066667 17.066667 0 0 0 14.848 8.533333h1.024a17.066667 17.066667 0 0 0 14.677333-10.410667L870.4 910.506667l53.077333 6.826666a17.066667 17.066667 0 0 0 17.066667-25.6z m-742.912-37.034666a5.632 5.632 0 0 1-5.632-5.632V168.96a5.802667 5.802667 0 0 1 5.632-5.802667h569.344a5.802667 5.802667 0 0 1 5.802667 5.802667V512a162.474667 162.474667 0 0 0-46.592-10.410667v-274.773333a17.066667 17.066667 0 0 0-17.066667-17.066667H254.464a17.066667 17.066667 0 0 0-17.066667 17.066667v564.224a17.066667 17.066667 0 0 0 17.066667 17.066667H534.186667l-26.965334 46.592zM546.133333 667.477333a166.229333 166.229333 0 0 0 21.845334 82.261334l-14.165334 24.234666H271.530667V243.882667h419.498666v258.56A166.912 166.912 0 0 0 546.133333 667.477333z m48.469334 247.466667l-12.288-29.525333a17.066667 17.066667 0 0 0-17.066667-10.24l-31.744 3.925333 57.344-99.328A166.4 166.4 0 0 0 648.533333 821.248zM580.266667 667.477333a132.437333 132.437333 0 1 1 132.437333 132.608A132.608 132.608 0 0 1 580.266667 667.477333z m280.746666 207.701334a17.066667 17.066667 0 0 0-17.92 10.24l-12.288 29.525333-54.101333-93.696A166.4 166.4 0 0 0 836.266667 779.776l57.344 99.328z" fill="#40c6e6" p-id="13668"></path><path d="M794.794667 629.248L753.322667 614.4l-27.136-34.133333A17.066667 17.066667 0 0 0 699.733333 580.266667l-27.136 34.133333-41.130666 14.848a17.066667 17.066667 0 0 0-10.410667 10.752 17.066667 17.066667 0 0 0 2.048 14.848l24.917333 36.522667 0.512 44.202666a17.066667 17.066667 0 0 0 6.997334 13.312 17.066667 17.066667 0 0 0 14.848 2.56l42.325333-12.458666 42.496 12.458666a14.677333 14.677333 0 0 0 4.778667 0 17.066667 17.066667 0 0 0 9.898666-3.242666 17.066667 17.066667 0 0 0 7.168-13.312l1.194667-44.202667 24.917333-36.522667a17.066667 17.066667 0 0 0 2.218667-14.848 17.066667 17.066667 0 0 0-10.581333-10.069333z m-47.445334 47.104a17.066667 17.066667 0 0 0-3.072 9.045333v27.136L716.8 704.853333a17.066667 17.066667 0 0 0-9.557333 0l-24.576 7.68-0.853334-27.136a17.066667 17.066667 0 0 0-3.072-9.045333l-15.189333-22.528 25.429333-9.045333a18.602667 18.602667 0 0 0 7.850667-5.632l17.066667-21.504 17.066666 21.504a18.602667 18.602667 0 0 0 7.850667 5.632l25.429333 9.045333zM558.250667 295.253333h-153.6a17.066667 17.066667 0 0 0 0 34.133334h153.6a17.066667 17.066667 0 0 0 0-34.133334zM337.749333 642.901333h87.210667a17.066667 17.066667 0 0 0 0-34.133333h-87.210667a17.066667 17.066667 0 0 0 0 34.133333zM494.933333 684.202667h-157.184a17.066667 17.066667 0 0 0 0 34.133333H494.933333a17.066667 17.066667 0 0 0 0-34.133333z" fill="#40c6e6" p-id="13669"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255664515" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17178" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M789.684706 575.849412c-4.818824 18.672941-10.842353 36.141176-19.877647 51.2l-1.807059 3.011764c-40.96 78.908235-117.458824 134.927059-206.004706 150.588236v96.37647c0 14.456471 9.637647 26.503529 24.094118 30.72l87.341176 16.26353c18.070588 3.011765 15.058824 30.117647-3.011764 30.117647H348.16c-18.070588 0-20.48-26.503529-3.011765-30.117647l87.341177-16.26353c14.456471-3.011765 24.094118-16.263529 24.094117-30.72v-96.37647c-89.750588-16.865882-166.249412-73.487059-208.414117-154.202353-8.432941-15.661176-15.058824-33.731765-19.877647-51.2C118.061176 565.609412 30.72 473.449412 30.72 360.809412V260.818824c0-23.491765 19.275294-41.562353 42.164706-41.562353h144.564706V96.978824c0-6.023529 3.011765-13.251765 7.830588-18.070589 4.818824-5.421176 10.842353-7.830588 18.070588-7.830588h531.877647c15.058824 0 27.105882 12.047059 27.105883 26.503529v121.072942h143.962353c24.094118 0 42.767059 18.070588 40.96 41.562353V361.411765c0.602353 112.64-86.738824 204.8-197.571765 214.437647zM216.847059 492.724706V276.48H94.569412c-2.409412 0-4.818824 2.409412-4.818824 4.818824v84.931764c0 76.498824 56.621176 139.143529 129.505883 150.588236-1.807059-13.854118-2.409412-24.094118-2.409412-24.094118z m518.023529-206.607059V137.938824H284.912941v148.178823l-0.602353 220.461177c0.602353 4.216471 1.204706 13.251765 3.011765 24.69647l0.602353 3.614118 6.625882 23.491764c5.421176 19.275294 10.24 30.117647 13.251765 36.141177l0.602353 1.204706 0.602353 1.204706c32.527059 62.644706 90.955294 106.014118 160.828235 119.265882l39.152941 7.228235 42.164706-7.228235c66.861176-12.047059 125.891765-54.814118 157.816471-115.049412l2.409412-4.818823 1.204705-2.409412c4.216471-7.228235 8.432941-18.070588 12.047059-33.129412l10.24-40.96c0.602353-4.818824 0.602353-7.830588 0.602353-9.637647l-0.602353-224.075294z m196.367059 80.112941h-1.204706V280.696471c0-2.409412-2.409412-4.818824-4.818823-4.818824h-121.675294v217.449412s-0.602353 10.24-2.409412 24.094117c72.282353-10.842353 129.505882-74.089412 130.108235-151.190588z m-340.329412 46.98353l12.047059 72.884706c4.216471 25.298824-9.637647 34.334118-30.117647 22.889411l-62.042353-36.743529-62.042353 34.334118c-21.082353 12.047059-34.334118 1.204706-30.117647-22.889412l10.842353-72.884706-49.995294-51.2c-17.468235-16.263529-12.047059-34.334118 11.444706-37.345882l69.270588-9.637648 30.117647-62.644705c9.637647-22.889412 26.503529-22.889412 38.550588 0l30.117647 64.451764 69.270589 9.637647c23.491765 4.216471 29.515294 21.684706 12.047058 38.550589l-49.392941 50.597647z" fill="#40c6e6" p-id="17179"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255664515" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17178" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M789.684706 575.849412c-4.818824 18.672941-10.842353 36.141176-19.877647 51.2l-1.807059 3.011764c-40.96 78.908235-117.458824 134.927059-206.004706 150.588236v96.37647c0 14.456471 9.637647 26.503529 24.094118 30.72l87.341176 16.26353c18.070588 3.011765 15.058824 30.117647-3.011764 30.117647H348.16c-18.070588 0-20.48-26.503529-3.011765-30.117647l87.341177-16.26353c14.456471-3.011765 24.094118-16.263529 24.094117-30.72v-96.37647c-89.750588-16.865882-166.249412-73.487059-208.414117-154.202353-8.432941-15.661176-15.058824-33.731765-19.877647-51.2C118.061176 565.609412 30.72 473.449412 30.72 360.809412V260.818824c0-23.491765 19.275294-41.562353 42.164706-41.562353h144.564706V96.978824c0-6.023529 3.011765-13.251765 7.830588-18.070589 4.818824-5.421176 10.842353-7.830588 18.070588-7.830588h531.877647c15.058824 0 27.105882 12.047059 27.105883 26.503529v121.072942h143.962353c24.094118 0 42.767059 18.070588 40.96 41.562353V361.411765c0.602353 112.64-86.738824 204.8-197.571765 214.437647zM216.847059 492.724706V276.48H94.569412c-2.409412 0-4.818824 2.409412-4.818824 4.818824v84.931764c0 76.498824 56.621176 139.143529 129.505883 150.588236-1.807059-13.854118-2.409412-24.094118-2.409412-24.094118z m518.023529-206.607059V137.938824H284.912941v148.178823l-0.602353 220.461177c0.602353 4.216471 1.204706 13.251765 3.011765 24.69647l0.602353 3.614118 6.625882 23.491764c5.421176 19.275294 10.24 30.117647 13.251765 36.141177l0.602353 1.204706 0.602353 1.204706c32.527059 62.644706 90.955294 106.014118 160.828235 119.265882l39.152941 7.228235 42.164706-7.228235c66.861176-12.047059 125.891765-54.814118 157.816471-115.049412l2.409412-4.818823 1.204705-2.409412c4.216471-7.228235 8.432941-18.070588 12.047059-33.129412l10.24-40.96c0.602353-4.818824 0.602353-7.830588 0.602353-9.637647l-0.602353-224.075294z m196.367059 80.112941h-1.204706V280.696471c0-2.409412-2.409412-4.818824-4.818823-4.818824h-121.675294v217.449412s-0.602353 10.24-2.409412 24.094117c72.282353-10.842353 129.505882-74.089412 130.108235-151.190588z m-340.329412 46.98353l12.047059 72.884706c4.216471 25.298824-9.637647 34.334118-30.117647 22.889411l-62.042353-36.743529-62.042353 34.334118c-21.082353 12.047059-34.334118 1.204706-30.117647-22.889412l10.842353-72.884706-49.995294-51.2c-17.468235-16.263529-12.047059-34.334118 11.444706-37.345882l69.270588-9.637648 30.117647-62.644705c9.637647-22.889412 26.503529-22.889412 38.550588 0l30.117647 64.451764 69.270589 9.637647c23.491765 4.216471 29.515294 21.684706 12.047058 38.550589l-49.392941 50.597647z" fill="#40c6e6" p-id="17179"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255893414" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21974" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M375.9 888H217.8V136h560v405c0 8.8 7.2 16 16 16h40c8.8 0 16-7.2 16-16V96c0-17.6-14.4-32-32-32h-640c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32H376c8.8 0 16-7.2 16-16v-40c-0.1-8.8-7.2-16-16.1-16z" p-id="21975" fill="#008dd2"></path><path d="M913.3 764.2C874.2 721.4 787 641 682.9 641c-113.7 0-213 95.8-248 134-8 8.7-7.9 22.1 0.3 30.6C469.7 841.8 565.6 930 678.4 930c103.6 0 193-74.4 233.6-114.6 14.1-13.9 14.7-36.5 1.3-51.2zM676 862.5c-42.5 0-77-34.5-77-77s34.5-77 77-77 77 34.5 77 77-34.5 77-77 77zM591 350c0-84.4-68.1-152.5-152.5-152.5S286 265.6 286 350s68.1 152.5 152.5 152.5S591 434.4 591 350zM434.8 468.6c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3L463 369.1c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0zM301 573c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16h229c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H301zM434 728v-28c0-8.8-7.2-16-16-16H301c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16h117c8.8 0 16-7.2 16-16z" p-id="21976" fill="#008dd2"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255893414" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21974" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M375.9 888H217.8V136h560v405c0 8.8 7.2 16 16 16h40c8.8 0 16-7.2 16-16V96c0-17.6-14.4-32-32-32h-640c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32H376c8.8 0 16-7.2 16-16v-40c-0.1-8.8-7.2-16-16.1-16z" p-id="21975" fill="#008dd2"></path><path d="M913.3 764.2C874.2 721.4 787 641 682.9 641c-113.7 0-213 95.8-248 134-8 8.7-7.9 22.1 0.3 30.6C469.7 841.8 565.6 930 678.4 930c103.6 0 193-74.4 233.6-114.6 14.1-13.9 14.7-36.5 1.3-51.2zM676 862.5c-42.5 0-77-34.5-77-77s34.5-77 77-77 77 34.5 77 77-34.5 77-77 77zM591 350c0-84.4-68.1-152.5-152.5-152.5S286 265.6 286 350s68.1 152.5 152.5 152.5S591 434.4 591 350zM434.8 468.6c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3L463 369.1c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0zM301 573c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16h229c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H301zM434 728v-28c0-8.8-7.2-16-16-16H301c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16h117c8.8 0 16-7.2 16-16z" p-id="21976" fill="#008dd2"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255692422" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18413" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 496.5c84.4 0 152.5-68.1 152.5-152.5S596.4 191.5 512 191.5 359.5 259.6 359.5 344 427.6 496.5 512 496.5z m-3.7-33.9c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3l-16.3 100.8c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0zM318 636h80.8c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16zM312.4 774h63.3c5.7 0 10.4-7.2 10.4-16v-28c0-8.8-4.7-16-10.4-16h-63.3c-5.7 0-10.4 7.2-10.4 16v28c0 8.8 4.7 16 10.4 16z" p-id="18414" fill="#40c6e6"></path><path d="M384.9 888H232V136h560v343c0 8.8 7.2 16 16 16h40c8.8 0 16-7.2 16-16V96c0-17.6-14.4-32-32-32H192c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32h192.9c8.8 0 16-7.2 16-16v-40c0-8.8-7.1-16-16-16z" p-id="18415" fill="#40c6e6"></path><path d="M855.8 783.4c-0.1 0-0.1 0 0 0l-27.6-23.6c1.1-8 1.6-16.1 1.6-24.1s-0.5-16.1-1.6-24.1l27.6-23.6c7.6-6.5 10.5-17.2 7.1-26.7l-0.5-1.3c-9-25.2-22.4-48.4-39.8-68.9l-0.8-1c-6.6-7.7-17-10.6-26.7-7.2l-34.2 12.2c-12.8-9.9-26.7-17.9-41.5-24l-6.6-35.8c-1.8-9.9-9.7-17.7-19.6-19.5l-1.3-0.2c-26-4.7-53.4-4.7-79.4 0l-1.3 0.2c-9.9 1.8-17.8 9.7-19.6 19.5l-6.7 36c-14.7 6.1-28.6 14.1-41.2 23.9L509.1 583c-9.5-3.3-20.2-0.4-26.6 7.2l-0.9 1.1c-17.4 20.5-30.7 43.7-39.8 68.9l-0.4 1.2c-3.4 9.4-0.6 20.2 7.1 26.8l28 23.9c-1 7.8-1.6 15.7-1.6 23.7s0.5 16 1.6 23.7l-28 23.9c-7.6 6.5-10.5 17.2-7.1 26.7l0.5 1.3c9.1 25.3 22.5 48.4 39.8 68.9l0.8 1c6.6 7.7 17 10.6 26.7 7.2l34.5-12.3c12.7 9.9 26.5 17.9 41.2 23.9l6.7 36c1.8 9.9 9.7 17.7 19.6 19.5l1.3 0.2c13.1 2.4 26.4 3.5 39.7 3.5s26.7-1.2 39.7-3.6l1.3-0.2c9.9-1.8 17.8-9.7 19.6-19.5l6.6-35.8c14.9-6.1 28.8-14.1 41.5-24l34.3 12.2c9.5 3.3 20.2 0.4 26.6-7.2l0.9-1.1c17.4-20.5 30.7-43.7 39.8-68.8v-0.1l0.4-1.2c3.3-9.4 0.5-20-7.1-26.6z m-326.7 0.2c2.4-2 3.5-5.2 3-8.3l-3.1-19.1c-1.1-6.8-1.7-13.7-1.7-20.4 0-7 0.6-13.8 1.7-20.4l3.1-19.2c0.5-3.1-0.6-6.2-3-8.3l-31-26.5c3.7-7.6 7.9-15 12.8-22.1l38.3 13.6c3 1.1 6.3 0.5 8.7-1.5l15-12.4c10.6-8.7 22.4-15.6 35.2-20.4l18.2-6.9c3-1.1 5.1-3.7 5.7-6.8l7.3-39.9c8.5-0.6 17-0.6 25.5 0l7.3 39.8c0.6 3.1 2.7 5.7 5.7 6.8l18.2 6.8c12.9 4.8 24.8 11.7 35.4 20.5l15 12.4c2.4 2 5.7 2.6 8.7 1.5l38.1-13.5c4.8 7 9 14.4 12.8 22.1l-30.6 26.2c-2.4 2-3.5 5.2-3 8.3l3.1 19.1c1.1 6.8 1.7 13.7 1.7 20.6s-0.6 13.8-1.7 20.6l-3.2 19.2c-0.5 3.1 0.6 6.3 3 8.3l30.6 26.2c-3.7 7.6-7.9 15-12.8 22.1L755 818.5c-3-1.1-6.3-0.5-8.7 1.5l-15 12.4c-10.7 8.8-22.6 15.7-35.4 20.5l-18.3 6.8c-3 1.1-5.1 3.7-5.7 6.8l-7.3 39.8c-8.5 0.6-17 0.6-25.5 0l-7.3-39.9c-0.6-3.1-2.7-5.7-5.6-6.8l-18.1-7c-12.7-4.8-24.6-11.7-35.2-20.4L558 820c-2.4-2-5.8-2.6-8.7-1.5L511 832.1c-4.8-7-9-14.4-12.8-22.1l30.9-26.4z" p-id="18416" fill="#40c6e6"></path><path d="M652.1 735.7m-73 0a73 73 0 1 0 146 0 73 73 0 1 0-146 0Z" p-id="18417" fill="#40c6e6"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255692422" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18413" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 496.5c84.4 0 152.5-68.1 152.5-152.5S596.4 191.5 512 191.5 359.5 259.6 359.5 344 427.6 496.5 512 496.5z m-3.7-33.9c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3l-16.3 100.8c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0zM318 636h80.8c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16zM312.4 774h63.3c5.7 0 10.4-7.2 10.4-16v-28c0-8.8-4.7-16-10.4-16h-63.3c-5.7 0-10.4 7.2-10.4 16v28c0 8.8 4.7 16 10.4 16z" p-id="18414" fill="#40c6e6"></path><path d="M384.9 888H232V136h560v343c0 8.8 7.2 16 16 16h40c8.8 0 16-7.2 16-16V96c0-17.6-14.4-32-32-32H192c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32h192.9c8.8 0 16-7.2 16-16v-40c0-8.8-7.1-16-16-16z" p-id="18415" fill="#40c6e6"></path><path d="M855.8 783.4c-0.1 0-0.1 0 0 0l-27.6-23.6c1.1-8 1.6-16.1 1.6-24.1s-0.5-16.1-1.6-24.1l27.6-23.6c7.6-6.5 10.5-17.2 7.1-26.7l-0.5-1.3c-9-25.2-22.4-48.4-39.8-68.9l-0.8-1c-6.6-7.7-17-10.6-26.7-7.2l-34.2 12.2c-12.8-9.9-26.7-17.9-41.5-24l-6.6-35.8c-1.8-9.9-9.7-17.7-19.6-19.5l-1.3-0.2c-26-4.7-53.4-4.7-79.4 0l-1.3 0.2c-9.9 1.8-17.8 9.7-19.6 19.5l-6.7 36c-14.7 6.1-28.6 14.1-41.2 23.9L509.1 583c-9.5-3.3-20.2-0.4-26.6 7.2l-0.9 1.1c-17.4 20.5-30.7 43.7-39.8 68.9l-0.4 1.2c-3.4 9.4-0.6 20.2 7.1 26.8l28 23.9c-1 7.8-1.6 15.7-1.6 23.7s0.5 16 1.6 23.7l-28 23.9c-7.6 6.5-10.5 17.2-7.1 26.7l0.5 1.3c9.1 25.3 22.5 48.4 39.8 68.9l0.8 1c6.6 7.7 17 10.6 26.7 7.2l34.5-12.3c12.7 9.9 26.5 17.9 41.2 23.9l6.7 36c1.8 9.9 9.7 17.7 19.6 19.5l1.3 0.2c13.1 2.4 26.4 3.5 39.7 3.5s26.7-1.2 39.7-3.6l1.3-0.2c9.9-1.8 17.8-9.7 19.6-19.5l6.6-35.8c14.9-6.1 28.8-14.1 41.5-24l34.3 12.2c9.5 3.3 20.2 0.4 26.6-7.2l0.9-1.1c17.4-20.5 30.7-43.7 39.8-68.8v-0.1l0.4-1.2c3.3-9.4 0.5-20-7.1-26.6z m-326.7 0.2c2.4-2 3.5-5.2 3-8.3l-3.1-19.1c-1.1-6.8-1.7-13.7-1.7-20.4 0-7 0.6-13.8 1.7-20.4l3.1-19.2c0.5-3.1-0.6-6.2-3-8.3l-31-26.5c3.7-7.6 7.9-15 12.8-22.1l38.3 13.6c3 1.1 6.3 0.5 8.7-1.5l15-12.4c10.6-8.7 22.4-15.6 35.2-20.4l18.2-6.9c3-1.1 5.1-3.7 5.7-6.8l7.3-39.9c8.5-0.6 17-0.6 25.5 0l7.3 39.8c0.6 3.1 2.7 5.7 5.7 6.8l18.2 6.8c12.9 4.8 24.8 11.7 35.4 20.5l15 12.4c2.4 2 5.7 2.6 8.7 1.5l38.1-13.5c4.8 7 9 14.4 12.8 22.1l-30.6 26.2c-2.4 2-3.5 5.2-3 8.3l3.1 19.1c1.1 6.8 1.7 13.7 1.7 20.6s-0.6 13.8-1.7 20.6l-3.2 19.2c-0.5 3.1 0.6 6.3 3 8.3l30.6 26.2c-3.7 7.6-7.9 15-12.8 22.1L755 818.5c-3-1.1-6.3-0.5-8.7 1.5l-15 12.4c-10.7 8.8-22.6 15.7-35.4 20.5l-18.3 6.8c-3 1.1-5.1 3.7-5.7 6.8l-7.3 39.8c-8.5 0.6-17 0.6-25.5 0l-7.3-39.9c-0.6-3.1-2.7-5.7-5.6-6.8l-18.1-7c-12.7-4.8-24.6-11.7-35.2-20.4L558 820c-2.4-2-5.8-2.6-8.7-1.5L511 832.1c-4.8-7-9-14.4-12.8-22.1l30.9-26.4z" p-id="18416" fill="#40c6e6"></path><path d="M652.1 735.7m-73 0a73 73 0 1 0 146 0 73 73 0 1 0-146 0Z" p-id="18417" fill="#40c6e6"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699256561429" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24483" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 496.5c84.4 0 152.5-68.1 152.5-152.5S596.4 191.5 512 191.5 359.5 259.6 359.5 344 427.6 496.5 512 496.5z m-3.7-33.9c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3l-16.3 100.8c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0z" p-id="24484" fill="#7fdfef"></path><path d="M832 64H192c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32V96c0-17.6-14.4-32-32-32z m-40 824H232V136h560v752z" p-id="24485" fill="#7fdfef"></path><path d="M318 636h388c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16zM318 774h388c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16z" p-id="24486" fill="#7fdfef"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699256561429" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24483" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 496.5c84.4 0 152.5-68.1 152.5-152.5S596.4 191.5 512 191.5 359.5 259.6 359.5 344 427.6 496.5 512 496.5z m-3.7-33.9c-14.9 0-26.9-12.1-26.9-26.9s12.1-26.9 26.9-26.9c14.9 0 26.9 12.1 26.9 26.9s-12 26.9-26.9 26.9z m44.5-200.3l-16.3 100.8c-5.4 32.7-49 32.7-51.7 0l-10.9-100.8c-5.5-38.1 81.7-38.1 78.9 0z" p-id="24484" fill="#7fdfef"></path><path d="M832 64H192c-17.6 0-32 14.4-32 32v832c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32V96c0-17.6-14.4-32-32-32z m-40 824H232V136h560v752z" p-id="24485" fill="#7fdfef"></path><path d="M318 636h388c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16zM318 774h388c8.8 0 16-7.2 16-16v-28c0-8.8-7.2-16-16-16H318c-8.8 0-16 7.2-16 16v28c0 8.8 7.2 16 16 16z" p-id="24486" fill="#7fdfef"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255863427" class="icon" viewBox="0 0 1117 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19874" id="mx_n_1699255863428" xmlns:xlink="http://www.w3.org/1999/xlink" width="218.1640625" height="200"><path d="M821.992354 0c58.181792 0 102.120681 42.682162 102.12068 100.3985v401.268181h128.465397c0.465454 0 0.837818-0.139636 1.256726-0.139636 0.465454 0 0.837818 0.139636 1.256727 0.139636h1.489454c33.652348 1.62909 60.509063 28.858169 60.509063 62.557063 0 15.359993-5.771634 29.183987-14.941084 40.029072l-444.60198 385.116916A158.161383 158.161383 0 0 1 558.545201 1023.999535a158.254474 158.254474 0 0 1-98.303956-34.117803l-444.508889-384.604916A61.905426 61.905426 0 0 1 0 564.223744c0-26.670533 16.942538-49.245069 40.680709-58.274883l5.585452-1.861817s6.376724-2.420363 15.732356-2.420363h130.932304V100.3985C192.930821 42.682162 236.916256 0 295.098048 0h526.894306z m-233.378803 245.387525a42.123617 42.123617 0 0 0-60.1367 0l-189.998459 189.905368a42.077072 42.077072 0 0 0 0 60.183245l189.998459 189.951914c15.871993 16.989083 43.287253 16.989083 60.1367 0l189.998459-189.905368a42.077072 42.077072 0 0 0 0-60.183246zM558.545201 533.177939c3.723635 0 6.516361 1.11709 9.309086 2.048 2.792726 1.11709 5.538907 3.165089 7.44727 5.352724 1.861817 2.094545 3.723635 4.28218 4.701088 7.44727 0.930909 3.165089 1.815272 6.330179 1.815272 9.495268 0 3.118544-0.930909 6.283634-1.815272 9.448723a18.618173 18.618173 0 0 1-4.654543 7.447269 23.784716 23.784716 0 0 1-16.756356 7.44727c-3.77018-0.046545-6.516361-1.163636-9.309087-2.094545-2.792726-1.11709-4.701089-3.165089-7.493814-5.352725a19.8749 19.8749 0 0 1-4.701089-7.447269c-0.837818-3.025453-1.815272-5.213089-1.815272-9.448723 0-3.165089 0.930909-6.330179 1.815272-9.495268a18.618173 18.618173 0 0 1 4.654543-7.44727 23.784716 23.784716 0 0 1 16.756356-7.447269zM557.474656 349.09075a49.570887 49.570887 0 0 1 47.197069 64.698153l-25.320716 79.127237-1.675635 3.909816a22.900353 22.900353 0 0 1-41.937436-3.863271l-25.413806-79.220328-1.396363-5.213088A49.524341 49.524341 0 0 1 557.474656 349.09075z" fill="#008dd2" p-id="19875"></path></svg>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699255863427" class="icon" viewBox="0 0 1117 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19874" id="mx_n_1699255863428" xmlns:xlink="http://www.w3.org/1999/xlink" width="218.1640625" height="200"><path d="M821.992354 0c58.181792 0 102.120681 42.682162 102.12068 100.3985v401.268181h128.465397c0.465454 0 0.837818-0.139636 1.256726-0.139636 0.465454 0 0.837818 0.139636 1.256727 0.139636h1.489454c33.652348 1.62909 60.509063 28.858169 60.509063 62.557063 0 15.359993-5.771634 29.183987-14.941084 40.029072l-444.60198 385.116916A158.161383 158.161383 0 0 1 558.545201 1023.999535a158.254474 158.254474 0 0 1-98.303956-34.117803l-444.508889-384.604916A61.905426 61.905426 0 0 1 0 564.223744c0-26.670533 16.942538-49.245069 40.680709-58.274883l5.585452-1.861817s6.376724-2.420363 15.732356-2.420363h130.932304V100.3985C192.930821 42.682162 236.916256 0 295.098048 0h526.894306z m-233.378803 245.387525a42.123617 42.123617 0 0 0-60.1367 0l-189.998459 189.905368a42.077072 42.077072 0 0 0 0 60.183245l189.998459 189.951914c15.871993 16.989083 43.287253 16.989083 60.1367 0l189.998459-189.905368a42.077072 42.077072 0 0 0 0-60.183246zM558.545201 533.177939c3.723635 0 6.516361 1.11709 9.309086 2.048 2.792726 1.11709 5.538907 3.165089 7.44727 5.352724 1.861817 2.094545 3.723635 4.28218 4.701088 7.44727 0.930909 3.165089 1.815272 6.330179 1.815272 9.495268 0 3.118544-0.930909 6.283634-1.815272 9.448723a18.618173 18.618173 0 0 1-4.654543 7.447269 23.784716 23.784716 0 0 1-16.756356 7.44727c-3.77018-0.046545-6.516361-1.163636-9.309087-2.094545-2.792726-1.11709-4.701089-3.165089-7.493814-5.352725a19.8749 19.8749 0 0 1-4.701089-7.447269c-0.837818-3.025453-1.815272-5.213089-1.815272-9.448723 0-3.165089 0.930909-6.330179 1.815272-9.495268a18.618173 18.618173 0 0 1 4.654543-7.44727 23.784716 23.784716 0 0 1 16.756356-7.447269zM557.474656 349.09075a49.570887 49.570887 0 0 1 47.197069 64.698153l-25.320716 79.127237-1.675635 3.909816a22.900353 22.900353 0 0 1-41.937436-3.863271l-25.413806-79.220328-1.396363-5.213088A49.524341 49.524341 0 0 1 557.474656 349.09075z" fill="#008dd2" p-id="19875"></path></svg>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="获奖级别" prop="awardsLevel">
<el-select v-model="queryForm.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="获奖类型">
<el-select v-model="queryForm.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="时间段">
<el-date-picker v-model="queryForm.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-model="queryForm.endTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="主导部门">
<Treeselect v-model="queryForm.competentDeptId" :options="deptOptions" :show-count="true" placeholder="请选择"
:defaultExpandLevel=1 style="width: 208px" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-row>
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="competitionName" label="比赛名称" />
<el-table-column align="center" prop="awardsName" label="获奖名称" />
<el-table-column align="center" prop="competentDept" label="主导部门" />
<el-table-column align="center" prop="awardsLevel" label="获奖级别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_level, row.awardsLevel) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="awardsType" label="获奖类型">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_type, row.awardsType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="deptDirector" label="部门主任" />
<el-table-column align="center" prop="organizer" label="主办单位" />
<el-table-column align="center" prop="awardsTime" label="获奖时间" />
<el-table-column align="center" prop="证书图片" label="证书图片">
<template slot-scope="scope">
<el-carousel :interval="4000" height="100px">
<el-carousel-item v-for="(item, index) in scope.row.schoolAccessoryList" :key="index">
<el-image style="width: 100px; height: 100px" :src="pev + item.accessoryUrl"
:preview-src-list="[pev + item.accessoryUrl]"></el-image>
</el-carousel-item>
</el-carousel>
</template>
</el-table-column>
<el-table-column align="center" prop="remark" label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<div>
<div v-if="scope.row.auditState === '0'">
<el-button @click="handleExamine(scope.row)" type="text" size="small">提交</el-button>
<el-button @click="handleEdit(scope.row)" type="text" size="small">编辑</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</div>
<div v-else>
<el-button @click="handleEdit(scope.row)" type="text" size="small">编辑</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</div>
</div>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="110px" :rules="rules">
<el-row>
<el-col :span="24">
<el-form-item label="比赛名称" prop="competitionName">
<el-input v-model="form.competitionName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="主办单位" prop="organizer">
<el-input v-model="form.organizer" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖名称" prop="awardsName">
<el-input v-model="form.awardsName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主管部门" prop="competentDeptId">
<Treeselect v-model="form.competentDeptId" :options="deptOptions" :show-count="true"
placeholder="请选择" :default-expand-level=1 :style="{ width: '100%' }"
@select="deptIdAndName" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="部门主任" prop="deptDirectorId">
<el-select v-model="form.deptDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in getDeptLeaders" :key="item.id" :label="item.teacherName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardsTime">
<el-date-picker v-model="form.awardsTime" type="date" placeholder="选择" value-format="yyyy-MM-dd"
:style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardsLevel">
<el-select v-model="form.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类型" prop="awardsType">
<el-select v-model="form.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2"
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="证书图片" prop="schoolAccessoryList">
<el-upload v-loading="uploadLoading" class="avatar-uploader" :action="uploadFileUrl"
accept="image/*" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :on-remove="handleRemove">
<div v-if="form.schoolAccessoryList.length === 0">
<i class="el-icon-plus avatar-uploader-icon"></i>
</div>
<div v-else>
<div v-for="(item, index) in form.schoolAccessoryList" :key="index">
<img :src="pev + item.accessoryUrl" class="avatar" />
</div>
</div>
</el-upload>
<i class="el-icon-delete" @click="handleRemove(index)"></i>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addawards,
updateAwards,
listAwards,
getAwards,
delAwards,
subApply,
getdeptTree,
getDeptLeader,
addawardsgr,
listAwardsgr,
listAwardstg
} from '@/api/smartSchool/awardsDisciplinary/schoolAwards/awardManagement'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
export default {
name: 'index',
components: { Treeselect, picAvatar },
dicts: ['awards_type', 'awards_level'],
data() {
return {
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
queryForm: {
awardsLevel: "",
awardsType: "",
startTime: "",
endTime: "",
competentDeptId: null,
},
uploadLoading: false,
pev: process.env.VUE_APP_BASE_API,
getDeptLeaders: [],
deptOptions: [],
//表格数据
tableData: [],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
rules: {
competitionName: [
{ required: true, message: "比赛名称不能为空", trigger: "change" }
],
organizer: [
{ required: true, message: "主办单位不能为空", trigger: "change" }
],
awardsName: [
{ required: true, message: "获奖名称不能为空", trigger: "change" }
],
competentDeptId: [
{ required: true, message: "主管部门不能为空", trigger: "change" }
],
awardsTime: [
{ required: true, message: "获奖时间不能为空", trigger: "change" }
],
deptDirectorId: [
{ required: true, message: "部门主任不能为空", trigger: "change" }
],
awardsLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
awardsType: [
{ required: true, message: "获奖类型不能为空", trigger: "change" }
],
schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" }
],
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getList();
this.getDeptTree();
},
methods: {
handleAdd() {
this.reset();
this.dialogTableVisible = true;
},
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getAwards(id).then((response) => {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
this.schoolAccessoryList = [],
this.resetForm('form')
},
//审核
handleExamine(row) {
const ids = row.id || this.ids;
this.$modal
.confirm("是否提交该活动?")
.then(function () {
const params = {
id: row.id,
auditState: '1' // 表示同意
};
return subApply(params);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("提交成功");
})
.catch((err) => {
console.error(err);
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delAwards(row.id);
}).then(() => {
this.getList();
this.loading = false;
this.$modal.msgSuccess("删除成功");
}).catch(() => {
this.loading = false
});
},
// 移除图片
handleRemove(index) {
this.form.schoolAccessoryList.splice(index, 1);
},
// 上传成功回调
handleAvatarSuccess(response, file) {
console.log('response', response);
console.log('file', file);
// 处理上传成功的逻辑
const picUrl = response.fileName; // 假设响应中包含了图片的访问URL
const accessoryName = response.originalFilename; // 获取上传文件的名称
this.form.schoolAccessoryList.push({
// url: this.pev + picUrl,
accessoryUrl: picUrl,
accessoryName: accessoryName
});
console.log('this.form.schoolAccessoryList', this.form.schoolAccessoryList);
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!type) {
this.$message.error('图片格式不正确!(只能包含jpg,png,webp,JPEG)')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return type && isLt2M
},
//查询列表
getList() {
listAwardsgr(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
// 获取组织机构
getDeptTree() {
getdeptTree().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
// 当选择组织机构后触发的方法
deptIdAndName(node) {
console.log(node, 'node');
this.form.competentDeptId = node.id;
this.getLeader(this.form.competentDeptId); // 调用获取部门主任的方法并传递选中的组织机构id
},
getLeader(competentDeptId) {
getDeptLeader({ competentDeptId }).then(response => { // 使用 ES6 简写对象字面量
this.getDeptLeaders = response.rows;
console.log(response.rows, 'response.rows');
console.log(this.getDeptLeaders, 'getDeptLeaders');
}).catch(error => {
console.error('Error while fetching department leaders: ' + error);
});
},
resetQuery() {
this.queryForm = {
awardsLevel: "",
awardsType: "",
startTime: "",
endTime: "",
competentDeptId: null,
},
this.schoolAccessoryList = [],
this.getList();
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
});
} else {
addawardsgr(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
});
}
}
});
},
},
}
</script>
<style lang="scss" scoped>
.custom-blue-button {
background: #409eff;
/* 蓝色 */
border-color: #409eff;
/* 也可以设置边框颜色 */
color: #fff;
/* 按钮文字颜色 */
}
</style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="获奖级别" prop="awardsLevel">
<el-select v-model="queryForm.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="获奖类型">
<el-select v-model="queryForm.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="时间段">
<el-date-picker v-model="queryForm.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-model="queryForm.endTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="主导部门">
<Treeselect v-model="queryForm.competentDeptId" :options="deptOptions" :show-count="true" placeholder="请选择"
:defaultExpandLevel=1 style="width: 208px" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-row>
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="competitionName" label="比赛名称" />
<el-table-column align="center" prop="awardsName" label="获奖名称" />
<el-table-column align="center" prop="competentDept" label="主导部门" />
<el-table-column align="center" prop="awardsLevel" label="获奖级别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_level, row.awardsLevel) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="awardsType" label="获奖类型">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_type, row.awardsType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="deptDirector" label="部门主任" />
<el-table-column align="center" prop="organizer" label="主办单位" />
<el-table-column align="center" prop="awardsTime" label="获奖时间" />
<el-table-column align="center" prop="证书图片" label="证书图片">
<template slot-scope="scope">
<el-carousel :interval="4000" height="100px">
<el-carousel-item v-for="(item, index) in scope.row.schoolAccessoryList" :key="index">
<el-image style="width: 100px; height: 100px" :src="pev + item.accessoryUrl"
:preview-src-list="[pev + item.accessoryUrl]"></el-image>
</el-carousel-item>
</el-carousel>
</template>
</el-table-column>
<el-table-column align="center" prop="remark" label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<div>
<div>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleExamine(scope.row)"
type="text" size="small">审核</el-button>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleEdit(scope.row)"
type="text" size="small">编辑</el-button>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleDelete(scope.row)"
type="text" size="small">删除</el-button>
</div>
<el-button v-if="scope.row.auditState === '2'" @click="handleEdit(scope.row)" type="text"
size="small">编辑</el-button>
<el-button v-if="scope.row.auditState === '2'" @click="handleDelete(scope.row)" type="text"
size="small">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="110px" :rules="rules">
<el-row>
<el-col :span="24">
<el-form-item label="比赛名称" prop="competitionName">
<el-input v-model="form.competitionName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="主办单位" prop="organizer">
<el-input v-model="form.organizer" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖名称" prop="awardsName">
<el-input v-model="form.awardsName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主管部门" prop="competentDeptId">
<Treeselect v-model="form.competentDeptId" :options="deptOptions" :show-count="true"
placeholder="请选择" :default-expand-level=1 :style="{ width: '100%' }"
@select="deptIdAndName" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="部门主任" prop="deptDirectorId">
<el-select v-model="form.deptDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in getDeptLeaders" :key="item.id" :label="item.teacherName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardsTime">
<el-date-picker v-model="form.awardsTime" type="date" placeholder="选择" value-format="yyyy-MM-dd"
:style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardsLevel">
<el-select v-model="form.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类型" prop="awardsType">
<el-select v-model="form.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2"
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="证书图片" prop="schoolAccessoryList">
<el-upload v-loading="uploadLoading" class="avatar-uploader" :action="uploadFileUrl"
accept="image/*" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :on-remove="handleRemove">
<div v-if="form.schoolAccessoryList.length === 0">
<i class="el-icon-plus avatar-uploader-icon"></i>
</div>
<div v-else>
<div v-for="(item, index) in form.schoolAccessoryList" :key="index">
<img :src="pev + item.accessoryUrl" class="avatar" />
</div>
</div>
</el-upload>
<i class="el-icon-delete" @click="handleRemove(index)"></i>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addawards,
updateAwards,
listAwards,
getAwards,
delAwards,
subApply,
getdeptTree,
getDeptLeader,
addawardsgr,
listAwardsgr,
listAwardstg
} from '@/api/smartSchool/awardsDisciplinary/schoolAwards/awardManagement'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
export default {
name: 'index',
components: { Treeselect, picAvatar },
dicts: ['awards_type', 'awards_level'],
data() {
return {
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
queryForm: {
awardsLevel: "",
awardsType: "",
startTime: "",
endTime: "",
competentDeptId: null,
},
uploadLoading: false,
pev: process.env.VUE_APP_BASE_API,
getDeptLeaders: [],
deptOptions: [],
//表格数据
tableData: [],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
rules: {
competitionName: [
{ required: true, message: "比赛名称不能为空", trigger: "change" }
],
organizer: [
{ required: true, message: "主办单位不能为空", trigger: "change" }
],
awardsName: [
{ required: true, message: "获奖名称不能为空", trigger: "change" }
],
competentDeptId: [
{ required: true, message: "主管部门不能为空", trigger: "change" }
],
awardsTime: [
{ required: true, message: "获奖时间不能为空", trigger: "change" }
],
deptDirectorId: [
{ required: true, message: "部门主任不能为空", trigger: "change" }
],
awardsLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
awardsType: [
{ required: true, message: "获奖类型不能为空", trigger: "change" }
],
schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" }
],
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getList();
this.getDeptTree();
},
methods: {
handleAdd() {
this.reset();
this.dialogTableVisible = true;
},
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getAwards(id).then((response) => {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
this.schoolAccessoryList = [],
this.resetForm('form')
},
//审核
handleExamine(row) {
console.log(row, 'row');
this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '同意',
cancelButtonText: '不同意',
confirmButtonClass: 'custom-blue-button',
cancelButtonClass: 'custom-blue-button'
})
.then(() => {
// 弹出确认框,用户点击同意后执行的逻辑
const params = {
id: row.id,
auditState: '2' // 表示同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
});
this.getList();
}
});
})
.catch(() => {
// 用户点击不同意或者取消后执行的逻辑
const params = {
id: row.id,
auditState: '3' // 表示不同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'info',
message: '已取消审核'
});
}
});
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delAwards(row.id);
}).then(() => {
this.getList();
this.loading = false;
this.$modal.msgSuccess("删除成功");
}).catch(() => {
this.loading = false
});
},
// 移除图片
handleRemove(index) {
this.form.schoolAccessoryList.splice(index, 1);
},
// 上传成功回调
handleAvatarSuccess(response, file) {
console.log('response', response);
console.log('file', file);
// 处理上传成功的逻辑
const picUrl = response.fileName; // 假设响应中包含了图片的访问URL
const accessoryName = response.originalFilename; // 获取上传文件的名称
this.form.schoolAccessoryList.push({
// url: this.pev + picUrl,
accessoryUrl: picUrl,
accessoryName: accessoryName
});
console.log('this.form.schoolAccessoryList', this.form.schoolAccessoryList);
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!type) {
this.$message.error('图片格式不正确!(只能包含jpg,png,webp,JPEG)')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return type && isLt2M
},
//查询列表
getList() {
listAwards(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
// 获取组织机构
getDeptTree() {
getdeptTree().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
// 当选择组织机构后触发的方法
deptIdAndName(node) {
console.log(node, 'node');
this.form.competentDeptId = node.id;
this.getLeader(this.form.competentDeptId); // 调用获取部门主任的方法并传递选中的组织机构id
},
getLeader(competentDeptId) {
getDeptLeader({ competentDeptId }).then(response => { // 使用 ES6 简写对象字面量
this.getDeptLeaders = response.rows;
console.log(response.rows, 'response.rows');
console.log(this.getDeptLeaders, 'getDeptLeaders');
}).catch(error => {
console.error('Error while fetching department leaders: ' + error);
});
},
resetQuery() {
this.queryForm = {
awardsLevel: "",
awardsType: "",
startTime: "",
endTime: "",
competentDeptId: null,
},
this.schoolAccessoryList = [],
this.getList();
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
});
} else {
addawards(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
});
}
}
});
},
},
}
</script>
<style lang="scss" scoped>
.custom-blue-button {
background: #409eff;
/* 蓝色 */
border-color: #409eff;
/* 也可以设置边框颜色 */
color: #fff;
/* 按钮文字颜色 */
}
</style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="获奖级别" prop="awardsLevel">
<el-select v-model="queryForm.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="获奖类型">
<el-select v-model="queryForm.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="时间段">
<el-date-picker v-model="queryForm.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-model="queryForm.endTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="主导部门">
<Treeselect v-model="queryForm.competentDeptId" :options="deptOptions" :show-count="true" placeholder="请选择"
:defaultExpandLevel=1 style="width: 208px" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="competitionName" label="比赛名称" />
<el-table-column align="center" prop="awardsName" label="获奖名称" />
<el-table-column align="center" prop="competentDept" label="主导部门" />
<el-table-column align="center" prop="awardsLevel" label="获奖级别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_level, row.awardsLevel) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="awardsType" label="获奖类型">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.awards_type, row.awardsType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="deptDirector" label="部门主任" />
<el-table-column align="center" prop="organizer" label="主办单位" />
<el-table-column align="center" prop="awardsTime" label="获奖时间" />
<el-table-column align="center" prop="证书图片" label="证书图片">
<template slot-scope="scope">
<el-carousel :interval="4000" height="100px">
<el-carousel-item v-for="(item, index) in scope.row.schoolAccessoryList" :key="index">
<el-image style="width: 100px; height: 100px" :src="pev + item.accessoryUrl"
:preview-src-list="[pev + item.accessoryUrl]"></el-image>
</el-carousel-item>
</el-carousel>
</template>
</el-table-column>
<el-table-column align="center" prop="remark" label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<div>
<el-button @click="handleEdit(scope.row)" type="text" size="small">查看</el-button>
</div>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 查看弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="110px" :rules="rules">
<el-row>
<el-col :span="24">
<el-form-item label="比赛名称" prop="competitionName">
<el-input v-model="form.competitionName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="主办单位" prop="organizer">
<el-input v-model="form.organizer" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖名称" prop="awardsName ">
<el-input v-model="form.awardsName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主管部门" prop="competentDeptId">
<Treeselect v-model="form.competentDeptId" :options="deptOptions" :show-count="true"
placeholder="请选择" :default-expand-level=1 :style="{ width: '100%' }"
@change="onOrgSelect" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="部门主任" prop="deptDirectorId">
<el-select v-model="form.deptDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in getDeptLeaders" :key="item.id" :label="item.teacherName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardsTime">
<el-date-picker v-model="form.awardsTime" type="date" placeholder="选择" value-format="yyyy-MM-dd"
:style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardsLevel">
<el-select v-model="form.awardsLevel" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类型" prop="awardsType">
<el-select v-model="form.awardsType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.awards_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2"
:style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="证书图片" prop="schoolAccessoryList">
<el-upload v-loading="uploadLoading" class="avatar-uploader" :action="uploadFileUrl"
accept="image/*" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :on-remove="handleRemove">
<div v-if="form.schoolAccessoryList.length === 0">
<i class="el-icon-plus avatar-uploader-icon"></i>
</div>
<div v-else>
<div v-for="(item, index) in form.schoolAccessoryList" :key="index">
<img :src="pev + item.accessoryUrl" class="avatar" />
</div>
</div>
</el-upload>
<i class="el-icon-delete" @click="handleRemove(index)"></i>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addawardsgr,
updateAwards,
getAwards,
delAwards,
subApply,
getdeptTree,
getDeptLeader,
listAwardstg
} from '@/api/smartSchool/awardsDisciplinary/schoolAwards/awardManagement'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
export default {
name: 'index',
components: { Treeselect, picAvatar },
dicts: ['awards_type', 'awards_level'],
data() {
return {
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
queryForm: {
pageNum: 1,
pageSize: 10,
awardsLevel: "",
awardsType: "",
startTime: "",
endTime: "",
competentDeptId: null,
},
uploadLoading: false,
pev: process.env.VUE_APP_BASE_API,
getDeptLeaders: [],
deptOptions: [],
//表格数据
tableData: [],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
rules: {
competitionName: [
{ required: true, message: "比赛名称不能为空", trigger: "change" }
],
organizer: [
{ required: true, message: "主办单位不能为空", trigger: "change" }
],
awardsName: [
{ required: true, message: "获奖名称不能为空", trigger: "change" }
],
competentDeptId: [
{ required: true, message: "主管部门不能为空", trigger: "change" }
],
awardsTime: [
{ required: true, message: "获奖时间不能为空", trigger: "change" }
],
deptDirectorId: [
{ required: true, message: "部门主任不能为空", trigger: "change" }
],
awardsLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
awardsType: [
{ required: true, message: "获奖类型不能为空", trigger: "change" }
],
schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" }
],
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getList();
this.getDeptTree();
},
methods: {
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getAwards(id).then((response) => {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
this.schoolAccessoryList = [],
this.resetForm('form')
},
// 移除图片
handleRemove(index) {
this.form.schoolAccessoryList.splice(index, 1);
},
// 上传成功回调
handleAvatarSuccess(response, file) {
console.log('response', response);
console.log('file', file);
// 处理上传成功的逻辑
const picUrl = response.fileName; // 假设响应中包含了图片的访问URL
const accessoryName = response.originalFilename; // 获取上传文件的名称
this.form.schoolAccessoryList.push({
// url: this.pev + picUrl,
accessoryUrl: picUrl,
accessoryName: accessoryName
});
console.log('this.form.schoolAccessoryList', this.form.schoolAccessoryList);
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!type) {
this.$message.error('图片格式不正确!(只能包含jpg,png,webp,JPEG)')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return type && isLt2M
},
//查询列表
getList() {
listAwardstg(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
// 获取组织机构
getDeptTree() {
getdeptTree().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
// 当选择组织机构后触发的方法
onOrgSelect(selectedOrgId) {
alert(111)
console.log(selectedOrgId, 'selectedOrgId');
alert(111)
this.getLeader(form.competentDeptId); // 传递选中组织机构的 id 给 getLeader 方法
},
getLeader() {
this.form.competentDeptId = id;
getDeptLeader(id).then(response => {
this.getDeptLeaders = response.rows;
console.log(response.rows, 'response.rows');
console.log(this.getDeptLeaders, 'getDeptLeaders');
}).catch(error => {
console.error('Error while fetching department leaders: ' + error);
});
},
resetQuery() {
this.form = {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
},
this.schoolAccessoryList = [],
this.getList();
},
},
}
</script>
<style lang="scss" scoped>
.custom-blue-button {
background: #409eff;
/* 蓝色 */
border-color: #409eff;
/* 也可以设置边框颜色 */
color: #fff;
/* 按钮文字颜色 */
}
</style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="届别" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="年级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="班级类型">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="违纪类别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="违纪次数">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="处分结果">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="处分时间">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" :default-sort="{ prop: 'time', order: 'ascending' }" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" sortable label="学年" />
<el-table-column align="center" prop="grade" sortable label="学期" />
<el-table-column align="center" prop="grade" sortable label="届别" />
<el-table-column align="center" prop="grade" sortable label="年级" />
<el-table-column align="center" prop="grade" sortable label="班级" />
<el-table-column align="center" prop="grade" sortable label="班级类型" />
<el-table-column align="center" prop="grade" sortable label="姓名" />
<el-table-column align="center" prop="grade" sortable label="性别" />
<el-table-column align="center" prop="grade" sortable label="身份证号" />
<el-table-column align="center" prop="grade" sortable label="班主任" />
<el-table-column align="center" prop="grade" sortable label="级部主任" />
<el-table-column align="center" prop="grade" sortable label="违纪类别" />
<el-table-column align="center" prop="grade" sortable label="违纪次数" />
<el-table-column align="center" prop="grade" sortable label="处分结果" />
<el-table-column align="center" prop="time" sortable label="处分时间" />
<el-table-column align="center" prop="grade" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 查看 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="届别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年级" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级类型" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违纪类别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分结果" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分时间" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import {
// getList,
// getSemester,
// getTeacherxq,
// getGradelist
// } from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
},
gradeLists: [],
//表格数据
tableData: [
{ grade: '111', time: '2023-12-12' },
{ grade: '111', time: '2023-12-13' },
{ grade: '111', time: '2023-12-14' },
{ grade: '111', time: '2023-12-15' },
],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getList();
},
methods: {
handleAdd() {
this.dialogTableVisible = true;
},
handleEdit() {
this.dialogTableVisible = true;
},
cancelDialog() {
this.dialogTableVisible = false;
},
//审核
handleExamine() {
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delArea(row.id);
}).then(() => {
this.getList();
this.loading = false;
this.$modal.msgSuccess("删除成功");
}).catch(() => {
this.loading = false
});
},
getList() {
getList(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
resetQuery() {
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
sub: "",
grade: "",
experimentName: "",
};
this.getList();
},
},
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-input v-model="queryForm.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-select v-model="queryForm.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="queryForm.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="年级" prop="gradeId">
<el-select v-model="queryForm.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="handleChange">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryForm.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.className"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级类型">
<el-select v-model="queryForm.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="queryForm.name" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="queryForm.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="queryForm.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="queryForm.classTeacher" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="违纪类别">
<el-select v-model="queryForm.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="违纪次数">
<el-select v-model="queryForm.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分结果">
<el-select v-model="queryForm.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分时间">
<el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择"
clearable>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-row>
</el-form>
<el-table :data="tableData" :default-sort="{ prop: 'time', order: 'ascending' }" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="schoolYear" sortable label="学年" />
<el-table-column align="center" prop="semester" sortable label="学期">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.semester, row.semester) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="gradeYear" sortable label="届别" />
<el-table-column align="center" prop="gradeName" sortable label="年级" />
<el-table-column align="center" prop="className " sortable label="班级" />
<el-table-column align="center" prop="classType" sortable label="班级类型" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.grade_type, row.classType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="name" sortable label="姓名" />
<el-table-column align="center" prop="sex" sortable label="性别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.sys_user_sex, row.sex) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" />
<el-table-column align="center" prop="violateType" sortable label="违纪类别" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="violateNum" sortable label="违纪次数" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_num, row.violateNum) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishResult" sortable label="处分结果" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.punish_result, row.punishResult) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishTime" sortable label="处分时间" width="100" />
<el-table-column align="center" prop="remark" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="handleExamine(scope.row)" type="text" size="small">审核</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="学年" prop="schoolYear">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期" prop="semester">
<el-input v-model="form.semester" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="form.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年级" prop="gradeId">
<el-select v-model="form.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="getClasslist(form.gradeId)">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="classId">
<el-select v-model="form.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.className"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="classTeacher">
<el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="gradeDirector">
<el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违纪类别" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" clearable :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
:rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listDiscipline,// 查看学生违纪列表(管理员)
listDisciplinegr,//查看学生违纪列表(个人)
getDiscipline,//查看详情
addDiscipline,// 新增学生违纪(管理员)
addDisciplinegr,// 新增学生违纪(个人)
updateDiscipline,// 编辑学生违纪
delDiscipline,// 删除学生违纪
subApply,//提交
getGrade,// 获取最新三个年级
getClassList,// 根据年级获取班级,
listDisciplinetg//查看已通过
} from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen'
export default {
name: 'index',
dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'grade_type', 'semester'],
data() {
return {
queryForm: {
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
gradeLists: [],
//表格数据
tableData: [
],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
gradeDirector: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
//弹窗
dialogTableVisible: false,
total: 0,
gradeList: [],
classList: [],
}
},
created() {
this.getList();
this.getGradelist();
},
methods: {
handleAdd() {
this.reset();
this.dialogTableVisible = true;
},
//修改
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
//查看
handleLook(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
gradeDirector: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
this.resetForm('form')
},
//审核
handleExamine(row) {
console.log(row, 'row');
this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '同意',
cancelButtonText: '不同意',
confirmButtonClass: 'custom-blue-button',
cancelButtonClass: 'custom-blue-button'
})
.then(() => {
// 弹出确认框,用户点击同意后执行的逻辑
const params = {
id: row.id,
auditState: '2' // 表示同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
});
this.getList();
}
});
})
.catch(() => {
// 用户点击不同意或者取消后执行的逻辑
const params = {
id: row.id,
auditState: '3' // 表示不同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'info',
message: '已取消审核'
});
}
});
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delDiscipline(row.id);
}).then(() => {
this.getList();
this.loading = false;
this.$modal.msgSuccess("删除成功");
}).catch(() => {
this.loading = false
});
},
getList() {
listDiscipline(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDiscipline(this.form).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
});
} else {
addDiscipline(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
});
}
}
});
},
// 获取最新三个年级
getGradelist() {
getGrade().then(response => {
this.loading = false;
this.gradeList = response.data;
this.getClasslist()
console.log("this.gradeList", this.gradeList);
});
},
handleChange(selectedGrade) {
console.log(selectedGrade, 'selectedGrade');
this.getClasslist(selectedGrade); // 传递选择的年级id作为参数
},
// 根据年级获取班级
getClasslist(selectedGrade) {
const query = { gradeId: selectedGrade }; // 创建包含gradeId的对象
getClassList(query).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
},
resetQuery() {
this.queryForm = {
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
this.getList();
},
},
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="届别" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="年级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="班级类型">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="违纪类别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="违纪次数">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="处分结果">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="处分时间">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-row>
</el-form>
<el-table :data="tableData" :default-sort="{ prop: 'time', order: 'ascending' }" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" sortable label="学年" />
<el-table-column align="center" prop="grade" sortable label="学期" />
<el-table-column align="center" prop="grade" sortable label="届别" />
<el-table-column align="center" prop="grade" sortable label="年级" />
<el-table-column align="center" prop="grade" sortable label="班级" />
<el-table-column align="center" prop="grade" sortable label="班级类型" />
<el-table-column align="center" prop="grade" sortable label="姓名" />
<el-table-column align="center" prop="grade" sortable label="性别" />
<el-table-column align="center" prop="grade" sortable label="身份证号" />
<el-table-column align="center" prop="grade" sortable label="班主任" />
<el-table-column align="center" prop="grade" sortable label="级部主任" />
<el-table-column align="center" prop="grade" sortable label="违纪类别" />
<el-table-column align="center" prop="grade" sortable label="违纪次数" />
<el-table-column align="center" prop="grade" sortable label="处分结果" />
<el-table-column align="center" prop="time" sortable label="处分时间" />
<el-table-column align="center" prop="grade" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="handleExamine(scope.row)" type="text" size="small">审核</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="届别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年级" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级类型" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违纪类别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分结果" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分时间" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import {
// getList,
// getSemester,
// getTeacherxq,
// getGradelist
// } from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
},
gradeLists: [],
//表格数据
tableData: [
{ grade: '111', time: '2023-12-12' },
{ grade: '111', time: '2023-12-13' },
{ grade: '111', time: '2023-12-14' },
{ grade: '111', time: '2023-12-15' },
],
//查看弹窗表格
ExperimentalData: [],
form: {
pageNum: 1,
pageSize: 10,
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getList();
},
methods: {
handleAdd() {
this.dialogTableVisible = true;
},
handleEdit() {
this.dialogTableVisible = true;
},
cancelDialog() {
this.dialogTableVisible = false;
},
//审核
//审核
handleExamine(row) {
this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
submitApply(row, row.id).then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
})
this.getList()
}
})
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消提交'
})
})
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delArea(row.id);
}).then(() => {
this.getList();
this.loading = false;
this.$modal.msgSuccess("删除成功");
}).catch(() => {
this.loading = false
});
},
getList() {
getList(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
resetQuery() {
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
sub: "",
grade: "",
experimentName: "",
};
this.getList();
},
},
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
......@@ -66,7 +66,7 @@
<!-- 新增或修改采购对话框 -->
<el-dialog :title="title" :visible.sync="openForPur" width="1000px" @close="refreshValidate">
<!-- <div> -->
<el-form ref="formPur" :model="formPur" :disabled="formPurDisable" :rules="rules" label-width="110px" inline>
<el-form ref="formPur" :model="formPur" :disabled="formPurDisable" :rules="rules" label-width="110px" >
<el-row>
<el-col :span="22">
<el-form-item label="标题" prop="purchaseName">
......
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