调查问卷
This commit is contained in:
2
.env.dev
2
.env.dev
@@ -6,6 +6,6 @@ NODE_ENV = 'development'
|
|||||||
VUE_APP_BASE_URL = 'https://develop.api.aida.com.hk'
|
VUE_APP_BASE_URL = 'https://develop.api.aida.com.hk'
|
||||||
# VUE_APP_BASE_URL = 'https://api.aida.com.hk'
|
# VUE_APP_BASE_URL = 'https://api.aida.com.hk'
|
||||||
# 佩佩
|
# 佩佩
|
||||||
# VUE_APP_BASE_URL = 'http://192.168.1.7:5567'
|
VUE_APP_BASE_URL = 'http://192.168.1.7:5567'
|
||||||
# 海波
|
# 海波
|
||||||
# VUE_APP_BASE_URL = 'http://192.168.1.9:5567'
|
# VUE_APP_BASE_URL = 'http://192.168.1.9:5567'
|
||||||
|
|||||||
59
package-lock.json
generated
59
package-lock.json
generated
@@ -15,6 +15,7 @@
|
|||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"driver.js": "^1.3.1",
|
"driver.js": "^1.3.1",
|
||||||
|
"echarts": "^5.5.1",
|
||||||
"element-plus": "^2.4.2",
|
"element-plus": "^2.4.2",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"fingerprintjs2": "^2.1.4",
|
"fingerprintjs2": "^2.1.4",
|
||||||
@@ -5475,6 +5476,20 @@
|
|||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/echarts": {
|
||||||
|
"version": "5.5.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
|
||||||
|
"integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "2.3.0",
|
||||||
|
"zrender": "5.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/echarts/node_modules/tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
},
|
||||||
"node_modules/ee-first": {
|
"node_modules/ee-first": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
|
||||||
@@ -12449,6 +12464,19 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
|
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
|
||||||
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
|
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/zrender": {
|
||||||
|
"version": "5.6.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
|
||||||
|
"integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "2.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/zrender/node_modules/tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -16631,6 +16659,22 @@
|
|||||||
"integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==",
|
"integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"echarts": {
|
||||||
|
"version": "5.5.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
|
||||||
|
"integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "2.3.0",
|
||||||
|
"zrender": "5.6.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"ee-first": {
|
"ee-first": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
|
||||||
@@ -22120,6 +22164,21 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zrender": {
|
||||||
|
"version": "5.6.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
|
||||||
|
"integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "2.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"driver.js": "^1.3.1",
|
"driver.js": "^1.3.1",
|
||||||
|
"echarts": "^5.5.1",
|
||||||
"element-plus": "^2.4.2",
|
"element-plus": "^2.4.2",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"fingerprintjs2": "^2.1.4",
|
"fingerprintjs2": "^2.1.4",
|
||||||
|
|||||||
@@ -480,6 +480,22 @@ li {
|
|||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.8rem;
|
height: 0.8rem;
|
||||||
}
|
}
|
||||||
|
.trial_page .ant-tooltip {
|
||||||
|
z-index: 1049 !important;
|
||||||
|
}
|
||||||
|
.trial_page .habit :deep(.ant-tooltip .ant-tooltip-inner),
|
||||||
|
.trial_page :deep(.ant-tooltip-arrow-content) {
|
||||||
|
background: #000 !important;
|
||||||
|
}
|
||||||
|
.trial_page .habit_mod {
|
||||||
|
background-color: #000 !important;
|
||||||
|
/* top: 0 !important; */
|
||||||
|
/* left: 0 !important; */
|
||||||
|
}
|
||||||
|
.trial_page .ant-tooltip .ant-tooltip-inner,
|
||||||
|
.trial_page .ant-tooltip-arrow-content {
|
||||||
|
background: #000 !important;
|
||||||
|
}
|
||||||
.trial_page .ant-cascader-checkbox-checked .ant-cascader-checkbox-inner {
|
.trial_page .ant-cascader-checkbox-checked .ant-cascader-checkbox-inner {
|
||||||
background-color: #767676;
|
background-color: #767676;
|
||||||
border-color: #d9d9d9 !important;
|
border-color: #d9d9d9 !important;
|
||||||
@@ -1163,6 +1179,19 @@ li {
|
|||||||
border: none;
|
border: none;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
.admin_page .admin_table_content .operate_list {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
|
.admin_page .admin_table_content .operate_list .operate_item {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-family: Roboto;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #343579;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
.admin_page .admin_table_content .ant-table-tbody > tr:hover > td {
|
.admin_page .admin_table_content .ant-table-tbody > tr:hover > td {
|
||||||
background: #ffffff3a;
|
background: #ffffff3a;
|
||||||
}
|
}
|
||||||
@@ -1174,6 +1203,7 @@ li {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.admin_page .admin_table_content .operate_list .operate_item {
|
.admin_page .admin_table_content .operate_list .operate_item {
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
|
|||||||
@@ -536,6 +536,22 @@ input:focus{
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ant-tooltip{
|
||||||
|
z-index: 1049 !important;
|
||||||
|
}
|
||||||
|
.habit :deep(.ant-tooltip .ant-tooltip-inner) ,:deep(.ant-tooltip-arrow-content){
|
||||||
|
background: #000 !important;
|
||||||
|
}
|
||||||
|
.habit_mod{
|
||||||
|
background-color: #000 !important;
|
||||||
|
/* top: 0 !important; */
|
||||||
|
/* left: 0 !important; */
|
||||||
|
}
|
||||||
|
.ant-tooltip .ant-tooltip-inner ,.ant-tooltip-arrow-content{
|
||||||
|
background: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner{
|
.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner{
|
||||||
background-color: #767676;
|
background-color: #767676;
|
||||||
border-color: #d9d9d9 !important;
|
border-color: #d9d9d9 !important;
|
||||||
@@ -1296,6 +1312,20 @@ input:focus{
|
|||||||
background: transparent;
|
background: transparent;
|
||||||
// color: #fff;
|
// color: #fff;
|
||||||
}
|
}
|
||||||
|
.operate_list{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 1rem;
|
||||||
|
|
||||||
|
.operate_item{
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-family: Roboto;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #343579;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
.ant-table-tbody > tr {
|
.ant-table-tbody > tr {
|
||||||
&:hover > td {
|
&:hover > td {
|
||||||
background: #ffffff3a;
|
background: #ffffff3a;
|
||||||
@@ -1309,7 +1339,7 @@ input:focus{
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
|
justify-content: center;
|
||||||
.operate_item {
|
.operate_item {
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
|
|||||||
@@ -292,6 +292,3 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
|
||||||
|
|
||||||
</style>
|
|
||||||
173
src/component/Administrator/administratorEcharts copy.vue
Normal file
173
src/component/Administrator/administratorEcharts copy.vue
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
<template>
|
||||||
|
<div class="adminEcharts admin_page">
|
||||||
|
<div class="admin_table_search">
|
||||||
|
</div>
|
||||||
|
<div class="allUser_table_content">
|
||||||
|
<div class="allUser_table_content_item">
|
||||||
|
<div>123123123</div>
|
||||||
|
<!-- <div class="allUser_table_content_item_canvas" id="echarts1"></div> -->
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, ref, createVNode, computed, onMounted } from "vue";
|
||||||
|
import { Https } from "@/tool/https";
|
||||||
|
|
||||||
|
import * as echarts from "echarts/core";
|
||||||
|
import {
|
||||||
|
TitleComponent,
|
||||||
|
ToolboxComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
GridComponent,
|
||||||
|
LegendComponent,
|
||||||
|
} from "echarts/components";
|
||||||
|
import { LineChart } from "echarts/charts";
|
||||||
|
import { UniversalTransition } from "echarts/features";
|
||||||
|
import { CanvasRenderer } from "echarts/renderers";
|
||||||
|
export default defineComponent({
|
||||||
|
components: {},
|
||||||
|
setup() {
|
||||||
|
let rangePickerValue: any = ref([]);
|
||||||
|
let rangeTimeValue: any = ref([]);
|
||||||
|
let renameData: any = ref({}); //修改名字选中的数据
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
echarts.use([
|
||||||
|
TitleComponent,
|
||||||
|
ToolboxComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
GridComponent,
|
||||||
|
LegendComponent,
|
||||||
|
LineChart,
|
||||||
|
CanvasRenderer,
|
||||||
|
UniversalTransition,
|
||||||
|
]);
|
||||||
|
|
||||||
|
var chartDom = document.getElementById("echarts1");
|
||||||
|
console.log(chartDom);
|
||||||
|
|
||||||
|
var myChart = echarts.init(chartDom);
|
||||||
|
var option = {
|
||||||
|
title: {
|
||||||
|
text: "",
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "cross",
|
||||||
|
label: {
|
||||||
|
backgroundColor: "#6a7985",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: [
|
||||||
|
"新增用户数量",
|
||||||
|
"活跃用户数量",
|
||||||
|
"参加活动用户数量",
|
||||||
|
"Search Engine",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
toolbox: {
|
||||||
|
feature: {
|
||||||
|
saveAsImage: {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
left: "3%",
|
||||||
|
right: "4%",
|
||||||
|
bottom: "3%",
|
||||||
|
containLabel: true,
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
boundaryGap: false,
|
||||||
|
data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "新增用户数量",
|
||||||
|
type: "line",
|
||||||
|
stack: "Total",
|
||||||
|
areaStyle: {},
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [120, 132, 101, 134, 90, 230, 210],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "活跃用户数量",
|
||||||
|
type: "line",
|
||||||
|
stack: "Total",
|
||||||
|
areaStyle: {},
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [220, 182, 191, 234, 290, 330, 310],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "参加活动用户数量",
|
||||||
|
type: "line",
|
||||||
|
stack: "Total",
|
||||||
|
areaStyle: {},
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [150, 232, 201, 154, 190, 330, 410],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Search Engine",
|
||||||
|
type: "line",
|
||||||
|
stack: "Total",
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
position: "top",
|
||||||
|
},
|
||||||
|
areaStyle: {},
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [820, 932, 901, 934, 1290, 1330, 1320],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
// option && myChart.setOption(option);
|
||||||
|
});
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.adminEcharts {
|
||||||
|
.allUser_table_content{
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-content: space-between;
|
||||||
|
.allUser_table_content_item{
|
||||||
|
width: 49%;
|
||||||
|
height: 49%;
|
||||||
|
.allUser_table_content_item_canvas{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="admin_table_search">
|
<div class="admin_table_search">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="allUser_table_content" ref="historyTable">
|
<div class="admin_table_content" ref="historyTable">
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
@@ -156,69 +156,4 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
|
||||||
.admin_page {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
// min-width: 1440px;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.allUser_table_content {
|
|
||||||
margin-top: 2.6rem;
|
|
||||||
width: 100%;
|
|
||||||
height: calc(100% - 13.7rem);
|
|
||||||
padding-bottom: 3rem;
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 2rem;
|
|
||||||
overflow: hidden;
|
|
||||||
.ant-table {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-table-body {
|
|
||||||
overflow-y: auto !important;
|
|
||||||
-ms-overflow-style: none;
|
|
||||||
overflow: -moz-scrollbars-none;
|
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
width: 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.ant-table-thead > tr > th {
|
|
||||||
background: #ffffff00;
|
|
||||||
border-bottom: none;
|
|
||||||
backdrop-filter: blur(1rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-table-tbody > tr > td {
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
// color: #fff;
|
|
||||||
}
|
|
||||||
.ant-table-tbody > tr {
|
|
||||||
&:hover > td {
|
|
||||||
background: #ffffff3a;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.ant-table-pagination-right {
|
|
||||||
padding-right: 3.5rem;
|
|
||||||
}
|
|
||||||
.operate_list {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 0 1rem;
|
|
||||||
|
|
||||||
.operate_item {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
font-family: Roboto;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #343579;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
197
src/component/Administrator/questionnaire.vue
Normal file
197
src/component/Administrator/questionnaire.vue
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
<template>
|
||||||
|
<div class="admin_page">
|
||||||
|
<div class="admin_table_search">
|
||||||
|
<div class="admin_state">
|
||||||
|
<div class="admin_state_item">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="admin_table_content" ref="questionnaireTable">
|
||||||
|
<a-table
|
||||||
|
:columns="columns"
|
||||||
|
:data-source="dataList"
|
||||||
|
:scroll="{ y: historyTableHeight}"
|
||||||
|
@change="changePage"
|
||||||
|
@resizeColumn="handleResizeColumn"
|
||||||
|
:pagination="{
|
||||||
|
showSizeChanger: true,
|
||||||
|
current: currentPage,
|
||||||
|
pageSize: pageSize,
|
||||||
|
total: total,
|
||||||
|
showQuickJumper: true,
|
||||||
|
bordered: false,
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<template
|
||||||
|
#bodyCell="{ column, text, record, index }"
|
||||||
|
>
|
||||||
|
<div v-if="column?.Operations">
|
||||||
|
<div class="operate_list" v-if="column?.Operations">
|
||||||
|
<div class="operate_item" @click="setDetail(record)">Details</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
<a-modal
|
||||||
|
class="generalModelOperate"
|
||||||
|
v-model:visible="isFeedbackShow"
|
||||||
|
:footer="null"
|
||||||
|
width="55%"
|
||||||
|
:maskClosable="false"
|
||||||
|
:centered="true"
|
||||||
|
:keyboard="false"
|
||||||
|
:closable="false"
|
||||||
|
:mask="false"
|
||||||
|
>
|
||||||
|
<div class="generalModelOperate_closeIcon" @click.stop="closeModal()">
|
||||||
|
<i class="fi fi-rr-cross-small"></i>
|
||||||
|
</div>
|
||||||
|
<feedbackSurveyVue ref="feedbackSurveyVue"></feedbackSurveyVue>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, ref, createVNode,toRefs, computed,reactive, onMounted, nextTick } from "vue";
|
||||||
|
import { Https } from "@/tool/https";
|
||||||
|
|
||||||
|
import type { TableColumnsType } from 'ant-design-vue';
|
||||||
|
import feedbackSurveyVue from "@/views/feedbackSurvey.vue";
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
components: {feedbackSurveyVue},
|
||||||
|
setup() {
|
||||||
|
const columns: any = ref([
|
||||||
|
{
|
||||||
|
title: 'User Name',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
width: 50,
|
||||||
|
dataIndex: "userName",
|
||||||
|
key: "userName",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Age',
|
||||||
|
align: "center",
|
||||||
|
width: 50,
|
||||||
|
dataIndex: "age",
|
||||||
|
key: "age",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Country',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
width: 50,
|
||||||
|
dataIndex: "country",
|
||||||
|
key: "country",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Email',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
width: 50,
|
||||||
|
|
||||||
|
dataIndex: "email",
|
||||||
|
key: "email",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Is Subscribe',
|
||||||
|
align: "center",
|
||||||
|
width: 50,
|
||||||
|
|
||||||
|
dataIndex: "isSubscribe",
|
||||||
|
key: "isSubscribe",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Occupation',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
width: 50,
|
||||||
|
//
|
||||||
|
dataIndex: "occupation",
|
||||||
|
key: "occupation",
|
||||||
|
},{
|
||||||
|
title: 'Operations',
|
||||||
|
key: 'operation',
|
||||||
|
align:'center',
|
||||||
|
fixed: 'right',
|
||||||
|
width: 50,
|
||||||
|
// slots:{customRender:'action'}
|
||||||
|
Operations:true,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
);
|
||||||
|
let dataList: any = ref([]);
|
||||||
|
let tabelData = reactive({
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
total: 0,
|
||||||
|
historyTableHeight: 0,
|
||||||
|
isFeedbackShow:false,
|
||||||
|
})
|
||||||
|
let getQuestionnaireList =async ()=>{
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
Https.axiosGet(Https.httpUrls.getAllQuestionnaire).then((res:any)=>{
|
||||||
|
if(res){
|
||||||
|
dataList.value = res
|
||||||
|
console.log(dataList);
|
||||||
|
// console.log(allEchartsList.value);
|
||||||
|
|
||||||
|
resolve('')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let questionnaireTable:any = ref()
|
||||||
|
let feedbackSurveyVue = ref()
|
||||||
|
let changePage = (e:any)=>{
|
||||||
|
tabelData.currentPage = e.current;
|
||||||
|
tabelData.pageSize = e.pageSize;
|
||||||
|
}
|
||||||
|
let setDetail = (data:any)=>{
|
||||||
|
tabelData.isFeedbackShow = true
|
||||||
|
nextTick().then(()=>{
|
||||||
|
feedbackSurveyVue.value.initData(data)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let closeModal = ()=>{
|
||||||
|
tabelData.isFeedbackShow = false
|
||||||
|
}
|
||||||
|
onMounted(async () => {
|
||||||
|
await getQuestionnaireList()
|
||||||
|
tabelData.historyTableHeight = questionnaireTable.value.clientHeight - 200;
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
columns,
|
||||||
|
dataList,
|
||||||
|
...toRefs(tabelData),
|
||||||
|
handleResizeColumn: (w:any, col:any) => {
|
||||||
|
col.width = w;
|
||||||
|
},
|
||||||
|
questionnaireTable,
|
||||||
|
feedbackSurveyVue,
|
||||||
|
changePage,
|
||||||
|
setDetail,
|
||||||
|
closeModal,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.generalModelOperate{
|
||||||
|
// .ant-modal-body{
|
||||||
|
// height: calc(65rem*1.2);
|
||||||
|
// display: flex;
|
||||||
|
// overflow-y: auto;
|
||||||
|
// flex-direction: column;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="allUser_table_content" ref="historyTable">
|
<div class="admin_table_content" ref="historyTable">
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data-source="collectionList"
|
:data-source="collectionList"
|
||||||
@@ -293,6 +293,3 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -1156,7 +1156,9 @@ export default defineComponent({
|
|||||||
.design_detail_modal_component{
|
.design_detail_modal_component{
|
||||||
color: #000;
|
color: #000;
|
||||||
// max-width: 1440px ;
|
// max-width: 1440px ;
|
||||||
|
.mark_loading{
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
.ant-modal-content{
|
.ant-modal-content{
|
||||||
border-radius: calc(1rem*1.2);
|
border-radius: calc(1rem*1.2);
|
||||||
// overflow: hidden;
|
// overflow: hidden;
|
||||||
@@ -1713,9 +1715,6 @@ export default defineComponent({
|
|||||||
</style>
|
</style>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.design_detail_modal_component{
|
.design_detail_modal_component{
|
||||||
.mark_loading{
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -907,6 +907,7 @@ export default defineComponent({
|
|||||||
margin-top: calc(1.5rem*1.2);
|
margin-top: calc(1.5rem*1.2);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.habit_workspace_show{
|
.habit_workspace_show{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
@@ -1159,21 +1160,9 @@ export default defineComponent({
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-size: calc(1.4rem*1.2);
|
font-size: calc(1.4rem*1.2);
|
||||||
}
|
> .anticon + span{
|
||||||
</style>
|
max-width: 80%;
|
||||||
<style>
|
overflow: hidden;
|
||||||
.ant-tooltip{
|
}
|
||||||
z-index: 1049 !important;
|
|
||||||
}
|
|
||||||
.habit :deep(.ant-tooltip .ant-tooltip-inner) ,:deep(.ant-tooltip-arrow-content){
|
|
||||||
background: #000 !important;
|
|
||||||
}
|
|
||||||
.habit_mod{
|
|
||||||
background-color: #000 !important;
|
|
||||||
/* top: 0 !important; */
|
|
||||||
/* left: 0 !important; */
|
|
||||||
}
|
|
||||||
.ant-tooltip .ant-tooltip-inner ,.ant-tooltip-arrow-content{
|
|
||||||
background: #000 !important;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -117,6 +117,11 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
name: 'administrator',
|
name: 'administrator',
|
||||||
component: _import('Administrator'),
|
component: _import('Administrator'),
|
||||||
children:[
|
children:[
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
name:'adminChil',
|
||||||
|
redirect: "/administrator/allUser"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path:'allUser',
|
path:'allUser',
|
||||||
name:'allUser',
|
name:'allUser',
|
||||||
@@ -131,6 +136,10 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
path:'trialApproval',
|
path:'trialApproval',
|
||||||
name:'trialApproval',
|
name:'trialApproval',
|
||||||
component: _import_component('Administrator/trialApproval.vue'),
|
component: _import_component('Administrator/trialApproval.vue'),
|
||||||
|
},{
|
||||||
|
path:'questionnaire',
|
||||||
|
name:'questionnaire',
|
||||||
|
component: _import_component('Administrator/questionnaire.vue'),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -234,7 +243,6 @@ router.beforeEach((to, from, next) => {
|
|||||||
let sSystemUser = false
|
let sSystemUser = false
|
||||||
for (let index = 0; index < isSystemUserRouteList.length; index++) {
|
for (let index = 0; index < isSystemUserRouteList.length; index++) {
|
||||||
if(to.path.indexOf(isSystemUserRouteList[index]) > -1){
|
if(to.path.indexOf(isSystemUserRouteList[index]) > -1){
|
||||||
|
|
||||||
sSystemUser = true
|
sSystemUser = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,10 +233,13 @@ export const Https = {
|
|||||||
trialOrderApproval:`/api/account/trialOrderApproval`,//通过审批
|
trialOrderApproval:`/api/account/trialOrderApproval`,//通过审批
|
||||||
trialOrderRefuse:`/api/account/trialOrderRefuse`,//拒绝审批
|
trialOrderRefuse:`/api/account/trialOrderRefuse`,//拒绝审批
|
||||||
|
|
||||||
|
//管理员接口
|
||||||
//查询所有试用用户
|
//查询所有试用用户
|
||||||
inquiryGetTrial:`/api/inquiry/getTrial`,//拒绝审批
|
inquiryGetTrial:`/api/inquiry/getTrial`,//拒绝审批
|
||||||
//查询某个时间内design点击次数
|
//查询某个时间内design点击次数
|
||||||
getDesignStatistic:`/api/inquiry/getDesignStatistic`,//拒绝审批
|
getDesignStatistic:`/api/inquiry/getDesignStatistic`,//拒绝审批
|
||||||
|
getAllQuestionnaire:`/api/inquiry/getAllQuestionnaire`,//拒绝审批
|
||||||
|
|
||||||
|
|
||||||
getTasksList:`/api/tasks/getList`,//获取w为执行完的所有任务
|
getTasksList:`/api/tasks/getList`,//获取w为执行完的所有任务
|
||||||
getTasksHistory:`/api/tasks/getAllTask`,//获取所有任务列表
|
getTasksHistory:`/api/tasks/getAllTask`,//获取所有任务列表
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="administrator_page">
|
<div class="administrator_page">
|
||||||
<div class="administrator_page_left">
|
<div class="administrator_page_left">
|
||||||
|
<div class="administrator_title ">
|
||||||
|
<div class="modal_title_text" @click="setBack">
|
||||||
|
<i class="fi fi-sr-left"></i>
|
||||||
|
<div class="modal_title_intro administrator_title_text">Back</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="modal_title_text">Administrator</div>
|
<div class="modal_title_text">Administrator</div>
|
||||||
<a-menu
|
<a-menu
|
||||||
id="dddddd"
|
id="dddddd"
|
||||||
@@ -14,7 +20,9 @@
|
|||||||
|
|
||||||
<div v-for="(menu) in rootSubmenuKeys" :key="menu.key" >
|
<div v-for="(menu) in rootSubmenuKeys" :key="menu.key" >
|
||||||
<a-menu-item :key="menu.key" :name="menu.name" :route="menu.route" v-if="!menu.children">
|
<a-menu-item :key="menu.key" :name="menu.name" :route="menu.route" v-if="!menu.children">
|
||||||
<template #icon><span :class="['icon','iconfont', 'menu_icon', menu.icon]"></span></template>
|
<template #icon>
|
||||||
|
<span :class="['icon','iconfont', 'menu_icon', menu.icon]"></span>
|
||||||
|
</template>
|
||||||
<span class="menu_title">{{menu.name}}</span>
|
<span class="menu_title">{{menu.name}}</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-sub-menu :key="menu.key" v-else>
|
<a-sub-menu :key="menu.key" v-else>
|
||||||
@@ -47,7 +55,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="administrator_page_right_content">
|
<div class="administrator_page_right_content">
|
||||||
<router-view/>
|
<router-view v-slot="{ Component }">
|
||||||
|
<keep-alive>
|
||||||
|
<component :is="Component" />
|
||||||
|
</keep-alive>
|
||||||
|
</router-view>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -78,13 +90,13 @@ export default defineComponent({
|
|||||||
setup() {
|
setup() {
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route:any = useRoute()
|
const route:any = useRoute()
|
||||||
const state = reactive({
|
const state:any = reactive({
|
||||||
rootSubmenuKeys: [{
|
rootSubmenuKeys: [{
|
||||||
name:'Trial User',
|
name:'Trial User',
|
||||||
route:'/administrator/allUser',
|
route:'/administrator/allUser',
|
||||||
icon:'yonghu',
|
icon:'yonghu',
|
||||||
expandIcon:'icon-xiala',
|
expandIcon:'icon-xiala',
|
||||||
key:'/administrator/allUser',
|
key:'sub1',
|
||||||
isShow:true,
|
isShow:true,
|
||||||
// children: [
|
// children: [
|
||||||
// {
|
// {
|
||||||
@@ -108,18 +120,41 @@ export default defineComponent({
|
|||||||
route:'/administrator/testClickData',
|
route:'/administrator/testClickData',
|
||||||
icon:'shenpi',
|
icon:'shenpi',
|
||||||
expandIcon:'icon-xiala',
|
expandIcon:'icon-xiala',
|
||||||
key:'/administrator/testClickData',
|
key:'sub2',
|
||||||
isShow:true,
|
isShow:true,
|
||||||
},{
|
},{
|
||||||
name:'Trial User Approval',
|
name:'Trial User Approval',
|
||||||
route:'/administrator/trialApproval',
|
route:'/administrator/trialApproval',
|
||||||
icon:'usetime',
|
icon:'usetime',
|
||||||
key:'/administrator/trialApproval',
|
key:'sub3',
|
||||||
expandIcon:'icon-xiala',
|
expandIcon:'icon-xiala',
|
||||||
isShow:true,
|
isShow:true,
|
||||||
|
},{
|
||||||
|
name:'Events',
|
||||||
|
icon:'usetime',
|
||||||
|
key:'sub4',
|
||||||
|
expandIcon:'icon-xiala',
|
||||||
|
isShow:true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name:'Questionnaire Survey',
|
||||||
|
route:'/administrator/questionnaire',
|
||||||
|
icon:'',
|
||||||
|
key:'sub4-1',
|
||||||
|
isShow:true,
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// code:'ROLE_MANAGER',
|
||||||
|
// name:'Access Permission',
|
||||||
|
// route:'/home/excil2',
|
||||||
|
// icon:'',
|
||||||
|
// key:'/home/excil33',
|
||||||
|
// isShow:true,
|
||||||
|
// },
|
||||||
|
],
|
||||||
}],
|
}],
|
||||||
openKeys: ['sub1'],
|
openKeys: [],
|
||||||
selectedKeys: [],
|
selectedKeys: ['sub1'],
|
||||||
nowPageName:'Trial User',//当前页面名称
|
nowPageName:'Trial User',//当前页面名称
|
||||||
});
|
});
|
||||||
let routers:any = ref([])
|
let routers:any = ref([])
|
||||||
@@ -134,11 +169,13 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
let handleClick = (event:any) => {
|
let handleClick = (event:any) => {
|
||||||
|
|
||||||
// state.selectedKeys = [Number(event.key)]
|
// state.selectedKeys = [Number(event.key)]
|
||||||
state.nowPageName = event.item.name
|
state.nowPageName = event.item.name
|
||||||
router.push({path:event.item.route})
|
router.push({path:event.item.route})
|
||||||
}
|
}
|
||||||
|
let setBack = ()=>{
|
||||||
|
router.push('/home');
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
let cookieInfo = getCookie('userInfo') || ''
|
let cookieInfo = getCookie('userInfo') || ''
|
||||||
if(cookieInfo){
|
if(cookieInfo){
|
||||||
@@ -149,8 +186,22 @@ export default defineComponent({
|
|||||||
// getTitle(menuList.value, route.path)
|
// getTitle(menuList.value, route.path)
|
||||||
}else{
|
}else{
|
||||||
}
|
}
|
||||||
state.nowPageName = state.rootSubmenuKeys[0].name
|
|
||||||
router.push(state.rootSubmenuKeys[0].route)
|
state.rootSubmenuKeys.forEach((item:any) => {
|
||||||
|
if(item.children){
|
||||||
|
item.children.forEach((item:any) => {
|
||||||
|
if(item.route == router.currentRoute.value.path){
|
||||||
|
state.selectedKeys[0] = item.key
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
if(item.route == router.currentRoute.value.path){
|
||||||
|
state.selectedKeys[0] = item.key
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// state.nowPageName = state.rootSubmenuKeys[0].name
|
||||||
|
// router.push(state.rootSubmenuKeys[0].route)
|
||||||
|
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
@@ -158,6 +209,7 @@ export default defineComponent({
|
|||||||
onOpenChange,
|
onOpenChange,
|
||||||
routers,
|
routers,
|
||||||
handleClick,
|
handleClick,
|
||||||
|
setBack,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
data(prop) {
|
data(prop) {
|
||||||
@@ -190,7 +242,31 @@ export default defineComponent({
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
background: rgba(243,244,248,0.4);
|
background: rgba(243,244,248,0.4);
|
||||||
|
.administrator_title{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 222;
|
||||||
|
.modal_title_text{
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
|
.administrator_title_text{
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.modal_title_text:hover .administrator_title_text{
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
i{
|
||||||
|
font-size: 1.2rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
.administrator_page_left{
|
.administrator_page_left{
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
.modal_title_text{
|
.modal_title_text{
|
||||||
@@ -231,6 +307,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
.ant-menu-inline.ant-menu-sub{
|
.ant-menu-inline.ant-menu-sub{
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
|
padding-left: 4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu_title{
|
.menu_title{
|
||||||
|
|||||||
@@ -2,12 +2,40 @@
|
|||||||
<div class="homeMain_max Guide_1_16_1">
|
<div class="homeMain_max Guide_1_16_1">
|
||||||
<header class="homeMain_heade">
|
<header class="homeMain_heade">
|
||||||
<div class="homeMain_right_content">
|
<div class="homeMain_right_content">
|
||||||
<div class="homeMain_user_icon"></div>
|
<div class="homeMain_user">
|
||||||
|
<div class="homeMain_user_icon">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="homeMain_user_detail">
|
||||||
|
<div v-if="isTest" class="username">{{$t('Header.hello')}}@{{ $t('isTest.userName') }}</div>
|
||||||
|
<div v-else class="username">{{$t('Header.hello')}}@{{ userInfo?.userName }}</div>
|
||||||
|
<div class="homeMain_user_detail_item homeMain_user_detail_attention">
|
||||||
|
<div class="attention_item attention_item_active">
|
||||||
|
<div>123</div>
|
||||||
|
<span>关注</span>
|
||||||
|
</div>
|
||||||
|
<div class="attention_item attention_item_active">
|
||||||
|
<div>321</div>
|
||||||
|
<span>粉丝</span>
|
||||||
|
</div>
|
||||||
|
<div class="attention_item">
|
||||||
|
<div>22</div>
|
||||||
|
<span>作品数</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="homeMain_user_detail_item homeMain_user_detail_setUser">
|
||||||
|
<i class="fi fi-rr-user"></i>
|
||||||
|
<div>个人中心</div>
|
||||||
|
<i class="icon iconfont icon-xiala"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="homeMain_user_content">
|
<div class="homeMain_user_content">
|
||||||
<div v-if="isTest" class="username"><span>/</span> {{$t('Header.hello')}}@{{ $t('isTest.userName') }}</div>
|
<div v-if="isTest" class="username"><span>/</span> {{$t('Header.hello')}}@{{ $t('isTest.userName') }}</div>
|
||||||
<div v-else class="username"><span>/</span> {{$t('Header.hello')}}@{{ userInfo?.userName }}</div>
|
<div v-else class="username"><span>/</span> {{$t('Header.hello')}}@{{ userInfo?.userName }}</div>
|
||||||
<div
|
<div
|
||||||
v-if="!isMurmur"
|
v-if="!isMurmur"
|
||||||
|
|
||||||
:class="[
|
:class="[
|
||||||
'icon',
|
'icon',
|
||||||
'iconfont',
|
'iconfont',
|
||||||
@@ -137,6 +165,8 @@ import { useStore } from "vuex";
|
|||||||
import { setLang } from "@/tool/guide";
|
import { setLang } from "@/tool/guide";
|
||||||
import showViewVideo from "@/tool/mount";
|
import showViewVideo from "@/tool/mount";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { gsap, TweenMax,TweenLite } from "gsap";
|
||||||
|
import { ScrollTrigger } from "gsap/ScrollTrigger";
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
VerificationCodeInput,
|
VerificationCodeInput,
|
||||||
@@ -231,6 +261,12 @@ export default defineComponent({
|
|||||||
// console.log(String(newVal).length);
|
// console.log(String(newVal).length);
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
directives:{
|
||||||
|
moveOpenDetal:{
|
||||||
|
mounted (el,binding) {
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let isTest = getCookie('isTest')//获取是否是试用用户
|
let isTest = getCookie('isTest')//获取是否是试用用户
|
||||||
this.isTest =JSON.parse(isTest)
|
this.isTest =JSON.parse(isTest)
|
||||||
@@ -253,6 +289,42 @@ export default defineComponent({
|
|||||||
this.store.dispatch('getLangType').then(()=>{
|
this.store.dispatch('getLangType').then(()=>{
|
||||||
this.getLangIsShowMark = false
|
this.getLangIsShowMark = false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
let tl1 = gsap.timeline({ paused: true });
|
||||||
|
let heradeRight = document.querySelector('.homeMain_max .homeMain_right_content')
|
||||||
|
let userDetailMax = document.querySelector('.homeMain_max .homeMain_user')
|
||||||
|
let userDetailIcon = document.querySelector('.homeMain_max .homeMain_user_icon')
|
||||||
|
let userName = document.querySelector('.homeMain_max .homeMain_user_content')
|
||||||
|
let userDetail = document.querySelector('.homeMain_max .homeMain_user_detail')
|
||||||
|
// let anmiation = TweenMax.to(userDetailMax,1, {'margin-top':'30px',opacity:1})
|
||||||
|
// anmiation.stop()
|
||||||
|
let state
|
||||||
|
tl1
|
||||||
|
.to(userDetail,.3, {opacity:1,display:'flex'})
|
||||||
|
.to(userDetailIcon,.3, {'left':'15rem',y:'25%',x:'-50%',scale:1.5,opacity:1},'-=.3')
|
||||||
|
.to(userName,.3, {opacity:0},'-=.3')
|
||||||
|
let overTime
|
||||||
|
let outTime
|
||||||
|
userDetailMax.addEventListener('mouseenter',(event)=>{
|
||||||
|
if(state && !outTime)return
|
||||||
|
clearTimeout(overTime)
|
||||||
|
clearTimeout(outTime)
|
||||||
|
overTime = setTimeout(() => {
|
||||||
|
state = true
|
||||||
|
this.isShowOperate = false
|
||||||
|
this.isLanguage = false
|
||||||
|
tl1.play()
|
||||||
|
}, 500);
|
||||||
|
})
|
||||||
|
heradeRight.addEventListener('mouseleave',(event)=>{
|
||||||
|
if(!state)return
|
||||||
|
clearTimeout(outTime)
|
||||||
|
outTime = setTimeout(() => {
|
||||||
|
state = false
|
||||||
|
tl1.reverse()
|
||||||
|
}, 500);
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setTask(data){
|
setTask(data){
|
||||||
@@ -509,39 +581,109 @@ export default defineComponent({
|
|||||||
width: 33%;
|
width: 33%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
overflow: hidden;
|
|
||||||
.homeMain_icon {
|
.homeMain_icon {
|
||||||
font-size: 3.6rem;
|
font-size: 3.6rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 0.3rem;
|
top: 0.3rem;
|
||||||
}
|
}
|
||||||
.homeMain_user_icon{
|
.homeMain_user{
|
||||||
height: 4rem;
|
.homeMain_user_icon{
|
||||||
width: 4rem;
|
height: 6rem;
|
||||||
background-color: #000;
|
width: 6rem;
|
||||||
border-radius: 50%;
|
position: relative;
|
||||||
transform: translateX(-40%)scale(1.3);
|
transform-origin: top;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 2;
|
||||||
|
left: 0;
|
||||||
|
background-color: #000;
|
||||||
|
border-radius: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
// transition: all .3s;
|
||||||
|
}
|
||||||
|
.homeMain_user_detail{
|
||||||
|
position: absolute;
|
||||||
|
top: calc(100% + .5rem);
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
width: 30rem;
|
||||||
|
height: 30rem;
|
||||||
|
opacity: 0;
|
||||||
|
display: none;
|
||||||
|
box-shadow: 0 0px 10px 1px rgba(0, 0, 0, 0.12);
|
||||||
|
padding-top: 4rem;
|
||||||
|
text-align: center;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 4rem 3rem;
|
||||||
|
|
||||||
|
.homeMain_user_detail_attention{
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 2rem;
|
||||||
|
border-bottom: 1px solid #e3e5e7;
|
||||||
|
.attention_item{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.attention_item_active:hover{
|
||||||
|
color: #39215b;
|
||||||
|
span{
|
||||||
|
color: #39215b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.attention_item:last-child{
|
||||||
|
cursor: auto;
|
||||||
|
}
|
||||||
|
span{
|
||||||
|
font-size: 1.4rem;
|
||||||
|
color: #949eae;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.homeMain_user_detail_setUser{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 100%;
|
||||||
|
i{
|
||||||
|
font-size: 2rem;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.fi-rr-user{
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
.icon-xiala{
|
||||||
|
margin-left: auto
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.homeMain_user_detail_item{
|
||||||
|
margin-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.username {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
color: #1a1a1a;
|
||||||
|
margin: 0 0.8rem;
|
||||||
|
font-weight: 900;
|
||||||
|
span{
|
||||||
|
margin: .7rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.homeMain_user_content {
|
.homeMain_user_content {
|
||||||
// margin-left: 2rem;
|
// transition: all .3s;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
// top: 1.2rem;
|
|
||||||
height: 3.7rem;
|
height: 3.7rem;
|
||||||
&.marLeft2{
|
&.marLeft2{
|
||||||
margin-left: 2rem;
|
margin-left: 2rem;
|
||||||
}
|
}
|
||||||
.username {
|
|
||||||
font-size: 1.8rem;
|
|
||||||
color: #1a1a1a;
|
|
||||||
margin: 0 0.8rem;
|
|
||||||
font-weight: 900;
|
|
||||||
span{
|
|
||||||
margin: .7rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-xiala {
|
.icon-xiala {
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="feedbackSurvey">
|
<div class="feedbackSurvey" :class="{'active': forbid}">
|
||||||
<main id="main">
|
<main id="main">
|
||||||
<h1 id="title">AiDA 3.0 Feedback Survey</h1>
|
<h1 id="title">AiDA 3.0 Feedback Survey</h1>
|
||||||
<p id="description">Please take the survey</p>
|
<p id="description" v-if="!forbid">Please take the survey</p>
|
||||||
<div id="survey-form">
|
<div id="survey-form" :class="{'active': !forbid}">
|
||||||
<h2 class="section-title">Personal Information</h2>
|
<h2 class="section-title">Personal Information</h2>
|
||||||
<div class="section w40">
|
<div class="section w40">
|
||||||
<label for="name"
|
<label for="name"
|
||||||
>Name:<span class="fontColor">*</span></label
|
>Name:<span class="fontColor">*</span></label
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
:readonly="forbid"
|
||||||
type="text"
|
type="text"
|
||||||
v-model="userName"
|
v-model="userName"
|
||||||
placeholder="Enter your name"
|
placeholder="Enter your name"
|
||||||
@@ -19,7 +20,7 @@
|
|||||||
<label for="gender"
|
<label for="gender"
|
||||||
>Gender:<span class="fontColor">*</span></label
|
>Gender:<span class="fontColor">*</span></label
|
||||||
>
|
>
|
||||||
<select name="dropdown" id="dropdown" v-model="gender">
|
<select :disabled="forbid" name="dropdown" id="dropdown" v-model="gender">
|
||||||
<option selected value='Female'>Female</option>
|
<option selected value='Female'>Female</option>
|
||||||
<option value='Male'>Male</option>
|
<option value='Male'>Male</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
:readonly="forbid"
|
||||||
v-model="occupation"
|
v-model="occupation"
|
||||||
placeholder="Enter your occupation"
|
placeholder="Enter your occupation"
|
||||||
required
|
required
|
||||||
@@ -57,7 +59,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
<div class="section w40">
|
<div class="section w40">
|
||||||
<label for="dropdown">Country of Origin:<span class="fontColor" >*</span></label>
|
<label for="dropdown">Country of Origin:<span class="fontColor" >*</span></label>
|
||||||
<select name="dropdown" id="dropdown" v-model="country" required>
|
<select :disabled="forbid" name="dropdown" id="dropdown" v-model="country" required>
|
||||||
<option disabled selected value> Select an option </option>
|
<option disabled selected value> Select an option </option>
|
||||||
<option v-for="item in CountryList" :key="item" :value="item">{{ item }}</option>
|
<option v-for="item in CountryList" :key="item" :value="item">{{ item }}</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
type="email"
|
type="email"
|
||||||
|
:readonly="forbid"
|
||||||
v-model="email"
|
v-model="email"
|
||||||
placeholder="Enter your email"
|
placeholder="Enter your email"
|
||||||
required
|
required
|
||||||
@@ -77,6 +80,7 @@
|
|||||||
<p>Age Group:<span class="fontColor">*</span></p>
|
<p>Age Group:<span class="fontColor">*</span></p>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="radio"
|
type="radio"
|
||||||
value="below20"
|
value="below20"
|
||||||
name="age"
|
name="age"
|
||||||
@@ -86,15 +90,15 @@
|
|||||||
Below 20
|
Below 20
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input checked type="radio" value="20-30" v-model="age" name="age" />
|
<input :disabled="forbid" checked type="radio" value="20-30" v-model="age" name="age" />
|
||||||
20-30
|
20-30
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" value="30-40" v-model="age" name="age" />
|
<input :disabled="forbid" type="radio" value="30-40" v-model="age" name="age" />
|
||||||
30-40
|
30-40
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" value="40+" v-model="age" name="age" />
|
<input :disabled="forbid" type="radio" value="40+" v-model="age" name="age" />
|
||||||
40+
|
40+
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -131,6 +135,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="1"
|
value="1"
|
||||||
@@ -140,6 +145,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="2"
|
value="2"
|
||||||
@@ -149,6 +155,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="3"
|
value="3"
|
||||||
@@ -158,6 +165,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="4"
|
value="4"
|
||||||
@@ -167,6 +175,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="5"
|
value="5"
|
||||||
@@ -176,6 +185,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="6"
|
value="6"
|
||||||
@@ -185,6 +195,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="7"
|
value="7"
|
||||||
@@ -194,6 +205,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="8"
|
value="8"
|
||||||
@@ -203,6 +215,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="9"
|
value="9"
|
||||||
@@ -212,6 +225,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="10"
|
value="10"
|
||||||
@@ -221,6 +235,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="11"
|
value="11"
|
||||||
@@ -230,6 +245,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
class="marTop1"
|
class="marTop1"
|
||||||
@@ -237,6 +253,7 @@
|
|||||||
/>
|
/>
|
||||||
<span> Others:</span>
|
<span> Others:</span>
|
||||||
<textarea
|
<textarea
|
||||||
|
:readonly="forbid"
|
||||||
name="comments"
|
name="comments"
|
||||||
id="text-area"
|
id="text-area"
|
||||||
placeholder="Please enter..."
|
placeholder="Please enter..."
|
||||||
@@ -252,6 +269,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="1"
|
value="1"
|
||||||
@@ -262,6 +280,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="2"
|
value="2"
|
||||||
@@ -271,6 +290,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="3"
|
value="3"
|
||||||
@@ -280,6 +300,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="4"
|
value="4"
|
||||||
@@ -289,6 +310,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="5"
|
value="5"
|
||||||
@@ -298,6 +320,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="6"
|
value="6"
|
||||||
@@ -307,6 +330,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="7"
|
value="7"
|
||||||
@@ -316,6 +340,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="8"
|
value="8"
|
||||||
@@ -325,6 +350,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="9"
|
value="9"
|
||||||
@@ -334,6 +360,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
value="10"
|
value="10"
|
||||||
@@ -343,6 +370,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="checkbox-question"
|
name="checkbox-question"
|
||||||
class="marTop1"
|
class="marTop1"
|
||||||
@@ -354,6 +382,7 @@
|
|||||||
type="text"
|
type="text"
|
||||||
/> -->
|
/> -->
|
||||||
<textarea
|
<textarea
|
||||||
|
:readonly="forbid"
|
||||||
name="comments"
|
name="comments"
|
||||||
id="text-area"
|
id="text-area"
|
||||||
v-model="othersImprovel"
|
v-model="othersImprovel"
|
||||||
@@ -366,6 +395,7 @@
|
|||||||
<p>3. Will you subscribe to AiDA 3.0?<span class="fontColor">*</span></p>
|
<p>3. Will you subscribe to AiDA 3.0?<span class="fontColor">*</span></p>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="radio"
|
type="radio"
|
||||||
value="yes"
|
value="yes"
|
||||||
v-model="isSubscribe"
|
v-model="isSubscribe"
|
||||||
@@ -374,7 +404,7 @@
|
|||||||
Yes
|
Yes
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input v-model="isSubscribe" type="radio" value="no" name="radio-question" />
|
<input :disabled="forbid" v-model="isSubscribe" type="radio" value="no" name="radio-question" />
|
||||||
No
|
No
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -382,6 +412,7 @@
|
|||||||
<p>If NO, please share why:<span class="fontColor">*</span></p>
|
<p>If NO, please share why:<span class="fontColor">*</span></p>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
value="Not useful"
|
value="Not useful"
|
||||||
name="reasonForNotSubscribe"
|
name="reasonForNotSubscribe"
|
||||||
@@ -390,11 +421,12 @@
|
|||||||
Not useful
|
Not useful
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" value="Too expensive" v-model="reasonForNotSubscribe" name="reasonForNotSubscribe" />
|
<input :disabled="forbid" type="checkbox" value="Too expensive" v-model="reasonForNotSubscribe" name="reasonForNotSubscribe" />
|
||||||
Too expensive
|
Too expensive
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
|
:disabled="forbid"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
name="reasonForNotSubscribe"
|
name="reasonForNotSubscribe"
|
||||||
ref="isSubscribeCauseOthers"
|
ref="isSubscribeCauseOthers"
|
||||||
@@ -402,6 +434,7 @@
|
|||||||
/>
|
/>
|
||||||
<span> Others:</span>
|
<span> Others:</span>
|
||||||
<textarea
|
<textarea
|
||||||
|
:readonly="forbid"
|
||||||
name="comments"
|
name="comments"
|
||||||
id="text-area"
|
id="text-area"
|
||||||
v-model="othersIsSubscribeCause"
|
v-model="othersIsSubscribeCause"
|
||||||
@@ -416,13 +449,14 @@
|
|||||||
list:
|
list:
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
|
:readonly="forbid"
|
||||||
name="comments"
|
name="comments"
|
||||||
id="text-area"
|
id="text-area"
|
||||||
v-model="designTools"
|
v-model="designTools"
|
||||||
placeholder="Please enter..."
|
placeholder="Please enter..."
|
||||||
></textarea>
|
></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="section">
|
<div v-if="!forbid" class="section">
|
||||||
<button id="submit" @click="setSubmit">Submit</button>
|
<button id="submit" @click="setSubmit">Submit</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -437,7 +471,7 @@ import { Https } from "@/tool/https";
|
|||||||
import { defineComponent, toRefs,ref, reactive, createVNode } from "vue";
|
import { defineComponent, toRefs,ref, reactive, createVNode } from "vue";
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
const feedbackData:any = reactive({
|
let feedbackData:any = reactive({
|
||||||
userName:'',
|
userName:'',
|
||||||
gender:'Female',
|
gender:'Female',
|
||||||
occupation:'',
|
occupation:'',
|
||||||
@@ -684,7 +718,42 @@ export default defineComponent({
|
|||||||
).catch(res=>{
|
).catch(res=>{
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
let forbid = ref(false)
|
||||||
|
let initData = (data:any) => {
|
||||||
|
// Object.assign(feedbackData,data)
|
||||||
|
// console.log(JSON.parse(JSON.stringify(feedbackData)));
|
||||||
|
forbid.value = true
|
||||||
|
for (const iterator in data) {
|
||||||
|
if(typeof data[iterator] == 'object'){
|
||||||
|
data[iterator].forEach((item:any)=>{
|
||||||
|
if(item*1){
|
||||||
|
feedbackData[iterator].push(item)
|
||||||
|
}else{
|
||||||
|
if(iterator == 'helpful'){
|
||||||
|
refList.helpfulOthers.checked = true
|
||||||
|
othersHelpful.value = item
|
||||||
|
}else if(iterator == 'improve'){
|
||||||
|
refList.improvelOthers.checked = true
|
||||||
|
othersImprovel.value = item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
feedbackData[iterator] = data[iterator]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(data.othersIsSubscribeCause){
|
||||||
|
refList.isSubscribeCauseOthers.checked = true
|
||||||
|
let arr = []
|
||||||
|
data.reasonForNotSubscribe.forEach((item:any,index:number) => {
|
||||||
|
if(index <= 1){
|
||||||
|
arr.push(item)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
othersIsSubscribeCause.value = data.othersIsSubscribeCause[2]
|
||||||
|
}
|
||||||
|
// feedbackData = reactive(...data)
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
...toRefs(feedbackData),
|
...toRefs(feedbackData),
|
||||||
...toRefs(refList),
|
...toRefs(refList),
|
||||||
@@ -693,6 +762,8 @@ export default defineComponent({
|
|||||||
othersIsSubscribeCause,
|
othersIsSubscribeCause,
|
||||||
CountryList,
|
CountryList,
|
||||||
setSubmit,
|
setSubmit,
|
||||||
|
forbid,
|
||||||
|
initData,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -710,15 +781,49 @@ export default defineComponent({
|
|||||||
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap");
|
||||||
.feedbackSurvey {
|
.feedbackSurvey {
|
||||||
font-family: "Quicksand", sans-serif;
|
font-family: "Quicksand", sans-serif;
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
// background: linear-gradient(180deg, #f3f3e6 0%, #eee4f3 100%);
|
// background: linear-gradient(180deg, #f3f3e6 0%, #eee4f3 100%);
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
&.active{
|
||||||
|
#title {
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
||||||
|
#description {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
}
|
||||||
|
#survey-form {
|
||||||
|
width: 90%;
|
||||||
|
padding: 1.5rem;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
p{
|
||||||
|
font-size: 1.4rem;
|
||||||
|
}
|
||||||
|
input,
|
||||||
|
#dropdown {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
max-height: 125px;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
input[type="radio"],
|
||||||
|
input[type="checkbox"] {
|
||||||
|
width: 1rem;
|
||||||
|
height: 1rem;
|
||||||
|
}
|
||||||
|
input,select{
|
||||||
|
height: 3.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
#main{
|
#main{
|
||||||
background: linear-gradient(45deg, #eee4f3, #f3f4e6);
|
background: linear-gradient(45deg, #eee4f3, #f3f4e6);
|
||||||
|
padding: 2rem;
|
||||||
}
|
}
|
||||||
#title {
|
#title {
|
||||||
font-size: 6rem;
|
font-size: 6rem;
|
||||||
@@ -730,7 +835,7 @@ export default defineComponent({
|
|||||||
font-size: 2.8rem;
|
font-size: 2.8rem;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
#survey-form {
|
#survey-form {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: rgba(255, 255, 255, 0.2);
|
background: rgba(255, 255, 255, 0.2);
|
||||||
@@ -742,12 +847,14 @@ export default defineComponent({
|
|||||||
padding: 3rem;
|
padding: 3rem;
|
||||||
box-shadow: -1px 1px 5px 0.5px;
|
box-shadow: -1px 1px 5px 0.5px;
|
||||||
font-size: 2.4rem;
|
font-size: 2.4rem;
|
||||||
transition: width 1s ease;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
&.active{
|
||||||
|
transition: width 1s ease;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 760px) {
|
@media (max-width: 760px) {
|
||||||
form {
|
form {
|
||||||
width: 75%;
|
width: 75%;
|
||||||
@@ -763,6 +870,9 @@ export default defineComponent({
|
|||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.section:last-child{
|
||||||
|
margin-bottom: 4rem;
|
||||||
|
}
|
||||||
.w40 {
|
.w40 {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
>性别:<span class="fontColor">*</span></label
|
>性别:<span class="fontColor">*</span></label
|
||||||
>
|
>
|
||||||
<select name="dropdown" id="dropdown" v-model="gender">
|
<select name="dropdown" id="dropdown" v-model="gender">
|
||||||
<option selected value='Female'>男性</option>
|
<option selected value='Female'>男女性性</option>
|
||||||
<option value='Male'>女性</option>
|
<option value='Male'>男性</option>
|
||||||
</select>
|
</select>
|
||||||
<!-- <input
|
<!-- <input
|
||||||
type="text"
|
type="text"
|
||||||
@@ -705,6 +705,7 @@ export default defineComponent({
|
|||||||
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap");
|
||||||
.feedbackSurvey {
|
.feedbackSurvey {
|
||||||
font-family: "Quicksand", sans-serif;
|
font-family: "Quicksand", sans-serif;
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
// background: linear-gradient(180deg, #f3f3e6 0%, #eee4f3 100%);
|
// background: linear-gradient(180deg, #f3f3e6 0%, #eee4f3 100%);
|
||||||
|
|||||||
Reference in New Issue
Block a user