diff --git a/components.d.ts b/components.d.ts index c2bd3c8..f8ab87f 100644 --- a/components.d.ts +++ b/components.d.ts @@ -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'] diff --git a/src/assets/css/public.scss b/src/assets/css/public.scss index 3734a0f..6da8330 100644 --- a/src/assets/css/public.scss +++ b/src/assets/css/public.scss @@ -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; +} diff --git a/src/assets/img/publish/pc.png b/src/assets/img/publish/pc.png new file mode 100644 index 0000000..0c6685c Binary files /dev/null and b/src/assets/img/publish/pc.png differ diff --git a/src/fonts/moblie/demo.css b/src/fonts/moblie/demo.css index 12ec742..8a05f6e 100644 --- a/src/fonts/moblie/demo.css +++ b/src/fonts/moblie/demo.css @@ -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, diff --git a/src/fonts/moblie/iconfont.css b/src/fonts/moblie/iconfont.css index 1e502ec..b835128 100644 --- a/src/fonts/moblie/iconfont.css +++ b/src/fonts/moblie/iconfont.css @@ -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'; } diff --git a/src/fonts/moblie/iconfont.js b/src/fonts/moblie/iconfont.js index 405cd59..192038b 100644 --- a/src/fonts/moblie/iconfont.js +++ b/src/fonts/moblie/iconfont.js @@ -1,13 +1,13 @@ (window._iconfont_svg_string_4841764 = - ''), + ''), ((t) => { var l = (a = (a = document.getElementsByTagName('script'))[a.length - 1]).getAttribute( 'data-injectcss' ), a = a.getAttribute('data-disable-injectsvg'); if (!a) { - var o, - c, + var c, + o, i, h, e, @@ -24,7 +24,7 @@ console && console.log(l); } } - (o = function () { + (c = function () { var l, a = document.createElement('div'); (a.innerHTML = t._iconfont_svg_string_4841764), @@ -39,16 +39,16 @@ }), document.addEventListener ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) - ? setTimeout(o, 0) - : ((c = function () { - document.removeEventListener('DOMContentLoaded', c, !1), o(); + ? setTimeout(c, 0) + : ((o = function () { + document.removeEventListener('DOMContentLoaded', o, !1), c(); }), - document.addEventListener('DOMContentLoaded', c, !1)) + document.addEventListener('DOMContentLoaded', o, !1)) : document.attachEvent && - ((i = o), + ((i = c), (h = t.document), (e = !1), - n(), + s(), (h.onreadystatechange = function () { 'complete' == h.readyState && ((h.onreadystatechange = null), d()); })); @@ -56,11 +56,11 @@ function d() { e || ((e = !0), i()); } - function n() { + function s() { try { h.documentElement.doScroll('left'); } catch (l) { - return void setTimeout(n, 50); + return void setTimeout(s, 50); } d(); } diff --git a/src/fonts/moblie/iconfont.json b/src/fonts/moblie/iconfont.json index 05fbb32..24b813c 100644 --- a/src/fonts/moblie/iconfont.json +++ b/src/fonts/moblie/iconfont.json @@ -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": "下拉", diff --git a/src/fonts/moblie/iconfont.ttf b/src/fonts/moblie/iconfont.ttf index 40b3156..f8887ac 100644 Binary files a/src/fonts/moblie/iconfont.ttf and b/src/fonts/moblie/iconfont.ttf differ diff --git a/src/fonts/moblie/iconfont.woff b/src/fonts/moblie/iconfont.woff index e8e0ed6..b313875 100644 Binary files a/src/fonts/moblie/iconfont.woff and b/src/fonts/moblie/iconfont.woff differ diff --git a/src/fonts/moblie/iconfont.woff2 b/src/fonts/moblie/iconfont.woff2 index 6328c60..22e3bcd 100644 Binary files a/src/fonts/moblie/iconfont.woff2 and b/src/fonts/moblie/iconfont.woff2 differ diff --git a/src/views/Home/components/LastSurvey/Index.vue b/src/views/Home/components/LastSurvey/Index.vue index 1d01dd5..f264388 100644 --- a/src/views/Home/components/LastSurvey/Index.vue +++ b/src/views/Home/components/LastSurvey/Index.vue @@ -30,7 +30,7 @@ src="../../../../assets/img/publish/phone.png" alt="" /> - + {{ survey.source === 1 ? '移动端' : 'PC端' }} |
@@ -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, diff --git a/src/views/Survey/Index.vue b/src/views/Survey/Index.vue index 67f3816..696e4bb 100644 --- a/src/views/Survey/Index.vue +++ b/src/views/Survey/Index.vue @@ -36,7 +36,7 @@
- + {{ item.source === 1 ? '移动端' : 'PC端' }}
@@ -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) { diff --git a/src/views/Survey/views/Create/Index.vue b/src/views/Survey/views/Create/Index.vue index c6987eb..76ca7c6 100644 --- a/src/views/Survey/views/Create/Index.vue +++ b/src/views/Survey/views/Create/Index.vue @@ -112,6 +112,7 @@ @@ -133,7 +135,8 @@ @@ -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(); }); @@ -644,7 +647,7 @@ onMounted(async() => { border-radius: 10px; background-color: #70b937; color: #fff; - font-weight: bold; + //font-weight: bold; } }