From d29ba27e936a1935bbfb254a2cbb0b6a143882d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=B1=E8=BE=BE?= Date: Mon, 10 Mar 2025 15:26:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(css):=20=E6=B7=BB=E5=8A=A0=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=20iconfont=E6=A0=B7=E5=BC=8F=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=86=85=E5=AE=B9=E7=BC=96=E8=BE=91=E7=BB=84?= =?UTF-8?q?=E4=BB=B6-=20=E5=9C=A8=20main.scss=20=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=A7=BB=E5=8A=A8=E7=AB=AF=20iconfont=20=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=20-=20=E4=B8=BA=20contenteditable=20=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=B7=BB=E5=8A=A0=E5=A4=B1=E7=84=A6=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=A4=84=E7=90=86=20-=20=E6=96=B0=E5=A2=9E=20YLPicker=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E6=94=AF=E6=8C=81=E5=B9=B4=E6=9C=88?= =?UTF-8?q?=E6=97=A5=E6=97=B6=E5=88=86=E7=A7=92=E7=9A=84=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=A0=BC=E5=BC=8F=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 9 + src/assets/css/main.scss | 1 + src/components/YLPicker.vue | 698 ++++++++++++++++++ src/components/contenteditable.vue | 6 +- src/fonts/demo.css | 8 + src/fonts/moblie/demo.css | 548 ++++++++++++++ src/fonts/moblie/iconfont.css | 75 ++ src/fonts/moblie/iconfont.js | 67 ++ src/fonts/moblie/iconfont.json | 114 +++ src/fonts/moblie/iconfont.ttf | Bin 0 -> 5208 bytes src/fonts/moblie/iconfont.woff | Bin 0 -> 3384 bytes src/fonts/moblie/iconfont.woff2 | Bin 0 -> 2748 bytes src/stores/modules/common.ts | 20 +- src/utils/QuestionJsons/FileUpload.js | 29 + src/utils/QuestionJsons/MartrixQuestion.js | 83 ++- src/utils/QuestionJsons/NPS.js | 54 ++ src/utils/QuestionJsons/SignQuestion.js | 37 + src/utils/QuestionJsons/TextWithImages.js | 22 + src/utils/importJsons.js | 4 + src/views/Design/Index.vue | 45 +- .../Design/components/Questions/Choice.vue | 8 +- src/views/Design/components/Questions/NPS.vue | 11 +- .../Design/components/Questions/Rate.vue | 6 +- .../components/Questions/SignQuestion.vue | 40 +- src/views/Survey/views/Create/Index.vue | 464 +++++++++--- 25 files changed, 2186 insertions(+), 163 deletions(-) create mode 100644 src/components/YLPicker.vue create mode 100644 src/fonts/moblie/demo.css create mode 100644 src/fonts/moblie/iconfont.css create mode 100644 src/fonts/moblie/iconfont.js create mode 100644 src/fonts/moblie/iconfont.json create mode 100644 src/fonts/moblie/iconfont.ttf create mode 100644 src/fonts/moblie/iconfont.woff create mode 100644 src/fonts/moblie/iconfont.woff2 create mode 100644 src/utils/QuestionJsons/FileUpload.js create mode 100644 src/utils/QuestionJsons/NPS.js create mode 100644 src/utils/QuestionJsons/SignQuestion.js create mode 100644 src/utils/QuestionJsons/TextWithImages.js diff --git a/components.d.ts b/components.d.ts index f15d4ea..edf019e 100644 --- a/components.d.ts +++ b/components.d.ts @@ -19,11 +19,18 @@ declare module 'vue' { VanCheckbox: typeof import('vant/es')['Checkbox'] VanCheckboxGroup: typeof import('vant/es')['CheckboxGroup'] VanCol: typeof import('vant/es')['Col'] + VanDatePicker: typeof import('vant/es')['DatePicker'] + VanDatetimePicker: typeof import('vant/es')['DatetimePicker'] VanDialog: typeof import('vant/es')['Dialog'] VanDivider: typeof import('vant/es')['Divider'] + VanFiel: typeof import('vant/es')['Fiel'] VanField: typeof import('vant/es')['Field'] + VanGrid: typeof import('vant/es')['Grid'] + VanGridItem: typeof import('vant/es')['GridItem'] VanIcon: typeof import('vant/es')['Icon'] VanNavBar: typeof import('vant/es')['NavBar'] + VanPicker: typeof import('vant/es')['Picker'] + VanPikcer: typeof import('vant/es')['Pikcer'] VanPopup: typeof import('vant/es')['Popup'] VanRadio: typeof import('vant/es')['Radio'] VanRadioGroup: typeof import('vant/es')['RadioGroup'] @@ -33,6 +40,8 @@ declare module 'vue' { VanSwitch: typeof import('vant/es')['Switch'] VanTabbar: typeof import('vant/es')['Tabbar'] VanTabbarItem: typeof import('vant/es')['TabbarItem'] + VanTimePicker: typeof import('vant/es')['TimePicker'] + YLPicker: typeof import('./src/components/YLPicker.vue')['default'] YLSelect: typeof import('./src/components/YLSelect.vue')['default'] } } diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 9c41435..603da52 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -1,6 +1,7 @@ @import 'base'; @import '../../fonts/iconfont.css'; @import 'vant'; +@import '../../fonts/moblie/iconfont.css'; a, .green { diff --git a/src/components/YLPicker.vue b/src/components/YLPicker.vue new file mode 100644 index 0000000..9cabea6 --- /dev/null +++ b/src/components/YLPicker.vue @@ -0,0 +1,698 @@ + + + + diff --git a/src/components/contenteditable.vue b/src/components/contenteditable.vue index 78e2ecd..01338d2 100644 --- a/src/components/contenteditable.vue +++ b/src/components/contenteditable.vue @@ -86,7 +86,11 @@ onMounted(() => { editor.value.addEventListener('focus', () => { showAction.value = true; }); - + editor.value.addEventListener('blur', () => { + setTimeout(() => { + showAction.value = false; + }); + }); document.addEventListener('resize', () => { showAction.value = false; }); diff --git a/src/fonts/demo.css b/src/fonts/demo.css index 12ec742..7df7d71 100644 --- a/src/fonts/demo.css +++ b/src/fonts/demo.css @@ -9,6 +9,14 @@ 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'); + src: + url('//at.alicdn.com/t/c/font_4841764_vat2jbvw3q.woff2?t=1741575060989') format('woff2'), + url('//at.alicdn.com/t/c/font_4841764_vat2jbvw3q.woff?t=1741575060989') format('woff'), + url('//at.alicdn.com/t/c/font_4841764_vat2jbvw3q.ttf?t=1741575060989') format('truetype'); +} + +@font-face { + font-family: ''; } .logo { diff --git a/src/fonts/moblie/demo.css b/src/fonts/moblie/demo.css new file mode 100644 index 0000000..12ec742 --- /dev/null +++ b/src/fonts/moblie/demo.css @@ -0,0 +1,548 @@ +/* Logo 字体 */ +@font-face { + font-family: 'iconfont logo'; + 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'), + 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'); +} + +.logo { + font-style: normal; + font-size: 160px; + font-family: 'iconfont logo'; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + color: #666; + line-height: 42px; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + position: relative; + z-index: 1; + 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; +} + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + width: 960px; + margin: 0 auto; + padding: 30px 100px; +} + +.main .logo { + overflow: hidden; + height: 110px; + margin-top: -50px; + margin-bottom: 30px; + color: #333; + line-height: 1; + text-align: left; + *zoom: 1; +} + +.main .logo a { + color: #333; + font-size: 160px; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + overflow: auto; + margin: 10px 0; + padding: 20px; + border: solid 1px #e7e1cd; + background-color: #fffdef; +} + +.icon_lists { + overflow: hidden; + width: 100% !important; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-right: 20px; + margin-bottom: 10px; + list-style: none !important; + text-align: center; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + margin: 10px auto; + color: #333; + font-size: 42px; + line-height: 100px; + -webkit-transition: + font-size 0.25s linear, + width 0.25s linear; + -moz-transition: + font-size 0.25s linear, + width 0.25s linear; + transition: + font-size 0.25s linear, + width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; + + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentcolor; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + margin-bottom: 24px; + color: #404040; + font-weight: 500; + line-height: 40px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + clear: both; + margin: 1.6em 0 0.6em; + color: #404040; + font-weight: 500; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + clear: both; + height: 1px; + margin: 16px 0; + border: 0; + background: #e9e9e9; +} + +.markdown p { + margin: 1em 0; +} + +.markdown > p, +.markdown > blockquote, +.markdown > .highlight, +.markdown > ol, +.markdown > ul { + width: 80%; +} + +.markdown ul > li { + list-style: circle; +} + +.markdown > ul li, +.markdown blockquote ul > li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown > ul li p, +.markdown > ol li p { + margin: 0.6em 0; +} + +.markdown ol > li { + list-style: decimal; +} + +.markdown > ol li, +.markdown blockquote ol > li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + border-radius: 3px; + background: #eee; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown > table { + width: 95%; + margin-bottom: 24px; + border: 1px solid #e9e9e9; + border-spacing: 0; + border-collapse: collapse; + empty-cells: show; +} + +.markdown > table th { + color: #333; + font-weight: 600; + white-space: nowrap; +} + +.markdown > table th, +.markdown > table td { + padding: 8px 16px; + border: 1px solid #e9e9e9; + text-align: left; +} + +.markdown > table th { + background: #f7f7f7; +} + +.markdown blockquote { + margin: 1em 0; + padding-left: 0.8em; + border-left: 4px solid #e9e9e9; + color: #999; + font-size: 90%; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + margin-left: 8px; + opacity: 0; + transition: opacity 0.3s ease; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + display: inline-block; + opacity: 1; +} + +.markdown > br, +.markdown > p > br { + clear: both; +} + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: #333; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + background-color: #eaffea; + color: #55a532; +} + +.hljs-deletion { + background-color: #ffecec; + color: #bd2c00; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ + +/* 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) + * @author Lea Verou + */ +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; + text-shadow: 0 1px white; + white-space: pre; + word-spacing: normal; + word-wrap: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +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; +} + +pre[class*='language-']::selection, +pre[class*='language-'] ::selection, +code[class*='language-']::selection, +code[class*='language-'] ::selection { + background: #b3d4fc; + text-shadow: none; +} + +@media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*='language-'] { + overflow: auto; + margin: 0.5em 0; + padding: 1em; +} + +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: 0.7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + background: hsla(0deg, 0%, 100%, 0.5); + color: #9a6e3a; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #dd4a68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/fonts/moblie/iconfont.css b/src/fonts/moblie/iconfont.css new file mode 100644 index 0000000..e9186ca --- /dev/null +++ b/src/fonts/moblie/iconfont.css @@ -0,0 +1,75 @@ +@font-face { + font-family: mobilefont; /* Project id 4841764 */ + src: + url('iconfont.woff2?t=1741575354833') format('woff2'), + url('iconfont.woff?t=1741575354833') format('woff'), + url('iconfont.ttf?t=1741575354833') format('truetype'); +} + +.mobilefont { + font-style: normal; + font-size: 18px; + font-family: mobilefont !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-radiobox::before { + content: '\e75b'; +} + +.icon-juzhendafen::before { + content: '\e641'; +} + +.icon-checkbox-checked::before { + content: '\e6c3'; +} + +.icon-nps::before { + content: '\e6b0'; +} + +.icon-input::before { + content: '\e6fd'; +} + +.icon-juzhentiankong::before { + content: '\e62e'; +} + +.icon-wenjianshangchuan::before { + content: '\e631'; +} + +.icon-qianming::before { + content: '\e661'; +} + +.icon-tuwen::before { + content: '\e62c'; +} + +.icon-juzhenduoxuan::before { + content: '\e818'; +} + +.icon-juzhendanxuan::before { + content: '\13c7f'; +} + +.icon-edit2::before { + content: '\e630'; +} + +.icon-copy::before { + content: '\e632'; +} + +.icon-delete::before { + content: '\e63f'; +} + +.icon-sort::before { + content: '\e6a0'; +} diff --git a/src/fonts/moblie/iconfont.js b/src/fonts/moblie/iconfont.js new file mode 100644 index 0000000..00018eb --- /dev/null +++ b/src/fonts/moblie/iconfont.js @@ -0,0 +1,67 @@ +(window._iconfont_svg_string_4841764 = + ''), + ((l) => { + var a = (t = (t = document.getElementsByTagName('script'))[t.length - 1]).getAttribute( + 'data-injectcss' + ), + t = t.getAttribute('data-disable-injectsvg'); + if (!t) { + var c, + i, + e, + h, + o, + n = function (a, t) { + t.parentNode.insertBefore(a, t); + }; + if (a && !l.__iconfont__svg__cssinject__) { + l.__iconfont__svg__cssinject__ = !0; + try { + document.write( + '' + ); + } catch (a) { + console && console.log(a); + } + } + (c = function () { + var a, + t = document.createElement('div'); + (t.innerHTML = l._iconfont_svg_string_4841764), + (t = t.getElementsByTagName('svg')[0]) && + (t.setAttribute('aria-hidden', 'true'), + (t.style.position = 'absolute'), + (t.style.width = 0), + (t.style.height = 0), + (t.style.overflow = 'hidden'), + (t = t), + (a = document.body).firstChild ? n(t, a.firstChild) : a.appendChild(t)); + }), + document.addEventListener + ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) + ? setTimeout(c, 0) + : ((i = function () { + document.removeEventListener('DOMContentLoaded', i, !1), c(); + }), + document.addEventListener('DOMContentLoaded', i, !1)) + : document.attachEvent && + ((e = c), + (h = l.document), + (o = !1), + s(), + (h.onreadystatechange = function () { + 'complete' == h.readyState && ((h.onreadystatechange = null), d()); + })); + } + function d() { + o || ((o = !0), e()); + } + function s() { + try { + h.documentElement.doScroll('left'); + } catch (a) { + return void setTimeout(s, 50); + } + d(); + } + })(window); diff --git a/src/fonts/moblie/iconfont.json b/src/fonts/moblie/iconfont.json new file mode 100644 index 0000000..f9f4e22 --- /dev/null +++ b/src/fonts/moblie/iconfont.json @@ -0,0 +1,114 @@ +{ + "id": "4841764", + "name": "yl", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "240132", + "name": "radio_box", + "font_class": "radiobox", + "unicode": "e75b", + "unicode_decimal": 59227 + }, + { + "icon_id": "844024", + "name": "矩阵打分", + "font_class": "juzhendafen", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "1176868", + "name": "checkbox-checked", + "font_class": "checkbox-checked", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "8766356", + "name": "nps", + "font_class": "nps", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "11215250", + "name": "input", + "font_class": "input", + "unicode": "e6fd", + "unicode_decimal": 59133 + }, + { + "icon_id": "15969322", + "name": "矩阵填空", + "font_class": "juzhentiankong", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "15969340", + "name": "文件上传", + "font_class": "wenjianshangchuan", + "unicode": "e631", + "unicode_decimal": 58929 + }, + { + "icon_id": "17269853", + "name": "签名", + "font_class": "qianming", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "17373529", + "name": "图文", + "font_class": "tuwen", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "36443758", + "name": "矩阵多选", + "font_class": "juzhenduoxuan", + "unicode": "e818", + "unicode_decimal": 59416 + }, + { + "icon_id": "38465935", + "name": "矩阵单选", + "font_class": "juzhendanxuan", + "unicode": "13c7f", + "unicode_decimal": 81023 + }, + { + "icon_id": "1160114", + "name": "edit-2", + "font_class": "edit2", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "1160116", + "name": "copy", + "font_class": "copy", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "1160129", + "name": "delete", + "font_class": "delete", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "1160227", + "name": "sort", + "font_class": "sort", + "unicode": "e6a0", + "unicode_decimal": 59040 + } + ] +} diff --git a/src/fonts/moblie/iconfont.ttf b/src/fonts/moblie/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ec87c0739e3c09c23bb71506e0e17dc2e858bcd2 GIT binary patch literal 5208 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 ZCJIqiCO>_MAIVN;3t81{ex^Xke*j#Pz1si) literal 0 HcmV?d00001 diff --git a/src/fonts/moblie/iconfont.woff b/src/fonts/moblie/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..33c8376f1079f108ddd45bd962349a067789a70e GIT binary patch literal 3384 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 literal 0 HcmV?d00001 diff --git a/src/fonts/moblie/iconfont.woff2 b/src/fonts/moblie/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b0fc4c17ef8db39a39118b6f3d759f3a2588b67 GIT binary patch literal 2748 zcmV;t3PbgGPew8T0RR9101CVS3jhEB02EjN019pZ0RR9100000000000000000000 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 C^HdK2 literal 0 HcmV?d00001 diff --git a/src/stores/modules/common.ts b/src/stores/modules/common.ts index 5c74ada..1989863 100644 --- a/src/stores/modules/common.ts +++ b/src/stores/modules/common.ts @@ -9,8 +9,9 @@ export const useCommonStore = defineStore('common', { state: () => ({ questionsInfo: { survey: { - id: 8721, - introduction: '

【样本量要求≥60】

', + id: '', + introduction: + '

为优化活动服务品质,烦请完成问卷,感谢配合!您的反馈至关重要!(此提示语为默认提示语,您可选择自行输入本问卷的提示语)

', pages: [ [24, 27, 26, 1], [2, 3, 4, 5, 6, 7], @@ -18,24 +19,17 @@ export const useCommonStore = defineStore('common', { [15, 16, 17, 18, 19, 20, 21], [28, 22] ], - sn: '8YXK4kW5', + sn: '', status: 0, - title: - '

液态奶产品研究标准化问卷-概念测试(内测标准版)

', - detail_pages: [ - [24, 27, 26, 1], - [2, 3, 4, 5, 6, 7], - [8, 9, 10, 11, 12, 13, 14], - [15, 16, 17, 18, 19, 20, 21], - [28, 22] - ], + title: '

问卷标题

', + detail_pages: [], group_pages: [], is_one_page_one_question: 0, last_question_index: 0, is_three_d_permissions: 0, is_dept: 1, last_title: 'Q5', - project_name: '概念诊断问卷示例-0227', + project_name: '', quota_end_content: '

\n

很抱歉,本次调研不太适合您的情况,感谢您的参与!

', quota_end_url: '', diff --git a/src/utils/QuestionJsons/FileUpload.js b/src/utils/QuestionJsons/FileUpload.js new file mode 100644 index 0000000..868a7a8 --- /dev/null +++ b/src/utils/QuestionJsons/FileUpload.js @@ -0,0 +1,29 @@ +export default { + id: '', + question_type: 18, + question_index: 41, + stem: '请上传文件', + title: 'Q14', + options: [], + last_option_index: 0, + config: { + is_required: 1, + quick_type: 0, + is_show: [], + select_random: 0, + min_number: 1, + max_number: 1, + min_size: 0, + max_size: 1, + is_file: 0, + file_type: '0' + }, + associate: [], + question_code: '', + logic_config: { + order: 0, + type: 0, + expect: '', + stay_time: '' + } +}; diff --git a/src/utils/QuestionJsons/MartrixQuestion.js b/src/utils/QuestionJsons/MartrixQuestion.js index 5da73ce..583eccf 100644 --- a/src/utils/QuestionJsons/MartrixQuestion.js +++ b/src/utils/QuestionJsons/MartrixQuestion.js @@ -1,14 +1,14 @@ export default { // JSON 需要修改 id: '', - question_type: 5, + question_type: '', question_index: '', - stem: '请完成打分', + stem: '请每行选择一个选项', title: '', options: [ [ { - id: 'e46f51b1-bfd8-4d9c-becc-4fb7d175a6f4', + id: '', is_fixed: 0, is_other: 0, is_remove_other: 0, @@ -25,6 +25,83 @@ export default { type: 0, cascade: [], config: [] + }, + { + id: '', + is_fixed: 0, + is_other: 0, + is_remove_other: 0, + option: '

选项2

', + option_config: { + image_url: [], + title: '', + instructions: [], + option_type: 0, + limit_right_content: '' + }, + option_index: 1, + parent_id: 0, + type: 0, + cascade: [], + config: [] + } + ], + [ + { + option: '

列标签1

', + id: '1049201', + type: 2, + is_other: 0, + is_fixed: 0, + is_remove_other: 0, + created_at: null, + created_user_id: null, + parent_id: null, + option_index: 3, + list_id: 74491, + option_code: '', + option_config: { + title: '', + instructions: [], + price: 0, + gradient: '', + image_url: [], + option_type: 0, + type: 0, + limit_right_content: '', + child_area: null, + binding_goods_id: '' + }, + disable_option_update: null, + cascade: [] + }, + { + option: '

列标签2

', + id: '1049202', + type: 2, + is_other: 0, + is_fixed: 0, + is_remove_other: 0, + created_at: null, + created_user_id: null, + parent_id: null, + option_index: 4, + list_id: 74491, + option_code: '', + option_config: { + title: '', + instructions: [], + price: 0, + gradient: '', + image_url: [], + option_type: 0, + type: 0, + limit_right_content: '', + child_area: null, + binding_goods_id: '' + }, + disable_option_update: null, + cascade: [] } ] ], diff --git a/src/utils/QuestionJsons/NPS.js b/src/utils/QuestionJsons/NPS.js new file mode 100644 index 0000000..0f305ef --- /dev/null +++ b/src/utils/QuestionJsons/NPS.js @@ -0,0 +1,54 @@ +export default { + id: '', + question_type: 106, + question_index: 0, + stem: '您向朋友或同事推荐我们的可能性多大?', + title: '', + options: [ + [ + { + id: 'b68d45eb-d833-4b25-b0aa-2fde1310e88d', + is_fixed: 0, + is_other: 0, + is_remove_other: 0, + option: '

选项1

', + option_config: { + image_url: [], + title: '', + instructions: [], + option_type: 0, + limit_right_content: '' + }, + option_index: 1, + parent_id: 0, + type: 0, + cascade: [], + config: [] + } + ] + ], + last_option_index: 0, + config: { + is_required: 1, + quick_type: 0, + is_show: [], + version: 2, + prompt_left: '不可能', + prompt_right: '极有可能', + prompt_center: '', + max: 10, + min: 0, + score_interval: 1, + score_type: 0, + score_way: 1, + prompt_score: 2 + }, + associate: [], + question_code: '', + logic_config: { + order: 0, + type: 0, + expect: '', + stay_time: '' + } +}; diff --git a/src/utils/QuestionJsons/SignQuestion.js b/src/utils/QuestionJsons/SignQuestion.js new file mode 100644 index 0000000..c8e11da --- /dev/null +++ b/src/utils/QuestionJsons/SignQuestion.js @@ -0,0 +1,37 @@ +export default { + id: '17852690', + title: 'Q7', + stem: '请留下您的姓名', + other: '', + question_index: 10, + question_type: 22, + config: { + is_required: 1, + select_random: 0, + float_window: 0, + float_window_content: '', + popup_window: 0, + popup_window_content: '', + is_show: [], + quick_type: 0 + }, + created_at: '2025-03-06T15:51:13', + created_user_id: 1281, + updated_user_id: null, + survey_id: 9482, + logic_config: { + expect: '', + order: 0, + type: 0, + stay_time: '' + }, + options: [], + associate: [], + logics_has: null, + last_option_index: 0, + question_code: '', + question_value: '', + question_tag: '', + planet_id: '', + permissions: null +}; diff --git a/src/utils/QuestionJsons/TextWithImages.js b/src/utils/QuestionJsons/TextWithImages.js new file mode 100644 index 0000000..1c8d613 --- /dev/null +++ b/src/utils/QuestionJsons/TextWithImages.js @@ -0,0 +1,22 @@ +export default { + id: '', + question_type: '', + question_index: 0, + stem: '请认真阅读以下内容', + title: '', + options: [], + last_option_index: 0, + config: { + is_required: 1, + quick_type: 0, + is_show: [] + }, + associate: [], + question_code: '', + logic_config: { + order: 0, + type: 0, + expect: '', + stay_time: '' + } +}; diff --git a/src/utils/importJsons.js b/src/utils/importJsons.js index b952229..66ff0ab 100644 --- a/src/utils/importJsons.js +++ b/src/utils/importJsons.js @@ -4,3 +4,7 @@ export { default as checkbox } from './QuestionJsons/Checkbox.js'; export { default as completion } from './QuestionJsons/Completion.js'; export { default as rate } from './QuestionJsons/Rate.js'; export { default as martrixQuestion } from './QuestionJsons/MartrixQuestion.js'; +export { default as fileUpload } from './QuestionJsons/FileUpload.js'; +export { default as textWithImages } from './QuestionJsons/TextWithImages.js'; +export { default as signQuestion } from './QuestionJsons/SignQuestion.js'; +export { default as nps } from './QuestionJsons/NPS.js'; diff --git a/src/views/Design/Index.vue b/src/views/Design/Index.vue index dbc3f3e..4e30306 100644 --- a/src/views/Design/Index.vue +++ b/src/views/Design/Index.vue @@ -87,7 +87,11 @@