style: style lint
This commit is contained in:
@@ -85,9 +85,9 @@ export default class CommonApi {
|
||||
};
|
||||
/* eslint-disable no-useless-escape */
|
||||
const reg = /\\|\/|\?|\?|\*|"|“|”|'|‘|’|<|>|{|}|\[|\]|\【|\】|:|:|、|\^|\$|!|~|`|\s|\+/g;
|
||||
name =
|
||||
name ||
|
||||
getRandomFileName(file?.name?.replace(reg, '') ?? '' ?? `${new Date().getTime()}.png`);
|
||||
name
|
||||
= name
|
||||
|| getRandomFileName(file?.name?.replace(reg, '') ?? '' ?? `${new Date().getTime()}.png`);
|
||||
const res = await CommonApi.getOssInfo();
|
||||
/* eslint-enable no-useless-escape */
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
.van-nav-bar {
|
||||
padding-top: calc(var(--status-bar-height) + 10px) !important;
|
||||
|
||||
// height: calc(46px + var(--status-bar-height)) !important;
|
||||
}
|
||||
|
||||
.van-cell {
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
@@ -170,8 +170,8 @@ const getMaxDateLimit = computed(() => {
|
||||
props.format
|
||||
);
|
||||
const tempStr = '0000-12-31 23:59:59';
|
||||
const result =
|
||||
props.maxDate.length !== 0 && thisMax.length > props.maxDate.length
|
||||
const result
|
||||
= props.maxDate.length !== 0 && thisMax.length > props.maxDate.length
|
||||
? thisMax.slice(0, props.maxDate.length) + tempStr.slice(props.maxDate.length)
|
||||
: thisMax;
|
||||
return result.slice(0, props.format.length);
|
||||
@@ -194,8 +194,8 @@ function onChange({ selectedValues, columnIndex }) {
|
||||
renderMinuteColumns,
|
||||
renderSecondColumns
|
||||
];
|
||||
updateColumns[columnIndex] &&
|
||||
updateColumns[columnIndex](changeValue, getMinDateLimit.value, getMaxDateLimit.value, false);
|
||||
updateColumns[columnIndex]
|
||||
&& updateColumns[columnIndex](changeValue, getMinDateLimit.value, getMaxDateLimit.value, false);
|
||||
}
|
||||
|
||||
// 渲染全部列
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: 'iconfont logo';
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
font-size: 160px;
|
||||
font-family: 'iconfont logo';
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
@@ -29,8 +29,8 @@
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
line-height: 42px;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
@@ -38,17 +38,17 @@
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
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 {
|
||||
@@ -62,25 +62,25 @@
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
padding: 30px 100px;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
overflow: hidden;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 30px;
|
||||
color: #333;
|
||||
line-height: 1;
|
||||
text-align: left;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
font-size: 160px;
|
||||
}
|
||||
|
||||
.helps {
|
||||
@@ -88,25 +88,25 @@
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
overflow: auto;
|
||||
margin: 10px 0;
|
||||
padding: 20px;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
width: 100% !important;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
list-style: none !important;
|
||||
text-align: center;
|
||||
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,15 +137,18 @@
|
||||
}
|
||||
|
||||
.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,
|
||||
@@ -170,10 +173,10 @@
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
margin-bottom: 24px;
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
@@ -181,10 +184,10 @@
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
margin: 1.6em 0 0.6em;
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
@@ -212,11 +215,11 @@
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
clear: both;
|
||||
height: 1px;
|
||||
margin: 16px 0;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
@@ -259,8 +262,8 @@
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
@@ -269,24 +272,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 {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
border: 1px solid #e9e9e9;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@@ -295,11 +298,11 @@
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
padding-left: 0.8em;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
color: #999;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
@@ -307,9 +310,9 @@
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
margin-left: 8px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
@@ -322,8 +325,8 @@
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.markdown > br,
|
||||
@@ -333,10 +336,10 @@
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: white;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
@@ -372,7 +375,7 @@
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
@@ -385,13 +388,13 @@
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
color: #55a532;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
color: #bd2c00;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
@@ -399,8 +402,10 @@
|
||||
}
|
||||
|
||||
/* 代码高亮 */
|
||||
|
||||
/* 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)
|
||||
@@ -408,21 +413,19 @@ https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javasc
|
||||
*/
|
||||
code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
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-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
word-break: normal;
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
@@ -433,16 +436,16 @@ pre[class*='language-']::-moz-selection,
|
||||
pre[class*='language-'] ::-moz-selection,
|
||||
code[class*='language-']::-moz-selection,
|
||||
code[class*='language-'] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
pre[class*='language-']::selection,
|
||||
pre[class*='language-'] ::selection,
|
||||
code[class*='language-']::selection,
|
||||
code[class*='language-'] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
@media print {
|
||||
@@ -454,9 +457,9 @@ code[class*='language-'] ::selection {
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*='language-'] {
|
||||
padding: 1em;
|
||||
margin: 0.5em 0;
|
||||
overflow: auto;
|
||||
margin: 0.5em 0;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*='language-'],
|
||||
@@ -510,8 +513,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,
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
|
||||
<style>
|
||||
.main .logo {
|
||||
margin-top: 0;
|
||||
height: auto;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
@@ -34,10 +34,10 @@
|
||||
|
||||
.main .logo .sub-title {
|
||||
margin-left: 0.5em;
|
||||
font-size: 22px;
|
||||
color: #fff;
|
||||
background: linear-gradient(-45deg, #3967ff, #b500fe);
|
||||
-webkit-background-clip: text;
|
||||
color: #fff;
|
||||
font-size: 22px;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@font-face {
|
||||
font-family: 'mobilefont'; /* Project id 4841764 */
|
||||
font-family: mobilefont; /* Project id 4841764 */
|
||||
src:
|
||||
url('iconfont.woff2?t=1742102742566') format('woff2'),
|
||||
url('iconfont.woff?t=1742102742566') format('woff'),
|
||||
@@ -7,133 +7,133 @@
|
||||
}
|
||||
|
||||
.mobilefont {
|
||||
font-family: 'mobilefont' !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
font-family: mobilefont !important;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.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';
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
export const surveyQuestion =
|
||||
'https://yls-api-uat.dctest.digitalyili.com/api/console/surveys/RWNK9BYp/questions';
|
||||
export const surveyQuestion
|
||||
= 'https://yls-api-uat.dctest.digitalyili.com/api/console/surveys/RWNK9BYp/questions';
|
||||
|
||||
@@ -38,10 +38,10 @@ service.interceptors.request.use(
|
||||
service.interceptors.response.use(
|
||||
(response) => {
|
||||
if (
|
||||
response.status === 200 ||
|
||||
response.status === 201 ||
|
||||
response.status === 202 ||
|
||||
response.status === 204
|
||||
response.status === 200
|
||||
|| response.status === 201
|
||||
|| response.status === 202
|
||||
|| response.status === 204
|
||||
) {
|
||||
if (response.config.method === 'put') {
|
||||
// message.success('保存中...');
|
||||
|
||||
@@ -44,10 +44,10 @@ service.interceptors.request.use(
|
||||
service.interceptors.response.use(
|
||||
(response) => {
|
||||
if (
|
||||
response.status === 200 ||
|
||||
response.status === 201 ||
|
||||
response.status === 202 ||
|
||||
response.status === 204
|
||||
response.status === 200
|
||||
|| response.status === 201
|
||||
|| response.status === 202
|
||||
|| response.status === 204
|
||||
) {
|
||||
if (response.config.method === 'put') {
|
||||
// message.success('保存中...');
|
||||
|
||||
@@ -260,8 +260,8 @@ const getSkipTypeText = (skipType) => {
|
||||
const ls = [];
|
||||
logics.map((item) => {
|
||||
if (
|
||||
item.skip_type === skipType &&
|
||||
item.question_index === activeQuestion.value.question_index
|
||||
item.skip_type === skipType
|
||||
&& item.question_index === activeQuestion.value.question_index
|
||||
) {
|
||||
ls.push(item);
|
||||
}
|
||||
|
||||
@@ -108,9 +108,9 @@ function isSurplus() {
|
||||
return false;
|
||||
} else {
|
||||
return (
|
||||
parseFloat(((localConfig.value.max - localConfig.value.min) * 1000).toFixed(4, 10)) %
|
||||
parseFloat((localConfig.value.score_interval * 1000).toFixed(4, 10)) ===
|
||||
0
|
||||
parseFloat(((localConfig.value.max - localConfig.value.min) * 1000).toFixed(4, 10))
|
||||
% parseFloat((localConfig.value.score_interval * 1000).toFixed(4, 10))
|
||||
=== 0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<van-field v-model="element.stem" :label="element.stem" :required="element.config.is_required === 1" label-align="top"
|
||||
class="contenteditable-question-title base-select">
|
||||
<van-field
|
||||
v-model="element.stem" :label="element.stem" :required="element.config.is_required === 1" label-align="top"
|
||||
class="contenteditable-question-title base-select"
|
||||
>
|
||||
<template #left-icon>
|
||||
{{ index + 1 }}
|
||||
</template>
|
||||
@@ -11,11 +13,15 @@
|
||||
<template #input>
|
||||
<template v-for="(item, optionIndex) in element.options" :key="item.id">
|
||||
<van-radio-group v-if="element.question_type === 1" v-model="choiceValue">
|
||||
<option-action :data="isPreview ? item.options : item" :active="active" :question="element"
|
||||
handle=".moverQues">
|
||||
<option-action
|
||||
:data="isPreview ? item.options : item" :active="active" :question="element"
|
||||
handle=".moverQues"
|
||||
>
|
||||
<template #item="{ element: it, index: itIndex }">
|
||||
<van-radio :key="itIndex" :name="it.option_index" :label="it.label" :disabled="it.disabled"
|
||||
icon-size="0.45rem">
|
||||
<van-radio
|
||||
:key="itIndex" :name="it.option_index" :label="it.label" :disabled="it.disabled"
|
||||
icon-size="0.45rem"
|
||||
>
|
||||
<!-- 自定义文本 -->
|
||||
<template #default>
|
||||
<div class="flex align-center van-cell">
|
||||
@@ -37,11 +43,15 @@
|
||||
</van-radio-group>
|
||||
|
||||
<van-checkbox-group v-if="element.question_type === 2" v-model="value" shape="square">
|
||||
<option-action v-model:data="element.options[optionIndex]" handle=".moverQues" :active="active"
|
||||
:question="element">
|
||||
<option-action
|
||||
v-model:data="element.options[optionIndex]" handle=".moverQues" :active="active"
|
||||
:question="element"
|
||||
>
|
||||
<template #item="{ element: it, index: itIndex }">
|
||||
<van-checkbox :key="itIndex" :name="it.option_index" :label="it.label" :disabled="it.disabled"
|
||||
icon-size="0.45rem">
|
||||
<van-checkbox
|
||||
:key="itIndex" :name="it.option_index" :label="it.label" :disabled="it.disabled"
|
||||
icon-size="0.45rem"
|
||||
>
|
||||
<template #default>
|
||||
<div class="flex align-center van-cell">
|
||||
<contenteditable v-model="it.option" className="contenteditable-input" :active="active">
|
||||
@@ -106,7 +116,6 @@ const emitValue = () => {
|
||||
}
|
||||
|
||||
.base-select {
|
||||
|
||||
& .van-checkbox-group,
|
||||
.van-radio-group {
|
||||
width: 100%;
|
||||
|
||||
@@ -11,8 +11,7 @@
|
||||
class="iconfont active-icon"
|
||||
:style="{ marginRight: isLastPage ? '0' : '16px' }"
|
||||
@click="activePage"
|
||||
></i
|
||||
>
|
||||
></i>
|
||||
<template v-if="!isLastPage">
|
||||
<i class="iconfont moverQues" style="margin-right: 16px"></i>
|
||||
<i class="iconfont" @click="deleteHandle"></i>
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
<div v-for="item in 10" :key="item" class="template">
|
||||
<img src="https://picsum.photos/131/128" width="110" height="100" alt="" />
|
||||
<span>报名/签到模板</span>
|
||||
<span style="color: rgb(127, 127, 127)"
|
||||
>报名签到 | 引用 {{ item }} 次 | 创建人: {{ '张三' }}</span
|
||||
>
|
||||
<span style="color: rgb(127, 127, 127)">报名签到 | 引用 {{ item }} 次 | 创建人: {{ '张三' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -227,8 +227,8 @@ export default defineComponent({
|
||||
.map((option) => {
|
||||
return this.wares.find(
|
||||
(ware) =>
|
||||
ware.question_index === option.question_index &&
|
||||
ware.option_index === option.option_index
|
||||
ware.question_index === option.question_index
|
||||
&& ware.option_index === option.option_index
|
||||
);
|
||||
});
|
||||
wares = wares.filter((x) => x);
|
||||
|
||||
@@ -102,11 +102,11 @@ export default defineComponent({
|
||||
const isEndUrl = computed(() => {
|
||||
const code = props.action ? props.action.code : props.code;
|
||||
return (
|
||||
(code === 20004 &&
|
||||
props.survey.screening_end_url_select &&
|
||||
props.survey.screening_end_url) ||
|
||||
(code === 20011 && props.survey.success_end_url_select && props.survey.success_end_url) ||
|
||||
(code === 20016 && props.survey.quota_end_url_select && props.survey.quota_end_url)
|
||||
(code === 20004
|
||||
&& props.survey.screening_end_url_select
|
||||
&& props.survey.screening_end_url)
|
||||
|| (code === 20011 && props.survey.success_end_url_select && props.survey.success_end_url)
|
||||
|| (code === 20016 && props.survey.quota_end_url_select && props.survey.quota_end_url)
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -264,16 +264,16 @@ export default defineComponent({
|
||||
});
|
||||
|
||||
if (
|
||||
!compareArrayByField(options.value, newOptions, 'option_key') ||
|
||||
!compareArrayByField(options.value, newOptions, 'option')
|
||||
!compareArrayByField(options.value, newOptions, 'option_key')
|
||||
|| !compareArrayByField(options.value, newOptions, 'option')
|
||||
) {
|
||||
options.value = newOptions;
|
||||
}
|
||||
|
||||
// 清空值和答案
|
||||
if (
|
||||
value.value &&
|
||||
options.value.findIndex((option) => option.option_key === value.value) === -1
|
||||
value.value
|
||||
&& options.value.findIndex((option) => option.option_key === value.value) === -1
|
||||
) {
|
||||
// 清空值
|
||||
value.value = '';
|
||||
@@ -291,8 +291,8 @@ export default defineComponent({
|
||||
() => options.value,
|
||||
(val, oldVal) => {
|
||||
if (
|
||||
compareArrayByField(val, oldVal || [], 'option_key') &&
|
||||
compareArrayByField(val, oldVal || [], 'option')
|
||||
compareArrayByField(val, oldVal || [], 'option_key')
|
||||
&& compareArrayByField(val, oldVal || [], 'option')
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -132,8 +132,8 @@ export default defineComponent({
|
||||
const value = matchValue.replace('[%cite(', '').replace(')%]', '');
|
||||
let replacement = ''; // 替换文本
|
||||
// 查找引用问题
|
||||
const question =
|
||||
props.questions.find((question) => {
|
||||
const question
|
||||
= props.questions.find((question) => {
|
||||
// 矩阵题
|
||||
if (question.question_type >= 8 && question.question_type <= 11) {
|
||||
return question.title === value.split('_R')[0].split('_C')[0];
|
||||
@@ -143,8 +143,8 @@ export default defineComponent({
|
||||
return question.title === value.split('_A')[0];
|
||||
}
|
||||
return question.title === value;
|
||||
}) ||
|
||||
props.questions.find((question) => {
|
||||
})
|
||||
|| props.questions.find((question) => {
|
||||
// 矩阵题
|
||||
if (question.question_type >= 8 && question.question_type <= 11) {
|
||||
return question.title === (value + cycleIndexStr).split('_R')[0].split('_C')[0];
|
||||
@@ -171,8 +171,8 @@ export default defineComponent({
|
||||
replacement = answer[option.option_key];
|
||||
}
|
||||
} else if (
|
||||
question.question_type === 2 &&
|
||||
Object.keys(answer).length >= question.config.min_select
|
||||
question.question_type === 2
|
||||
&& Object.keys(answer).length >= question.config.min_select
|
||||
) {
|
||||
// 查找引用选项(多选)
|
||||
options.forEach((option) => {
|
||||
|
||||
@@ -350,7 +350,7 @@ export const language = {
|
||||
zh: '请点击查看图片'
|
||||
},
|
||||
NoteCantViewAfterTimeLimit: {
|
||||
en: "Note: Can't view after time limit",
|
||||
en: 'Note: Can\'t view after time limit',
|
||||
zh: '注意:超过显示时间限制后将无法再次查看'
|
||||
},
|
||||
DisplayTimeLimitExceeded: {
|
||||
|
||||
@@ -250,10 +250,10 @@ function quesHandle(answer, logChild) {
|
||||
const matrixRateHandle = () => {
|
||||
// 如果配置的逻辑中参数为空,则代表没有配置逻辑匹配值,此时不做校验
|
||||
if (
|
||||
logChild.cell_index === 0 ||
|
||||
logChild.row_index === 0 ||
|
||||
!logChild.operator ||
|
||||
!logChild.value
|
||||
logChild.cell_index === 0
|
||||
|| logChild.row_index === 0
|
||||
|| !logChild.operator
|
||||
|| !logChild.value
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
@@ -265,10 +265,10 @@ function quesHandle(answer, logChild) {
|
||||
const matrixInputHandle = () => {
|
||||
// 如果配置的逻辑中参数为空,则代表没有配置逻辑匹配值,此时不做校验
|
||||
if (
|
||||
logChild.cell_index === 0 ||
|
||||
logChild.row_index === 0 ||
|
||||
!logChild.operator ||
|
||||
!logChild.value
|
||||
logChild.cell_index === 0
|
||||
|| logChild.row_index === 0
|
||||
|| !logChild.operator
|
||||
|| !logChild.value
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
@@ -519,10 +519,10 @@ function getlogicStatus(questionData) {
|
||||
// } else {
|
||||
// statusStr = statusStr + conditionStatus;
|
||||
// }
|
||||
statusStr =
|
||||
statusStr +
|
||||
(logChild.logic === 'and' ? '&&' : logChild.logic === 'or' ? '||' : '') +
|
||||
conditionStatus;
|
||||
statusStr
|
||||
= statusStr
|
||||
+ (logChild.logic === 'and' ? '&&' : logChild.logic === 'or' ? '||' : '')
|
||||
+ conditionStatus;
|
||||
});
|
||||
// eslint-disable-next-line no-eval
|
||||
logs.logicStatus = eval(statusStr);
|
||||
|
||||
@@ -105,8 +105,8 @@ export default function answerMock(questionsData, page) {
|
||||
} else if (logic.skip_type === 4) {
|
||||
// 只计算跳转后所在页面的隐藏逻辑,否则会出现只返回最后一道隐藏选项题目的情况,导致失效
|
||||
const toPage = page + 1;
|
||||
const hasHiddenLogicQuizPage =
|
||||
data.pages.findIndex((page) => page.includes(logic.question_index)) + 1;
|
||||
const hasHiddenLogicQuizPage
|
||||
= data.pages.findIndex((page) => page.includes(logic.question_index)) + 1;
|
||||
if (hasHiddenLogicQuizPage === toPage) {
|
||||
// 选项隐藏逻辑
|
||||
updateOptionHidden(data.hide_options, logic);
|
||||
|
||||
@@ -154,9 +154,9 @@ export default defineComponent({
|
||||
question.error = translatedText.value.ThisIsARequiredQuestion;
|
||||
}
|
||||
} else if (
|
||||
answer &&
|
||||
questionType === 1 &&
|
||||
Object.keys(answer).findIndex((value) => !answer[value]) !== -1
|
||||
answer
|
||||
&& questionType === 1
|
||||
&& Object.keys(answer).findIndex((value) => !answer[value]) !== -1
|
||||
) {
|
||||
// 单选题
|
||||
isError = true;
|
||||
@@ -302,9 +302,9 @@ export default defineComponent({
|
||||
} else if (answer && questionType === 12) {
|
||||
question.error = '';
|
||||
} else if (
|
||||
answer &&
|
||||
questionType === 14 &&
|
||||
Object.keys(answer).length < config.min_select
|
||||
answer
|
||||
&& questionType === 14
|
||||
&& Object.keys(answer).length < config.min_select
|
||||
) {
|
||||
// 图片多选题
|
||||
isError = true;
|
||||
@@ -341,8 +341,8 @@ export default defineComponent({
|
||||
const newValue = value.replace(/\n|\r|\r\n/g, '');
|
||||
switch (config.text_type) {
|
||||
case 3: // 字母
|
||||
isError =
|
||||
config.include_mark === 1
|
||||
isError
|
||||
= config.include_mark === 1
|
||||
? !/^[a-zA-Z·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]]+$/.test(
|
||||
newValue
|
||||
) || !newValue.length
|
||||
@@ -350,8 +350,8 @@ export default defineComponent({
|
||||
question.error = isError ? translatedText.value.PleaseEnterEnglishLetters : '';
|
||||
break;
|
||||
case 4: // 中文
|
||||
isError =
|
||||
config.include_mark === 1
|
||||
isError
|
||||
= config.include_mark === 1
|
||||
? !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|[·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]])+$/.test(
|
||||
newValue
|
||||
) || !newValue.length
|
||||
@@ -361,8 +361,8 @@ export default defineComponent({
|
||||
question.error = isError ? translatedText.value.PleaseEnterChineseWords : '';
|
||||
break;
|
||||
case 5: // 邮箱
|
||||
isError =
|
||||
!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
|
||||
isError
|
||||
= !/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
|
||||
value
|
||||
);
|
||||
question.error = isError ? translatedText.value.PleaseEnterACorrectEmail : '';
|
||||
@@ -372,8 +372,8 @@ export default defineComponent({
|
||||
question.error = isError ? translatedText.value.PleaseEnterACorrectPhone : '';
|
||||
break;
|
||||
case 7: // 身份证号
|
||||
isError =
|
||||
!/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test(
|
||||
isError
|
||||
= !/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test(
|
||||
value
|
||||
);
|
||||
question.error = isError ? translatedText.value.PleaseEnterACorrectID : '';
|
||||
@@ -436,9 +436,9 @@ export default defineComponent({
|
||||
break;
|
||||
}
|
||||
if (
|
||||
!question.error &&
|
||||
value.length < config.min &&
|
||||
![1, 2].includes(config.text_type)
|
||||
!question.error
|
||||
&& value.length < config.min
|
||||
&& ![1, 2].includes(config.text_type)
|
||||
) {
|
||||
question.error = translatedText.value.PleaseEnterMoreThanOneCharacters(config.min);
|
||||
}
|
||||
@@ -814,8 +814,8 @@ export default defineComponent({
|
||||
const evt1 = {};
|
||||
|
||||
if ([1].includes(question.question_type)) {
|
||||
evt1.value =
|
||||
Object.keys(question.answer)
|
||||
evt1.value
|
||||
= Object.keys(question.answer)
|
||||
.map((key) => (question.answer[key] ? key : undefined))
|
||||
.filter((i) => !!i)?.[0] || undefined;
|
||||
evt1.options = question.list.flatMap((i) => i.options);
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
const successImg =
|
||||
'https://files.axshare.com/gsc/DR6075/c7/5a/53/c75a534148d349f1bb8e185629f784ac/images/%E9%A2%84%E8%A7%88/u123.png?pageId=18fb9d8a-b9b7-465f-9bd7-625b1b78f72e';
|
||||
const successImg
|
||||
= 'https://files.axshare.com/gsc/DR6075/c7/5a/53/c75a534148d349f1bb8e185629f784ac/images/%E9%A2%84%E8%A7%88/u123.png?pageId=18fb9d8a-b9b7-465f-9bd7-625b1b78f72e';
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Reference in New Issue
Block a user