Skip to content

Commit fa663af

Browse files
authored
Merge pull request #183 from zestfulyk/dev
feat(style): 为发布/编辑页面的组件添加了样式类名
2 parents 2ac1b13 + 873e363 commit fa663af

File tree

9 files changed

+80
-42
lines changed

9 files changed

+80
-42
lines changed

src/pages/DetailInfo/QuestionnaireSettings.vue

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div class="flex flex-col items-center">
3-
<div class="w-1/2 bg-gray-100 dark:bg-gray-700 border rounded-sm p-6 mb-20 shadow-md">
3+
<div class="mb-20 questionSettings">
44
<div class="flex items-center mt-15 ml-5 mb-15 px-10">
55
<h3 class="text-lg font-bold">
66
时间配置
@@ -32,7 +32,7 @@
3232
</div>
3333
</div>
3434

35-
<div class="w-1/2 bg-gray-100 dark:bg-gray-700 border rounded-sm p-6 mb-5 shadow-md">
35+
<div class="mb-5 questionSettings">
3636
<div class="flex items-center mt-15 ml-5 mb-15 px-10">
3737
<h3 class="text-lg font-bold">
3838
作答限制
@@ -57,7 +57,7 @@
5757
</div>
5858
</div>
5959

60-
<div v-if="schema.baseConfig.verify" class="w-1/2 bg-gray-100 dark:bg-gray-700 border rounded-sm p-6 mt-20 shadow-md">
60+
<div v-if="schema.baseConfig.verify" class="mt-20 questionSettings">
6161
<div class="flex items-center mt-15 ml-5 mb-15 px-10">
6262
<h3 class="text-lg font-bold">
6363
提交限制
@@ -100,4 +100,10 @@
100100
<script setup lang="ts">
101101
import { useEditStore } from "@/stores/edit";
102102
const { schema } = useEditStore();
103-
</script>
103+
</script>
104+
105+
<style scoped>
106+
.questionSettings {
107+
@apply w-1/2 bg-gray-100 dark:bg-gray-700 border rounded-sm p-6 shadow-md
108+
}
109+
</style>

src/pages/DetailInfo/leftMenu.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,28 @@
1111
<div class="flex flex-col justify-center p-20">
1212
<add-ques-button-panel ques-sort="输入类题型">
1313
<add-ques-button text="单行输入框" type="3">
14-
<img src="@/assets/input.svg" class="h-25 w-25">
14+
<img src="@/assets/input.svg" class="questionType">
1515
</add-ques-button>
1616
<add-ques-button text="多行输入框" type="4">
17-
<img src="@/assets/textarea.svg" class="h-25 w-25">
17+
<img src="@/assets/textarea.svg" class="questionType">
1818
</add-ques-button>
1919
</add-ques-button-panel>
2020
<el-divider />
2121
<add-ques-button-panel ques-sort="选择类题型">
2222
<add-ques-button text="单项选择" type="1">
23-
<img src="@/assets/radio.svg" class="h-25 w-25">
23+
<img src="@/assets/radio.svg" class="questionType">
2424
</add-ques-button>
2525
<add-ques-button text="多项选择" type="2">
26-
<img src="@/assets/checkbox.svg" class="h-25 w-25">
26+
<img src="@/assets/checkbox.svg" class="questionType">
2727
</add-ques-button>
2828
<!-- <add-ques-button text="投票" type="6">-->
29-
<!-- <img src="@/assets/vote.svg" class="h-25 w-25">-->
29+
<!-- <img src="@/assets/vote.svg" class="questionType">-->
3030
<!-- </add-ques-button>-->
3131
</add-ques-button-panel>
3232
<el-divider />
3333
<add-ques-button-panel ques-sort="上传类题型">
3434
<add-ques-button text="上传图片" type="5">
35-
<img src="@/assets/uploadPic.svg" class="h-25 w-25">
35+
<img src="@/assets/uploadPic.svg" class="questionType">
3636
</add-ques-button>
3737
</add-ques-button-panel>
3838
</div>
@@ -46,5 +46,7 @@ import AddQuesButton from "@/pages/DetailInfo/question/addQuesButton.vue";
4646
</script>
4747

4848
<style scoped>
49-
49+
.questionType {
50+
@apply h-25 w-25
51+
}
5052
</style>

src/pages/DetailInfo/question/checkbox.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
v-model="localTitle"
1010
type="text"
1111
placeholder="Question"
12-
class="rounded-none focus:outline-none dark:bg-customGray_more_shallow input input-bordered shadow-md w-350"
12+
class="questionCheckboxName w-350"
1313
>
1414
<div v-else class="w-350">
1515
{{ localTitle }}
@@ -25,7 +25,7 @@
2525
<input
2626
v-model="item.content"
2727
type="text"
28-
class="rounded-none focus:outline-none dark:bg-customGray_more_shallow input input-bordered h-40 shadow-md"
28+
class="questionCheckboxName h-40"
2929
placeholder="option"
3030
>
3131
<div class="ml-10 flex items-center gap-20">
@@ -208,5 +208,7 @@ watch(localOptions, (newOptions) => {
208208
</script>
209209

210210
<style scoped>
211-
211+
.questionCheckboxName {
212+
@apply rounded-none focus:outline-none dark:bg-customGray_more_shallow input input-bordered shadow-md
213+
}
212214
</style>

src/pages/DetailInfo/question/fill.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
v-model="localTitle"
1010
type="text"
1111
placeholder="Question"
12-
class="dark:bg-customGray_more_shallow input rounded-none h-40 focus:outline-none w-350"
12+
class="h-40 w-350 questionContent"
1313
>
1414
<div v-else>
1515
{{ localTitle }}
@@ -19,7 +19,7 @@
1919
</div>
2020
<div class="divider" />
2121
<div class="flex-col p-5 overflow-y-auto h-60">
22-
<input class="dark:bg-customGray_more_shallow input input-bordered rounded-none focus:outline-none w-full" :placeholder="pal">
22+
<input class="input-bordered w-full questionContent" :placeholder="pal">
2323
</div>
2424
</div>
2525
</template>
@@ -100,4 +100,7 @@ const pal = computed(() => {
100100
</script>
101101

102102
<style scoped>
103+
.questionContent {
104+
@apply dark:bg-customGray_more_shallow input rounded-none focus:outline-none
105+
}
103106
</style>

src/pages/DetailInfo/question/radio.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
v-model="localTitle"
1010
type="text"
1111
placeholder="Question"
12-
class="dark:bg-customGray_more_shallow input rounded-none h-40 focus:outline-none w-350"
12+
class="w-350 questionRadioName"
1313
>
1414
<div v-else>
1515
{{ localTitle }}
@@ -24,7 +24,7 @@
2424
<input
2525
v-model="item.content"
2626
type="text"
27-
class="dark:bg-customGray_more_shallow input input-bordered h-40 shadow-md rounded-none focus:outline-none"
27+
class="input-bordered shadow-md questionRadioName"
2828
placeholder="option"
2929
>
3030
<div class="ml-10 flex items-center gap-20">
@@ -185,4 +185,7 @@ watch(localOptions, (newOptions) => {
185185
</script>
186186

187187
<style scoped>
188-
</style>
188+
.questionRadioName {
189+
@apply dark:bg-customGray_more_shallow input rounded-none h-40 focus:outline-none
190+
}
191+
</style>

src/pages/DetailInfo/question/textArea.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
v-model="localTitle"
1010
type="text"
1111
placeholder="Question"
12-
class="rounded-none focus:outline-none dark:bg-customGray_more_shallow input input-bordered shadow-md w-350"
12+
class="questionTextInput input input-bordered w-350"
1313
>
1414
<div v-else class="w-350">
1515
{{ localTitle }}
@@ -18,7 +18,7 @@
1818
</div>
1919
</div>
2020
<div class="divider" />
21-
<textarea placeholder="Type here" class="rounded-none focus:outline-none dark:bg-customGray_more_shallow textarea textarea-bordered shadow-md w-full h-100" />
21+
<textarea placeholder="Type here" class="questionTextInput textarea textarea-bordered w-full h-100" />
2222
<!-- <div class="divider" />
2323
<div class="mt-20 flex justify-evenly items-center ">
2424
<button class="btn btn-error dark:opacity-75 shadow-md dark:text-white" @click="$emit('on-click')">
@@ -80,4 +80,7 @@ watch(localUnique, (newUnique) => {
8080
</script>
8181

8282
<style scoped>
83+
.questionTextInput {
84+
@apply rounded-none focus:outline-none dark:bg-customGray_more_shallow shadow-md
85+
}
8386
</style>

src/pages/DetailInfo/questionList.vue

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<div v-if="mode === 'ques'" class="bg-base-200 dark:bg-customGray flex-1 overflow-y-auto h-[80vh]">
44
<div v-if="schema && schema.quesConfig" class="flex-col justify-center p-20 pb-0">
55
<div class="flex justify-center items-center flex-col gap-10">
6-
<input v-model="schema.quesConfig.title" class="input bg-base-200 flex focus:bg-base-100 hover:border-gray-300 text-2xl w-[100%] text-center dark:bg-customGray" placeholder="问卷标题">
7-
<textarea v-model="schema.quesConfig.desc" class=" textarea bg-base-200 flex focus:bg-base-100 hover:border-gray-300 text-md w-[100%] resize-none dark:bg-customGray" placeholder="问卷描述" />
6+
<input v-model="schema.quesConfig.title" class="input questionHeader text-2xl text-center" placeholder="问卷标题">
7+
<textarea v-model="schema.quesConfig.desc" class=" textarea questionHeader text-md resize-none" placeholder="问卷描述" />
88
</div>
99
</div>
1010
<div class="divider" />
@@ -15,7 +15,7 @@
1515
@click="activeSerial = q.serialNum"
1616
>
1717
<div class="relative flex items-center gap-4 w-full dark:bg-[#1A1A1A]">
18-
<div v-if="q.quesSetting.questionType === QuesItemType.RADIO" class="flex-grow w-full">
18+
<div v-if="q.quesSetting.questionType === QuesItemType.RADIO" class="questionItems">
1919
<el-skeleton animated :loading="loading">
2020
<radio
2121
v-model:title="q.subject"
@@ -30,7 +30,7 @@
3030
/>
3131
</el-skeleton>
3232
</div>
33-
<div v-if="q.quesSetting.questionType === QuesItemType.CHECKBOX" class="flex-grow w-full">
33+
<div v-if="q.quesSetting.questionType === QuesItemType.CHECKBOX" class="questionItems">
3434
<el-skeleton animated :loading="loading">
3535
<template #template>
3636
<skeleton-card />
@@ -52,7 +52,7 @@
5252
</template>
5353
</el-skeleton>
5454
</div>
55-
<div v-if="q.quesSetting.questionType === QuesItemType.INPUT" class="flex-grow w-full">
55+
<div v-if="q.quesSetting.questionType === QuesItemType.INPUT" class="questionItems">
5656
<el-skeleton animated :loading="loading">
5757
<template #template>
5858
<skeleton-card />
@@ -71,7 +71,7 @@
7171
</template>
7272
</el-skeleton>
7373
</div>
74-
<div v-if="q.quesSetting.questionType === QuesItemType.TEXTAREA" class="flex-grow w-full">
74+
<div v-if="q.quesSetting.questionType === QuesItemType.TEXTAREA" class="questionItems">
7575
<el-skeleton :loading="loading">
7676
<template #template>
7777
<skeleton-card />
@@ -89,7 +89,7 @@
8989
</template>
9090
</el-skeleton>
9191
</div>
92-
<div v-if="q.quesSetting.questionType === QuesItemType.PHOTO" class="flex-grow w-full">
92+
<div v-if="q.quesSetting.questionType === QuesItemType.PHOTO" class="questionItems">
9393
<el-skeleton animated :loading="loading">
9494
<template #template>
9595
<skeleton-card />
@@ -111,22 +111,22 @@
111111
<div v-if="q.serialNum === activeSerial" class="flex flex-col gap-10">
112112
<button
113113
v-if="q.serialNum !== 1"
114-
class="rounded-full w-24 h-24 flex justify-center items-center bg-gray-300 hover:bg-gray-400 text-white transition-colors duration-200"
114+
class="questionButton"
115115
@click.stop="activeMove(activeSerial-1, 'up')"
116116
>
117117
118118
</button>
119119

120120
<button
121121
v-if="q.serialNum !== schema.quesConfig.questionList.length"
122-
class="rounded-full w-24 h-24 flex justify-center items-center bg-gray-300 hover:bg-gray-400 text-white transition-colors duration-200"
122+
class="questionButton"
123123
@click.stop="activeMove(activeSerial-1, 'down')"
124124
>
125125
126126
</button>
127127

128128
<button
129-
class="rounded-full w-24 h-24 flex justify-center items-center bg-gray-300 hover:bg-gray-400 text-white transition-colors duration-200"
129+
class="questionButton"
130130
@click.stop="activeDelete(activeSerial-1)"
131131
>
132132
x
@@ -139,15 +139,15 @@
139139
<div class="flex justify-center items-center gap-10 mt-10">
140140
<button
141141
v-show="isNew === 'true'"
142-
class="btn dark:opacity-75 dark:text-white btn-sm flex-1 bg-red-100 hover:bg-red-200 hover:border-red-300"
142+
class="btn btn-sm questionActionButton"
143143
style="border-radius: 0"
144144
@click="showModal('SaveQuestionnaireSubmit')"
145145
>
146146
保存
147147
</button>
148148
<button
149149
v-show="isNew === 'true'"
150-
class="btn btn-sm dark:opacity-75 dark:text-white flex-1 hover:bg-red-200 bg-red-100 hover:border-red-300"
150+
class="btn btn-sm questionActionButton"
151151
style="border-radius: 0"
152152
@click="showModal(surveyId === -1?'NewQuestionnaireSubmit':'SaveQuestionnaireSubmit')"
153153
>
@@ -288,4 +288,19 @@ const saveEdit = () => {
288288
}
289289
});
290290
};
291-
</script>
291+
</script>
292+
293+
<style scoped>
294+
.questionButton {
295+
@apply rounded-full w-24 h-24 flex justify-center items-center bg-gray-300 hover:bg-gray-400 text-white transition-colors duration-200
296+
}
297+
.questionHeader {
298+
@apply bg-base-200 flex focus:bg-base-100 hover:border-gray-300 w-[100%] dark:bg-customGray
299+
}
300+
.questionItems {
301+
@apply flex-grow w-full
302+
}
303+
.questionActionButton {
304+
@apply dark:opacity-75 dark:text-white flex-1 hover:bg-red-200 bg-red-100 hover:border-red-300
305+
}
306+
</style>

src/pages/DetailInfo/rightMenu.vue

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<div class="pl-16">
1414
<!-- 所有题型通用 -->
15-
<div class="text-sm font-medium">
15+
<div class="questionText">
1616
基础配置
1717
</div>
1818
<div class="pt-8">
@@ -40,7 +40,7 @@
4040
/>
4141
</div>
4242

43-
<div class="pt-16 text-sm font-medium">
43+
<div class="pt-16 questionText">
4444
引导介绍文案
4545
</div>
4646

@@ -55,7 +55,7 @@
5555

5656
<!-- 填空特殊逻辑 -->
5757
<div v-if="currentType === QuesItemType.INPUT || currentType === QuesItemType.TEXTAREA" class="pt-24">
58-
<div class="text-sm font-medium">
58+
<div class="questionText">
5959
内容格式限制
6060
</div>
6161
<div class="pt-16">
@@ -72,20 +72,20 @@
7272

7373
<!-- 多选特殊逻辑 -->
7474
<div v-if="currentType === QuesItemType.CHECKBOX" class="pt-24">
75-
<div class="text-sm font-medium">
75+
<div class="questionText">
7676
选项配置
7777
</div>
7878
<div class="pt-16">
7979
<div>
80-
<span class="text-sm font-medium pr-8">最少选择数</span>
80+
<span class="questionText pr-8">最少选择数</span>
8181
<el-input-number
8282
v-model="questionList[activeSerial - 1].quesSetting.minimumOption"
8383
min="0"
8484
:max="questionList[activeSerial - 1].quesSetting.maximumOption"
8585
/>
8686
</div>
8787
<div class="pt-10">
88-
<span class="text-sm font-medium pr-8">最多选择数</span>
88+
<span class="questionText pr-8">最多选择数</span>
8989
<el-input-number
9090
v-model="questionList[activeSerial - 1].quesSetting.maximumOption"
9191
:min="questionList[activeSerial - 1].quesSetting.minimumOption"
@@ -163,4 +163,8 @@ const addOption = (serialNum: number) => {
163163
164164
</script>
165165

166-
<style scoped></style>
166+
<style scoped>
167+
.questionText {
168+
@apply text-sm font-medium
169+
}
170+
</style>

src/pages/View/view.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ const checkAnswer = () => {
498498
if (q.answer.split("").length > q.quesSetting.maximumOption) {
499499
ElNotification.error(`该投票最多只能选择${q.quesSetting.maximumOption}个选项`);
500500
} else if (q.answer.split("").length < q.quesSetting.minimumOption) {
501-
ElNotification.error(`该投票最少需要选择${q.quesSetting.maximumOption}个选项`);
501+
ElNotification.error(`该投票最少需要选择${q.quesSetting.minimumOption}个选项`);
502502
}
503503
return true;
504504
}

0 commit comments

Comments
 (0)