style(css): 添加禁用状态样式并优化图标字体

- 为 primary-button 添加禁用状态样式- 更新 iconfont 字体文件和样式
- 优化 demo.css 文件中的样式规则
This commit is contained in:
陈昱达
2025-03-19 13:45:36 +08:00
parent e117ea8f7a
commit 969ea078bb
13 changed files with 177 additions and 140 deletions

8
components.d.ts vendored
View File

@@ -8,9 +8,15 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
Contenteditable: typeof import('./src/components/contenteditable.vue')['default']
ElButton: typeof import('element-plus/es')['ElButton']
ElDropdown: typeof import('element-plus/es')['ElDropdown']
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
ElInput: typeof import('element-plus/es')['ElInput']
ElOption: typeof import('element-plus/es')['ElOption']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElSpace: typeof import('element-plus/es')['ElSpace']
ElText: typeof import('element-plus/es')['ElText']
RichText: typeof import('./src/components/RichText.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
@@ -26,12 +32,14 @@ declare module 'vue' {
VanGrid: typeof import('vant/es')['Grid']
VanGridItem: typeof import('vant/es')['GridItem']
VanIcon: typeof import('vant/es')['Icon']
VanList: typeof import('vant/es')['List']
VanNavBar: typeof import('vant/es')['NavBar']
VanPicker: typeof import('vant/es')['Picker']
VanPopup: typeof import('vant/es')['Popup']
VanRadio: typeof import('vant/es')['Radio']
VanRadioGroup: typeof import('vant/es')['RadioGroup']
VanRow: typeof import('vant/es')['Row']
VanSearch: typeof import('vant/es')['Search']
VanStepper: typeof import('vant/es')['Stepper']
VanSwitch: typeof import('vant/es')['Switch']
VanTab: typeof import('vant/es')['Tab']

View File

@@ -248,3 +248,10 @@ input {
background-color: #fff !important;
color: #2dc26b !important;
}
.primary-button.van-button--disabled {
background-color: #d8d8d8 !important;
border: 1px solid #979797 !important;
color: #4b4b59 !important;
font-weight: unset !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

View File

@@ -4,17 +4,17 @@
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src:
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix')
format('embedded-opentype'),
format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont')
format('svg');
format('svg');
}
.logo {
font-style: normal;
font-size: 160px;
font-family: 'iconfont logo';
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
@@ -29,8 +29,8 @@
right: 0;
bottom: 0;
height: 42px;
color: #666;
line-height: 42px;
color: #666;
}
#tabs {
@@ -38,17 +38,17 @@
}
#tabs li {
position: relative;
z-index: 1;
cursor: pointer;
width: 100px;
height: 40px;
margin-bottom: -1px;
border-bottom: 2px solid transparent;
color: #666;
font-size: 16px;
line-height: 40px;
text-align: center;
cursor: pointer;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
@@ -62,25 +62,25 @@
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
padding: 30px 100px;
}
.main .logo {
overflow: hidden;
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
margin-bottom: 30px;
color: #333;
line-height: 1;
text-align: left;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
color: #333;
font-size: 160px;
color: #333;
}
.helps {
@@ -88,25 +88,25 @@
}
.helps pre {
overflow: auto;
margin: 10px 0;
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
overflow: hidden;
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-right: 20px;
margin-bottom: 10px;
list-style: none !important;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
@@ -117,10 +117,10 @@
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
font-size: 42px;
line-height: 100px;
-webkit-transition:
font-size 0.25s linear,
width 0.25s linear;
@@ -137,18 +137,15 @@
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentcolor;
}
.icon_lists li .name,
@@ -173,10 +170,10 @@
}
.markdown h1 {
margin-bottom: 24px;
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
@@ -184,10 +181,10 @@
.markdown h4,
.markdown h5,
.markdown h6 {
clear: both;
margin: 1.6em 0 0.6em;
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
@@ -215,11 +212,11 @@
}
.markdown hr {
clear: both;
height: 1px;
margin: 16px 0;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
@@ -262,8 +259,8 @@
.markdown code {
margin: 0 3px;
padding: 0 5px;
border-radius: 3px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
@@ -272,24 +269,24 @@
}
.markdown > table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
border: 1px solid #e9e9e9;
border-spacing: 0;
border-collapse: collapse;
empty-cells: show;
}
.markdown > table th {
white-space: nowrap;
color: #333;
font-weight: 600;
white-space: nowrap;
}
.markdown > table th,
.markdown > table td {
padding: 8px 16px;
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
@@ -298,11 +295,11 @@
}
.markdown blockquote {
margin: 1em 0;
padding-left: 0.8em;
border-left: 4px solid #e9e9e9;
color: #999;
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
@@ -310,9 +307,9 @@
}
.markdown .anchor {
margin-left: 8px;
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
@@ -325,8 +322,8 @@
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
display: inline-block;
opacity: 1;
display: inline-block;
}
.markdown > br,
@@ -336,10 +333,10 @@
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: white;
color: #333;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
@@ -375,7 +372,7 @@
}
.hljs-tag {
color: #333;
color: #333333;
}
.hljs-title,
@@ -388,13 +385,13 @@
}
.hljs-addition {
background-color: #eaffea;
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
background-color: #ffecec;
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
@@ -402,10 +399,8 @@
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
@@ -413,19 +408,21 @@ https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javasc
*/
code[class*='language-'],
pre[class*='language-'] {
background: none;
color: black;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
line-height: 1.5;
text-align: left;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-wrap: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
@@ -436,16 +433,16 @@ pre[class*='language-']::-moz-selection,
pre[class*='language-'] ::-moz-selection,
code[class*='language-']::-moz-selection,
code[class*='language-'] ::-moz-selection {
background: #b3d4fc;
text-shadow: none;
background: #b3d4fc;
}
pre[class*='language-']::selection,
pre[class*='language-'] ::selection,
code[class*='language-']::selection,
code[class*='language-'] ::selection {
background: #b3d4fc;
text-shadow: none;
background: #b3d4fc;
}
@media print {
@@ -457,9 +454,9 @@ code[class*='language-'] ::selection {
/* Code blocks */
pre[class*='language-'] {
overflow: auto;
margin: 0.5em 0;
padding: 1em;
margin: 0.5em 0;
overflow: auto;
}
:not(pre) > code[class*='language-'],
@@ -513,8 +510,8 @@ pre[class*='language-'] {
.token.url,
.language-css .token.string,
.style .token.string {
background: hsla(0deg, 0%, 100%, 0.5);
color: #9a6e3a;
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,

View File

@@ -1,155 +1,163 @@
@font-face {
font-family: mobilefont; /* Project id 4841764 */
font-family: 'mobilefont'; /* Project id 4841764 */
src:
url('iconfont.woff2?t=1742213166999') format('woff2'),
url('iconfont.woff?t=1742213166999') format('woff'),
url('iconfont.ttf?t=1742213166999') format('truetype');
url('iconfont.woff2?t=1742362531320') format('woff2'),
url('iconfont.woff?t=1742362531320') format('woff'),
url('iconfont.ttf?t=1742362531320') format('truetype');
}
.mobilefont {
font-style: normal;
font-family: 'mobilefont' !important;
font-size: 16px;
font-family: mobilefont !important;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.mobilefont-xiala::before {
.mobilefont-send:before {
content: '\e8a6';
}
.mobilefont-fasong:before {
content: '\e647';
}
.mobilefont-xiala:before {
content: '\e65b';
}
.mobilefont-upload::before {
.mobilefont-upload:before {
content: '\e682';
}
.mobilefont-shanchu1::before {
.mobilefont-shanchu1:before {
content: '\ed1b';
}
.mobilefont-left-long::before {
.mobilefont-left-long:before {
content: '\e601';
}
.mobilefont-rubber::before {
.mobilefont-rubber:before {
content: '\ea15';
}
.mobilefont-huabi::before {
.mobilefont-huabi:before {
content: '\e61f';
}
.mobilefont-chexiao::before {
.mobilefont-chexiao:before {
content: '\e6e2';
}
.mobilefont-shangchuan::before {
.mobilefont-shangchuan:before {
content: '\e613';
}
.mobilefont-qingkong::before {
.mobilefont-qingkong:before {
content: '\e6dc';
}
.mobilefont-jiacu::before {
.mobilefont-jiacu:before {
content: '\e71d';
}
.mobilefont-qingxie::before {
.mobilefont-qingxie:before {
content: '\e71e';
}
.mobilefont-xiahuaxian::before {
.mobilefont-xiahuaxian:before {
content: '\e720';
}
.mobilefont-tupian::before {
.mobilefont-tupian:before {
content: '\e730';
}
.mobilefont-del1::before {
.mobilefont-del1:before {
content: '\e637';
}
.mobilefont-gengduo::before {
.mobilefont-gengduo:before {
content: '\e600';
}
.mobilefont-delete1::before {
.mobilefont-delete1:before {
content: '\e66d';
}
.mobilefont-del::before {
.mobilefont-del:before {
content: '\e6f5';
}
.mobilefont-option::before {
.mobilefont-option:before {
content: '\e6ff';
}
.mobilefont-setting::before {
.mobilefont-setting:before {
content: '\e633';
}
.mobilefont-add::before {
.mobilefont-add:before {
content: '\e686';
}
.mobilefont-radiobox::before {
.mobilefont-radiobox:before {
content: '\e75b';
}
.mobilefont-juzhendafen::before {
.mobilefont-juzhendafen:before {
content: '\e641';
}
.mobilefont-checkbox-checked::before {
.mobilefont-checkbox-checked:before {
content: '\e6c3';
}
.mobilefont-nps::before {
.mobilefont-nps:before {
content: '\e6b0';
}
.mobilefont-input::before {
.mobilefont-input:before {
content: '\e6fd';
}
.mobilefont-juzhentiankong::before {
.mobilefont-juzhentiankong:before {
content: '\e62e';
}
.mobilefont-wenjianshangchuan::before {
.mobilefont-wenjianshangchuan:before {
content: '\e631';
}
.mobilefont-qianming::before {
.mobilefont-qianming:before {
content: '\e661';
}
.mobilefont-tuwen::before {
.mobilefont-tuwen:before {
content: '\e62c';
}
.mobilefont-juzhenduoxuan::before {
.mobilefont-juzhenduoxuan:before {
content: '\e818';
}
.mobilefont-juzhendanxuan::before {
.mobilefont-juzhendanxuan:before {
content: '\13c7f';
}
.mobilefont-edit2::before {
.mobilefont-edit2:before {
content: '\e630';
}
.mobilefont-copy::before {
.mobilefont-copy:before {
content: '\e632';
}
.mobilefont-delete::before {
.mobilefont-delete:before {
content: '\e63f';
}
.mobilefont-sort::before {
.mobilefont-sort:before {
content: '\e6a0';
}

File diff suppressed because one or more lines are too long

View File

@@ -5,6 +5,20 @@
"css_prefix_text": "mobilefont-",
"description": "",
"glyphs": [
{
"icon_id": "1665033",
"name": "send",
"font_class": "send",
"unicode": "e8a6",
"unicode_decimal": 59558
},
{
"icon_id": "6268305",
"name": "发送",
"font_class": "fasong",
"unicode": "e647",
"unicode_decimal": 58951
},
{
"icon_id": "6548548",
"name": "下拉",

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -30,7 +30,7 @@
src="../../../../assets/img/publish/phone.png"
alt=""
/>
<img v-else src="../../../../assets/img/publish/phone.png" alt="" />
<img v-else src="../../../../assets/img/publish/pc.png" alt="" />
{{ survey.source === 1 ? '移动端' : 'PC端' }} |
</div>
<div class="flex align-center">
@@ -61,7 +61,7 @@ import endPng from '@/assets/img/publish/end.png';
const survey = ref({
project_name: ''
});
const fetchSurveys = async() => {
const fetchSurveys = async () => {
const params = {
page: 1,
per_page: 10,

View File

@@ -36,7 +36,7 @@
<!-- 问卷来源 -->
<div class="flex align-center">
<img v-if="item.source === 1" src="../../assets/img/publish/phone.png" alt="" />
<img v-else src="../../assets/img/publish/phone.png" alt="" />
<img v-else src="../../assets/img/publish/pc.png" alt="" />
<el-text size="small">{{ item.source === 1 ? '移动端' : 'PC端' }}</el-text>
</div>
<!-- 问卷时间 -->
@@ -134,7 +134,7 @@ const onLoad = () => {
fetchSurveys();
}, 500);
};
const fetchSurveys = async() => {
const fetchSurveys = async () => {
const params = {
page: form.value.page,
per_page: form.value.pageSize,
@@ -172,7 +172,7 @@ const deleteItem = (item) => {
showCancelButton: true,
confirmButtonColor: '#03B03C'
})
.then(async() => {
.then(async () => {
const res = await deleteSurveys(item.sn);
if (res.data.message) {
showToast(res.data.message);
@@ -196,7 +196,7 @@ const copyItem = (item) => {
showCancelButton: true,
confirmButtonColor: '#03B03C'
})
.then(async() => {
.then(async () => {
const res = await copySurveys(item.sn);
if (res.data.code === 200 || res.data.code === 201) {
showSuccessToast('复制成功');
@@ -237,7 +237,7 @@ const editItem = (item) => {
});
};
// 保存为模板
const saveTemplate = async(item) => {
const saveTemplate = async (item) => {
const data = JSON.parse(JSON.stringify(item));
const res = await saveTemplates(item.sn, data);
if (res.data.code === 200 || res.data.code === 201) {

View File

@@ -112,6 +112,7 @@
<van-button
:key="1"
size="small"
class="primary-button"
plain
type="primary"
:disabled="activeActionButton"
@@ -123,6 +124,7 @@
size="small"
plain
type="primary"
class="primary-button"
:disabled="activeActionButton"
@click="previewQuestion"
>
@@ -133,7 +135,8 @@
</van-button>
<van-button
size="small"
icon="guide-o"
icon="send"
icon-prefix="mobilefont"
:disabled="activeActionButton"
@click="publishQuestion"
>
@@ -435,14 +438,14 @@ const questionEvent = (item) => {
options:
item.json.options.length > 0
? item.json.options.map((item) => {
return item.map((it) => {
return {
...it,
// 主键生成
id: uuidv4()
};
});
})
return item.map((it) => {
return {
...it,
// 主键生成
id: uuidv4()
};
});
})
: []
})
);
@@ -579,7 +582,7 @@ const previewQuestion = () => {
router.push({ name: 'preview', query: { ...route.query } });
};
onMounted(async() => {
onMounted(async () => {
await getQuestionDetail();
});
</script>
@@ -644,7 +647,7 @@ onMounted(async() => {
border-radius: 10px;
background-color: #70b937;
color: #fff;
font-weight: bold;
//font-weight: bold;
}
}