zq-ui #36

Merged
zhangqi merged 5 commits from zq-ui into master 2 months ago
  1. 1
      src/assets/addIcon_light.svg
  2. 12
      src/assets/css/fonts.css
  3. BIN
      src/assets/dropDown_expand.png
  4. BIN
      src/assets/dropDown_open.png
  5. BIN
      src/assets/fonts/RobotoCondensed-Bold.ttf
  6. BIN
      src/assets/fonts/RobotoCondensed-Regular.ttf
  7. 1
      src/assets/site/siteSemInfo_Icon.svg
  8. BIN
      src/assets/site/step_4.png
  9. 1
      src/assets/site/uploadIcon_light.svg
  10. 9
      src/components/CustomDropdown.vue
  11. 1
      src/components/Footer.vue
  12. 2
      src/components/GlobalLoading1.vue
  13. 4
      src/components/GroupFormBtns.vue
  14. 16
      src/components/Header.vue
  15. 3
      src/main.js
  16. 75
      src/style/theme/common.scss
  17. 747
      src/style/theme/commonOld.scss
  18. 16
      src/style/theme/index.css
  19. 319
      src/views/ConfigureServicePrices.vue
  20. 3
      src/views/Franchise.vue
  21. 87
      src/views/HomeView.vue
  22. 2
      src/views/Register.vue
  23. 27
      src/views/SiteBaseSetting.vue
  24. 60
      src/views/SitePersonalization.vue
  25. 92
      src/views/SiteSem.vue
  26. 20
      src/views/elementGroups.vue
  27. 25
      src/views/super/Ranking/Purchase.vue

1
src/assets/addIcon_light.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

12
src/assets/css/fonts.css

@ -0,0 +1,12 @@
@font-face {
font-family: 'Roboto Condensed';
src: url('../fonts/RobotoCondensed-Regular.ttf') format('truetype');
font-weight: 400;
font-display: swap;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('../fonts/RobotoCondensed-Bold.ttf') format('truetype');
font-weight: 700;
font-display: swap;
}

BIN
src/assets/dropDown_expand.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

BIN
src/assets/dropDown_open.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

BIN
src/assets/fonts/RobotoCondensed-Bold.ttf

Binary file not shown.

BIN
src/assets/fonts/RobotoCondensed-Regular.ttf

Binary file not shown.

1
src/assets/site/siteSemInfo_Icon.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_217_60685"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_217_60685)"><g><path d="M8,1C9.97933,1.052,11.6278,1.7368329999999998,12.9455,3.0545C14.2632,4.372170000000001,14.948,6.02067,15,8C14.948,9.97933,14.2632,11.6278,12.9455,12.9455C11.6278,14.2632,9.97933,14.948,8,15C6.02067,14.948,4.372170000000001,14.2632,3.0545,12.9455C1.7368329999999998,11.6278,1.052,9.97933,1,8C1.052,6.02067,1.7368329999999998,4.372170000000001,3.0545,3.0545C4.372170000000001,1.7368329999999998,6.02067,1.052,8,1C8,1,8,1,8,1C8,1,8,1,8,1ZM9.047,5.297C9.318,5.297,9.542,5.21633,9.719,5.055C9.896,4.89367,9.9845,4.6775,9.9845,4.406499999999999C9.9845,4.1355,9.896,3.91933,9.719,3.758C9.542,3.59667,9.32067,3.516,9.055,3.516C8.78933,3.516,8.568,3.59667,8.391,3.758C8.214,3.91933,8.125499999999999,4.1355,8.125499999999999,4.406499999999999C8.125499999999999,4.6775,8.214,4.89367,8.391,5.055C8.568,5.21633,8.78683,5.297,9.0475,5.297C9.0475,5.297,9.047,5.297,9.047,5.297C9.047,5.297,9.047,5.297,9.047,5.297ZM9.2345,10.922C9.2345,10.85933,9.23967,10.776,9.25,10.672C9.26033,10.568,9.26033,10.469,9.25,10.375C9.25,10.375,8.422,11.328,8.422,11.328C8.33867,11.4217,8.25267,11.4947,8.164,11.547C8.075330000000001,11.5993,7.99983,11.615,7.9375,11.594C7.84383,11.5523,7.80217,11.4793,7.8125,11.375C7.8125,11.375,9.1875,7.047,9.1875,7.047C9.2395,6.75533,9.19267,6.50533,9.047,6.297C8.90133,6.08867,8.667,5.96367,8.344000000000001,5.922C7.97933,5.93233,7.58083,6.086,7.1485,6.383C6.71617,6.68,6.3385,7.05767,6.0155,7.516C6.0155,7.516,6.0155,7.7505,6.0155,7.7505C6.00517,7.85483,6.00517,7.95383,6.0155,8.0475C6.0155,8.0475,6.8435,7.0945,6.8435,7.0945C6.92683,7.00083,7.01283,6.92783,7.1015,6.8755C7.19017,6.82317,7.2605,6.8075,7.3125,6.8285C7.41683,6.8805,7.45333,6.96383,7.422,7.0785C7.422,7.0785,6.0625,11.391,6.0625,11.391C5.9895,11.6513,6.026,11.8832,6.172,12.0865C6.318,12.2898,6.57317,12.4278,6.9375,12.5005C7.4585,12.4902,7.896,12.3392,8.25,12.0475C8.604,11.7558,8.93217,11.3808,9.2345,10.9225C9.2345,10.9225,9.2345,10.922,9.2345,10.922C9.2345,10.922,9.2345,10.922,9.2345,10.922Z" fill="#006AFF" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/assets/site/step_4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

1
src/assets/site/uploadIcon_light.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="20" height="16" viewBox="0 0 20 16"><defs><clipPath id="master_svg0_401_004793/89_47570"><rect x="0" y="0" width="20" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_401_004793/89_47570)"><g transform="matrix(1,0,0,-1,0,30.6875)"><g><path d="M4.5,15.34375Q2.59375,15.40625,1.3125,16.65625Q0.0625,17.9375,0,19.84375Q0.03125,21.34375,0.84375,22.46875Q1.65625,23.59375,3,24.09375Q3,24.21875,3,24.34375Q3.0625,26.46875,4.46875,27.87495Q5.875,29.28125,8,29.34375Q9.40625,29.31255,10.5312,28.65625Q11.6562,27.96875,12.3438,26.84375Q13.0625,27.34375,14,27.34375Q15.2812,27.31255,16.125,26.46875Q16.9688,25.62495,17,24.34375Q17,23.78125,16.8125,23.25Q18.1875,22.96875,19.0938,21.875Q19.9688,20.8125,20,19.34375Q19.9688,17.65625,18.8438,16.5Q17.6875,15.375,16,15.34375L4.5,15.34375ZM6.96875,22.125Q6.53125,21.59375,6.96875,21.0625Q7.5,20.625,8.03125,21.0625L9.25,22.28125L9.25,18.09375Q9.3125,17.40625,10,17.34375Q10.6875,17.40625,10.75,18.09375L10.75,22.28125L11.9688,21.0625Q12.5,20.625,13.0312,21.0625Q13.4688,21.59375,13.0312,22.125L10.5312,24.625Q10,25.0625,9.46875,24.625L6.96875,22.125Z" fill="#006AFF" fill-opacity="1"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

9
src/components/CustomDropdown.vue

@ -5,7 +5,8 @@
<slot name="trigger">
{{ selectedItem ? selectedItem.label : placeholder }}
</slot>
<span class="arrow-icon">{{ isOpen ? "▲" : "▼" }}</span>
<img class="arrow-icon" :src="isOpen? require('../assets/dropDown_open.png'):require('../assets/dropDown_expand.png')" alt="">
<!-- <span class="arrow-icon">{{ isOpen ? img : "▼" }}</span> -->
</div>
<!-- 自定义内容 -->
@ -134,6 +135,7 @@ export default {
.is-open .select-trigger {
border: 1px solid #006AFF;
transition: all .5s;
outline: 3px solid #D8E9FA;
}
.select-trigger:hover {
@ -142,15 +144,16 @@ export default {
}
.arrow-icon {
font-size: 12px;
width: 12px;
}
.select-dropdown {
position: absolute;
top: 100%;
right: 0;
width: auto;
width: 100%;
border: 1px solid #ccc;
box-sizing: border-box;
border-radius: 4px;
background-color: #fff;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

1
src/components/Footer.vue

@ -11,6 +11,7 @@
align-items: center;
justify-content: center;
color: #626573;
font-size: 12px;
a{
text-decoration: none;
color: #006AFF !important;

2
src/components/GlobalLoading1.vue

@ -4,7 +4,7 @@
<div ref="animationContainer" class="animation-container"></div>
</div>
</div>
<div v-else>
<div v-else style="height: 100%;">
<slot></slot>
</div>
</template>

4
src/components/GroupFormBtns.vue

@ -2,8 +2,8 @@
<template>
<div class="btns-wrap flex">
<GuipButton type="normal" size="medium" @click="cancelClick">取消</GuipButton>
<GuipButton type="primary" size="medium" @click="confirmClick">保存</GuipButton>
<GuipButton type="ignore" @click="cancelClick">取消</GuipButton>
<GuipButton type="primary" @click="confirmClick">保存</GuipButton>
</div>
</template>
<script>

16
src/components/Header.vue

@ -49,6 +49,22 @@
.el-dropdown-link {
cursor: pointer;
}
.right-item{
padding: 10px;
transition: all .3s;
cursor: pointer;
&:hover{
border-radius: 6px;
background: rgba(255, 255, 255, 0.4);
color: #006AFF;
transition: all .3s;
}
}
.el-dropdown .right-item{
padding: 0 10px;
cursor: pointer;
}
.right-item-icon {
width: 36px;

3
src/main.js

@ -9,7 +9,8 @@ import './style/theme/index.css'
import './style/theme/common.scss'
import 'core-js/stable';
import 'regenerator-runtime/runtime';
import LoadingService from './services/loading';
import '@/assets/css/fonts.css';
import LoadingService from './services/loading'
import { directive as clickaway } from 'vue-clickaway';
import GuipMessage from '@/components/GuipMessage/index';
Vue.prototype.$loadingFn = LoadingService;

75
src/style/theme/common.scss

@ -13,9 +13,43 @@ body {
padding: 0;
}
}
.common_title{
font-weight: bold;
letter-spacing: 0.08em;
color: #1E2226;
font-size: 14px;
}
.common_text{
font-size: 14px;
color: #6B7280;
font-weight: normal;
letter-spacing: 0.08em;
}
// 变小手
.point{
cursor: pointer;
}
// 文字滑过变色
.hoverCommon {
cursor: pointer;
transition: all .3s;
&:hover {
transition: all .3s;
color: #006AFF !important;
}
}
.gap10{
display: flex;
gap: 10px;
}
.gap8{
display: flex;
gap: 8px;
}
.gap12{
display: flex;
gap: 12px;
}
.mt16{
margin-top: 16px;
}
@ -35,6 +69,9 @@ body {
.mb24{
margin-bottom: 24px;
}
.mb12{
margin-bottom: 12px;
}
.mt12{
margin-top: 12px;
}
@ -77,9 +114,30 @@ body {
padding: 15px 20px;
color: #626573;
justify-content: center;
img{
transition: all .3s;
// img{
// margin-right: 12px;
// }
&:active {
opacity: 0.7;
}
div {
width: 16px;
height: 16px;
background-image: url(../../assets/addIcon.svg);
margin-right: 12px;
}
&:hover {
transition: all .3s;
div {
background-image: url(../../assets/addIcon_light.svg);
}
border-color: #006AFF;
color: #006AFF;
}
}
@keyframes fadeInOut {
0% {
@ -139,6 +197,7 @@ body {
}
}
.desc {
font-size: 12px;
font-weight: normal;
@ -154,7 +213,7 @@ body {
.flex-common {
padding: 32px 36px;
background-color: #fff;
border-radius: 4px;
h3 {
text-align: left;
margin: 0 0 32px 0;
@ -236,6 +295,7 @@ body {
transition: all .3s;
background: #006AFF;
color: #fff;
transition: all .3s;
span{
display: flex;
align-items: center;
@ -243,6 +303,9 @@ body {
img{
margin-right: 6px;
}
&:active{
opacity: 0.7;
}
}
.el-button--superBig{
width: 388px;
@ -430,7 +493,7 @@ body {
}
.el-input__inner {
height: 100%;
height: 39px;
padding: 10px 12px;
border-radius: 4px;
}
@ -459,6 +522,8 @@ body {
.el-input__inner::placeholder {
color: #BABDC2;
letter-spacing: 0.08em;
font-family: Microsoft YaHei UI;
}
.el-input--prefix .el-input__inner {
@ -816,6 +881,10 @@ body {
display: flex;
align-items: center;
}
// 公共圆角类名
.br4{
border-radius: 4px;
}
// 自定义下拉内容框
.noraml-jump {

747
src/style/theme/commonOld.scss

@ -1,747 +0,0 @@
html {
scroll-behavior: smooth; /* 使整个页面的滚动平滑 */
}
body {
font-family: Microsoft YaHei UI;
font-size: 14px;
margin: 0;
width: 100vw;
height: 100vh;
p {
margin: 0;
padding: 0;
}
}
.point{
cursor: pointer;
}
.mt16{
margin-top: 16px;
}
.mt32{
margin-top: 32px;
}
.mb32{
margin-bottom: 32px;
}
.hide{
display: none !important;
}
.column{
display: flex;
flex-direction: column;
}
.mb24{
margin-bottom: 24px;
}
.mt12{
margin-top: 12px;
}
.mt10{
margin-top: 10px;
}
.ceshi{
transition: all .5s;
box-sizing: border-box;
/* main/main_stardard */
border: 1px solid #006AFF !important;
/* 蓝色阴影_常规 */
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
::v-deep .el-radio__original {
display: none !important;
}
.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled)
.el-radio__inner {
box-shadow: none !important;
}
.el-tabs__item.is-active {
letter-spacing: 0.08em;
/* main/main_stardard */
color: #006AFF;
font-weight: bold;
}
.el-tabs__nav-wrap::after {
content: none;
}
.addStore {
margin-top: 12px;
border-radius: 4px;
opacity: 1;
/* text/text_white_2 */
border: 1px dashed #BABDC2;
padding: 15px 20px;
color: #626573;
justify-content: center;
img{
margin-right: 12px;
}
}
@keyframes fadeInOut {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.ellipsis{
}
.el-container {
height: 100%;
.el-main {
padding: 0;
}
}
.min-width {
min-width: 1200px;
}
// 公共类名
.mb24 {
margin-bottom: 24px;
}
// 多数左右布局中间带竖线
.min-flex {
min-width: 1100px;
max-width: 1556px;
width: 84.75%;
margin: 0 auto;
}
.min-flex-right {
min-width: 1033px;
max-width: 1556px;
width: 84.75%;
margin: 0 auto;
.flex-common{
.flex-left,
.flex-right {
min-width: 440px;
max-width: 590px;
flex: 1;
}
.flex-line {
margin: 0 33px;
}
}
}
.desc {
font-size: 12px;
font-weight: normal;
line-height: 13px;
letter-spacing: 0.08em;
font-variation-settings: "opsz"auto;
/* text/text_4 */
color: #8A9099;
}
.borderNone{
border: none !important;
}
.flex-common {
padding: 32px 36px;
background-color: #fff;
h3 {
text-align: left;
margin: 0 0 32px 0;
span{
margin-left: 12px;
font-size: 14px;
font-weight: normal;
letter-spacing: 0.08em;
color: #626573;
}
}
.flex-wrap {
width: 100%;
display: flex;
justify-content: space-between;
}
.flex-line {
border-left: 1px solid #DFE2E6;
margin: 0 54px;
}
.flex-left,
.flex-right {
min-width: 460px;
max-width: 590px;
flex: 1;
}
.flex-left-desc{
/* body/body 2_regular */
font-family: Microsoft YaHei UI;
font-size: 14px;
font-weight: normal;
line-height: normal;
letter-spacing: 0.08em;
font-variation-settings: "opsz" auto;
/* text/text_1 */
color: #1E2226;
text-align: left;
// margin: ;
}
}
// end---------
//radio 发生change事件时会有报错
::v-deep .el-radio__original {
display: none !important;
}
::v-deep.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) {
.el-radio__inner {
box-shadow: none !important;
}
}
::v-deep .el-popover {
display: none !important;
}
::v-deep.el-popover:focus:not(.is-focus):not(:active):not(.is-disabled) {}
// .el-radio__inner {
// box-shadow: none !important;
// }
/* button==== start */
.el-button {
width: 144px;
height: 46px;
font-family: Microsoft YaHei UI;
font-size: 14px;
letter-spacing: 0.08em;
display: flex;
align-items: center;
justify-content: center;
transition: all .3s;
span{
display: flex;
align-items: center;
}
img{
margin-right: 6px;
}
}
.el-button--normal {
color: #626573;
}
.el-button--mild {
background: #FFFFFF;
border: 1px solid #006AFF;
color: #006AFF;
}
.el-button--primary,
.el-button--success,
.el-button--info,
.el-button--warning,
.el-button--danger {
color: #fff !important;
}
.el-button--medium {
//中等按钮
width: 97px;
height: 33px;
font-size: 14px;
line-height: 14px;
span {
height: 14px;
}
}
.el-button--small {
//小的按钮
width: 80px;
height: 32px;
font-size: 12px;
}
.el-button--mini {
//迷你按钮
width: 80px;
height: 28px;
font-size: 12px;
}
.el-button--reverseMild {
background: #E8F0FE;
color: #006AFF;
border: none;
}
.el-button--reverseMild:hover {
border-color: #F2F7FF !important;
background-color: #F2F7FF !important;
}
.el-button--reverseMild.is-disabled,
.el-button--reverseMild.is-disabled:hover {
color: #006AFF;
border-color: #E8F0FE;
background-color: #E8F0FE;
opacity: .7;
}
.el-button--mild.is-disabled,
.el-button--mild.is-disabled:hover {
color: #006AFF;
opacity: .7;
border-color: #006AFF;
}
/* button==== end */
// radio ---start
.el-radio__input.is-checked .el-radio__inner::after {
content: '';
/* 清空默认的伪元素内容 */
width: 14px;
height: 14px;
background-image: url('../../assets/radio_checked.svg');
/* 使用你的自定义图标 */
background-size: contain;
background-repeat: no-repeat;
}
.el-radio__label {
font-weight: normal;
}
// radio ---end
// input ---start
.el-input {
border-radius: 2px;
border: 1px solid transparent;
}
.el-input:focus-within {
transition: all .5s;
outline: 3px solid #D8E9FA;
border-color: #006AFF !important;
}
.is-error .hoverclass {
border-color: transparent !important;
}
.is-error .el-input:focus-within {
outline: none !important;
border-color: transparent !important;
}
.el-input__inner {
height: 100%;
padding: 10px 12px;
border-radius: 4px;
}
.el-input__prefix {
display: flex;
align-items: center;
left: 12px;
cursor: pointer;
}
.el-input__suffix {
display: flex;
align-items: center;
right: 12px;
cursor: pointer;
}
.el-input__inner:focus {
border-color: transparent;
}
.el-input__inner:hover {
border-color: transparent;
}
.el-input__inner::placeholder {
color: #BABDC2;
}
.el-input--prefix .el-input__inner {
padding-left: 36px;
}
.el-input--suffix .el-input__inner {
padding-right: 36px;
}
.el-input.is-disabled .el-input__inner {
background: #F6F7FA !important;
border-color: #DFE2E6 !important;
color: #BABDC2 !important;
}
.hoverclass {
border-color: #006AFF !important;
transition: all .5s;
}
// input ---end
// select start
.el-select {
width: 100%;
transition: all .5s;
}
.el-select:hover .el-input__inner {
transition: all .5s;
border-color: transparent;
}
.el-select .el-input.is-focus .el-input__inner {
border-color: transparent;
transition: all .5s;
}
.el-select .el-input__inner:focus {
border-color: transparent;
}
.el-select>.el-input {
height: 100%;
}
// select end
// textarea start
.el-textarea__inner {
padding: 10px 12px;
border-radius: 2px;
height: 100%;
}
.el-textarea__inner:hover {
border-color: #006AFF;
}
.el-textarea__inner:focus {
transition: all .5s;
outline: 3px solid #D8E9FA;
}
// textarea end
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,
.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before {
content: '';
}
.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label::after,
.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::after {
content: url(../../assets/require.svg);
display: inline-block;
// background-image: url(../../assets/require.svg);
color: #ff4d4f;
margin-right: 4px;
margin-left: 4px;
}
.form-item1 {
display: flex;
align-items: center;
label {
min-width: 54px;
margin-right: 8px;
}
label.el-radio {
margin-right: 24px;
.el-radio__label {
padding-left: 8px;
}
}
label.el-radio:last-child {
margin-right: 0px;
}
.form-item-top {
height: 18px;
display: flex;
align-items: center;
text-align: left;
}
.form-item-bottom {
flex: 1;
}
.rightdesc {
flex: 1;
text-align: right;
font-size: 12px;
line-height: 13px;
letter-spacing: 0.08em;
font-variation-settings: "opsz"auto;
color: #8A9099;
}
.form-item {
margin-bottom: 0;
}
}
.el-form-item__content {
// width: 100%;
flex: 1;
position: relative;
.desc_right {
position: absolute;
right: 0;
top: -40px;
margin: 0;
font-size: 12px;
line-height: 40px;
letter-spacing: 0.08em;
font-variation-settings: "opsz"auto;
color: #8A9099;
}
}
.w510 {
width: 510px;
}
.w388 {
width: 388px;
}
.form-item {
display: flex;
align-items: center;
}
.column {
display: flex;
flex-direction: column !important;
align-items: self-start;
.form-item-top {
width: 100%;
margin-bottom: 12px;
justify-content: space-between;
}
.form-item-bottom {
width: 100%;
}
.el-form-item__content {
width: 100%;
display: flex;
justify-content: flex-start;
}
}
.form-top-icon {
display: flex;
align-items: center;
img {
width: 16px;
height: 16px;
margin-right: 8px;
}
span {
color: #1E2226;
}
}
// table start
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
background-color: #F6F7FA;
}
.el-table td.el-table__cell {
border-bottom: 1px solid#EAECF0;
}
.el-table--fit {
border: 1px solid#EAECF0;
}
.el-button--text {
padding: 0;
width: auto !important;
height: auto !important;
}
.el-table th.el-table__cell {
background: #F6F7FA;
padding: 10px 0;
}
.el-table th.el-table__cell>.cell {
padding-left: 16px;
padding-right: 16px;
}
.el-table .el-table__cell {
padding: 18px 0;
}
.el-table .cell {
padding-left: 16px;
padding-right: 16px;
}
.el-table .el-form-item {
margin-bottom: 0;
}
// table end
.el-pagination {
margin-top: 16px;
display: flex;
justify-content: flex-end;
}
// dialog--start
.el-dialog {
min-height: 214px;
max-height: 550px;
border-radius: 4px;
background: #FFFFFF;
box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.16);
display: flex;
flex-direction: column;
.el-dialog__header {
font-size: 20px;
font-weight: bold;
line-height: 26px;
text-align: left;
letter-spacing: 0.08em;
color: #1F2026;
padding: 32px 32px 12px;
}
.el-dialog__body {
padding: 0 32px 32px;
flex: 1;
}
}
.el-dialog__footer {
display: flex;
justify-content: center;
padding: 0 32px 32px !important;
.dialog-footer-center {
width: 100%;
justify-content: space-between;
button {
width: 247px;
height: 44px;
}
}
.dialog-footer-normal {
width: 100%;
justify-content: flex-end !important;
button {
width: 96px;
height: 38px;
}
}
}
.center {
.el-dialog .el-dialog__header{
text-align: center;
}
}
// dialog--end
// switch --start
// .el-switch__core{
// background-color: #00C261;
// }
// .el-switch.is-checked .el-switch__core{
// background-color: #BABDC2;
// }
// switch --end
// 弹出气泡框
.el-popover {
padding: 32px;
}
// 日历区间背景颜色
.el-date-table td.in-range div {
background: #F2F7FF;
}
.flex {
display: flex;
align-items: center;
}
// 自定义下拉内容框
.noraml-jump {
padding: 24px 10px;
border-bottom: 1px solid #EAECF0;
}
.flex-between {
display: flex;
justify-content: space-between;
align-items: center;
font-family: Microsoft YaHei UI;
.left b {
display: block;
text-align: left;
margin-bottom: 12px;
}
.left p {
letter-spacing: 0.08em;
text-align: left;
line-height: 13px;
font-size: 12px;
color: #8A9099;
}
.left .one {
line-height: 18px;
font-size: 14px;
color: #1E2226;
margin-bottom: 4px;
}
}

16
src/style/theme/index.css

@ -1673,7 +1673,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF;
}
.el-input__inner:focus {
@ -3270,7 +3270,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF;
}
.el-input__inner:focus {
@ -5364,7 +5364,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF
}
.el-input__inner:focus {
@ -5801,7 +5801,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF;
}
.el-input__inner:focus {
@ -6717,7 +6717,7 @@
}
.el-checkbox__input.is-focus .el-checkbox__inner {
border-color: #006aff
border-color: #dfe2e6
}
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
@ -7408,7 +7408,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF;
}
.el-input__inner:focus {
@ -14903,7 +14903,7 @@
}
.el-input__inner:hover {
border-color: #babdc2
border-color: #006AFF;
}
.el-input__inner:focus {
@ -28050,7 +28050,7 @@
}
.el-checkbox__input.is-focus .el-checkbox__inner {
border-color: #006aff
border-color: #dfe2e6
}
.el-checkbox__input.is-indeterminate .el-checkbox__inner {

319
src/views/ConfigureServicePrices.vue

@ -1,166 +1,168 @@
<template>
<div class="column">
<!-- 配置服务价格页面 -->
<div class="config-service-price min-width">
<div class="config-service-left">
<div class="left-menu-wrap" v-for="(item,index) in addServiceList" :key="index">
<div class="menu-top flex">
<img class="menu-top-img" :src="addImgList[item.name]" alt="">
<span>{{ item.name }}</span>
</div>
<div v-for="(item1,index1) in item.list" :key="item1.name" :class="['menu-item flex-between',(item1.name == activeService) ? 'menu-active':'']"
@click="goToCurService(item1,index1)">
<span>{{ item1.name }}</span>
<img class="menu-item-name" v-if="item1.checkFlag" src="@/assets/changeTrue.png" alt="">
<img class="menu-item-name" v-else src="@/assets/changeFlase.png" alt="">
<!-- 配置服务价格页面 -->
<div class="config-service-price min-width">
<div class="config-service-left">
<div class="left-menu-wrap" v-for="(item, index) in addServiceList" :key="index">
<div class="menu-top flex">
<img class="menu-top-img" :src="addImgList[item.name]" alt="">
<span>{{ item.name }}</span>
</div>
<div v-for="(item1, index1) in item.list" :key="item1.name"
:class="['menu-item flex-between', (item1.name == activeService) ? 'menu-active' : '']"
@click="goToCurService(item1, index1)">
<span>{{ item1.name }}</span>
<img class="menu-item-name" v-if="item1.checkFlag" src="@/assets/changeTrue.png" alt="">
<img class="menu-item-name" v-else src="@/assets/changeFlase.png" alt="">
</div>
</div>
</div>
</div>
<div class="config-service-right">
<el-form ref="ruleFormRef" :model="form">
<div class="config-service-right">
<el-form ref="ruleFormRef" :model="form">
<!-- 面包屑导航 start -->
<!-- 面包屑导航 end -->
<!-- 面包屑导航 start -->
<!-- 面包屑导航 end -->
<PageTitle />
<PageTitle />
<div class="min-flex flex ">
<div class="flex-common alias-wrap">
<b>服务别名</b>
<GuipInput ref="GuipInput" width="510px" v-model="form.alias" placeholder="服务别名将展示在前端销售页面中">
</GuipInput>
<div class="min-flex flex ">
<div class="flex-common alias-wrap">
<b>服务别名</b>
<GuipInput ref="GuipInput" width="510px" v-model="form.alias" placeholder="服务别名将展示在前端销售页面中">
</GuipInput>
</div>
</div>
</div>
<div class="min-flex">
<div class="content1 flex-common">
<h3>网页支付与售价</h3>
<div class="flex-wrap">
<div class="flex-left">
<p class="flex-left-desc">支付渠道</p>
<div class="left-pay-list">
<div class="left-pay-item ">
<div class="flex-between">
<span>微信收款</span>
<GuipSwitch v-model="form.weixinFlag" activeText="开启" inactiveText="关闭"
@change="onSwitchChange">
</GuipSwitch>
<div class="min-flex">
<div class="content1 flex-common">
<h3>网页支付与售价</h3>
<div class="flex-wrap">
<div class="flex-left">
<p class="flex-left-desc">支付渠道</p>
<div class="left-pay-list">
<div class="left-pay-item ">
<div class="flex-between">
<span>微信收款</span>
<GuipSwitch v-model="form.weixinFlag" activeText="开启" inactiveText="关闭"
@change="onSwitchChange">
</GuipSwitch>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
<div class="left-pay-item ">
<div class="flex-between">
<span>支付宝收款</span>
<GuipSwitch v-model="form.zhifubaoFlag" activeText="开启"
inactiveText="关闭" @change="onSwitchChange">
</GuipSwitch>
<div class="left-pay-item ">
<div class="flex-between">
<span>支付宝收款</span>
<GuipSwitch v-model="form.zhifubaoFlag" activeText="开启"
inactiveText="关闭" @change="onSwitchChange">
</GuipSwitch>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
</div>
</div>
<div class="flex-line"></div>
<div class="flex-right">
<GuipFormItem column="column">
<div slot="formLeft" class="form-top-icon">售价管理
</div>
<span slot="formRight" class="info">供货价格3.5/</span>
<div class="flex-between" slot="formDom">
<div class="short-width">
<GuipSelect v-model="form.payword" :defaultValue="form.payword"
prop="payword" width="100%" :options="options_payword" />
<div class="flex-line"></div>
<div class="flex-right">
<GuipFormItem column="column">
<div slot="formLeft" class="form-top-icon">售价管理
</div>
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.price"
:defaultValue="form.price" placeholder="请输入售价" unit="元/篇" />
<span slot="formRight" class="info">供货价格3.5/</span>
<div class="flex-between" slot="formDom">
<div class="short-width">
<GuipSelect v-model="form.payword" :defaultValue="form.payword"
prop="payword" width="100%" :options="options_payword" />
</div>
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.price"
:defaultValue="form.price" placeholder="请输入售价" unit="元/篇" />
</div>
</div>
</div>
</GuipFormItem>
</GuipFormItem>
</div>
</div>
</div>
</div>
<div class="content2 flex-common">
<h3>淘宝支付管理</h3>
<div class="flex-wrap">
<div class="flex-left">
<p class="flex-left-desc">淘宝渠道</p>
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>淘宝收款</span>
<GuipSwitch v-model="form.weixinFlag" activeText="开启" inactiveText="关闭"
@change="onSwitchChange">
</GuipSwitch>
<div class="content2 flex-common">
<h3>淘宝支付管理</h3>
<div class="flex-wrap">
<div class="flex-left">
<p class="flex-left-desc">淘宝渠道</p>
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>淘宝收款</span>
<GuipSwitch v-model="form.weixinFlag" activeText="开启" inactiveText="关闭"
@change="onSwitchChange">
</GuipSwitch>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
<p>知网学诚 899990008@163.com</p>
</div>
<GuipFormItem column="column">
<div slot="formLeft" class="form-top-icon">淘宝售价
</div>
<div class="flex-between" slot="formDom">
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.taobaoNum"
:defaultValue="form.taobaoNum" placeholder="请输入件数" unit="件" />
</div>
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.taobaoword"
:defaultValue="form.taobaoword" placeholder="请输入字符" unit="字符" />
</div>
</div>
</GuipFormItem>
</div>
<GuipFormItem column="column">
<div slot="formLeft" class="form-top-icon">淘宝售价
</div>
<div class="flex-between" slot="formDom">
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.taobaoNum"
:defaultValue="form.taobaoNum" placeholder="请输入件数" unit="件" />
<div class="flex-line"></div>
<div class="flex-right">
<GuipFormItem column="column">
<div slot="formLeft">关联商品
</div>
<div class="short-width">
<GuipInput ref="GuipInput" width="100%" v-model="form.taobaoword"
:defaultValue="form.taobaoword" placeholder="请输入字符" unit="字符" />
<div slot="formRight" class="info-error">必须关联且确保服务与XX电商商品一致
</div>
</div>
</GuipFormItem>
</div>
<div class="flex-line"></div>
<div class="flex-right">
<GuipFormItem column="column">
<div slot="formLeft">关联商品
</div>
<div slot="formRight" class="info-error">必须关联且确保服务与XX电商商品一致
</div>
<div class="associated_Goods" slot="formDom">
<img src="" class="goods_left" alt="">
<div class="goods_right">
<div class="goods_right_item flex-between">
<img src="@/assets/goodsTem.png" alt="" class="good-item-left">
<div class="good-item-right">
<p>小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称
</p>
<div class="flex-between good-item-right-bot">
<span>¥{{ }}39.4</span>
<div class="flex">
<div class="flex good-bot-btn" @click="deleteFunc"><img
src="@/assets/delete.svg" alt="">删除
<div class="associated_Goods" slot="formDom">
<img src="" class="goods_left" alt="">
<div class="goods_right">
<div class="goods_right_item flex-between">
<img src="@/assets/goodsTem.png" alt="" class="good-item-left">
<div class="good-item-right">
<p>小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称小分解论文查重检测大学本科硕士毕业论文初稿重复率查询系统职称
</p>
<div class="flex-between good-item-right-bot">
<span>¥{{ }}39.4</span>
<div class="flex">
<div class="flex good-bot-btn" @click="deleteFunc"><img
src="@/assets/delete.svg" alt="">删除
</div>
<div class="flex good-bot-btn" @click="collectFunc"><img
src="@/assets/collect.svg" alt="">默认商品</div>
</div>
<div class="flex good-bot-btn" @click="collectFunc"><img
src="@/assets/collect.svg" alt="">默认商品</div>
</div>
</div>
</div>
</div>
</div>
</div>
</GuipFormItem>
<div class="addStore flex">
<img src="@/assets/addIcon.svg" alt="">添加宝贝
</GuipFormItem>
<div class="addStore flex">
<div></div>
添加宝贝
</div>
</div>
</div>
</div>
</div>
</div>
</el-form>
</el-form>
<Footer></Footer>
<Footer></Footer>
</div>
</div>
</div>
<div class="pageFooter flex">
<div class="pageFooter flex">
<GuipButton type="primary" @click="submitFun">保存</GuipButton>
</div>
</div>
</div>
</template>
<script>
import PageTitle from '@/components/PageTitle.vue';
@ -178,6 +180,7 @@ export default {
//
name: '',
props: [''],
options: { styleIsolation: "shared" },
components: {
PageTitle,
GuipButton,
@ -189,7 +192,7 @@ export default {
},
data() {
return {
activeService:'一般新文献',
activeService: '一般新文献',
addImgList: {
'万方': require('@/assets/register/wanfang.png'),
'维普': require('@/assets/register/weipu.svg'),
@ -217,20 +220,20 @@ export default {
computed: {
...mapState(['pageTitle', 'addServiceList']) // VuexshowSidebar
},
mounted(){
console.log(this.$route.query,'888');
if(Object.keys(this.$route.query).length > 0){
mounted() {
console.log(this.$route.query, '888');
if (Object.keys(this.$route.query).length > 0) {
this.activeService = this.$route.query.index
}
// addServiceList store
console.log(this.activeService,'addServiceList-----');
console.log(this.activeService, 'addServiceList-----');
},
methods: {
onSwitchChange(data) {
console.log(data,this.form.zhifubaoFlag, '---');
console.log(data, this.form.zhifubaoFlag, '---');
},
goToCurService(data){
goToCurService(data) {
store.commit('SET_PAGETITLE', data.name);
this.activeService = data.name;
this.$refs.ruleFormRef.resetFields()
@ -245,49 +248,57 @@ export default {
},
//
submitFun(){
console.log(this.form,'====this.form');
submitFun() {
console.log(this.form, '====this.form');
// form
},
}
}
</script>
<style lang="scss" scoped>
.alias-wrap ::v-deep .el-form-item {
.config-service-price .el-form-item {
margin-bottom: 0;
}
.config-service-price {
display: flex;
width: 100%;
.config-service-left {
align-items: stretch;
background: #fff;
width: 120px;
transition: all .5s;
padding: 21px 26px 21px 12px;
.menu-top{
.menu-top {
color: #1E2226;
padding: 11px 0;
}
.menu-top-img{
.menu-top-img {
width: 18px;
}
.menu-item-name{
.menu-item-name {
width: 20px;
height: 14px;
}
.menu-item{
.menu-item {
letter-spacing: 0.08em;
color: #8A9099;
padding: 9px 0px;
span{
span {
max-width: 89px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
.menu-active{
.menu-active {
color: #006AFF;
}
}
@ -296,9 +307,12 @@ export default {
align-items: stretch;
width: calc(100% - 158px);
}
.content1{
.content1 {
margin: 12px 0;
}
.alias-wrap {
width: 100%;
display: flex;
@ -414,23 +428,15 @@ export default {
.addStore {
margin-top: 12px;
border-radius: 4px;
opacity: 1;
/* text/text_white_2 */
border: 1px dashed #BABDC2;
padding: 15px 20px;
color: #626573;
justify-content: center;
img{
margin-right: 12px;
}
}
}
@media screen and (min-width: 1441px) {
.config-service-right{
.config-service-right {
width: calc(100% - 218px);
}
.config-service-price .config-service-left{
.config-service-price .config-service-left {
width: 188px !important;
transition: all .5s;
}
@ -454,7 +460,8 @@ export default {
width: 97.6%;
margin: 0 auto;
}
.pageFooter{
.pageFooter {
justify-content: center;
width: 100%;
padding: 16px 0px;

3
src/views/Franchise.vue

@ -92,7 +92,7 @@
<div class="step-box__footer">
<GuipButton :btnstyle="btnstyleObj" type="primary" @click="goAddFranchise">
加盟并进入后台</GuipButton>
<p class="attention">
<p class="attention gap10">
<el-checkbox v-model="checked"></el-checkbox>
<b>代理商需要阅读并同意<a href="">哈哈哈哈</a></b>
</p>
@ -303,6 +303,7 @@ export default {
margin-top: 20px;
b {
font-size: 12px;
font-weight: normal;
a {

87
src/views/HomeView.vue

@ -27,8 +27,8 @@
<div class="sales-item flex" v-for="(item, index) in salesList" :key="item.name">
<img :src="require(`@/assets/home/sales${index + 1}.png`)" alt="">
<div class="column">
<b>{{ item.num }} <span></span></b>
<span>{{ item.label }}</span>
<p class="flex"><span class="number">{{ item.num }}</span> <span v-if="index < 2" class="unit"></span></p>
<span class="label">{{ item.label }}</span>
</div>
</div>
</div>
@ -87,7 +87,8 @@
<div class="sales-item flex" v-for="(item, index) in preferredMarketList" :key="item.name">
<img :src="require(`@/assets/home/preferredMarket${index + 1}.png`)" alt="">
<div class="column">
<span class="flex">{{ item.label }} <img class="systemIcon" src="@/assets/home/systemIcon.svg" alt="">
<span class="flex">{{ item.label }}
<!-- <img class="systemIcon" src="@/assets/home/systemIcon.svg" alt=""> -->
</span>
<p>{{ item.desc }}</p>
</div>
@ -99,9 +100,9 @@
<b>使用指南</b>
<span class="hoverCommon">查看全部</span>
</h2>
<p>我想将商品绑定淘宝店应该怎么做</p>
<p>基于成交量的推广支持</p>
<p>二级裂变分销发展代理网络</p>
<p class="hoverCommon">我想将商品绑定淘宝店应该怎么做</p>
<p class="hoverCommon">基于成交量的推广支持</p>
<p class="hoverCommon">二级裂变分销发展代理网络</p>
</div>
<div class="customWrap common-area">
<h2>联系客服</h2>
@ -111,7 +112,6 @@
</div>
</div>
</div>
</template>
@ -285,29 +285,17 @@ export default {
.home-wrap {
padding: 12px;
.hoverCommon {
&:hover {
color: #006AFF !important;
}
}
.home-main {
width: 100%;
display: flex;
/* 使用 flex 布局 */
gap: 12px;
/* 两个盒子之间的间隔 */
min-width: 1018px;
/* 父元素最小宽度 */
max-width: 1750px;
/* 父元素最大宽度 */
margin: 0 auto;
/* 水平居中 */
align-items: stretch;
// padding: 0 12px; /* */
box-sizing: border-box;
/* 确保 padding 不会影响宽度计算 */
.home-main-left {
min-width: 746px;
max-width: 1398px;
@ -388,9 +376,6 @@ export default {
width: 100%;
margin-top: 6px;
overflow: hidden;
// display: -webkit-box;
// -webkit-line-clamp: 1;
/* 注意:这不是一个标准的CSS属性,仅在WebKit浏览器中有效 */
-webkit-box-orient: vertical;
text-overflow: ellipsis;
white-space: nowrap;
@ -413,10 +398,25 @@ export default {
justify-content: flex-start;
padding: 14px 12px;
transition: all .3s;
.number{
font-size: 22px;
font-weight: bold;
font-family: 'Roboto Condensed';
display: inline-block;
margin-right: 2px;
color: #1E2226;
line-height: 29px;
}
.unit{
color: #1E2226;
font-size: 12px;
}
.label{
color: #8A9099;
letter-spacing: 0.08em;
}
&:hover {
border-radius: 8px;
/* middle/middle_grey_1 */
background: #F6F7FA;
}
}
@ -424,7 +424,6 @@ export default {
.supplyPrice-main {
display: flex;
/* 使用 flex 布局 */
gap: 20px;
.supplyPric-item {
@ -474,33 +473,39 @@ export default {
.supplyPric-item1 {
background: linear-gradient(180deg, #F3F8FF 0%, #FFFFFF 17%, #FFFFFF 100%);
/* middle/middle_line_1 */
border: 1px solid #DFE2E6;
transition: all .5s ease;
&:hover {
transition: all .5s;
color: #626573;
transition: all .5s ease;
background: linear-gradient(180deg, #F3F8FF 0%, #FFFFFF 60%);
box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.13);
}
}
.supplyPric-item2 {
background: linear-gradient(180deg, #FFFAF6 1%, rgba(255, 255, 255, 0.6233) 14%);
/* middle/middle_line_1 */
border: 1px solid #DFE2E6;
transition: all .5s ease;
&:hover {
transition: all .5s;
color: #626573;
transition: all .5s ease;
box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.13);
background: linear-gradient(180deg, #FFFAF6 0%, #FFFFFF 60%);
}
}
.supplyPric-item3 {
background: linear-gradient(180deg, #FFF6F6 0%, rgba(255, 255, 255, 0.8151) 14%, rgba(255, 255, 255, 0) 100%);
/* middle/middle_line_1 */
border: 1px solid #DFE2E6;
transition: all .5s ease;
&:hover {
transition: all .5s;
color: #626573;
transition: all .5s ease;
box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.13);
background: linear-gradient(180deg, #FFF6F6 0%, #FFFFFF 60%);
}
}
@ -548,7 +553,7 @@ export default {
background: #fff;
b {
font-family: D-DIN;
font-family: Roboto Condensed;
font-size: 32px;
font-weight: bold;
line-height: 27px;
@ -559,7 +564,12 @@ export default {
span {
font-size: 14px;
font-weight: normal;
color: #8A9099;
// color: #8A9099;
color: #1F2026;
&:nth-last-child(1){
color: #8A9099;
}
}
}
@ -573,8 +583,10 @@ export default {
padding: 14px 8px;
border: 1px solid transparent;
margin-top: 20px;
transition: all .3s;
&:hover {
transition: all .3s;
border-radius: 4px;
background: linear-gradient(271deg, #F8DCDC 0%, #FCEEEE 60%);
/* main/main_erro */
@ -610,6 +622,7 @@ export default {
padding: 12px 0;
color: #8A9099;
font-size: 12px;
transition: all .3s ease-in-out;
.systemIcon {
display: none;
@ -621,14 +634,16 @@ export default {
span {
font-size: 14px;
color: #1F2026;
margin-bottom: 6px;
}
&:hover {
.systemIcon {
display: block;
}
span {
transition: all .3s ease-in-out;
color: #006AFF;
}
}

2
src/views/Register.vue

@ -229,7 +229,7 @@
</div>
<!-- <GuipSelect slot="formDom" v-model="form3.weixin_pay" prop="weixin_pay" :options="options_weixin"
placeholder="未绑定微信收款" /> -->
<CustomDropdown slot="formDom" v-model="form3.weixin_pay" :options="options_weixin"
<CustomDropdown slot="formDom" width="100%" v-model="form3.weixin_pay" :options="options_weixin"
@change="changeSelectWeixin" placeholder="请选择" :options_null="options_weixin_null"
@changeNormal="changeNormalWeixin">
<!-- 自定义触发按钮 -->

27
src/views/SiteBaseSetting.vue

@ -56,7 +56,7 @@
<img src="@/assets/register/weixin.svg" style="width: 26px;height: 26px;"
alt=""><span>微信收款</span>
</div>
<CustomDropdown slot="formDom" v-model="siteForm1.weixin_pay" :options="options_weixin"
<CustomDropdown slot="formDom" width="100%" v-model="siteForm1.weixin_pay" :options="options_weixin"
@change="changeSelectWeixin" placeholder="请选择" :options_null="options_weixin_null"
@changeNormal="changeNormalWeixin">
<!-- 自定义触发按钮 -->
@ -102,7 +102,7 @@
</div>
<!-- <GuipSelect slot="formDom" v-model="siteForm2.zhifubao_pay" prop="zhifubao_pay"
:options="options_zhifubao" placeholder="未绑定支付宝收款" /> -->
<CustomDropdown slot="formDom" v-model="siteForm1.zhifubao_pay" :options="options_weixin"
<CustomDropdown slot="formDom" width="100%" v-model="siteForm1.zhifubao_pay" :options="options_weixin"
@change="changeSelectWeixin" placeholder="请选择" :options_null="options_weixin_null"
@changeNormal="changeNormalWeixin">
<!-- 自定义触发按钮 -->
@ -146,7 +146,8 @@
<div class="flex-right">
<!-- <div>{{ input1 }}</div> -->
<div class="addStore flex">
<img src="@/assets/addIcon.svg" alt="">添加其他收款方式
<div></div>
添加其他收款方式
</div>
</div>
</div>
@ -274,17 +275,17 @@ export default {
}
.addStore {
margin-top: 12px;
border-radius: 4px;
opacity: 1;
/* text/text_white_2 */
border: 1px dashed #BABDC2;
padding: 15px 20px;
color: #626573;
justify-content: center;
// border-radius: 4px;
// opacity: 1;
// /* text/text_white_2 */
// border: 1px dashed #BABDC2;
// padding: 15px 20px;
// color: #626573;
// justify-content: center;
img {
margin-right: 12px;
}
// img {
// margin-right: 12px;
// }
}

60
src/views/SitePersonalization.vue

@ -38,7 +38,7 @@
<div class="flex-wrap">
<div class="flex-left">
<p class="flex-left-desc">旺旺客服</p>
<GuipInput ref="GuipInput" class="mt12 mb24" width="100%"
<GuipInput ref="GuipInput" class="mt12 mb24" width="98%"
v-model="personalForm8.checkNum" placeholder="请填写账号">
</GuipInput>
<p class="flex-left-desc">QQ客服</p>
@ -46,7 +46,10 @@
<el-upload class="avatar-uploader mt12" accept=".jpg,.png"
action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<GuipButton> <img src="@/assets/site/uploadIcon.svg" alt=""> 上传二维码</GuipButton>
<GuipButton type="ignore" :btnstyle="{width:'133px'}">
<!-- <img src="@/assets/site/uploadIcon.svg" alt="" > -->
<div class="bgImg"></div>
上传二维码</GuipButton>
</el-upload>
<p class="avatar-desc">支持 jpgpng 格式大小不超过 2MB </p>
</div>
@ -61,7 +64,10 @@
<el-upload class="avatar-uploader" accept=".jpg,.png"
action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<GuipButton> <img src="@/assets/site/uploadIcon.svg" alt=""> 重新上传
<GuipButton type="ignore" :btnstyle="{width:'118px'}">
<!-- <img src="@/assets/site/uploadIcon.svg" alt="" > -->
<div class="bgImg"></div>
重新上传
</GuipButton>
</el-upload>
<p class="avatar-desc">支持 jpgpng 格式大小不超过 2MB </p>
@ -81,7 +87,10 @@
<el-upload class="avatar-uploader" accept=".jpg,.png"
action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<GuipButton> <img src="@/assets/site/uploadIcon.svg" alt=""> 重新上传
<GuipButton type="ignore" :btnstyle="{width:'118px'}">
<!-- <img src="@/assets/site/uploadIcon.svg" alt="" > -->
<div class="bgImg"></div>
重新上传
</GuipButton>
</el-upload>
<p class="avatar-desc">支持 jpgpng 格式大小不超过 2MB </p>
@ -120,7 +129,11 @@
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>服务列表页价格 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span class="flex">服务列表页价格
<GuipToolTip content="----居中----">
<img style="margin-left: 13px;" src="@/assets/site/form_qua_ic.svg" alt="">
</GuipToolTip>
</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag1" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -128,7 +141,11 @@
</div>
<div class="left-pay-item ">
<div class="flex-between">
<span>服务提交页价格 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span class="flex">服务提交页价格
<GuipToolTip content="----居中----">
<img style="margin-left: 13px;" src="@/assets/site/form_qua_ic.svg" alt="">
</GuipToolTip>
</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag2" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -142,7 +159,11 @@
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>服务列表页价格 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span class="flex">服务列表页价格
<GuipToolTip content="----居中----">
<img style="margin-left: 13px;" src="@/assets/site/form_qua_ic.svg" alt="">
</GuipToolTip>
</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag3" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -150,7 +171,11 @@
</div>
<div class="left-pay-item ">
<div class="flex-between">
<span>服务提交页价格 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span class="flex">服务提交页价格
<GuipToolTip content="----居中----">
<img style="margin-left: 13px;" src="@/assets/site/form_qua_ic.svg" alt="">
</GuipToolTip>
</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag4" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -171,7 +196,7 @@
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>60分钟内不可提交重复内容 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span>60分钟内不可提交重复内容</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag1" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -190,7 +215,7 @@
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>3分钟内不可提交重复内容 <img src="@/assets/site/form_qua_ic.svg" alt=""></span>
<span>3分钟内不可提交重复内容</span>
<GuipSwitch :modelValue="personalForm3.weixinFlag3" activeText="显示"
inactiveText="隐藏" @change="onSwitchChange">
</GuipSwitch>
@ -228,6 +253,7 @@ import GuipInput from '@/components/GuipInput.vue';
import { mapState } from 'vuex';
import store from '../store';
import GuipSwitch from '@/components/GuipSwitch.vue';
import GuipToolTip from '@/components/GuipToolTip.vue';
import GuipButton from '@/components/GuipButton.vue';
import GroupFormBtns from '@/components/GroupFormBtns.vue';
@ -239,6 +265,7 @@ export default {
GuipInput,
GuipButton,
GuipSwitch,
GuipToolTip,
GroupFormBtns
},
data() {
@ -461,4 +488,17 @@ export default {
/* #606266 */
}
}
.avatar-uploader{
.bgImg{
width: 20px;
height: 16px;
margin-right: 6px;
background-image: url(../assets/site/uploadIcon.svg);
}
&:hover{
.bgImg{
background-image: url(../assets/site/uploadIcon_light.svg);
}
}
}
</style>

92
src/views/SiteSem.vue

@ -31,7 +31,7 @@
</div>
<div class="siteMessage flex-common mt12" id="siteMessage12">
<h3>搜索引擎竞价SEM <span>通过SEM设置获得流量提高网站在搜索引擎中的排名</span></h3>
<el-form ref="baiduRef" class="bidform" :model="semFormbid1" v-if="bidList.includes('baidu')">
<el-form ref="baiduRef" class="bidform baidu-form" :model="semFormbid1" v-if="bidList.includes('baidu')">
<div class="semBidWrap">
<h3 class="flex-between">
<p>百度OCPC竞价 <span>自动化的出价和优化以实现更高的广告投放效果和ROI</span></p>
@ -51,7 +51,7 @@
<div class="bidwrap-item-bot flex">
<div style="flex: 1;margin-right: 10px;">
<GuipInput ref="GuipInput" width="100%" v-model="semFormbid1.token"
placeholder="请输入token" />
placeholder="请输入Token" />
</div>
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }" @click="semFormConmit('baidu','token')">确认</GuipButton>
</div>
@ -86,7 +86,7 @@
</h3>
<div class="baidu-wrap bidWrap">
<div class="beforeNotice">
<h4> <img src="@/assets/site/info_filled.svg" alt=""> 前期准备事项</h4>
<h4 class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt=""> 前期准备事项</h4>
<p class="mt12 flex">1. <a href="" class="flex"> <img
src="@/assets/site/form_linkActive.svg" alt="">前往登陆</a>登录360智慧平台</p>
<p class="mt10 flex">2. <a href="" class="flex"> <img
@ -94,6 +94,10 @@
alt="">前往ocpc设置页</a>点击添加OCPC投放包按钮注意转换类型只能选择订单其他的根据表单提示填写</p>
</div>
<div class="bidwrap-item">
<div class="column">
<p class="common_title">AppKey AppSecret </p>
<p class="common_text mt10 mb24" style="text-align: left;">点击前期准备事项第2步页面中的投放说明按钮选择API回传点击获取Key&Secret AppKey AppSecret 填入表中保存即可</p>
</div>
<div class="biditem360 mb24 flex">
<img class="bid-item-img" src="@/assets/site/step_1.png" alt="">
<b>AppKey</b>
@ -128,7 +132,7 @@
</h3>
<div class="baidu-wrap bidWrap">
<div class="beforeNotice">
<h4> <img src="@/assets/site/info_filled.svg" alt=""> 前期准备事项</h4>
<h4 class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt=""> 前期准备事项</h4>
<p class="mt12 flex"><i>1.</i> <a href="" class="flex"> <img
src="@/assets/site/form_linkActive.svg" alt="">前往微软云</a>Azure登录后填写个人资料并完成注册
</p>
@ -147,8 +151,8 @@
</p>
</div>
<div class="bidwrap-item">
<div class="biditemMast mb24 flex-between">
<div class="bidwrap-item-top mb24 flex">
<div class="biditemMast mb12 flex-between">
<div class="bidwrap-item-top flex">
<img class="bid-item-img" src="@/assets/site/step_1.png" alt="">
<div class="top-right column">
<b>配置应用信息</b>
@ -156,13 +160,13 @@
</div>
</div>
<div class="flex">
<span class="yesSet">已设置</span>
<GuipButton type="normal" :btnstyle="{ width: '94px', height: '38px' }"
<span :class="'yesSet'">已设置</span>
<GuipButton type="normal" :btnstyle="{ width: '126px', height: '38px' }"
@click="manageDialog('configAppInfo')">管理设置</GuipButton>
</div>
</div>
<div class="biditemMast mb24 flex-between">
<div class="bidwrap-item-top mb24 flex">
<div class="biditemMast mb12 flex-between">
<div class="bidwrap-item-top flex">
<img class="bid-item-img" src="@/assets/site/step_2.png" alt="">
<div class="top-right column">
<b>配置离线转化信息</b>
@ -171,13 +175,13 @@
</div>
</div>
<div class="flex">
<span class="notSet">设置</span>
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }"
<span :class="'notSet'">设置</span>
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }"
@click="manageDialog('configOffline')">立即设置</GuipButton>
</div>
</div>
<div class="biditemMast mb24 flex-between">
<div class="bidwrap-item-top mb24 flex">
<div class="biditemMast mb12 flex-between">
<div class="bidwrap-item-top flex">
<img class="bid-item-img" src="@/assets/site/step_3.png" alt="">
<div class="top-right column">
<b>创建离线转化</b>
@ -185,17 +189,31 @@
</div>
</div>
<div class="flex">
<span class="notSet">设置</span>
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }"
<span :class="'notSet'">设置</span>
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }"
@click="manageDialog('createOffline')">立即设置</GuipButton>
</div>
</div>
<div class="biditemMast flex-between">
<div class="bidwrap-item-top flex">
<img class="bid-item-img" src="@/assets/site/step_4.png" alt="">
<div class="top-right column">
<b>登陆微软云</b>
<p>确认前3步完成点击右侧登录按钮登录微软云 </p>
</div>
</div>
<div class="flex">
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }"
@click="manageDialog('login')">登录</GuipButton>
</div>
</div>
</div>
</div>
</div>
</el-form>
<div class="addStore flex" @click="addBid">
<img src="@/assets/addIcon.svg" alt="">增加搜索竞价
<div></div>
增加搜索竞价
</div>
</div>
<div class="siteMessage flex-common mt12" id="siteMessage13">
@ -378,11 +396,16 @@ export default {
margin: 32px 0;
}
}
.baidu-form{
.bidwrap-item{
margin-bottom: 18px;
}
}
.beforeNotice {
h4 {
margin: 0;
gap: 8px;
}
margin-bottom: 18px;
@ -427,6 +450,7 @@ p{
img {
margin-left: 12px;
margin-right: 12px;
}
}
}
@ -442,17 +466,39 @@ p{
.addStore {
margin-top: 24px;
// transition: all .3s;
// &:active{
// opacity: 0.7;
// }
// div{
// width: 16px;
// height: 16px;
// background-image: url(../assets/addIcon.svg);
// margin-right: 12px;
// }
// &:hover{
// div{
// background-image: url(../assets/addIcon_light.svg);
// }
// border-color: #006AFF;
// color: #006AFF;
// }
}
.radio-wrap {}
.tcpr-wrap .bidwrap-item{
padding: 0;
background: transparent;
.tcpr-wrap {
.bidwrap-item{
padding: 0 !important;
background: transparent !important;
.biditemMast{
background: #fff;
padding: 24px 16px;
}
}
.semBidWrap{
padding-bottom: 24rpx;
}
}
.semBidWrap {
background: #FAFAFA;
padding: 18px 14px;
@ -466,6 +512,10 @@ p{
color: #626573;
font-size: 14px;
font-weight: normal;
transition: all .3s;
&:hover{
opacity: 0.7;
}
img {
width: 16px;

20
src/views/elementGroups.vue

@ -21,11 +21,7 @@
<GuipTable :tableData="tableData" ref="multipleTable" @selectChange="handleSelectionChange"
:multiple="true" autoColumn="true" :loading="tableLoading">
<!-- <template slot="header"> -->
<el-table-column width="180">
<template slot="header">
<span>日期</span>
</template>
</el-table-column>
<el-table-column width="180" fixed="left" label="名称(固定左)"></el-table-column>
<!-- <el-table-column prop="type">
<template slot="header">
<GuipSelect class="custom-select" v-model="chktype" :options="type2filterOptions"
@ -47,7 +43,7 @@
'0' ? '文字居中' : '文字居中' }}</span>
</GuipToolTip>
<GuipToolTip content="图标居中">
<svg-icon :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
<svg-icon size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" />
</GuipToolTip>
@ -62,7 +58,7 @@
scope.row.payment
==
'0' ? '单元格局中' : '单元格局中' }}</span>
<svg-icon :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
<svg-icon size="16" :path="require('@/assets/register/tableEdit.svg')" :color="'#8A9099'"
:hoverColor="'#006AFF'" />
</div>
@ -85,16 +81,17 @@
</el-popover>
</template> -->
</el-table-column>
<el-table-column prop="address" label="地址" width="200"> </el-table-column>
<el-table-column prop="address" label="地址1" width="150"> </el-table-column>
<el-table-column prop="address" label="地址2" width="250"> </el-table-column>
<el-table-column prop="address" label="地址3" width="150"> </el-table-column>
<el-table-column prop="address1" label="地址测试" width="100"></el-table-column>
<el-table-column prop="price2" label="价格" width="300">
<!-- 自定义渲染内容 -->
<template slot-scope="scope">
<GuipSelect width="200px" @change="changeSelect(scope.row)" v-model="form.card"
prop="card" :options="options" defaultValue="选项1" />
</template>
</el-table-column>
<el-table-column label="操作" width="200" fixed>
<el-table-column label="操作(固定右)" width="200" fixed="right">
<template slot-scope="scope">
<div class="flex">
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
@ -102,7 +99,6 @@
</div>
</template>
</el-table-column>
<!-- </template> -->
</GuipTable>
<el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange'
:current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper"
@ -226,7 +222,7 @@
<GuipButton type="grey" >弱引导</GuipButton>
</div>
<div class="ele-item">
<label for="">独特按钮</label>
<label for="">独特按钮可以自定义划过时 图标图片文字颜色</label>
<hover-button button-text="上传文件" :default-icon="require('../assets/upLoad_grey.svg')"
:hover-icon="require('../assets/upLoad_active.svg')" default-text-color="#23242B"
hover-text-color="#006AFF" @click="btnClick" />

25
src/views/super/Ranking/Purchase.vue

@ -36,11 +36,11 @@
</div>
<div class=" flex-common" v-if="type2filterOptions.length > 0">
<el-form>
<el-table :data="tableData" style="width: 100%">
<GuipTable :tableData="tableData" style="width: 100%" :loading="tableLoading">
<template v-if="type == 'purchase'">
<el-table-column prop="type">
<template slot="header">
<GuipSelect class="custom-select" v-model="chktype" :options="type2filterOptions"
<GuipSelect class="custom-select tableHeaderSelect" style="height:20px;" v-model="chktype" :options="type2filterOptions"
defaultValue="全部检测类型" @change="changeSelectType" />
</template>
@ -49,7 +49,7 @@
</template>
</el-table-column>
<el-table-column label="采购单价">
<el-table-column label="采购单价" sortable prop="unit_price">
<template slot-scope="scope">
{{ scope.row.unit_price }} / {{
scope.row.unit_num == 1 ? '篇' : scope.row.unit_num + '字' }}
@ -66,7 +66,7 @@
<template v-else>
<el-table-column prop="type">
<template slot="header">
<GuipSelect class="custom-select" v-model="chktype" :options="type2filterOptions"
<GuipSelect class="custom-select tableHeaderSelect" v-model="chktype" :options="type2filterOptions"
defaultValue="全部检测类型" @change="changeSelectType" />
</template>
@ -101,7 +101,7 @@
</template>
</el-table-column>
</template>
</el-table>
</GuipTable>
<el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange'
:current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper" :total="parseInt(total)">
@ -113,6 +113,7 @@
<script>
import GuipDialog from "@/components/GuipDialog.vue";
import GuipTable from "@/components/GuipTable.vue";
import GuipSelect from "@/components/GuipSelect.vue";
import GuipInput from "@/components/GuipInput.vue";
@ -135,11 +136,13 @@ export default {
components: {
GuipInput,
GuipSelect,
GuipTable,
GuipDialog
},
data() {
return {
test: '00000',
tableLoading:false,
id: 0,
chktype: '0',
currentPage: 1, //
@ -221,12 +224,14 @@ export default {
},
getPurchase() {
const that = this
this.tableLoading=true
that.tableData = []
this.$http('POST', '/supernew/ajax_get_purchase_list', {
type: that.chktype,
cur_page: that.currentPage,
page_size: that.pageSize,
}).then(response => {
this.tableLoading = false
this.$nextTick(() => {
that.tableData = response.data.list
that.type2name = response.data.type2name
@ -237,6 +242,7 @@ export default {
})
},
getStagePurchase() {
this.tableLoading=true
const that = this
that.tableData = []
this.$http('POST', '/supernew/ajax_get_stage_purchase', {
@ -244,6 +250,7 @@ export default {
cur_page: that.currentPage,
page_size: that.pageSize,
}).then(response => {
this.tableLoading = false
this.$nextTick(() => {
that.tableData = response.data.list
that.type2name = response.data.type2name
@ -402,4 +409,12 @@ export default {
.custom-select {
width: 200px;
}
.tableHeaderSelect ::v-deep .el-input__inner{
font-size: 14px;
font-weight: normal;
letter-spacing: 0.08em;
font-family: Microsoft YaHei UI;
color: #1E2226;
}
</style>
Loading…
Cancel
Save