|
@@ -1,15 +1,45 @@
|
|
|
<script setup>
|
|
|
import { propertyData } from "../configs/properites";
|
|
|
import TitleHeader from "@/views/modules/project-config/com/titleHeader.vue";
|
|
|
+
|
|
|
+import { useCommonStoreHook } from "@/store";
|
|
|
+import { getProjectById, getTestProjectList } from "@/api/project/index";
|
|
|
+const { currentProjectId } = toRefs(useCommonStoreHook());
|
|
|
+
|
|
|
const emits = defineEmits(["onClickItem"]);
|
|
|
|
|
|
-// 当点击了项目
|
|
|
-const handleClickItem = (item) => {
|
|
|
- emits("onClickItem", item);
|
|
|
-};
|
|
|
const router = useRouter();
|
|
|
const goGlobalConfig = () => {
|
|
|
- router.push({ path: "/global-config" });
|
|
|
+ router.push({
|
|
|
+ name: "GlobalConfig",
|
|
|
+ params: { engineerId: currentProjectId.value },
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
+// 当前正在配置的项目信息
|
|
|
+const currentProject = ref();
|
|
|
+onMounted(() => {
|
|
|
+ getProjectById(currentProjectId.value).then((res) => {
|
|
|
+ currentProject.value = res.data;
|
|
|
+ toGetTestProjectList();
|
|
|
+ });
|
|
|
+});
|
|
|
+
|
|
|
+const testProjectList = ref([]);
|
|
|
+const currentSelectedTestProject = ref();
|
|
|
+const toGetTestProjectList = () => {
|
|
|
+ // 获取完配置工程信息后,获取测试项目列表
|
|
|
+ getTestProjectList({
|
|
|
+ engineeringId: currentProject.value.engineeringId,
|
|
|
+ }).then((res) => {
|
|
|
+ testProjectList.value = res.data ?? [];
|
|
|
+ });
|
|
|
+};
|
|
|
+// 当点击了项目
|
|
|
+const clickTestProjectItem = (item) => {
|
|
|
+ let data = JSON.parse(JSON.stringify(item));
|
|
|
+ emits("onClickItem", data);
|
|
|
+ currentSelectedTestProject.value = data;
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -19,22 +49,22 @@ const goGlobalConfig = () => {
|
|
|
|
|
|
<div class="project-msg-item">
|
|
|
<span class="text-l">产品:</span>
|
|
|
- <span class="text-r">{{ "控制面板" }}</span>
|
|
|
+ <span class="text-r">{{ currentProject?.engineeringProductName }}</span>
|
|
|
<span class="edit">
|
|
|
<svg-icon icon-class="homeIcon2" />
|
|
|
</span>
|
|
|
</div>
|
|
|
<div class="project-msg-item">
|
|
|
<span class="text-l">工程类型:</span
|
|
|
- ><span class="text-r">{{ "控制面板" }}</span>
|
|
|
+ ><span class="text-r">{{ currentProject?.engineeringType }}</span>
|
|
|
</div>
|
|
|
<div class="project-msg-item">
|
|
|
<span class="text-l">版本:</span
|
|
|
- ><span class="text-r">{{ "控制面板" }}</span>
|
|
|
+ ><span class="text-r">{{ currentProject?.engineeringVersion }}</span>
|
|
|
</div>
|
|
|
<div class="project-msg-item">
|
|
|
- <span class="text-l">创建时间:</span
|
|
|
- ><span class="text-r">{{ "控制面板" }}</span>
|
|
|
+ <!-- <span class="text-l">更新时间:</span>-->
|
|
|
+ <span class="text-r">{{ currentProject?.updated }}</span>
|
|
|
</div>
|
|
|
|
|
|
<div class="project-all-config" @click="goGlobalConfig">
|
|
@@ -54,11 +84,16 @@ const goGlobalConfig = () => {
|
|
|
<el-scrollbar>
|
|
|
<div
|
|
|
class="project-list-item"
|
|
|
- v-for="item in 20"
|
|
|
- :key="index"
|
|
|
- @click="handleClickItem(item)"
|
|
|
+ :class="[
|
|
|
+ item.id === currentSelectedTestProject?.id
|
|
|
+ ? 'selected-item'
|
|
|
+ : 'normal-item',
|
|
|
+ ]"
|
|
|
+ v-for="item in testProjectList"
|
|
|
+ :key="item.id"
|
|
|
+ @click="clickTestProjectItem(item)"
|
|
|
>
|
|
|
- {{ item }}
|
|
|
+ {{ item.projectName }}
|
|
|
</div>
|
|
|
</el-scrollbar>
|
|
|
</div>
|
|
@@ -145,17 +180,30 @@ const goGlobalConfig = () => {
|
|
|
overflow-y: auto;
|
|
|
.project-list-item {
|
|
|
cursor: pointer;
|
|
|
- font-size: var(--hj-fs-12);
|
|
|
- color: var(--hj-white-1);
|
|
|
+
|
|
|
margin: 0 12px;
|
|
|
margin-bottom: 12px;
|
|
|
height: 36px;
|
|
|
line-height: 36px;
|
|
|
text-align: center;
|
|
|
- background: rgba(59, 124, 255, 0.5);
|
|
|
+
|
|
|
border-radius: 4px 4px 4px 4px;
|
|
|
border: 1px solid #3b7cff;
|
|
|
}
|
|
|
+
|
|
|
+ .normal-item {
|
|
|
+ background-color: transparent;
|
|
|
+ color: $hj-white-3;
|
|
|
+ font-weight: normal;
|
|
|
+ font-size: var(--hj-fs-12);
|
|
|
+ }
|
|
|
+
|
|
|
+ .selected-item {
|
|
|
+ background: rgba(59, 124, 255, 0.5);
|
|
|
+ color: $hj-white-1;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: var(--hj-fs-14);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|