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 0000000..ec87c07
Binary files /dev/null and b/src/fonts/moblie/iconfont.ttf differ
diff --git a/src/fonts/moblie/iconfont.woff b/src/fonts/moblie/iconfont.woff
new file mode 100644
index 0000000..33c8376
Binary files /dev/null and b/src/fonts/moblie/iconfont.woff differ
diff --git a/src/fonts/moblie/iconfont.woff2 b/src/fonts/moblie/iconfont.woff2
new file mode 100644
index 0000000..6b0fc4c
Binary files /dev/null and b/src/fonts/moblie/iconfont.woff2 differ
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 @@
-
+
@@ -104,8 +108,11 @@
@@ -114,7 +121,7 @@