Commit 8fa8ef2e by duxingshan

Merge remote-tracking branch 'origin/master'

parents 7a11f08a 8d6055af
import request from "@/utils/request";
// 报修
export function listTeacherbx(query) {
return request({
url: "/teacher/teacherjy/bxlist",
method: "get",
params: query,
});
}
// 领用
export function listTeacherly(query) {
return request({
url: "/teacher/teacherjy/lylist",
method: "get",
params: query,
});
}
// 借用
export function listTeacherjy(query) {
return request({
url: "/teacher/teacherjy/jylist",
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="1693271473479" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31779" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M618.688 214.016c27.2 37.76 32.32 69.952 22.592 132.16-7.68 48.32-7.68 53.888 5.12 53.888 12.288 0 22.528 91.648-27.2 107.712 0 0-2.56 53.888-20.032 75.52-12.288 16.128-24.576 16.128 24.64 62.208 44.608 40.576 122.112 72.768 181.568 94.464 59.52 21.632 72.32 78.272 72.32 156.032H512v-0.576H146.304c0-78.272 12.288-132.16 72.32-156.032 59.52-24.448 136.96-53.888 181.568-94.4 49.728-45.568 37.44-45.568 24.64-62.208-17.472-21.696-20.032-75.52-20.032-75.52-51.84-15.552-39.488-107.2-27.2-107.2 12.352 0 12.352-5.568 5.12-53.888-9.728-62.208-5.12-94.4 22.592-132.16 25.6-35.584 97.536-42.56 105.856-43.264l0.832-0.064s79.488 5.504 106.688 43.328zM805.376 460.8h0.832c6.4 0.384 48.384 3.392 63.232 21.76 18.176 18.432 20.288 35.008 14.08 65.792-5.76 25.6-5.76 27.456 2.048 27.456 7.872 0 14.08 45.824-16.128 52.992 0 0-2.048 27.456-11.968 38.336-7.872 7.104-16.128 7.104 14.08 30.784 25.984 19.968 72.32 36.48 108.224 47.36 33.6 10.048 42.88 35.52 44.096 69.504l0.128 8.704h-96.256s6.144-76.288-56.256-95.104c-59.904-18.048-116.096-45.44-116.096-45.44s7.872-40.256-4.16-49.28c-21.888-18.048-17.728-30.784-7.808-54.464 9.92-23.68 9.92-39.872 7.808-56.384-1.6-18.432-19.84-27.456-19.84-27.456 3.776-3.712 5.824-8.96 9.984-12.8 14.848-18.368 56.832-21.376 63.232-21.76h1.6-0.832z m-522.752 21.76c4.16 3.84 6.208 9.088 9.92 12.8 0 0-18.176 9.024-19.84 27.456-2.048 16.512-2.048 32.64 7.872 56.32s14.08 36.48-7.808 54.528c-12.032 9.024-4.16 49.28-4.16 49.28s-56.192 27.392-116.096 45.44c-62.4 18.816-56.256 95.104-56.256 95.104H0c0-38.4 7.872-67.264 44.16-78.208 36.032-10.88 82.304-27.392 108.352-47.36 30.08-23.68 21.888-23.68 14.08-30.784-9.984-10.88-12.032-38.4-12.032-38.4-30.208-7.04-24-52.928-16.128-52.928s7.872-1.92 2.048-27.456c-6.208-30.784-4.096-47.36 14.08-65.728 14.848-18.432 56.832-21.44 63.232-21.76l0.832-0.064s47.936 1.92 64 21.76z" p-id="31780"></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="1693207404210" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4728" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M224 64A96 96 0 0 0 128 160v704A96 96 0 0 0 224 960H512a32 32 0 0 0 0-64H224a32 32 0 0 1-32-32v-704a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32V384a32 32 0 0 0 64 0V160A96 96 0 0 0 800 64h-576z m512 416a64 64 0 0 0-64 64v144.896a32 32 0 0 1-3.392 14.336l-82.496 164.928a96 96 0 0 0-10.112 42.944v16.896a64 64 0 0 0 64 64h256a64 64 0 0 0 64-64v-16.896a96 96 0 0 0-10.112-42.88l-82.56-165.056a32 32 0 0 1-3.328-14.272V544a64 64 0 0 0-64-64h-64z m0 64h64v144.896c0 14.912 3.456 29.632 10.112 42.88l82.56 165.056a32 32 0 0 1 3.328 14.272v16.896h-256v-16.896a32 32 0 0 1 3.392-14.336l82.496-164.928a96 96 0 0 0 10.112-42.944V544zM256 352a32 32 0 0 1 32-32h256a32 32 0 0 1 0 64h-256a32 32 0 0 1-32-32zM288 448a32 32 0 0 0 0 64h192a32 32 0 0 0 0-64h-192z" fill="#2A2E3C" fill-opacity=".64" p-id="4729"></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="1693207404210" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4728" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M224 64A96 96 0 0 0 128 160v704A96 96 0 0 0 224 960H512a32 32 0 0 0 0-64H224a32 32 0 0 1-32-32v-704a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32V384a32 32 0 0 0 64 0V160A96 96 0 0 0 800 64h-576z m512 416a64 64 0 0 0-64 64v144.896a32 32 0 0 1-3.392 14.336l-82.496 164.928a96 96 0 0 0-10.112 42.944v16.896a64 64 0 0 0 64 64h256a64 64 0 0 0 64-64v-16.896a96 96 0 0 0-10.112-42.88l-82.56-165.056a32 32 0 0 1-3.328-14.272V544a64 64 0 0 0-64-64h-64z m0 64h64v144.896c0 14.912 3.456 29.632 10.112 42.88l82.56 165.056a32 32 0 0 1 3.328 14.272v16.896h-256v-16.896a32 32 0 0 1 3.392-14.336l82.496-164.928a96 96 0 0 0 10.112-42.944V544zM256 352a32 32 0 0 1 32-32h256a32 32 0 0 1 0 64h-256a32 32 0 0 1-32-32zM288 448a32 32 0 0 0 0 64h192a32 32 0 0 0 0-64h-192z" fill="#2A2E3C" fill-opacity=".64" p-id="4729"></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="1693210995992" class="icon" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30500" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.390625" height="200"><path d="M118.1696 484.4544h196.9152a118.1696 118.1696 0 0 0 118.1696-118.1696V169.3696A118.1696 118.1696 0 0 0 315.0848 51.2H118.1696A118.1696 118.1696 0 0 0 0 169.3696v196.9152a118.1696 118.1696 0 0 0 118.1696 118.1696z m-39.3728-315.136c0-21.76 17.6128-39.3728 39.3728-39.3728l196.9152 0.0512c21.76 0 39.3728 17.6128 39.3728 39.3728v196.9152a39.3728 39.3728 0 0 1-39.3728 39.3728H118.1696a39.3728 39.3728 0 0 1-39.3728-39.3728V169.3184zM984.6272 720.7424h-433.2544a39.3728 39.3728 0 1 0 0 78.7456h433.2544a39.3728 39.3728 0 1 0 0-78.7456zM984.6272 208.7424h-433.2544a39.3728 39.3728 0 1 0 0 78.7456h433.2544a39.3728 39.3728 0 1 0 0-78.7456zM118.1696 996.4544h196.9152a118.1696 118.1696 0 0 0 118.1696-118.1696v-196.9152A118.1696 118.1696 0 0 0 315.0848 563.2H118.1696A118.1696 118.1696 0 0 0 0 681.3696v196.9152a118.1696 118.1696 0 0 0 118.1696 118.1696z m-39.3728-315.136c0-21.76 17.6128-39.3728 39.3728-39.3728l196.9152 0.0512c21.76 0 39.3728 17.6128 39.3728 39.3728v196.864a39.3728 39.3728 0 0 1-39.3728 39.3728H118.1696a39.3728 39.3728 0 0 1-39.3728-39.3728v-196.9152z" p-id="30501"></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="1693210995992" class="icon" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30500" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.390625" height="200"><path d="M118.1696 484.4544h196.9152a118.1696 118.1696 0 0 0 118.1696-118.1696V169.3696A118.1696 118.1696 0 0 0 315.0848 51.2H118.1696A118.1696 118.1696 0 0 0 0 169.3696v196.9152a118.1696 118.1696 0 0 0 118.1696 118.1696z m-39.3728-315.136c0-21.76 17.6128-39.3728 39.3728-39.3728l196.9152 0.0512c21.76 0 39.3728 17.6128 39.3728 39.3728v196.9152a39.3728 39.3728 0 0 1-39.3728 39.3728H118.1696a39.3728 39.3728 0 0 1-39.3728-39.3728V169.3184zM984.6272 720.7424h-433.2544a39.3728 39.3728 0 1 0 0 78.7456h433.2544a39.3728 39.3728 0 1 0 0-78.7456zM984.6272 208.7424h-433.2544a39.3728 39.3728 0 1 0 0 78.7456h433.2544a39.3728 39.3728 0 1 0 0-78.7456zM118.1696 996.4544h196.9152a118.1696 118.1696 0 0 0 118.1696-118.1696v-196.9152A118.1696 118.1696 0 0 0 315.0848 563.2H118.1696A118.1696 118.1696 0 0 0 0 681.3696v196.9152a118.1696 118.1696 0 0 0 118.1696 118.1696z m-39.3728-315.136c0-21.76 17.6128-39.3728 39.3728-39.3728l196.9152 0.0512c21.76 0 39.3728 17.6128 39.3728 39.3728v196.864a39.3728 39.3728 0 0 1-39.3728 39.3728H118.1696a39.3728 39.3728 0 0 1-39.3728-39.3728v-196.9152z" p-id="30501"></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="1693211059655" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="36735" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M621.67 686.49a55.21 55.21 0 0 0-17 40.91c0.13 19.7 12.42 32.26 20.14 39.9l92.51 102.64q0.53 0.59 1.09 1.14l0.07 0.07c4.51 4.39 13.89 13.53 30.39 13.53 23.42 0 41.09-17.65 41.09-41v-39c38.78 4.11 68.62 25.32 94.67 66.6 7.82 14.71 19.41 22.16 34.47 22.16 19.41 0 41-16.86 41-41a24.21 24.21 0 0 0-0.16-2.75c-0.21-1.87-0.42-4.74-0.66-8.06-1.61-22.17-5-68.29-30.26-110.27a164.36 164.36 0 0 0-58.74-57.83c-22.75-13.25-49.74-22-80.45-26.15v-31.73c0-11.16-4.9-22.46-13.43-31s-19.83-13.43-31-13.43c-17.09 0-26.72 9.88-30.82 14.1l-0.48 0.51z m31.59 39.92a6.66 6.66 0 0 1 2.15-5q0.74-0.68 1.42-1.43l84.53-92v41.31a24.28 24.28 0 0 0 22.86 24.24c106.36 6.23 135.4 67.14 144.14 127.22-14.88-18.58-31.06-32.95-49-43.56C832 761 800 753.71 764.44 755.61a24.28 24.28 0 0 0-23 24.24v44.28l-81-89.86q-0.47-0.53-1-1c-1.69-1.73-5.17-5.16-6.18-6.85zM538.13 855.62h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.5 4.39 24.89 24.89 24.89h52.7c20.5 0 24.89-4.39 24.89-24.89v-54.15c-1.46-20.51-5.85-24.89-24.89-24.89zM362.48 855.62h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.5 4.39 24.89 24.89 24.89h52.7c20.49 0 24.88-4.39 24.88-24.89v-54.15c-1.47-20.51-5.86-24.89-24.88-24.89zM362.48 667.9h-52.7c-20.49 0-24.89 4.39-24.89 24.88v52.7c0 20.49 4.39 24.88 24.89 24.88h52.7c20.49 0 24.88-4.39 24.88-24.88v-54.15c-1.47-19.04-5.86-23.43-24.88-23.43zM485.43 490.78c-20.49 0-24.88 4.39-24.88 24.88v54.16c0 20.5 4.39 24.89 24.88 24.89h52.7c20.49 0 24.88-4.39 24.88-24.89v-54.16c-1.46-20.49-5.85-24.88-24.88-24.88zM538.13 667.9h-52.7c-20.49 0-24.89 4.39-24.89 24.88v52.7c0 20.49 4.39 24.88 24.89 24.88h52.7c20.5 0 24.89-4.39 24.89-24.88v-54.15c-1.46-19.04-5.85-23.43-24.89-23.43zM362.48 490.78h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.49 4.39 24.88 24.89 24.88h52.7c20.49 0 24.88-4.39 24.88-24.88v-54.16c-1.47-21.95-5.86-24.88-24.88-24.88z" p-id="36736"></path><path d="M914.29 427.93A28.7 28.7 0 1 0 948.68 382l-419-313.65a28.7 28.7 0 0 0-34.37 0L75.53 382a28.7 28.7 0 1 0 34.35 46l40.54-30.3v533.17a28.69 28.69 0 0 0 57.38 0v-576.1l304.65-227.63z" p-id="36737"></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="1693211059655" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="36735" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M621.67 686.49a55.21 55.21 0 0 0-17 40.91c0.13 19.7 12.42 32.26 20.14 39.9l92.51 102.64q0.53 0.59 1.09 1.14l0.07 0.07c4.51 4.39 13.89 13.53 30.39 13.53 23.42 0 41.09-17.65 41.09-41v-39c38.78 4.11 68.62 25.32 94.67 66.6 7.82 14.71 19.41 22.16 34.47 22.16 19.41 0 41-16.86 41-41a24.21 24.21 0 0 0-0.16-2.75c-0.21-1.87-0.42-4.74-0.66-8.06-1.61-22.17-5-68.29-30.26-110.27a164.36 164.36 0 0 0-58.74-57.83c-22.75-13.25-49.74-22-80.45-26.15v-31.73c0-11.16-4.9-22.46-13.43-31s-19.83-13.43-31-13.43c-17.09 0-26.72 9.88-30.82 14.1l-0.48 0.51z m31.59 39.92a6.66 6.66 0 0 1 2.15-5q0.74-0.68 1.42-1.43l84.53-92v41.31a24.28 24.28 0 0 0 22.86 24.24c106.36 6.23 135.4 67.14 144.14 127.22-14.88-18.58-31.06-32.95-49-43.56C832 761 800 753.71 764.44 755.61a24.28 24.28 0 0 0-23 24.24v44.28l-81-89.86q-0.47-0.53-1-1c-1.69-1.73-5.17-5.16-6.18-6.85zM538.13 855.62h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.5 4.39 24.89 24.89 24.89h52.7c20.5 0 24.89-4.39 24.89-24.89v-54.15c-1.46-20.51-5.85-24.89-24.89-24.89zM362.48 855.62h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.5 4.39 24.89 24.89 24.89h52.7c20.49 0 24.88-4.39 24.88-24.89v-54.15c-1.47-20.51-5.86-24.89-24.88-24.89zM362.48 667.9h-52.7c-20.49 0-24.89 4.39-24.89 24.88v52.7c0 20.49 4.39 24.88 24.89 24.88h52.7c20.49 0 24.88-4.39 24.88-24.88v-54.15c-1.47-19.04-5.86-23.43-24.88-23.43zM485.43 490.78c-20.49 0-24.88 4.39-24.88 24.88v54.16c0 20.5 4.39 24.89 24.88 24.89h52.7c20.49 0 24.88-4.39 24.88-24.89v-54.16c-1.46-20.49-5.85-24.88-24.88-24.88zM538.13 667.9h-52.7c-20.49 0-24.89 4.39-24.89 24.88v52.7c0 20.49 4.39 24.88 24.89 24.88h52.7c20.5 0 24.89-4.39 24.89-24.88v-54.15c-1.46-19.04-5.85-23.43-24.89-23.43zM362.48 490.78h-52.7c-20.49 0-24.89 4.39-24.89 24.88v54.16c0 20.49 4.39 24.88 24.89 24.88h52.7c20.49 0 24.88-4.39 24.88-24.88v-54.16c-1.47-21.95-5.86-24.88-24.88-24.88z" p-id="36736"></path><path d="M914.29 427.93A28.7 28.7 0 1 0 948.68 382l-419-313.65a28.7 28.7 0 0 0-34.37 0L75.53 382a28.7 28.7 0 1 0 34.35 46l40.54-30.3v533.17a28.69 28.69 0 0 0 57.38 0v-576.1l304.65-227.63z" p-id="36737"></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="1693211051376" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35682" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M608 960c-4.88 0-9.78-1.11-14.31-3.38A32 32 0 0 1 576 928v-96H416c-17.67 0-32-14.33-32-32V672c0-17.67 14.33-32 32-32h160v-96a32 32 0 0 1 51.2-25.6l256 192c8.06 6.04 12.8 15.53 12.8 25.6s-4.74 19.56-12.8 25.6l-256 192c-5.65 4.23-12.4 6.4-19.2 6.4zM448 768h160c17.67 0 32 14.33 32 32v64l170.67-128L640 608v64c0 17.67-14.33 32-32 32H448v64zM927.98 448c-6.81 0-13.67-2.16-19.49-6.64L512 136.37 115.51 441.36c-14.01 10.78-34.1 8.16-44.88-5.85-10.78-14.01-8.15-34.1 5.85-44.87l416-320c11.5-8.85 27.52-8.85 39.02 0l416 320c14.01 10.78 16.63 30.87 5.85 44.87-6.29 8.19-15.78 12.49-25.37 12.49zM344 720h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM344 592h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10z" p-id="35683"></path><path d="M344 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM474.5 592h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM474.5 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM605 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10z" p-id="35684"></path><path d="M491 960H192c-17.67 0-32-14.33-32-32V343c0-17.67 14.33-32 32-32s32 14.33 32 32v553h267c17.67 0 32 14.33 32 32s-14.33 32-32 32z" p-id="35685"></path><path d="M832 574c-17.67 0-32-14.33-32-32V343c0-17.67 14.33-32 32-32s32 14.33 32 32v199c0 17.67-14.33 32-32 32z" p-id="35686"></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="1693211051376" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35682" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M608 960c-4.88 0-9.78-1.11-14.31-3.38A32 32 0 0 1 576 928v-96H416c-17.67 0-32-14.33-32-32V672c0-17.67 14.33-32 32-32h160v-96a32 32 0 0 1 51.2-25.6l256 192c8.06 6.04 12.8 15.53 12.8 25.6s-4.74 19.56-12.8 25.6l-256 192c-5.65 4.23-12.4 6.4-19.2 6.4zM448 768h160c17.67 0 32 14.33 32 32v64l170.67-128L640 608v64c0 17.67-14.33 32-32 32H448v64zM927.98 448c-6.81 0-13.67-2.16-19.49-6.64L512 136.37 115.51 441.36c-14.01 10.78-34.1 8.16-44.88-5.85-10.78-14.01-8.15-34.1 5.85-44.87l416-320c11.5-8.85 27.52-8.85 39.02 0l416 320c14.01 10.78 16.63 30.87 5.85 44.87-6.29 8.19-15.78 12.49-25.37 12.49zM344 720h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM344 592h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10z" p-id="35683"></path><path d="M344 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM474.5 592h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM474.5 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10zM605 464h-60c-5.52 0-10-4.48-10-10v-60c0-5.52 4.48-10 10-10h60c5.52 0 10 4.48 10 10v60c0 5.52-4.48 10-10 10z" p-id="35684"></path><path d="M491 960H192c-17.67 0-32-14.33-32-32V343c0-17.67 14.33-32 32-32s32 14.33 32 32v553h267c17.67 0 32 14.33 32 32s-14.33 32-32 32z" p-id="35685"></path><path d="M832 574c-17.67 0-32-14.33-32-32V343c0-17.67 14.33-32 32-32s32 14.33 32 32v199c0 17.67-14.33 32-32 32z" p-id="35686"></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="1693210046169" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22779" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M206.661818 553.425455h46.545455v48.407272h-46.545455zM479.418182 682.356364h46.545454v48.407272h-46.545454zM585.076364 732.16h46.545454v48.407273h-46.545454zM717.265455 716.8h46.545454v48.407273h-46.545454zM690.269091 813.149091h46.545454v48.407273h-46.545454zM432.872727 813.149091h46.545455v48.407273h-46.545455zM238.312727 660.945455h46.545455v48.407272h-46.545455zM203.869091 756.363636h46.545454v48.407273h-46.545454z" p-id="22780"></path><path d="M729.832727 472.436364l3.723637-229.934546a50.734545 50.734545 0 0 0 33.512727-12.567273 79.127273 79.127273 0 0 0 19.083636-61.905454c0-74.938182-51.665455-79.127273-55.854545-79.592727H512c-20.48 0-59.578182 18.152727-59.578182 86.574545A67.956364 67.956364 0 0 0 477.090909 232.727273a56.32 56.32 0 0 0 27.461818 10.705454v232.727273l-144.290909 264.378182V345.367273A71.214545 71.214545 0 0 0 393.309091 325.818182a76.8 76.8 0 0 0 20.48-58.181818 83.781818 83.781818 0 0 0-46.545455-67.956364 26.996364 26.996364 0 0 0-12.101818-2.792727h-218.763636a69.352727 69.352727 0 0 0-64.232727 78.196363 70.283636 70.283636 0 0 0 50.26909 67.956364c0 93.090909 4.189091 458.938182 4.189091 497.105455 0 63.767273 74.472727 95.418182 116.363637 95.418181a131.723636 131.723636 0 0 0 40.494545-7.912727 28.858182 28.858182 0 0 0 17.687273 7.447273h591.592727a57.716364 57.716364 0 0 0 50.734546-29.323637 65.629091 65.629091 0 0 0 0-66.094545c-12.567273-22.341818-185.250909-318.836364-213.643637-367.243636z m-171.287272 24.203636a27.461818 27.461818 0 0 0 3.258181-13.498182V215.04a29.789091 29.789091 0 0 0-11.636363-22.807273 29.323636 29.323636 0 0 0-25.6-3.723636 24.203636 24.203636 0 0 1-13.963637 0 23.738182 23.738182 0 0 1-2.792727-13.963636c0-20.48 4.654545-28.858182 6.981818-30.72h211.781818a46.545455 46.545455 0 0 1 4.654546 23.738181 79.127273 79.127273 0 0 1 0 19.083637 145.687273 145.687273 0 0 1-20.014546 0 28.392727 28.392727 0 0 0-21.410909 6.981818 26.530909 26.530909 0 0 0-9.309091 20.48l-4.18909 266.705454a31.650909 31.650909 0 0 0 3.723636 14.429091l59.112727 101.934546h-232.727273zM128 275.083636c0-18.152727 7.447273-20.945455 8.378182-21.410909h211.316363a24.669091 24.669091 0 0 1 10.24 17.221818 26.530909 26.530909 0 0 1-4.654545 16.756364 26.530909 26.530909 0 0 1-18.152727 5.12 27.927273 27.927273 0 0 0-27.927273 26.996364v136.843636H179.2V320.698182a28.392727 28.392727 0 0 0-26.065455-27.461818c-4.654545-0.930909-25.134545-3.258182-25.134545-18.152728z m54.458182 565.061819v-325.818182h124.276363v325.818182c0 28.858182-43.752727 44.218182-61.44 44.218181s-62.836364-21.410909-62.836363-44.218181z m710.283636 39.098181H348.16L472.436364 651.636364h296.494545l125.207273 216.901818a7.447273 7.447273 0 0 1-1.396364 10.705454z" p-id="22781"></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="1693210046169" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22779" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M206.661818 553.425455h46.545455v48.407272h-46.545455zM479.418182 682.356364h46.545454v48.407272h-46.545454zM585.076364 732.16h46.545454v48.407273h-46.545454zM717.265455 716.8h46.545454v48.407273h-46.545454zM690.269091 813.149091h46.545454v48.407273h-46.545454zM432.872727 813.149091h46.545455v48.407273h-46.545455zM238.312727 660.945455h46.545455v48.407272h-46.545455zM203.869091 756.363636h46.545454v48.407273h-46.545454z" p-id="22780"></path><path d="M729.832727 472.436364l3.723637-229.934546a50.734545 50.734545 0 0 0 33.512727-12.567273 79.127273 79.127273 0 0 0 19.083636-61.905454c0-74.938182-51.665455-79.127273-55.854545-79.592727H512c-20.48 0-59.578182 18.152727-59.578182 86.574545A67.956364 67.956364 0 0 0 477.090909 232.727273a56.32 56.32 0 0 0 27.461818 10.705454v232.727273l-144.290909 264.378182V345.367273A71.214545 71.214545 0 0 0 393.309091 325.818182a76.8 76.8 0 0 0 20.48-58.181818 83.781818 83.781818 0 0 0-46.545455-67.956364 26.996364 26.996364 0 0 0-12.101818-2.792727h-218.763636a69.352727 69.352727 0 0 0-64.232727 78.196363 70.283636 70.283636 0 0 0 50.26909 67.956364c0 93.090909 4.189091 458.938182 4.189091 497.105455 0 63.767273 74.472727 95.418182 116.363637 95.418181a131.723636 131.723636 0 0 0 40.494545-7.912727 28.858182 28.858182 0 0 0 17.687273 7.447273h591.592727a57.716364 57.716364 0 0 0 50.734546-29.323637 65.629091 65.629091 0 0 0 0-66.094545c-12.567273-22.341818-185.250909-318.836364-213.643637-367.243636z m-171.287272 24.203636a27.461818 27.461818 0 0 0 3.258181-13.498182V215.04a29.789091 29.789091 0 0 0-11.636363-22.807273 29.323636 29.323636 0 0 0-25.6-3.723636 24.203636 24.203636 0 0 1-13.963637 0 23.738182 23.738182 0 0 1-2.792727-13.963636c0-20.48 4.654545-28.858182 6.981818-30.72h211.781818a46.545455 46.545455 0 0 1 4.654546 23.738181 79.127273 79.127273 0 0 1 0 19.083637 145.687273 145.687273 0 0 1-20.014546 0 28.392727 28.392727 0 0 0-21.410909 6.981818 26.530909 26.530909 0 0 0-9.309091 20.48l-4.18909 266.705454a31.650909 31.650909 0 0 0 3.723636 14.429091l59.112727 101.934546h-232.727273zM128 275.083636c0-18.152727 7.447273-20.945455 8.378182-21.410909h211.316363a24.669091 24.669091 0 0 1 10.24 17.221818 26.530909 26.530909 0 0 1-4.654545 16.756364 26.530909 26.530909 0 0 1-18.152727 5.12 27.927273 27.927273 0 0 0-27.927273 26.996364v136.843636H179.2V320.698182a28.392727 28.392727 0 0 0-26.065455-27.461818c-4.654545-0.930909-25.134545-3.258182-25.134545-18.152728z m54.458182 565.061819v-325.818182h124.276363v325.818182c0 28.858182-43.752727 44.218182-61.44 44.218181s-62.836364-21.410909-62.836363-44.218181z m710.283636 39.098181H348.16L472.436364 651.636364h296.494545l125.207273 216.901818a7.447273 7.447273 0 0 1-1.396364 10.705454z" p-id="22781"></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="1693211034459" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="34624" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M752.941176 60.235294v60.235294h150.588236v843.294118h-783.058824V120.470588H271.058824V60.235294h481.882352zM271.058824 180.705882H180.705882v722.82353h662.588236V180.705882H752.941176v60.235294H271.058824V180.705882z m271.058823 542.117647v60.235295H271.058824v-60.235295h271.058823zM752.941176 542.117647v60.235294H271.058824V542.117647h481.882352z m-90.352941-180.705882v60.235294H271.058824V361.411765h391.529411z m30.117647-240.941177H331.294118v60.235294h361.411764V120.470588z" fill="#2C374D" p-id="34625"></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="1693211034459" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="34624" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M752.941176 60.235294v60.235294h150.588236v843.294118h-783.058824V120.470588H271.058824V60.235294h481.882352zM271.058824 180.705882H180.705882v722.82353h662.588236V180.705882H752.941176v60.235294H271.058824V180.705882z m271.058823 542.117647v60.235295H271.058824v-60.235295h271.058823zM752.941176 542.117647v60.235294H271.058824V542.117647h481.882352z m-90.352941-180.705882v60.235294H271.058824V361.411765h391.529411z m30.117647-240.941177H331.294118v60.235294h361.411764V120.470588z" fill="#2C374D" p-id="34625"></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="1693210103734" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="26594" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M792.4 297.3c-8.5 0-16.6-3.4-22.6-9.4l-90.4-90.4c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 288c-6 6-14.1 9.3-22.6 9.3zM544 255H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32zM792.4 618c-8.5 0-16.6-3.4-22.6-9.4l-90.4-90.4c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 608.7c-6 6-14.1 9.3-22.6 9.3zM544 576H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32zM792.4 937.8c-8.5 0-16.6-3.4-22.6-9.4L679.4 838c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 928.4c-6 6-14.1 9.4-22.6 9.4zM544 896H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z" p-id="26595"></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="1693210103734" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="26594" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M792.4 297.3c-8.5 0-16.6-3.4-22.6-9.4l-90.4-90.4c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 288c-6 6-14.1 9.3-22.6 9.3zM544 255H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32zM792.4 618c-8.5 0-16.6-3.4-22.6-9.4l-90.4-90.4c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 608.7c-6 6-14.1 9.3-22.6 9.3zM544 576H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32zM792.4 937.8c-8.5 0-16.6-3.4-22.6-9.4L679.4 838c-12.5-12.5-12.5-32.7 0-45.2s32.7-12.5 45.2 0l67.8 67.8 113-113c12.5-12.5 32.7-12.5 45.2 0s12.5 32.7 0 45.2L815 928.4c-6 6-14.1 9.4-22.6 9.4zM544 896H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z" p-id="26595"></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="1692924665966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="26258" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M25.6 414.72C223.744 249.9584 412.928 176.6912 593.0496 195.072v823.9616H25.6V414.72z m216.1664 24.7296v192.256h135.168V439.4496h-135.168z m0 274.6368v192.256h135.168v-192.256h-135.168zM998.4 222.464C944.3328 57.7024 827.2384-15.5648 647.1168 2.7648v1016.2176H998.4V222.464z" fill="#64676F" p-id="26259"></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="1692924665966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="26258" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M25.6 414.72C223.744 249.9584 412.928 176.6912 593.0496 195.072v823.9616H25.6V414.72z m216.1664 24.7296v192.256h135.168V439.4496h-135.168z m0 274.6368v192.256h135.168v-192.256h-135.168zM998.4 222.464C944.3328 57.7024 827.2384-15.5648 647.1168 2.7648v1016.2176H998.4V222.464z" fill="#64676F" p-id="26259"></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="1693210146171" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29428" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M657.6355552 311.75111147a36.40888853 36.40888853 0 1 1 0-72.81777814h182.0444448a36.40888853 36.40888853 0 1 1 0 72.81777814v142.97770666C945.73909333 492.21176853 1021.7244448 593.35566187 1021.7244448 712.24888853a272.33848853 272.33848853 0 0 1-87.41774293 200.2488896H985.3155552a36.40888853 36.40888853 0 1 1 0 72.81777707H38.6844448a36.40888853 36.40888853 0 1 1 0-72.81777707h19.98848a92.3875552 92.3875552 0 0 1 22.13660373-80.3180096L293.54666667 598.88981333v-355.5328A81.92 81.92 0 0 1 339.05777813 93.29777813l200.24888854-0.0182048a81.92 81.92 0 0 1 45.51111146 150.04103147V493.7955552a272.41130667 272.41130667 0 0 1 72.81777707-39.04853333V311.75111147z m109.22666667 0h-36.40888854v194.4598752l-48.55125333 17.16679146A200.15786667 200.15786667 0 0 0 584.81777813 597.06936853v1.8204448l212.73713707 233.2899552a92.20551147 92.20551147 0 0 1 23.81141333 66.7192896C896.00455147 869.79015147 948.90666667 797.19082667 948.90666667 712.24888853c0-85.56088853-54.15822187-160.83626667-133.49319147-188.8711104L766.86222187 506.21098667V311.75111147zM134.62186667 881.25895147c-6.88128 7.53664-6.46257813 19.9702752 0.8192 26.92437333a15.01866667 15.01866667 0 0 0 10.37653333 4.31445333h586.7292448c8.51968 0 16.11093333-7.77329813 16.11093333-18.2044448 0-4.95160853-1.8204448-9.6483552-4.9152-13.03438186L512 627.10670187V204.4541152l32.31288853-21.62688A9.10222187 9.10222187 0 0 0 539.30666667 166.1155552h-200.24888854a9.10222187 9.10222187 0 0 0-5.00622293 16.71168L366.3644448 204.4541152v422.65258667L134.62186667 881.24074667z" p-id="29429"></path><path d="M202.5244448 876.08888853l145.6355552-163.84h182.0444448l145.6355552 163.84H202.5244448z m200.24888853-36.40888853a36.40888853 36.40888853 0 1 0 0-72.81777813 36.40888853 36.40888853 0 0 0 0 72.81777813z m91.02222187-36.40888853a18.2044448 18.2044448 0 1 0 0-36.4088896 18.2044448 18.2044448 0 0 0 0 36.4088896z" p-id="29430"></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="1693210146171" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29428" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M657.6355552 311.75111147a36.40888853 36.40888853 0 1 1 0-72.81777814h182.0444448a36.40888853 36.40888853 0 1 1 0 72.81777814v142.97770666C945.73909333 492.21176853 1021.7244448 593.35566187 1021.7244448 712.24888853a272.33848853 272.33848853 0 0 1-87.41774293 200.2488896H985.3155552a36.40888853 36.40888853 0 1 1 0 72.81777707H38.6844448a36.40888853 36.40888853 0 1 1 0-72.81777707h19.98848a92.3875552 92.3875552 0 0 1 22.13660373-80.3180096L293.54666667 598.88981333v-355.5328A81.92 81.92 0 0 1 339.05777813 93.29777813l200.24888854-0.0182048a81.92 81.92 0 0 1 45.51111146 150.04103147V493.7955552a272.41130667 272.41130667 0 0 1 72.81777707-39.04853333V311.75111147z m109.22666667 0h-36.40888854v194.4598752l-48.55125333 17.16679146A200.15786667 200.15786667 0 0 0 584.81777813 597.06936853v1.8204448l212.73713707 233.2899552a92.20551147 92.20551147 0 0 1 23.81141333 66.7192896C896.00455147 869.79015147 948.90666667 797.19082667 948.90666667 712.24888853c0-85.56088853-54.15822187-160.83626667-133.49319147-188.8711104L766.86222187 506.21098667V311.75111147zM134.62186667 881.25895147c-6.88128 7.53664-6.46257813 19.9702752 0.8192 26.92437333a15.01866667 15.01866667 0 0 0 10.37653333 4.31445333h586.7292448c8.51968 0 16.11093333-7.77329813 16.11093333-18.2044448 0-4.95160853-1.8204448-9.6483552-4.9152-13.03438186L512 627.10670187V204.4541152l32.31288853-21.62688A9.10222187 9.10222187 0 0 0 539.30666667 166.1155552h-200.24888854a9.10222187 9.10222187 0 0 0-5.00622293 16.71168L366.3644448 204.4541152v422.65258667L134.62186667 881.24074667z" p-id="29429"></path><path d="M202.5244448 876.08888853l145.6355552-163.84h182.0444448l145.6355552 163.84H202.5244448z m200.24888853-36.40888853a36.40888853 36.40888853 0 1 0 0-72.81777813 36.40888853 36.40888853 0 0 0 0 72.81777813z m91.02222187-36.40888853a18.2044448 18.2044448 0 1 0 0-36.4088896 18.2044448 18.2044448 0 0 0 0 36.4088896z" p-id="29430"></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="1693207304202" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2576" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M890.947742 1021.243077H133.424049c-49.624615 0-93.341538-26.072615-116.972307-69.710769-23.630769-43.716923-21.425231-94.523077 5.750153-136.034462L359.570511 300.110769V27.726769c0-12.839385 10.476308-23.315692 23.236923-23.315692h258.756923a23.236923 23.236923 0 0 1 23.315692 23.315692V300.110769l337.447385 515.465846c27.175385 41.590154 29.223385 92.396308 5.592615 136.113231-23.630769 43.480615-67.347692 69.553231-116.972307 69.553231zM406.123126 51.042462v256a23.473231 23.473231 0 0 1-3.780923 12.760615L61.192665 841.019077A84.992 84.992 0 0 0 57.490511 929.476923c14.966154 28.120615 44.268308 45.528615 76.012307 45.292308h757.523693c32.295385 0 60.652308-16.935385 76.091077-45.292308a85.385846 85.385846 0 0 0-3.780923-88.457846L622.187126 319.645538a23.315692 23.315692 0 0 1-3.859692-12.681846V50.963692H406.123126z m284.199385 0H334.128049a23.315692 23.315692 0 1 1 0-46.631385h356.036923a23.315692 23.315692 0 0 1 0 46.631385z m154.939077 596.834461h-670.326154a23.315692 23.315692 0 0 1 0-46.552615h670.326154a23.315692 23.315692 0 1 1 0 46.552615z" fill="#333940" p-id="2577"></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="1693207304202" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2576" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M890.947742 1021.243077H133.424049c-49.624615 0-93.341538-26.072615-116.972307-69.710769-23.630769-43.716923-21.425231-94.523077 5.750153-136.034462L359.570511 300.110769V27.726769c0-12.839385 10.476308-23.315692 23.236923-23.315692h258.756923a23.236923 23.236923 0 0 1 23.315692 23.315692V300.110769l337.447385 515.465846c27.175385 41.590154 29.223385 92.396308 5.592615 136.113231-23.630769 43.480615-67.347692 69.553231-116.972307 69.553231zM406.123126 51.042462v256a23.473231 23.473231 0 0 1-3.780923 12.760615L61.192665 841.019077A84.992 84.992 0 0 0 57.490511 929.476923c14.966154 28.120615 44.268308 45.528615 76.012307 45.292308h757.523693c32.295385 0 60.652308-16.935385 76.091077-45.292308a85.385846 85.385846 0 0 0-3.780923-88.457846L622.187126 319.645538a23.315692 23.315692 0 0 1-3.859692-12.681846V50.963692H406.123126z m284.199385 0H334.128049a23.315692 23.315692 0 1 1 0-46.631385h356.036923a23.315692 23.315692 0 0 1 0 46.631385z m154.939077 596.834461h-670.326154a23.315692 23.315692 0 0 1 0-46.552615h670.326154a23.315692 23.315692 0 1 1 0 46.552615z" fill="#333940" p-id="2577"></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="1693207350870" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3585" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M942.08 0C987.328 0 1024 36.672 1024 81.92v860.16A81.92 81.92 0 0 1 942.08 1024H81.92A81.92 81.92 0 0 1 0 942.08V81.92C0 36.672 36.672 0 81.92 0z m0 51.2H81.92a30.72 30.72 0 0 0-30.72 30.72v860.16c0 16.96 13.76 30.72 30.72 30.72h860.16a30.72 30.72 0 0 0 30.72-30.72V81.92a30.72 30.72 0 0 0-30.72-30.72zM691.2 137.216v51.2H640v204.288l236.544 409.6a56.576 56.576 0 0 1-48.64 84.992H196.096a56.32 56.32 0 0 1-48.64-84.48L384 392.704V188.416h-51.2v-51.2h358.4z m-41.984 373.76H374.784l-183.296 316.928a4.672 4.672 0 0 0 0 5.12c0.96 1.6 2.752 2.56 4.608 2.56h631.296c1.92 0 3.648-0.96 4.608-2.56a5.888 5.888 0 0 0 0.512-5.12l-183.296-316.928z m11.264 169.472a61.44 61.44 0 1 1 0 122.88 61.44 61.44 0 0 1 0-122.88zM409.6 630.272a80.896 80.896 0 1 1 0 161.792 80.896 80.896 0 0 1 0-161.792z m250.88 91.136a20.48 20.48 0 1 0 0 40.96 20.48 20.48 0 0 0 0-40.96zM409.6 680.96a29.696 29.696 0 1 0 0 59.392 29.696 29.696 0 0 0 0-59.392z m177.664-135.168a35.84 35.84 0 1 1 0 71.68 35.84 35.84 0 0 1 0-71.68z m1.024-354.304h-153.6v214.528l-30.72 53.76H619.52l-31.232-53.76V191.488z" fill="#9B9B9B" p-id="3586"></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="1693207350870" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3585" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M942.08 0C987.328 0 1024 36.672 1024 81.92v860.16A81.92 81.92 0 0 1 942.08 1024H81.92A81.92 81.92 0 0 1 0 942.08V81.92C0 36.672 36.672 0 81.92 0z m0 51.2H81.92a30.72 30.72 0 0 0-30.72 30.72v860.16c0 16.96 13.76 30.72 30.72 30.72h860.16a30.72 30.72 0 0 0 30.72-30.72V81.92a30.72 30.72 0 0 0-30.72-30.72zM691.2 137.216v51.2H640v204.288l236.544 409.6a56.576 56.576 0 0 1-48.64 84.992H196.096a56.32 56.32 0 0 1-48.64-84.48L384 392.704V188.416h-51.2v-51.2h358.4z m-41.984 373.76H374.784l-183.296 316.928a4.672 4.672 0 0 0 0 5.12c0.96 1.6 2.752 2.56 4.608 2.56h631.296c1.92 0 3.648-0.96 4.608-2.56a5.888 5.888 0 0 0 0.512-5.12l-183.296-316.928z m11.264 169.472a61.44 61.44 0 1 1 0 122.88 61.44 61.44 0 0 1 0-122.88zM409.6 630.272a80.896 80.896 0 1 1 0 161.792 80.896 80.896 0 0 1 0-161.792z m250.88 91.136a20.48 20.48 0 1 0 0 40.96 20.48 20.48 0 0 0 0-40.96zM409.6 680.96a29.696 29.696 0 1 0 0 59.392 29.696 29.696 0 0 0 0-59.392z m177.664-135.168a35.84 35.84 0 1 1 0 71.68 35.84 35.84 0 0 1 0-71.68z m1.024-354.304h-153.6v214.528l-30.72 53.76H619.52l-31.232-53.76V191.488z" fill="#9B9B9B" p-id="3586"></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="1692863846612" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4117" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M801.1 895.75H222.9c-33.32 0-63.48-17.17-80.67-45.92-17.41-29.1-18.22-64.31-2.18-94.19 0.43-0.8 0.9-1.58 1.39-2.33l229.64-364.2V182.96c0-17.48 14.17-31.65 31.65-31.65s31.65 14.17 31.65 31.65v215.28c0 2.71-0.36 5.42-1.03 8.04-0.85 3.47-2.29 6.77-4.25 9.76L195.28 786.6c-7 14.09-1.49 26.15 1.26 30.75 2.72 4.54 10.73 15.11 26.36 15.11h578.2c15.64 0 23.64-10.57 26.36-15.11 2.75-4.61 8.27-16.66 1.27-30.75L594.95 416.1a31.76 31.76 0 0 1-4.39-10.36c-0.59-2.44-0.93-5.11-0.93-7.59V184.01c0-17.48 14.17-31.65 31.65-31.65s31.65 14.17 31.65 31.65v205.13L882.56 753.3c0.51 0.75 0.97 1.53 1.39 2.33 16.05 29.88 15.24 65.1-2.18 94.19-17.2 28.77-47.36 45.94-80.67 45.93z" fill="#A8A8A8" p-id="4118"></path><path d="M701.87 191.54H322.12c-17.48 0-31.65-14.17-31.65-31.65s14.17-31.65 31.65-31.65h379.75c17.48 0 31.65 14.17 31.65 31.65s-14.18 31.65-31.65 31.65zM675.9 767.6H346.76c-15.15 0-27.43-14.17-27.43-31.65 0-17.48 12.28-31.65 27.43-31.65H675.9c15.15 0 27.43 14.17 27.43 31.65 0 17.48-12.28 31.65-27.43 31.65z" fill="#A8A8A8" p-id="4119"></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="1692863846612" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4117" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M801.1 895.75H222.9c-33.32 0-63.48-17.17-80.67-45.92-17.41-29.1-18.22-64.31-2.18-94.19 0.43-0.8 0.9-1.58 1.39-2.33l229.64-364.2V182.96c0-17.48 14.17-31.65 31.65-31.65s31.65 14.17 31.65 31.65v215.28c0 2.71-0.36 5.42-1.03 8.04-0.85 3.47-2.29 6.77-4.25 9.76L195.28 786.6c-7 14.09-1.49 26.15 1.26 30.75 2.72 4.54 10.73 15.11 26.36 15.11h578.2c15.64 0 23.64-10.57 26.36-15.11 2.75-4.61 8.27-16.66 1.27-30.75L594.95 416.1a31.76 31.76 0 0 1-4.39-10.36c-0.59-2.44-0.93-5.11-0.93-7.59V184.01c0-17.48 14.17-31.65 31.65-31.65s31.65 14.17 31.65 31.65v205.13L882.56 753.3c0.51 0.75 0.97 1.53 1.39 2.33 16.05 29.88 15.24 65.1-2.18 94.19-17.2 28.77-47.36 45.94-80.67 45.93z" fill="#A8A8A8" p-id="4118"></path><path d="M701.87 191.54H322.12c-17.48 0-31.65-14.17-31.65-31.65s14.17-31.65 31.65-31.65h379.75c17.48 0 31.65 14.17 31.65 31.65s-14.18 31.65-31.65 31.65zM675.9 767.6H346.76c-15.15 0-27.43-14.17-27.43-31.65 0-17.48 12.28-31.65 27.43-31.65H675.9c15.15 0 27.43 14.17 27.43 31.65 0 17.48-12.28 31.65-27.43 31.65z" fill="#A8A8A8" p-id="4119"></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="1692923739918" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8176" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M451.764706 78.305882c-66.258824 0-120.470588 54.211765-120.470588 120.470589v421.647058h361.411764v-421.647058c0-66.258824-54.211765-120.470588-120.470588-120.470589H451.764706z m0-60.235294h120.470588c102.4 0 180.705882 78.305882 180.705882 180.705883v421.647058c0 36.141176-24.094118 60.235294-60.235294 60.235295H331.294118c-36.141176 0-60.235294-24.094118-60.235294-60.235295v-421.647058c0-102.4 78.305882-180.705882 180.705882-180.705883z" fill="#999999" p-id="8177"></path><path d="M518.023529 548.141176c-126.494118 0-180.705882 24.094118-186.729411 72.282353h373.458823c-6.023529-48.188235-60.235294-72.282353-186.729412-72.282353z m0-60.235294c156.611765 0 234.917647 42.164706 246.964706 126.494118 0 36.141176-24.094118 60.235294-54.211764 66.258824H331.294118c-36.141176 0-60.235294-24.094118-60.235294-60.235295v-12.047058c6.023529-78.305882 90.352941-120.470588 246.964705-120.470589z" fill="#999999" p-id="8178"></path><path d="M481.882353 650.541176h60.235294v210.82353h-60.235294z" fill="#999999" p-id="8179"></path><path d="M662.588235 831.247059c18.070588 0 30.117647 12.047059 30.117647 30.117647s-12.047059 30.117647-30.117647 30.117647h-301.17647c-18.070588 0-30.117647-12.047059-30.117647-30.117647s12.047059-30.117647 30.117647-30.117647h301.17647zM813.176471 620.423529c0 18.070588-12.047059 30.117647-30.117647 30.117647s-30.117647-12.047059-30.117648-30.117647V313.223529c0-12.047059 12.047059-30.117647 30.117648-30.117647s30.117647 18.070588 30.117647 30.117647v307.2zM271.058824 620.423529c0 18.070588-12.047059 30.117647-30.117648 30.117647s-30.117647-12.047059-30.117647-30.117647V313.223529c0-12.047059 12.047059-30.117647 30.117647-30.117647s30.117647 18.070588 30.117648 30.117647v307.2z" fill="#999999" p-id="8180"></path><path d="M783.058824 873.411765c0-18.070588 12.047059-30.117647 30.117647-30.117647s30.117647 12.047059 30.117647 30.117647v108.423529c0 18.070588-12.047059 30.117647-30.117647 30.117647H210.823529c-18.070588 0-30.117647-12.047059-30.117647-30.117647v-120.470588c0-18.070588 12.047059-30.117647 30.117647-30.117647s30.117647 12.047059 30.117647 30.117647v90.352941h542.117648v-78.305882z" fill="#2182FC" p-id="8181"></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="1692923739918" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8176" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M451.764706 78.305882c-66.258824 0-120.470588 54.211765-120.470588 120.470589v421.647058h361.411764v-421.647058c0-66.258824-54.211765-120.470588-120.470588-120.470589H451.764706z m0-60.235294h120.470588c102.4 0 180.705882 78.305882 180.705882 180.705883v421.647058c0 36.141176-24.094118 60.235294-60.235294 60.235295H331.294118c-36.141176 0-60.235294-24.094118-60.235294-60.235295v-421.647058c0-102.4 78.305882-180.705882 180.705882-180.705883z" fill="#999999" p-id="8177"></path><path d="M518.023529 548.141176c-126.494118 0-180.705882 24.094118-186.729411 72.282353h373.458823c-6.023529-48.188235-60.235294-72.282353-186.729412-72.282353z m0-60.235294c156.611765 0 234.917647 42.164706 246.964706 126.494118 0 36.141176-24.094118 60.235294-54.211764 66.258824H331.294118c-36.141176 0-60.235294-24.094118-60.235294-60.235295v-12.047058c6.023529-78.305882 90.352941-120.470588 246.964705-120.470589z" fill="#999999" p-id="8178"></path><path d="M481.882353 650.541176h60.235294v210.82353h-60.235294z" fill="#999999" p-id="8179"></path><path d="M662.588235 831.247059c18.070588 0 30.117647 12.047059 30.117647 30.117647s-12.047059 30.117647-30.117647 30.117647h-301.17647c-18.070588 0-30.117647-12.047059-30.117647-30.117647s12.047059-30.117647 30.117647-30.117647h301.17647zM813.176471 620.423529c0 18.070588-12.047059 30.117647-30.117647 30.117647s-30.117647-12.047059-30.117648-30.117647V313.223529c0-12.047059 12.047059-30.117647 30.117648-30.117647s30.117647 18.070588 30.117647 30.117647v307.2zM271.058824 620.423529c0 18.070588-12.047059 30.117647-30.117648 30.117647s-30.117647-12.047059-30.117647-30.117647V313.223529c0-12.047059 12.047059-30.117647 30.117647-30.117647s30.117647 18.070588 30.117648 30.117647v307.2z" fill="#999999" p-id="8180"></path><path d="M783.058824 873.411765c0-18.070588 12.047059-30.117647 30.117647-30.117647s30.117647 12.047059 30.117647 30.117647v108.423529c0 18.070588-12.047059 30.117647-30.117647 30.117647H210.823529c-18.070588 0-30.117647-12.047059-30.117647-30.117647v-120.470588c0-18.070588 12.047059-30.117647 30.117647-30.117647s30.117647 12.047059 30.117647 30.117647v90.352941h542.117648v-78.305882z" fill="#2182FC" p-id="8181"></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="1693276779711" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="34039" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M578.458 93.461v41.007c179.575 31.108 316.733 188.059 316.733 377.532 0 212.098-171.091 383.188-383.188 383.188s-383.188-171.091-383.188-383.188c0-199.372 154.124-364.806 349.253-381.776v428.437h323.802v-41.007h-282.796v-388.845c0 0 0 0 0 0v-41.007c-1.414 0-4.242 0-5.655 0-233.307 0-424.194 190.887-424.194 424.194s190.887 424.194 424.194 424.194 424.194-190.887 424.194-424.194c-1.414-210.684-156.953-387.43-359.152-418.539z" p-id="34040"></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="1693276779711" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="34039" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M578.458 93.461v41.007c179.575 31.108 316.733 188.059 316.733 377.532 0 212.098-171.091 383.188-383.188 383.188s-383.188-171.091-383.188-383.188c0-199.372 154.124-364.806 349.253-381.776v428.437h323.802v-41.007h-282.796v-388.845c0 0 0 0 0 0v-41.007c-1.414 0-4.242 0-5.655 0-233.307 0-424.194 190.887-424.194 424.194s190.887 424.194 424.194 424.194 424.194-190.887 424.194-424.194c-1.414-210.684-156.953-387.43-359.152-418.539z" p-id="34040"></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="1693208104763" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21583" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M954.181818 581.818182l-232.727273 0c-12.846545 0-23.272727-10.426182-23.272727-23.272727 0-12.846545 10.426182-23.272727 23.272727-23.272727l232.727273 0c12.846545 0 23.272727 10.426182 23.272727 23.272727C977.454545 571.392 967.028364 581.818182 954.181818 581.818182zM954.181818 418.909091 744.727273 418.909091c-12.846545 0-23.272727-10.426182-23.272727-23.272727C721.454545 382.789818 731.880727 372.363636 744.727273 372.363636l209.454545 0C967.028364 372.363636 977.454545 382.789818 977.454545 395.636364 977.454545 408.482909 967.028364 418.909091 954.181818 418.909091zM954.181818 256 744.727273 256c-12.846545 0-23.272727-10.426182-23.272727-23.272727 0-12.846545 10.426182-23.272727 23.272727-23.272727l209.454545 0C967.028364 209.454545 977.454545 219.880727 977.454545 232.727273 977.454545 245.573818 967.028364 256 954.181818 256zM534.760727 553.890909C683.659636 602.624 791.272727 742.493091 791.272727 907.636364c0 12.846545-10.426182 23.272727-23.272727 23.272727S744.727273 920.482909 744.727273 907.636364c0-179.944727-145.873455-325.818182-325.818182-325.818182s-325.818182 145.873455-325.818182 325.818182C93.090909 920.482909 82.664727 930.909091 69.818182 930.909091S46.545455 920.482909 46.545455 907.636364c0-165.143273 107.613091-305.012364 256.512-353.745455C219.927273 511.581091 162.909091 425.472 162.909091 325.818182c0-141.405091 114.594909-256 256-256s256 114.594909 256 256C674.909091 425.472 617.844364 511.581091 534.760727 553.890909zM418.909091 116.363636C303.243636 116.363636 209.454545 210.152727 209.454545 325.818182c0 115.665455 93.789091 209.454545 209.454545 209.454545s209.454545-93.789091 209.454545-209.454545C628.363636 210.152727 534.574545 116.363636 418.909091 116.363636zM814.545455 698.181818l139.636364 0c12.846545 0 23.272727 10.426182 23.272727 23.272727 0 12.846545-10.426182 23.272727-23.272727 23.272727l-139.636364 0c-12.846545 0-23.272727-10.426182-23.272727-23.272727C791.272727 708.608 801.698909 698.181818 814.545455 698.181818z" fill="#040000" p-id="21584"></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="1693208104763" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21583" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M954.181818 581.818182l-232.727273 0c-12.846545 0-23.272727-10.426182-23.272727-23.272727 0-12.846545 10.426182-23.272727 23.272727-23.272727l232.727273 0c12.846545 0 23.272727 10.426182 23.272727 23.272727C977.454545 571.392 967.028364 581.818182 954.181818 581.818182zM954.181818 418.909091 744.727273 418.909091c-12.846545 0-23.272727-10.426182-23.272727-23.272727C721.454545 382.789818 731.880727 372.363636 744.727273 372.363636l209.454545 0C967.028364 372.363636 977.454545 382.789818 977.454545 395.636364 977.454545 408.482909 967.028364 418.909091 954.181818 418.909091zM954.181818 256 744.727273 256c-12.846545 0-23.272727-10.426182-23.272727-23.272727 0-12.846545 10.426182-23.272727 23.272727-23.272727l209.454545 0C967.028364 209.454545 977.454545 219.880727 977.454545 232.727273 977.454545 245.573818 967.028364 256 954.181818 256zM534.760727 553.890909C683.659636 602.624 791.272727 742.493091 791.272727 907.636364c0 12.846545-10.426182 23.272727-23.272727 23.272727S744.727273 920.482909 744.727273 907.636364c0-179.944727-145.873455-325.818182-325.818182-325.818182s-325.818182 145.873455-325.818182 325.818182C93.090909 920.482909 82.664727 930.909091 69.818182 930.909091S46.545455 920.482909 46.545455 907.636364c0-165.143273 107.613091-305.012364 256.512-353.745455C219.927273 511.581091 162.909091 425.472 162.909091 325.818182c0-141.405091 114.594909-256 256-256s256 114.594909 256 256C674.909091 425.472 617.844364 511.581091 534.760727 553.890909zM418.909091 116.363636C303.243636 116.363636 209.454545 210.152727 209.454545 325.818182c0 115.665455 93.789091 209.454545 209.454545 209.454545s209.454545-93.789091 209.454545-209.454545C628.363636 210.152727 534.574545 116.363636 418.909091 116.363636zM814.545455 698.181818l139.636364 0c12.846545 0 23.272727 10.426182 23.272727 23.272727 0 12.846545-10.426182 23.272727-23.272727 23.272727l-139.636364 0c-12.846545 0-23.272727-10.426182-23.272727-23.272727C791.272727 708.608 801.698909 698.181818 814.545455 698.181818z" fill="#040000" p-id="21584"></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="1692923833116" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10091" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M253.28 925.63c-42.854 0-85.592-17.055-117.063-50.787-60.192-64.52-56.672-165.98 7.847-226.174L467.61 346.821a160.568 160.568 0 0 1 15.419-12.685c14.324-10.353 34.328-7.133 44.68 7.19 10.353 14.323 7.133 34.327-7.19 44.68a96.214 96.214 0 0 0-9.244 7.606l-1.549 1.446-322.003 300.408c-38.715 36.119-40.828 97.002-4.708 135.718 36.119 38.716 97.002 40.829 135.718 4.709l323.552-301.854c12.923-12.057 33.171-11.354 45.228 1.569 12.056 12.923 11.354 33.172-1.569 45.228L362.391 882.689c-30.787 28.722-69.999 42.941-109.111 42.941z" fill="" p-id="10092"></path><path d="M678.571 586.088c-17.43 0-31.699-13.983-31.985-31.477-0.289-17.671 13.802-32.23 31.473-32.52 51.582-0.844 97.478-15.047 125.918-38.968 32.217-27.098 52.661-72.296 54.063-118.942l-25.426 20.658c-23.666 19.229-53.486 28.083-83.972 24.926-30.484-3.153-57.862-17.923-77.09-41.589-19.228-23.665-28.08-53.486-24.927-83.972 3.154-30.484 17.924-57.862 41.589-77.09l11.792-9.581a164.937 164.937 0 0 0-3.448-0.036c-48.679 0-84.734 11.477-110.228 35.085C555.148 261.461 535 311.105 535 359.057c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-65.936 27.529-132.39 71.845-173.43 37.351-34.589 89.067-52.128 153.714-52.128 30.384 0 59.883 5.95 87.676 17.684l52.652 22.23-46.471 33.27a51.816 51.816 0 0 0-2.481 1.873l-59.362 48.231c-10.397 8.448-16.892 20.524-18.286 34.004s2.49 26.63 10.938 37.028 20.525 16.892 34.005 18.287c13.481 1.396 26.63-2.49 37.028-10.938l59.37-48.237a50.51 50.51 0 0 0 6.008-5.797l37.839-42.96 16.771 54.737c6.552 21.381 9.873 43.637 9.873 66.147 0 31.951-6.738 64.52-19.485 94.183-13.443 31.282-33.313 58.552-57.46 78.862-54.083 45.488-127.26 53.346-166.066 53.981-0.18 0.003-0.359 0.004-0.537 0.004z" fill="" p-id="10093"></path><path d="M745.678 924.643c-29.746 0-59.362-12.212-80.622-36.15L505.13 708.416c-11.736-13.214-10.537-33.439 2.677-45.176 13.214-11.736 33.44-10.537 45.176 2.678l159.926 180.076c7.703 8.674 18.402 13.834 30.126 14.528 11.719 0.704 22.957-3.164 31.632-10.869 8.674-7.703 13.834-18.402 14.528-30.126 0.695-11.724-3.165-22.957-10.869-31.632L613.229 601.996c-11.735-13.214-10.536-33.439 2.678-45.176 13.214-11.735 33.44-10.536 45.176 2.678L826.18 745.397c39.451 44.422 35.407 112.657-9.015 152.109-20.483 18.192-46.033 27.136-71.487 27.137zM210.141 302.912l45.888-44.608 174.96 179.98-45.888 44.608z" fill="" p-id="10094"></path><path d="M209.588 334.652c-3.467 0-6.955-0.195-10.453-0.589-24.266-2.734-45.976-14.707-61.131-33.711l-27.982-35.088c-2.704-3.39-5.586-6.287-8.637-9.354-8.335-8.377-20.932-21.037-20.327-41.28 0.638-21.318 15.723-38.928 41.59-62.038 19.36-18.66 45.229-39.612 74.454-37.719 27.842 1.797 44.547 22.745 55.602 36.607l27.981 35.089c31.37 39.336 24.889 96.861-14.449 128.232-16.265 12.97-36.066 19.851-56.648 19.851zM150.41 214.479c2.951 3.044 6.244 6.612 9.648 10.881l27.982 35.089c9.368 11.746 26.546 13.683 38.292 4.314 5.639-4.497 9.197-10.982 10.017-18.26 0.82-7.278-1.205-14.392-5.702-20.031l-27.982-35.089c-2.145-2.689-7.281-9.13-10.523-12.042-3.262 1.401-11.143 5.852-25.474 19.711l-0.952 0.884c-7.161 6.383-12.019 11.107-15.306 14.543z" fill="" p-id="10095"></path><path d="M258.602 766.578m-40.498 0a40.498 40.498 0 1 0 80.996 0 40.498 40.498 0 1 0-80.996 0Z" fill="" p-id="10096"></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="1692923833116" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10091" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M253.28 925.63c-42.854 0-85.592-17.055-117.063-50.787-60.192-64.52-56.672-165.98 7.847-226.174L467.61 346.821a160.568 160.568 0 0 1 15.419-12.685c14.324-10.353 34.328-7.133 44.68 7.19 10.353 14.323 7.133 34.327-7.19 44.68a96.214 96.214 0 0 0-9.244 7.606l-1.549 1.446-322.003 300.408c-38.715 36.119-40.828 97.002-4.708 135.718 36.119 38.716 97.002 40.829 135.718 4.709l323.552-301.854c12.923-12.057 33.171-11.354 45.228 1.569 12.056 12.923 11.354 33.172-1.569 45.228L362.391 882.689c-30.787 28.722-69.999 42.941-109.111 42.941z" fill="" p-id="10092"></path><path d="M678.571 586.088c-17.43 0-31.699-13.983-31.985-31.477-0.289-17.671 13.802-32.23 31.473-32.52 51.582-0.844 97.478-15.047 125.918-38.968 32.217-27.098 52.661-72.296 54.063-118.942l-25.426 20.658c-23.666 19.229-53.486 28.083-83.972 24.926-30.484-3.153-57.862-17.923-77.09-41.589-19.228-23.665-28.08-53.486-24.927-83.972 3.154-30.484 17.924-57.862 41.589-77.09l11.792-9.581a164.937 164.937 0 0 0-3.448-0.036c-48.679 0-84.734 11.477-110.228 35.085C555.148 261.461 535 311.105 535 359.057c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-65.936 27.529-132.39 71.845-173.43 37.351-34.589 89.067-52.128 153.714-52.128 30.384 0 59.883 5.95 87.676 17.684l52.652 22.23-46.471 33.27a51.816 51.816 0 0 0-2.481 1.873l-59.362 48.231c-10.397 8.448-16.892 20.524-18.286 34.004s2.49 26.63 10.938 37.028 20.525 16.892 34.005 18.287c13.481 1.396 26.63-2.49 37.028-10.938l59.37-48.237a50.51 50.51 0 0 0 6.008-5.797l37.839-42.96 16.771 54.737c6.552 21.381 9.873 43.637 9.873 66.147 0 31.951-6.738 64.52-19.485 94.183-13.443 31.282-33.313 58.552-57.46 78.862-54.083 45.488-127.26 53.346-166.066 53.981-0.18 0.003-0.359 0.004-0.537 0.004z" fill="" p-id="10093"></path><path d="M745.678 924.643c-29.746 0-59.362-12.212-80.622-36.15L505.13 708.416c-11.736-13.214-10.537-33.439 2.677-45.176 13.214-11.736 33.44-10.537 45.176 2.678l159.926 180.076c7.703 8.674 18.402 13.834 30.126 14.528 11.719 0.704 22.957-3.164 31.632-10.869 8.674-7.703 13.834-18.402 14.528-30.126 0.695-11.724-3.165-22.957-10.869-31.632L613.229 601.996c-11.735-13.214-10.536-33.439 2.678-45.176 13.214-11.735 33.44-10.536 45.176 2.678L826.18 745.397c39.451 44.422 35.407 112.657-9.015 152.109-20.483 18.192-46.033 27.136-71.487 27.137zM210.141 302.912l45.888-44.608 174.96 179.98-45.888 44.608z" fill="" p-id="10094"></path><path d="M209.588 334.652c-3.467 0-6.955-0.195-10.453-0.589-24.266-2.734-45.976-14.707-61.131-33.711l-27.982-35.088c-2.704-3.39-5.586-6.287-8.637-9.354-8.335-8.377-20.932-21.037-20.327-41.28 0.638-21.318 15.723-38.928 41.59-62.038 19.36-18.66 45.229-39.612 74.454-37.719 27.842 1.797 44.547 22.745 55.602 36.607l27.981 35.089c31.37 39.336 24.889 96.861-14.449 128.232-16.265 12.97-36.066 19.851-56.648 19.851zM150.41 214.479c2.951 3.044 6.244 6.612 9.648 10.881l27.982 35.089c9.368 11.746 26.546 13.683 38.292 4.314 5.639-4.497 9.197-10.982 10.017-18.26 0.82-7.278-1.205-14.392-5.702-20.031l-27.982-35.089c-2.145-2.689-7.281-9.13-10.523-12.042-3.262 1.401-11.143 5.852-25.474 19.711l-0.952 0.884c-7.161 6.383-12.019 11.107-15.306 14.543z" fill="" p-id="10095"></path><path d="M258.602 766.578m-40.498 0a40.498 40.498 0 1 0 80.996 0 40.498 40.498 0 1 0-80.996 0Z" fill="" p-id="10096"></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="1692923840489" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10235" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M859.4 816.1H284.2c-4-2.5-7.7-5.5-12-7.5-23.2-11-34-27.9-33.8-54.8 0.9-126.2 0.3-252.3 0.7-378.5 0-8.3 2.4-17.2 6.1-24.7 11.3-23.3 32.7-30.5 56.3-30.6 179.2-0.4 358.5-0.2 537.7-0.2 4.1 0 8.3 0.2 12.3 0.9 33.2 5.5 48.6 23.6 48.6 56.8 0 128.2-0.2 256.5 0.2 384.7 0.1 14.9-2.1 26.5-16.7 34.3-8.9 4.9-16.1 13-24.2 19.6zM836.2 766v-20.2c0-119.2-0.4-238.5 0.5-357.7 0.1-19-6.3-22.6-23.7-22.5-163.3 0.6-326.7 0.6-490 0-17.2-0.1-22.2 4.8-22.1 22 0.7 119.2 0.4 238.4 0.4 357.7 0 6.7 0.6 13.3 0.9 20.8 178.3-0.1 354.5-0.1 534-0.1z" fill="#3FA9F5" p-id="10236"></path><path d="M718.7 216.1c1 1.6 1.8 4 3.2 4.5 47.6 16.4 46.3 33.7 41.5 76.3h-59.5c-0.9-10.8-1.7-20-2.5-30.3H169.3V650c14 0.7 27.5 1.4 42.5 2.1V696c-36-0.4-74.7 10.6-101.6-27.6-1.7-2.5-5.3-3.6-8.1-5.3V253.4c16.6-12.4 33.1-24.8 49.7-37.2 189-0.1 377.9-0.1 566.9-0.1zM775.8 651.9v45.7h-408v-45.7h408z" fill="#3FA9F5" p-id="10237"></path><path d="M685 544.4v45.9H367.7v-45.9H685zM367.3 482.8v-45.6H511v45.6H367.3z" fill="#3FA9F5" p-id="10238"></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="1692923840489" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10235" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M859.4 816.1H284.2c-4-2.5-7.7-5.5-12-7.5-23.2-11-34-27.9-33.8-54.8 0.9-126.2 0.3-252.3 0.7-378.5 0-8.3 2.4-17.2 6.1-24.7 11.3-23.3 32.7-30.5 56.3-30.6 179.2-0.4 358.5-0.2 537.7-0.2 4.1 0 8.3 0.2 12.3 0.9 33.2 5.5 48.6 23.6 48.6 56.8 0 128.2-0.2 256.5 0.2 384.7 0.1 14.9-2.1 26.5-16.7 34.3-8.9 4.9-16.1 13-24.2 19.6zM836.2 766v-20.2c0-119.2-0.4-238.5 0.5-357.7 0.1-19-6.3-22.6-23.7-22.5-163.3 0.6-326.7 0.6-490 0-17.2-0.1-22.2 4.8-22.1 22 0.7 119.2 0.4 238.4 0.4 357.7 0 6.7 0.6 13.3 0.9 20.8 178.3-0.1 354.5-0.1 534-0.1z" fill="#3FA9F5" p-id="10236"></path><path d="M718.7 216.1c1 1.6 1.8 4 3.2 4.5 47.6 16.4 46.3 33.7 41.5 76.3h-59.5c-0.9-10.8-1.7-20-2.5-30.3H169.3V650c14 0.7 27.5 1.4 42.5 2.1V696c-36-0.4-74.7 10.6-101.6-27.6-1.7-2.5-5.3-3.6-8.1-5.3V253.4c16.6-12.4 33.1-24.8 49.7-37.2 189-0.1 377.9-0.1 566.9-0.1zM775.8 651.9v45.7h-408v-45.7h408z" fill="#3FA9F5" p-id="10237"></path><path d="M685 544.4v45.9H367.7v-45.9H685zM367.3 482.8v-45.6H511v45.6H367.3z" fill="#3FA9F5" p-id="10238"></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="1692923893444" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10377" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M672.14 952.959H331.406c-27.134 0-53.919-7.154-77.585-20.706a46.221 46.221 0 0 1-5.711-3.038c-0.105-0.065-0.21-0.133-0.314-0.2-2.04-1.316-3.694-2.63-4.902-3.589-0.332-0.263-0.658-0.533-0.999-0.782a183.052 183.052 0 0 1-7.127-5.276 24.857 24.857 0 0 1-4.788-3.82c-2.998-2.641-5.762-5.265-8.446-7.816-5.4-5.063-10.473-10.895-15.088-17.346-1.231-1.556-2.271-3.022-3.128-4.232-0.297-0.419-0.59-0.833-0.883-1.236-0.204-0.28-0.402-0.564-0.595-0.853a134.1 134.1 0 0 1-2.104-3.29c-0.437-0.698-0.87-1.398-1.336-2.097a26.493 26.493 0 0 1-0.799-1.279l-3.146-5.395a23.647 23.647 0 0 1-0.39-0.694c-2.442-4.509-4.568-8.992-6.323-13.334-4.371-10.041-7.553-20.362-9.722-31.534-0.47-2.348-1.033-5.184-1.344-8.515-0.615-3.593-1-7.313-1.197-11.571l-0.018-0.339c-0.155-2.921-0.314-5.94-0.314-9.315V505.63H126.58c-2.657 0-4.812-0.273-6.236-0.454l-0.319-0.04-0.191-0.025c-9.596-1.277-18.56-5.559-25.335-12.081-5.561-5.07-9.584-11.224-11.965-18.303-6.365-18.612-1.112-38.64 13.396-51.143L480.723 83.028c17.819-16.067 44.571-16.071 62.393-0.009l384.952 340.563c14.544 12.531 19.788 32.624 13.355 51.272-0.086 0.249-0.176 0.497-0.27 0.744-2.363 6.203-6.089 11.878-11.074 16.865-0.145 0.145-0.29 0.286-0.438 0.427-6.999 6.667-15.81 10.885-25.488 12.202-1.456 0.209-3.827 0.538-6.733 0.538h-48.568v69.579c0 13.785-11.175 24.96-24.96 24.96s-24.96-11.175-24.96-24.96V480.67c0-13.785 11.175-24.96 24.96-24.96h65.153l-377.12-333.633L134.953 455.71h65.153c13.785 0 24.96 11.175 24.96 24.96V796.7c0 2.056 0.113 4.198 0.244 6.679l0.022 0.408 0.009 0.18c0.111 2.451 0.313 4.379 0.635 6.066 0.196 1.028 0.327 2.068 0.393 3.113 0.046 0.726 0.335 2.17 0.614 3.568l0.029 0.151c1.484 7.666 3.645 14.675 6.606 21.429 0.109 0.25 0.215 0.501 0.316 0.754 1.031 2.579 2.325 5.323 3.848 8.16l2.597 4.45c0.578 0.886 1.134 1.771 1.688 2.657 0.359 0.575 0.717 1.151 1.092 1.727 0.295 0.409 0.59 0.825 0.887 1.244 0.607 0.857 1.235 1.743 1.643 2.241 0.373 0.456 0.729 0.925 1.069 1.406 2.849 4.035 5.78 7.443 8.964 10.422l0.144 0.135c2.338 2.222 4.57 4.343 6.778 6.302 0.335 0.243 0.666 0.497 0.991 0.759a133.009 133.009 0 0 0 7.068 5.322l0.225 0.159a74.24 74.24 0 0 1 3.006 2.297c0.185 0.146 0.402 0.319 0.599 0.473 1.049 0.438 2.066 0.945 3.047 1.521 16.378 9.627 34.991 14.715 53.827 14.715H672.14c13.785 0 24.96 11.175 24.96 24.96s-11.174 24.961-24.96 24.961z m-399.355-55.035v0z m0-0.053z m-0.001-0.119z m-0.002-0.118z m-0.001-0.059l0.001 0.004-0.001-0.004z m-0.002-0.124v0z m-0.001-0.057v0z m-0.002-0.075l0.001 0.029-0.001-0.029z m-0.002-0.053l0.001 0.034-0.001-0.034z m-0.461-4.105z m-0.007-0.036l0.004 0.018a0.15 0.15 0 0 0-0.004-0.018z" fill="#666666" p-id="10378"></path><path d="M822.058 952.91c-26.896 0-53.797-10.163-74.385-30.528l-0.096-0.096L609.902 784.61c-47.293 12.792-97.204 8.753-142.166-11.781-51.142-23.351-90.132-65.224-109.786-117.905-19.654-52.681-17.618-109.86 5.734-161.004l0.049-0.106a43.583 43.583 0 0 1 8.532-12.314c8.186-8.27 19.036-12.823 30.605-12.872l0.189-0.001c11.504 0 22.327 4.461 30.495 12.574l71.292 70.508 22.097-22.096-70.337-71.118c-3.38-3.285-6.194-7.125-8.37-11.419-5.226-10.258-6.141-21.995-2.552-33 3.591-11.01 11.253-19.954 21.575-25.186 0.309-0.156 0.619-0.306 0.934-0.449 49.744-22.668 105.515-25.179 157.033-7.068 53.048 18.613 95.679 56.777 120.025 107.46 22.025 45.847 26.702 96.971 13.602 145.577l137.661 137.66c41.392 41.019 41.729 108.067 0.735 149.51-20.648 20.873-47.917 31.33-75.191 31.33z m57.448-48.885h0.01-0.01z m-96.682-17.091c21.897 21.613 57.297 21.414 78.937-0.463 21.659-21.895 21.471-57.325-0.42-78.979l-0.096-0.096L712.918 659.07a24.958 24.958 0 0 1-5.9-25.92c14.212-40.467 11.811-84.043-6.761-122.702-18.573-38.661-51.094-67.773-91.57-81.976-36.022-12.664-74.758-12.111-110.193 1.383l81.398 82.302c9.656 9.763 9.612 25.492-0.097 35.201l-57.2 57.2c-9.709 9.71-25.438 9.754-35.201 0.098l-82.038-81.136c-14.214 36.681-14.501 76.786-0.635 113.954 14.993 40.188 44.737 72.132 83.752 89.945 38.021 17.364 80.682 19.264 120.124 5.352a24.962 24.962 0 0 1 25.953 5.889l148.274 148.274zM398.415 516.656l0.017 0.016-0.017-0.016z" fill="#666666" p-id="10379"></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="1692923893444" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10377" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M672.14 952.959H331.406c-27.134 0-53.919-7.154-77.585-20.706a46.221 46.221 0 0 1-5.711-3.038c-0.105-0.065-0.21-0.133-0.314-0.2-2.04-1.316-3.694-2.63-4.902-3.589-0.332-0.263-0.658-0.533-0.999-0.782a183.052 183.052 0 0 1-7.127-5.276 24.857 24.857 0 0 1-4.788-3.82c-2.998-2.641-5.762-5.265-8.446-7.816-5.4-5.063-10.473-10.895-15.088-17.346-1.231-1.556-2.271-3.022-3.128-4.232-0.297-0.419-0.59-0.833-0.883-1.236-0.204-0.28-0.402-0.564-0.595-0.853a134.1 134.1 0 0 1-2.104-3.29c-0.437-0.698-0.87-1.398-1.336-2.097a26.493 26.493 0 0 1-0.799-1.279l-3.146-5.395a23.647 23.647 0 0 1-0.39-0.694c-2.442-4.509-4.568-8.992-6.323-13.334-4.371-10.041-7.553-20.362-9.722-31.534-0.47-2.348-1.033-5.184-1.344-8.515-0.615-3.593-1-7.313-1.197-11.571l-0.018-0.339c-0.155-2.921-0.314-5.94-0.314-9.315V505.63H126.58c-2.657 0-4.812-0.273-6.236-0.454l-0.319-0.04-0.191-0.025c-9.596-1.277-18.56-5.559-25.335-12.081-5.561-5.07-9.584-11.224-11.965-18.303-6.365-18.612-1.112-38.64 13.396-51.143L480.723 83.028c17.819-16.067 44.571-16.071 62.393-0.009l384.952 340.563c14.544 12.531 19.788 32.624 13.355 51.272-0.086 0.249-0.176 0.497-0.27 0.744-2.363 6.203-6.089 11.878-11.074 16.865-0.145 0.145-0.29 0.286-0.438 0.427-6.999 6.667-15.81 10.885-25.488 12.202-1.456 0.209-3.827 0.538-6.733 0.538h-48.568v69.579c0 13.785-11.175 24.96-24.96 24.96s-24.96-11.175-24.96-24.96V480.67c0-13.785 11.175-24.96 24.96-24.96h65.153l-377.12-333.633L134.953 455.71h65.153c13.785 0 24.96 11.175 24.96 24.96V796.7c0 2.056 0.113 4.198 0.244 6.679l0.022 0.408 0.009 0.18c0.111 2.451 0.313 4.379 0.635 6.066 0.196 1.028 0.327 2.068 0.393 3.113 0.046 0.726 0.335 2.17 0.614 3.568l0.029 0.151c1.484 7.666 3.645 14.675 6.606 21.429 0.109 0.25 0.215 0.501 0.316 0.754 1.031 2.579 2.325 5.323 3.848 8.16l2.597 4.45c0.578 0.886 1.134 1.771 1.688 2.657 0.359 0.575 0.717 1.151 1.092 1.727 0.295 0.409 0.59 0.825 0.887 1.244 0.607 0.857 1.235 1.743 1.643 2.241 0.373 0.456 0.729 0.925 1.069 1.406 2.849 4.035 5.78 7.443 8.964 10.422l0.144 0.135c2.338 2.222 4.57 4.343 6.778 6.302 0.335 0.243 0.666 0.497 0.991 0.759a133.009 133.009 0 0 0 7.068 5.322l0.225 0.159a74.24 74.24 0 0 1 3.006 2.297c0.185 0.146 0.402 0.319 0.599 0.473 1.049 0.438 2.066 0.945 3.047 1.521 16.378 9.627 34.991 14.715 53.827 14.715H672.14c13.785 0 24.96 11.175 24.96 24.96s-11.174 24.961-24.96 24.961z m-399.355-55.035v0z m0-0.053z m-0.001-0.119z m-0.002-0.118z m-0.001-0.059l0.001 0.004-0.001-0.004z m-0.002-0.124v0z m-0.001-0.057v0z m-0.002-0.075l0.001 0.029-0.001-0.029z m-0.002-0.053l0.001 0.034-0.001-0.034z m-0.461-4.105z m-0.007-0.036l0.004 0.018a0.15 0.15 0 0 0-0.004-0.018z" fill="#666666" p-id="10378"></path><path d="M822.058 952.91c-26.896 0-53.797-10.163-74.385-30.528l-0.096-0.096L609.902 784.61c-47.293 12.792-97.204 8.753-142.166-11.781-51.142-23.351-90.132-65.224-109.786-117.905-19.654-52.681-17.618-109.86 5.734-161.004l0.049-0.106a43.583 43.583 0 0 1 8.532-12.314c8.186-8.27 19.036-12.823 30.605-12.872l0.189-0.001c11.504 0 22.327 4.461 30.495 12.574l71.292 70.508 22.097-22.096-70.337-71.118c-3.38-3.285-6.194-7.125-8.37-11.419-5.226-10.258-6.141-21.995-2.552-33 3.591-11.01 11.253-19.954 21.575-25.186 0.309-0.156 0.619-0.306 0.934-0.449 49.744-22.668 105.515-25.179 157.033-7.068 53.048 18.613 95.679 56.777 120.025 107.46 22.025 45.847 26.702 96.971 13.602 145.577l137.661 137.66c41.392 41.019 41.729 108.067 0.735 149.51-20.648 20.873-47.917 31.33-75.191 31.33z m57.448-48.885h0.01-0.01z m-96.682-17.091c21.897 21.613 57.297 21.414 78.937-0.463 21.659-21.895 21.471-57.325-0.42-78.979l-0.096-0.096L712.918 659.07a24.958 24.958 0 0 1-5.9-25.92c14.212-40.467 11.811-84.043-6.761-122.702-18.573-38.661-51.094-67.773-91.57-81.976-36.022-12.664-74.758-12.111-110.193 1.383l81.398 82.302c9.656 9.763 9.612 25.492-0.097 35.201l-57.2 57.2c-9.709 9.71-25.438 9.754-35.201 0.098l-82.038-81.136c-14.214 36.681-14.501 76.786-0.635 113.954 14.993 40.188 44.737 72.132 83.752 89.945 38.021 17.364 80.682 19.264 120.124 5.352a24.962 24.962 0 0 1 25.953 5.889l148.274 148.274zM398.415 516.656l0.017 0.016-0.017-0.016z" fill="#666666" p-id="10379"></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="1693215123921" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24837" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M272.128 538.752l207.36 409.472H204.736c-31.488-1.152-57.728-12.224-78.72-33.28s-32.064-47.232-33.28-78.72v-185.472c1.152-31.488 12.224-57.728 33.28-78.72s47.232-32.064 78.72-33.28h67.392z m88.768-414.784c38.784-39.104 87.616-59.52 146.56-61.248 58.944 1.728 107.776 22.144 146.56 61.248 38.784 39.104 59.072 87.808 60.8 146.112-0.576 37.952-9.92 72.64-28.032 104.128s-43.456 56.576-76.096 75.264c-32.704 18.688-67.072 28.032-103.232 28.032-36.16 0-70.592-9.344-103.232-28.032-32.704-18.688-58.048-43.776-76.096-75.264-18.112-31.488-27.456-66.176-28.032-104.128 1.728-58.304 22.016-107.008 60.8-146.112z m241.984 532.928l-95.36 201.28-95.36-201.28 95.36-83.968 95.36 83.968z m286.976-84.928c21.568 20.992 34.112 47.232 37.632 78.72v185.472c-0.576 31.488-11.52 57.728-32.832 78.72-21.312 20.992-47.68 32.064-79.168 33.28H540.736l202.112-409.472h67.392c31.488 1.216 58.048 12.288 79.616 33.28z" p-id="24838"></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="1693215123921" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24837" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M272.128 538.752l207.36 409.472H204.736c-31.488-1.152-57.728-12.224-78.72-33.28s-32.064-47.232-33.28-78.72v-185.472c1.152-31.488 12.224-57.728 33.28-78.72s47.232-32.064 78.72-33.28h67.392z m88.768-414.784c38.784-39.104 87.616-59.52 146.56-61.248 58.944 1.728 107.776 22.144 146.56 61.248 38.784 39.104 59.072 87.808 60.8 146.112-0.576 37.952-9.92 72.64-28.032 104.128s-43.456 56.576-76.096 75.264c-32.704 18.688-67.072 28.032-103.232 28.032-36.16 0-70.592-9.344-103.232-28.032-32.704-18.688-58.048-43.776-76.096-75.264-18.112-31.488-27.456-66.176-28.032-104.128 1.728-58.304 22.016-107.008 60.8-146.112z m241.984 532.928l-95.36 201.28-95.36-201.28 95.36-83.968 95.36 83.968z m286.976-84.928c21.568 20.992 34.112 47.232 37.632 78.72v185.472c-0.576 31.488-11.52 57.728-32.832 78.72-21.312 20.992-47.68 32.064-79.168 33.28H540.736l202.112-409.472h67.392c31.488 1.216 58.048 12.288 79.616 33.28z" p-id="24838"></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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M868.5 537.6V385.5c0-58.5-46.8-105.3-105.3-105.3v-46.8c0-58.5-46.8-105.3-105.3-105.3H207.3C148.8 128 102 174.8 102 233.3v608.6c0 58.5 46.8 105.3 105.3 105.3h555.9c58.5 0 105.3-46.8 105.3-105.3V689.7c29.3 0 52.7-23.4 52.7-52.7v-46.8c0-29.2-23.4-52.6-52.7-52.6z m0 99.5H716.4v-46.8h152.1v46.8zM172.2 198.2c5.9-11.7 23.4-17.6 35.1-17.6h456.4c11.7 0 29.3 5.9 35.1 17.6 11.7 11.7 17.5 23.4 17.5 35.1V286h-509c-11.7 0-29.3-5.9-35.1-17.6-11.7-11.7-17.6-23.4-17.6-35.1 0.1-17.5 5.9-29.2 17.6-35.1z m632 678.8c-11.7 11.7-23.4 17.6-35.1 17.6H207.3c-11.7 0-29.3-5.9-35.1-17.6-5.9-11.7-17.6-23.4-17.6-35.1V321.1c17.6 11.7 35.1 11.7 52.7 11.7H769c11.7 0 29.3 5.9 35.1 17.6 11.7 11.7 17.6 23.4 17.6 35.1v152.1h-99.5c-35.1 0-58.5 23.4-58.5 52.7v46.8c0 29.3 23.4 52.7 52.7 52.7h99.5v152.1c0 11.7-5.9 29.2-11.7 35.1z m0 0" fill="#333333" /></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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M868.5 537.6V385.5c0-58.5-46.8-105.3-105.3-105.3v-46.8c0-58.5-46.8-105.3-105.3-105.3H207.3C148.8 128 102 174.8 102 233.3v608.6c0 58.5 46.8 105.3 105.3 105.3h555.9c58.5 0 105.3-46.8 105.3-105.3V689.7c29.3 0 52.7-23.4 52.7-52.7v-46.8c0-29.2-23.4-52.6-52.7-52.6z m0 99.5H716.4v-46.8h152.1v46.8zM172.2 198.2c5.9-11.7 23.4-17.6 35.1-17.6h456.4c11.7 0 29.3 5.9 35.1 17.6 11.7 11.7 17.5 23.4 17.5 35.1V286h-509c-11.7 0-29.3-5.9-35.1-17.6-11.7-11.7-17.6-23.4-17.6-35.1 0.1-17.5 5.9-29.2 17.6-35.1z m632 678.8c-11.7 11.7-23.4 17.6-35.1 17.6H207.3c-11.7 0-29.3-5.9-35.1-17.6-5.9-11.7-17.6-23.4-17.6-35.1V321.1c17.6 11.7 35.1 11.7 52.7 11.7H769c11.7 0 29.3 5.9 35.1 17.6 11.7 11.7 17.6 23.4 17.6 35.1v152.1h-99.5c-35.1 0-58.5 23.4-58.5 52.7v46.8c0 29.3 23.4 52.7 52.7 52.7h99.5v152.1c0 11.7-5.9 29.2-11.7 35.1z m0 0" fill="#333333" /></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="1693277393186" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35078" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M598.8 595.3c-36.8 14.8-65.6 14.8-87.8 1.6-0.4-0.2-0.8-0.5-1.2-0.7-31.9-16.5-66.5-17.3-102.5-2.8-13.1 5.3-19.9 21.3-15.1 35.9 4.7 14.6 19.2 22.1 32.3 16.8 23.6-9.5 44.3-9.1 63.5 0.6l1.1 0.6c35.8 20.4 78.6 20.1 127 0.6 13.1-5.3 19.9-21.4 15.1-35.9-4.8-14.5-19.3-22-32.4-16.7zM864 0H160c-53 0-96 43-96 96v832c0 53 43 96 96 96h704c53 0 96-43 96-96V96c0-53-43-96-96-96zM702.4 768H321.6c-15.1 0-29.7-5.8-41.4-16.3-28.1-25.4-32.4-71.3-9.5-102.6l147-200.9V312.1h-25.4c-13.9 0-25.2-12.6-25.2-28s11.3-28 25.2-28h238.9c13.9 0 25.2 12.6 25.2 28s-11.3 28-25.2 28h-17.4v136.5l140.5 201.9c8.9 12.8 13.7 28.5 13.7 44.6 0 40.3-29.4 72.9-65.6 72.9z" fill="#666666" p-id="35079"></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="1693277393186" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35078" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M598.8 595.3c-36.8 14.8-65.6 14.8-87.8 1.6-0.4-0.2-0.8-0.5-1.2-0.7-31.9-16.5-66.5-17.3-102.5-2.8-13.1 5.3-19.9 21.3-15.1 35.9 4.7 14.6 19.2 22.1 32.3 16.8 23.6-9.5 44.3-9.1 63.5 0.6l1.1 0.6c35.8 20.4 78.6 20.1 127 0.6 13.1-5.3 19.9-21.4 15.1-35.9-4.8-14.5-19.3-22-32.4-16.7zM864 0H160c-53 0-96 43-96 96v832c0 53 43 96 96 96h704c53 0 96-43 96-96V96c0-53-43-96-96-96zM702.4 768H321.6c-15.1 0-29.7-5.8-41.4-16.3-28.1-25.4-32.4-71.3-9.5-102.6l147-200.9V312.1h-25.4c-13.9 0-25.2-12.6-25.2-28s11.3-28 25.2-28h238.9c13.9 0 25.2 12.6 25.2 28s-11.3 28-25.2 28h-17.4v136.5l140.5 201.9c8.9 12.8 13.7 28.5 13.7 44.6 0 40.3-29.4 72.9-65.6 72.9z" fill="#666666" p-id="35079"></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="1693214983853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18724" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M360.597 926.64H210.89c-45.646 0-82.782-37.136-82.782-82.782V180.891c0-45.646 37.136-82.782 82.782-82.782h537.403c45.646 0 82.781 37.136 82.781 82.782v193.206c0 17.673-14.327 32-32 32s-32-14.327-32-32V180.891c0-10.181-8.601-18.782-18.781-18.782H210.89c-10.181 0-18.782 8.601-18.782 18.782v662.966c0 10.181 8.601 18.782 18.782 18.782h149.707c17.673 0 32 14.327 32 32s-14.327 32.001-32 32.001z" fill="" p-id="18725"></path><path d="M618.585 324.35H292.35c-17.673 0-32-14.327-32-32s14.327-32 32-32h326.235c17.673 0 32 14.327 32 32s-14.327 32-32 32zM574.587 481.094H292.601c-17.673 0-32-14.327-32-32s14.327-32 32-32h281.986c17.673 0 32 14.327 32 32s-14.327 32-32 32zM482.592 641.085h-188.99c-17.673 0-32-14.327-32-32s14.327-32 32-32h188.99c17.673 0 32 14.327 32 32s-14.327 32-32 32zM453.311 921.976l-3.156-146.626c-5.508-17.409 2.855-35.333 12.959-46.674l263.139-295.372c7.36-8.262 17.431-13.394 28.355-14.45 11.676-1.129 23.359 2.65 32.029 10.374l108.471 96.634c17.425 15.523 18.743 42.595 2.954 60.387l-66.067 74.886c-11.692 13.254-31.915 14.519-45.166 2.826-13.253-11.691-14.519-31.914-2.826-45.166l52.461-59.464-76.253-67.932-246.373 276.553a60.84 60.84 0 0 1 0.272 4.618l1.675 77.806 68.047-7.82a81.528 81.528 0 0 0 3.246-3.442l0.226-0.251 135.027-148.398c11.894-13.07 32.131-14.026 45.205-2.133 13.071 11.895 14.026 32.133 2.133 45.205L634.747 881.818c-3.284 3.678-8.309 8.94-13.809 13.396-12.6 10.207-23.772 12.293-32.53 11.236l-135.097 15.526z m-2.105-143.727a0.203 0.203 0 0 0 0.011 0.026c-0.005-0.008-0.008-0.017-0.011-0.026z" fill="" p-id="18726"></path><path d="M803.003 671.965c-8.355 0-16.701-3.252-22.977-9.725l-98.864-101.965c-12.302-12.688-11.989-32.947 0.699-45.25 12.688-12.3 32.946-11.989 45.249 0.699l98.864 101.965c12.302 12.688 11.989 32.947-0.699 45.25-6.215 6.027-14.248 9.026-22.272 9.026z" fill="" p-id="18727"></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="1693214983853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18724" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M360.597 926.64H210.89c-45.646 0-82.782-37.136-82.782-82.782V180.891c0-45.646 37.136-82.782 82.782-82.782h537.403c45.646 0 82.781 37.136 82.781 82.782v193.206c0 17.673-14.327 32-32 32s-32-14.327-32-32V180.891c0-10.181-8.601-18.782-18.781-18.782H210.89c-10.181 0-18.782 8.601-18.782 18.782v662.966c0 10.181 8.601 18.782 18.782 18.782h149.707c17.673 0 32 14.327 32 32s-14.327 32.001-32 32.001z" fill="" p-id="18725"></path><path d="M618.585 324.35H292.35c-17.673 0-32-14.327-32-32s14.327-32 32-32h326.235c17.673 0 32 14.327 32 32s-14.327 32-32 32zM574.587 481.094H292.601c-17.673 0-32-14.327-32-32s14.327-32 32-32h281.986c17.673 0 32 14.327 32 32s-14.327 32-32 32zM482.592 641.085h-188.99c-17.673 0-32-14.327-32-32s14.327-32 32-32h188.99c17.673 0 32 14.327 32 32s-14.327 32-32 32zM453.311 921.976l-3.156-146.626c-5.508-17.409 2.855-35.333 12.959-46.674l263.139-295.372c7.36-8.262 17.431-13.394 28.355-14.45 11.676-1.129 23.359 2.65 32.029 10.374l108.471 96.634c17.425 15.523 18.743 42.595 2.954 60.387l-66.067 74.886c-11.692 13.254-31.915 14.519-45.166 2.826-13.253-11.691-14.519-31.914-2.826-45.166l52.461-59.464-76.253-67.932-246.373 276.553a60.84 60.84 0 0 1 0.272 4.618l1.675 77.806 68.047-7.82a81.528 81.528 0 0 0 3.246-3.442l0.226-0.251 135.027-148.398c11.894-13.07 32.131-14.026 45.205-2.133 13.071 11.895 14.026 32.133 2.133 45.205L634.747 881.818c-3.284 3.678-8.309 8.94-13.809 13.396-12.6 10.207-23.772 12.293-32.53 11.236l-135.097 15.526z m-2.105-143.727a0.203 0.203 0 0 0 0.011 0.026c-0.005-0.008-0.008-0.017-0.011-0.026z" fill="" p-id="18726"></path><path d="M803.003 671.965c-8.355 0-16.701-3.252-22.977-9.725l-98.864-101.965c-12.302-12.688-11.989-32.947 0.699-45.25 12.688-12.3 32.946-11.989 45.249 0.699l98.864 101.965c12.302 12.688 11.989 32.947-0.699 45.25-6.215 6.027-14.248 9.026-22.272 9.026z" fill="" p-id="18727"></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="1693209540840" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8965" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M323.328 673.28a162.133333 162.133333 0 0 0 164.608-158.336V243.626667a164.736 164.736 0 0 0-329.216 0v271.445333a161.877333 161.877333 0 0 0 164.608 158.208zM229.162667 245.290667a94.165333 94.165333 0 0 1 188.074666 0v268.117333a94.165333 94.165333 0 0 1-188.074666 0z" fill="#D2D2D2" p-id="8966"></path><path d="M405.546667 861.44h-46.933334v-72.533333a329.045333 329.045333 0 0 0 287.402667-262.485334 35.2 35.2 0 0 0-69.248-12.8 258.602667 258.602667 0 0 1-506.794667 0 35.2 35.2 0 0 0-69.248 12.8 329.002667 329.002667 0 0 0 287.317334 262.485334v72.746666h-46.933334a35.285333 35.285333 0 0 0 0 70.570667h164.352a35.285333 35.285333 0 0 0 0-70.570667zM835.114667 320.469333h-211.84a35.285333 35.285333 0 0 0 0 70.570667h211.84a35.285333 35.285333 0 1 0 0-70.570667z m0 352.810667h-211.84a35.285333 35.285333 0 0 0 0 70.570667h211.84a35.285333 35.285333 0 1 0 0-70.570667z m0-164.608h-117.674667a35.285333 35.285333 0 0 0 0 70.570667h117.674667a35.285333 35.285333 0 1 0 0-70.570667z" fill="#D2D2D2" p-id="8967"></path><path d="M893.824 108.8h-341.12a35.285333 35.285333 0 0 0 0 70.570667h317.525333a46.933333 46.933333 0 0 1 46.933334 46.933333v564.48a46.933333 46.933333 0 0 1-46.933334 46.933333h-364.458666a35.285333 35.285333 0 0 0 0 70.570667h388.266666a93.866667 93.866667 0 0 0 93.866667-93.866667V202.965333a93.866667 93.866667 0 0 0-94.08-94.165333z" fill="#D2D2D2" p-id="8968"></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="1693209540840" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8965" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M323.328 673.28a162.133333 162.133333 0 0 0 164.608-158.336V243.626667a164.736 164.736 0 0 0-329.216 0v271.445333a161.877333 161.877333 0 0 0 164.608 158.208zM229.162667 245.290667a94.165333 94.165333 0 0 1 188.074666 0v268.117333a94.165333 94.165333 0 0 1-188.074666 0z" fill="#D2D2D2" p-id="8966"></path><path d="M405.546667 861.44h-46.933334v-72.533333a329.045333 329.045333 0 0 0 287.402667-262.485334 35.2 35.2 0 0 0-69.248-12.8 258.602667 258.602667 0 0 1-506.794667 0 35.2 35.2 0 0 0-69.248 12.8 329.002667 329.002667 0 0 0 287.317334 262.485334v72.746666h-46.933334a35.285333 35.285333 0 0 0 0 70.570667h164.352a35.285333 35.285333 0 0 0 0-70.570667zM835.114667 320.469333h-211.84a35.285333 35.285333 0 0 0 0 70.570667h211.84a35.285333 35.285333 0 1 0 0-70.570667z m0 352.810667h-211.84a35.285333 35.285333 0 0 0 0 70.570667h211.84a35.285333 35.285333 0 1 0 0-70.570667z m0-164.608h-117.674667a35.285333 35.285333 0 0 0 0 70.570667h117.674667a35.285333 35.285333 0 1 0 0-70.570667z" fill="#D2D2D2" p-id="8967"></path><path d="M893.824 108.8h-341.12a35.285333 35.285333 0 0 0 0 70.570667h317.525333a46.933333 46.933333 0 0 1 46.933334 46.933333v564.48a46.933333 46.933333 0 0 1-46.933334 46.933333h-364.458666a35.285333 35.285333 0 0 0 0 70.570667h388.266666a93.866667 93.866667 0 0 0 93.866667-93.866667V202.965333a93.866667 93.866667 0 0 0-94.08-94.165333z" fill="#D2D2D2" p-id="8968"></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="1693213611450" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16695" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M313.4 960.2H197.7c-3.1 0-5.7-2.6-5.7-5.7V69.9c0-3.1 2.6-5.7 5.7-5.7h115.7c3.1 0 5.7 2.6 5.7 5.7v884.7c-0.1 3.1-2.6 5.6-5.7 5.6zM384.1 97.9l556.5 319.9-556.5 256.1z" p-id="16696"></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="1693213611450" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16695" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M313.4 960.2H197.7c-3.1 0-5.7-2.6-5.7-5.7V69.9c0-3.1 2.6-5.7 5.7-5.7h115.7c3.1 0 5.7 2.6 5.7 5.7v884.7c-0.1 3.1-2.6 5.6-5.7 5.6zM384.1 97.9l556.5 319.9-556.5 256.1z" p-id="16696"></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="1693212435237" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3608" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M513.183454 532.442588c-62.243623 0-120.763434-24.225751-164.778904-68.215638-44.020586-43.992957-68.26271-102.486162-68.26271-164.703179 0-62.215994 24.242124-120.708176 68.26271-164.702156 44.01547-43.989887 102.535281-68.216661 164.778904-68.216661 62.243623 0 120.764458 24.226774 164.778904 68.216661 44.018539 43.992957 68.260663 102.485139 68.260663 164.702156 0 62.217017-24.242124 120.710222-68.260663 164.703179C633.947911 508.215814 575.4281 532.442588 513.183454 532.442588zM513.183454 117.828592c-100.254332 0-181.817975 81.507362-181.817975 181.694155 0 100.186793 81.563644 181.695179 181.817975 181.695179 100.254332 0 181.816952-81.508385 181.816952-181.695179C695.000406 199.336978 613.437785 117.828592 513.183454 117.828592z" p-id="3609"></path><path d="M879.044072 956.940698 146.070308 956.940698l-1.243317-24.303522c-0.317225-6.202259-0.477884-12.514012-0.477884-18.762319 0-49.262984 9.751085-97.06264 28.983101-142.071739 18.562774-43.444465 45.127803-82.45085 78.95626-115.937522 33.81106-33.468253 73.183789-59.745732 117.02632-78.100776 45.3867-19.002796 93.581352-28.637224 143.245472-28.637224 49.665143 0 97.861842 9.634428 143.247518 28.637224 43.842531 18.356067 83.21526 44.632523 117.02632 78.100776 33.828456 33.486672 60.393485 72.493058 78.955236 115.937522 19.230993 45.0091 28.982078 92.808756 28.982078 142.071739 0 6.246261-0.161682 12.56006-0.480954 18.768459L879.044072 956.940698zM195.678146 905.71706l633.765251 0c-4.380774-169.130002-144.846946-305.366849-316.883137-305.366849C340.525092 600.350211 200.05892 736.587058 195.678146 905.71706z" p-id="3610"></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="1693212435237" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3608" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M513.183454 532.442588c-62.243623 0-120.763434-24.225751-164.778904-68.215638-44.020586-43.992957-68.26271-102.486162-68.26271-164.703179 0-62.215994 24.242124-120.708176 68.26271-164.702156 44.01547-43.989887 102.535281-68.216661 164.778904-68.216661 62.243623 0 120.764458 24.226774 164.778904 68.216661 44.018539 43.992957 68.260663 102.485139 68.260663 164.702156 0 62.217017-24.242124 120.710222-68.260663 164.703179C633.947911 508.215814 575.4281 532.442588 513.183454 532.442588zM513.183454 117.828592c-100.254332 0-181.817975 81.507362-181.817975 181.694155 0 100.186793 81.563644 181.695179 181.817975 181.695179 100.254332 0 181.816952-81.508385 181.816952-181.695179C695.000406 199.336978 613.437785 117.828592 513.183454 117.828592z" p-id="3609"></path><path d="M879.044072 956.940698 146.070308 956.940698l-1.243317-24.303522c-0.317225-6.202259-0.477884-12.514012-0.477884-18.762319 0-49.262984 9.751085-97.06264 28.983101-142.071739 18.562774-43.444465 45.127803-82.45085 78.95626-115.937522 33.81106-33.468253 73.183789-59.745732 117.02632-78.100776 45.3867-19.002796 93.581352-28.637224 143.245472-28.637224 49.665143 0 97.861842 9.634428 143.247518 28.637224 43.842531 18.356067 83.21526 44.632523 117.02632 78.100776 33.828456 33.486672 60.393485 72.493058 78.955236 115.937522 19.230993 45.0091 28.982078 92.808756 28.982078 142.071739 0 6.246261-0.161682 12.56006-0.480954 18.768459L879.044072 956.940698zM195.678146 905.71706l633.765251 0c-4.380774-169.130002-144.846946-305.366849-316.883137-305.366849C340.525092 600.350211 200.05892 736.587058 195.678146 905.71706z" p-id="3610"></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="1693209688211" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11124" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M763.424 912H260.576A99.312 99.312 0 0 1 160 814V324a99.312 99.312 0 0 1 100.576-98H336v-48.992h67.728A134.56 134.56 0 0 1 512 128a134.576 134.576 0 0 1 108.272 49.008H688V226h75.424A99.312 99.312 0 0 1 864 324v490a99.312 99.312 0 0 1-100.576 98zM637.712 226H581.84c0-27.056-31.264-48.992-69.84-48.992S442.16 198.944 442.16 226h-55.872v98h251.424v-98z m176 98a49.6 49.6 0 0 0-50.288-49.008H688v98H336v-97.984h-75.424a49.6 49.6 0 0 0-50.288 49.008V814a49.6 49.6 0 0 0 50.288 49.008h502.848a49.6 49.6 0 0 0 50.288-48.992V324zM688 765.008H336a24.512 24.512 0 1 1 0-48.992h352a24.512 24.512 0 1 1 0 48.992z m0-122.496H336a24.512 24.512 0 1 1 0-49.008h352a24.512 24.512 0 1 1 0 48.992zM688 520H336a24.512 24.512 0 1 1 0-49.008h352A24.512 24.512 0 1 1 688 520z" fill="" p-id="11125"></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="1693209688211" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11124" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M763.424 912H260.576A99.312 99.312 0 0 1 160 814V324a99.312 99.312 0 0 1 100.576-98H336v-48.992h67.728A134.56 134.56 0 0 1 512 128a134.576 134.576 0 0 1 108.272 49.008H688V226h75.424A99.312 99.312 0 0 1 864 324v490a99.312 99.312 0 0 1-100.576 98zM637.712 226H581.84c0-27.056-31.264-48.992-69.84-48.992S442.16 198.944 442.16 226h-55.872v98h251.424v-98z m176 98a49.6 49.6 0 0 0-50.288-49.008H688v98H336v-97.984h-75.424a49.6 49.6 0 0 0-50.288 49.008V814a49.6 49.6 0 0 0 50.288 49.008h502.848a49.6 49.6 0 0 0 50.288-48.992V324zM688 765.008H336a24.512 24.512 0 1 1 0-48.992h352a24.512 24.512 0 1 1 0 48.992z m0-122.496H336a24.512 24.512 0 1 1 0-49.008h352a24.512 24.512 0 1 1 0 48.992zM688 520H336a24.512 24.512 0 1 1 0-49.008h352A24.512 24.512 0 1 1 688 520z" fill="" p-id="11125"></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="1692956685780" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33318" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M763.424 912H260.576A99.312 99.312 0 0 1 160 814V324a99.312 99.312 0 0 1 100.576-98H336v-48.992h67.728A134.56 134.56 0 0 1 512 128a134.576 134.576 0 0 1 108.272 49.008H688V226h75.424A99.312 99.312 0 0 1 864 324v490a99.312 99.312 0 0 1-100.576 98zM637.712 226H581.84c0-27.056-31.264-48.992-69.84-48.992S442.16 198.944 442.16 226h-55.872v98h251.424v-98z m176 98a49.6 49.6 0 0 0-50.288-49.008H688v98H336v-97.984h-75.424a49.6 49.6 0 0 0-50.288 49.008V814a49.6 49.6 0 0 0 50.288 49.008h502.848a49.6 49.6 0 0 0 50.288-48.992V324zM688 765.008H336a24.512 24.512 0 1 1 0-48.992h352a24.512 24.512 0 1 1 0 48.992z m0-122.496H336a24.512 24.512 0 1 1 0-49.008h352a24.512 24.512 0 1 1 0 48.992zM688 520H336a24.512 24.512 0 1 1 0-49.008h352A24.512 24.512 0 1 1 688 520z" fill="" p-id="33319"></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="1692956685780" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33318" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M763.424 912H260.576A99.312 99.312 0 0 1 160 814V324a99.312 99.312 0 0 1 100.576-98H336v-48.992h67.728A134.56 134.56 0 0 1 512 128a134.576 134.576 0 0 1 108.272 49.008H688V226h75.424A99.312 99.312 0 0 1 864 324v490a99.312 99.312 0 0 1-100.576 98zM637.712 226H581.84c0-27.056-31.264-48.992-69.84-48.992S442.16 198.944 442.16 226h-55.872v98h251.424v-98z m176 98a49.6 49.6 0 0 0-50.288-49.008H688v98H336v-97.984h-75.424a49.6 49.6 0 0 0-50.288 49.008V814a49.6 49.6 0 0 0 50.288 49.008h502.848a49.6 49.6 0 0 0 50.288-48.992V324zM688 765.008H336a24.512 24.512 0 1 1 0-48.992h352a24.512 24.512 0 1 1 0 48.992z m0-122.496H336a24.512 24.512 0 1 1 0-49.008h352a24.512 24.512 0 1 1 0 48.992zM688 520H336a24.512 24.512 0 1 1 0-49.008h352A24.512 24.512 0 1 1 688 520z" fill="" p-id="33319"></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="1693215049117" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22692" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M861.433649 0H142.889371c-39.65996 0-71.853928 31.581968-71.853927 70.508929v881.346114c0 59.85794 68.913931 93.519906 116.169883 56.549943L457.608055 810.959184c25.949974-20.31998 62.429937-20.31998 88.500911 0l271.136727 197.690801c47.250952 36.848963 116.044883 3.184997 116.044883-56.674943V70.508929C933.287576 31.581968 901.093609 0 861.433649 0z m8.815991 951.974042c0 2.762997-0.724999 4.629995-2.423998 6.236994-1.791998 1.696998-4.346996 2.749997-6.670993 2.749997h-0.001c-1.187999 0-2.847997-0.23-5.143995-2.022998l-0.804999-0.624999-271.272727-197.791801c-23.469976-17.963982-52.584947-27.841972-82.121918-27.841972-29.56697 0-58.669941 9.89699-82.095917 27.890972L149.186365 958.112036l-0.821999 0.643c-2.309998 1.807998-3.977996 2.038998-5.174995 2.038998-0.09 0-9.114991-0.385-9.114991-8.938991V70.509929c0-4.047996 4.036996-7.469992 8.814991-7.469992h718.544278c4.779995 0 8.815991 3.421997 8.815991 7.470992v881.464113z" p-id="22693"></path><path d="M694.832816 367.96363l-65.854934 65.854934a28.504971 28.504971 0 0 0-7.959992 25.093974l15.548985 93.029907c3.912996 23.133977-19.83198 40.881959-40.15396 29.86497l-81.399918-43.819956c-8.079992-4.284996-17.749982-4.284996-25.708974 0l-81.402918 43.941956c-20.31998 10.895989-44.067956-6.731993-40.14696-29.86497l15.540984-93.032907c1.596998-9.179991-1.465999-18.482981-7.953992-25.096974l-65.854933-65.854934c-16.404983-16.399984-7.346993-45.043955 15.302984-48.469951l90.947909-13.587987c9.056991-1.348999 16.892983-7.222993 20.806979-15.547984l40.641959-84.584915a27.399972 27.399972 0 0 1 24.849975-15.789984 27.399972 27.399972 0 0 1 24.849975 15.789984l40.634959 84.584915c4.043996 8.324992 11.873988 14.198986 20.812979 15.547984l90.948909 13.588987c22.893977 3.304997 31.949968 31.947968 15.549984 48.352951z" p-id="22694"></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="1693215049117" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22692" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M861.433649 0H142.889371c-39.65996 0-71.853928 31.581968-71.853927 70.508929v881.346114c0 59.85794 68.913931 93.519906 116.169883 56.549943L457.608055 810.959184c25.949974-20.31998 62.429937-20.31998 88.500911 0l271.136727 197.690801c47.250952 36.848963 116.044883 3.184997 116.044883-56.674943V70.508929C933.287576 31.581968 901.093609 0 861.433649 0z m8.815991 951.974042c0 2.762997-0.724999 4.629995-2.423998 6.236994-1.791998 1.696998-4.346996 2.749997-6.670993 2.749997h-0.001c-1.187999 0-2.847997-0.23-5.143995-2.022998l-0.804999-0.624999-271.272727-197.791801c-23.469976-17.963982-52.584947-27.841972-82.121918-27.841972-29.56697 0-58.669941 9.89699-82.095917 27.890972L149.186365 958.112036l-0.821999 0.643c-2.309998 1.807998-3.977996 2.038998-5.174995 2.038998-0.09 0-9.114991-0.385-9.114991-8.938991V70.509929c0-4.047996 4.036996-7.469992 8.814991-7.469992h718.544278c4.779995 0 8.815991 3.421997 8.815991 7.470992v881.464113z" p-id="22693"></path><path d="M694.832816 367.96363l-65.854934 65.854934a28.504971 28.504971 0 0 0-7.959992 25.093974l15.548985 93.029907c3.912996 23.133977-19.83198 40.881959-40.15396 29.86497l-81.399918-43.819956c-8.079992-4.284996-17.749982-4.284996-25.708974 0l-81.402918 43.941956c-20.31998 10.895989-44.067956-6.731993-40.14696-29.86497l15.540984-93.032907c1.596998-9.179991-1.465999-18.482981-7.953992-25.096974l-65.854933-65.854934c-16.404983-16.399984-7.346993-45.043955 15.302984-48.469951l90.947909-13.587987c9.056991-1.348999 16.892983-7.222993 20.806979-15.547984l40.641959-84.584915a27.399972 27.399972 0 0 1 24.849975-15.789984 27.399972 27.399972 0 0 1 24.849975 15.789984l40.634959 84.584915c4.043996 8.324992 11.873988 14.198986 20.812979 15.547984l90.948909 13.588987c22.893977 3.304997 31.949968 31.947968 15.549984 48.352951z" p-id="22694"></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="1693207879147" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14975" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M918.136 923.916c0 49.324-39.985 89.309-89.309 89.309H231.702c-49.324 0-89.309-39.985-89.309-89.309V95.77c0-49.324 39.985-89.309 89.309-89.309h374.239l-0.001 49.908H278.949c-41.519 0-75.176 35.766-75.176 79.885v740.761c0 44.119 33.657 79.885 75.176 79.885h502.632c41.518 0 75.176-35.766 75.176-79.885V293.503l61.38 0.279" fill="#656B8C" p-id="14976"></path><path d="M897.763 278.556h-278.39V0.166l278.39 278.39zM661.652 103.287v130.198H791.85L661.652 103.287zM817.214 585.975c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.393 0 17.008 7.615 17.008 17.008zM610.913 492.834c0 9.393-4.729 17.008-10.561 17.008H283.509c-5.833 0-10.561-7.615-10.561-17.008 0-9.393 4.729-17.008 10.561-17.008h316.843c5.833 0 10.561 7.615 10.561 17.008zM610.913 407.793c0 9.393-4.729 17.008-10.561 17.008H283.509c-5.833 0-10.561-7.615-10.561-17.008 0-9.393 4.729-17.008 10.561-17.008h316.843c5.833-0.001 10.561 7.614 10.561 17.008zM817.214 676.156c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.393-0.001 17.008 7.614 17.008 17.008zM820.453 768.788c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.394-0.001 17.008 7.614 17.008 17.008z" fill="#656B8C" p-id="14977"></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="1693207879147" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14975" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M918.136 923.916c0 49.324-39.985 89.309-89.309 89.309H231.702c-49.324 0-89.309-39.985-89.309-89.309V95.77c0-49.324 39.985-89.309 89.309-89.309h374.239l-0.001 49.908H278.949c-41.519 0-75.176 35.766-75.176 79.885v740.761c0 44.119 33.657 79.885 75.176 79.885h502.632c41.518 0 75.176-35.766 75.176-79.885V293.503l61.38 0.279" fill="#656B8C" p-id="14976"></path><path d="M897.763 278.556h-278.39V0.166l278.39 278.39zM661.652 103.287v130.198H791.85L661.652 103.287zM817.214 585.975c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.393 0 17.008 7.615 17.008 17.008zM610.913 492.834c0 9.393-4.729 17.008-10.561 17.008H283.509c-5.833 0-10.561-7.615-10.561-17.008 0-9.393 4.729-17.008 10.561-17.008h316.843c5.833 0 10.561 7.615 10.561 17.008zM610.913 407.793c0 9.393-4.729 17.008-10.561 17.008H283.509c-5.833 0-10.561-7.615-10.561-17.008 0-9.393 4.729-17.008 10.561-17.008h316.843c5.833-0.001 10.561 7.614 10.561 17.008zM817.214 676.156c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.393-0.001 17.008 7.614 17.008 17.008zM820.453 768.788c0 9.393-7.615 17.008-17.008 17.008h-510.25c-9.393 0-17.008-7.615-17.008-17.008 0-9.393 7.615-17.008 17.008-17.008h510.25c9.394-0.001 17.008 7.614 17.008 17.008z" fill="#656B8C" p-id="14977"></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="1693211009080" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31520" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M987.52 805.12c-3.2-8.96-9.813333-16.426667-18.56-20.693333l-3.413333-2.346667c-5.973333-3.2-10.88-8.106667-14.293334-13.866667-5.12-8.96-6.613333-19.413333-3.84-29.226666s9.173333-18.133333 18.133334-23.253334l3.626666-1.92c8.533333-4.906667 14.933333-13.013333 17.706667-22.4 2.56-9.6 1.066667-19.84-4.053333-28.373333l-46.293334-78.72c-6.826667-11.306667-19.2-18.346667-32.426666-18.346667h-0.853334c-6.613333 0-13.226667 1.92-18.986666 5.12l-3.84 2.346667c-5.973333 3.413333-12.586667 5.12-19.626667 5.333333h-0.213333a38.890667 38.890667 0 0 1-39.04-39.04v-4.266666c-0.213333-10.026667-4.053333-19.413333-11.306667-26.24a36.48 36.48 0 0 0-25.813333-10.453334h-93.44c-9.6 0-18.986667 3.84-25.813334 10.666667-7.253333 6.826667-11.52 16.213333-11.306666 26.24v4.48c0.213333 13.866667-7.466667 26.88-19.84 33.28a40.234667 40.234667 0 0 1-39.253334 0l-4.053333-2.346667c-5.76-3.2-12.373333-4.906667-18.986667-4.906666-2.986667 0-6.186667 0.426667-9.386666 1.28-9.6 2.346667-17.92 8.746667-23.04 17.28l-46.293334 78.72c-4.906667 8.32-6.4 18.56-3.626666 27.946666 2.56 9.6 8.96 17.706667 17.706666 22.4l3.626667 2.346667c15.146667 8.32 22.613333 25.813333 18.346667 42.666667-2.773333 10.026667-9.386667 18.773333-18.773334 23.68l-3.626666 1.92c-8.533333 4.906667-14.72 13.013333-17.28 22.4-2.773333 9.386667-1.28 19.626667 3.626666 27.946666l46.72 78.72c6.4 11.52 18.346667 18.346667 31.36 18.346667h1.92c6.613333 0 13.226667-1.493333 18.986667-4.693333l4.053333-2.346667a40 40 0 0 1 47.146667 5.973333c1.28 1.28 2.56 2.773333 3.413333 4.266667 5.333333 6.613333 8.106667 14.72 8.106667 23.253333v2.986667c0.213333 5.973333 1.706667 11.52 4.48 16.426667 5.973333 12.16 18.56 20.266667 32.853333 20.266666H785.066667c9.813333-0.213333 19.413333-4.053333 26.453333-10.666666 7.253333-6.826667 11.306667-16.426667 11.306667-26.453334v-4.266666c0-6.826667 1.92-13.44 5.333333-18.986667 3.413333-5.973333 8.533333-10.666667 14.293333-14.08 6.186667-3.413333 13.013333-5.12 19.84-5.12 6.613333 0 13.44 1.706667 19.626667 5.12l3.84 1.92c5.76 3.413333 12.16 5.12 18.56 5.12 3.413333 0 6.613333-0.426667 9.813333-1.28 9.6-2.56 17.92-8.533333 23.04-17.066667l46.293334-78.72c3.413333-5.76 5.12-12.373333 5.12-18.986666 0-3.2-0.213333-6.4-1.066667-9.386667z m-72.96-15.36c6.826667 11.733333 16.426667 21.333333 27.946667 28.373333l0.426666 0.213334-40.106666 68.053333-1.28-0.64c-11.946667-6.613333-25.6-10.026667-39.253334-10.026667-14.293333 0-28.16 3.626667-40.746666 10.666667-12.373333 6.826667-22.826667 17.066667-29.653334 28.8-7.466667 12.16-11.52 26.026667-11.733333 40.106667h-82.773333a71.04 71.04 0 0 0-3.84-21.12c-3.84-12.8-10.88-24.533333-20.693334-33.92-15.36-14.933333-35.626667-23.253333-57.173333-23.253334-14.293333 0-28.373333 3.84-41.173333 11.093334h-0.213334l-41.173333-69.333334c18.133333-10.88 31.786667-28.586667 37.333333-49.28 8.96-34.986667-6.4-71.68-37.546666-89.813333l40.746666-69.12h0.213334c12.373333 7.04 26.453333 10.666667 40.533333 10.666667 14.08 0 27.733333-3.626667 39.893333-10.24 26.24-14.08 42.453333-40.96 42.24-69.546667h82.346667c0.426667 20.906667 9.173333 41.386667 24.106667 56.32 15.36 15.146667 35.84 23.68 58.453333 23.68a84.906667 84.906667 0 0 0 40.106667-10.88l0.64-0.426667 40.96 69.333334c-18.133333 10.666667-31.36 28.16-36.906667 48.213333-5.76 20.693333-2.773333 43.306667 8.32 62.08z" p-id="31521"></path><path d="M684.586667 60.373333H144.213333c-47.573333 0-85.973333 38.4-85.973333 85.973334V891.733333c0 47.573333 38.4 85.973333 85.973333 85.973334h208.426667c11.733333 0 21.333333-9.6 21.333333-21.333334s-9.6-21.333333-21.333333-21.333333H144.213333c-23.893333 0-43.306667-19.413333-43.306666-43.306667V146.346667c0-23.893333 19.413333-43.306667 43.306666-43.306667h540.373334c23.893333 0 43.306667 19.413333 43.306666 43.306667v203.733333c0 11.733333 9.6 21.333333 21.333334 21.333333s21.333333-9.6 21.333333-21.333333V146.346667a85.973333 85.973333 0 0 0-85.973333-85.973334zM770.56 677.12c-9.813333-4.48-20.693333-7.04-32.213333-7.04-3.626667 0-7.04 0.213333-10.453334 0.853333a78.08 78.08 0 0 0-67.84 77.44c0 39.466667 29.653333 72.32 67.84 77.226667 3.413333 0.64 6.826667 0.853333 10.453334 0.853333 11.52 0 22.4-2.56 32.213333-7.04a77.653333 77.653333 0 0 0 46.08-71.04c0-31.786667-18.773333-59.093333-46.08-71.253333z m0 86.186667c-5.546667 12.16-17.92 20.48-32.213333 20.48-3.626667 0-7.253333-0.64-10.453334-1.706667-14.506667-4.266667-25.173333-17.706667-25.173333-33.706667s10.666667-29.653333 25.173333-33.92c3.2-1.066667 6.826667-1.706667 10.453334-1.706666 14.293333 0 26.666667 8.533333 32.213333 20.693333 2.133333 4.48 3.413333 9.6 3.413333 14.933333s-1.28 10.453333-3.413333 14.933334z" p-id="31522"></path><path d="M305.28 705.706667c0 7.04-3.626667 13.44-8.96 17.28a20.48 20.48 0 0 1-12.373333 4.053333H212.906667a21.44 21.44 0 0 1 0-42.88h71.04a21.610667 21.610667 0 0 1 21.333333 21.546667zM347.733333 480.426667c0 11.733333-9.386667 21.333333-21.333333 21.333333H212.906667c-11.733333 0-21.333333-9.6-21.333334-21.333333s9.6-21.333333 21.333334-21.333334h113.493333c11.946667 0 21.333333 9.6 21.333333 21.333334zM537.386667 279.04H213.12c-11.733333 0-21.333333-9.6-21.333333-21.333333s9.6-21.333333 21.333333-21.333334H537.6c11.733333 0 21.333333 9.6 21.333333 21.333334-0.213333 11.733333-9.6 21.333333-21.546666 21.333333z" p-id="31523"></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="1693211009080" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31520" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M987.52 805.12c-3.2-8.96-9.813333-16.426667-18.56-20.693333l-3.413333-2.346667c-5.973333-3.2-10.88-8.106667-14.293334-13.866667-5.12-8.96-6.613333-19.413333-3.84-29.226666s9.173333-18.133333 18.133334-23.253334l3.626666-1.92c8.533333-4.906667 14.933333-13.013333 17.706667-22.4 2.56-9.6 1.066667-19.84-4.053333-28.373333l-46.293334-78.72c-6.826667-11.306667-19.2-18.346667-32.426666-18.346667h-0.853334c-6.613333 0-13.226667 1.92-18.986666 5.12l-3.84 2.346667c-5.973333 3.413333-12.586667 5.12-19.626667 5.333333h-0.213333a38.890667 38.890667 0 0 1-39.04-39.04v-4.266666c-0.213333-10.026667-4.053333-19.413333-11.306667-26.24a36.48 36.48 0 0 0-25.813333-10.453334h-93.44c-9.6 0-18.986667 3.84-25.813334 10.666667-7.253333 6.826667-11.52 16.213333-11.306666 26.24v4.48c0.213333 13.866667-7.466667 26.88-19.84 33.28a40.234667 40.234667 0 0 1-39.253334 0l-4.053333-2.346667c-5.76-3.2-12.373333-4.906667-18.986667-4.906666-2.986667 0-6.186667 0.426667-9.386666 1.28-9.6 2.346667-17.92 8.746667-23.04 17.28l-46.293334 78.72c-4.906667 8.32-6.4 18.56-3.626666 27.946666 2.56 9.6 8.96 17.706667 17.706666 22.4l3.626667 2.346667c15.146667 8.32 22.613333 25.813333 18.346667 42.666667-2.773333 10.026667-9.386667 18.773333-18.773334 23.68l-3.626666 1.92c-8.533333 4.906667-14.72 13.013333-17.28 22.4-2.773333 9.386667-1.28 19.626667 3.626666 27.946666l46.72 78.72c6.4 11.52 18.346667 18.346667 31.36 18.346667h1.92c6.613333 0 13.226667-1.493333 18.986667-4.693333l4.053333-2.346667a40 40 0 0 1 47.146667 5.973333c1.28 1.28 2.56 2.773333 3.413333 4.266667 5.333333 6.613333 8.106667 14.72 8.106667 23.253333v2.986667c0.213333 5.973333 1.706667 11.52 4.48 16.426667 5.973333 12.16 18.56 20.266667 32.853333 20.266666H785.066667c9.813333-0.213333 19.413333-4.053333 26.453333-10.666666 7.253333-6.826667 11.306667-16.426667 11.306667-26.453334v-4.266666c0-6.826667 1.92-13.44 5.333333-18.986667 3.413333-5.973333 8.533333-10.666667 14.293333-14.08 6.186667-3.413333 13.013333-5.12 19.84-5.12 6.613333 0 13.44 1.706667 19.626667 5.12l3.84 1.92c5.76 3.413333 12.16 5.12 18.56 5.12 3.413333 0 6.613333-0.426667 9.813333-1.28 9.6-2.56 17.92-8.533333 23.04-17.066667l46.293334-78.72c3.413333-5.76 5.12-12.373333 5.12-18.986666 0-3.2-0.213333-6.4-1.066667-9.386667z m-72.96-15.36c6.826667 11.733333 16.426667 21.333333 27.946667 28.373333l0.426666 0.213334-40.106666 68.053333-1.28-0.64c-11.946667-6.613333-25.6-10.026667-39.253334-10.026667-14.293333 0-28.16 3.626667-40.746666 10.666667-12.373333 6.826667-22.826667 17.066667-29.653334 28.8-7.466667 12.16-11.52 26.026667-11.733333 40.106667h-82.773333a71.04 71.04 0 0 0-3.84-21.12c-3.84-12.8-10.88-24.533333-20.693334-33.92-15.36-14.933333-35.626667-23.253333-57.173333-23.253334-14.293333 0-28.373333 3.84-41.173333 11.093334h-0.213334l-41.173333-69.333334c18.133333-10.88 31.786667-28.586667 37.333333-49.28 8.96-34.986667-6.4-71.68-37.546666-89.813333l40.746666-69.12h0.213334c12.373333 7.04 26.453333 10.666667 40.533333 10.666667 14.08 0 27.733333-3.626667 39.893333-10.24 26.24-14.08 42.453333-40.96 42.24-69.546667h82.346667c0.426667 20.906667 9.173333 41.386667 24.106667 56.32 15.36 15.146667 35.84 23.68 58.453333 23.68a84.906667 84.906667 0 0 0 40.106667-10.88l0.64-0.426667 40.96 69.333334c-18.133333 10.666667-31.36 28.16-36.906667 48.213333-5.76 20.693333-2.773333 43.306667 8.32 62.08z" p-id="31521"></path><path d="M684.586667 60.373333H144.213333c-47.573333 0-85.973333 38.4-85.973333 85.973334V891.733333c0 47.573333 38.4 85.973333 85.973333 85.973334h208.426667c11.733333 0 21.333333-9.6 21.333333-21.333334s-9.6-21.333333-21.333333-21.333333H144.213333c-23.893333 0-43.306667-19.413333-43.306666-43.306667V146.346667c0-23.893333 19.413333-43.306667 43.306666-43.306667h540.373334c23.893333 0 43.306667 19.413333 43.306666 43.306667v203.733333c0 11.733333 9.6 21.333333 21.333334 21.333333s21.333333-9.6 21.333333-21.333333V146.346667a85.973333 85.973333 0 0 0-85.973333-85.973334zM770.56 677.12c-9.813333-4.48-20.693333-7.04-32.213333-7.04-3.626667 0-7.04 0.213333-10.453334 0.853333a78.08 78.08 0 0 0-67.84 77.44c0 39.466667 29.653333 72.32 67.84 77.226667 3.413333 0.64 6.826667 0.853333 10.453334 0.853333 11.52 0 22.4-2.56 32.213333-7.04a77.653333 77.653333 0 0 0 46.08-71.04c0-31.786667-18.773333-59.093333-46.08-71.253333z m0 86.186667c-5.546667 12.16-17.92 20.48-32.213333 20.48-3.626667 0-7.253333-0.64-10.453334-1.706667-14.506667-4.266667-25.173333-17.706667-25.173333-33.706667s10.666667-29.653333 25.173333-33.92c3.2-1.066667 6.826667-1.706667 10.453334-1.706666 14.293333 0 26.666667 8.533333 32.213333 20.693333 2.133333 4.48 3.413333 9.6 3.413333 14.933333s-1.28 10.453333-3.413333 14.933334z" p-id="31522"></path><path d="M305.28 705.706667c0 7.04-3.626667 13.44-8.96 17.28a20.48 20.48 0 0 1-12.373333 4.053333H212.906667a21.44 21.44 0 0 1 0-42.88h71.04a21.610667 21.610667 0 0 1 21.333333 21.546667zM347.733333 480.426667c0 11.733333-9.386667 21.333333-21.333333 21.333333H212.906667c-11.733333 0-21.333333-9.6-21.333334-21.333333s9.6-21.333333 21.333334-21.333334h113.493333c11.946667 0 21.333333 9.6 21.333333 21.333334zM537.386667 279.04H213.12c-11.733333 0-21.333333-9.6-21.333333-21.333333s9.6-21.333333 21.333333-21.333334H537.6c11.733333 0 21.333333 9.6 21.333333 21.333334-0.213333 11.733333-9.6 21.333333-21.546666 21.333333z" p-id="31523"></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="1693215041500" class="icon" viewBox="0 0 1028 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21594" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.78125" height="200"><path d="M955.392 982.016h-882.688c-39.936 0-72.704-32.768-72.704-72.704v-259.072l26.112 0.512h2.56c75.264-0.512 136.704-62.464 136.704-138.24 0-76.288-61.44-138.24-136.704-138.24h-2.56l-26.112 0.512v-259.072c0-39.936 32.768-72.704 72.704-72.704h882.688c39.936 0 72.704 32.768 72.704 72.704v258.56h-25.6c-75.776 0-137.216 61.952-137.216 138.24s61.44 138.24 137.216 138.24h25.6v258.56c0 39.936-32.768 72.704-72.704 72.704zM51.2 699.904v208.896c0 11.776 9.728 21.504 21.504 21.504h882.688c11.776 0 21.504-9.728 21.504-21.504V699.904c-91.648-12.8-162.816-92.16-162.816-187.904 0-95.744 71.168-175.104 162.816-187.904v-209.408c0-11.776-9.728-21.504-21.504-21.504h-882.688c-11.776 0-21.504 9.728-21.504 21.504v208.896c93.184 11.264 165.376 91.648 165.376 188.416s-72.192 176.64-165.376 187.904z" fill="#012733" p-id="21595"></path><path d="M673.792 799.744h-319.488c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h319.488c14.336 0 25.6 11.264 25.6 25.6s-11.776 25.6-25.6 25.6zM673.792 537.6h-112.64c-39.936 0-72.704-32.768-72.704-72.704v-242.688c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6V464.384c0 11.776 9.728 21.504 21.504 21.504h112.64c14.336 0 25.6 11.264 25.6 25.6s-11.776 26.112-25.6 26.112z" fill="#012733" p-id="21596"></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="1693215041500" class="icon" viewBox="0 0 1028 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21594" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.78125" height="200"><path d="M955.392 982.016h-882.688c-39.936 0-72.704-32.768-72.704-72.704v-259.072l26.112 0.512h2.56c75.264-0.512 136.704-62.464 136.704-138.24 0-76.288-61.44-138.24-136.704-138.24h-2.56l-26.112 0.512v-259.072c0-39.936 32.768-72.704 72.704-72.704h882.688c39.936 0 72.704 32.768 72.704 72.704v258.56h-25.6c-75.776 0-137.216 61.952-137.216 138.24s61.44 138.24 137.216 138.24h25.6v258.56c0 39.936-32.768 72.704-72.704 72.704zM51.2 699.904v208.896c0 11.776 9.728 21.504 21.504 21.504h882.688c11.776 0 21.504-9.728 21.504-21.504V699.904c-91.648-12.8-162.816-92.16-162.816-187.904 0-95.744 71.168-175.104 162.816-187.904v-209.408c0-11.776-9.728-21.504-21.504-21.504h-882.688c-11.776 0-21.504 9.728-21.504 21.504v208.896c93.184 11.264 165.376 91.648 165.376 188.416s-72.192 176.64-165.376 187.904z" fill="#012733" p-id="21595"></path><path d="M673.792 799.744h-319.488c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h319.488c14.336 0 25.6 11.264 25.6 25.6s-11.776 25.6-25.6 25.6zM673.792 537.6h-112.64c-39.936 0-72.704-32.768-72.704-72.704v-242.688c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6V464.384c0 11.776 9.728 21.504 21.504 21.504h112.64c14.336 0 25.6 11.264 25.6 25.6s-11.776 26.112-25.6 26.112z" fill="#012733" p-id="21596"></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="1693212358229" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2610" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M662.528 525.312c76.8-49.152 127.488-135.168 127.488-232.448 0-152.576-124.416-276.48-278.016-276.48s-278.016 123.904-278.016 276.48c0 97.28 50.688 182.784 127.488 232.448-183.808 62.976-316.416 238.08-316.416 443.392 0 20.992 17.408 38.4 38.4 38.4s38.4-17.408 38.4-38.4c0-197.632 146.432-361.472 335.872-387.584l-84.992 274.432c-4.096 13.824-0.512 28.672 9.728 38.4l101.376 101.376c7.168 7.168 16.896 11.264 27.136 11.264s19.968-4.096 27.136-11.264l101.376-101.376c10.24-10.24 13.824-25.088 9.728-38.4l-84.992-274.432c190.464 25.6 337.92 189.952 337.92 388.096 0 20.992 17.408 38.4 38.4 38.4s38.4-17.408 38.4-38.4c0-205.824-132.608-380.928-316.416-443.904zM310.784 292.864c0-110.08 90.112-199.68 201.216-199.68 111.104 0 201.216 89.6 201.216 199.68s-90.112 199.68-201.216 199.68c-111.104 0-201.216-89.088-201.216-199.68z" fill="#B2B2B2" p-id="2611"></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="1693212358229" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2610" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M662.528 525.312c76.8-49.152 127.488-135.168 127.488-232.448 0-152.576-124.416-276.48-278.016-276.48s-278.016 123.904-278.016 276.48c0 97.28 50.688 182.784 127.488 232.448-183.808 62.976-316.416 238.08-316.416 443.392 0 20.992 17.408 38.4 38.4 38.4s38.4-17.408 38.4-38.4c0-197.632 146.432-361.472 335.872-387.584l-84.992 274.432c-4.096 13.824-0.512 28.672 9.728 38.4l101.376 101.376c7.168 7.168 16.896 11.264 27.136 11.264s19.968-4.096 27.136-11.264l101.376-101.376c10.24-10.24 13.824-25.088 9.728-38.4l-84.992-274.432c190.464 25.6 337.92 189.952 337.92 388.096 0 20.992 17.408 38.4 38.4 38.4s38.4-17.408 38.4-38.4c0-205.824-132.608-380.928-316.416-443.904zM310.784 292.864c0-110.08 90.112-199.68 201.216-199.68 111.104 0 201.216 89.6 201.216 199.68s-90.112 199.68-201.216 199.68c-111.104 0-201.216-89.088-201.216-199.68z" fill="#B2B2B2" p-id="2611"></path></svg>
\ No newline at end of file
...@@ -131,29 +131,20 @@ export const dynamicRoutes = [ ...@@ -131,29 +131,20 @@ export const dynamicRoutes = [
}, },
], ],
}, },
{ {
path: "/schoolManage/schoolNotice", path: "/system/dict-data",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ["system:role:edit"], permissions: ["system:dict:list"],
children: [ children: [
{ {
path: "/personnelGrouping/authUser", path: "index/:dictId(\\d+)",
component: () => component: () => import("@/views/system/dict/data"),
import( name: "Data",
"@/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue" meta: { title: "字典数据", activeMenu: "/system/dict" },
),
name: "AuthUser",
meta: {
title: "分配成员",
activeMenu:
"/smartSchool/schoolManage/schoolNotice/personnelGrouping",
},
}, },
], ],
}, },
{ {
path: "/monitor/job-log", path: "/monitor/job-log",
component: Layout, component: Layout,
......
import Layout from '@/layout' import Layout from "@/layout";
export default [ export default [
// 校园简介编辑页面 // 校园简介编辑页面
...@@ -152,6 +152,28 @@ export default [ ...@@ -152,6 +152,28 @@ export default [
}, },
], ],
}, },
//人员分组
{
path: "/schoolManage/schoolNotice",
component: Layout,
hidden: true,
permissions: ["system:role:edit"],
children: [
{
path: "/personnelGrouping/authUser",
component: () =>
import(
"@/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue"
),
name: "AuthUser",
meta: {
title: "分配成员",
activeMenu:
"/smartSchool/schoolManage/schoolNotice/personnelGrouping",
},
},
],
},
// 公文流转--公文流转查看 // 公文流转--公文流转查看
{ {
path: "/schoolManage", path: "/schoolManage",
......
<template> <template>
<div> <div class="app-container">
<h2>实验室申请记录</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验名称">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="申报状态">
<el-input v-model="queryForm.states" placeholder="请输入"></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" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="subject" label="学科" />
<el-table-column align="center" prop="time" label="学年" />
<el-table-column align="center" prop="name" label="班级" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="grade" label="实验名称" />
<el-table-column align="center" prop="time" label="实验分类" />
<el-table-column align="center" prop="time" label="实验室" />
<el-table-column align="center" prop="name" label="章节内容" />
<el-table-column align="center" prop="name" label="附件" />
<el-table-column align="center" prop="name" 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>
<el-button @click="handleUpload(scope.row)" type="text" size="small">上传附件</el-button>
</template>
</el-table-column>
</el-table>
<!-- 查看弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.subject" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.group" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="班级">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验时间">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="节次">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验室">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="附件">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="申报状态">
<el-input v-model="form.class" placeholder="请输入" clearable />
</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 type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//分配实验室
handleAllocation() {
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
//上传附件按钮操作
handleUpload() {
},
//取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>实验室安排</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-input v-model="queryForm.class" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="实验分类">
<el-select v-model="queryForm.name" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</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="subject" label="学科" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="time" label="学年" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="time" label="实验分类" />
<el-table-column align="center" prop="content" label="章节内容" />
<el-table-column align="center" prop="name" label="实验室" />
<el-table-column align="center" prop="name" label="实验用品" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleApply(scope.row)" type="text" size="small">申请</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="教师实验室申请" :visible.sync="dialogTableVisible" width="70%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="实验名称">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="实验内容">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="实验分类">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学科">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="级部">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学年">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="班级">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="节次">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="实验时间">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12" style="display: flex;">
<el-form-item label="实验室选择">
<el-radio-group v-model="form.change">
<el-radio label='0'>103(空闲)</el-radio>
<el-radio label='1'>202(使用中)</el-radio>
<el-radio label='2'>302(使用中)</el-radio>
<el-radio label='3'>303(使用中)</el-radio>
<!-- <el-radio label='4'>304(空闲)</el-radio> -->
<!-- <el-radio label='5'>305(使用中)</el-radio>
<el-radio label='6'>401(空闲)</el-radio>
<el-radio label='7'>402(使用中)</el-radio>
<el-radio label='8'>405(空闲)</el-radio> -->
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" 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 type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//查看按钮操作
handleApply() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
// 取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>个人试验申请</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="实验名称">
<el-input v-model="queryForm.states" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</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-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
</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="subject" label="学科" />
<el-table-column align="center" prop="time" label="级部" />
<el-table-column align="center" prop="name" label="学年" />
<el-table-column align="center" prop="grade" label="规划时间" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="time" label="实验分类" />
<el-table-column align="center" prop="time" label="实验用品" />
<el-table-column align="center" prop="time" label="实验室" />
<el-table-column align="center" prop="name" label="申报状态" />
<el-table-column align="center" fixed="right" label="操作" width="180">
<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="handleResult(scope.row)" type="text" size="small">实验结果</el-button>
</template>
</el-table-column>
</el-table>
<!-- 弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.subject" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.group" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="班级">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验时间">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="节次">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验室">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="附件">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="申报状态">
<el-input v-model="form.class" placeholder="请输入" clearable />
</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 type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//新增
handleAdd() {
},
//修改
handleEdit() {
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
//删除按钮操作
handleDelete() {
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
//上传附件按钮操作
handleResult() {
},
//取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
...@@ -233,7 +233,8 @@ export default { ...@@ -233,7 +233,8 @@ export default {
// 分班按钮 // 分班按钮
submitForm() { submitForm() {
// 检查是否已经分班 // 检查是否已经分班
const alreadyDivided = this.selectedCourse.some(course => course.divisionClassesRule !== null); const alreadyDivided = this.selectedCourse.every(course => course.divisionClassesRule !== "");
console.log('this.selectedCourse', this.selectedCourse);
if (alreadyDivided) { if (alreadyDivided) {
this.$message.warning("已经分班,无法重复操作"); this.$message.warning("已经分班,无法重复操作");
return; return;
...@@ -243,25 +244,25 @@ export default { ...@@ -243,25 +244,25 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
let that = this; // let that = this;
for (let i = 0; i < this.selectedCourse.length; i++) { // for (let i = 0; i < this.selectedCourse.length; i++) {
that.selectedCourse[i].divisionClassesRule = that.form.divisionClassesRule; // that.selectedCourse[i].divisionClassesRule = that.form.divisionClassesRule;
const course = this.selectedCourse[i]; // const course = this.selectedCourse[i];
console.log('course.divisionClassesRule:', course.divisionClassesRule); // console.log('course.divisionClassesRule:', course.divisionClassesRule);
console.log('course.classesNumber:', course.classesNumber); // console.log('course.classesNumber:', course.classesNumber);
console.log('course.peopleNumber:', course.peopleNumber); // console.log('course.peopleNumber:', course.peopleNumber);
if (course.divisionClassesRule === '' || course.classesNumber === '' || course.peopleNumber === '') { // if (course.divisionClassesRule === '' || course.classesNumber === '' || course.peopleNumber === '') {
this.$message.error("分班规则、班级数量和每班人数不能为空"); // this.$message.error("分班规则、班级数量和每班人数不能为空");
return; // return;
} // }
let totalPeopleNumber = course.classesNumber * course.peopleNumber; // let totalPeopleNumber = course.classesNumber * course.peopleNumber;
if (totalPeopleNumber > this.selectedCourse.length) { // if (totalPeopleNumber > this.selectedCourse.length) {
this.$message.error("班级数量和每班人数相乘不能超过总人数"); // this.$message.error("班级数量和每班人数相乘不能超过总人数");
return; // return;
} // }
} // }
console.log('this.selectedCourse', this.selectedCourse); // console.log('this.selectedCourse', this.selectedCourse);
addDivisionec(this.selectedCourse).then((response) => { addDivisionec(this.selectedCourse).then((response) => {
console.log('this.selectedCourse', this.selectedCourse); console.log('this.selectedCourse', this.selectedCourse);
this.$modal.msgSuccess("分班成功"); this.$modal.msgSuccess("分班成功");
......
<template> <template>
<div> <div class="app-container">
<h2>班级完成情况明细</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="教师">
<el-input v-model="queryForm.teacher" placeholder="请输入教师" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-date-picker v-model="queryForm.semester" type="year" value-format="yyyy" placeholder="选择年">
</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-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" prop="teacher" label="教师" />
<el-table-column align="center" prop="year" label="学年" />
<el-table-column align="center" prop="name" label="分组实验" />
<el-table-column align="center" prop="name" label="演示实验" />
<el-table-column align="center" prop="name" label="探究实验" />
<el-table-column align="center" prop="name" label="已完成实验数" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>实验计划</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学科分类">
<el-select v-model="queryForm.subject" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</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.name" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</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-row class="mb8" :gutter="8">
<el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd">新增
</el-button>
<el-button size="mini" type="success" icon="el-icon-download" @click="handleImport">导入
</el-button>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="name" label="学年" />
<el-table-column align="center" prop="address" label="计划时间" />
<el-table-column align="center" prop="name" label="实验分类" />
<el-table-column align="center" prop="address" label="实验名称" />
<el-table-column align="center" prop="grade" label="学科分类" />
<el-table-column align="center" prop="address" label="章节内容" />
<el-table-column align="center" prop="name" 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>
</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="60%">
<el-form :model="form" ref="form" size="small" label-width="88px">
<el-row>
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.subject" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="班级">
<el-radio-group v-model="form.change" style="width: 100%;">
<el-radio label='0'>1班</el-radio>
<el-radio label='1'>2班</el-radio>
<el-radio label='2'>3班</el-radio>
<el-radio label='3'>4班</el-radio>
<el-radio label='4'>5班</el-radio>
<!-- <el-radio label='5'>6班</el-radio>
<el-radio label='6'>7班</el-radio>-->
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="实验分类">
<el-select v-model="queryForm.sort" placeholder="请选择" style="width: 100%;">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计划时间">
<el-date-picker v-model="form.time" type="monthrange" range-separator="至"
start-placeholder="开始月份" end-placeholder="结束月份" value-format="MM" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" 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="cancel"> 取 消 </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
form: {
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
//新增按钮操作
handleAdd() {
this.dialogTableVisible = true;
},
//删除按钮操作
handleDelete() {
},
//修改按钮操作
handleEdit() {
this.dialogTableVisible = true;
},
/** 导入按钮操作 */
handleImport() {
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
//取消按钮
cancel() {
this.dialogTableVisible = false;
},
//提交按钮
submitForm() {
}
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>年级实验室预约</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-select v-model="queryForm.subject" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="计划时间">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="实验分类">
<el-select v-model="queryForm.classification" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</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="subject" label="学科" />
<el-table-column align="center" prop="grade" label="学年" />
<el-table-column align="center" prop="time" label="级部" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="grade" label="实验分类" />
<el-table-column align="center" prop="time" label="实验室" />
<el-table-column align="center" prop="name" label="实验用品" />
<el-table-column align="center" prop="name" label="章节内容" />
<el-table-column align="center" prop="time" label="申请教师" />
<el-table-column align="center" prop="name" 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>
</template>
</el-table-column>
</el-table>
<!-- 新增/修改/查看弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="70%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称">
<el-select v-model="queryForm.subject" placeholder="请选择" style="width: 100%;">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="16">
<el-form-item label="实验时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm">确 认</el-button>
<el-button type="primary" @click="cancle">取 消</el-button>
</span>
<!-- <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancle">取 消</el-button>
</span> -->
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
//分配按钮操作
allocation() {
},
//取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>实验室完成情况明细</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="级部">
<el-input v-model="queryForm.grade" placeholder="请输入级部" clearable></el-input>
</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-date-picker v-model="queryForm.year" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" @change="courseInfo" placeholder="请选择学期">
<el-option label="上学期" value="0"></el-option>
<el-option label="下学期" value="1"></el-option>
</el-select>
</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="grade" label="级部" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="name" label="学期" />
<el-table-column align="center" prop="address" label="总班级数" />
<el-table-column align="center" prop="grade" label="已完成班级数" />
<el-table-column align="center" prop="name" label="未完成班级数" />
<el-table-column align="center" prop="address" 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="70%">
<el-form :model="form" ref="form" size="small" :inline="true" label-width="68px">
<el-form-item label="实验分类">
<el-select v-model="form.name" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班级">
<el-input v-model="form.grade" placeholder="请输入班级" clearable></el-input>
</el-form-item>
<el-form-item label="实验时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getListtc">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerytc">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="ExperimentalData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="实验分类" />
<el-table-column align="center" prop="name" label="班级" />
<el-table-column align="center" prop="address" label="实验时间" />
<el-table-column align="center" prop="grade" label="节次" />
<el-table-column align="center" prop="name" label="附件" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="form.pageNum" :limit.sync="form.pageSize"
@pagination="getListtc" />
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
form: {
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
//弹窗获取表单
getListtc() {
},
//弹窗重置按钮
resetQuerytc() {
this.getList();
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>教师个人演示实验审批</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-select v-model="queryForm.subject" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></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" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="subject" label="学科" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="time" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="name" label="实验分类" />
<el-table-column align="center" prop="grade" label="实验室" />
<el-table-column align="center" prop="time" label="实验用品" />
<el-table-column align="center" prop="name" label="章节内容" />
<el-table-column align="center" prop="name" label="申请教师" />
<el-table-column align="center" prop="name" 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>
<el-button @click="handleAllocation(scope.row)" type="text" size="small">分配实验室</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="70%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.subject" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验名称">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分组">
<el-input v-model="form.group" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="章节内容">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="节次">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申请老师">
<el-input v-model="form.class" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="16">
<el-form-item label="实验时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="实验室选择">
<el-radio-group v-model="form.change">
<el-radio label='0'>103(空闲)</el-radio>
<el-radio label='1'>202(使用中)</el-radio>
<el-radio label='2'>302(使用中)</el-radio>
<el-radio label='3'>303(使用中)</el-radio>
<el-radio label='4'>304(空闲)</el-radio>
<!-- <el-radio label='5'>305(使用中)</el-radio>
<el-radio label='6'>401(空闲)</el-radio>
<el-radio label='7'>402(使用中)</el-radio>
<el-radio label='8'>405(空闲)</el-radio> -->
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="实验室选择">
<el-input v-model="form.name" placeholder="请输入" ></el-input>
</el-form-item> -->
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="allocation">分 配</el-button>
<el-button type="danger" @click="submitForm">提 交</el-button>
</span>
<!-- <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancle">取 消</el-button>
</span> -->
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//分配实验室
handleAllocation() {
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
//分配按钮操作
allocation() {
},
//取消按钮
// cancle() {
// this.dialogTableVisible = false;
// },
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>级部实验计划</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-select v-model="queryForm.year" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</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.name" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</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="grade" label="级部" />
<el-table-column align="center" prop="name" label="学年" />
<el-table-column align="center" prop="address" label="计划时间" />
<el-table-column align="center" prop="grade" label="学科分类" />
<el-table-column align="center" prop="name" label="实验分类" />
<el-table-column align="center" prop="address" label="实验名称" />
<el-table-column align="center" prop="address" 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="60%">
<el-form :model="form" ref="form" size="small" label-width="88px">
<el-row>
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="计划时间">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科分类">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="form.year" 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="cancel"> 取 消 </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
form: {
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
//取消按钮
cancel() {
this.dialogTableVisible = false;
},
//提交按钮
submitForm() {
}
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>年级实验室预约</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</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-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="subject" label="学科" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="time" label="学年" />
<el-table-column align="center" prop="name" label="规划时间" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="name" label="实验分类" />
<el-table-column align="center" prop="time" label="实验用品" />
<el-table-column align="center" prop="name" label="实验室" />
<el-table-column align="center" prop="name" 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>
<el-button @click="handleAllocation(scope.row)" type="text" size="small">分配实验室</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
<el-input v-model="form.subject" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="规划时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="实验室选择">
<el-radio-group v-model="form.change">
<el-radio label='0'>103(空闲)</el-radio>
<el-radio label='1'>202(使用中)</el-radio>
<el-radio label='2'>302(使用中)</el-radio>
<el-radio label='3'>303(使用中)</el-radio>
<el-radio label='4'>304(空闲)</el-radio>
<!-- <el-radio label='5'>305(使用中)</el-radio>
<el-radio label='6'>401(空闲)</el-radio>
<el-radio label='7'>402(使用中)</el-radio>
<el-radio label='8'>405(空闲)</el-radio> -->
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="cancel"> 保 存 </el-button>
<el-button type="primary" @click="submitForm">提 交</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//分配实验室
handleAllocation() {
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
// 取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>教师申请</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-input v-model="queryForm.class" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></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" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="subject" label="学科" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="time" label="学年" />
<el-table-column align="center" prop="time" label="班级" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="time" label="实验分类" />
<el-table-column align="center" prop="name" label="实验室" />
<el-table-column align="center" prop="content" label="章节内容" />
<el-table-column align="center" prop="name" 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>
<el-button @click="handleApprove(scope.row)" type="text" size="small">审批</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="审批名称">
<el-input v-model="form.name" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.content" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验室">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="班级">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="节次">
<el-input v-model="form.year" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验时间">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" 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 type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//学科分类
options: {
},
form: {
},
total: 0,
dialogTableVisible: false,
}
},
methods: {
//表单查询
getList() {
},
//审批
handleApprove() {
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
},
// 取消按钮
cancle() {
this.dialogTableVisible = false;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>实验室完成情况统计</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="级部">
<el-input v-model="queryForm.grade" placeholder="请输入级部" clearable></el-input>
</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-date-picker v-model="queryForm.year" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" @change="courseInfo" placeholder="请选择学期">
<el-option label="上学期" value="0"></el-option>
<el-option label="下学期" value="1"></el-option>
</el-select>
</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="grade" label="级部" />
<el-table-column align="center" prop="name" label="学期" />
<el-table-column align="center" prop="address" label="总班级数" />
<el-table-column align="center" prop="grade" label="已完成班级数" />
<el-table-column align="center" prop="name" label="未完成班级数" />
<el-table-column align="center" prop="address" 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="70%">
<el-form :model="form" ref="form" size="small" :inline="true" label-width="68px">
<el-form-item label="实验分类">
<el-select v-model="form.name" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班级">
<el-input v-model="form.grade" placeholder="请输入班级" clearable></el-input>
</el-form-item>
<el-form-item label="实验时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getListtc">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerytc">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="ExperimentalData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="实验分类" />
<el-table-column align="center" prop="name" label="班级" />
<el-table-column align="center" prop="address" label="实验时间" />
<el-table-column align="center" prop="grade" label="节次" />
<el-table-column align="center" prop="name" label="附件" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="form.pageNum" :limit.sync="form.pageSize"
@pagination="getListtc" />
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
form: {
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
//弹窗获取表单
getListtc() {
},
//弹窗重置按钮
resetQuerytc() {
this.getList();
},
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
},
} }
</script> </script>
......
<template> <template>
<div> <div class="app-container">
<h2>实验室记录</h2> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="教师">
<el-input v-model="queryForm.teacher" placeholder="请输入教师" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-date-picker v-model="queryForm.semester" type="year" value-format="yyyy" placeholder="选择年">
</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-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" prop="teacher" label="教师" />
<el-table-column align="center" prop="year" label="学年" />
<el-table-column align="center" prop="name" label="分组实验" />
<el-table-column align="center" prop="name" label="演示实验" />
<el-table-column align="center" prop="name" label="探究实验" />
<el-table-column align="center" prop="name" label="已完成实验数" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'index',
data() {
return {
queryForm: {
},
//表格数据
tableData: [
{
}
],
total: 0,
}
},
methods: {
getList() {
},
resetQuery() {
this.getList();
},
},
} }
</script> </script>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
<el-form-item label="设备名称" prop="name"> <el-form-item label="设备名称" prop="equipmentname">
<el-input v-model="queryParams.name" placeholder="请输入设备名称" clearable /> <el-input v-model="queryParams.equipmentname" placeholder="请输入设备名称" clearable />
</el-form-item> </el-form-item>
<el-form-item label="借用日期" prop="date"> <el-form-item label="借用日期" prop="borrowtime">
<el-date-picker v-model="queryParams.date" type="date" placeholder="选择日期" clearable /> <el-date-picker v-model="queryParams.borrowtime" type="date" placeholder="选择日期" clearable />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -15,13 +15,13 @@ ...@@ -15,13 +15,13 @@
</el-form> </el-form>
<el-table v-loading="loading" :data="lendingRecords" stripe> <el-table v-loading="loading" :data="lendingRecords" stripe>
<el-table-column label="序号" type="index" width="55" align="center" /> <el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="自编码" align="center" prop="name" /> <el-table-column label="自编码" align="center" prop="encode" />
<el-table-column label="设备名称" align="center" prop="name" /> <el-table-column label="设备名称" align="center" prop="equipmentname" />
<el-table-column label="型号" align="center" prop="name" /> <el-table-column label="型号" align="center" prop="model" />
<el-table-column label="借用日期" align="center" prop="name" /> <el-table-column label="借用日期" align="center" prop="borrowtime" />
<el-table-column label="借用人" align="center" prop="name" /> <el-table-column label="借用人" align="center" prop="borrowby" />
<el-table-column label="用途" align="center" prop="name" /> <el-table-column label="用途" align="center" prop="purpose" />
<el-table-column label="借用期限" align="center" prop="name" /> <el-table-column label="借用期限" align="center" prop="deadline" />
<el-table-column label="操作" align="center" min-width="200px"> <el-table-column label="操作" align="center" min-width="200px">
<template v-slot="scope"> <template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleLook(scope.row)">查看 <el-button size="mini" type="text" icon="el-icon-view" @click="handleLook(scope.row)">查看
...@@ -35,6 +35,11 @@ ...@@ -35,6 +35,11 @@
</template> </template>
<script> <script>
// import {
// listTeacherjy,
// } from "@/api/smartSchool/personWork/propertyManagement";
export default { export default {
data() { data() {
return { return {
...@@ -51,10 +56,18 @@ export default { ...@@ -51,10 +56,18 @@ export default {
total: 0, total: 0,
} }
}, },
created() {
this.getList();
},
methods: { methods: {
//获取数据信息 //获取数据信息
getList() { getList() {
// listTeacherjy(this.queryParams).then((response) => {
// this.tableData = response.rows;
// this.loading = false;
// console.log(111, response.rows);
// this.total = response.total;
// });
}, },
//重置 //重置
resetQuery() { }, resetQuery() { },
...@@ -69,4 +82,4 @@ export default { ...@@ -69,4 +82,4 @@ export default {
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>
<style lang="scss" scoped></style>
...@@ -56,10 +56,10 @@ ...@@ -56,10 +56,10 @@
<el-table v-loading="loading" stripe :data="deviceData" @selection-change="handleSelectionChange" width="100%"> <el-table v-loading="loading" stripe :data="deviceData" @selection-change="handleSelectionChange" width="100%">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column align="center" type="index" label="序号" width="55" fixed="left" /> <el-table-column align="center" type="index" label="序号" width="55" fixed="left" />
<el-table-column align="center" prop="encode" label="自编码"></el-table-column> <el-table-column align="center" prop="encode" label="自编码" width="140" fixed="left"></el-table-column>
<el-table-column align="center" prop="equipmentName" label="设备名称"></el-table-column> <el-table-column align="center" prop="equipmentName" label="设备名称" fixed="left"></el-table-column>
<el-table-column align="center" prop="model" label="型号"></el-table-column> <el-table-column align="center" prop="model" label="型号" fixed="left"></el-table-column>
<el-table-column align="center" prop="specification" label="规格"></el-table-column> <el-table-column align="center" prop="specification" label="规格" fixed="left"></el-table-column>
<el-table-column align="center" prop="classificationCode" label="分类编码"></el-table-column> <el-table-column align="center" prop="classificationCode" label="分类编码"></el-table-column>
<el-table-column align="center" prop="unit" label="单位"></el-table-column> <el-table-column align="center" prop="unit" label="单位"></el-table-column>
<el-table-column align="center" prop="affiliationType" label="归属类型"> <el-table-column align="center" prop="affiliationType" label="归属类型">
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<div>{{ selectDictLabel(dict.type.equipment_state, row.equipmentState) }}</div> <div>{{ selectDictLabel(dict.type.equipment_state, row.equipmentState) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="isAllowLend" label="是否允许借出"> <el-table-column align="center" prop="isAllowLend" label="是否允许借出" width="120">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.is_lend, row.isAllowLend) }}</div> <div>{{ selectDictLabel(dict.type.is_lend, row.isAllowLend) }}</div>
</template> </template>
...@@ -82,9 +82,9 @@ ...@@ -82,9 +82,9 @@
<div>{{ selectDictLabel(dict.type.is_lend, row.isLend) }}</div> <div>{{ selectDictLabel(dict.type.is_lend, row.isLend) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="dateOfProduction" label="投产日期"></el-table-column> <el-table-column align="center" prop="dateOfProduction" label="投产日期" width="120"></el-table-column>
<el-table-column align="center" prop="price" label="价格(元)"></el-table-column> <el-table-column align="center" prop="price" label="价格(元)" width="100"></el-table-column>
<el-table-column align="center" prop="lifeOfUtility" label="效用年限(年)"></el-table-column> <el-table-column align="center" prop="lifeOfUtility" label="效用年限(年)" width="120"></el-table-column>
<el-table-column align="center" prop="place" label="地点"></el-table-column> <el-table-column align="center" prop="place" label="地点"></el-table-column>
<el-table-column align="center" prop="useName" label="使用人"></el-table-column> <el-table-column align="center" prop="useName" label="使用人"></el-table-column>
<el-table-column align="center" prop="remark" label="备注"></el-table-column> <el-table-column align="center" prop="remark" label="备注"></el-table-column>
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改对话框 --> <!-- 添加或修改对话框 -->
<el-dialog :title="详细信息" :visible.sync="dialogVisible" width="50%" append-to-body> <el-dialog title="详细信息" :visible.sync="dialogVisible" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
...@@ -564,6 +564,7 @@ export default { ...@@ -564,6 +564,7 @@ export default {
type: 'success', type: 'success',
message: '出库成功!' message: '出库成功!'
}); });
this.getList();
} }
}) })
}).catch(() => { }).catch(() => {
......
...@@ -20,18 +20,18 @@ ...@@ -20,18 +20,18 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="lendReturnData" stripe> <el-table v-loading="loading" :data="lendReturnData" stripe>
<el-table-column label="序号" type="index" width="55" align="center" /> <el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="自编码" align="center" prop="encode" /> <el-table-column label="自编码" align="center" prop="encode" width="140" />
<el-table-column label="设备名称" align="center" prop="equipmentName" /> <el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="型号" align="center" prop="model" /> <el-table-column label="型号" align="center" prop="model" />
<el-table-column label="借用日期" align="center" prop="borrowTime" /> <el-table-column label="借用日期" align="center" prop="borrowTime" width="160" />
<el-table-column label="借用人" align="center" prop="borrowBy" /> <el-table-column label="借用人" align="center" prop="borrowBy" />
<el-table-column label="用途" align="center" prop="purpose" /> <el-table-column label="用途" align="center" prop="purpose" />
<el-table-column label="借用期限(天)" align="center" prop="deadline" /> <el-table-column label="借用期限(天)" align="center" prop="deadline" width="140" />
<el-table-column label="归还日期" align="center" prop="returnTime" /> <el-table-column label="归还日期" align="center" prop="returnTime" width="160" />
<el-table-column label="归还时设备情况" align="center" prop="returnEquipmentCondition" /> <el-table-column label="归还时设备情况" align="center" prop="returnEquipmentCondition" width="160" />
<el-table-column label="接收人" align="center" prop="receivedBy" /> <el-table-column label="接收人" align="center" prop="receivedBy" />
<el-table-column label="预计使用时间" align="center" prop="yjuseTime" /> <el-table-column label="预计使用时间" align="center" prop="yjuseTime" width="160" />
<el-table-column label="实际使用时间" align="center" prop="sjuseTime" /> <el-table-column label="实际使用时间" align="center" prop="sjuseTime" width="160" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" prop="orgname" width="150" fixed="right"> <el-table-column label="操作" align="center" prop="orgname" width="150" fixed="right">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="借用人" prop="borrowById"> <el-form-item label="借用人" prop="borrowById">
<el-select v-model="lendReturnForm.borrowById" filterable placeholder="请选择借用人" <el-select v-model="lendReturnForm.borrowById" filterable placeholder="请选择借用人"
:disabled="nowType == 2 ? true : false" clearable> :disabled="nowType == 2 ? true : false" clearable style="width: 100%;">
<el-option v-for="(item, index) in userList" :key="index" :label="item.userName" :value="item.userId"> <el-option v-for="(item, index) in userList" :key="index" :label="item.userName" :value="item.userId">
</el-option> </el-option>
</el-select> </el-select>
...@@ -83,14 +83,16 @@ ...@@ -83,14 +83,16 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="借用日期" prop="borrowTime"> <el-form-item label="借用日期" prop="borrowTime">
<el-date-picker v-model="lendReturnForm.borrowTime" type="datetime" clearable class="selectWidth" <el-date-picker v-model="lendReturnForm.borrowTime" type="datetime" clearable class="selectWidth"
placeholder="请选择借用日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="nowType == 2 ? true : false"> placeholder="请选择借用日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="nowType == 2 ? true : false"
style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="归还日期" prop="returnTime"> <el-form-item label="归还日期" prop="returnTime">
<el-date-picker v-model="lendReturnForm.returnTime" type="datetime" clearable class="selectWidth" <el-date-picker v-model="lendReturnForm.returnTime" type="datetime" clearable class="selectWidth"
placeholder="请选择归还日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="nowType == 2 ? true : false"> placeholder="请选择归还日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="nowType == 2 ? true : false"
style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -104,7 +106,8 @@ ...@@ -104,7 +106,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="归还时设备情况" prop="returnEquipmentCondition"> <el-form-item label="归还时设备情况" prop="returnEquipmentCondition">
<el-select v-model="lendReturnForm.returnEquipmentCondition" clearable placeholder="请选择归还时设备情况"> <el-select v-model="lendReturnForm.returnEquipmentCondition" clearable placeholder="请选择归还时设备情况"
style="width: 100%;">
<el-option v-for="(item, index) in dict.type.equipment_state" :key="index" :label="item.label" <el-option v-for="(item, index) in dict.type.equipment_state" :key="index" :label="item.label"
:value="item.value" :disabled="nowType == 2 ? true : false"></el-option> :value="item.value" :disabled="nowType == 2 ? true : false"></el-option>
</el-select> </el-select>
...@@ -121,7 +124,7 @@ ...@@ -121,7 +124,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="接收人" prop="receivedById"> <el-form-item label="接收人" prop="receivedById">
<el-select v-model="lendReturnForm.receivedById" filterable placeholder="请选择接收人" <el-select v-model="lendReturnForm.receivedById" filterable placeholder="请选择接收人"
:disabled="nowType == 2 ? true : false" clearable> :disabled="nowType == 2 ? true : false" clearable style="width: 100%;">
<el-option v-for="(item, index) in adminUserList" :key="index" :label="item.admin" :value="item.adminId"> <el-option v-for="(item, index) in adminUserList" :key="index" :label="item.admin" :value="item.adminId">
</el-option> </el-option>
</el-select> </el-select>
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<td>申请时间</td> <td>申请时间</td>
<td>{{ applyTime }}</td> <td>{{ applyTime }}</td>
<td>状态</td> <td>状态</td>
<td class="btntext" colspan="5">{{ statu }}</td> <td class="btntext" colspan="5">{{ statu === '1' ? '预约成功' : '已取消' }}</td>
</tr> </tr>
</table> </table>
</div> </div>
......
...@@ -93,17 +93,17 @@ ...@@ -93,17 +93,17 @@
</tr> </tr>
<tr> <tr>
<td>是否彩排</td> <td>是否彩排</td>
<td class="btntext">{{ isRehearsal }}</td> <td class="btntext">{{ isRehearsal === '1' ? '是' : '否' }}</td>
<td>是否录像</td> <td>是否录像</td>
<td class="btntext">{{ isVideo }}</td> <td class="btntext">{{ isVideo === '1' ? '是' : '否' }}</td>
<td style="width: 100px">是否直播</td> <td style="width: 100px">是否直播</td>
<td class="btntext">{{ isLive }}</td> <td class="btntext">{{ isLive === '1' ? '是' : '否' }}</td>
</tr> </tr>
<tr> <tr>
<td>话筒数量</td> <td>话筒数量</td>
<td>{{ htNumber }}</td> <td>{{ htNumber === '1' ? '是' : '否' }}</td>
<td>是否需要大屏</td> <td>是否需要大屏</td>
<td class="btntext" colspan="5">{{ isBigScreen }}</td> <td class="btntext" colspan="5">{{ isBigScreen === '1' ? '是' : '否' }}</td>
</tr> </tr>
<tr> <tr>
<td rowspan="2" class="btntxt">附件</td> <td rowspan="2" class="btntxt">附件</td>
......
package yangtz.cs.liu.campus.controller.auditorium; package yangtz.cs.liu.campus.controller.auditorium;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -42,6 +44,7 @@ import yangtz.cs.liu.campus.service.auditorium.ISchoolAuditoriumService; ...@@ -42,6 +44,7 @@ import yangtz.cs.liu.campus.service.auditorium.ISchoolAuditoriumService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService;
import yangtz.cs.liu.campus.util.VxTemlateSendApi;
import yangtz.cs.liu.campus.vo.auditorium.SchoolAuditoriumVo; import yangtz.cs.liu.campus.vo.auditorium.SchoolAuditoriumVo;
import yangtz.cs.liu.campus.vo.teacher.TeacherLeaveVO; import yangtz.cs.liu.campus.vo.teacher.TeacherLeaveVO;
import yangtz.cs.liu.wechat.service.api.IWxApiService; import yangtz.cs.liu.wechat.service.api.IWxApiService;
...@@ -167,17 +170,30 @@ public class SchoolAuditoriumController extends BaseController ...@@ -167,17 +170,30 @@ public class SchoolAuditoriumController extends BaseController
schoolAuditorium.setApplyTime(DateUtils.getNowDate()); schoolAuditorium.setApplyTime(DateUtils.getNowDate());
schoolAuditoriumService.submitApply(schoolAuditorium, userName, AUDITORIUMAPPLY, new HashMap<>()); schoolAuditoriumService.submitApply(schoolAuditorium, userName, AUDITORIUMAPPLY, new HashMap<>());
//转换时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date time = schoolAuditorium.getApplyTime();
String applyTime = format.format(time);
/**发送模板消息到分管领导*/ /**发送模板消息到分管领导*/
AuditoriumTemplate template = new AuditoriumTemplate(); //获取用户openid
String openId = teacherService.getOpenIdByUserId(schoolAuditorium.getLeadershipId()); String openId = teacherService.getOpenIdByUserId(schoolAuditorium.getLeadershipId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setFirst("您好,您有礼堂预约申请等待审批。"); map.put("toUserOpenId",openId);
template.setApplyUser(schoolAuditorium.getApplyName()); map.put("applyTime",applyTime);
template.setContent(schoolAuditorium.getActivityName()); map.put("remark","请您尽快处理。");
template.setApplyTime(schoolAuditorium.getApplyTime()); map.put("applyUser",schoolAuditorium.getApplyName());
template.setRemark("请您尽快处理。"); map.put("content",schoolAuditorium.getActivityName());
wxApiService.sendAuditoriumTemplate(template); map.put("first","您好,您有礼堂预约申请等待审批!");
VxTemlateSendApi.sendVxTemlate(map);
// AuditoriumTemplate template = new AuditoriumTemplate();
// template.setToUserOpenId(openId);
// template.setFirst("您好,您有礼堂预约申请等待审批。");
// template.setApplyUser(schoolAuditorium.getApplyName());
// template.setContent(schoolAuditorium.getActivityName());
// template.setApplyTime(schoolAuditorium.getApplyTime());
// template.setRemark("请您尽快处理。");
// wxApiService.sendAuditoriumTemplate(template);
return AjaxResult.success("提交成功"); return AjaxResult.success("提交成功");
} }
...@@ -229,20 +245,25 @@ public class SchoolAuditoriumController extends BaseController ...@@ -229,20 +245,25 @@ public class SchoolAuditoriumController extends BaseController
schoolAuditoriumService.updateById(leave); schoolAuditoriumService.updateById(leave);
/**发送模板消息到申请人,审批结果*/ /**发送模板消息到申请人,审批结果*/
LeaveResultTemplate template = new LeaveResultTemplate();
template.setFirst("您好,您的礼堂预约申请已回复。");
//获取申请人openId //获取申请人openId
String openId = teacherService.getOpenIdByUserId(leave.getApplyId()); String openId = teacherService.getOpenIdByUserId(leave.getApplyId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setResult(flag ? "已通过" : "已驳回"); map.put("toUserOpenId",openId);
template.setRemark("审批留言: "+ variables.get("comment")); map.put("first","您好,您的礼堂预约申请已回复。");
List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity()); map.put("content",flag ? "已通过" : "已驳回");
if(StringUtils.isNotNull(list) && list.size() > 0){ map.put("remark","审批留言: "+ variables.get("comment"));
HistoricActivity activity = list.get(0); VxTemlateSendApi.sendVxTemlate(map);
template.setAuditTime(activity.getEndTime()); // LeaveResultTemplate template = new LeaveResultTemplate();
} // template.setFirst("您好,您的礼堂预约申请已回复。");
wxApiService.sendLeaveResultTemplate(template); // template.setToUserOpenId(openId);
// template.setResult(flag ? "已通过" : "已驳回");
// template.setRemark("审批留言: "+ variables.get("comment"));
// List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity());
// if(StringUtils.isNotNull(list) && list.size() > 0){
// HistoricActivity activity = list.get(0);
// template.setAuditTime(activity.getEndTime());
// }
// wxApiService.sendLeaveResultTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
......
...@@ -26,15 +26,14 @@ import yangtz.cs.liu.campus.service.assetsType.ISchoolAssetsTypeService; ...@@ -26,15 +26,14 @@ import yangtz.cs.liu.campus.service.assetsType.ISchoolAssetsTypeService;
import yangtz.cs.liu.campus.service.purchase.ISchoolPurchaseDetailService; import yangtz.cs.liu.campus.service.purchase.ISchoolPurchaseDetailService;
import yangtz.cs.liu.campus.service.purchase.ISchoolPurchaseService; import yangtz.cs.liu.campus.service.purchase.ISchoolPurchaseService;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService;
import yangtz.cs.liu.campus.util.VxTemlateSendApi;
import yangtz.cs.liu.campus.vo.purchase.SchoolPurchaseDetailsVo; import yangtz.cs.liu.campus.vo.purchase.SchoolPurchaseDetailsVo;
import yangtz.cs.liu.campus.vo.purchase.PurchaseVo; import yangtz.cs.liu.campus.vo.purchase.PurchaseVo;
import yangtz.cs.liu.campus.vo.purchase.SchoolPurchaseVo; import yangtz.cs.liu.campus.vo.purchase.SchoolPurchaseVo;
import yangtz.cs.liu.wechat.service.api.IWxApiService; import yangtz.cs.liu.wechat.service.api.IWxApiService;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -169,17 +168,33 @@ public class SchoolPurchaseController extends BaseController { ...@@ -169,17 +168,33 @@ public class SchoolPurchaseController extends BaseController {
schoolPurchase.setApplyTime(DateUtils.getNowDate()); schoolPurchase.setApplyTime(DateUtils.getNowDate());
schoolPurchaseService.submitApply(schoolPurchase, userName, PURCHASEREQUEST, new HashMap<>()); schoolPurchaseService.submitApply(schoolPurchase, userName, PURCHASEREQUEST, new HashMap<>());
//转换时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date time = schoolPurchase.getApplyTime();
String applyTime = format.format(time);
/**发送模板消息到处室领导*/ /**发送模板消息到处室领导*/
PurchaseTemplate template = new PurchaseTemplate(); //获取openid
//String openId = userService.getOpenIdByUserId(schoolPurchase.getHandUserId1());
String openId = teacherService.getOpenIdByUserId(schoolPurchase.getHandUserId1()); String openId = teacherService.getOpenIdByUserId(schoolPurchase.getHandUserId1());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setFirst("您好,您有采购申请等待审批。"); map.put("toUserOpenId",openId);
template.setApplyUser(schoolPurchase.getApplyUser()); map.put("applyTime",applyTime);
template.setContent(schoolPurchase.getPurchaseName()); map.put("remark","请您尽快处理。");
template.setApplyTime(schoolPurchase.getApplyTime()); map.put("applyUser",schoolPurchase.getApplyUser());
template.setRemark("请您尽快处理。"); map.put("content",schoolPurchase.getPurchaseName());
wxApiService.sendPurchaseTemplate(template); map.put("first","您好,您有采购申请等待审批。");
VxTemlateSendApi.sendVxTemlate(map);
// PurchaseTemplate template = new PurchaseTemplate();
// //String openId = userService.getOpenIdByUserId(schoolPurchase.getHandUserId1());
//
// template.setToUserOpenId(openId);
// template.setFirst("您好,您有采购申请等待审批。");
// template.setApplyUser(schoolPurchase.getApplyUser());
// template.setContent(schoolPurchase.getPurchaseName());
// template.setApplyTime(schoolPurchase.getApplyTime());
// template.setRemark("请您尽快处理。");
// wxApiService.sendPurchaseTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
...@@ -227,34 +242,62 @@ public class SchoolPurchaseController extends BaseController { ...@@ -227,34 +242,62 @@ public class SchoolPurchaseController extends BaseController {
} }
/** 修改任务结果 */ /** 修改任务结果 */
schoolPurchaseService.updateById(schoolPurchase); schoolPurchaseService.updateById(schoolPurchase);
/**发送模板消息到申请人,审批结果*/ /**发送模板消息到申请人,审批结果*/
LeaveResultTemplate template = new LeaveResultTemplate(); //获取openid
template.setFirst("您好,您的采购申请已回复。");
//获取申请人openId
//String openId = userService.getOpenIdByUserId(schoolPurchase.getApplyId());
String openId = teacherService.getOpenIdByUserId(schoolPurchase.getApplyId()); String openId = teacherService.getOpenIdByUserId(schoolPurchase.getApplyId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setResult(flag ? "已通过" : "已驳回"); map.put("toUserOpenId",openId);
template.setRemark("审批留言: "+ variables.get("comment")); map.put("first","您好,您的采购申请已回复。");
List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity()); map.put("content",flag ? "已通过" : "已驳回");
if(StringUtils.isNotNull(list) && list.size() > 0){ map.put("remark","审批留言: "+ variables.get("comment"));
HistoricActivity activity = list.get(0); VxTemlateSendApi.sendVxTemlate(map);
template.setAuditTime(activity.getEndTime());
} // LeaveResultTemplate template = new LeaveResultTemplate();
wxApiService.sendLeaveResultTemplate(template); // template.setFirst("您好,您的采购申请已回复。");
// //获取申请人openId
// //String openId = userService.getOpenIdByUserId(schoolPurchase.getApplyId());
//
// template.setToUserOpenId(openId);
// template.setResult(flag ? "已通过" : "已驳回");
// template.setRemark("审批留言: "+ variables.get("comment"));
// List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity());
// if(StringUtils.isNotNull(list) && list.size() > 0){
// HistoricActivity activity = list.get(0);
// template.setAuditTime(activity.getEndTime());
// }
// wxApiService.sendLeaveResultTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
//转换时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date time = schoolPurchase.getApplyTime();
String applyTime = format.format(time);
/**发送模板消息到财务领导*/ /**发送模板消息到财务领导*/
PurchaseTemplate template = new PurchaseTemplate(); //获取openid
//String openId = userService.getOpenIdByUserId(schoolPurchase.getHandUserId2());
String openId = teacherService.getOpenIdByUserId(schoolPurchase.getHandUserId2()); String openId = teacherService.getOpenIdByUserId(schoolPurchase.getHandUserId2());
template.setToUserOpenId(openId);
template.setFirst("您好,您有采购申请等待审批。"); Map<String,Object> map = new HashMap<>();
template.setApplyUser(schoolPurchase.getApplyUser()); map.put("toUserOpenId",openId);
template.setContent(schoolPurchase.getPurchaseName()); map.put("applyTime",applyTime);
template.setApplyTime(schoolPurchase.getApplyTime()); map.put("remark","请您尽快处理。");
template.setRemark("请您尽快处理。"); map.put("applyUser",schoolPurchase.getApplyUser());
wxApiService.sendPurchaseTemplate(template); map.put("content",schoolPurchase.getPurchaseName());
map.put("first","您好,您有采购申请等待审批。");
VxTemlateSendApi.sendVxTemlate(map);
// PurchaseTemplate template = new PurchaseTemplate();
// //String openId = userService.getOpenIdByUserId(schoolPurchase.getHandUserId2());
//
// template.setToUserOpenId(openId);
// template.setFirst("您好,您有采购申请等待审批。");
// template.setApplyUser(schoolPurchase.getApplyUser());
// template.setContent(schoolPurchase.getPurchaseName());
// template.setApplyTime(schoolPurchase.getApplyTime());
// template.setRemark("请您尽快处理。");
// wxApiService.sendPurchaseTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
...@@ -310,7 +353,8 @@ public class SchoolPurchaseController extends BaseController { ...@@ -310,7 +353,8 @@ public class SchoolPurchaseController extends BaseController {
@GetMapping("/selectRegisterById/{id}") @GetMapping("/selectRegisterById/{id}")
public AjaxResult selectRegisterById(@PathVariable("id") Long id) { public AjaxResult selectRegisterById(@PathVariable("id") Long id) {
// return AjaxResult.success(schoolPurchaseService.getById(id)); // return AjaxResult.success(schoolPurchaseService.getById(id));
// TODO 修改采购信息详情
//修改采购信息详情
SchoolPurchase schoolPurchase = schoolPurchaseService.getById(id); SchoolPurchase schoolPurchase = schoolPurchaseService.getById(id);
PurchaseVo purchaseVo = new PurchaseVo(); PurchaseVo purchaseVo = new PurchaseVo();
BeanUtils.copyProperties(schoolPurchase,purchaseVo); BeanUtils.copyProperties(schoolPurchase,purchaseVo);
......
...@@ -232,9 +232,14 @@ public class SchoolAttController extends BaseController { ...@@ -232,9 +232,14 @@ public class SchoolAttController extends BaseController {
schoolAttService.checkImport(list); schoolAttService.checkImport(list);
//处理数据 //处理数据
List<SchoolAtt> attList = schoolAttService.dealData(list); List<SchoolAtt> attList = schoolAttService.dealData(list);
//验证是否迟到早退
List<SchoolAtt> attLists = schoolAttService.verifyLateness(attList);
//数据导入 //数据导入
String message = schoolAttService.importData(attList); // String message = schoolAttService.importData(attLists);
return AjaxResult.success(message); boolean b = schoolAttService.saveBatch(attLists);
return AjaxResult.success(b);
} }
......
...@@ -24,10 +24,13 @@ import yangtz.cs.liu.campus.domain.temp.DepartmentBudgetTemplate; ...@@ -24,10 +24,13 @@ import yangtz.cs.liu.campus.domain.temp.DepartmentBudgetTemplate;
import yangtz.cs.liu.campus.domain.temp.LeaveResultTemplate; import yangtz.cs.liu.campus.domain.temp.LeaveResultTemplate;
import yangtz.cs.liu.campus.service.schoolDepartmentBudget.ISchoolDepartmentBudgetService; import yangtz.cs.liu.campus.service.schoolDepartmentBudget.ISchoolDepartmentBudgetService;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService;
import yangtz.cs.liu.campus.util.VxTemlateSendApi;
import yangtz.cs.liu.campus.vo.schoolDepartmentBudget.SchoolDepartmentBudgetVo; import yangtz.cs.liu.campus.vo.schoolDepartmentBudget.SchoolDepartmentBudgetVo;
import yangtz.cs.liu.wechat.service.api.IWxApiService; import yangtz.cs.liu.wechat.service.api.IWxApiService;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -156,15 +159,30 @@ public class SchoolDepartmentBudgetController extends BaseController ...@@ -156,15 +159,30 @@ public class SchoolDepartmentBudgetController extends BaseController
schoolDepartmentBudgetService.submitApply(schoolDepartmentBudget,userName,DEPARTMENTBUDGET,new HashMap<>()); schoolDepartmentBudgetService.submitApply(schoolDepartmentBudget,userName,DEPARTMENTBUDGET,new HashMap<>());
/**发送模板消息到分管领导*/ /**发送模板消息到分管领导*/
DepartmentBudgetTemplate template = new DepartmentBudgetTemplate(); //转换时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date time = schoolDepartmentBudget.getApplyTime();
String applyTime = format.format(time);
//获取openid
String openId = teacherService.getOpenIdByUserId(schoolDepartmentBudget.getLeadershipId()); String openId = teacherService.getOpenIdByUserId(schoolDepartmentBudget.getLeadershipId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setFirst("您好,您有科室预算申请等待审批。"); map.put("toUserOpenId",openId);
template.setApplyUser(schoolDepartmentBudget.getApplyName()); map.put("applyTime",applyTime);
template.setContent(schoolDepartmentBudget.getYear() + "年度" + schoolDepartmentBudget.getDeptName() + "预算申请"); map.put("remark","请您尽快处理。");
template.setApplyTime(schoolDepartmentBudget.getApplyTime()); map.put("applyUser",schoolDepartmentBudget.getApplyName());
template.setRemark("请您尽快处理。"); map.put("content",schoolDepartmentBudget.getYear() + "年度" + schoolDepartmentBudget.getDeptName() + "预算申请");
wxApiService.sendDepartmentBudgetTemplate(template); map.put("first","您好,您有科室预算申请等待审批。");
VxTemlateSendApi.sendVxTemlate(map);
// DepartmentBudgetTemplate template = new DepartmentBudgetTemplate();
// template.setToUserOpenId(openId);
// template.setFirst("您好,您有科室预算申请等待审批。");
// template.setApplyUser(schoolDepartmentBudget.getApplyName());
// template.setContent(schoolDepartmentBudget.getYear() + "年度" + schoolDepartmentBudget.getDeptName() + "预算申请");
// template.setApplyTime(schoolDepartmentBudget.getApplyTime());
// template.setRemark("请您尽快处理。");
// wxApiService.sendDepartmentBudgetTemplate(template);
return AjaxResult.success("提交成功"); return AjaxResult.success("提交成功");
} }
...@@ -200,7 +218,7 @@ public class SchoolDepartmentBudgetController extends BaseController ...@@ -200,7 +218,7 @@ public class SchoolDepartmentBudgetController extends BaseController
SchoolDepartmentBudget leave = schoolDepartmentBudgetService.getOne(wrapper); SchoolDepartmentBudget leave = schoolDepartmentBudgetService.getOne(wrapper);
Boolean flag = Boolean.parseBoolean(variables.get("pass").toString()); Boolean flag = Boolean.parseBoolean(variables.get("pass").toString());
/**判断流程是否结束,如果结束则更新礼堂预约状态*/ /**判断流程是否结束,如果结束则更新科室预算状态*/
ProcessInstance rpi = runtimeService ProcessInstance rpi = runtimeService
.createProcessInstanceQuery()//创建流程实例查询对象 .createProcessInstanceQuery()//创建流程实例查询对象
.processInstanceId(instanceId) .processInstanceId(instanceId)
...@@ -212,20 +230,26 @@ public class SchoolDepartmentBudgetController extends BaseController ...@@ -212,20 +230,26 @@ public class SchoolDepartmentBudgetController extends BaseController
schoolDepartmentBudgetService.updateById(leave); schoolDepartmentBudgetService.updateById(leave);
/**发送模板消息到申请人,审批结果*/ /**发送模板消息到申请人,审批结果*/
LeaveResultTemplate template = new LeaveResultTemplate();
template.setFirst("您好,您的科室预算申请已回复。");
//获取申请人openId //获取申请人openId
String openId = teacherService.getOpenIdByUserId(leave.getApplyId()); String openId = teacherService.getOpenIdByUserId(leave.getApplyId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setResult(flag ? "已通过" : "已驳回"); map.put("toUserOpenId",openId);
template.setRemark("审批留言: "+ variables.get("comment")); map.put("first","您好,您的科室预算申请已回复。");
List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity()); map.put("content",flag ? "已通过" : "已驳回");
if(StringUtils.isNotNull(list) && list.size() > 0){ map.put("remark","审批留言: "+ variables.get("comment"));
HistoricActivity activity = list.get(0); VxTemlateSendApi.sendVxTemlate(map);
template.setAuditTime(activity.getEndTime());
}
wxApiService.sendLeaveResultTemplate(template);
// LeaveResultTemplate template = new LeaveResultTemplate();
// template.setFirst("您好,您的科室预算申请已回复。");
// template.setToUserOpenId(openId);
// template.setResult(flag ? "已通过" : "已驳回");
// template.setRemark("审批留言: "+ variables.get("comment"));
// List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity());
// if(StringUtils.isNotNull(list) && list.size() > 0){
// HistoricActivity activity = list.get(0);
// template.setAuditTime(activity.getEndTime());
// }
// wxApiService.sendLeaveResultTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
//说明流程实例结束了 //说明流程实例结束了
...@@ -239,20 +263,26 @@ public class SchoolDepartmentBudgetController extends BaseController ...@@ -239,20 +263,26 @@ public class SchoolDepartmentBudgetController extends BaseController
schoolDepartmentBudgetService.updateById(leave); schoolDepartmentBudgetService.updateById(leave);
/**发送模板消息到申请人,审批结果*/ /**发送模板消息到申请人,审批结果*/
LeaveResultTemplate template = new LeaveResultTemplate();
template.setFirst("您好,您的科室预算申请已回复。");
//获取申请人openId //获取申请人openId
String openId = teacherService.getOpenIdByUserId(leave.getApplyId()); String openId = teacherService.getOpenIdByUserId(leave.getApplyId());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setResult(flag ? "已通过" : "已驳回"); map.put("toUserOpenId",openId);
template.setRemark("审批留言: "+ variables.get("comment")); map.put("first","您好,您的科室预算申请已回复。");
List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity()); map.put("content",flag ? "已通过" : "已驳回");
if(StringUtils.isNotNull(list) && list.size() > 0){ map.put("remark","审批留言: "+ variables.get("comment"));
HistoricActivity activity = list.get(0); VxTemlateSendApi.sendVxTemlate(map);
template.setAuditTime(activity.getEndTime());
}
wxApiService.sendLeaveResultTemplate(template);
// LeaveResultTemplate template = new LeaveResultTemplate();
// template.setFirst("您好,您的科室预算申请已回复。");
// template.setToUserOpenId(openId);
// template.setResult(flag ? "已通过" : "已驳回");
// template.setRemark("审批留言: "+ variables.get("comment"));
// List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity());
// if(StringUtils.isNotNull(list) && list.size() > 0){
// HistoricActivity activity = list.get(0);
// template.setAuditTime(activity.getEndTime());
// }
// wxApiService.sendLeaveResultTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
......
package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolgrade.GradeTreeSelect;
import static yangtz.cs.liu.campus.constant.GradeConstant.NEWTERM;
import static yangtz.cs.liu.campus.constant.GradeConstant.UNNEW;
/**
* 实验计划Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/experimentPlan")
public class SchoolExperimentPlanController extends BaseController
{
@Autowired
private ISchoolExperimentPlanService schoolExperimentPlanService;
/**
* 查询实验计划列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolExperimentPlanVo schoolExperimentPlanVo)
{
startPage();
List<SchoolExperimentPlanVo> list = schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
return getDataTable(list);
}
/**
* 导出实验计划列表
*/
@Log(title = "实验计划", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolExperimentPlanVo schoolExperimentPlanVo)
{
List<SchoolExperimentPlanVo> list = schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
ExcelUtil<SchoolExperimentPlanVo> util = new ExcelUtil<SchoolExperimentPlanVo>(SchoolExperimentPlanVo.class);
util.exportExcel(response, list, "实验计划数据");
}
/**
* 获取实验计划详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolExperimentPlanService.selectSchoolExperimentPlanById(id));
}
/**
* 新增实验计划
*/
@Log(title = "实验计划", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolExperimentPlanVo schoolExperimentPlanVo)
{
return toAjax(schoolExperimentPlanService.insertSchoolExperimentPlan(schoolExperimentPlanVo));
}
/**
* 修改实验计划
*/
@Log(title = "实验计划", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolExperimentPlanVo schoolExperimentPlanVo)
{
return toAjax(schoolExperimentPlanService.updateSchoolExperimentPlan(schoolExperimentPlanVo));
}
/**
* 删除实验计划
*/
@Log(title = "实验计划", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolExperimentPlanService.deleteSchoolExperimentPlanByIds(ids));
}
/**
* 根据学年查询级部下拉框
*/
@GetMapping("/getGrade/{schoolYear}")
public AjaxResult getGrade(@PathVariable("schoolYear") int schoolYear){
return AjaxResult.success(schoolExperimentPlanService.getGrade(schoolYear));
}
/**
* 根据级部查询对应班级
*/
@GetMapping("/getClass/{gradeId}")
public AjaxResult getSchoolClass(@PathVariable("gradeId") Long gradeId){
return AjaxResult.success(schoolExperimentPlanService.getSchoolClass(gradeId));
}
/**
* 获取当前学期
*/
@GetMapping("/getSemester")
public AjaxResult getSemester(){
AjaxResult ajaxResult = AjaxResult.success();
Calendar cal = Calendar.getInstance();
//获取当前年月
int nowYear = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
//设置当前学期
String term = "1";
//2-7为第二学期,8-1为第一学期
//如果当前月份小于8月,则该学年应为当前年-1 到 当前年,例如当前年月为2023年7月,则该学年为2022-2023年的第二学期
if (month >= 2 && month < 8) {
term = "2";
}
ajaxResult.put("semester",term);
return ajaxResult;
}
}
package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 年级实验室预约Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/schoolLabClassYear")
public class SchoolLabClassYearController extends BaseController
{
@Autowired
private ISchoolLabClassYearService schoolLabClassYearService;
/**
* 查询年级实验室预约列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolLabClassYear schoolLabClassYear)
{
startPage();
List<SchoolLabClassYear> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear);
return getDataTable(list);
}
/**
* 导出年级实验室预约列表
*/
@Log(title = "年级实验室预约", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolLabClassYear schoolLabClassYear)
{
List<SchoolLabClassYear> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear);
ExcelUtil<SchoolLabClassYear> util = new ExcelUtil<SchoolLabClassYear>(SchoolLabClassYear.class);
util.exportExcel(response, list, "年级实验室预约数据");
}
/**
* 获取年级实验室预约详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearById(id));
}
/**
* 新增年级实验室预约
*/
@Log(title = "年级实验室预约", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLabClassYear schoolLabClassYear)
{
return toAjax(schoolLabClassYearService.insertSchoolLabClassYear(schoolLabClassYear));
}
/**
* 修改年级实验室预约
*/
@Log(title = "年级实验室预约", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolLabClassYear schoolLabClassYear)
{
return toAjax(schoolLabClassYearService.updateSchoolLabClassYear(schoolLabClassYear));
}
/**
* 删除年级实验室预约
*/
@Log(title = "年级实验室预约", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolLabClassYearService.deleteSchoolLabClassYearByIds(ids));
}
}
package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabCompetitionService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 实验室竞赛Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/schoolLabCompetition")
public class SchoolLabCompetitionController extends BaseController
{
@Autowired
private ISchoolLabCompetitionService schoolLabCompetitionService;
/**
* 查询实验室竞赛列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolLabCompetition schoolLabCompetition)
{
startPage();
List<SchoolLabCompetition> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetition);
return getDataTable(list);
}
/**
* 导出实验室竞赛列表
*/
@Log(title = "实验室竞赛", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolLabCompetition schoolLabCompetition)
{
List<SchoolLabCompetition> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetition);
ExcelUtil<SchoolLabCompetition> util = new ExcelUtil<SchoolLabCompetition>(SchoolLabCompetition.class);
util.exportExcel(response, list, "实验室竞赛数据");
}
/**
* 获取实验室竞赛详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolLabCompetitionService.selectSchoolLabCompetitionById(id));
}
/**
* 新增实验室竞赛
*/
@Log(title = "实验室竞赛", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLabCompetition schoolLabCompetition)
{
return toAjax(schoolLabCompetitionService.insertSchoolLabCompetition(schoolLabCompetition));
}
/**
* 修改实验室竞赛
*/
@Log(title = "实验室竞赛", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolLabCompetition schoolLabCompetition)
{
return toAjax(schoolLabCompetitionService.updateSchoolLabCompetition(schoolLabCompetition));
}
/**
* 删除实验室竞赛
*/
@Log(title = "实验室竞赛", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolLabCompetitionService.deleteSchoolLabCompetitionByIds(ids));
}
}
package yangtz.cs.liu.campus.controller.schoolLab;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 实验室Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/schoolLab")
public class SchoolLabController extends BaseController
{
@Autowired
private ISchoolLabService schoolLabService;
/**
* 查询实验室列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolLab schoolLab)
{
startPage();
List<SchoolLab> list = schoolLabService.selectSchoolLabList(schoolLab);
return getDataTable(list);
}
/**
* 导出实验室列表
*/
@Log(title = "实验室", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolLab schoolLab)
{
List<SchoolLab> list = schoolLabService.selectSchoolLabList(schoolLab);
ExcelUtil<SchoolLab> util = new ExcelUtil<SchoolLab>(SchoolLab.class);
util.exportExcel(response, list, "实验室数据");
}
/**
* 获取实验室详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolLabService.selectSchoolLabById(id));
}
/**
* 新增实验室
*/
@Log(title = "实验室", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLab schoolLab)
{
return toAjax(schoolLabService.insertSchoolLab(schoolLab));
}
/**
* 修改实验室
*/
@Log(title = "实验室", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolLab schoolLab)
{
return toAjax(schoolLabService.updateSchoolLab(schoolLab));
}
/**
* 删除实验室
*/
@Log(title = "实验室", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolLabService.deleteSchoolLabByIds(ids));
}
/**
* 获取实验室负责人下拉框
* @return
*/
@GetMapping("/getLabAdmin")
public AjaxResult getLabAdmin(){
return AjaxResult.success(schoolLabService.getLabAdmin());
}
/**
* 获取学科下拉框
* @return
*/
@GetMapping("/getSub")
public AjaxResult getSub(){
return AjaxResult.success(schoolLabService.getSub());
}
}
package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 教师个人实验申请Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/schoolTeacherExperimentApply")
public class SchoolTeacherExperimentApplyController extends BaseController
{
@Autowired
private ISchoolTeacherExperimentApplyService schoolTeacherExperimentApplyService;
/**
* 查询教师个人实验申请列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
startPage();
List<SchoolTeacherExperimentApply> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply);
return getDataTable(list);
}
/**
* 导出教师个人实验申请列表
*/
@Log(title = "教师个人实验申请", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
List<SchoolTeacherExperimentApply> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply);
ExcelUtil<SchoolTeacherExperimentApply> util = new ExcelUtil<SchoolTeacherExperimentApply>(SchoolTeacherExperimentApply.class);
util.exportExcel(response, list, "教师个人实验申请数据");
}
/**
* 获取教师个人实验申请详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyById(id));
}
/**
* 新增教师个人实验申请
*/
@Log(title = "教师个人实验申请", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return toAjax(schoolTeacherExperimentApplyService.insertSchoolTeacherExperimentApply(schoolTeacherExperimentApply));
}
/**
* 修改教师个人实验申请
*/
@Log(title = "教师个人实验申请", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply)
{
return toAjax(schoolTeacherExperimentApplyService.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApply));
}
/**
* 删除教师个人实验申请
*/
@Log(title = "教师个人实验申请", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolTeacherExperimentApplyService.deleteSchoolTeacherExperimentApplyByIds(ids));
}
}
package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 教师实验室申请Controller
*
* @author ruoyi
* @date 2023-08-29
*/
@RestController
@RequestMapping("/schoolTeacherLabApply")
public class SchoolTeacherLabApplyController extends BaseController
{
@Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
/**
* 查询教师实验室申请列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolTeacherLabApply schoolTeacherLabApply)
{
startPage();
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply);
return getDataTable(list);
}
/**
* 导出教师实验室申请列表
*/
@Log(title = "教师实验室申请", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolTeacherLabApply schoolTeacherLabApply)
{
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply);
ExcelUtil<SchoolTeacherLabApply> util = new ExcelUtil<SchoolTeacherLabApply>(SchoolTeacherLabApply.class);
util.exportExcel(response, list, "教师实验室申请数据");
}
/**
* 获取教师实验室申请详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyById(id));
}
/**
* 新增教师实验室申请
*/
@Log(title = "教师实验室申请", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply)
{
return toAjax(schoolTeacherLabApplyService.insertSchoolTeacherLabApply(schoolTeacherLabApply));
}
/**
* 修改教师实验室申请
*/
@Log(title = "教师实验室申请", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply)
{
return toAjax(schoolTeacherLabApplyService.updateSchoolTeacherLabApply(schoolTeacherLabApply));
}
/**
* 删除教师实验室申请
*/
@Log(title = "教师实验室申请", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolTeacherLabApplyService.deleteSchoolTeacherLabApplyByIds(ids));
}
}
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.controller.schooloffical; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.controller.schooloffical;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.core.utils.HolidayDateUtil;
import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
...@@ -32,6 +33,7 @@ import yangtz.cs.liu.campus.service.pubFile.IPubFileService; ...@@ -32,6 +33,7 @@ import yangtz.cs.liu.campus.service.pubFile.IPubFileService;
import yangtz.cs.liu.campus.service.schooloffical.ISchoolOfficalService; import yangtz.cs.liu.campus.service.schooloffical.ISchoolOfficalService;
import yangtz.cs.liu.campus.service.schooloffical.ISchoolOfficialFlowService; import yangtz.cs.liu.campus.service.schooloffical.ISchoolOfficialFlowService;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService;
import yangtz.cs.liu.campus.util.VxTemlateSendApi;
import yangtz.cs.liu.campus.vo.schoolOfficial.SchoolOfficialFlowVo; import yangtz.cs.liu.campus.vo.schoolOfficial.SchoolOfficialFlowVo;
import yangtz.cs.liu.campus.vo.schoolOfficial.SchoolOfficialVo; import yangtz.cs.liu.campus.vo.schoolOfficial.SchoolOfficialVo;
import yangtz.cs.liu.campus.vo.schooloffical.SchoolOfficalVO; import yangtz.cs.liu.campus.vo.schooloffical.SchoolOfficalVO;
...@@ -39,7 +41,11 @@ import yangtz.cs.liu.wechat.service.api.IWxApiService; ...@@ -39,7 +41,11 @@ import yangtz.cs.liu.wechat.service.api.IWxApiService;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import static yangtz.cs.liu.campus.constant.OfficalConstant.*; import static yangtz.cs.liu.campus.constant.OfficalConstant.*;
...@@ -159,17 +165,35 @@ public class SchoolOfficalController extends BaseController { ...@@ -159,17 +165,35 @@ public class SchoolOfficalController extends BaseController {
} }
/**发送模板消息到批阅人*/ /**发送模板消息到批阅人*/
// TODO 模板消息
public void send(SchoolOfficialVo vo){ public void send(SchoolOfficialVo vo){
OfficalTemplate template = new OfficalTemplate(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
template.setFirst("您好,您有一个新的公文需要批阅"); Date time = DateUtils.getNowDate();
//String openId = userService.getOpenIdByUserId(vo.getReceiveUser()); String applyTime = format.format(time);
String applyTime1 = HolidayDateUtil.format1.format(vo.getDeadline());
//获取openid
String openId = teacherService.getOpenIdByUserId(vo.getReceiveUser()); String openId = teacherService.getOpenIdByUserId(vo.getReceiveUser());
template.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
template.setTitle(vo.getIssuedName()); map.put("toUserOpenId",openId);
template.setFinishTime(vo.getDeadline()); map.put("applyTime",applyTime);
template.setContent("请领导批阅"); map.put("remark","请您于" + applyTime1 + "前前往电脑端进行处理。");
template.setRemark("请您前往电脑端进行处理"); map.put("applyUser","");
String s = wxApiService.sendOfficalTemplate(template); map.put("content",vo.getIssuedName());
map.put("first","您好,您有一个新的公文需要批阅");
VxTemlateSendApi.sendVxTemlate(map);
// OfficalTemplate template = new OfficalTemplate();
// template.setFirst("您好,您有一个新的公文需要批阅");
// //String openId = userService.getOpenIdByUserId(vo.getReceiveUser());
//
// template.setToUserOpenId(openId);
// template.setTitle(vo.getIssuedName());
// template.setFinishTime(vo.getDeadline());
// template.setContent("请领导批阅");
// template.setRemark("请您前往电脑端进行处理");
// String s = wxApiService.sendOfficalTemplate(template);
} }
/** /**
......
...@@ -141,6 +141,7 @@ public class SchoolStudentController extends BaseController { ...@@ -141,6 +141,7 @@ public class SchoolStudentController extends BaseController {
} }
} }
if (StringUtils.isNotBlank(schoolStudent.getProvincialNumber())){
LambdaQueryWrapper<SchoolStudent> lqw2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw2 = new LambdaQueryWrapper<>();
lqw2 lqw2
.eq(SchoolStudent::getProvincialNumber, schoolStudent.getProvincialNumber()); .eq(SchoolStudent::getProvincialNumber, schoolStudent.getProvincialNumber());
...@@ -150,7 +151,10 @@ public class SchoolStudentController extends BaseController { ...@@ -150,7 +151,10 @@ public class SchoolStudentController extends BaseController {
throw new ServiceException("省学籍辅号已存在"); throw new ServiceException("省学籍辅号已存在");
} }
} }
}
if (StringUtils.isNotBlank(schoolStudent.getNationalNumber())){
LambdaQueryWrapper<SchoolStudent> lqw3 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw3 = new LambdaQueryWrapper<>();
lqw3 lqw3
.eq(SchoolStudent::getNationalNumber, schoolStudent.getNationalNumber()); .eq(SchoolStudent::getNationalNumber, schoolStudent.getNationalNumber());
...@@ -160,7 +164,10 @@ public class SchoolStudentController extends BaseController { ...@@ -160,7 +164,10 @@ public class SchoolStudentController extends BaseController {
throw new ServiceException("全国学籍号已存在"); throw new ServiceException("全国学籍号已存在");
} }
} }
}
if (StringUtils.isNotBlank(schoolStudent.getOneCard())){
LambdaQueryWrapper<SchoolStudent> lqw4 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw4 = new LambdaQueryWrapper<>();
lqw4 lqw4
.eq(SchoolStudent::getOneCard, schoolStudent.getOneCard()); .eq(SchoolStudent::getOneCard, schoolStudent.getOneCard());
...@@ -171,6 +178,7 @@ public class SchoolStudentController extends BaseController { ...@@ -171,6 +178,7 @@ public class SchoolStudentController extends BaseController {
} }
} }
} }
}
private void checkStudentUnique(SchoolStudent schoolStudent) { private void checkStudentUnique(SchoolStudent schoolStudent) {
// TODO 原代码 // TODO 原代码
...@@ -235,6 +243,7 @@ public class SchoolStudentController extends BaseController { ...@@ -235,6 +243,7 @@ public class SchoolStudentController extends BaseController {
} }
} }
if (StringUtils.isNotBlank(schoolStudent.getProvincialNumber())){
LambdaQueryWrapper<SchoolStudent> lqw2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw2 = new LambdaQueryWrapper<>();
lqw2 lqw2
.eq(SchoolStudent::getProvincialNumber, schoolStudent.getProvincialNumber()) .eq(SchoolStudent::getProvincialNumber, schoolStudent.getProvincialNumber())
...@@ -245,7 +254,9 @@ public class SchoolStudentController extends BaseController { ...@@ -245,7 +254,9 @@ public class SchoolStudentController extends BaseController {
throw new ServiceException("省学籍辅号已存在"); throw new ServiceException("省学籍辅号已存在");
} }
} }
}
if (StringUtils.isNotBlank(schoolStudent.getNationalNumber())){
LambdaQueryWrapper<SchoolStudent> lqw3 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw3 = new LambdaQueryWrapper<>();
lqw3 lqw3
.eq(SchoolStudent::getNationalNumber, schoolStudent.getNationalNumber()) .eq(SchoolStudent::getNationalNumber, schoolStudent.getNationalNumber())
...@@ -256,7 +267,9 @@ public class SchoolStudentController extends BaseController { ...@@ -256,7 +267,9 @@ public class SchoolStudentController extends BaseController {
throw new ServiceException("全国学籍号已存在"); throw new ServiceException("全国学籍号已存在");
} }
} }
}
if (StringUtils.isNotBlank(schoolStudent.getOneCard())){
LambdaQueryWrapper<SchoolStudent> lqw4 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SchoolStudent> lqw4 = new LambdaQueryWrapper<>();
lqw4 lqw4
.eq(SchoolStudent::getOneCard, schoolStudent.getOneCard()) .eq(SchoolStudent::getOneCard, schoolStudent.getOneCard())
...@@ -268,6 +281,7 @@ public class SchoolStudentController extends BaseController { ...@@ -268,6 +281,7 @@ public class SchoolStudentController extends BaseController {
} }
} }
} }
}
//添加学生与班级关系表 //添加学生与班级关系表
private boolean addRelation(SchoolStudent schoolStudent) { private boolean addRelation(SchoolStudent schoolStudent) {
......
...@@ -36,6 +36,7 @@ import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeMentorService; ...@@ -36,6 +36,7 @@ import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeMentorService;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherLeaveService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherLeaveService;
import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService; import yangtz.cs.liu.campus.service.teacher.ISchoolTeacherService;
import yangtz.cs.liu.campus.service.workDay.ISchoolWorkDayService; import yangtz.cs.liu.campus.service.workDay.ISchoolWorkDayService;
import yangtz.cs.liu.campus.util.VxTemlateSendApi;
import yangtz.cs.liu.campus.vo.teacher.SchoolTeacherLeaveVO; import yangtz.cs.liu.campus.vo.teacher.SchoolTeacherLeaveVO;
import yangtz.cs.liu.campus.vo.teacher.SchoolTeacherVO; import yangtz.cs.liu.campus.vo.teacher.SchoolTeacherVO;
import yangtz.cs.liu.campus.vo.teacher.TeacherLeaveVO; import yangtz.cs.liu.campus.vo.teacher.TeacherLeaveVO;
...@@ -44,6 +45,7 @@ import yangtz.cs.liu.wechat.domain.template.LeaveTemplate; ...@@ -44,6 +45,7 @@ import yangtz.cs.liu.wechat.domain.template.LeaveTemplate;
import yangtz.cs.liu.wechat.service.api.IWxApiService; import yangtz.cs.liu.wechat.service.api.IWxApiService;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import static com.core.constant.ProcessDefinition.TEACHERLEAVE; import static com.core.constant.ProcessDefinition.TEACHERLEAVE;
...@@ -222,20 +224,49 @@ public class SchoolTeacherLeaveController extends BaseController { ...@@ -222,20 +224,49 @@ public class SchoolTeacherLeaveController extends BaseController {
schoolTeacherLeave.setApplyTime(DateUtils.getNowDate()); schoolTeacherLeave.setApplyTime(DateUtils.getNowDate());
schoolTeacherLeaveService.submitApply(schoolTeacherLeave, userName, TEACHERLEAVE, new HashMap<>()); schoolTeacherLeaveService.submitApply(schoolTeacherLeave, userName, TEACHERLEAVE, new HashMap<>());
//转换时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date time = schoolTeacherLeave.getApplyTime();
String applyTime = format.format(time);
/** 发送申请通知 */ /** 发送申请通知 */
TeacherLeaveTemplate template = new TeacherLeaveTemplate(); //获取openid
//String openId = userService.getOpenIdByUserId(schoolTeacherLeave.getHandUserId1());
String openId = schoolTeacherService.getOpenIdByUserId(schoolTeacherLeave.getHandUserId1()); String openId = schoolTeacherService.getOpenIdByUserId(schoolTeacherLeave.getHandUserId1());
template.setUserType(schoolTeacherLeave.getApplyType()); Map<String,Object> map = new HashMap<>();
template.setToUserOpenId(openId); map.put("toUserOpenId",openId);
//template.setReasonForLeave(schoolTeacherLeave.getReasonForLeave()); map.put("applyTime",applyTime);
template.setType(schoolTeacherLeave.getType()); map.put("remark","共计" + schoolTeacherLeave.getTotalTime() +"天,请您尽快处理");
template.setLeaveStartTime(schoolTeacherLeave.getStartTime()); map.put("applyUser",schoolTeacherLeave.getTeacherName());
template.setLeaveEndTime(schoolTeacherLeave.getEndTime()); String start = "";
template.setStartSort(schoolTeacherLeave.getStartSort()); String end = "";
template.setEndSort(schoolTeacherLeave.getEndSort()); //请假开始时间、结束时间
template.setUserName(schoolTeacherLeave.getTeacherName()); //教工
wxApiService.sendTeacherLeaveTemplate(template); if("0".equals(schoolTeacherLeave.getApplyType())){
start = HolidayDateUtil.format.format(schoolTeacherLeave.getStartTime()) +" 第" + schoolTeacherLeave.getStartSort() + "节课";
end = HolidayDateUtil.format.format(schoolTeacherLeave.getEndTime()) +" 第" + schoolTeacherLeave.getEndSort() + "节课";
}else{
//教工
start = HolidayDateUtil.format.format(schoolTeacherLeave.getStartTime());
end = HolidayDateUtil.format.format(schoolTeacherLeave.getEndTime());
}
map.put("content","从" + start + "至" + end);
map.put("first",schoolTeacherLeave.getTeacherName() + "的请假申请需要您审批。");
VxTemlateSendApi.sendVxTemlate(map);
// TeacherLeaveTemplate template = new TeacherLeaveTemplate();
// //String openId = userService.getOpenIdByUserId(schoolTeacherLeave.getHandUserId1());
//// String openId = schoolTeacherService.getOpenIdByUserId(schoolTeacherLeave.getHandUserId1());
// template.setUserType(schoolTeacherLeave.getApplyType());
// template.setToUserOpenId(openId);
// //template.setReasonForLeave(schoolTeacherLeave.getReasonForLeave());
// template.setType(schoolTeacherLeave.getType());
// template.setLeaveStartTime(schoolTeacherLeave.getStartTime());
// template.setLeaveEndTime(schoolTeacherLeave.getEndTime());
// template.setStartSort(schoolTeacherLeave.getStartSort());
// template.setEndSort(schoolTeacherLeave.getEndSort());
// template.setUserName(schoolTeacherLeave.getTeacherName());
// wxApiService.sendTeacherLeaveTemplate(template);
return AjaxResult.success("提交成功"); return AjaxResult.success("提交成功");
} }
...@@ -282,35 +313,43 @@ public class SchoolTeacherLeaveController extends BaseController { ...@@ -282,35 +313,43 @@ public class SchoolTeacherLeaveController extends BaseController {
/** 修改任务结果 */ /** 修改任务结果 */
schoolTeacherLeaveService.updateById(leave); schoolTeacherLeaveService.updateById(leave);
//请假结果模板消息 //获取openid
LeaveResultTemplate resultTemplate = new LeaveResultTemplate();
resultTemplate.setFirst("您好,您的请假申请已回复。");
resultTemplate.setResult(flag ? "已批准 ": "已驳回");
resultTemplate.setRemark("审批留言: "+comment);
//获取请假教师openId
//String openId = userService.getOpenIdByUserId(leave.getTeacherId());
String openId = schoolTeacherService.getOpenIdByUserId(leave.getTeacherId()); String openId = schoolTeacherService.getOpenIdByUserId(leave.getTeacherId());
resultTemplate.setToUserOpenId(openId); Map<String,Object> map = new HashMap<>();
List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity()); map.put("toUserOpenId",openId);
if(StringUtils.isNotNull(list) && list.size() > 0){ map.put("first","您好,您的请假申请已回复。");
HistoricActivity activity = list.get(0); map.put("content",flag ? "已批准 ": "已驳回");
resultTemplate.setAuditTime(activity.getEndTime()); map.put("remark","审批留言: "+comment);
} VxTemlateSendApi.sendVxTemlate(map);
wxApiService.sendLeaveResultTemplate(resultTemplate); //请假结果模板消息
// LeaveResultTemplate resultTemplate = new LeaveResultTemplate();
// resultTemplate.setFirst("您好,您的请假申请已回复。");
// resultTemplate.setResult(flag ? "已批准 ": "已驳回");
// resultTemplate.setRemark("审批留言: "+comment);
// //获取请假教师openId
// //String openId = userService.getOpenIdByUserId(leave.getTeacherId());
//
// resultTemplate.setToUserOpenId(openId);
// List<HistoricActivity> list = processService.selectHistoryList(instanceId,new HistoricActivity());
// if(StringUtils.isNotNull(list) && list.size() > 0){
// HistoricActivity activity = list.get(0);
// resultTemplate.setAuditTime(activity.getEndTime());
// }
// wxApiService.sendLeaveResultTemplate(resultTemplate);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
/** 发送申请通知 */ /** 发送申请通知 */
TeacherLeaveTemplate template = new TeacherLeaveTemplate(); // TeacherLeaveTemplate template = new TeacherLeaveTemplate();
String openId = ""; String openId = "";
template.setUserType(leave.getApplyType()); // template.setUserType(leave.getApplyType());
//template.setReasonForLeave(schoolTeacherLeave.getReasonForLeave()); // //template.setReasonForLeave(schoolTeacherLeave.getReasonForLeave());
template.setType(leave.getType()); // template.setType(leave.getType());
template.setLeaveStartTime(leave.getStartTime()); // template.setLeaveStartTime(leave.getStartTime());
template.setLeaveEndTime(leave.getEndTime()); // template.setLeaveEndTime(leave.getEndTime());
template.setStartSort(leave.getStartSort()); // template.setStartSort(leave.getStartSort());
template.setEndSort(leave.getEndSort()); // template.setEndSort(leave.getEndSort());
template.setUserName(leave.getTeacherName()); // template.setUserName(leave.getTeacherName());
//流程没结束,目前已到分管领导或主要领导 //流程没结束,目前已到分管领导或主要领导
List<Task> taskList = taskService.createTaskQuery() List<Task> taskList = taskService.createTaskQuery()
...@@ -331,8 +370,34 @@ public class SchoolTeacherLeaveController extends BaseController { ...@@ -331,8 +370,34 @@ public class SchoolTeacherLeaveController extends BaseController {
} }
} }
template.setToUserOpenId(openId); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
wxApiService.sendTeacherLeaveTemplate(template); Date time = leave.getApplyTime();
String applyTime = format.format(time);
Map<String,Object> map = new HashMap<>();
map.put("toUserOpenId",openId);
map.put("applyTime",applyTime);
map.put("remark","共计" + leave.getTotalTime() +"天,请您尽快处理");
map.put("applyUser",leave.getTeacherName());
String start = "";
String end = "";
//请假开始时间、结束时间
//教工
if("0".equals(leave.getApplyType())){
start = HolidayDateUtil.format.format(leave.getStartTime()) +" 第" + leave.getStartSort() + "节课";
end = HolidayDateUtil.format.format(leave.getEndTime()) +" 第" + leave.getEndSort() + "节课";
}else{
//教工
start = HolidayDateUtil.format.format(leave.getStartTime());
end = HolidayDateUtil.format.format(leave.getEndTime());
}
map.put("content","从" + start + "至" + end);
map.put("first",leave.getTeacherName() + "的请假申请需要您审批。");
VxTemlateSendApi.sendVxTemlate(map);
// template.setToUserOpenId(openId);
// wxApiService.sendTeacherLeaveTemplate(template);
return AjaxResult.success("审批完成"); return AjaxResult.success("审批完成");
} }
......
...@@ -46,5 +46,10 @@ public class SchoolAtt extends OurBaseEntity { ...@@ -46,5 +46,10 @@ public class SchoolAtt extends OurBaseEntity {
@Excel(name = "打卡时间") @Excel(name = "打卡时间")
private String clockTime; private String clockTime;
/**
* 迟到 早退
*/
private String workStatus;
private String remark; private String remark;
} }
package yangtz.cs.liu.campus.domain.schoolLab;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.List;
/**
* 实验计划对象 school_experiment_plan
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolExperimentPlan extends OurBaseEntity
{
/** 学科(1物理,2化学,3生物) */
private String sub;
/** 级部id */
private Long gradeId;
/** 级部 */
private String grade;
/** 学年 */
private String schoolYear;
/** 学期(1上学期,2下学期) */
private String semester;
/** 实验分类(1分组实验,2演示实验,3探究实验) */
private String experimentClassify;
/** 实验名称 */
private String experimentName;
/** 章节内容 */
private String chapterContent;
/** 是否已预约 */
private String isAppointment;
/** 计划开始时间 */
private String plannedStartTime;
/** 计划结束时间 */
private String plannedEndTime;
/** 实验用品 */
private String experimentUseGoods;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 实验计划与班级关系对象 school_experiment_plan_class
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolExperimentPlanClass
{
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 实验计划主键id */
private Long experimentPlanId;
/** 班级id */
private Long classId;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import com.core.domain.OurBaseEntity;
import lombok.Data;
/**
* 实验室对象 school_lab
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolLab extends OurBaseEntity
{
/** 实验室名称 */
private String labName;
/** 实验室学科(1物理,2化学,3生物) */
private String labSub;
/** 负责人id */
private Long inChargeId;
/** 负责人 */
private String inChargeName;
/** 实验室状态(1良好,2正常,3待检查) */
private String labState;
/** 实验室用品 */
private String labUseGoods;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import java.util.List;
import java.util.Date;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
/**
* 年级实验室预约对象 school_lab_class_year
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolLabClassYear extends OurBaseEntity
{
/** 实验计划id */
private String experimentPlanId;
/** 级部 */
@Excel(name = "级部")
private String grade;
/** 学年 */
@Excel(name = "学年")
private String schoolYear;
/** 学期(1上学期,2下学期) */
@Excel(name = "学期", readConverterExp = "1=上学期,2=下学期")
private String semester;
/** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub;
/** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify;
/** 计划开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date plannedStartTime;
/** 计划结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date plannedEndTime;
/** 章节内容 */
@Excel(name = "章节内容")
private String chapterContent;
/** 实验用品 */
@Excel(name = "实验用品")
private String experimentUseGoods;
/** 申报状态(0未申报,1已申报,2已阅读,3已分配) */
@Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配")
private String declareState;
/** 申报人id */
@Excel(name = "申报人id")
private Long applyId;
/** 申报人 */
@Excel(name = "申报人")
private String applyName;
/** 申报时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime;
/** 年级实验室预约和实验室关系信息 */
private List<SchoolLabClassYearRelation> schoolLabClassYearRelationList;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 年级实验室预约和实验室关系对象 school_lab_class_year_relation
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolLabClassYearRelation
{
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 年级实验室预约主键id */
private Long labClassYearId;
/** 实验室id */
private Long labId;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* 实验室竞赛对象 school_lab_competition
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolLabCompetition extends OurBaseEntity
{
/** 学年 */
@Excel(name = "学年")
private String schoolYear;
/** 参赛教师id */
@Excel(name = "参赛教师id")
private String teacherId;
/** 参赛教师 */
@Excel(name = "参赛教师")
private String teacherName;
/** 参赛课题 */
@Excel(name = "参赛课题")
private String entrySubject;
/** 比赛项目名称 */
@Excel(name = "比赛项目名称")
private String competitionName;
/** 比赛类型(1说课比赛,2自制教具比赛,3实验教学能力大赛) */
@Excel(name = "比赛类型", readConverterExp = "1=说课比赛,2=自制教具比赛,3=实验教学能力大赛")
private String competitionType;
/** 比赛级别(1省级,2市级) */
@Excel(name = "比赛级别", readConverterExp = "1=省级,2=市级")
private String competitionLevel;
/** 备注1 */
@Excel(name = "备注1")
private String remark1;
/** 备注2 */
@Excel(name = "备注2")
private String remark2;
/** 备注3 */
@Excel(name = "备注3")
private String remark3;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import java.util.Date;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
/**
* 教师个人实验申请对象 school_teacher_experiment_apply
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolTeacherExperimentApply extends OurBaseEntity
{
/** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub;
/** 级部id */
@Excel(name = "级部id")
private Long gradeId;
/** 级部 */
@Excel(name = "级部")
private String grade;
/** 学年 */
@Excel(name = "学年")
private String schoolYear;
/** 学期 */
@Excel(name = "学期")
private String semester;
/** 规划时间 */
@Excel(name = "规划时间")
private String plannedTime;
/** 实验名称 */
@Excel(name = "实验名称")
private String experimentName;
/** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify;
/** 实验用品 */
@Excel(name = "实验用品")
private String experimentUseGoods;
/** 实验室id */
@Excel(name = "实验室id")
private String labId;
/** 实验室名称 */
@Excel(name = "实验室名称")
private String labName;
/** 申报状态(0未申报,1已申报,2已阅读,3已分配) */
@Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配")
private String declareState;
/** 申报人id */
@Excel(name = "申报人id")
private Long applyId;
/** 申报人名称 */
@Excel(name = "申报人名称")
private String applyName;
/** 申报时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime;
}
package yangtz.cs.liu.campus.domain.schoolLab;
import java.util.Date;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
/**
* 教师实验室申请对象 school_teacher_lab_apply
*
* @author ruoyi
* @date 2023-08-29
*/
@Data
public class SchoolTeacherLabApply extends OurBaseEntity
{
/** 年级实验室预约主键id */
@Excel(name = "年级实验室预约主键id")
private String labClassYearId;
/** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify;
/** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub;
/** 级部 */
@Excel(name = "级部")
private String grade;
/** 学年 */
@Excel(name = "学年")
private String schoolYear;
/** 学期(1上学期,2下学期) */
@Excel(name = "学期", readConverterExp = "1=上学期,2=下学期")
private String semester;
/** 班级id */
@Excel(name = "班级id")
private String classId;
/** 班级名称 */
@Excel(name = "班级名称")
private String className;
/** 章节内容 */
@Excel(name = "章节内容")
private String chapterContent;
/** 实验时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "实验时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date experimentTime;
/** 节次 */
@Excel(name = "节次")
private String section;
/** 实验室id */
@Excel(name = "实验室id")
private Long labId;
/** 实验室名称 */
@Excel(name = "实验室名称")
private String labName;
/** 申请状态(1已确认,0未确认) */
@Excel(name = "申请状态", readConverterExp = "1=已确认,0=未确认")
private String applyState;
/** 申请人id */
@Excel(name = "申请人id")
private Long applyId;
/** 申请人 */
@Excel(name = "申请人")
private String applyName;
/** 申请时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime;
}
package yangtz.cs.liu.campus.domain.workTimes;
import java.util.Date;
import lombok.Data;
/**
* 考勤时间
*/
@Data
public class WorkTime {
/**
* 上午开始时间
*/
private Date amStartTime;
/**
* 上午结束时间
*/
private Date amEndTime;
/**
* 下午开始时间
*/
private Date pmStartTime;
/**
* 下午结束时间
*/
private Date pmEndTime;
/**
* 上午工作迟到时间点
*/
private Date amLateTime;
/**
* 下午打卡时间开始点
*/
private Date pmMiddleTime;
/**
* 下午工作迟到时间点
*/
private Date pmLateTime;
}
package yangtz.cs.liu.campus.mapper.WorkTimes;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import yangtz.cs.liu.campus.domain.schoolAtt.SchoolAtt;
import yangtz.cs.liu.campus.domain.workTimes.WorkTime;
/**
* 考勤打卡时间
*/
@Mapper
public interface WorkTimeMapper extends BaseMapper<WorkTime> {
}
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlanClass;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import java.util.List;
import java.util.Map;
/**
* 实验计划Mapper接口
*
* @author ruoyi
* @date 2023-08-29
*/
public interface SchoolExperimentPlanMapper extends BaseMapper<SchoolExperimentPlan>
{
/**
* 查询实验计划
*
* @param id 实验计划主键
* @return 实验计划
*/
public SchoolExperimentPlanVo selectSchoolExperimentPlanById(Long id);
/**
* 查询实验计划列表
*
* @param schoolExperimentPlanVo 实验计划
* @return 实验计划集合
*/
public List<SchoolExperimentPlanVo> selectSchoolExperimentPlanList(SchoolExperimentPlanVo schoolExperimentPlanVo);
/**
* 新增实验计划
*
* @param schoolExperimentPlan 实验计划
* @return 结果
*/
public int insertSchoolExperimentPlan(SchoolExperimentPlan schoolExperimentPlan);
/**
* 修改实验计划
*
* @param schoolExperimentPlan 实验计划
* @return 结果
*/
public int updateSchoolExperimentPlan(SchoolExperimentPlan schoolExperimentPlan);
/**
* 删除实验计划
*
* @param id 实验计划主键
* @return 结果
*/
public int deleteSchoolExperimentPlanById(Long id);
/**
* 批量删除实验计划
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolExperimentPlanByIds(Long[] ids);
/**
* 批量删除实验计划与班级关系
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolExperimentPlanClassByExperimentPlanIds(Long[] ids);
/**
* 批量新增实验计划与班级关系
*
* @param schoolExperimentPlanClassList 实验计划与班级关系列表
* @return 结果
*/
public int batchSchoolExperimentPlanClass(List<SchoolExperimentPlanClass> schoolExperimentPlanClassList);
/**
* 通过实验计划主键删除实验计划与班级关系信息
*
* @param id 实验计划ID
* @return 结果
*/
public int deleteSchoolExperimentPlanClassByExperimentPlanId(Long id);
/**
* 根据学年查询级部下拉框
* @param schoolYear
* @return
*/
List<Map<String, String>> getGrade(@Param("schoolYear") int schoolYear,@Param("userId") Long userId);
/**
* 根据级部查询对应班级
* @param gradeId
* @return
*/
List<Map<String, String>> getSchoolClass(@Param("gradeId") Long gradeId);
}
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import java.util.List;
/**
* 年级实验室预约Mapper接口
*
* @author ruoyi
* @date 2023-08-29
*/
public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear>
{
/**
* 查询年级实验室预约
*
* @param id 年级实验室预约主键
* @return 年级实验室预约
*/
public SchoolLabClassYear selectSchoolLabClassYearById(Long id);
/**
* 查询年级实验室预约列表
*
* @param schoolLabClassYear 年级实验室预约
* @return 年级实验室预约集合
*/
public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear);
/**
* 新增年级实验室预约
*
* @param schoolLabClassYear 年级实验室预约
* @return 结果
*/
public int insertSchoolLabClassYear(SchoolLabClassYear schoolLabClassYear);
/**
* 修改年级实验室预约
*
* @param schoolLabClassYear 年级实验室预约
* @return 结果
*/
public int updateSchoolLabClassYear(SchoolLabClassYear schoolLabClassYear);
/**
* 删除年级实验室预约
*
* @param id 年级实验室预约主键
* @return 结果
*/
public int deleteSchoolLabClassYearById(Long id);
/**
* 批量删除年级实验室预约
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolLabClassYearByIds(Long[] ids);
/**
* 批量删除年级实验室预约和实验室关系
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolLabClassYearRelationByLabClassYearIds(Long[] ids);
/**
* 批量新增年级实验室预约和实验室关系
*
* @param schoolLabClassYearRelationList 年级实验室预约和实验室关系列表
* @return 结果
*/
public int batchSchoolLabClassYearRelation(List<SchoolLabClassYearRelation> schoolLabClassYearRelationList);
/**
* 通过年级实验室预约主键删除年级实验室预约和实验室关系信息
*
* @param id 年级实验室预约ID
* @return 结果
*/
public int deleteSchoolLabClassYearRelationByLabClassYearId(Long id);
}
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import java.util.List;
/**
* 实验室竞赛Mapper接口
*
* @author ruoyi
* @date 2023-08-29
*/
public interface SchoolLabCompetitionMapper extends BaseMapper<SchoolLabCompetition>
{
/**
* 查询实验室竞赛
*
* @param id 实验室竞赛主键
* @return 实验室竞赛
*/
public SchoolLabCompetition selectSchoolLabCompetitionById(Long id);
/**
* 查询实验室竞赛列表
*
* @param schoolLabCompetition 实验室竞赛
* @return 实验室竞赛集合
*/
public List<SchoolLabCompetition> selectSchoolLabCompetitionList(SchoolLabCompetition schoolLabCompetition);
/**
* 新增实验室竞赛
*
* @param schoolLabCompetition 实验室竞赛
* @return 结果
*/
public int insertSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition);
/**
* 修改实验室竞赛
*
* @param schoolLabCompetition 实验室竞赛
* @return 结果
*/
public int updateSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition);
/**
* 删除实验室竞赛
*
* @param id 实验室竞赛主键
* @return 结果
*/
public int deleteSchoolLabCompetitionById(Long id);
/**
* 批量删除实验室竞赛
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolLabCompetitionByIds(Long[] ids);
}
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import java.util.List;
import java.util.Map;
/**
* 实验室Mapper接口
*
* @author ruoyi
* @date 2023-08-29
*/
public interface SchoolLabMapper extends BaseMapper<SchoolLab>
{
/**
* 查询实验室
*
* @param id 实验室主键
* @return 实验室
*/
public SchoolLab selectSchoolLabById(Long id);
/**
* 查询实验室列表
*
* @param schoolLab 实验室
* @return 实验室集合
*/
public List<SchoolLab> selectSchoolLabList(SchoolLab schoolLab);
/**
* 新增实验室
*
* @param schoolLab 实验室
* @return 结果
*/
public int insertSchoolLab(SchoolLab schoolLab);
/**
* 修改实验室
*
* @param schoolLab 实验室
* @return 结果
*/
public int updateSchoolLab(SchoolLab schoolLab);
/**
* 删除实验室
*
* @param id 实验室主键
* @return 结果
*/
public int deleteSchoolLabById(Long id);
/**
* 批量删除实验室
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolLabByIds(Long[] ids);
/**
* 查询所有实验室管理员
* @return
*/
public List<Map<String,String>> getLabAdminAll();
/**
* 查询指定实验室管理员
* @return
*/
public Map<String,String> getLabAdmin(@Param("roleKey") String roleKey);
/**
* 查询全部学科
* @return
*/
public List<Map<String, String>> getSubAll();
/**
* 查询指定学科
* @param dictValue
* @return
*/
Map<String, String> getSub(@Param("dictValue") String dictValue);
}
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