Browse Source

Merge remote-tracking branch 'origin/master'

master
tanzs 1 month ago
parent
commit
1269c85452
8 changed files with 299 additions and 282 deletions
  1. +17
    -11
      src/layouts/default/header/index.vue
  2. +34
    -34
      src/layouts/default/tabs/index.vue
  3. +7
    -7
      src/views/dashboard/Analysis/homePage/IndexChart.vue
  4. +13
    -13
      src/views/dashboard/Analysis/index.vue
  5. +53
    -48
      src/views/miniapp/order/AppOrder.data.ts
  6. +8
    -8
      src/views/sys/login/LoginForm.vue
  7. +27
    -27
      src/views/system/loginmini/MiniCodelogin.vue
  8. +140
    -134
      src/views/system/loginmini/MiniLogin.vue

+ 17
- 11
src/layouts/default/header/index.vue View File

@ -11,7 +11,12 @@
/>
<LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" />
<!-- 欢迎语 -->
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
<span
v-if="getShowContent && getShowBreadTitle && !getIsMobile"
:class="[prefixCls, `${prefixCls}--${getHeaderTheme}`, 'headerIntroductionClass']"
>
{{ t('layout.header.welcomeIn') }} {{ title }}
</span>
</div>
<!-- left end -->
@ -38,11 +43,11 @@
<UserDropDown :theme="getHeaderTheme" />
<SettingDrawer v-if="getShowSetting" :class="`${prefixCls}-action__item`" />
<!-- ai助手 -->
<Aide></Aide>
<!-- &lt;!&ndash; ai助手 &ndash;&gt;-->
<!-- <Aide></Aide>-->
</div>
</Header>
<LoginSelect ref="loginSelectRef" @success="loginSelectOk"></LoginSelect>
<LoginSelect ref="loginSelectRef" @success="loginSelectOk" />
</template>
<script lang="ts">
import { defineComponent, unref, computed, ref, onMounted, toRaw } from 'vue';
@ -74,7 +79,7 @@
import LoginSelect from '/@/views/sys/login/LoginSelect.vue';
import { useUserStore } from '/@/store/modules/user';
import { useI18n } from '/@/hooks/web/useI18n';
import Aide from "@/views/dashboard/ai/components/aide/index.vue"
import Aide from '@/views/dashboard/ai/components/aide/index.vue';
const { t } = useI18n();
export default defineComponent({
@ -96,7 +101,7 @@
SettingDrawer: createAsyncComponent(() => import('/@/layouts/default/setting/index.vue'), {
loading: true,
}),
Aide
Aide,
},
props: {
fixed: propTypes.bool,
@ -215,7 +220,7 @@
loginSelectOk,
loginSelectRef,
title,
t
t,
};
},
});
@ -225,7 +230,7 @@
//update-begin---author:scott ---date:2022-09-30 for-----------
//
@prefix-cls: ~'@{namespace}-layout-header';
.ant-layout .@{prefix-cls} {
display: flex;
padding: 0 8px;
@ -233,14 +238,14 @@
height: @header-height;
// update-end--author:liaozhiyang---date:20240407---forQQYUN-8762
align-items: center;
.headerIntroductionClass {
margin-right: 4px;
margin-bottom: 2px;
border-bottom: 0px;
border-left: 0px;
}
&--light {
.headerIntroductionClass {
color: #000;
@ -251,7 +256,8 @@
.headerIntroductionClass {
color: rgba(255, 255, 255, 1);
}
.anticon, .truncate {
.anticon,
.truncate {
color: rgba(255, 255, 255, 1);
}
}


+ 34
- 34
src/layouts/default/tabs/index.vue View File

@ -22,17 +22,17 @@
<div class="rightExtra">
<TabRedo v-if="getShowRedo" />
<!-- <TabContent isExtra :tabItem="$route" v-if="getShowQuick" /> -->
<!-- 列表页全屏
<!-- 列表页全屏
<FoldButton v-if="getShowFold" />-->
<!-- <FullscreenOutlined /> -->
<router-link to="/ai" class="ai-icon">
<a-tooltip title="AI助手" placement="left">
<!-- <svg t="1706259688149" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2056" width="17" height="17">-->
<!-- <path d="M826.368 325.632c0-7.168 2.048-10.24 10.24-10.24h123.904c7.168 0 10.24 2.048 10.24 10.24v621.568c0 7.168-2.048 10.24-10.24 10.24h-122.88c-8.192 0-10.24-4.096-10.24-10.24l-1.024-621.568z m-8.192-178.176c0-50.176 35.84-79.872 79.872-79.872 48.128 0 79.872 32.768 79.872 79.872 0 52.224-33.792 79.872-81.92 79.872-46.08 1.024-77.824-27.648-77.824-79.872zM462.848 584.704C441.344 497.664 389.12 307.2 368.64 215.04h-2.048c-16.384 92.16-58.368 247.808-92.16 369.664h188.416zM243.712 712.704l-62.464 236.544c-2.048 7.168-4.096 8.192-12.288 8.192H54.272c-8.192 0-10.24-2.048-8.192-12.288l224.256-783.36c4.096-13.312 7.168-26.624 8.192-65.536 0-6.144 2.048-8.192 7.168-8.192H450.56c6.144 0 8.192 2.048 10.24 8.192l250.88 849.92c2.048 7.168 0 10.24-7.168 10.24H573.44c-7.168 0-10.24-2.048-12.288-7.168l-65.536-236.544c1.024 1.024-251.904 0-251.904 0z" fill="#333333" p-id="19816"></path>-->
<!-- </svg>-->
<svg t="1737024931936" class="icon" viewBox="0 0 3011 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4248" width="256" height="256"><path d="M2028.242824 558.561882h415.021176V445.620706h-346.352941V321.415529h346.352941V210.823529l-328.463059 10.842353a2367.969882 2367.969882 0 0 0-31.021176-127.09647c341.955765-4.397176 602.352941-13.492706 781.131294-27.286588l41.441882 124.265411-320.933647 14.095059v115.772235h307.802353v124.205177h-307.802353v112.941176h375.506824v127.096471h-375.506824v113.844706c0 30.117647-5.782588 56.982588-17.468235 80.474353a114.447059 114.447059 0 0 1-50.778353 53.187764c-22.287059 11.926588-41.261176 19.154824-56.922353 21.684706-15.36 2.770824-82.522353 5.300706-201.426824 7.529412a5065.065412 5065.065412 0 0 0-31.984941-142.155294c64.632471 4.999529 114.447059 7.529412 149.624471 7.529412 44.574118 0 66.861176-23.190588 66.861176-69.632v-72.463059h-415.081411v-127.096471zM1685.624471 956.717176a1296.865882 1296.865882 0 0 0-27.286589-133.662117 2187.745882 2187.745882 0 0 0 96.978824 3.794823c18.191059 0 32.587294-4.758588 43.248941-14.155294 10.661647-9.697882 17.468235-23.491765 20.239059-41.381647 3.132235-17.889882 6.023529-66.379294 8.432941-145.408 2.590118-79.390118 3.614118-179.621647 3.373177-300.754823h-109.206589c-3.734588 212.389647-24.455529 364.604235-62.102588 456.523294-37.345882 91.919059-77.161412 156.491294-119.567059 193.837176-28.551529-27.888941-59.632941-54.392471-93.123764-79.510588-142.757647 12.830118-265.456941 25.298824-368.037648 37.165176l-15.962352-126.132705c14.095059-0.602353 28.190118-1.385412 42.345411-2.349177V88.003765h377.374118v687.043764c12.227765-1.204706 24.154353-2.349176 35.779765-3.312941 50.838588-95.653647 77.040941-244.555294 78.607058-446.58447h-85.172705V200.944941h87.04c0.301176-47.706353 0.481882-100.412235 0.481882-158.117647h125.168941c0 58.368-0.301176 111.073882-0.963765 158.117647H1957.647059l-9.878588 525.613177c-1.566118 62.464-5.481412 104.688941-11.745883 126.614588-6.324706 22.287059-16.805647 41.441882-31.563294 57.404235-14.757647 16.022588-32.768 27.105882-54.091294 33.430588-21.082353 6.264471-75.896471 10.480941-164.743529 12.649412z m-321.837177-759.567058h-140.227765V327.077647h140.227765V197.150118z m-140.227765 359.604706h140.227765V426.767059h-140.227765v129.867294z m140.227765 229.616941v-129.92753h-140.227765v140.288l140.227765-10.36047zM963.764706 114.326588V843.294118h-155.286588V114.326588H963.764706zM716.679529 843.294118H547.297882l-54.573176-167.032471H227.689412L174.140235 843.294118H5.662118l266.842353-728.96753h182.512941L716.739765 843.294118zM455.981176 556.212706L373.157647 303.585882c-5.300706-16.022588-9.035294-37.165176-11.264-63.548235h-4.216471a269.010824 269.010824 0 0 1-12.709647 61.680941L261.662118 556.212706H455.981176z" fill="#1F1F1F" p-id="4249"></path></svg>
</a-tooltip>
</router-link>
<!-- <router-link to="/ai" class="ai-icon">-->
<!-- <a-tooltip title="AI助手" placement="left">-->
<!--&lt;!&ndash; <svg t="1706259688149" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2056" width="17" height="17">&ndash;&gt;-->
<!--&lt;!&ndash; <path d="M826.368 325.632c0-7.168 2.048-10.24 10.24-10.24h123.904c7.168 0 10.24 2.048 10.24 10.24v621.568c0 7.168-2.048 10.24-10.24 10.24h-122.88c-8.192 0-10.24-4.096-10.24-10.24l-1.024-621.568z m-8.192-178.176c0-50.176 35.84-79.872 79.872-79.872 48.128 0 79.872 32.768 79.872 79.872 0 52.224-33.792 79.872-81.92 79.872-46.08 1.024-77.824-27.648-77.824-79.872zM462.848 584.704C441.344 497.664 389.12 307.2 368.64 215.04h-2.048c-16.384 92.16-58.368 247.808-92.16 369.664h188.416zM243.712 712.704l-62.464 236.544c-2.048 7.168-4.096 8.192-12.288 8.192H54.272c-8.192 0-10.24-2.048-8.192-12.288l224.256-783.36c4.096-13.312 7.168-26.624 8.192-65.536 0-6.144 2.048-8.192 7.168-8.192H450.56c6.144 0 8.192 2.048 10.24 8.192l250.88 849.92c2.048 7.168 0 10.24-7.168 10.24H573.44c-7.168 0-10.24-2.048-12.288-7.168l-65.536-236.544c1.024 1.024-251.904 0-251.904 0z" fill="#333333" p-id="19816"></path>&ndash;&gt;-->
<!--&lt;!&ndash; </svg>&ndash;&gt;-->
<!-- <svg t="1737024931936" class="icon" viewBox="0 0 3011 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4248" width="256" height="256"><path d="M2028.242824 558.561882h415.021176V445.620706h-346.352941V321.415529h346.352941V210.823529l-328.463059 10.842353a2367.969882 2367.969882 0 0 0-31.021176-127.09647c341.955765-4.397176 602.352941-13.492706 781.131294-27.286588l41.441882 124.265411-320.933647 14.095059v115.772235h307.802353v124.205177h-307.802353v112.941176h375.506824v127.096471h-375.506824v113.844706c0 30.117647-5.782588 56.982588-17.468235 80.474353a114.447059 114.447059 0 0 1-50.778353 53.187764c-22.287059 11.926588-41.261176 19.154824-56.922353 21.684706-15.36 2.770824-82.522353 5.300706-201.426824 7.529412a5065.065412 5065.065412 0 0 0-31.984941-142.155294c64.632471 4.999529 114.447059 7.529412 149.624471 7.529412 44.574118 0 66.861176-23.190588 66.861176-69.632v-72.463059h-415.081411v-127.096471zM1685.624471 956.717176a1296.865882 1296.865882 0 0 0-27.286589-133.662117 2187.745882 2187.745882 0 0 0 96.978824 3.794823c18.191059 0 32.587294-4.758588 43.248941-14.155294 10.661647-9.697882 17.468235-23.491765 20.239059-41.381647 3.132235-17.889882 6.023529-66.379294 8.432941-145.408 2.590118-79.390118 3.614118-179.621647 3.373177-300.754823h-109.206589c-3.734588 212.389647-24.455529 364.604235-62.102588 456.523294-37.345882 91.919059-77.161412 156.491294-119.567059 193.837176-28.551529-27.888941-59.632941-54.392471-93.123764-79.510588-142.757647 12.830118-265.456941 25.298824-368.037648 37.165176l-15.962352-126.132705c14.095059-0.602353 28.190118-1.385412 42.345411-2.349177V88.003765h377.374118v687.043764c12.227765-1.204706 24.154353-2.349176 35.779765-3.312941 50.838588-95.653647 77.040941-244.555294 78.607058-446.58447h-85.172705V200.944941h87.04c0.301176-47.706353 0.481882-100.412235 0.481882-158.117647h125.168941c0 58.368-0.301176 111.073882-0.963765 158.117647H1957.647059l-9.878588 525.613177c-1.566118 62.464-5.481412 104.688941-11.745883 126.614588-6.324706 22.287059-16.805647 41.441882-31.563294 57.404235-14.757647 16.022588-32.768 27.105882-54.091294 33.430588-21.082353 6.264471-75.896471 10.480941-164.743529 12.649412z m-321.837177-759.567058h-140.227765V327.077647h140.227765V197.150118z m-140.227765 359.604706h140.227765V426.767059h-140.227765v129.867294z m140.227765 229.616941v-129.92753h-140.227765v140.288l140.227765-10.36047zM963.764706 114.326588V843.294118h-155.286588V114.326588H963.764706zM716.679529 843.294118H547.297882l-54.573176-167.032471H227.689412L174.140235 843.294118H5.662118l266.842353-728.96753h182.512941L716.739765 843.294118zM455.981176 556.212706L373.157647 303.585882c-5.300706-16.022588-9.035294-37.165176-11.264-63.548235h-4.216471a269.010824 269.010824 0 0 1-12.709647 61.680941L261.662118 556.212706H455.981176z" fill="#1F1F1F" p-id="4249"></path></svg>-->
<!-- </a-tooltip>-->
<!-- </router-link>-->
</div>
</template>
</Tabs>
@ -61,7 +61,7 @@
import { listenerRouteChange } from '/@/logics/mitt/routeChange';
import { useRouter } from 'vue-router';
import Aide from "/@/views/dashboard/ai/components/aide/index.vue"
import Aide from '/@/views/dashboard/ai/components/aide/index.vue';
export default defineComponent({
name: 'MultipleTabs',
@ -160,32 +160,32 @@
@import './tabs.theme.smooth.less';
</style>
<style lang="less" scoped>
@prefix-cls: ~'@{namespace}-multiple-tabs';
.@{prefix-cls} {
:deep(.anticon) {
display: inline-block;
}
// update-begin--author:liaozhiyang---date:20241016---forissues/7345
.rightExtra {
display: flex;
:deep(svg) {
&:not(.icon) {
vertical-align: -0.3em;
}
@prefix-cls: ~'@{namespace}-multiple-tabs';
.@{prefix-cls} {
:deep(.anticon) {
display: inline-block;
}
.ai-icon {
// update-begin--author:liaozhiyang---date:20241016---forissues/7345
.rightExtra {
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
width: 50px;
padding: 0 4px;
height: 50px;
color: @text-color;
text-align: center;
border-left: 1px solid @border-color-base;
:deep(svg) {
&:not(.icon) {
vertical-align: -0.3em;
}
}
.ai-icon {
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
width: 50px;
padding: 0 4px;
height: 50px;
color: @text-color;
text-align: center;
border-left: 1px solid @border-color-base;
}
}
// update-end--author:liaozhiyang---date:20241016---forissues/7345
}
// update-end--author:liaozhiyang---date:20241016---forissues/7345
}
</style>

+ 7
- 7
src/views/dashboard/Analysis/homePage/IndexChart.vue View File

@ -1,16 +1,16 @@
<template>
<div class="p-4">
<ChartGroupCard class="enter-y" :loading="loading" type="chart" />
<SaleTabCard class="!my-4 enter-y" :loading="loading" />
<!-- <ChartGroupCard class="enter-y" :loading="loading" type="chart" />-->
<!-- <SaleTabCard class="!my-4 enter-y" :loading="loading" />-->
<a-row>
<a-col :span="24">
<a-card :loading="loading" :bordered="false" title="最近一周访问量统计">
<div class="infoArea">
<HeadInfo title="今日IP" :iconColor="ipColor" :content="loginfo.todayIp" icon="environment"></HeadInfo>
<HeadInfo title="今日访问" :iconColor="visitColor" :content="loginfo.todayVisitCount" icon="team"></HeadInfo>
<HeadInfo title="总访问量" :iconColor="seriesColor" :content="loginfo.totalVisitCount" icon="rise"></HeadInfo>
<HeadInfo title="今日IP" :iconColor="ipColor" :content="loginfo.todayIp" icon="environment" />
<HeadInfo title="今日访问" :iconColor="visitColor" :content="loginfo.todayVisitCount" icon="team" />
<HeadInfo title="总访问量" :iconColor="seriesColor" :content="loginfo.totalVisitCount" icon="rise" />
</div>
<LineMulti :chartData="lineMultiData" height="33vh" type="line" :option="{ legend: { top: 'bottom' } }"></LineMulti>
<LineMulti :chartData="lineMultiData" height="33vh" type="line" :option="{ legend: { top: 'bottom' } }" />
</a-card>
</a-col>
</a-row>
@ -80,7 +80,7 @@
</script>
<style lang="less" scoped>
.infoArea {
.infoArea {
display: flex;
justify-content: space-between;
padding: 0 10%;


+ 13
- 13
src/views/dashboard/Analysis/index.vue View File

@ -1,17 +1,17 @@
<template>
<IndexChart v-if="indexStyle === 0"></IndexChart>
<IndexDef v-if="indexStyle === 1"></IndexDef>
<IndexBdc v-if="indexStyle == 2"></IndexBdc>
<IndexTask v-if="indexStyle == 3"></IndexTask>
<div style="width: 100%; text-align: right; margin-top: 20px">
首页主题
<a-radio-group v-model:value="indexStyle">
<a-radio :value="0">默认</a-radio>
<a-radio :value="1">销量统计</a-radio>
<a-radio :value="2">业务统计</a-radio>
<a-radio :value="3">我的任务</a-radio>
</a-radio-group>
</div>
<IndexChart v-if="indexStyle === 0" />
<!-- <IndexDef v-if="indexStyle === 1"></IndexDef>-->
<!-- <IndexBdc v-if="indexStyle == 2"></IndexBdc>-->
<!-- <IndexTask v-if="indexStyle == 3"></IndexTask>-->
<!-- <div style="width: 100%; text-align: right; margin-top: 20px">-->
<!-- 首页主题-->
<!-- <a-radio-group v-model:value="indexStyle">-->
<!-- <a-radio :value="0">默认</a-radio>-->
<!-- <a-radio :value="1">销量统计</a-radio>-->
<!-- <a-radio :value="2">业务统计</a-radio>-->
<!-- <a-radio :value="3">我的任务</a-radio>-->
<!-- </a-radio-group>-->
<!-- </div>-->
</template>
<script lang="ts" setup>
import { ref } from 'vue';


+ 53
- 48
src/views/miniapp/order/AppOrder.data.ts View File

@ -12,19 +12,9 @@ export const columns: BasicColumn[] = [
dataIndex: 'orderNum',
},
{
title: '产品服务名称',
align: 'center',
dataIndex: 'productName',
},
{
title: '产品服务年限',
align: 'center',
dataIndex: 'productServiceYear',
},
{
title: '经销商',
title: '客户类型',
align: 'center',
dataIndex: 'storeName',
dataIndex: 'custType_dictText',
},
{
title: '客户姓名',
@ -47,49 +37,69 @@ export const columns: BasicColumn[] = [
dataIndex: 'custPhone',
},
{
title: '销售端口',
title: '产品服务名称',
align: 'center',
dataIndex: 'salePort_dictText',
dataIndex: 'productName',
},
{
title: '销售顾问',
title: '产品服务年限',
align: 'center',
dataIndex: 'saleName',
dataIndex: 'productServiceYear',
},
{
title: '付款方式',
title: '经销商',
align: 'center',
dataIndex: 'payType',
dataIndex: 'storeName',
},
{
title: '客户类型',
title: '销售端口',
align: 'center',
dataIndex: 'custType_dictText',
dataIndex: 'salePort_dictText',
},
{
title: '身份证正面照',
title: '销售顾问',
align: 'center',
dataIndex: 'certFront',
customRender: render.renderImage,
dataIndex: 'saleName',
},
{
title: '身份证反面照',
title: '录入用户',
align: 'center',
dataIndex: 'certBack',
customRender: render.renderImage,
dataIndex: 'createBy',
},
{
title: '车辆合格证',
title: '付款方式',
align: 'center',
dataIndex: 'carPic',
customRender: render.renderImage,
dataIndex: 'payType',
},
{
title: '营业执照',
title: '收款方',
align: 'center',
dataIndex: 'busLicense',
customRender: render.renderImage,
dataIndex: 'payee',
},
// {
// title: '身份证正面照',
// align: 'center',
// dataIndex: 'certFront',
// customRender: render.renderImage,
// },
// {
// title: '身份证反面照',
// align: 'center',
// dataIndex: 'certBack',
// customRender: render.renderImage,
// },
// {
// title: '车辆合格证',
// align: 'center',
// dataIndex: 'carPic',
// customRender: render.renderImage,
// },
// {
// title: '营业执照',
// align: 'center',
// dataIndex: 'busLicense',
// customRender: render.renderImage,
// },
{
title: '创建日期',
align: 'center',
@ -105,22 +115,17 @@ export const columns: BasicColumn[] = [
align: 'center',
dataIndex: 'contractUrl',
},
{
title: '收款方',
align: 'center',
dataIndex: 'payee',
},
{
title: '收款时间',
align: 'center',
dataIndex: 'payeeTime',
},
{
title: '支付凭证',
align: 'center',
dataIndex: 'payVoucherUrl',
customRender: render.renderImage,
},
// {
// title: '收款时间',
// align: 'center',
// dataIndex: 'payeeTime',
// },
// {
// title: '支付凭证',
// align: 'center',
// dataIndex: 'payVoucherUrl',
// customRender: render.renderImage,
// },
];
//查询数据
export const searchFormSchema: FormSchema[] = [


+ 8
- 8
src/views/sys/login/LoginForm.vue View File

@ -75,12 +75,12 @@
<Divider class="enter-x">{{ t('sys.login.otherSignIn') }}</Divider>
<div class="flex justify-evenly enter-x" :class="`${prefixCls}-sign-in-way`">
<a @click="onThirdLogin('github')" title="github"><GithubFilled /></a>
<a @click="onThirdLogin('wechat_enterprise')" title="企业微信"> <icon-font class="item-icon" type="icon-qiyeweixin3" /></a>
<a @click="onThirdLogin('dingtalk')" title="钉钉"><DingtalkCircleFilled /></a>
<a @click="onThirdLogin('wechat_open')" title="微信"><WechatFilled /></a>
</div>
<!-- <div class="flex justify-evenly enter-x" :class="`${prefixCls}-sign-in-way`">-->
<!-- <a @click="onThirdLogin('github')" title="github"><GithubFilled /></a>-->
<!-- <a @click="onThirdLogin('wechat_enterprise')" title="企业微信"> <icon-font class="item-icon" type="icon-qiyeweixin3" /></a>-->
<!-- <a @click="onThirdLogin('dingtalk')" title="钉钉"><DingtalkCircleFilled /></a>-->
<!-- <a @click="onThirdLogin('wechat_open')" title="微信"><WechatFilled /></a>-->
<!-- </div>-->
</Form>
<!-- 第三方登录相关弹框 -->
<ThirdModal ref="thirdModalRef"></ThirdModal>
@ -122,8 +122,8 @@
const rememberMe = ref(false);
const formData = reactive({
account: 'admin',
password: '123456',
account: '',
password: '',
inputCode: '',
});
const randCodeData = reactive({


+ 27
- 27
src/views/system/loginmini/MiniCodelogin.vue View File

@ -25,33 +25,33 @@
</div>
</form>
</div>
<div class="aui-flex aui-third-text">
<div class="aui-flex-box aui-third-border">
<span>{{ t('sys.login.otherSignIn') }}</span>
</div>
</div>
<div class="aui-flex" :class="`${prefixCls}-sign-in-way`">
<div class="aui-flex-box">
<div class="aui-third-login">
<a href="" title="github" @click="onThirdLogin('github')"><GithubFilled /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a href="" title="企业微信" @click="onThirdLogin('wechat_enterprise')"><icon-font class="item-icon" type="icon-qiyeweixin3" /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a href="" title="钉钉" @click="onThirdLogin('dingtalk')"><DingtalkCircleFilled /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a href="" title="微信" @click="onThirdLogin('wechat_open')"><WechatFilled /></a>
</div>
</div>
</div>
<!-- <div class="aui-flex aui-third-text">-->
<!-- <div class="aui-flex-box aui-third-border">-->
<!-- <span>{{ t('sys.login.otherSignIn') }}</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex" :class="`${prefixCls}-sign-in-way`">-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a href="" title="github" @click="onThirdLogin('github')"><GithubFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a href="" title="企业微信" @click="onThirdLogin('wechat_enterprise')"><icon-font class="item-icon" type="icon-qiyeweixin3" /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a href="" title="钉钉" @click="onThirdLogin('dingtalk')"><DingtalkCircleFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a href="" title="微信" @click="onThirdLogin('wechat_open')"><WechatFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
</div>


+ 140
- 134
src/views/system/loginmini/MiniLogin.vue View File

@ -1,16 +1,16 @@
<template>
<div :class="prefixCls" class="login-background-img">
<AppLocalePicker class="absolute top-4 right-4 enter-x xl:text-gray-600" :showText="false"/>
<AppLocalePicker class="absolute top-4 right-4 enter-x xl:text-gray-600" :showText="false" />
<AppDarkModeToggle class="absolute top-3 right-7 enter-x" />
<div class="aui-logo" v-if="!getIsMobile">
<div>
<h3>
<img :src="logoImg" alt="jeecg" />
<!-- <img :src="logoImg" alt="jeecg" />-->
</h3>
</div>
</div>
<div v-else class="aui-phone-logo">
<img :src="logoImg" alt="jeecg" />
<!-- <img :src="logoImg" alt="jeecg" />-->
</div>
<div v-show="type === 'login'">
<div class="aui-content">
@ -18,7 +18,7 @@
<div class="aui-form">
<div class="aui-image">
<div class="aui-image-text">
<img :src="adTextImg" />
<!-- <img :src="adTextImg" />-->
</div>
</div>
<div class="aui-formBox">
@ -27,9 +27,9 @@
<div class="aui-flex-box" :class="activeIndex === 'accountLogin' ? 'activeNav on' : ''" @click="loginClick('accountLogin')"
>{{ t('sys.login.signInFormTitle') }}
</div>
<div class="aui-flex-box" :class="activeIndex === 'phoneLogin' ? 'activeNav on' : ''" @click="loginClick('phoneLogin')"
>{{ t('sys.login.mobileSignInFormTitle') }}
</div>
<!-- <div class="aui-flex-box" :class="activeIndex === 'phoneLogin' ? 'activeNav on' : ''" @click="loginClick('phoneLogin')"-->
<!-- >{{ t('sys.login.mobileSignInFormTitle') }}-->
<!-- </div>-->
</div>
<div class="aui-form-box" style="height: 180px">
<a-form ref="loginRef" :model="formData" v-if="activeIndex === 'accountLogin'" @keyup.enter.native="loginHandleClick">
@ -63,9 +63,9 @@
<span style="margin-left: 5px">{{ t('sys.login.rememberMe') }}</span>
</div>
</div>
<div class="aui-forget">
<a @click="forgetHandelClick"> {{ t('sys.login.forgetPassword') }}</a>
</div>
<!-- <div class="aui-forget">-->
<!-- <a @click="forgetHandelClick"> {{ t('sys.login.forgetPassword') }}</a>-->
<!-- </div>-->
</div>
</div>
</a-form>
@ -89,45 +89,48 @@
<div class="aui-formButton">
<div class="aui-flex">
<a-button :loading="loginLoading" class="aui-link-login" type="primary" @click="loginHandleClick">
{{ t('sys.login.loginButton') }}</a-button>
</div>
<div class="aui-flex">
<a class="aui-linek-code aui-flex-box" @click="codeHandleClick">{{ t('sys.login.qrSignInFormTitle') }}</a>
</div>
<div class="aui-flex">
<a class="aui-linek-code aui-flex-box" @click="registerHandleClick">{{ t('sys.login.registerButton') }}</a>
{{ t('sys.login.loginButton') }}</a-button
>
</div>
<!-- 注册及二维码登录 -->
<!-- <div class="aui-flex">-->
<!-- <a class="aui-linek-code aui-flex-box" @click="codeHandleClick">{{ t('sys.login.qrSignInFormTitle') }}</a>-->
<!-- </div>-->
<!-- <div class="aui-flex">-->
<!-- <a class="aui-linek-code aui-flex-box" @click="registerHandleClick">{{ t('sys.login.registerButton') }}</a>-->
<!-- </div>-->
</div>
</div>
<a-form @keyup.enter.native="loginHandleClick">
<div class="aui-flex aui-third-text">
<div class="aui-flex-box aui-third-border">
<span>{{ t('sys.login.otherSignIn') }}</span>
</div>
</div>
<div class="aui-flex" :class="`${prefixCls}-sign-in-way`">
<div class="aui-flex-box">
<div class="aui-third-login">
<a title="github" @click="onThirdLogin('github')"><GithubFilled /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a title="企业微信" @click="onThirdLogin('wechat_enterprise')"><icon-font class="item-icon" type="icon-qiyeweixin3" /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a title="钉钉" @click="onThirdLogin('dingtalk')"><DingtalkCircleFilled /></a>
</div>
</div>
<div class="aui-flex-box">
<div class="aui-third-login">
<a title="微信" @click="onThirdLogin('wechat_open')"><WechatFilled /></a>
</div>
</div>
</div>
</a-form>
<!-- 其他登录方式 -->
<!-- <a-form @keyup.enter.native="loginHandleClick">-->
<!-- <div class="aui-flex aui-third-text">-->
<!-- <div class="aui-flex-box aui-third-border">-->
<!-- <span>{{ t('sys.login.otherSignIn') }}</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex" :class="`${prefixCls}-sign-in-way`">-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a title="github" @click="onThirdLogin('github')"><GithubFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a title="企业微信" @click="onThirdLogin('wechat_enterprise')"><icon-font class="item-icon" type="icon-qiyeweixin3" /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a title="钉钉" @click="onThirdLogin('dingtalk')"><DingtalkCircleFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="aui-flex-box">-->
<!-- <div class="aui-third-login">-->
<!-- <a title="微信" @click="onThirdLogin('wechat_open')"><WechatFilled /></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </a-form>-->
</div>
</div>
</div>
@ -143,8 +146,8 @@
<MiniCodelogin ref="codeRef" @go-back="goBack" @success="handleSuccess" />
</div>
<!-- 第三方登录相关弹框 -->
<ThirdModal ref="thirdModalRef"></ThirdModal>
<ThirdModal ref="thirdModalRef" />
<!-- 图片验证码弹窗 -->
<CaptchaModal @register="captchaRegisterModal" @ok="getLoginCode" />
</div>
@ -166,12 +169,12 @@
import adTextImg from '/@/assets/loginmini/icon/jeecg_ad_text.png';
import { AppLocalePicker, AppDarkModeToggle } from '/@/components/Application';
import { useLocaleStore } from '/@/store/modules/locale';
import { useDesign } from "/@/hooks/web/useDesign";
import { useAppInject } from "/@/hooks/web/useAppInject";
import { useDesign } from '/@/hooks/web/useDesign';
import { useAppInject } from '/@/hooks/web/useAppInject';
import { GithubFilled, WechatFilled, DingtalkCircleFilled, createFromIconfontCN } from '@ant-design/icons-vue';
import CaptchaModal from '@/components/jeecg/captcha/CaptchaModal.vue';
import { useModal } from "@/components/Modal";
import { ExceptionEnum } from "@/enums/exceptionEnum";
import { useModal } from '@/components/Modal';
import { ExceptionEnum } from '@/enums/exceptionEnum';
const IconFont = createFromIconfontCN({
scriptUrl: '//at.alicdn.com/t/font_2316098_umqusozousr.js',
@ -194,8 +197,8 @@
//
const formData = reactive<any>({
inputCode: '',
username: 'admin',
password: '123456',
username: '',
password: '',
});
//
const phoneFormData = reactive<any>({
@ -343,8 +346,8 @@
return;
}
//update-begin---author:wangshuai---date:2024-04-18---for:QQYUN-9005IP15---
const result = await getCaptcha({ mobile: phoneFormData.mobile, smsmode: SmsEnum.FORGET_PASSWORD }).catch((res) =>{
if(res.code === ExceptionEnum.PHONE_SMS_FAIL_CODE){
const result = await getCaptcha({ mobile: phoneFormData.mobile, smsmode: SmsEnum.FORGET_PASSWORD }).catch((res) => {
if (res.code === ExceptionEnum.PHONE_SMS_FAIL_CODE) {
openCaptchaModal(true, {});
}
});
@ -399,7 +402,7 @@
*/
function handleSuccess(value) {
Object.assign(formData, value);
Object.assign(phoneFormData, { mobile: "", smscode: "" });
Object.assign(phoneFormData, { mobile: '', smscode: '' });
type.value = 'login';
activeIndex.value = 'accountLogin';
handleChangeCheckCode();
@ -460,11 +463,11 @@
color: #aaa !important;
}
:deep(.jeecg-dark-switch){
position:absolute;
:deep(.jeecg-dark-switch) {
position: absolute;
margin-right: 10px;
}
.aui-link-login{
.aui-link-login {
height: 42px;
padding: 10px 15px;
font-size: 14px;
@ -474,100 +477,103 @@
flex: 1;
color: #fff;
}
.aui-phone-logo{
.aui-phone-logo {
position: absolute;
margin-left: 10px;
width: 60px;
top:2px;
top: 2px;
z-index: 4;
}
.top-3{
.top-3 {
top: 0.45rem;
}
</style>
<style lang="less">
@prefix-cls: ~'@{namespace}-mini-login';
@dark-bg: #293146;
@prefix-cls: ~'@{namespace}-mini-login';
@dark-bg: #293146;
html[data-theme='dark'] {
.@{prefix-cls} {
background-color: @dark-bg !important;
background-image: none;
html[data-theme='dark'] {
.@{prefix-cls} {
background-color: @dark-bg !important;
background-image: none;
&::before {
background-image: url(/@/assets/svg/login-bg-dark.svg);
}
.aui-inputClear{
background-color: #232a3b !important;
}
.ant-input,
.ant-input-password {
background-color: #232a3b !important;
}
&::before {
background-image: url(/@/assets/svg/login-bg-dark.svg);
}
.aui-inputClear {
background-color: #232a3b !important;
}
.ant-input,
.ant-input-password {
background-color: #232a3b !important;
}
.ant-btn:not(.ant-btn-link):not(.ant-btn-primary) {
border: 1px solid #4a5569 !important;
}
.ant-btn:not(.ant-btn-link):not(.ant-btn-primary) {
border: 1px solid #4a5569 !important;
}
&-form {
background: @dark-bg !important;
}
&-form {
background: @dark-bg !important;
}
.app-iconify {
color: #fff !important;
}
.aui-inputClear input,.aui-input-line input,.aui-choice{
color: #c9d1d9 !important;
}
.app-iconify {
color: #fff !important;
}
.aui-inputClear input,
.aui-input-line input,
.aui-choice {
color: #c9d1d9 !important;
}
.aui-formBox{
background-color: @dark-bg !important;
}
.aui-third-text span{
background-color: @dark-bg !important;
}
.aui-form-nav .aui-flex-box{
color: #c9d1d9 !important;
}
.aui-formBox {
background-color: @dark-bg !important;
}
.aui-third-text span {
background-color: @dark-bg !important;
}
.aui-form-nav .aui-flex-box {
color: #c9d1d9 !important;
}
.aui-formButton .aui-linek-code{
background: @dark-bg !important;
color: white !important;
}
.aui-code-line{
border-left: none !important;
}
.ant-checkbox-inner,.aui-success h3{
border-color: #c9d1d9;
}
//update-begin---author:wangshuai ---date:20230828 forQQYUN-6363------------
&-sign-in-way {
.anticon {
font-size: 22px !important;
color: #888 !important;
cursor: pointer !important;
&:hover {
color: @primary-color !important;
.aui-formButton .aui-linek-code {
background: @dark-bg !important;
color: white !important;
}
.aui-code-line {
border-left: none !important;
}
.ant-checkbox-inner,
.aui-success h3 {
border-color: #c9d1d9;
}
//update-begin---author:wangshuai ---date:20230828 forQQYUN-6363------------
&-sign-in-way {
.anticon {
font-size: 22px !important;
color: #888 !important;
cursor: pointer !important;
&:hover {
color: @primary-color !important;
}
}
}
//update-end---author:wangshuai ---date:20230828 forQQYUN-6363------------
}
//update-end---author:wangshuai ---date:20230828 forQQYUN-6363------------
}
input.fix-auto-fill,
.fix-auto-fill input {
-webkit-text-fill-color: #c9d1d9 !important;
box-shadow: inherit !important;
}
.ant-divider-inner-text {
font-size: 12px !important;
color: @text-color-secondary !important;
}
.aui-third-login a{
background: transparent;
input.fix-auto-fill,
.fix-auto-fill input {
-webkit-text-fill-color: #c9d1d9 !important;
box-shadow: inherit !important;
}
.ant-divider-inner-text {
font-size: 12px !important;
color: @text-color-secondary !important;
}
.aui-third-login a {
background: transparent;
}
}
}
</style>

Loading…
Cancel
Save