fix: 资源路径调整
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 795 B After Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -4,25 +4,25 @@
|
|||||||
<img src="../image/bg.jpg" />
|
<img src="../image/bg.jpg" />
|
||||||
<div class="bulbBox">
|
<div class="bulbBox">
|
||||||
<div class="wh100 bulbLogo1">
|
<div class="wh100 bulbLogo1">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22419@2x.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22419@2x.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo2">
|
<div class="wh100 bulbLogo2">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22419.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22419.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo3">
|
<div class="wh100 bulbLogo3">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22394@2x.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22394@2x.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo4">
|
<div class="wh100 bulbLogo4">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22396.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22396.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo5">
|
<div class="wh100 bulbLogo5">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22396@2x.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22396@2x.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo6">
|
<div class="wh100 bulbLogo6">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22400.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22400.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="wh100 bulbLogo7">
|
<div class="wh100 bulbLogo7">
|
||||||
<img class="bulbImg" src="../../../../public/bulbLogo/组 22400@2x.png" alt="" />
|
<img class="bulbImg" src="/asset/image/bulbLogo/22400@2x.png" alt="" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -40,8 +40,7 @@
|
|||||||
placement="right"
|
placement="right"
|
||||||
:drawerStyle="{ background: 'rgba(0, 0, 0, 1)', opacity: 0.8 }"
|
:drawerStyle="{ background: 'rgba(0, 0, 0, 1)', opacity: 0.8 }"
|
||||||
:closable="false"
|
:closable="false"
|
||||||
id="Odrawer"
|
id="Odrawer">
|
||||||
>
|
|
||||||
<div>
|
<div>
|
||||||
<a-tabs v-model:activeKey="activeKey">
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="1" tab="控制面板">
|
<a-tab-pane key="1" tab="控制面板">
|
||||||
@@ -57,8 +56,7 @@
|
|||||||
v-for="(button, index) in buttons"
|
v-for="(button, index) in buttons"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="{ btn: true, selected: button === selectedButton }"
|
:class="{ btn: true, selected: button === selectedButton }"
|
||||||
@click="selectButton(button)"
|
@click="selectButton(button)">
|
||||||
>
|
|
||||||
{{ button.label }}
|
{{ button.label }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -71,8 +69,7 @@
|
|||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="custom-checkbox"
|
class="custom-checkbox"
|
||||||
v-model="selectAllCheckbox"
|
v-model="selectAllCheckbox"
|
||||||
@change="toggleAllSelection"
|
@change="toggleAllSelection" />
|
||||||
/>
|
|
||||||
<span class="both" @click="selectAll">全选</span>
|
<span class="both" @click="selectAll">全选</span>
|
||||||
<button class="openplan">启用面板</button>
|
<button class="openplan">启用面板</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -83,8 +80,7 @@
|
|||||||
v-for="(button2, index) in buttons2"
|
v-for="(button2, index) in buttons2"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="{ btn: true, selected: button2.selected }"
|
:class="{ btn: true, selected: button2.selected }"
|
||||||
@click="toggleSelection(button2)"
|
@click="toggleSelection(button2)">
|
||||||
>
|
|
||||||
{{ button2.label }}
|
{{ button2.label }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -100,8 +96,7 @@
|
|||||||
v-for="(button3, index) in controlbutton"
|
v-for="(button3, index) in controlbutton"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="{ btn: true, selected: button3.label === selectedButton3 }"
|
:class="{ btn: true, selected: button3.label === selectedButton3 }"
|
||||||
@click="selectButton3(button3)"
|
@click="selectButton3(button3)">
|
||||||
>
|
|
||||||
{{ button3.label }}
|
{{ button3.label }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -118,8 +113,7 @@
|
|||||||
v-for="(button4, index) in controlscenebuttons"
|
v-for="(button4, index) in controlscenebuttons"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="{ btn: true, selected: button4.label === selectedButton4 }"
|
:class="{ btn: true, selected: button4.label === selectedButton4 }"
|
||||||
@click="selectButton4(button4)"
|
@click="selectButton4(button4)">
|
||||||
>
|
|
||||||
{{ button4.label }}
|
{{ button4.label }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -147,7 +141,7 @@
|
|||||||
<template v-if="column.dataIndex === 'name'">
|
<template v-if="column.dataIndex === 'name'">
|
||||||
<div class="editable-cell">
|
<div class="editable-cell">
|
||||||
<span @click="showInfo(text)">
|
<span @click="showInfo(text)">
|
||||||
{{ text || " " }}
|
{{ text || ' ' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -176,8 +170,7 @@
|
|||||||
<tr
|
<tr
|
||||||
v-for="(row, index) in dataSource1"
|
v-for="(row, index) in dataSource1"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="handleRowClick(row.id, row.name, row.age)"
|
@click="handleRowClick(row.id, row.name, row.age)">
|
||||||
>
|
|
||||||
<td>{{ row.key }}</td>
|
<td>{{ row.key }}</td>
|
||||||
<td>{{ row.data }}</td>
|
<td>{{ row.data }}</td>
|
||||||
<td>{{ row.planname }}</td>
|
<td>{{ row.planname }}</td>
|
||||||
@@ -199,8 +192,7 @@
|
|||||||
height: '792px',
|
height: '792px',
|
||||||
maxHeight: '792px',
|
maxHeight: '792px',
|
||||||
boxSizing: 'borderBox',
|
boxSizing: 'borderBox',
|
||||||
}"
|
}">
|
||||||
>
|
|
||||||
<div style="height: 792px">
|
<div style="height: 792px">
|
||||||
<div>
|
<div>
|
||||||
<div class="div-operation"></div>
|
<div class="div-operation"></div>
|
||||||
@@ -208,13 +200,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="journal" style="margin-top: 20px">
|
<div class="journal" style="margin-top: 20px">
|
||||||
<div class="imgText">
|
<div class="imgText">
|
||||||
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />
|
<img src="/asset/image/bulbLogo/22549.png" alt="" />
|
||||||
<span
|
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
|
||||||
style="
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
"
|
|
||||||
>站厅照明 1区</span
|
>站厅照明 1区</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -236,24 +223,13 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制模式
|
控制模式
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -273,25 +249,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
亮度
|
亮度
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>100lux</span
|
>100lux</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>30lux</span
|
>30lux</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -311,25 +276,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制场景
|
控制场景
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -349,25 +303,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
色温
|
色温
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>4000k</span
|
>4000k</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>3800k</span
|
>3800k</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -375,13 +318,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="journal" style="margin-top: 20px">
|
<div class="journal" style="margin-top: 20px">
|
||||||
<div class="imgText">
|
<div class="imgText">
|
||||||
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />
|
<img src="/asset/image/bulbLogo/22549.png" alt="" />
|
||||||
<span
|
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
|
||||||
style="
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
"
|
|
||||||
>站厅照明 1区</span
|
>站厅照明 1区</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -403,24 +341,13 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制模式
|
控制模式
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -440,25 +367,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
亮度
|
亮度
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>100lux</span
|
>100lux</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>30lux</span
|
>30lux</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -478,25 +394,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制场景
|
控制场景
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -516,25 +421,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
色温
|
色温
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>4000k</span
|
>4000k</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>3800k</span
|
>3800k</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -542,13 +436,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="journal" style="margin-top: 20px">
|
<div class="journal" style="margin-top: 20px">
|
||||||
<div class="imgText">
|
<div class="imgText">
|
||||||
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />
|
<img src="/asset/image/bulbLogo/22549.png" alt="" />
|
||||||
<span
|
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
|
||||||
style="
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
"
|
|
||||||
>站厅照明 1区</span
|
>站厅照明 1区</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -570,24 +459,13 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制模式
|
控制模式
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -607,25 +485,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
亮度
|
亮度
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>100lux</span
|
>100lux</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>30lux</span
|
>30lux</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -645,25 +512,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
控制场景
|
控制场景
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>手动</span
|
>手动</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>自动</span
|
>自动</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -683,25 +539,14 @@
|
|||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
色温
|
色温
|
||||||
</button>
|
</button>
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>4000k</span
|
>4000k</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
|
||||||
style="
|
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
"
|
|
||||||
>3800k</span
|
>3800k</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -732,17 +577,17 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
import { ref } from 'vue';
|
||||||
const toggleDrawer = () => {
|
const toggleDrawer = () => {
|
||||||
visible.value = !visible.value;
|
visible.value = !visible.value;
|
||||||
};
|
};
|
||||||
// 照明区域按钮单选
|
// 照明区域按钮单选
|
||||||
const buttons = ref([
|
const buttons = ref([
|
||||||
{ label: "A区", selected: false },
|
{ label: 'A区', selected: false },
|
||||||
{ label: "B区", selected: false },
|
{ label: 'B区', selected: false },
|
||||||
{ label: "C区", selected: false },
|
{ label: 'C区', selected: false },
|
||||||
{ label: "D区", selected: false },
|
{ label: 'D区', selected: false },
|
||||||
{ label: "计划启用", selected: false },
|
{ label: '计划启用', selected: false },
|
||||||
]);
|
]);
|
||||||
const selectedButton = ref<Button | null>(null);
|
const selectedButton = ref<Button | null>(null);
|
||||||
const selectButton = (button: Button) => {
|
const selectButton = (button: Button) => {
|
||||||
@@ -753,10 +598,10 @@ let singleSelection = true; // 默认为单选
|
|||||||
const selectAllCheckbox = ref(false);
|
const selectAllCheckbox = ref(false);
|
||||||
const showControlMode = ref(false);
|
const showControlMode = ref(false);
|
||||||
const buttons2 = ref([
|
const buttons2 = ref([
|
||||||
{ label: "1区", selected: false },
|
{ label: '1区', selected: false },
|
||||||
{ label: "2区", selected: false },
|
{ label: '2区', selected: false },
|
||||||
{ label: "3区", selected: false },
|
{ label: '3区', selected: false },
|
||||||
{ label: "4区", selected: false },
|
{ label: '4区', selected: false },
|
||||||
]);
|
]);
|
||||||
const selectAll = () => {
|
const selectAll = () => {
|
||||||
singleSelection = !singleSelection;
|
singleSelection = !singleSelection;
|
||||||
@@ -794,113 +639,113 @@ const toggleSelection = (button) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 控制模式按钮
|
// 控制模式按钮
|
||||||
const selectedButton3 = ref("");
|
const selectedButton3 = ref('');
|
||||||
const showControlScene = ref(false);
|
const showControlScene = ref(false);
|
||||||
const controlbutton = ref([
|
const controlbutton = ref([
|
||||||
{ label: "托管", selected: false },
|
{ label: '托管', selected: false },
|
||||||
{ label: "AI", selected: false },
|
{ label: 'AI', selected: false },
|
||||||
{ label: "手动", selected: false },
|
{ label: '手动', selected: false },
|
||||||
]);
|
]);
|
||||||
// 控制场景按钮
|
// 控制场景按钮
|
||||||
const selectedButton4 = ref("");
|
const selectedButton4 = ref('');
|
||||||
const controlscenebuttons = ref([
|
const controlscenebuttons = ref([
|
||||||
{ label: "检修", selected: false },
|
{ label: '检修', selected: false },
|
||||||
{ label: "午休", selected: false },
|
{ label: '午休', selected: false },
|
||||||
{ label: "疏散", selected: false },
|
{ label: '疏散', selected: false },
|
||||||
{ label: "客流高峰", selected: false },
|
{ label: '客流高峰', selected: false },
|
||||||
]);
|
]);
|
||||||
const selectButton3 = (button3) => {
|
const selectButton3 = (button3) => {
|
||||||
selectedButton3.value = button3.label;
|
selectedButton3.value = button3.label;
|
||||||
showControlScene.value = button3.label === "手动";
|
showControlScene.value = button3.label === '手动';
|
||||||
selectedButton4.value = ""; // 清空选中的控制场景按钮
|
selectedButton4.value = ''; // 清空选中的控制场景按钮
|
||||||
};
|
};
|
||||||
const selectButton4 = (button4) => {
|
const selectButton4 = (button4) => {
|
||||||
selectedButton4.value = button4.label;
|
selectedButton4.value = button4.label;
|
||||||
};
|
};
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: '序号',
|
||||||
dataIndex: "key",
|
dataIndex: 'key',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "执行时间",
|
title: '执行时间',
|
||||||
dataIndex: "data",
|
dataIndex: 'data',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "计划名称",
|
title: '计划名称',
|
||||||
dataIndex: "planname",
|
dataIndex: 'planname',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: '状态',
|
||||||
dataIndex: "status",
|
dataIndex: 'status',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: '状态',
|
||||||
dataIndex: "operation",
|
dataIndex: 'operation',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const dataSource = ref([
|
const dataSource = ref([
|
||||||
{
|
{
|
||||||
key: "1",
|
key: '1',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "劳动节",
|
planname: '劳动节',
|
||||||
status: "暂停中",
|
status: '暂停中',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "2",
|
key: '2',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "国庆节",
|
planname: '国庆节',
|
||||||
status: "待执行",
|
status: '待执行',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "3",
|
key: '3',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "元旦",
|
planname: '元旦',
|
||||||
status: "待执行",
|
status: '待执行',
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const columns1 = [
|
const columns1 = [
|
||||||
{
|
{
|
||||||
title: "序号",
|
title: '序号',
|
||||||
dataIndex: "key",
|
dataIndex: 'key',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "执行时间",
|
title: '执行时间',
|
||||||
dataIndex: "data",
|
dataIndex: 'data',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "操作内容",
|
title: '操作内容',
|
||||||
dataIndex: "planname",
|
dataIndex: 'planname',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "操作人",
|
title: '操作人',
|
||||||
dataIndex: "status",
|
dataIndex: 'status',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const dataSource1 = ref([
|
const dataSource1 = ref([
|
||||||
{
|
{
|
||||||
key: "1",
|
key: '1',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "计划再开",
|
planname: '计划再开',
|
||||||
status: "张三111",
|
status: '张三111',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "2",
|
key: '2',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "检修模式",
|
planname: '检修模式',
|
||||||
status: "李四12",
|
status: '李四12',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "3",
|
key: '3',
|
||||||
data: "2024-05-01",
|
data: '2024-05-01',
|
||||||
planname: "设备变更",
|
planname: '设备变更',
|
||||||
status: "王五33",
|
status: '王五33',
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
// 抽屉默认显示
|
// 抽屉默认显示
|
||||||
const visible = ref(true);
|
const visible = ref(true);
|
||||||
const activeKey = ref("1");
|
const activeKey = ref('1');
|
||||||
|
|
||||||
const showDrawer = () => {
|
const showDrawer = () => {
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
@@ -911,7 +756,7 @@ const logModalVisible = ref(false);
|
|||||||
|
|
||||||
const handleRowClick = (record: any, index: number) => {
|
const handleRowClick = (record: any, index: number) => {
|
||||||
// 处理行点击事件,例如选中行或者其他操作
|
// 处理行点击事件,例如选中行或者其他操作
|
||||||
console.log(record, "=================", index);
|
console.log(record, '=================', index);
|
||||||
// 显示模态框
|
// 显示模态框
|
||||||
logModalVisible.value = true;
|
logModalVisible.value = true;
|
||||||
};
|
};
|
||||||
@@ -984,11 +829,7 @@ const closeLogModal = () => {
|
|||||||
width: 110px;
|
width: 110px;
|
||||||
height: 23px;
|
height: 23px;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
background: linear-gradient(
|
background: linear-gradient(270deg, rgba(86, 221, 253, 0) 0%, rgba(25, 176, 255, 1) 100%);
|
||||||
270deg,
|
|
||||||
rgba(86, 221, 253, 0) 0%,
|
|
||||||
rgba(25, 176, 255, 1) 100%
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lightareatab,
|
.lightareatab,
|
||||||
@@ -1072,11 +913,7 @@ p {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.selected {
|
.selected {
|
||||||
background: linear-gradient(
|
background: linear-gradient(180deg, rgba(201, 245, 255, 1) 0%, rgba(138, 215, 255, 1) 100%);
|
||||||
180deg,
|
|
||||||
rgba(201, 245, 255, 1) 0%,
|
|
||||||
rgba(138, 215, 255, 1) 100%
|
|
||||||
);
|
|
||||||
color: rgba(0, 61, 90, 1);
|
color: rgba(0, 61, 90, 1);
|
||||||
border: 1px solid rgba(255, 255, 255, 1);
|
border: 1px solid rgba(255, 255, 255, 1);
|
||||||
}
|
}
|
||||||
@@ -1475,7 +1312,7 @@ p {
|
|||||||
}
|
}
|
||||||
.journal {
|
.journal {
|
||||||
padding: 3% 10%;
|
padding: 3% 10%;
|
||||||
background-image: url("../../../../public/bulbLogo/bgsquare.png");
|
background-image: url('/asset/image/bulbLogo/bgsquare.png');
|
||||||
background-size: 482px 177px;
|
background-size: 482px 177px;
|
||||||
width: 482px;
|
width: 482px;
|
||||||
height: 177px;
|
height: 177px;
|
||||||
@@ -1489,7 +1326,7 @@ p {
|
|||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
.bulbLogo1 {
|
.bulbLogo1 {
|
||||||
background-image: url("../../../../public/bulbLogo/bulbLogo1.png");
|
background-image: url('/asset/image/bulbLogo/bulbLogo1.png');
|
||||||
}
|
}
|
||||||
.imgText {
|
.imgText {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@@ -12,7 +12,7 @@ const proxy = {
|
|||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
'/carbon-smart': {
|
'/carbon-smart': {
|
||||||
target: 'http://123.60.103.97:8224',
|
target: 'http://192.168.112.144:8224',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
rewrite: (path) => path.replace(/^\/carbon-smart/, ''),
|
rewrite: (path) => path.replace(/^\/carbon-smart/, ''),
|
||||||
},
|
},
|
||||||
|
@@ -10,4 +10,5 @@ export enum enterPrise {
|
|||||||
freeze = `${BASE_URL}/admin/org/freeze`,
|
freeze = `${BASE_URL}/admin/org/freeze`,
|
||||||
getCode = `${BASE_URL}/admin/org/getCode`,
|
getCode = `${BASE_URL}/admin/org/getCode`,
|
||||||
queryRootAc = `${BASE_URL}/admin/org/queryRootAc`,
|
queryRootAc = `${BASE_URL}/admin/org/queryRootAc`,
|
||||||
|
permissionTree = `${BASE_URL}/api/dept/permissionTree`,
|
||||||
}
|
}
|
||||||
|
@@ -9,7 +9,13 @@ import { enterPrise } from '/@/api/origanizemanage';
|
|||||||
type status = 'NORMAL' | 'FREEZE';
|
type status = 'NORMAL' | 'FREEZE';
|
||||||
export const formConfig = [
|
export const formConfig = [
|
||||||
{
|
{
|
||||||
field: 'projectId',
|
field: 'orgId',
|
||||||
|
label: '企业ID',
|
||||||
|
component: 'NsInput',
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'orgCode',
|
||||||
label: '组织ID',
|
label: '组织ID',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
@@ -18,29 +24,21 @@ export const formConfig = [
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入组织编号',
|
|
||||||
trigger: 'blur',
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'jituanname',
|
field: 'orgName',
|
||||||
label: '企业名称',
|
label: '企业名称',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入企业名称',
|
placeholder: '请输入',
|
||||||
maxLength: 20,
|
maxLength: 20,
|
||||||
},
|
},
|
||||||
rules: [
|
rules: [{ required: true }],
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入企业名称',
|
|
||||||
trigger: 'blur',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'jituanname',
|
field: 'cliqueName',
|
||||||
label: '集团名称',
|
label: '集团名称',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
@@ -52,10 +50,11 @@ export const formConfig = [
|
|||||||
field: 'cityName',
|
field: 'cityName',
|
||||||
label: '省市区',
|
label: '省市区',
|
||||||
component: 'NsCascader',
|
component: 'NsCascader',
|
||||||
|
fieldMap: ['province', 'city', 'county'],
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
api: enterPrise.getArea,
|
api: enterPrise.getArea,
|
||||||
fieldNames: { label: 'regionName', value: 'regionCode' },
|
fieldNames: { label: 'regionName', value: 'regionName' },
|
||||||
showSearch: true,
|
showSearch: true,
|
||||||
},
|
},
|
||||||
rules: [
|
rules: [
|
||||||
@@ -104,11 +103,24 @@ export const formConfig = [
|
|||||||
message: '请输入联系电话',
|
message: '请输入联系电话',
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
pattern: /^1[3-9]\d{9}$/,
|
||||||
|
message: '请输入正确的联系电话',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const tableConfig = (visible) => {
|
export const tableConfig = ({
|
||||||
|
visible,
|
||||||
|
formData,
|
||||||
|
opType,
|
||||||
|
getOrgRandomCode,
|
||||||
|
borderVisible,
|
||||||
|
serviceVisible,
|
||||||
|
server: { getTree },
|
||||||
|
}: any) => {
|
||||||
return {
|
return {
|
||||||
// title: '企业管理',
|
// title: '企业管理',
|
||||||
api: enterPrise.list,
|
api: enterPrise.list,
|
||||||
@@ -118,6 +130,9 @@ export const tableConfig = (visible) => {
|
|||||||
name: 'RoleTypeAdd',
|
name: 'RoleTypeAdd',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
handle: () => {
|
handle: () => {
|
||||||
|
formData.value = {};
|
||||||
|
opType.value = 'add';
|
||||||
|
getOrgRandomCode && getOrgRandomCode();
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -135,15 +150,19 @@ export const tableConfig = (visible) => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '组织ID',
|
title: '组织ID',
|
||||||
dataIndex: 'projectId',
|
dataIndex: 'orgCode',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '集团名称',
|
title: '集团名称',
|
||||||
dataIndex: 'cliqueName',
|
dataIndex: 'cliqueName',
|
||||||
|
textNumber: 8,
|
||||||
|
textEllipsis: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '组织名称',
|
title: '组织名称',
|
||||||
dataIndex: 'orgName',
|
dataIndex: 'orgName',
|
||||||
|
textNumber: 8,
|
||||||
|
textEllipsis: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
@@ -157,12 +176,16 @@ export const tableConfig = (visible) => {
|
|||||||
dataIndex: 'area',
|
dataIndex: 'area',
|
||||||
customRender: ({ record }) => {
|
customRender: ({ record }) => {
|
||||||
const { province = '', city = '', county = '' } = record;
|
const { province = '', city = '', county = '' } = record;
|
||||||
return `${province}/${city}/${county}`;
|
const result = [province, city];
|
||||||
|
county && result.push(county);
|
||||||
|
return result.join('/');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '地址',
|
title: '地址',
|
||||||
dataIndex: 'address',
|
dataIndex: 'address',
|
||||||
|
textNumber: 8,
|
||||||
|
textEllipsis: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '联系人',
|
title: '联系人',
|
||||||
@@ -181,12 +204,11 @@ export const tableConfig = (visible) => {
|
|||||||
label: '编辑',
|
label: '编辑',
|
||||||
name: 'RoleTypeEdit',
|
name: 'RoleTypeEdit',
|
||||||
handle: (record: any) => {
|
handle: (record: any) => {
|
||||||
console.log(record, 'record');
|
const { province, city, county } = record;
|
||||||
formData.value = record;
|
formData.value = record;
|
||||||
opMap.type = 'edit';
|
formData.value.cityName = [province, city];
|
||||||
opMap.fuc = (formData: any) => {
|
county && formData.value.cityName.push(county);
|
||||||
Object.assign(mockData.value.filter((item) => item.id === record.id)[0], formData);
|
opType.value = 'edit';
|
||||||
};
|
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -201,6 +223,8 @@ export const tableConfig = (visible) => {
|
|||||||
label: '服务',
|
label: '服务',
|
||||||
handle: (record: any) => {
|
handle: (record: any) => {
|
||||||
console.log(record, 'record');
|
console.log(record, 'record');
|
||||||
|
const { projectId } = record;
|
||||||
|
getTree({ projectId: 'beijingDQ' });
|
||||||
serviceVisible.value = true;
|
serviceVisible.value = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -278,28 +302,19 @@ export const tableConfig = (visible) => {
|
|||||||
formConfig: {
|
formConfig: {
|
||||||
schemas: [
|
schemas: [
|
||||||
{
|
{
|
||||||
field: 'zuzhibianhao',
|
field: 'orgCode',
|
||||||
label: '组织ID',
|
label: '组织ID',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
|
||||||
maxLength: 20,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'jituanname',
|
field: 'cliqueName',
|
||||||
label: '集团名称',
|
label: '集团名称',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
|
||||||
maxLength: 20,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'zuzhiname',
|
field: 'orgName',
|
||||||
label: '组织名称',
|
label: '组织名称',
|
||||||
component: 'NsInput',
|
component: 'NsInput',
|
||||||
componentProps: {
|
|
||||||
maxLength: 20,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
|
@@ -5,54 +5,38 @@
|
|||||||
<ns-drawer v-bind="addDrawerConfig">
|
<ns-drawer v-bind="addDrawerConfig">
|
||||||
<ns-form ref="formRef" :schemas="formSchema" :model="formData" formLayout="vertical" />
|
<ns-form ref="formRef" :schemas="formSchema" :model="formData" formLayout="vertical" />
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<a-button style="margin-right: 8px" @click="onClose">取消</a-button>
|
<ns-button style="margin-right: 8px" @click="onClose">取消</ns-button>
|
||||||
<a-button type="primary" @click="onEdit">确定</a-button>
|
<ns-button type="primary" @click="operateForm" :disabled="!formDisabled">确定</ns-button>
|
||||||
</template>
|
</template>
|
||||||
</ns-drawer>
|
</ns-drawer>
|
||||||
<a-drawer
|
<ns-drawer
|
||||||
:width="600"
|
:width="600"
|
||||||
:visible="borderVisible"
|
:visible="borderVisible"
|
||||||
:body-style="{ paddingBottom: '80px' }"
|
:body-style="{ paddingBottom: '80px' }"
|
||||||
:footer-style="{ textAlign: 'right' }"
|
:footer-style="{ textAlign: 'right' }"
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
@close="onClose">
|
@close="onClose">
|
||||||
<a-button type="primary" @click="borderAdd">新增</a-button>
|
<ns-button type="primary" @click="borderAdd">新增</ns-button>
|
||||||
<a-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon"
|
<ns-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon"
|
||||||
>新增子集</a-button
|
>新增子集</ns-button
|
||||||
>
|
>
|
||||||
<a-directory-tree @select="handleSelect" multiple :tree-data="treeData">
|
<a-directory-tree @select="handleSelect" multiple :tree-data="treeData">
|
||||||
<template #title="{ title, key }">
|
<template #title="{ title, key }">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
<a-button type="link" @click="editTree(title, key)">编辑</a-button>
|
<ns-button type="link" @click="editTree(title, key)">编辑</ns-button>
|
||||||
<a-button type="link" danger @click="deleteTree(title, key)">删除</a-button>
|
<ns-button type="link" danger @click="deleteTree(title, key)">删除</ns-button>
|
||||||
</template>
|
</template>
|
||||||
</a-directory-tree>
|
</a-directory-tree>
|
||||||
</a-drawer>
|
</ns-drawer>
|
||||||
|
|
||||||
<a-drawer
|
<ns-drawer v-bind="serverDrawer">
|
||||||
:width="600"
|
<ns-input-search
|
||||||
:visible="serviceVisible"
|
|
||||||
:body-style="{ paddingBottom: '80px' }"
|
|
||||||
:footer-style="{ textAlign: 'right' }"
|
|
||||||
destroyOnClose
|
|
||||||
@close="onClose">
|
|
||||||
<a-input-search
|
|
||||||
placeholder="请选择开通模块"
|
placeholder="请选择开通模块"
|
||||||
v-model:value="searchValue"
|
v-model:value="searchValue"
|
||||||
style="margin-bottom: 8px"
|
style="margin-bottom: 8px"
|
||||||
@search="onSearch" />
|
@search="onSearch" />
|
||||||
<a-tree
|
<a-tree v-if="treeData?.length" v-model:checkedKeys="checkedKeys" v-bind="serverTree" />
|
||||||
:tree-data="treeData"
|
</ns-drawer>
|
||||||
v-model:checkedKeys="checkedKeys"
|
|
||||||
checkable
|
|
||||||
@select="ServiceSelect">
|
|
||||||
<template #title="{ title }">
|
|
||||||
{{ title }}
|
|
||||||
</template>
|
|
||||||
</a-tree>
|
|
||||||
<ns-button style="margin: 20px" type="primary" @click="onClose">取消</ns-button>
|
|
||||||
<ns-button type="primary" @click="Sure">确定</ns-button>
|
|
||||||
</a-drawer>
|
|
||||||
|
|
||||||
<TreeAdd ref="treeAdd" />
|
<TreeAdd ref="treeAdd" />
|
||||||
</template>
|
</template>
|
||||||
@@ -85,17 +69,98 @@
|
|||||||
const serviceVisible = ref(false);
|
const serviceVisible = ref(false);
|
||||||
const treeAddVisible = ref(false);
|
const treeAddVisible = ref(false);
|
||||||
const formSchema = formConfig;
|
const formSchema = formConfig;
|
||||||
|
const opType = ref<string>('add');
|
||||||
|
const calMap = {
|
||||||
|
add: enterPrise.save,
|
||||||
|
edit: enterPrise.edit,
|
||||||
|
};
|
||||||
|
const comApi = computed(() => {
|
||||||
|
return calMap[opType.value as keyof typeof calMap];
|
||||||
|
});
|
||||||
const tableConfig = computed(() => {
|
const tableConfig = computed(() => {
|
||||||
return insertConfig(visible);
|
return insertConfig({
|
||||||
|
visible,
|
||||||
|
formData,
|
||||||
|
opType,
|
||||||
|
getOrgRandomCode,
|
||||||
|
borderVisible,
|
||||||
|
serviceVisible,
|
||||||
|
server: {
|
||||||
|
getTree,
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const getOrgRandomCode = () => {
|
const getOrgRandomCode = () => {
|
||||||
http.post(enterPrise.getCode).then((res) => {
|
http.post(enterPrise.getCode).then((res) => {
|
||||||
formData.value.projectId = res.data;
|
formData.value.orgCode = res.data;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
getOrgRandomCode();
|
getOrgRandomCode();
|
||||||
|
|
||||||
|
const onClose = () => {
|
||||||
|
visible.value = false;
|
||||||
|
borderVisible.value = false;
|
||||||
|
serviceVisible.value = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 企业表单drawer
|
||||||
|
const addDrawerConfig = ref({
|
||||||
|
width: '520',
|
||||||
|
visible: visible,
|
||||||
|
footerStyle: { textAlign: 'right' },
|
||||||
|
destroyOnClose: true,
|
||||||
|
onClose: onClose,
|
||||||
|
});
|
||||||
|
|
||||||
|
const formDisabled = computed(() => {
|
||||||
|
return formRef.value?.validateResult;
|
||||||
|
});
|
||||||
|
|
||||||
|
//企业表单数据操作
|
||||||
|
const operateForm = () => {
|
||||||
|
formRef.value?.triggerSubmit().then((res) => {
|
||||||
|
console.log(formData.value, 'formData.value');
|
||||||
|
http.post(comApi.value, res).then(() => {
|
||||||
|
NsMessage.success('操作成功');
|
||||||
|
visible.value = false;
|
||||||
|
mainRef.value?.nsTableRef.reload();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 服务操作逻辑区域
|
||||||
|
const serverOK = () => {
|
||||||
|
serviceVisible.value = false;
|
||||||
|
};
|
||||||
|
const ServiceSelect = (selectedKeys: any, info: any) => {
|
||||||
|
console.log(selectedKeys, 'selectedKeys');
|
||||||
|
console.log(info, 'info');
|
||||||
|
};
|
||||||
|
|
||||||
|
const serverTree = ref({
|
||||||
|
checkable: true,
|
||||||
|
onSelect: ServiceSelect,
|
||||||
|
defaultExpandAll: true,
|
||||||
|
treeData: treeData,
|
||||||
|
fieldNames: { children: 'menus', title: 'label', key: 'code' },
|
||||||
|
});
|
||||||
|
|
||||||
|
const getTree = (params) => {
|
||||||
|
http.post(enterPrise.permissionTree, params).then((res) => {
|
||||||
|
treeData.value = res.data.data;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 开通服务模块drawer
|
||||||
|
const serverDrawer = ref({
|
||||||
|
width: '450',
|
||||||
|
visible: serviceVisible,
|
||||||
|
footerStyle: { textAlign: 'right' },
|
||||||
|
ok: serverOK,
|
||||||
|
cancel: onClose,
|
||||||
|
});
|
||||||
|
|
||||||
// drawer form
|
// drawer form
|
||||||
const opMap: any = {
|
const opMap: any = {
|
||||||
type: 'add',
|
type: 'add',
|
||||||
@@ -112,25 +177,6 @@
|
|||||||
console.log(info, 'info');
|
console.log(info, 'info');
|
||||||
};
|
};
|
||||||
|
|
||||||
const ServiceSelect = (selectedKeys: any, info: any) => {
|
|
||||||
console.log(selectedKeys, 'selectedKeys');
|
|
||||||
console.log(info, 'info');
|
|
||||||
};
|
|
||||||
|
|
||||||
const onClose = () => {
|
|
||||||
visible.value = false;
|
|
||||||
borderVisible.value = false;
|
|
||||||
serviceVisible.value = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const addDrawerConfig = ref({
|
|
||||||
width: '520',
|
|
||||||
visible: visible,
|
|
||||||
footerStyle: { textAlign: 'right' },
|
|
||||||
destroyOnClose: true,
|
|
||||||
onClose: onClose,
|
|
||||||
});
|
|
||||||
|
|
||||||
const borderAdd = () => {
|
const borderAdd = () => {
|
||||||
treeAddVisible.value = true;
|
treeAddVisible.value = true;
|
||||||
treeAdd.value?.toggle();
|
treeAdd.value?.toggle();
|
||||||
@@ -140,18 +186,6 @@
|
|||||||
treeAddVisible.value = true;
|
treeAddVisible.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
const onEdit = () => {
|
|
||||||
formRef.value?.triggerSubmit().then(() => {
|
|
||||||
console.log(formData.value, 'formData.value');
|
|
||||||
opMap.fuc && opMap.fuc(formData.value);
|
|
||||||
visible.value = false;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const Sure = () => {
|
|
||||||
serviceVisible.value = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const editTree = (title: any, key: any) => {
|
const editTree = (title: any, key: any) => {
|
||||||
console.log(title, 'title');
|
console.log(title, 'title');
|
||||||
console.log(key, 'key');
|
console.log(key, 'key');
|
||||||
|
@@ -74,7 +74,7 @@ export class NSAxios {
|
|||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
}, undefined);
|
}, undefined);
|
||||||
const errCodeArr = [13, 1, 3005];
|
|
||||||
const errCodeMap = new Map([
|
const errCodeMap = new Map([
|
||||||
[13, ''],
|
[13, ''],
|
||||||
[1, ''],
|
[1, ''],
|
||||||
@@ -91,7 +91,7 @@ export class NSAxios {
|
|||||||
NsMessage.error({
|
NsMessage.error({
|
||||||
content: msg,
|
content: msg,
|
||||||
key: this.errorMsgKey,
|
key: this.errorMsgKey,
|
||||||
onClose: JSON.parse(errCodeMap.get(code)!),
|
onClose: errCodeMap.get(code) && JSON.parse(errCodeMap.get(code)!)(),
|
||||||
});
|
});
|
||||||
return Promise.reject(res);
|
return Promise.reject(res);
|
||||||
}
|
}
|
||||||
|