feat: 新增包装测试

This commit is contained in:
钱冠学
2024-11-14 13:57:36 +08:00
parent 50a903f5bb
commit 47f36eef18
12 changed files with 67 additions and 21 deletions

View File

@@ -54,6 +54,12 @@
<div class="content unicode" style="display: block;"> <div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box"> <ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe875;</span>
<div class="name">fuzhilianjie</div>
<div class="code-name">&amp;#xe875;</div>
</li>
<li class="dib"> <li class="dib">
<span class="icon iconfont">&#xe871;</span> <span class="icon iconfont">&#xe871;</span>
<div class="name">基础配置</div> <div class="name">基础配置</div>
@@ -3570,9 +3576,9 @@
<pre><code class="language-css" <pre><code class="language-css"
>@font-face { >@font-face {
font-family: 'iconfont'; font-family: 'iconfont';
src: url('iconfont.woff2?t=1730188765240') format('woff2'), src: url('iconfont.woff2?t=1731561135018') format('woff2'),
url('iconfont.woff?t=1730188765240') format('woff'), url('iconfont.woff?t=1731561135018') format('woff'),
url('iconfont.ttf?t=1730188765240') format('truetype'); url('iconfont.ttf?t=1731561135018') format('truetype');
} }
</code></pre> </code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -3598,6 +3604,15 @@
<div class="content font-class"> <div class="content font-class">
<ul class="icon_lists dib-box"> <ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-fuzhilianjie"></span>
<div class="name">
fuzhilianjie
</div>
<div class="code-name">.icon-fuzhilianjie
</div>
</li>
<li class="dib"> <li class="dib">
<span class="icon iconfont icon-rongqi13"></span> <span class="icon iconfont icon-rongqi13"></span>
<div class="name"> <div class="name">
@@ -8872,6 +8887,14 @@
<div class="content symbol"> <div class="content symbol">
<ul class="icon_lists dib-box"> <ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fuzhilianjie"></use>
</svg>
<div class="name">fuzhilianjie</div>
<div class="code-name">#icon-fuzhilianjie</div>
</li>
<li class="dib"> <li class="dib">
<svg class="icon svg-icon" aria-hidden="true"> <svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-rongqi13"></use> <use xlink:href="#icon-rongqi13"></use>

View File

@@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 3121635 */ font-family: "iconfont"; /* Project id 3121635 */
src: url('iconfont.woff2?t=1730188765240') format('woff2'), src: url('iconfont.woff2?t=1731561135018') format('woff2'),
url('iconfont.woff?t=1730188765240') format('woff'), url('iconfont.woff?t=1731561135018') format('woff'),
url('iconfont.ttf?t=1730188765240') format('truetype'); url('iconfont.ttf?t=1731561135018') format('truetype');
} }
.iconfont { .iconfont {
@@ -13,6 +13,10 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-fuzhilianjie:before {
content: "\e875";
}
.icon-rongqi13:before { .icon-rongqi13:before {
content: "\e871"; content: "\e871";
} }

File diff suppressed because one or more lines are too long

View File

@@ -5,6 +5,13 @@
"css_prefix_text": "icon-", "css_prefix_text": "icon-",
"description": "调研猩球前台icon", "description": "调研猩球前台icon",
"glyphs": [ "glyphs": [
{
"icon_id": "42448281",
"name": "fuzhilianjie",
"font_class": "fuzhilianjie",
"unicode": "e875",
"unicode_decimal": 59509
},
{ {
"icon_id": "42266698", "icon_id": "42266698",
"name": "基础配置", "name": "基础配置",

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -372,6 +372,12 @@ async function getReportStatus() {
startLooping(); startLooping();
} }
const reportRef = ref(null);
function setGroup(...rest) {
reportRef?.value?.setGroup(...rest);
}
</script> </script>
<template> <template>
@@ -390,9 +396,10 @@ async function getReportStatus() {
:saving="saving" :saving="saving"
:updating="updating" :updating="updating"
@regenerate="onUpdateReport()" @regenerate="onUpdateReport()"
@set-group="setGroup"
/> />
<Report :report="report" :updating="updating" @change="editReport" /> <Report ref="reportRef" :report="report" :updating="updating" @change="editReport" />
</template> </template>
</div> </div>
</template> </template>

View File

@@ -13,7 +13,7 @@ import { selectionList, sectionIds } from '../consts';
import useCopy from '@/composables/useCopy'; import useCopy from '@/composables/useCopy';
const route = useRoute(); const route = useRoute();
const emits = defineEmits(['regenerate']); const emits = defineEmits(['regenerate', 'set-group']);
const props = defineProps({ const props = defineProps({
report: { type: Object, default: () => Object.assign({}) }, report: { type: Object, default: () => Object.assign({}) },
saving: { type: Number, default: 0 }, saving: { type: Number, default: 0 },
@@ -157,6 +157,7 @@ function checkIntegrity() {
// errorMsg += res.map((item) => item[dataIndex]).join('、'); // errorMsg += res.map((item) => item[dataIndex]).join('、');
// errorMsg += '' // errorMsg += ''
scrollTo(sectionIds.decisionIndicators); scrollTo(sectionIds.decisionIndicators);
emits('set-group', group);
message.warning('决策标准达标情况未填写完整,请检查后重试!'); message.warning('决策标准达标情况未填写完整,请检查后重试!');
return false; return false;
@@ -323,8 +324,7 @@ function onUpdateReport() {
<div class="row flex-end mt-18 mb-0"> <div class="row flex-end mt-18 mb-0">
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<a-button class="custom-button copy-button" @click="onCopy"> <a-button class="custom-button copy-button" @click="onCopy">
<img src="@/assets/img/publish/copy_icon.png" alt="" class="icon static"> <i class="icon iconfont icon-fuzhilianjie" />
<img src="@/assets/img/publish/copy_icon_active.png" alt="" class="icon active">
<span>复制链接和密码</span> <span>复制链接和密码</span>
</a-button> </a-button>
</a-spin> </a-spin>
@@ -571,16 +571,9 @@ function onUpdateReport() {
.icon { .icon {
width: 16px; width: 16px;
height: 16px; height: 16px;
line-height: 16px;
margin-right: 6px; margin-right: 6px;
} }
&:hover .icon.static {
display: none;
}
&:not(:hover) .icon.active {
display: none;
}
} }
} }
</style> </style>

View File

@@ -138,6 +138,7 @@ export const switchTypeEnum = {
export const defaultSectionEmits = ['change', 'switch']; export const defaultSectionEmits = ['change', 'switch'];
export const defaultSectionProps = { export const defaultSectionProps = {
report: { type: Object, default: () => Object.assign({}) }, report: { type: Object, default: () => Object.assign({}) },
groupId: { type: [String, Number], default: undefined },
readonly: { type: Boolean, default: false }, readonly: { type: Boolean, default: false },
updating: { type: Boolean, default: false } // 报告更新中 updating: { type: Boolean, default: false } // 报告更新中
}; };

View File

@@ -1,5 +1,5 @@
<script setup> <script setup>
import { computed, defineEmits, defineProps, ref } from 'vue'; import { computed, defineEmits, defineExpose, defineProps, ref } from 'vue';
import Overview from './section/Overview.vue'; import Overview from './section/Overview.vue';
import ProjectNameAndDecisionCriteria from './section/ProjectNameAndDecisionCriteria.vue'; import ProjectNameAndDecisionCriteria from './section/ProjectNameAndDecisionCriteria.vue';
@@ -118,6 +118,14 @@ function onSwitch(evt) {
break; break;
} }
} }
function setGroup(group) {
if (group?.group) {
groupId.value = group.group;
}
}
defineExpose({ setGroup });
</script> </script>
<template> <template>
@@ -129,6 +137,7 @@ function onSwitch(evt) {
:report="report" :report="report"
:readonly="readonly" :readonly="readonly"
:updating="updating" :updating="updating"
:group-id="groupId"
@change="onChange" @change="onChange"
@switch="onSwitch" @switch="onSwitch"
/> />

View File

@@ -9,7 +9,7 @@ const props = defineProps(defaultSectionProps);
const groupList = computed(() => props.report?.groupList || [props.report]); const groupList = computed(() => props.report?.groupList || [props.report]);
const showGroupList = computed(() => groupList.value?.length > 1); const showGroupList = computed(() => groupList.value?.length > 1);
const activeId = ref(); const activeId = ref(props.groupId || null);
watch( watch(
groupList, groupList,
@@ -23,6 +23,8 @@ watch(
} }
); );
watch(() => props.groupId, () => activeId.value = props.groupId)
function onActive(item) { function onActive(item) {
activeId.value = item.group; activeId.value = item.group;
emits('switch', { type: switchTypeEnum.group, group: item.group }); emits('switch', { type: switchTypeEnum.group, group: item.group });