前端功能完善
@@ -1,7 +1,7 @@
|
|||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 若依管理系统/开发环境
|
# 物美智能/开发环境
|
||||||
VUE_APP_BASE_API = '/dev-api'
|
VUE_APP_BASE_API = '/dev-api'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# 生产环境配置
|
# 生产环境配置
|
||||||
ENV = 'production'
|
ENV = 'production'
|
||||||
|
|
||||||
# 若依管理系统/生产环境
|
# 物美智能/生产环境
|
||||||
VUE_APP_BASE_API = '/prod-api'
|
VUE_APP_BASE_API = '/prod-api'
|
||||||
|
|||||||
@@ -3,5 +3,5 @@ NODE_ENV = production
|
|||||||
# 测试环境配置
|
# 测试环境配置
|
||||||
ENV = 'staging'
|
ENV = 'staging'
|
||||||
|
|
||||||
# 若依管理系统/测试环境
|
# 物美智能/测试环境
|
||||||
VUE_APP_BASE_API = '/stage-api'
|
VUE_APP_BASE_API = '/stage-api'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ruoyi",
|
"name": "ruoyi",
|
||||||
"version": "3.4.0",
|
"version": "3.4.0",
|
||||||
"description": "若依管理系统",
|
"description": "物美智能",
|
||||||
"author": "若依",
|
"author": "若依",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 66 KiB |
53
vue/src/api/system/group.js
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询分组列表
|
||||||
|
export function listGroup(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询分组详细
|
||||||
|
export function getGroup(groupId) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group/' + groupId,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增分组
|
||||||
|
export function addGroup(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改分组
|
||||||
|
export function updateGroup(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除分组
|
||||||
|
export function delGroup(groupId) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group/' + groupId,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出分组
|
||||||
|
export function exportGroup(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/group/export',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
1
vue/src/assets/icons/svg/category.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621329968340" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13110" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M896 682.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-85.333333v-85.333333a85.333333 85.333333 0 0 0-85.333333-85.333334h-128V384h85.333333a42.666667 42.666667 0 0 0 42.666667-42.666667V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667H384a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h85.333333v85.333333H341.333333a85.333333 85.333333 0 0 0-85.333333 85.333334v85.333333H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h256a42.666667 42.666667 0 0 0 42.666666-42.666667v-170.666666a42.666667 42.666667 0 0 0-42.666666-42.666667H341.333333v-85.333333h341.333334v85.333333h-85.333334a42.666667 42.666667 0 0 0-42.666666 42.666667v170.666666a42.666667 42.666667 0 0 0 42.666666 42.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667z" p-id="13111"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
1
vue/src/assets/icons/svg/config.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621330505752" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21997" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 64v896H64V64h896z m-192 656H608V768H192v64h416v48H768V832h64v-64h-64v-48z m-352-288H256v48H192v64h64v48h160V544H832v-64H416v-48z m352-288H608V192H192v64h416v48H768V256h64V192h-64v-48z" p-id="21998"></path></svg>
|
||||||
|
After Width: | Height: | Size: 594 B |
1
vue/src/assets/icons/svg/device.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621330004465" class="icon" viewBox="0 0 1280 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13956" xmlns:xlink="http://www.w3.org/1999/xlink" width="250" height="200"><defs><style type="text/css"></style></defs><path d="M153.64583333 62h984.375C1176.87083362 62 1208.33333333 93.5 1208.33333333 132.3125v205.49999971c0 38.85000029-31.5 70.35000029-70.3125 70.35000029H153.64583333A70.3125 70.3125 0 0 1 83.33333333 337.85V132.3125C83.33333333 93.46249971 114.83333333 62 153.64583333 62z m104.92499971 138.44999971a34.61249971 34.61249971 0 0 0 0 69.22500029h212.02500058a34.61249971 34.61249971 0 0 0 0-69.22500029H258.57083304zM153.64583333 615.87500029h984.375c38.85000029 0 70.3125 31.5 70.3125 70.3125v205.5375C1208.33333333 930.53750029 1176.83333333 962 1138.02083333 962H153.64583333A70.3125 70.3125 0 0 1 83.33333333 891.6875v-205.49999971c0-38.85000029 31.5-70.35000029 70.3125-70.35000029z m104.92499971 138.4875a34.61249971 34.61249971 0 1 0 0 69.22499942h212.02500058a34.61249971 34.61249971 0 1 0 0-69.22499942H258.57083304z" p-id="13957"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
1
vue/src/assets/icons/svg/group.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621331033016" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30980" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M170.666667 469.333333h256a42.666667 42.666667 0 0 0 42.666666-42.666666V170.666667a42.666667 42.666667 0 0 0-42.666666-42.666667H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667v256a42.666667 42.666667 0 0 0 42.666667 42.666666z m426.666666 0h256a42.666667 42.666667 0 0 0 42.666667-42.666666V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-256a42.666667 42.666667 0 0 0-42.666666 42.666667v256a42.666667 42.666667 0 0 0 42.666666 42.666666zM170.666667 896h256a42.666667 42.666667 0 0 0 42.666666-42.666667v-256a42.666667 42.666667 0 0 0-42.666666-42.666666H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666v256a42.666667 42.666667 0 0 0 42.666667 42.666667z m554.666666 0c94.122667 0 170.666667-76.544 170.666667-170.666667s-76.544-170.666667-170.666667-170.666666-170.666667 76.544-170.666666 170.666666 76.544 170.666667 170.666666 170.666667z" p-id="30981"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
1
vue/src/assets/icons/svg/iot.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621330831603" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="27504" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M532.038 0.41c-72.843-2.902-147.462 9.781-219.07 40.003-71.612 30.223-132.753 74.836-181.491 129.051 72.432-1.391 145.775-16.28 216.488-46.125C418.679 93.494 480.512 51.335 532.038 0.41zM441.627 345.266c140.577-59.33 256.27-153.169 341.414-267.521a514.78 514.78 0 0 0-132.678-58.566 690.967 690.967 0 0 1-37.939 42.388c-64.186 66.02-140.084 117.793-225.586 153.878-85.501 36.086-175.545 54.347-267.624 54.274a690.536 690.536 0 0 1-56.838-2.386 514.877 514.877 0 0 0-50.598 135.916c141.329 18.772 289.272 1.346 429.849-57.983z" p-id="27505"></path><path d="M535.289 567.192c169.034-71.339 310.196-181.335 417.572-315.38-25.017-42.507-55.54-80.322-90.25-112.904a928.479 928.479 0 0 1-77.503 90.688c-86.659 89.14-189.144 159.047-304.608 207.777-115.463 48.729-237.044 73.388-361.367 73.29A929.085 929.085 0 0 1 0.091 502.928a508.255 508.255 0 0 0 17.933 143.423c170.947 16.582 348.231-7.821 517.265-79.159z" p-id="27506"></path><path d="M998.663 353.31a1163.002 1163.002 0 0 1-40.869 44.315c-109.135 112.26-238.211 200.3-383.632 261.674-145.423 61.376-298.545 92.431-455.112 92.308a1159.323 1159.323 0 0 1-60.26-1.633c28.541 54.499 65.835 101.974 109.398 141.4 154.353-5.572 310.229-38.724 460.763-102.255 150.535-63.533 283.03-152.085 394.704-258.787 2.141-58.714-5.854-118.554-24.992-177.022zM305.351 980.291c124.479 54.902 270.44 60.368 405.675 3.294 135.234-57.073 233.14-165.464 280.646-292.949-98.29 77.292-206.657 141.131-323.847 190.59-117.19 49.456-238.526 82.564-362.474 99.065z" p-id="27507"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
1
vue/src/assets/icons/svg/mqtt.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622041062337" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9913" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M768 618.666667c-32 0-61.866667 10.666667-87.466667 27.733333l-53.333333-53.333333c21.333333-32 34.133333-70.4 34.133333-113.066667s-12.8-81.066667-34.133333-113.066667l44.8-44.8c19.2 12.8 40.533333 19.2 64 19.2 64 0 117.333333-53.333333 117.333333-117.333333S800 106.666667 736 106.666667 618.666667 160 618.666667 224c0 17.066667 4.266667 34.133333 10.666666 49.066667L584.533333 320c-34.133333-27.733333-76.8-42.666667-125.866666-42.666667-42.666667 0-81.066667 12.8-113.066667 34.133334l-78.933333-78.933334c6.4-12.8 10.666667-25.6 10.666666-40.533333 0-46.933333-38.4-85.333333-85.333333-85.333333S106.666667 145.066667 106.666667 192s38.4 85.333333 85.333333 85.333333c8.533333 0 17.066667-2.133333 25.6-4.266666l81.066667 81.066666c-27.733333 34.133333-42.666667 76.8-42.666667 125.866667s17.066667 89.6 42.666667 125.866667l-29.866667 29.866666c-14.933333-10.666667-34.133333-17.066667-55.466667-17.066666-59.733333 0-106.666667 46.933333-106.666666 106.666666s46.933333 106.666667 106.666666 106.666667 106.666667-46.933333 106.666667-106.666667c0-14.933333-2.133333-29.866667-8.533333-42.666666l34.133333-34.133334c32 21.333333 70.4 34.133333 113.066667 34.133334 46.933333 0 89.6-17.066667 125.866666-42.666667l55.466667 55.466667c-12.8 21.333333-19.2 46.933333-19.2 74.666666 0 83.2 66.133333 149.333333 149.333333 149.333334s149.333333-66.133333 149.333334-149.333334S851.2 618.666667 768 618.666667zM192 213.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333s8.533333-21.333333 21.333333-21.333333 21.333333 8.533333 21.333333 21.333333-8.533333 21.333333-21.333333 21.333333z m160 298.666667c-17.066667 0-32-14.933333-32-32s14.933333-32 32-32 32 14.933333 32 32-14.933333 32-32 32z m106.666667 0c-17.066667 0-32-14.933333-32-32s14.933333-32 32-32 32 14.933333 32 32-14.933333 32-32 32z m106.666666 0c-17.066667 0-32-14.933333-32-32s14.933333-32 32-32 32 14.933333 32 32-14.933333 32-32 32zM768 853.333333c-46.933333 0-85.333333-38.4-85.333333-85.333333s38.4-85.333333 85.333333-85.333333 85.333333 38.4 85.333333 85.333333-38.4 85.333333-85.333333 85.333333z" p-id="9914"></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
1
vue/src/assets/icons/svg/status.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1621330095828" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16776" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M954.88 237.568c0-60.416-56.832-109.568-126.464-109.568H195.584c-70.144 0-126.464 49.152-126.464 109.568v548.352c0 60.416 56.832 109.568 126.464 109.568h632.832c70.144 0 126.464-49.152 126.464-109.568V237.568z m-803.84-28.16c11.776-10.24 28.16-16.384 45.056-15.872h632.832c34.816 0 63.488 14.336 63.488 44.544v246.784h-50.176l-54.272-47.104c-12.288-10.752-32.256-10.752-44.544 0-3.584 3.072-6.144 6.656-7.68 10.752l-38.912 101.888L604.16 390.144c-7.68-13.312-26.624-18.944-42.496-12.288-7.168 3.072-12.288 8.192-15.36 14.336l-92.16 199.68-101.376-307.2c-4.608-14.336-22.528-23.04-38.912-18.944-8.704 2.048-15.872 7.168-19.456 14.336l-117.76 204.288H133.12V247.808c-1.024-14.336 6.144-28.16 17.92-38.4z m725.504 611.84c-7.68 7.68-31.232 9.728-48.128 9.728H195.584c-16.896 0-32.768-5.632-45.056-15.872s-18.432-24.064-18.432-38.912v-236.544h63.488c11.776 0 23.04-5.632 28.16-15.36l90.112-156.16 104.448 316.416c3.584 11.264 15.36 19.456 28.672 19.968h1.536c12.8 0 24.576-6.656 29.184-17.408L578.56 468.992l95.232 164.864c7.68 13.312 26.624 18.944 42.496 12.288 7.68-3.072 13.312-8.704 15.872-15.872l47.104-122.368 27.136 23.552c6.144 5.12 13.824 8.192 22.528 8.192h62.976v236.544c0 14.336-9.728 40.448-14.336 44.544l-1.024 0.512z" p-id="16777"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
1
vue/src/assets/icons/svg/wifi_0.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622135369729" class="icon" viewBox="0 0 1122 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19568" xmlns:xlink="http://www.w3.org/1999/xlink" width="219.140625" height="200"><defs><style type="text/css"></style></defs><path d="M561.152 910.336c-7.68 0-25.088-13.824-53.248-41.984-27.648-28.16-41.472-45.568-41.472-53.248 0-12.288 11.776-22.528 35.84-30.72s43.52-12.8 59.392-12.8c15.872 0 35.328 4.096 59.392 12.8s35.84 18.432 35.84 30.72c0 7.68-13.824 25.6-41.472 53.248-29.184 28.16-46.592 41.984-54.272 41.984z" fill="#e6e6e6" p-id="19569" data-spm-anchor-id="a313x.7781069.0.i63" class="selected"></path><path d="M715.264 755.712c-0.512 0-8.192-4.608-23.04-14.336-14.336-9.728-33.792-18.944-57.856-28.672-24.064-9.728-48.64-14.336-73.216-14.336-24.576 0-49.152 4.608-73.216 14.336-24.064 9.728-43.52 18.944-57.856 28.672-14.336 9.728-22.016 14.336-23.04 14.336-6.656 0-24.576-14.336-53.248-43.008s-43.008-46.08-43.008-53.248c0-5.12 2.048-9.216 5.632-13.312 29.696-29.184 67.072-52.224 112.128-69.12s89.088-25.088 133.12-25.088c44.032 0 88.064 8.192 133.12 25.088 45.056 16.896 82.432 39.936 112.128 69.12 3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-29.696 28.672-47.104 43.008-54.272 43.008z" fill="#e6e6e6" p-id="19570" data-spm-anchor-id="a313x.7781069.0.i64" class="selected"></path><path d="M871.424 600.064c-4.096 0-8.704-1.536-13.312-4.608-51.712-39.936-99.84-69.632-143.872-88.064s-95.232-28.16-153.088-28.16c-32.256 0-65.024 4.096-97.28 12.8S402.944 510.464 378.88 522.24c-24.064 11.776-45.568 23.552-65.024 35.328s-34.304 22.016-45.056 30.208c-11.264 8.192-16.896 12.8-17.92 12.8-6.656 0-24.064-14.336-52.736-43.008s-43.008-46.08-43.008-53.248c0-4.608 2.048-8.704 5.632-12.8 50.176-50.176 111.104-89.088 182.784-117.248 71.68-27.648 143.872-41.472 217.088-41.472s145.408 13.824 217.088 41.472c71.68 27.648 132.608 67.072 182.784 117.248 3.584 3.584 5.632 8.192 5.632 12.8 0 6.656-14.336 24.576-43.008 53.248s-45.056 42.496-51.712 42.496z" fill="#e6e6e6" p-id="19571" data-spm-anchor-id="a313x.7781069.0.i65" class="selected"></path><path d="M1026.048 445.44c-4.096 0-8.192-1.536-12.8-5.12-68.096-59.904-138.752-104.96-212.48-135.168-73.216-30.208-153.6-45.568-240.128-45.568-87.04 0-166.912 15.36-240.128 45.568S176.64 380.416 108.544 440.32c-4.096 3.584-8.192 5.12-12.8 5.12-6.656 0-24.064-14.336-52.736-43.008S0 356.352 0 349.184c0-5.12 2.048-9.216 5.632-13.312C76.8 265.216 161.792 210.432 260.096 171.52s198.656-58.368 301.056-58.368 202.752 19.456 301.056 58.368 183.296 93.696 254.464 164.352c3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-28.672 28.672-46.592 43.008-53.248 43.008z" fill="#e6e6e6" p-id="19572" data-spm-anchor-id="a313x.7781069.0.i66" class="selected"></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
1
vue/src/assets/icons/svg/wifi_1.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622135369729" class="icon" viewBox="0 0 1122 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19568" xmlns:xlink="http://www.w3.org/1999/xlink" width="219.140625" height="200"><defs><style type="text/css"></style></defs><path d="M561.152 910.336c-7.68 0-25.088-13.824-53.248-41.984-27.648-28.16-41.472-45.568-41.472-53.248 0-12.288 11.776-22.528 35.84-30.72s43.52-12.8 59.392-12.8c15.872 0 35.328 4.096 59.392 12.8s35.84 18.432 35.84 30.72c0 7.68-13.824 25.6-41.472 53.248-29.184 28.16-46.592 41.984-54.272 41.984z" fill="#67c23a" p-id="19569" data-spm-anchor-id="a313x.7781069.0.i63" class="selected"></path><path d="M715.264 755.712c-0.512 0-8.192-4.608-23.04-14.336-14.336-9.728-33.792-18.944-57.856-28.672-24.064-9.728-48.64-14.336-73.216-14.336-24.576 0-49.152 4.608-73.216 14.336-24.064 9.728-43.52 18.944-57.856 28.672-14.336 9.728-22.016 14.336-23.04 14.336-6.656 0-24.576-14.336-53.248-43.008s-43.008-46.08-43.008-53.248c0-5.12 2.048-9.216 5.632-13.312 29.696-29.184 67.072-52.224 112.128-69.12s89.088-25.088 133.12-25.088c44.032 0 88.064 8.192 133.12 25.088 45.056 16.896 82.432 39.936 112.128 69.12 3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-29.696 28.672-47.104 43.008-54.272 43.008z" fill="#e6e6e6" p-id="19570" data-spm-anchor-id="a313x.7781069.0.i64" class=""></path><path d="M871.424 600.064c-4.096 0-8.704-1.536-13.312-4.608-51.712-39.936-99.84-69.632-143.872-88.064s-95.232-28.16-153.088-28.16c-32.256 0-65.024 4.096-97.28 12.8S402.944 510.464 378.88 522.24c-24.064 11.776-45.568 23.552-65.024 35.328s-34.304 22.016-45.056 30.208c-11.264 8.192-16.896 12.8-17.92 12.8-6.656 0-24.064-14.336-52.736-43.008s-43.008-46.08-43.008-53.248c0-4.608 2.048-8.704 5.632-12.8 50.176-50.176 111.104-89.088 182.784-117.248 71.68-27.648 143.872-41.472 217.088-41.472s145.408 13.824 217.088 41.472c71.68 27.648 132.608 67.072 182.784 117.248 3.584 3.584 5.632 8.192 5.632 12.8 0 6.656-14.336 24.576-43.008 53.248s-45.056 42.496-51.712 42.496z" fill="#e6e6e6" p-id="19571" data-spm-anchor-id="a313x.7781069.0.i65" class=""></path><path d="M1026.048 445.44c-4.096 0-8.192-1.536-12.8-5.12-68.096-59.904-138.752-104.96-212.48-135.168-73.216-30.208-153.6-45.568-240.128-45.568-87.04 0-166.912 15.36-240.128 45.568S176.64 380.416 108.544 440.32c-4.096 3.584-8.192 5.12-12.8 5.12-6.656 0-24.064-14.336-52.736-43.008S0 356.352 0 349.184c0-5.12 2.048-9.216 5.632-13.312C76.8 265.216 161.792 210.432 260.096 171.52s198.656-58.368 301.056-58.368 202.752 19.456 301.056 58.368 183.296 93.696 254.464 164.352c3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-28.672 28.672-46.592 43.008-53.248 43.008z" fill="#e6e6e6" p-id="19572" data-spm-anchor-id="a313x.7781069.0.i66" class=""></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
1
vue/src/assets/icons/svg/wifi_2.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622135369729" class="icon" viewBox="0 0 1122 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19568" xmlns:xlink="http://www.w3.org/1999/xlink" width="219.140625" height="200"><defs><style type="text/css"></style></defs><path d="M561.152 910.336c-7.68 0-25.088-13.824-53.248-41.984-27.648-28.16-41.472-45.568-41.472-53.248 0-12.288 11.776-22.528 35.84-30.72s43.52-12.8 59.392-12.8c15.872 0 35.328 4.096 59.392 12.8s35.84 18.432 35.84 30.72c0 7.68-13.824 25.6-41.472 53.248-29.184 28.16-46.592 41.984-54.272 41.984z" fill="#67c23a" p-id="19569" data-spm-anchor-id="a313x.7781069.0.i63" class="selected"></path><path d="M715.264 755.712c-0.512 0-8.192-4.608-23.04-14.336-14.336-9.728-33.792-18.944-57.856-28.672-24.064-9.728-48.64-14.336-73.216-14.336-24.576 0-49.152 4.608-73.216 14.336-24.064 9.728-43.52 18.944-57.856 28.672-14.336 9.728-22.016 14.336-23.04 14.336-6.656 0-24.576-14.336-53.248-43.008s-43.008-46.08-43.008-53.248c0-5.12 2.048-9.216 5.632-13.312 29.696-29.184 67.072-52.224 112.128-69.12s89.088-25.088 133.12-25.088c44.032 0 88.064 8.192 133.12 25.088 45.056 16.896 82.432 39.936 112.128 69.12 3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-29.696 28.672-47.104 43.008-54.272 43.008z" fill="#67c23a" p-id="19570" data-spm-anchor-id="a313x.7781069.0.i64" class="selected"></path><path d="M871.424 600.064c-4.096 0-8.704-1.536-13.312-4.608-51.712-39.936-99.84-69.632-143.872-88.064s-95.232-28.16-153.088-28.16c-32.256 0-65.024 4.096-97.28 12.8S402.944 510.464 378.88 522.24c-24.064 11.776-45.568 23.552-65.024 35.328s-34.304 22.016-45.056 30.208c-11.264 8.192-16.896 12.8-17.92 12.8-6.656 0-24.064-14.336-52.736-43.008s-43.008-46.08-43.008-53.248c0-4.608 2.048-8.704 5.632-12.8 50.176-50.176 111.104-89.088 182.784-117.248 71.68-27.648 143.872-41.472 217.088-41.472s145.408 13.824 217.088 41.472c71.68 27.648 132.608 67.072 182.784 117.248 3.584 3.584 5.632 8.192 5.632 12.8 0 6.656-14.336 24.576-43.008 53.248s-45.056 42.496-51.712 42.496z" fill="#e6e6e6" p-id="19571" data-spm-anchor-id="a313x.7781069.0.i65" class=""></path><path d="M1026.048 445.44c-4.096 0-8.192-1.536-12.8-5.12-68.096-59.904-138.752-104.96-212.48-135.168-73.216-30.208-153.6-45.568-240.128-45.568-87.04 0-166.912 15.36-240.128 45.568S176.64 380.416 108.544 440.32c-4.096 3.584-8.192 5.12-12.8 5.12-6.656 0-24.064-14.336-52.736-43.008S0 356.352 0 349.184c0-5.12 2.048-9.216 5.632-13.312C76.8 265.216 161.792 210.432 260.096 171.52s198.656-58.368 301.056-58.368 202.752 19.456 301.056 58.368 183.296 93.696 254.464 164.352c3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-28.672 28.672-46.592 43.008-53.248 43.008z" fill="#e6e6e6" p-id="19572" data-spm-anchor-id="a313x.7781069.0.i66" class=""></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
1
vue/src/assets/icons/svg/wifi_3.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622135369729" class="icon" viewBox="0 0 1122 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19568" xmlns:xlink="http://www.w3.org/1999/xlink" width="219.140625" height="200"><defs><style type="text/css"></style></defs><path d="M561.152 910.336c-7.68 0-25.088-13.824-53.248-41.984-27.648-28.16-41.472-45.568-41.472-53.248 0-12.288 11.776-22.528 35.84-30.72s43.52-12.8 59.392-12.8c15.872 0 35.328 4.096 59.392 12.8s35.84 18.432 35.84 30.72c0 7.68-13.824 25.6-41.472 53.248-29.184 28.16-46.592 41.984-54.272 41.984z" fill="#67c23a" p-id="19569" data-spm-anchor-id="a313x.7781069.0.i63" class="selected"></path><path d="M715.264 755.712c-0.512 0-8.192-4.608-23.04-14.336-14.336-9.728-33.792-18.944-57.856-28.672-24.064-9.728-48.64-14.336-73.216-14.336-24.576 0-49.152 4.608-73.216 14.336-24.064 9.728-43.52 18.944-57.856 28.672-14.336 9.728-22.016 14.336-23.04 14.336-6.656 0-24.576-14.336-53.248-43.008s-43.008-46.08-43.008-53.248c0-5.12 2.048-9.216 5.632-13.312 29.696-29.184 67.072-52.224 112.128-69.12s89.088-25.088 133.12-25.088c44.032 0 88.064 8.192 133.12 25.088 45.056 16.896 82.432 39.936 112.128 69.12 3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-29.696 28.672-47.104 43.008-54.272 43.008z" fill="#67c23a" p-id="19570" data-spm-anchor-id="a313x.7781069.0.i64" class="selected"></path><path d="M871.424 600.064c-4.096 0-8.704-1.536-13.312-4.608-51.712-39.936-99.84-69.632-143.872-88.064s-95.232-28.16-153.088-28.16c-32.256 0-65.024 4.096-97.28 12.8S402.944 510.464 378.88 522.24c-24.064 11.776-45.568 23.552-65.024 35.328s-34.304 22.016-45.056 30.208c-11.264 8.192-16.896 12.8-17.92 12.8-6.656 0-24.064-14.336-52.736-43.008s-43.008-46.08-43.008-53.248c0-4.608 2.048-8.704 5.632-12.8 50.176-50.176 111.104-89.088 182.784-117.248 71.68-27.648 143.872-41.472 217.088-41.472s145.408 13.824 217.088 41.472c71.68 27.648 132.608 67.072 182.784 117.248 3.584 3.584 5.632 8.192 5.632 12.8 0 6.656-14.336 24.576-43.008 53.248s-45.056 42.496-51.712 42.496z" fill="#67c23a" p-id="19571" data-spm-anchor-id="a313x.7781069.0.i65" class="selected"></path><path d="M1026.048 445.44c-4.096 0-8.192-1.536-12.8-5.12-68.096-59.904-138.752-104.96-212.48-135.168-73.216-30.208-153.6-45.568-240.128-45.568-87.04 0-166.912 15.36-240.128 45.568S176.64 380.416 108.544 440.32c-4.096 3.584-8.192 5.12-12.8 5.12-6.656 0-24.064-14.336-52.736-43.008S0 356.352 0 349.184c0-5.12 2.048-9.216 5.632-13.312C76.8 265.216 161.792 210.432 260.096 171.52s198.656-58.368 301.056-58.368 202.752 19.456 301.056 58.368 183.296 93.696 254.464 164.352c3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-28.672 28.672-46.592 43.008-53.248 43.008z" fill="#e6e6e6" p-id="19572" data-spm-anchor-id="a313x.7781069.0.i66" class=""></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
1
vue/src/assets/icons/svg/wifi_4.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?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="1622135369729" class="icon" viewBox="0 0 1122 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19568" xmlns:xlink="http://www.w3.org/1999/xlink" width="219.140625" height="200"><defs><style type="text/css"></style></defs><path d="M561.152 910.336c-7.68 0-25.088-13.824-53.248-41.984-27.648-28.16-41.472-45.568-41.472-53.248 0-12.288 11.776-22.528 35.84-30.72s43.52-12.8 59.392-12.8c15.872 0 35.328 4.096 59.392 12.8s35.84 18.432 35.84 30.72c0 7.68-13.824 25.6-41.472 53.248-29.184 28.16-46.592 41.984-54.272 41.984z" fill="#67c23a" p-id="19569" data-spm-anchor-id="a313x.7781069.0.i63" class="selected"></path><path d="M715.264 755.712c-0.512 0-8.192-4.608-23.04-14.336-14.336-9.728-33.792-18.944-57.856-28.672-24.064-9.728-48.64-14.336-73.216-14.336-24.576 0-49.152 4.608-73.216 14.336-24.064 9.728-43.52 18.944-57.856 28.672-14.336 9.728-22.016 14.336-23.04 14.336-6.656 0-24.576-14.336-53.248-43.008s-43.008-46.08-43.008-53.248c0-5.12 2.048-9.216 5.632-13.312 29.696-29.184 67.072-52.224 112.128-69.12s89.088-25.088 133.12-25.088c44.032 0 88.064 8.192 133.12 25.088 45.056 16.896 82.432 39.936 112.128 69.12 3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-29.696 28.672-47.104 43.008-54.272 43.008z" fill="#67c23a" p-id="19570" data-spm-anchor-id="a313x.7781069.0.i64" class="selected"></path><path d="M871.424 600.064c-4.096 0-8.704-1.536-13.312-4.608-51.712-39.936-99.84-69.632-143.872-88.064s-95.232-28.16-153.088-28.16c-32.256 0-65.024 4.096-97.28 12.8S402.944 510.464 378.88 522.24c-24.064 11.776-45.568 23.552-65.024 35.328s-34.304 22.016-45.056 30.208c-11.264 8.192-16.896 12.8-17.92 12.8-6.656 0-24.064-14.336-52.736-43.008s-43.008-46.08-43.008-53.248c0-4.608 2.048-8.704 5.632-12.8 50.176-50.176 111.104-89.088 182.784-117.248 71.68-27.648 143.872-41.472 217.088-41.472s145.408 13.824 217.088 41.472c71.68 27.648 132.608 67.072 182.784 117.248 3.584 3.584 5.632 8.192 5.632 12.8 0 6.656-14.336 24.576-43.008 53.248s-45.056 42.496-51.712 42.496z" fill="#67c23a" p-id="19571" data-spm-anchor-id="a313x.7781069.0.i65" class="selected"></path><path d="M1026.048 445.44c-4.096 0-8.192-1.536-12.8-5.12-68.096-59.904-138.752-104.96-212.48-135.168-73.216-30.208-153.6-45.568-240.128-45.568-87.04 0-166.912 15.36-240.128 45.568S176.64 380.416 108.544 440.32c-4.096 3.584-8.192 5.12-12.8 5.12-6.656 0-24.064-14.336-52.736-43.008S0 356.352 0 349.184c0-5.12 2.048-9.216 5.632-13.312C76.8 265.216 161.792 210.432 260.096 171.52s198.656-58.368 301.056-58.368 202.752 19.456 301.056 58.368 183.296 93.696 254.464 164.352c3.584 3.584 5.632 8.192 5.632 13.312 0 6.656-14.336 24.576-43.008 53.248-28.672 28.672-46.592 43.008-53.248 43.008z" fill="#67c23a" p-id="19572" data-spm-anchor-id="a313x.7781069.0.i66" class="selected"></path></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 21 KiB |
@@ -35,7 +35,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '若依管理系统',
|
title: '物美智能',
|
||||||
logo: logoImg
|
logo: logoImg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
title: '若依管理系统',
|
title: '物美智能设备',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
|
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
|
||||||
|
|||||||
@@ -1,68 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container home">
|
<div class="app-container home">
|
||||||
<el-row :gutter="20">
|
|
||||||
<el-col :sm="24" :lg="24">
|
|
||||||
<blockquote class="text-warning" style="font-size: 14px">
|
|
||||||
领取阿里云通用云产品1888优惠券
|
|
||||||
<br />
|
|
||||||
<el-link
|
|
||||||
href="https://www.aliyun.com/minisite/goods?userCode=brki8iof"
|
|
||||||
type="primary"
|
|
||||||
target="_blank"
|
|
||||||
>https://www.aliyun.com/minisite/goods?userCode=brki8iof</el-link
|
|
||||||
>
|
|
||||||
<br />
|
|
||||||
领取腾讯云通用云产品2860优惠券
|
|
||||||
<br />
|
|
||||||
<el-link
|
|
||||||
href="https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console"
|
|
||||||
type="primary"
|
|
||||||
target="_blank"
|
|
||||||
>https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console</el-link
|
|
||||||
>
|
|
||||||
<br />
|
|
||||||
阿里云服务器折扣区
|
|
||||||
<el-link href="http://aly.ruoyi.vip" type="primary" target="_blank"
|
|
||||||
>>☛☛点我进入☚☚</el-link
|
|
||||||
>
|
|
||||||
腾讯云服务器秒杀区
|
|
||||||
<el-link href="http://txy.ruoyi.vip" type="primary" target="_blank"
|
|
||||||
>>☛☛点我进入☚☚</el-link
|
|
||||||
><br />
|
|
||||||
<h4 class="text-danger">
|
|
||||||
云产品通用红包,可叠加官网常规优惠使用。(仅限新用户)
|
|
||||||
</h4>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :sm="24" :lg="12" style="padding-left: 20px">
|
<el-col :sm="24" :lg="12" style="padding-left: 20px">
|
||||||
<h2>若依后台管理框架</h2>
|
<h2>wumei-smart</h2>
|
||||||
<p>
|
<p><a href="http://www.wumei.live" target="_blank">物美智能</a>是一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的智能家居系统。 硬件工程师可以把自己的设备集成到系统;软件工程师可以使用项目中的设备熟悉软硬件交互。</p>
|
||||||
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
|
<p>服务端使用spring boot、前端vue、移动端android、数据库mysql、硬件交互基于mqtt协议使用EMQ代理服务器。</p>
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<b>当前版本:</b> <span>v{{ version }}</span>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<el-tag type="danger">¥免费开源</el-tag>
|
|
||||||
</p>
|
|
||||||
<p>
|
<p>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
size="mini"
|
size="mini"
|
||||||
icon="el-icon-cloudy"
|
icon="el-icon-cloudy"
|
||||||
plain
|
plain
|
||||||
@click="goTarget('https://gitee.com/y_project/RuoYi-Vue')"
|
@click="goTarget('https://gitee.com/kerwincui/wumei-smart')"
|
||||||
>访问码云</el-button
|
>访问码云</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
icon="el-icon-s-home"
|
icon="el-icon-s-home"
|
||||||
plain
|
plain
|
||||||
@click="goTarget('http://ruoyi.vip')"
|
@click="goTarget('http://www.wumei.live/')"
|
||||||
>访问主页</el-button
|
>访问主页</el-button
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
@@ -98,424 +56,26 @@
|
|||||||
<li>Quill</li>
|
<li>Quill</li>
|
||||||
<li>...</li>
|
<li>...</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<h4>安卓端技术</h4>
|
||||||
|
<ul>
|
||||||
|
<li>xui</li>
|
||||||
|
<li>...</li>
|
||||||
|
</ul>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<h4>硬件端技术</h4>
|
||||||
|
<ul>
|
||||||
|
<li>esp-idf</li>
|
||||||
|
<li>...</li>
|
||||||
|
</ul>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
<el-row :gutter="20">
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>联系信息</span>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-s-promotion"></i> 官网:<el-link
|
|
||||||
href="http://www.ruoyi.vip"
|
|
||||||
target="_blank"
|
|
||||||
>http://www.ruoyi.vip</el-link
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-user-solid"></i> QQ群:<s>满937441</s>
|
|
||||||
<s>满887144332</s> <s>满180251782</s>
|
|
||||||
<a href="https://jq.qq.com/?_wv=1027&k=4WWwqNxN" target="_blank"
|
|
||||||
> 104180207</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-chat-dot-round"></i> 微信:<a
|
|
||||||
href="javascript:;"
|
|
||||||
>/ *若依</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i class="el-icon-money"></i> 支付宝:<a
|
|
||||||
href="javascript:;"
|
|
||||||
class="支付宝信息"
|
|
||||||
>/ *若依</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>更新日志</span>
|
|
||||||
</div>
|
|
||||||
<el-collapse accordion>
|
|
||||||
<el-collapse-item title="v3.4.0 - 2021-02-22">
|
|
||||||
<ol>
|
|
||||||
<li>代码生成模板支持主子表</li>
|
|
||||||
<li>表格右侧工具栏组件支持显隐列</li>
|
|
||||||
<li>图片组件添加预览&移除功能</li>
|
|
||||||
<li>Excel注解支持Image图片导出</li>
|
|
||||||
<li>操作按钮组调整为朴素按钮样式</li>
|
|
||||||
<li>代码生成支持文件上传组件</li>
|
|
||||||
<li>代码生成日期控件区分范围</li>
|
|
||||||
<li>代码生成数据库文本类型生成表单文本域</li>
|
|
||||||
<li>用户手机邮箱&菜单组件修改允许空字符串</li>
|
|
||||||
<li>升级SpringBoot到最新版本2.2.13 提升启动速度</li>
|
|
||||||
<li>升级druid到最新版本v1.2.4</li>
|
|
||||||
<li>升级fastjson到最新版1.2.75</li>
|
|
||||||
<li>升级element-ui到最新版本2.15.0</li>
|
|
||||||
<li>修复IE11浏览器报错问题</li>
|
|
||||||
<li>优化多级菜单之间切换无法缓存的问题</li>
|
|
||||||
<li>修复四级菜单无法显示问题</li>
|
|
||||||
<li>修正侧边栏静态路由丢失问题</li>
|
|
||||||
<li>修复角色管理-编辑角色-功能权限显示异常</li>
|
|
||||||
<li>配置文件新增redis数据库索引属性</li>
|
|
||||||
<li>权限工具类增加admin判断</li>
|
|
||||||
<li>角色非自定义权限范围清空选择值</li>
|
|
||||||
<li>修复导入数据为负浮点数时丢失精度问题</li>
|
|
||||||
<li>移除path-to-regexp正则匹配插件</li>
|
|
||||||
<li>修复生成树表代码异常</li>
|
|
||||||
<li>修改ip字段长度防止ipv6地址长度不够</li>
|
|
||||||
<li>防止get请求参数值为false或0等特殊值会导致无法正确的传参</li>
|
|
||||||
<li>登录后push添加catch防止出现检查错误</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v3.3.0 - 2020-12-14">
|
|
||||||
<ol>
|
|
||||||
<li>新增缓存监控功能</li>
|
|
||||||
<li>支持主题风格配置</li>
|
|
||||||
<li>修复多级菜单之间切换无法缓存的问题</li>
|
|
||||||
<li>多级菜单自动配置组件</li>
|
|
||||||
<li>代码生成预览支持高亮显示</li>
|
|
||||||
<li>支持Get请求映射Params参数</li>
|
|
||||||
<li>删除用户和角色解绑关联</li>
|
|
||||||
<li>去除用户手机邮箱部门必填验证</li>
|
|
||||||
<li>Excel支持注解align对齐方式</li>
|
|
||||||
<li>Excel支持导入Boolean型数据</li>
|
|
||||||
<li>优化头像样式,鼠标移入悬停遮罩</li>
|
|
||||||
<li>代码生成预览提供滚动机制</li>
|
|
||||||
<li>代码生成删除多余的数字float类型</li>
|
|
||||||
<li>修正转换字符串的目标字符集属性</li>
|
|
||||||
<li>回显数据字典防止空值报错</li>
|
|
||||||
<li>日志记录增加过滤多文件场景</li>
|
|
||||||
<li>修改缓存Set方法可能导致嵌套的问题</li>
|
|
||||||
<li>移除前端一些多余的依赖</li>
|
|
||||||
<li>防止安全扫描YUI出现的风险提示</li>
|
|
||||||
<li>修改node-sass为dart-sass</li>
|
|
||||||
<li>升级SpringBoot到最新版本2.1.18</li>
|
|
||||||
<li>升级poi到最新版本4.1.2</li>
|
|
||||||
<li>升级oshi到最新版本v5.3.6</li>
|
|
||||||
<li>升级bitwalker到最新版本1.21</li>
|
|
||||||
<li>升级axios到最新版本0.21.0</li>
|
|
||||||
<li>升级element-ui到最新版本2.14.1</li>
|
|
||||||
<li>升级vue到最新版本2.6.12</li>
|
|
||||||
<li>升级vuex到最新版本3.6.0</li>
|
|
||||||
<li>升级vue-cli到版本4.5.9</li>
|
|
||||||
<li>升级vue-router到最新版本3.4.9</li>
|
|
||||||
<li>升级vue-cli到最新版本4.4.6</li>
|
|
||||||
<li>升级vue-cropper到最新版本0.5.5</li>
|
|
||||||
<li>升级clipboard到最新版本2.0.6</li>
|
|
||||||
<li>升级core-js到最新版本3.8.1</li>
|
|
||||||
<li>升级echarts到最新版本4.9.0</li>
|
|
||||||
<li>升级file-saver到最新版本2.0.4</li>
|
|
||||||
<li>升级fuse.js到最新版本6.4.3</li>
|
|
||||||
<li>升级js-beautify到最新版本1.13.0</li>
|
|
||||||
<li>升级js-cookie到最新版本2.2.1</li>
|
|
||||||
<li>升级path-to-regexp到最新版本6.2.0</li>
|
|
||||||
<li>升级quill到最新版本1.3.7</li>
|
|
||||||
<li>升级screenfull到最新版本5.0.2</li>
|
|
||||||
<li>升级sortablejs到最新版本1.10.2</li>
|
|
||||||
<li>升级vuedraggable到最新版本2.24.3</li>
|
|
||||||
<li>升级chalk到最新版本4.1.0</li>
|
|
||||||
<li>升级eslint到最新版本7.15.0</li>
|
|
||||||
<li>升级eslint-plugin-vue到最新版本7.2.0</li>
|
|
||||||
<li>升级lint-staged到最新版本10.5.3</li>
|
|
||||||
<li>升级runjs到最新版本4.4.2</li>
|
|
||||||
<li>升级sass-loader到最新版本10.1.0</li>
|
|
||||||
<li>升级script-ext-html-webpack-plugin到最新版本2.1.5</li>
|
|
||||||
<li>升级svg-sprite-loader到最新版本5.1.1</li>
|
|
||||||
<li>升级vue-template-compiler到最新版本2.6.12</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v3.2.1 - 2020-11-18">
|
|
||||||
<ol>
|
|
||||||
<li>阻止任意文件下载漏洞</li>
|
|
||||||
<li>代码生成支持上传控件</li>
|
|
||||||
<li>新增图片上传组件</li>
|
|
||||||
<li>调整默认首页</li>
|
|
||||||
<li>升级druid到最新版本v1.2.2</li>
|
|
||||||
<li>mapperLocations配置支持分隔符</li>
|
|
||||||
<li>权限信息调整</li>
|
|
||||||
<li>调整sql默认时间</li>
|
|
||||||
<li>解决代码生成没有bit类型的问题</li>
|
|
||||||
<li>升级pagehelper到最新版1.3.0</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v3.2.0 - 2020-10-10">
|
|
||||||
<ol>
|
|
||||||
<li>升级springboot版本到2.1.17 提升安全性</li>
|
|
||||||
<li>升级oshi到最新版本v5.2.5</li>
|
|
||||||
<li>升级druid到最新版本v1.2.1</li>
|
|
||||||
<li>升级jjwt到版本0.9.1</li>
|
|
||||||
<li>升级fastjson到最新版1.2.74</li>
|
|
||||||
<li>修改sass为node-sass,避免el-icon图标乱码</li>
|
|
||||||
<li>代码生成支持同步数据库</li>
|
|
||||||
<li>代码生成支持富文本控件</li>
|
|
||||||
<li>代码生成页面时不忽略remark属性</li>
|
|
||||||
<li>代码生成添加select必填选项</li>
|
|
||||||
<li>Excel导出类型NUMERIC支持精度浮点类型</li>
|
|
||||||
<li>Excel导出targetAttr优化获取值,防止get方法不规范</li>
|
|
||||||
<li>Excel注解支持自动统计数据总和</li>
|
|
||||||
<li>Excel注解支持设置BigDecimal精度&舍入规则</li>
|
|
||||||
<li>菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)</li>
|
|
||||||
<li>允许用户分配到部门父节点</li>
|
|
||||||
<li>菜单新增是否缓存keep-alive</li>
|
|
||||||
<li>表格操作列间距调整</li>
|
|
||||||
<li>限制系统内置参数不允许删除</li>
|
|
||||||
<li>富文本组件优化,支持自定义高度&图片冲突问题</li>
|
|
||||||
<li>富文本工具栏样式对齐</li>
|
|
||||||
<li>导入excel整形值校验优化</li>
|
|
||||||
<li>修复页签关闭所有时固定标签路由不刷新问题</li>
|
|
||||||
<li>表单构建布局型组件新增按钮</li>
|
|
||||||
<li>左侧菜单文字过长显示省略号</li>
|
|
||||||
<li>修正根节点为子部门时,树状结构显示问题</li>
|
|
||||||
<li>修正调用目标字符串最大长度</li>
|
|
||||||
<li>修正菜单提示信息错误</li>
|
|
||||||
<li>修正定时任务执行一次权限标识</li>
|
|
||||||
<li>修正数据库字符串类型nvarchar</li>
|
|
||||||
<li>优化递归子节点</li>
|
|
||||||
<li>优化数据权限判断</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v3.1.0 - 2020-08-13">
|
|
||||||
<ol>
|
|
||||||
<li>表格工具栏右侧添加刷新&显隐查询组件</li>
|
|
||||||
<li>后端支持CORS跨域请求</li>
|
|
||||||
<li>代码生成支持选择上级菜单</li>
|
|
||||||
<li>代码生成支持自定义路径</li>
|
|
||||||
<li>代码生成支持复选框</li>
|
|
||||||
<li>Excel导出导入支持dictType字典类型</li>
|
|
||||||
<li>Excel支持分割字符串组内容</li>
|
|
||||||
<li>验证码类型支持(数组计算、字符验证)</li>
|
|
||||||
<li>升级vue-cli版本到4.4.4</li>
|
|
||||||
<li>修改 node-sass 为 dart-sass</li>
|
|
||||||
<li>表单类型为Integer/Long设置整形默认值</li>
|
|
||||||
<li>代码生成器默认mapper路径与默认mapperScan路径不一致</li>
|
|
||||||
<li>优化防重复提交拦截器</li>
|
|
||||||
<li>优化上级菜单不能选择自己</li>
|
|
||||||
<li>修复角色的权限分配后,未实时生效问题</li>
|
|
||||||
<li>修复在线用户日志记录类型</li>
|
|
||||||
<li>修复富文本空格和缩进保存后不生效问题</li>
|
|
||||||
<li>修复在线用户判断逻辑</li>
|
|
||||||
<li>唯一限制条件只返回单条数据</li>
|
|
||||||
<li>添加获取当前的环境配置方法</li>
|
|
||||||
<li>超时登录后页面跳转到首页</li>
|
|
||||||
<li>全局异常状态汉化拦截处理</li>
|
|
||||||
<li>HTML过滤器改为将html转义</li>
|
|
||||||
<li>检查字符支持小数点&降级改成异常提醒</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v3.0.0 - 2020-07-20">
|
|
||||||
<ol>
|
|
||||||
<li>单应用调整为多模块项目</li>
|
|
||||||
<li>升级element-ui版本到2.13.2</li>
|
|
||||||
<li>删除babel,提高编译速度。</li>
|
|
||||||
<li>新增菜单默认主类目</li>
|
|
||||||
<li>编码文件名修改为uuid方式</li>
|
|
||||||
<li>定时任务cron表达式验证</li>
|
|
||||||
<li>角色权限修改时已有权限未自动勾选异常修复</li>
|
|
||||||
<li>防止切换权限用户后登录出现404</li>
|
|
||||||
<li>Excel支持sort导出排序</li>
|
|
||||||
<li>创建用户不允许选择超级管理员角色</li>
|
|
||||||
<li>修复代码生成导入表结构出现异常页面不提醒问题</li>
|
|
||||||
<li>修复代码生成点击多次表修改数据不变化的问题</li>
|
|
||||||
<li>修复头像上传成功二次打开无法改变裁剪框大小和位置问题</li>
|
|
||||||
<li>修复布局为small者mini用户表单显示错位问题</li>
|
|
||||||
<li>修复热部署导致的强换异常问题</li>
|
|
||||||
<li>修改用户管理复选框宽度,防止部分浏览器出现省略号</li>
|
|
||||||
<li>IpUtils工具,清除Xss特殊字符,防止Xff注入攻击</li>
|
|
||||||
<li>生成domain 如果是浮点型 统一用BigDecimal</li>
|
|
||||||
<li>定时任务调整label-width,防止部署出现错位</li>
|
|
||||||
<li>调整表头固定列默认样式</li>
|
|
||||||
<li>代码生成模板调整,字段为String并且必填则加空串条件</li>
|
|
||||||
<li>代码生成字典Integer/Long使用parseInt</li>
|
|
||||||
<li>
|
|
||||||
修复dict_sort不可update为0的问题&查询返回增加dict_sort升序排序
|
|
||||||
</li>
|
|
||||||
<li>修正岗位导出权限注解</li>
|
|
||||||
<li>禁止加密密文返回前端</li>
|
|
||||||
<li>修复代码生成页面中的查询条件创建时间未生效的问题</li>
|
|
||||||
<li>修复首页搜索菜单外链无法点击跳转问题</li>
|
|
||||||
<li>修复菜单管理选择图标,backspace删除时不过滤数据</li>
|
|
||||||
<li>用户管理部门分支节点不可检查&显示计数</li>
|
|
||||||
<li>数据范围过滤属性调整</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.3.0 - 2020-06-01">
|
|
||||||
<ol>
|
|
||||||
<li>升级fastjson到最新版1.2.70 修复高危安全漏洞</li>
|
|
||||||
<li>dev启动默认打开浏览器</li>
|
|
||||||
<li>vue-cli使用默认source-map</li>
|
|
||||||
<li>slidebar eslint报错优化</li>
|
|
||||||
<li>当tags-view滚动关闭右键菜单</li>
|
|
||||||
<li>字典管理添加缓存读取</li>
|
|
||||||
<li>参数管理支持缓存操作</li>
|
|
||||||
<li>支持一级菜单(和主页同级)在main区域显示</li>
|
|
||||||
<li>限制外链地址必须以http(s)开头</li>
|
|
||||||
<li>tagview & sidebar 主题颜色与element ui(全局)同步</li>
|
|
||||||
<li>修改数据源类型优先级,先根据方法,再根据类</li>
|
|
||||||
<li>支持是否需要设置token属性,自定义返回码消息。</li>
|
|
||||||
<li>swagger请求前缀加入配置。</li>
|
|
||||||
<li>登录地点设置内容过长则隐藏显示</li>
|
|
||||||
<li>修复定时任务执行一次按钮后不提示消息问题</li>
|
|
||||||
<li>修改上级部门(选择项排除本身和下级)</li>
|
|
||||||
<li>通用http发送方法增加参数 contentType 编码类型</li>
|
|
||||||
<li>更换IP地址查询接口</li>
|
|
||||||
<li>修复页签变量undefined</li>
|
|
||||||
<li>添加校验部门包含未停用的子部门</li>
|
|
||||||
<li>修改定时任务详情下次执行时间日期显示错误</li>
|
|
||||||
<li>角色管理查询设置默认排序字段</li>
|
|
||||||
<li>swagger添加enable参数控制是否启用</li>
|
|
||||||
<li>只对json类型请求构建可重复读取inputStream的request</li>
|
|
||||||
<li>修改代码生成字典字段int类型没有自动选中问题</li>
|
|
||||||
<li>vuex用户名取值修正</li>
|
|
||||||
<li>表格树模板去掉多余的)</li>
|
|
||||||
<li>代码生成序号修正</li>
|
|
||||||
<li>全屏情况下不调整上外边距</li>
|
|
||||||
<li>代码生成Date字段添加默认格式</li>
|
|
||||||
<li>用户管理角色选择权限控制</li>
|
|
||||||
<li>修复路由懒加载报错问题</li>
|
|
||||||
<li>模板sql.vm添加菜单状态</li>
|
|
||||||
<li>设置用户名称不能修改</li>
|
|
||||||
<li>dialog添加append-to-body属性,防止ie遮罩</li>
|
|
||||||
<li>菜单区分状态和显示隐藏功能</li>
|
|
||||||
<li>升级fastjson到最新版1.2.68 修复安全加固</li>
|
|
||||||
<li>修复代码生成如果选择字典类型缺失逗号问题</li>
|
|
||||||
<li>登录请求params更换为data,防止暴露url</li>
|
|
||||||
<li>日志返回时间格式处理</li>
|
|
||||||
<li>添加handle控制允许拖动的元素</li>
|
|
||||||
<li>布局设置点击扩大范围</li>
|
|
||||||
<li>代码生成列属性排序查询</li>
|
|
||||||
<li>代码生成列支持拖动排序</li>
|
|
||||||
<li>修复时间格式不支持ios问题</li>
|
|
||||||
<li>表单构建添加父级class,防止冲突</li>
|
|
||||||
<li>定时任务并发属性修正</li>
|
|
||||||
<li>角色禁用&菜单隐藏不查询权限</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.2.0 - 2020-03-18">
|
|
||||||
<ol>
|
|
||||||
<li>系统监控新增定时任务功能</li>
|
|
||||||
<li>添加一个打包Web工程bat</li>
|
|
||||||
<li>修复页签鼠标滚轮按下的时候,可以关闭不可关闭的tag</li>
|
|
||||||
<li>修复点击退出登录有时会无提示问题</li>
|
|
||||||
<li>修复防重复提交注解无效问题</li>
|
|
||||||
<li>修复通知公告批量删除异常问题</li>
|
|
||||||
<li>添加菜单时路由地址必填限制</li>
|
|
||||||
<li>代码生成字段描述可编辑</li>
|
|
||||||
<li>修复用户修改个人信息导致缓存不过期问题</li>
|
|
||||||
<li>个人信息创建时间获取正确属性值</li>
|
|
||||||
<li>操作日志详细显示正确类型</li>
|
|
||||||
<li>导入表单击行数据时选中对应的复选框</li>
|
|
||||||
<li>批量替换表前缀逻辑调整</li>
|
|
||||||
<li>固定重定向路径表达式</li>
|
|
||||||
<li>升级element-ui版本到2.13.0</li>
|
|
||||||
<li>操作日志排序调整</li>
|
|
||||||
<li>修复charts切换侧边栏或者缩放窗口显示bug</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.1.0 - 2020-02-24">
|
|
||||||
<ol>
|
|
||||||
<li>新增表单构建</li>
|
|
||||||
<li>代码生成支持树表结构</li>
|
|
||||||
<li>新增用户导入</li>
|
|
||||||
<li>修复动态加载路由页面刷新问题</li>
|
|
||||||
<li>修复地址开关无效问题</li>
|
|
||||||
<li>汉化错误提示页面</li>
|
|
||||||
<li>代码生成已知问题修改</li>
|
|
||||||
<li>修复多数据源下配置关闭出现异常处理</li>
|
|
||||||
<li>添加HTML过滤器,用于去除XSS漏洞隐患</li>
|
|
||||||
<li>修复上传头像控制台出现异常</li>
|
|
||||||
<li>修改用户管理分页不正确的问题</li>
|
|
||||||
<li>修复验证码记录提示错误</li>
|
|
||||||
<li>修复request.js缺少Message引用</li>
|
|
||||||
<li>修复表格时间为空出现的异常</li>
|
|
||||||
<li>添加Jackson日期反序列化时区配置</li>
|
|
||||||
<li>调整根据用户权限加载菜单数据树形结构</li>
|
|
||||||
<li>调整成功登陆不恢复按钮,防止多次点击</li>
|
|
||||||
<li>修改用户个人资料同步缓存信息</li>
|
|
||||||
<li>修复页面同时出现el-upload和Editor不显示处理</li>
|
|
||||||
<li>修复在角色管理页修改菜单权限偶尔未选中问题</li>
|
|
||||||
<li>配置文件新增redis密码属性</li>
|
|
||||||
<li>设置mybatis全局的配置文件</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
|
|
||||||
<el-collapse-item title="v2.0.0 - 2019-12-02">
|
|
||||||
<ol>
|
|
||||||
<li>新增代码生成</li>
|
|
||||||
<li>新增@RepeatSubmit注解,防止重复提交</li>
|
|
||||||
<li>新增菜单主目录添加/删除操作</li>
|
|
||||||
<li>日志记录过滤特殊对象,防止转换异常</li>
|
|
||||||
<li>修改代码生成路由脚本错误</li>
|
|
||||||
<li>用户上传头像实时同步缓存,无需重新登录</li>
|
|
||||||
<li>调整切换页签后不重新加载数据</li>
|
|
||||||
<li>添加jsencrypt实现参数的前端加密</li>
|
|
||||||
<li>系统退出删除用户缓存记录</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v1.1.0 - 2019-11-11">
|
|
||||||
<ol>
|
|
||||||
<li>新增在线用户管理</li>
|
|
||||||
<li>新增按钮组功能实现(批量删除、导出、清空)</li>
|
|
||||||
<li>新增查询条件重置按钮</li>
|
|
||||||
<li>新增Swagger全局Token配置</li>
|
|
||||||
<li>新增后端参数校验</li>
|
|
||||||
<li>修复字典管理页面的日期查询异常</li>
|
|
||||||
<li>修改时间函数命名防止冲突</li>
|
|
||||||
<li>去除菜单上级校验,默认为顶级</li>
|
|
||||||
<li>修复用户密码无法修改问题</li>
|
|
||||||
<li>修复菜单类型为按钮时不显示权限标识</li>
|
|
||||||
<li>其他细节优化</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
<el-collapse-item title="v1.0.0 - 2019-10-08">
|
|
||||||
<ol>
|
|
||||||
<li>若依前后端分离系统正式发布</li>
|
|
||||||
</ol>
|
|
||||||
</el-collapse-item>
|
|
||||||
</el-collapse>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8">
|
|
||||||
<el-card class="update-log">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>捐赠支持</span>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<img
|
|
||||||
src="https://oscimg.oschina.net/oscnet/up-d6695f82666e5018f715c41cb7ee60d3b73.png"
|
|
||||||
alt="donate"
|
|
||||||
width="100%"
|
|
||||||
/>
|
|
||||||
<span style="display: inline-block; height: 30px; line-height: 30px"
|
|
||||||
>你可以请作者喝杯咖啡表示鼓励</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||||||
<h3 class="title">若依后台管理系统</h3>
|
<h3 class="title">物美智能管理系统</h3>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||||
|
|||||||
321
vue/src/views/system/group/index.vue
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="用户" prop="userId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.userId"
|
||||||
|
placeholder="请输入用户"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="分组名称" prop="groupName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.groupName"
|
||||||
|
placeholder="请输入分组名称"
|
||||||
|
clearable
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="创建时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeCreateTime"
|
||||||
|
size="small"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleAdd"
|
||||||
|
v-hasPermi="['system:group:add']"
|
||||||
|
>新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-edit"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleUpdate"
|
||||||
|
v-hasPermi="['system:group:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleDelete"
|
||||||
|
v-hasPermi="['system:group:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['system:group:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="groupList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="设备分组" align="center" prop="groupId" />
|
||||||
|
<el-table-column label="用户" align="center" prop="userId" />
|
||||||
|
<el-table-column label="分组名称" align="center" prop="groupName" />
|
||||||
|
<el-table-column label="排序" align="center" prop="groupOrder" />
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['system:group:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['system:group:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改分组对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="用户" prop="userId">
|
||||||
|
<el-input v-model="form.userId" placeholder="请输入用户" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="分组名称" prop="groupName">
|
||||||
|
<el-input v-model="form.groupName" placeholder="请输入分组名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序" prop="groupOrder">
|
||||||
|
<el-input v-model="form.groupOrder" placeholder="请输入排序" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listGroup, getGroup, delGroup, addGroup, updateGroup, exportGroup } from "@/api/system/group";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Group",
|
||||||
|
components: {
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 分组表格数据
|
||||||
|
groupList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 创建时间时间范围
|
||||||
|
daterangeCreateTime: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
userId: null,
|
||||||
|
groupName: null,
|
||||||
|
createTime: null,
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
userId: [
|
||||||
|
{ required: true, message: "用户不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
groupName: [
|
||||||
|
{ required: true, message: "分组名称不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询分组列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
this.queryParams.params = {};
|
||||||
|
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
|
||||||
|
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||||
|
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||||
|
}
|
||||||
|
listGroup(this.queryParams).then(response => {
|
||||||
|
this.groupList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
groupId: null,
|
||||||
|
userId: null,
|
||||||
|
groupName: null,
|
||||||
|
groupOrder: null,
|
||||||
|
delFlag: null,
|
||||||
|
createBy: null,
|
||||||
|
createTime: null,
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
remark: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.daterangeCreateTime = [];
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.groupId)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 新增按钮操作 */
|
||||||
|
handleAdd() {
|
||||||
|
this.reset();
|
||||||
|
this.open = true;
|
||||||
|
this.title = "添加分组";
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const groupId = row.groupId || this.ids
|
||||||
|
getGroup(groupId).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改分组";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.groupId != null) {
|
||||||
|
updateGroup(this.form).then(response => {
|
||||||
|
this.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addGroup(this.form).then(response => {
|
||||||
|
this.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const groupIds = row.groupId || this.ids;
|
||||||
|
this.$confirm('是否确认删除分组编号为"' + groupIds + '"的数据项?', "警告", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(function() {
|
||||||
|
return delGroup(groupIds);
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.msgSuccess("删除成功");
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
const queryParams = this.queryParams;
|
||||||
|
this.$confirm('是否确认导出所有分组数据项?', "警告", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(function() {
|
||||||
|
return exportGroup(queryParams);
|
||||||
|
}).then(response => {
|
||||||
|
this.download(response.msg);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<el-form-item label="报警" prop="isAlarm">
|
<el-form-item label="报警" prop="isAlarm">
|
||||||
<el-select v-model="queryParams.isAlarm" placeholder="请选择报警" clearable size="small">
|
<el-select v-model="queryParams.isAlarm" placeholder="请选择报警" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isAlarmOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
<el-form-item label="雷达感应" prop="isRadar">
|
<el-form-item label="雷达感应" prop="isRadar">
|
||||||
<el-select v-model="queryParams.isRadar" placeholder="请选择雷达感应" clearable size="small">
|
<el-select v-model="queryParams.isRadar" placeholder="请选择雷达感应" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRadarOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<el-form-item label="托管" prop="isHost">
|
<el-form-item label="托管" prop="isHost">
|
||||||
<el-select v-model="queryParams.isHost" placeholder="请选择托管" clearable size="small">
|
<el-select v-model="queryParams.isHost" placeholder="请选择托管" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isHostOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
<el-form-item label="射频遥控" prop="isRfControl">
|
<el-form-item label="射频遥控" prop="isRfControl">
|
||||||
<el-select v-model="queryParams.isRfControl" placeholder="请选择射频遥控" clearable size="small">
|
<el-select v-model="queryParams.isRfControl" placeholder="请选择射频遥控" clearable size="small">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRfControlOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<!-- <el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -139,18 +139,21 @@
|
|||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row> -->
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="setList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="setList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||||
<el-table-column label="序号" align="center" prop="deviceSetId" />
|
<el-table-column label="序号" align="center" prop="deviceSetId" />
|
||||||
<el-table-column label="设备ID" align="center" prop="deviceId" />
|
<el-table-column label="设备ID" align="center" prop="deviceId" />
|
||||||
<el-table-column label="设备编号" align="center" prop="deviceNum" />
|
<el-table-column label="设备编号" align="center" prop="deviceNum" />
|
||||||
<el-table-column label="报警" align="center" prop="isAlarm" />
|
<el-table-column label="报警" align="center" prop="isAlarm" />
|
||||||
<el-table-column label="雷达感应" align="center" prop="isRadar" />
|
<el-table-column label="雷达感应" align="center" prop="isRadar" />
|
||||||
<el-table-column label="托管" align="center" prop="isHost" />
|
<!-- <el-table-column label="托管" align="center" prop="isHost" /> -->
|
||||||
<el-table-column label="重启" align="center" prop="isReset" />
|
<el-table-column label="重启" align="center" prop="isReset" />
|
||||||
<el-table-column label="打开AP" align="center" prop="isAp" />
|
<el-table-column label="打开AP" align="center" prop="isAp" />
|
||||||
|
<!-- <el-table-column label="离线模式" align="center" prop="isWifiOffline" /> -->
|
||||||
|
<!-- <el-table-column label="使用证书" align="center" prop="isOpenCertifi" /> -->
|
||||||
|
<el-table-column label="智能配网" align="center" prop="isSmartConfig" />
|
||||||
<el-table-column label="射频遥控" align="center" prop="isRfControl" />
|
<el-table-column label="射频遥控" align="center" prop="isRfControl" />
|
||||||
<el-table-column label="遥控配对" align="center" prop="isRfLearn" />
|
<el-table-column label="遥控配对" align="center" prop="isRfLearn" />
|
||||||
<el-table-column label="遥控清码" align="center" prop="isRfClear" />
|
<el-table-column label="遥控清码" align="center" prop="isRfClear" />
|
||||||
@@ -161,7 +164,8 @@
|
|||||||
<el-table-column label="用户" align="center" prop="ownerId" />
|
<el-table-column label="用户" align="center" prop="ownerId" />
|
||||||
<el-table-column label="配网地址" align="center" prop="networkAddress" />
|
<el-table-column label="配网地址" align="center" prop="networkAddress" />
|
||||||
<el-table-column label="配网IP" align="center" prop="networkIp" />
|
<el-table-column label="配网IP" align="center" prop="networkIp" />
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="雷达感应间隔" align="center" prop="radarInterval" />
|
||||||
|
<!-- <el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -178,7 +182,7 @@
|
|||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['system:set:remove']"
|
v-hasPermi="['system:set:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</template>
|
</template> -->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
@@ -202,7 +206,7 @@
|
|||||||
<el-form-item label="报警" prop="isAlarm">
|
<el-form-item label="报警" prop="isAlarm">
|
||||||
<el-select v-model="form.isAlarm" placeholder="是否启动报警">
|
<el-select v-model="form.isAlarm" placeholder="是否启动报警">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isAlarmOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -212,7 +216,7 @@
|
|||||||
<el-form-item label="雷达感应" prop="isRadar">
|
<el-form-item label="雷达感应" prop="isRadar">
|
||||||
<el-select v-model="form.isRadar" placeholder="是否启动雷达感应">
|
<el-select v-model="form.isRadar" placeholder="是否启动雷达感应">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRadarOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -222,7 +226,7 @@
|
|||||||
<el-form-item label="托管" prop="isHost">
|
<el-form-item label="托管" prop="isHost">
|
||||||
<el-select v-model="form.isHost" placeholder="是否托管">
|
<el-select v-model="form.isHost" placeholder="是否托管">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isHostOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -232,7 +236,7 @@
|
|||||||
<el-form-item label="重启" prop="isReset">
|
<el-form-item label="重启" prop="isReset">
|
||||||
<el-select v-model="form.isReset" placeholder="是否重启">
|
<el-select v-model="form.isReset" placeholder="是否重启">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isResetOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -242,7 +246,37 @@
|
|||||||
<el-form-item label="打开AP" prop="isAp">
|
<el-form-item label="打开AP" prop="isAp">
|
||||||
<el-select v-model="form.isAp" placeholder="是否打开AP">
|
<el-select v-model="form.isAp" placeholder="是否打开AP">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isApOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="parseInt(dict.value)"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="离线模式" prop="isWifiOffline">
|
||||||
|
<el-select v-model="form.isWifiOffline" placeholder="离线模式">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in isYesNoOptions"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="parseInt(dict.value)"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="使用证书" prop="isOpenCertifi">
|
||||||
|
<el-select v-model="form.isOpenCertifi" placeholder="是否使用证书">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in isYesNoOptions"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="parseInt(dict.value)"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="智能配网" prop="isSmartConfig">
|
||||||
|
<el-select v-model="form.isSmartConfig" placeholder="智能配网">
|
||||||
|
<el-option
|
||||||
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -252,7 +286,7 @@
|
|||||||
<el-form-item label="射频遥控" prop="isRfControl">
|
<el-form-item label="射频遥控" prop="isRfControl">
|
||||||
<el-select v-model="form.isRfControl" placeholder="是否启动射频遥控">
|
<el-select v-model="form.isRfControl" placeholder="是否启动射频遥控">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRfControlOptions"
|
v-for="dict in isOpenCloseOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -262,7 +296,7 @@
|
|||||||
<el-form-item label="遥控配对" prop="isRfLearn">
|
<el-form-item label="遥控配对" prop="isRfLearn">
|
||||||
<el-select v-model="form.isRfLearn" placeholder="是否遥控配对">
|
<el-select v-model="form.isRfLearn" placeholder="是否遥控配对">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRfLearnOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -272,7 +306,7 @@
|
|||||||
<el-form-item label="遥控清码" prop="isRfClear">
|
<el-form-item label="遥控清码" prop="isRfClear">
|
||||||
<el-select v-model="form.isRfClear" placeholder="是否遥控清码">
|
<el-select v-model="form.isRfClear" placeholder="是否遥控清码">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in isRfClearOptions"
|
v-for="dict in isYesNoOptions"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="parseInt(dict.value)"
|
:value="parseInt(dict.value)"
|
||||||
@@ -282,7 +316,7 @@
|
|||||||
<el-form-item label="按键一" prop="rfOneFunc">
|
<el-form-item label="按键一" prop="rfOneFunc">
|
||||||
<el-select v-model="form.rfOneFunc" placeholder="请选择按键一">
|
<el-select v-model="form.rfOneFunc" placeholder="请选择按键一">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in rfOneFuncOptions"
|
v-for="dict in rfFuncOptions"
|
||||||
:key="dict.dictValue"
|
:key="dict.dictValue"
|
||||||
:label="dict.dictLabel"
|
:label="dict.dictLabel"
|
||||||
:value="parseInt(dict.dictValue)"
|
:value="parseInt(dict.dictValue)"
|
||||||
@@ -292,7 +326,7 @@
|
|||||||
<el-form-item label="按键二" prop="rfTwoFunc">
|
<el-form-item label="按键二" prop="rfTwoFunc">
|
||||||
<el-select v-model="form.rfTwoFunc" placeholder="请选择按键二">
|
<el-select v-model="form.rfTwoFunc" placeholder="请选择按键二">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in rfTwoFuncOptions"
|
v-for="dict in rfFuncOptions"
|
||||||
:key="dict.dictValue"
|
:key="dict.dictValue"
|
||||||
:label="dict.dictLabel"
|
:label="dict.dictLabel"
|
||||||
:value="parseInt(dict.dictValue)"
|
:value="parseInt(dict.dictValue)"
|
||||||
@@ -302,7 +336,7 @@
|
|||||||
<el-form-item label="按键三" prop="rfThreeFunc">
|
<el-form-item label="按键三" prop="rfThreeFunc">
|
||||||
<el-select v-model="form.rfThreeFunc" placeholder="请选择按键三">
|
<el-select v-model="form.rfThreeFunc" placeholder="请选择按键三">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in rfThreeFuncOptions"
|
v-for="dict in rfFuncOptions"
|
||||||
:key="dict.dictValue"
|
:key="dict.dictValue"
|
||||||
:label="dict.dictLabel"
|
:label="dict.dictLabel"
|
||||||
:value="parseInt(dict.dictValue)"
|
:value="parseInt(dict.dictValue)"
|
||||||
@@ -312,7 +346,7 @@
|
|||||||
<el-form-item label="按键四" prop="rfFourFunc">
|
<el-form-item label="按键四" prop="rfFourFunc">
|
||||||
<el-select v-model="form.rfFourFunc" placeholder="请选择按键四">
|
<el-select v-model="form.rfFourFunc" placeholder="请选择按键四">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in rfFourFuncOptions"
|
v-for="dict in rfFuncOptions"
|
||||||
:key="dict.dictValue"
|
:key="dict.dictValue"
|
||||||
:label="dict.dictLabel"
|
:label="dict.dictLabel"
|
||||||
:value="parseInt(dict.dictValue)"
|
:value="parseInt(dict.dictValue)"
|
||||||
@@ -328,6 +362,9 @@
|
|||||||
<el-form-item label="配网IP" prop="networkIp">
|
<el-form-item label="配网IP" prop="networkIp">
|
||||||
<el-input v-model="form.networkIp" placeholder="请输入配网IP" />
|
<el-input v-model="form.networkIp" placeholder="请输入配网IP" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="雷达感应间隔" prop="radarInterval">
|
||||||
|
<el-input v-model="form.radarInterval" placeholder="请输入雷达感应间隔" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -367,64 +404,16 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
// 报警字典
|
// 打开关闭字典
|
||||||
isAlarmOptions: [{
|
isOpenCloseOptions: [{
|
||||||
"label": "打开",
|
"label": "打开",
|
||||||
"value": 1
|
"value": 1
|
||||||
}, {
|
}, {
|
||||||
"label": "关闭",
|
"label": "关闭",
|
||||||
"value": 0
|
"value": 0
|
||||||
}],
|
}],
|
||||||
// 雷达感应字典
|
// 是否字典
|
||||||
isRadarOptions: [{
|
isYesNoOptions: [{
|
||||||
"label": "打开",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "关闭",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 托管字典
|
|
||||||
isHostOptions: [{
|
|
||||||
"label": "是",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "否",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 重启字典
|
|
||||||
isResetOptions: [{
|
|
||||||
"label": "是",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "否",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 打开AP字典
|
|
||||||
isApOptions: [{
|
|
||||||
"label": "是",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "否",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 射频遥控字典
|
|
||||||
isRfControlOptions: [{
|
|
||||||
"label": "打开",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "关闭",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 遥控配对字典
|
|
||||||
isRfLearnOptions: [{
|
|
||||||
"label": "是",
|
|
||||||
"value": 1
|
|
||||||
}, {
|
|
||||||
"label": "否",
|
|
||||||
"value": 0
|
|
||||||
}],
|
|
||||||
// 遥控清码字典
|
|
||||||
isRfClearOptions: [{
|
|
||||||
"label": "是",
|
"label": "是",
|
||||||
"value": 1
|
"value": 1
|
||||||
}, {
|
}, {
|
||||||
@@ -432,13 +421,7 @@ export default {
|
|||||||
"value": 0
|
"value": 0
|
||||||
}],
|
}],
|
||||||
// 按键一字典
|
// 按键一字典
|
||||||
rfOneFuncOptions: [],
|
rfFuncOptions: [],
|
||||||
// 按键二字典
|
|
||||||
rfTwoFuncOptions: [],
|
|
||||||
// 按键三字典
|
|
||||||
rfThreeFuncOptions: [],
|
|
||||||
// 按键四字典
|
|
||||||
rfFourFuncOptions: [],
|
|
||||||
// 创建时间时间范围
|
// 创建时间时间范围
|
||||||
daterangeCreateTime: [],
|
daterangeCreateTime: [],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
@@ -468,16 +451,7 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getDicts("rf_function").then(response => {
|
this.getDicts("rf_function").then(response => {
|
||||||
this.rfOneFuncOptions = response.data;
|
this.rfFuncOptions = response.data;
|
||||||
});
|
|
||||||
this.getDicts("rf_function").then(response => {
|
|
||||||
this.rfTwoFuncOptions = response.data;
|
|
||||||
});
|
|
||||||
this.getDicts("rf_function").then(response => {
|
|
||||||
this.rfThreeFuncOptions = response.data;
|
|
||||||
});
|
|
||||||
this.getDicts("rf_function").then(response => {
|
|
||||||
this.rfFourFuncOptions = response.data;
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -497,19 +471,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 按键一字典翻译
|
// 按键一字典翻译
|
||||||
rfOneFuncFormat(row, column) {
|
rfOneFuncFormat(row, column) {
|
||||||
return this.selectDictLabel(this.rfOneFuncOptions, row.rfOneFunc);
|
return this.selectDictLabel(this.rfFuncOptions, row.rfOneFunc);
|
||||||
},
|
},
|
||||||
// 按键二字典翻译
|
// 按键二字典翻译
|
||||||
rfTwoFuncFormat(row, column) {
|
rfTwoFuncFormat(row, column) {
|
||||||
return this.selectDictLabel(this.rfTwoFuncOptions, row.rfTwoFunc);
|
return this.selectDictLabel(this.rfFuncOptions, row.rfTwoFunc);
|
||||||
},
|
},
|
||||||
// 按键三字典翻译
|
// 按键三字典翻译
|
||||||
rfThreeFuncFormat(row, column) {
|
rfThreeFuncFormat(row, column) {
|
||||||
return this.selectDictLabel(this.rfThreeFuncOptions, row.rfThreeFunc);
|
return this.selectDictLabel(this.rfFuncOptions, row.rfThreeFunc);
|
||||||
},
|
},
|
||||||
// 按键四字典翻译
|
// 按键四字典翻译
|
||||||
rfFourFuncFormat(row, column) {
|
rfFourFuncFormat(row, column) {
|
||||||
return this.selectDictLabel(this.rfFourFuncOptions, row.rfFourFunc);
|
return this.selectDictLabel(this.rfFuncOptions, row.rfFourFunc);
|
||||||
},
|
},
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancel() {
|
cancel() {
|
||||||
@@ -527,6 +501,9 @@ export default {
|
|||||||
isHost: null,
|
isHost: null,
|
||||||
isReset: null,
|
isReset: null,
|
||||||
isAp: null,
|
isAp: null,
|
||||||
|
isWifiOffline: null,
|
||||||
|
isOpenCertifi: null,
|
||||||
|
isSmartConfig: null,
|
||||||
isRfControl: null,
|
isRfControl: null,
|
||||||
isRfLearn: null,
|
isRfLearn: null,
|
||||||
isRfClear: null,
|
isRfClear: null,
|
||||||
@@ -537,6 +514,7 @@ export default {
|
|||||||
ownerId: null,
|
ownerId: null,
|
||||||
networkAddress: null,
|
networkAddress: null,
|
||||||
networkIp: null,
|
networkIp: null,
|
||||||
|
radarInterval: null,
|
||||||
createBy: null,
|
createBy: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateBy: null,
|
updateBy: null,
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<!-- <el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -122,28 +122,29 @@
|
|||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row> -->
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="statusList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="statusList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||||
<el-table-column label="序号" align="center" prop="deviceStatusId" />
|
<el-table-column label="序号" align="center" prop="deviceStatusId" />
|
||||||
<el-table-column label="设备ID" align="center" prop="deviceId" />
|
<el-table-column label="设备ID" align="center" prop="deviceId" />
|
||||||
<el-table-column label="设备编号" align="center" prop="deviceNum" />
|
<el-table-column label="设备编号" align="center" prop="deviceNum" />
|
||||||
<el-table-column label="继电器" align="center" prop="relayStatus" />
|
<el-table-column label="继电器" align="center" prop="relayStatus" />
|
||||||
<el-table-column label="灯状态" align="center" prop="lightStatus" />
|
<el-table-column label="灯状态" align="center" prop="lightStatus" />
|
||||||
<el-table-column label="在线" align="center" prop="isOnline" />
|
<el-table-column label="在线" align="center" prop="isOnline" />
|
||||||
<el-table-column label="设备温度" align="center" prop="deviceTemperature" />
|
<el-table-column label="信号" align="center" prop="rssi" />
|
||||||
<el-table-column label="设备湿度" align="center" prop="deviceHumidity" />
|
<el-table-column label="设备温度" align="center" prop="deviceTemperature" />
|
||||||
<el-table-column label="空气温度" align="center" prop="airTemperature" />
|
<el-table-column label="空气温度" align="center" prop="airTemperature" />
|
||||||
<el-table-column label="空气湿度" align="center" prop="airHumidity" />
|
<el-table-column label="空气湿度" align="center" prop="airHumidity" />
|
||||||
<el-table-column label="触发源" align="center" prop="triggerSource" :formatter="triggerSourceFormat" />
|
<el-table-column label="触发源" align="center" prop="triggerSource" :formatter="triggerSourceFormat" />
|
||||||
<el-table-column label="彩灯亮度" align="center" prop="brightness" />
|
<el-table-column label="彩灯亮度" align="center" prop="brightness" />
|
||||||
<el-table-column label="渐变间隔" align="center" prop="lightInterval" />
|
<el-table-column label="渐变间隔" align="center" prop="lightInterval" />
|
||||||
<el-table-column label="彩灯模式" align="center" prop="lightMode" :formatter="lightModeFormat" />
|
<el-table-column label="彩灯模式" align="center" prop="lightMode" :formatter="lightModeFormat" />
|
||||||
|
<el-table-column label="渐变时间" align="center" prop="fadeTime" />
|
||||||
<el-table-column label="红灯" align="center" prop="red" />
|
<el-table-column label="红灯" align="center" prop="red" />
|
||||||
<el-table-column label="绿灯" align="center" prop="green" />
|
<el-table-column label="绿灯" align="center" prop="green" />
|
||||||
<el-table-column label="蓝灯" align="center" prop="blue" />
|
<el-table-column label="蓝灯" align="center" prop="blue" />
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<!-- <el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -160,7 +161,7 @@
|
|||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['system:status:remove']"
|
v-hasPermi="['system:status:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</template>
|
</template> -->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
@@ -211,12 +212,12 @@
|
|||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="信号" prop="rssi">
|
||||||
|
<el-input v-model="form.rssi" placeholder="请输入信号" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="设备温度" prop="deviceTemperature">
|
<el-form-item label="设备温度" prop="deviceTemperature">
|
||||||
<el-input v-model="form.deviceTemperature" placeholder="请输入设备温度" />
|
<el-input v-model="form.deviceTemperature" placeholder="请输入设备温度" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备湿度" prop="deviceHumidity">
|
|
||||||
<el-input v-model="form.deviceHumidity" placeholder="请输入设备湿度" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="空气温度" prop="airTemperature">
|
<el-form-item label="空气温度" prop="airTemperature">
|
||||||
<el-input v-model="form.airTemperature" placeholder="请输入空气温度" />
|
<el-input v-model="form.airTemperature" placeholder="请输入空气温度" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -239,6 +240,9 @@
|
|||||||
<el-form-item label="渐变间隔" prop="lightInterval">
|
<el-form-item label="渐变间隔" prop="lightInterval">
|
||||||
<el-input v-model="form.lightInterval" placeholder="请输入渐变间隔" />
|
<el-input v-model="form.lightInterval" placeholder="请输入渐变间隔" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="渐变时间" prop="fadeTime">
|
||||||
|
<el-input v-model="form.fadeTime" placeholder="请输入渐变时间" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="彩灯模式" prop="lightMode">
|
<el-form-item label="彩灯模式" prop="lightMode">
|
||||||
<el-select v-model="form.lightMode" placeholder="请选择彩灯模式">
|
<el-select v-model="form.lightMode" placeholder="请选择彩灯模式">
|
||||||
<el-option
|
<el-option
|
||||||
@@ -397,12 +401,13 @@ export default {
|
|||||||
lightStatus: null,
|
lightStatus: null,
|
||||||
isOnline: null,
|
isOnline: null,
|
||||||
deviceTemperature: null,
|
deviceTemperature: null,
|
||||||
deviceHumidity: null,
|
rssi: null,
|
||||||
airTemperature: null,
|
airTemperature: null,
|
||||||
airHumidity: null,
|
airHumidity: null,
|
||||||
triggerSource: null,
|
triggerSource: null,
|
||||||
brightness: null,
|
brightness: null,
|
||||||
lightInterval: null,
|
lightInterval: null,
|
||||||
|
fadeTime: null,
|
||||||
lightMode: null,
|
lightMode: null,
|
||||||
red: null,
|
red: null,
|
||||||
green: null,
|
green: null,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ function resolve(dir) {
|
|||||||
return path.join(__dirname, dir)
|
return path.join(__dirname, dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
const name = defaultSettings.title || '若依管理系统' // 标题
|
const name = defaultSettings.title || '物美智' // 标题
|
||||||
|
|
||||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||||
|
|
||||||
|
|||||||