Browse Source

fix: 资源路径调整

main
xuziqiang 6 months ago
parent
commit
fbf460a620
  1. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22394.png
  2. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22394@2x.png
  3. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22396.png
  4. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22396@2x.png
  5. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22400.png
  6. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22400@2x.png
  7. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22419.png
  8. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22419@2x.png
  9. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/22549.png
  10. 0
      hx-ai-intelligent/public/asset/image/bulbLogo/bgsquare.png
  11. 417
      hx-ai-intelligent/src/view/equipmentControl/lightingManage/indexs.vue
  12. 2
      hx-ai-intelligent/vite.config.ts
  13. 1
      hx-op/src/api/origanizemanage.ts
  14. 83
      hx-op/src/view/organizationManage/enterpriseManage/config.ts
  15. 158
      hx-op/src/view/organizationManage/enterpriseManage/index.vue
  16. 4
      lib/util/http/axios.ts

0
hx-ai-intelligent/public/bulbLogo/组 22394.png → hx-ai-intelligent/public/asset/image/bulbLogo/22394.png

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22394@2x.png → hx-ai-intelligent/public/asset/image/bulbLogo/22394@2x.png

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22396.png → hx-ai-intelligent/public/asset/image/bulbLogo/22396.png

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22396@2x.png → hx-ai-intelligent/public/asset/image/bulbLogo/22396@2x.png

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22400.png → hx-ai-intelligent/public/asset/image/bulbLogo/22400.png

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22400@2x.png → hx-ai-intelligent/public/asset/image/bulbLogo/22400@2x.png

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22419.png → hx-ai-intelligent/public/asset/image/bulbLogo/22419.png

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22419@2x.png → hx-ai-intelligent/public/asset/image/bulbLogo/22419@2x.png

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

0
hx-ai-intelligent/public/bulbLogo/组 22549.png → hx-ai-intelligent/public/asset/image/bulbLogo/22549.png

Before

Width:  |  Height:  |  Size: 795 B

After

Width:  |  Height:  |  Size: 795 B

0
hx-ai-intelligent/public/bulbLogo/bgsquare.png → hx-ai-intelligent/public/asset/image/bulbLogo/bgsquare.png

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

417
hx-ai-intelligent/src/view/equipmentControl/lightingManage/indexs.vue

@ -4,25 +4,25 @@
<img src="../image/bg.jpg" />
<div class="bulbBox">
<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 class="wh100 bulbLogo2">
<img class="bulbImg" src="../../../../public/bulbLogo/组 22419.png" alt="" />
<img class="bulbImg" src="/asset/image/bulbLogo/22419.png" alt="" />
</div>
<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 class="wh100 bulbLogo4">
<img class="bulbImg" src="../../../../public/bulbLogo/组 22396.png" alt="" />
<img class="bulbImg" src="/asset/image/bulbLogo/22396.png" alt="" />
</div>
<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 class="wh100 bulbLogo6">
<img class="bulbImg" src="../../../../public/bulbLogo/组 22400.png" alt="" />
<img class="bulbImg" src="/asset/image/bulbLogo/22400.png" alt="" />
</div>
<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>
@ -40,8 +40,7 @@
placement="right"
:drawerStyle="{ background: 'rgba(0, 0, 0, 1)', opacity: 0.8 }"
:closable="false"
id="Odrawer"
>
id="Odrawer">
<div>
<a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="1" tab="控制面板">
@ -57,8 +56,7 @@
v-for="(button, index) in buttons"
:key="index"
:class="{ btn: true, selected: button === selectedButton }"
@click="selectButton(button)"
>
@click="selectButton(button)">
{{ button.label }}
</button>
</div>
@ -71,8 +69,7 @@
type="checkbox"
class="custom-checkbox"
v-model="selectAllCheckbox"
@change="toggleAllSelection"
/>
@change="toggleAllSelection" />
<span class="both" @click="selectAll">全选</span>
<button class="openplan">启用面板</button>
</div>
@ -83,8 +80,7 @@
v-for="(button2, index) in buttons2"
:key="index"
:class="{ btn: true, selected: button2.selected }"
@click="toggleSelection(button2)"
>
@click="toggleSelection(button2)">
{{ button2.label }}
</button>
</div>
@ -100,8 +96,7 @@
v-for="(button3, index) in controlbutton"
:key="index"
:class="{ btn: true, selected: button3.label === selectedButton3 }"
@click="selectButton3(button3)"
>
@click="selectButton3(button3)">
{{ button3.label }}
</button>
</div>
@ -118,8 +113,7 @@
v-for="(button4, index) in controlscenebuttons"
:key="index"
:class="{ btn: true, selected: button4.label === selectedButton4 }"
@click="selectButton4(button4)"
>
@click="selectButton4(button4)">
{{ button4.label }}
</button>
</div>
@ -147,7 +141,7 @@
<template v-if="column.dataIndex === 'name'">
<div class="editable-cell">
<span @click="showInfo(text)">
{{ text || " " }}
{{ text || ' ' }}
</span>
</div>
</template>
@ -176,8 +170,7 @@
<tr
v-for="(row, index) in dataSource1"
:key="index"
@click="handleRowClick(row.id, row.name, row.age)"
>
@click="handleRowClick(row.id, row.name, row.age)">
<td>{{ row.key }}</td>
<td>{{ row.data }}</td>
<td>{{ row.planname }}</td>
@ -199,8 +192,7 @@
height: '792px',
maxHeight: '792px',
boxSizing: 'borderBox',
}"
>
}">
<div style="height: 792px">
<div>
<div class="div-operation"></div>
@ -208,13 +200,8 @@
</div>
<div class="journal" style="margin-top: 20px">
<div class="imgText">
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />&nbsp;
<span
style="
font-size: 20px;
font-weight: 500;
color: rgba(255, 255, 255, 1);
"
<img src="/asset/image/bulbLogo/22549.png" alt="" />&nbsp;
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
>站厅照明 1</span
>
</div>
@ -236,24 +223,13 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制模式
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -273,25 +249,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
亮度
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>100lux</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>30lux</span
>
</div>
@ -311,25 +276,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制场景
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -349,25 +303,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
色温
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>4000k</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>3800k</span
>
</div>
@ -375,13 +318,8 @@
</div>
<div class="journal" style="margin-top: 20px">
<div class="imgText">
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />&nbsp;
<span
style="
font-size: 20px;
font-weight: 500;
color: rgba(255, 255, 255, 1);
"
<img src="/asset/image/bulbLogo/22549.png" alt="" />&nbsp;
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
>站厅照明 1</span
>
</div>
@ -403,24 +341,13 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制模式
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -440,25 +367,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
亮度
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>100lux</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>30lux</span
>
</div>
@ -478,25 +394,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制场景
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -516,25 +421,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
色温
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>4000k</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>3800k</span
>
</div>
@ -542,13 +436,8 @@
</div>
<div class="journal" style="margin-top: 20px">
<div class="imgText">
<img src="../../../../public/bulbLogo/组 22549.png" alt="" />&nbsp;
<span
style="
font-size: 20px;
font-weight: 500;
color: rgba(255, 255, 255, 1);
"
<img src="/asset/image/bulbLogo/22549.png" alt="" />&nbsp;
<span style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
>站厅照明 1</span
>
</div>
@ -570,24 +459,13 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制模式
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -607,25 +485,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
亮度
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>100lux</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>30lux</span
>
</div>
@ -645,25 +512,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
控制场景
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>手动</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>自动</span
>
</div>
@ -683,25 +539,14 @@
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
>
">
色温
</button>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>4000k</span
>
<span
style="
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
"
<span style="color: rgba(255, 255, 255, 1); font-size: 14px; font-weight: 400"
>3800k</span
>
</div>
@ -732,17 +577,17 @@
</template>
<script setup lang="ts">
import { ref } from "vue";
import { ref } from 'vue';
const toggleDrawer = () => {
visible.value = !visible.value;
};
//
const buttons = ref([
{ label: "A区", selected: false },
{ label: "B区", selected: false },
{ label: "C区", selected: false },
{ label: "D区", selected: false },
{ label: "计划启用", selected: false },
{ label: 'A区', selected: false },
{ label: 'B区', selected: false },
{ label: 'C区', selected: false },
{ label: 'D区', selected: false },
{ label: '计划启用', selected: false },
]);
const selectedButton = ref<Button | null>(null);
const selectButton = (button: Button) => {
@ -753,10 +598,10 @@ let singleSelection = true; // 默认为单选
const selectAllCheckbox = ref(false);
const showControlMode = ref(false);
const buttons2 = ref([
{ label: "1区", selected: false },
{ label: "2区", selected: false },
{ label: "3区", selected: false },
{ label: "4区", selected: false },
{ label: '1区', selected: false },
{ label: '2区', selected: false },
{ label: '3区', selected: false },
{ label: '4区', selected: false },
]);
const selectAll = () => {
singleSelection = !singleSelection;
@ -794,113 +639,113 @@ const toggleSelection = (button) => {
};
//
const selectedButton3 = ref("");
const selectedButton3 = ref('');
const showControlScene = ref(false);
const controlbutton = ref([
{ label: "托管", selected: false },
{ label: "AI", selected: false },
{ label: "手动", selected: false },
{ label: '托管', selected: false },
{ label: 'AI', selected: false },
{ label: '手动', selected: false },
]);
//
const selectedButton4 = ref("");
const selectedButton4 = 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) => {
selectedButton3.value = button3.label;
showControlScene.value = button3.label === "手动";
selectedButton4.value = ""; //
showControlScene.value = button3.label === '手动';
selectedButton4.value = ''; //
};
const selectButton4 = (button4) => {
selectedButton4.value = button4.label;
};
const columns = [
{
title: "序号",
dataIndex: "key",
title: '序号',
dataIndex: 'key',
},
{
title: "执行时间",
dataIndex: "data",
title: '执行时间',
dataIndex: 'data',
},
{
title: "计划名称",
dataIndex: "planname",
title: '计划名称',
dataIndex: 'planname',
},
{
title: "状态",
dataIndex: "status",
title: '状态',
dataIndex: 'status',
},
{
title: "状态",
dataIndex: "operation",
title: '状态',
dataIndex: 'operation',
},
];
const dataSource = ref([
{
key: "1",
data: "2024-05-01",
planname: "劳动节",
status: "暂停中",
key: '1',
data: '2024-05-01',
planname: '劳动节',
status: '暂停中',
},
{
key: "2",
data: "2024-05-01",
planname: "国庆节",
status: "待执行",
key: '2',
data: '2024-05-01',
planname: '国庆节',
status: '待执行',
},
{
key: "3",
data: "2024-05-01",
planname: "元旦",
status: "待执行",
key: '3',
data: '2024-05-01',
planname: '元旦',
status: '待执行',
},
]);
const columns1 = [
{
title: "序号",
dataIndex: "key",
title: '序号',
dataIndex: 'key',
},
{
title: "执行时间",
dataIndex: "data",
title: '执行时间',
dataIndex: 'data',
},
{
title: "操作内容",
dataIndex: "planname",
title: '操作内容',
dataIndex: 'planname',
},
{
title: "操作人",
dataIndex: "status",
title: '操作人',
dataIndex: 'status',
},
];
const dataSource1 = ref([
{
key: "1",
data: "2024-05-01",
planname: "计划再开",
status: "张三111",
key: '1',
data: '2024-05-01',
planname: '计划再开',
status: '张三111',
},
{
key: "2",
data: "2024-05-01",
planname: "检修模式",
status: "李四12",
key: '2',
data: '2024-05-01',
planname: '检修模式',
status: '李四12',
},
{
key: "3",
data: "2024-05-01",
planname: "设备变更",
status: "王五33",
key: '3',
data: '2024-05-01',
planname: '设备变更',
status: '王五33',
},
]);
//
const visible = ref(true);
const activeKey = ref("1");
const activeKey = ref('1');
const showDrawer = () => {
visible.value = true;
@ -911,7 +756,7 @@ const logModalVisible = ref(false);
const handleRowClick = (record: any, index: number) => {
//
console.log(record, "=================", index);
console.log(record, '=================', index);
//
logModalVisible.value = true;
};
@ -984,11 +829,7 @@ const closeLogModal = () => {
width: 110px;
height: 23px;
opacity: 1;
background: linear-gradient(
270deg,
rgba(86, 221, 253, 0) 0%,
rgba(25, 176, 255, 1) 100%
);
background: linear-gradient(270deg, rgba(86, 221, 253, 0) 0%, rgba(25, 176, 255, 1) 100%);
}
.lightareatab,
@ -1072,11 +913,7 @@ p {
}
.selected {
background: linear-gradient(
180deg,
rgba(201, 245, 255, 1) 0%,
rgba(138, 215, 255, 1) 100%
);
background: linear-gradient(180deg, rgba(201, 245, 255, 1) 0%, rgba(138, 215, 255, 1) 100%);
color: rgba(0, 61, 90, 1);
border: 1px solid rgba(255, 255, 255, 1);
}
@ -1475,7 +1312,7 @@ p {
}
.journal {
padding: 3% 10%;
background-image: url("../../../../public/bulbLogo/bgsquare.png");
background-image: url('/asset/image/bulbLogo/bgsquare.png');
background-size: 482px 177px;
width: 482px;
height: 177px;
@ -1489,7 +1326,7 @@ p {
margin-top: 10px;
}
.bulbLogo1 {
background-image: url("../../../../public/bulbLogo/bulbLogo1.png");
background-image: url('/asset/image/bulbLogo/bulbLogo1.png');
}
.imgText {
display: flex;

2
hx-ai-intelligent/vite.config.ts

@ -12,7 +12,7 @@ const proxy = {
changeOrigin: true,
},
'/carbon-smart': {
target: 'http://123.60.103.97:8224',
target: 'http://192.168.112.144:8224',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/carbon-smart/, ''),
},

1
hx-op/src/api/origanizemanage.ts

@ -10,4 +10,5 @@ export enum enterPrise {
freeze = `${BASE_URL}/admin/org/freeze`,
getCode = `${BASE_URL}/admin/org/getCode`,
queryRootAc = `${BASE_URL}/admin/org/queryRootAc`,
permissionTree = `${BASE_URL}/api/dept/permissionTree`,
}

83
hx-op/src/view/organizationManage/enterpriseManage/config.ts

@ -9,7 +9,13 @@ import { enterPrise } from '/@/api/origanizemanage';
type status = 'NORMAL' | 'FREEZE';
export const formConfig = [
{
field: 'projectId',
field: 'orgId',
label: '企业ID',
component: 'NsInput',
show: false,
},
{
field: 'orgCode',
label: '组织ID',
component: 'NsInput',
componentProps: {
@ -18,29 +24,21 @@ export const formConfig = [
rules: [
{
required: true,
message: '请输入组织编号',
trigger: 'blur',
},
],
},
{
field: 'jituanname',
field: 'orgName',
label: '企业名称',
component: 'NsInput',
componentProps: {
placeholder: '请输入企业名称',
placeholder: '请输入',
maxLength: 20,
},
rules: [
{
required: true,
message: '请输入企业名称',
trigger: 'blur',
},
],
rules: [{ required: true }],
},
{
field: 'jituanname',
field: 'cliqueName',
label: '集团名称',
component: 'NsInput',
componentProps: {
@ -52,10 +50,11 @@ export const formConfig = [
field: 'cityName',
label: '省市区',
component: 'NsCascader',
fieldMap: ['province', 'city', 'county'],
componentProps: {
placeholder: '请选择',
api: enterPrise.getArea,
fieldNames: { label: 'regionName', value: 'regionCode' },
fieldNames: { label: 'regionName', value: 'regionName' },
showSearch: true,
},
rules: [
@ -104,11 +103,24 @@ export const formConfig = [
message: '请输入联系电话',
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 {
// title: '企业管理',
api: enterPrise.list,
@ -118,6 +130,9 @@ export const tableConfig = (visible) => {
name: 'RoleTypeAdd',
type: 'primary',
handle: () => {
formData.value = {};
opType.value = 'add';
getOrgRandomCode && getOrgRandomCode();
visible.value = true;
},
},
@ -135,15 +150,19 @@ export const tableConfig = (visible) => {
},
{
title: '组织ID',
dataIndex: 'projectId',
dataIndex: 'orgCode',
},
{
title: '集团名称',
dataIndex: 'cliqueName',
textNumber: 8,
textEllipsis: true,
},
{
title: '组织名称',
dataIndex: 'orgName',
textNumber: 8,
textEllipsis: true,
},
{
title: '状态',
@ -157,12 +176,16 @@ export const tableConfig = (visible) => {
dataIndex: 'area',
customRender: ({ record }) => {
const { province = '', city = '', county = '' } = record;
return `${province}/${city}/${county}`;
const result = [province, city];
county && result.push(county);
return result.join('/');
},
},
{
title: '地址',
dataIndex: 'address',
textNumber: 8,
textEllipsis: true,
},
{
title: '联系人',
@ -181,12 +204,11 @@ export const tableConfig = (visible) => {
label: '编辑',
name: 'RoleTypeEdit',
handle: (record: any) => {
console.log(record, 'record');
const { province, city, county } = record;
formData.value = record;
opMap.type = 'edit';
opMap.fuc = (formData: any) => {
Object.assign(mockData.value.filter((item) => item.id === record.id)[0], formData);
};
formData.value.cityName = [province, city];
county && formData.value.cityName.push(county);
opType.value = 'edit';
visible.value = true;
},
},
@ -201,6 +223,8 @@ export const tableConfig = (visible) => {
label: '服务',
handle: (record: any) => {
console.log(record, 'record');
const { projectId } = record;
getTree({ projectId: 'beijingDQ' });
serviceVisible.value = true;
},
},
@ -278,28 +302,19 @@ export const tableConfig = (visible) => {
formConfig: {
schemas: [
{
field: 'zuzhibianhao',
field: 'orgCode',
label: '组织ID',
component: 'NsInput',
componentProps: {
maxLength: 20,
},
},
{
field: 'jituanname',
field: 'cliqueName',
label: '集团名称',
component: 'NsInput',
componentProps: {
maxLength: 20,
},
},
{
field: 'zuzhiname',
field: 'orgName',
label: '组织名称',
component: 'NsInput',
componentProps: {
maxLength: 20,
},
},
{
field: 'status',

158
hx-op/src/view/organizationManage/enterpriseManage/index.vue

@ -5,54 +5,38 @@
<ns-drawer v-bind="addDrawerConfig">
<ns-form ref="formRef" :schemas="formSchema" :model="formData" formLayout="vertical" />
<template #footer>
<a-button style="margin-right: 8px" @click="onClose">取消</a-button>
<a-button type="primary" @click="onEdit">确定</a-button>
<ns-button style="margin-right: 8px" @click="onClose">取消</ns-button>
<ns-button type="primary" @click="operateForm" :disabled="!formDisabled">确定</ns-button>
</template>
</ns-drawer>
<a-drawer
<ns-drawer
:width="600"
:visible="borderVisible"
:body-style="{ paddingBottom: '80px' }"
:footer-style="{ textAlign: 'right' }"
destroyOnClose
@close="onClose">
<a-button type="primary" @click="borderAdd">新增</a-button>
<a-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon"
>新增子集</a-button
<ns-button type="primary" @click="borderAdd">新增</ns-button>
<ns-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon"
>新增子集</ns-button
>
<a-directory-tree @select="handleSelect" multiple :tree-data="treeData">
<template #title="{ title, key }">
{{ title }}
<a-button type="link" @click="editTree(title, key)">编辑</a-button>
<a-button type="link" danger @click="deleteTree(title, key)">删除</a-button>
<ns-button type="link" @click="editTree(title, key)">编辑</ns-button>
<ns-button type="link" danger @click="deleteTree(title, key)">删除</ns-button>
</template>
</a-directory-tree>
</a-drawer>
</ns-drawer>
<a-drawer
:width="600"
:visible="serviceVisible"
:body-style="{ paddingBottom: '80px' }"
:footer-style="{ textAlign: 'right' }"
destroyOnClose
@close="onClose">
<a-input-search
<ns-drawer v-bind="serverDrawer">
<ns-input-search
placeholder="请选择开通模块"
v-model:value="searchValue"
style="margin-bottom: 8px"
@search="onSearch" />
<a-tree
:tree-data="treeData"
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>
<a-tree v-if="treeData?.length" v-model:checkedKeys="checkedKeys" v-bind="serverTree" />
</ns-drawer>
<TreeAdd ref="treeAdd" />
</template>
@ -85,52 +69,114 @@
const serviceVisible = ref(false);
const treeAddVisible = ref(false);
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(() => {
return insertConfig(visible);
return insertConfig({
visible,
formData,
opType,
getOrgRandomCode,
borderVisible,
serviceVisible,
server: {
getTree,
},
});
});
const getOrgRandomCode = () => {
http.post(enterPrise.getCode).then((res) => {
formData.value.projectId = res.data;
formData.value.orgCode = res.data;
});
};
getOrgRandomCode();
// drawer form
const opMap: any = {
type: 'add',
fuc: () => {},
record: {},
const onClose = () => {
visible.value = false;
borderVisible.value = false;
serviceVisible.value = false;
};
watch(checkedKeys, () => {
console.log('checkedKeys', checkedKeys.value);
// drawer
const addDrawerConfig = ref({
width: '520',
visible: visible,
footerStyle: { textAlign: 'right' },
destroyOnClose: true,
onClose: onClose,
});
const handleSelect = (selectedKeys: any, info: any) => {
console.log(selectedKeys, 'selectedKeys');
console.log(info, 'info');
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 onClose = () => {
visible.value = false;
borderVisible.value = false;
serviceVisible.value = false;
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;
});
};
const addDrawerConfig = ref({
width: '520',
visible: visible,
// drawer
const serverDrawer = ref({
width: '450',
visible: serviceVisible,
footerStyle: { textAlign: 'right' },
destroyOnClose: true,
onClose: onClose,
ok: serverOK,
cancel: onClose,
});
// drawer form
const opMap: any = {
type: 'add',
fuc: () => {},
record: {},
};
watch(checkedKeys, () => {
console.log('checkedKeys', checkedKeys.value);
});
const handleSelect = (selectedKeys: any, info: any) => {
console.log(selectedKeys, 'selectedKeys');
console.log(info, 'info');
};
const borderAdd = () => {
treeAddVisible.value = true;
treeAdd.value?.toggle();
@ -140,18 +186,6 @@
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) => {
console.log(title, 'title');
console.log(key, 'key');

4
lib/util/http/axios.ts

@ -74,7 +74,7 @@ export class NSAxios {
}
return config;
}, undefined);
const errCodeArr = [13, 1, 3005];
const errCodeMap = new Map([
[13, ''],
[1, ''],
@ -91,7 +91,7 @@ export class NSAxios {
NsMessage.error({
content: msg,
key: this.errorMsgKey,
onClose: JSON.parse(errCodeMap.get(code)!),
onClose: errCodeMap.get(code) && JSON.parse(errCodeMap.get(code)!)(),
});
return Promise.reject(res);
}

Loading…
Cancel
Save