提交 b54fdc3a 编写于 作者: “grape”'s avatar “grape”

删除多余文件

上级 7dc3d554
<!--
* @Author: wangliang
* @date 20220727
-->
<template>
<div>
<div class="rarle">
<div style="width:100%;height: calc(35vh);background: linear-gradient(90deg, #76befa 0%, #3672f1 99%);">
<tatle-bar :tatle="titleName" :tatleflag="titleflag" >
</tatle-bar>
</div>
<div class="card">
<div style="margin-top: 4%; margin-left: 20px"><span style="color: #9e9e9e">贷款利息(元)</span><span v-if="flag" style="margin-left: 130px; color: #3672F1" @click="toSeeRepayPlan">查看还款计划</span></div>
<div style="margin-top: 0px; margin-left: 20px"><span style="color: #FFA121;font-size: 24px;font-family: '思源黑体 Bold', '思源黑体 Regular', '思源黑体';
font-weight: 700;
font-style: normal;">{{result}}</span></div>
<div style="margin-top: 4%; margin-left: 20px"><span style="color: #9e9e9e">本息合计(元)</span></div>
<div style="margin-top: 0px; margin-left: 20px"><span style="color: #FFA121;font-size: 24px;font-family: '思源黑体 Bold', '思源黑体 Regular', '思源黑体';
font-weight: 700;
font-style: normal;">{{resultPlus}}</span></div>
</div>
<div style="margin-top: 50px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">贷款金额(元)</van-col>
<van-col span="12" style="text-align: right">{{loanAmt}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">贷款期限(月)</van-col>
<van-col span="12" style="text-align: right">{{loanTime}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">贷款利率(%)</van-col>
<van-col span="12" style="text-align: right">{{loanRate}}</van-col>
</van-row>
</div>
<!-- <div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">-->
<!-- <van-row>-->
<!-- <van-col span="12" style="color: #999999">计划月还款</van-col>-->
<!-- <van-col span="12" style="text-align: right">{{planMonthRepay}}</van-col>-->
<!-- </van-row>-->
<!-- </div>-->
<!-- <div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">-->
<!-- <van-row>-->
<!-- <van-col span="12" style="color: #999999">贷款种类</van-col>-->
<!-- <van-col span="12" style="text-align: right">{{loanType}}</van-col>-->
<!-- </van-row>-->
<!-- </div>-->
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">还款方式</van-col>
<van-col span="12" style="text-align: right">{{repayType}}</van-col>
</van-row>
</div>
<van-button style="width: 90%;margin-left: 5%;background-color: #1890ff;position: absolute;margin-top: 36%;height: 6%;border-radius: 5px;" type="primary" @click="returnCount">确定</van-button>
<van-button style="width: 90%;margin-left: 5%;position: absolute;margin-top: 50%;height: 6%;border-radius: 5px;border-color: #1890ff" @click="returnCount"><span style="color: #1890ff">重新计算</span></van-button>
</div>
</div>
</template>
<script lang="ts">
import {Component, Prop, Vue} from "vue-property-decorator";
import router from "@/router";
import VueRouter, { Route, RouteConfig } from "vue-router";
import {RouteMeta} from "vue-router/types/router";
Vue.use(VueRouter);
@Component({
name: "CountResult",
})
export default class CountResult extends Vue{
resultData:any={};
flag=true;
resultPlus:any="";
result:any="";
loanAmt:any="";
loanRate:any="";
planMonthRepay = "";
loanTime:any="";
repayType:any = "";
loanType = "";
titleName="试算结果";
titleflag=true;
mounted() {
if(this.$route.params.routeName=="aaa"){
this.result = this.$route.params.result;
this.loanAmt = this.$route.params.loanAmt;
this.resultPlus = (parseInt(this.result) + parseInt(this.loanAmt)).toString();
this.loanRate = this.$route.params.loanRate;
this.loanTime = this.$route.params.loanTime;
this.repayType = this.$route.params.repayType;
}else{
this.result = window.localStorage.getItem("result");
this.loanAmt= window.localStorage.getItem("loanAmt");
this.resultPlus=window.localStorage.getItem("resultPlus");
this.loanRate=window.localStorage.getItem("loanRate");
this.loanTime=window.localStorage.getItem("loanTime");
this.repayType=window.localStorage.getItem("repayType");
}
if(this.repayType=="利随本清"){
this.flag=false;
}
}
//router.beforeEach((to,from,next) => {});
//beforeRouteLeave(to:any,from,next){}
// mounted() {
// this.result = window.localStorage.getItem("result");
// //this.result = "1100";
// this.loanAmt= window.localStorage.getItem("loanAmt");
// this.resultPlus=window.localStorage.getItem("resultPlus");
// this.loanRate=window.localStorage.getItem("loanRate");
// this.loanTime=window.localStorage.getItem("loanTime");
// this.repayType=window.localStorage.getItem("repayType");
// let getStoreData = this.$store.getters["CountResultStore/getResultData"];
// console.log("获取到getStoreData的数据");
// console.log(getStoreData);
// }
returnCount() {
this.$router.back();
}
toSeeRepayPlan() {
window.localStorage.setItem("result",this.result);
window.localStorage.setItem("loanAmt",this.loanAmt);
window.localStorage.setItem("resultPlus",this.resultPlus);
window.localStorage.setItem("loanRate",this.loanRate);
window.localStorage.setItem("loanTime",this.loanTime);
window.localStorage.setItem("repayType",this.repayType);
// this.resultData.result = this.result;
// this.resultData.loanAmt = this.loanAmt;
// this.resultData.resultPlus = this.resultPlus;
// this.resultData.loanRate = this.loanRate;
// this.resultData.loanTime = this.loanTime;
// this.resultData.repayType = this.repayType;
//this.$store.commit("CountResultStore/setResultData",this.resultData);
this.$router.push({
name: "RepayPlan",
});
}
}
</script>
<style scoped lang="scss">
.card{
position: absolute;
background-color: #ffffff;
width: 90%;
margin-left: 5%;
margin-top: -30%;
border-radius: 10px;
}
</style>
<!--
* @Author: wangliang
* @date 20220727
-->
<template>
<div>
<div class="rarle">
<div style="width:100%;height: calc(35vh);background: linear-gradient(90deg, #76befa 0%, #3672f1 99%);">
<tatle-bar :tatle="titleName" :tatleflag="titleflag" >
</tatle-bar>
</div>
<div class="card">
<div style="margin-top: 4%; margin-left: 20px"><span style="color: #9e9e9e">所得利息(元)</span></div>
<div style="margin-top: 0px; margin-left: 20px"><span style="color: #FFA121;font-size: 24px;font-family: '思源黑体 Bold', '思源黑体 Regular', '思源黑体';
font-weight: 700;
font-style: normal;">{{countResult}}</span></div>
<div style="margin-top: 4%; margin-left: 20px"><span style="color: #9e9e9e">本息合计(元)</span></div>
<div style="margin-top: 0px; margin-left: 20px"><span style="color: #FFA121;font-size: 24px;font-family: '思源黑体 Bold', '思源黑体 Regular', '思源黑体';
font-weight: 700;
font-style: normal;">{{result}}</span></div>
</div>
<div style="margin-top: 50px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">储蓄方式</van-col>
<van-col span="12" style="text-align: right">{{saveType}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">定期类型</van-col>
<van-col span="12" style="text-align: right">{{timeType}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">期限</van-col>
<van-col span="12" style="text-align: right">{{time}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">年利率(%)</van-col>
<van-col span="12" style="text-align: right">{{yearRate}}</van-col>
</van-row>
</div>
<div style="margin-top: 20px; margin-left: 30px; margin-right: 30px">
<van-row>
<van-col span="12" style="color: #999999">存入金额(元)</van-col>
<van-col span="12" style="text-align: right">{{depositAmt}}</van-col>
</van-row>
</div>
<van-button style="width: 90%;margin-left: 5%;background-color: #1890ff;position: absolute;margin-top: 26%;height: 6%;border-radius: 5px;" type="primary" @click="returnCount">确定</van-button>
<van-button style="width: 90%;margin-left: 5%;position: absolute;margin-top: 40%;height: 6%;border-radius: 5px;border-color: #1890ff" @click="returnCount"><span style="color: #1890ff">重新计算</span></van-button>
</div>
</div>
</template>
<script lang="ts">
import {Component, Prop, Vue} from "vue-property-decorator";
@Component({
name: "CountResultB",
})
export default class CountResultB extends Vue{
result="0";
countResult="100";
saveType="";
timeType="";
time="";
yearRate="";
depositAmt= "";
titleName="试算结果";
titleflag=true;
returnCount() {
this.$router.push({
name: "DepositInterestTrial",
});
}
mounted() {
this.saveType = this.$route.params.saveType;
this.timeType = this.$route.params.timeType;
this.time = this.$route.params.time=="1"?"一年":this.$route.params.time=="2"?"两年":"三年";
this.yearRate = this.$route.params.yearRate;
this.depositAmt = this.$route.params.depositAmt;
this.countResult = this.$route.params.result;
this.result = (parseInt(this.$route.params.result)+parseInt(this.depositAmt)).toString();
}
}
</script>
<style scoped lang="scss">
.card{
position: absolute;
background-color: #ffffff;
width: 90%;
margin-left: 5%;
margin-top: -30%;
border-radius: 10px;
}
</style>
/**
* @Author wangliang
* @date 20220825
*/
<template>
<div class="body d-page" style="background-color: #ffffff">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<div style="background-color: #FFFFFF; height: 50px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">项目</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">年利率(%)</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px; padding-top: 10px">
<span style="font-size: 14px; font-weight: 700; margin-left: 14px">一、城乡居民及单位存款</span>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">(一)&nbsp;&nbsp;活期</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">0.3</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">(一)&nbsp;&nbsp;定期</van-col>
</van-row>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px; color: red">1.整存整取</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">三个月</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.35</van-col>
</van-row>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">半年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.55</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">一年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.75</van-col>
</van-row>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">两年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">2.25</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">三年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">2.75</van-col>
</van-row>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">五年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">2.75</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px; padding-top: 10px; padding-left: 60px">
<span style="color: red">2.零存整取、整存零取、存本取息</span>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">一年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.35</van-col>
</van-row>
</div>
<div style="background-color: rgba(241, 244, 255, 1); height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">三年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.55</van-col>
</van-row>
</div>
<div style="background-color: #FFFFFF; height: 40px">
<van-row span="24">
<van-col span="12" style="text-align: center; margin-top: 10px">五年</van-col>
<van-col span="12" style="text-align: center; margin-top: 10px">1.55</van-col>
</van-row>
</div>
</div>
</template>
<script lang="ts">
import {Component, Vue} from "vue-property-decorator";
@Component({
name: "DepositRate"
})
export default class DepositRate extends Vue {
tatleName="人民币存款基准利率";
}
</script>
<style scoped lang="scss">
</style>
<template>
<div>
<div class="card" :model="test2">
<div class="d-flex" style="margin-top: 6%;margin-left: 5%">贷款金额(元)<van-field v-model="test2.loanAmt" placeholder="请输入贷款金额" style="width: 50%;margin-top: -4%;margin-left: auto;"></van-field></div>
<div class="d-flex" style="margin-top: 6%;margin-left: 5%">贷款期限(月)<van-field v-model="test2.loanTime" placeholder="请输入贷款期限" style="width: 50%;margin-top: -4%;margin-left: auto"></van-field></div>
<div class="d-flex" style="margin-top: 6%;margin-left: 5%">计划月还款(元)<van-field v-model="test2.planMonthRepay" placeholder="请输入计划月还款" style="width: 50%;margin-top: -4%;margin-left: auto"></van-field></div>
<div class="d-flex" style="margin-top: 6%;margin-left: 5%">贷款利率(%)<van-field v-model="test2.loanRate" placeholder="请输入贷款利率" style="width: 50%;margin-top: -4%;margin-left: auto;"></van-field></div>
<div class="d-flex" style="margin-top: 6%;margin-left: 5%">贷款种类
<a-select v-model:value="test2.loanType" :options="loanTypes" placeholder="请选择贷款种类" style="width: 50%;margin-top: -2%;margin-left: auto">
</a-select>
</div>
<div class="d-flex" style="margin-top: 6%;margin-left: 5%;margin-bottom: 6%">还款方式<a-select :v-model="test2.repayType" @change="handleChoiceChange" placeholder="请选择还款方式" style="width: 50%;margin-top: -2%;margin-left: auto">
<a-select-option v-for="(item, index) in choices" :key="index" :value="item">
{{item}}
</a-select-option>
</a-select></div>
</div>
<div>
<van-button style="width: 90%;margin-left: 5%;background-color: #1890ff;position: absolute;margin-top: 86%;height: 6%;border-radius: 5px;" type="primary" @click="countB">计算</van-button>
<van-button style="width: 90%;margin-left: 5%;position: absolute;margin-top: 102%;height: 6%;border-radius: 5px;border-color: #1890ff"><span style="color: #1890ff">清除</span></van-button>
</div>
</div>
</template>
<script lang="ts">
import {Component, Vue} from "vue-property-decorator";
@Component({
name: "LoanTrial"
})
export default class LoanTrial extends Vue {
choices: string[] = ["利随本清","等额本金","等额本息"];
test2: any = {
loanAmt: "",
loanTime: "",
planMonthRepay : "",
loanRate: "",
loanType: undefined,
repayType: "",
};
loanTypes: any[] = [
{
value : "有抵押",
label : "有抵押",
},{
value : "无抵押",
label : "无抵押",
}
];
handleChoiceChange(value:any) {
this.test2.repayType = value;
}
countB() {
let result = 0;
result = parseInt(this.test2.loanAmt)*parseInt(this.test2.loanRate)/100*parseInt(this.test2.loanTime)/12;
this.$router.push({
name: "CountResult",
params: {
loanAmt: this.test2.loanAmt,
loanTime: this.test2.loanTime,
planMonthRepay: this.test2.planMonthRepay,
loanRate: this.test2.loanRate,
loanType: this.test2.loanType,
repayType: this.test2.repayType,
result: result.toString(),
}
})
}
}
</script>
<style scoped lang="scss">
.card{
position: absolute;
background-color: #ffffff;
width: 90%;
margin-left: 5%;
margin-top: -30%;
}
</style>
<!--
@Author wangliang
@date 20220826
-->
<template>
<div class="body d-page" style="background-color: #ffffff">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<a-table :columns="columns" :row-key="(record) => record.times" :data-source="repayPlans">
</a-table>
</div>
</template>
<script lang="ts">
import {Component, Vue} from "vue-property-decorator";
@Component({
name: "RepayPlan"
})
export default class RepayPlan extends Vue{
tatleName="还款计划";
columns: any[] = [
{title: "期次", dataIndex: "times", className: "fontSize", ellipsis: true, align: "center"},
{title: "还款日期", dataIndex: "repayDate", className: "fontSize", ellipsis: true, align: "center"},
{title: "偿还利息", dataIndex: "repayInterest", className: "fontSize", ellipsis: true, align: "center"},
{title: "偿还本金", dataIndex: "repayCapital", className: "fontSize", ellipsis: true, align: "center"},
{title: "偿还本息", dataIndex: "repayAmt", className: "fontSize", ellipsis: true, align: "center"},
{title: "剩余本金", dataIndex: "surplusAmt", className: "fontSize", ellipsis: true, align: "center"},
];
repayPlans: any[] = [
{times: "1", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "2", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "3", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "4", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "5", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "6", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "7", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "8", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "9", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "10", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "11", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "12", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
{times: "13", repayDate: "20220707", repayInterest: "100", repayCapital: "100", repayAmt: "100", surplusAmt: "100"},
];
}
</script>
<style scoped lang="scss">
::v-deep .ant-table-thead > tr > th, ::v-deep .ant-table-tbody > tr > td {
padding: 16px 0px;
overflow-wrap: break-word;
}
::v-deep .fontSize {
font-size: 12px;
}
</style>
export class Test {
depositAmt: string; //存款金额
yearRate: string;
putDate: string;
getDate: string;
saveType: string | undefined;
timeType: string | undefined;
time: string | undefined;
constructor(
options: {
depositAmt?: string;
yearRate?: string;
putDate?: string;
getDate?: string;
saveType?: string | undefined;
timeType?: string | undefined;
time?: string | undefined;
} = {}
) {
this.depositAmt = options.depositAmt || "";
this.yearRate = options.yearRate || "";
this.putDate = options.putDate || "";
this.getDate = options.getDate || "";
this.saveType = options.saveType;
this.timeType = options.timeType;
this.time = options.time;
}
}
<!--
*@Author wangliang
*@date 20220729
-->
<template>
<div class="body d-page" style="background-color: #f5f2f0">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<scroller-view pulldown="true" pullup="true">
<div v-for="count in 3" :key="count" class="imag-card" @click="pushProduct">
<img :src="require('@/assets/svg/licai.svg')" style="width: 100%;"/>
<div>
<div style="margin-top: 10px;margin-left: 10px;font-size: smaller"><span>黑龙江农信理财-月月增利1号</span><br/></div>
<div style="margin-top: 6px;margin-left: 10px"><span style="font-size: larger;color: #e85014">4.46%</span><span style="font-size: small;color: black;position: absolute;margin-left: 90px;margin-top: 6px">最短持有180天</span><br/></div>
<div style="margin-top: 6px;margin-left: 10px;font-size: smaller"><span>近三个月年化</span><span style="position: absolute;margin-left: 68px">一万起购较低风险<span style="color: #e85014;">当日开发</span></span><br/></div>
</div>
</div>
</scroller-view>
</div>
</template>
<script lang="ts">
import {Component, Vue} from "vue-property-decorator";
@Component({
name:"ManageMoneyProduct",
})
export default class ManageMoneyProduct extends Vue {
tatleName="理财产品";
pushProduct() {
this.$router.push({
name: "ManageProductDetail",
})
}
}
</script>
<style scoped lang="scss">
.imag-card{
width: 96%;
margin: 4% auto;
background-color: #FFFFFF;
}
</style>
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-14 13:57:33
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-08-18 10:59:51
* @FilePath: \mcep-h5\src\views\MyView\LevelSent.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="rarle">
<van-row>
<van-col span="9">
<van-icon name="arrow-left" @click="retyen()" />
</van-col>
<van-col span="15">{{ tatleName }}</van-col>
</van-row>
<div class="card">
<div class="d-flex flex-column">
<div class="d-flex p-3 text-white">
<div class="p-2 " style="width: 62px;height: 62px;">
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-touxiang"></use>
</svg>
</div>
<div style="width: 100%;margin-top: 2%;margin-left: 6%;">
<div class="d-flex flex-column">
<div class="lusspolid">大熊仔
</div>
<div class="d-flex " style="width: 100%;">
<div class="live ">
二星级用户|当前成长值535</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="frist_type">
<van-row type="flex" class="vanrowFlex">
<van-col span="24" class="vanclo">我的特权</van-col>
<van-row type="flex" gutter="10" justify="center" style="width: 90%; margin: 0px auto;">
<van-col span="6"><img class="img" src="../../assets/images/DGKHBF.png"></van-col>
<van-col span="6"><img class="img" src="../../assets/images/DGKHBF.png"></van-col>
<van-col span="6"><img class="img" src="../../assets/images/DGKHBF.png"></van-col>
<van-col span="6"><img class="img" src="../../assets/images/DGKHBF.png"></van-col>
</van-row>
<van-row type="flex" gutter="10" style="width: 90%; margin: 0px auto;">
<van-col span="6" style="font-size:10px;text-align: center;">我的特权</van-col>
<van-col span="6" style="font-size:10px;text-align: center;">我的特权</van-col>
<van-col span="6" style="font-size:10px;text-align: center;">我的特权</van-col>
<van-col span="6" style="font-size:10px;text-align: center;">我的特权</van-col>
</van-row>
<van-row type="flex" gutter="10" style="width: 90%; margin: 0px auto;">
<van-col span="6" class="third-style">
</van-col>
<van-col span="6" class="third-style">
+0.01</van-col>
<van-col span="6" class="third-style">
-0.01</van-col>
<van-col span="6" class="third-style">专属
</van-col>
</van-row>
</van-row>
<van-row type="flex" class="">
<van-col span="24" >我的特权</van-col>
<div>
</div>
</van-row>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { ProductData } from '@/model/entity/ProductData'
//import { defineComponent } from 'vue';
@Component({
name: "LevelSent",
})
export default class LevelSent extends Vue {
tatleName = "等级权限详情";
imageBackage: any = require('@/assets/images/backageImg.png');
//返回上一级
retyen() {
this.$router.back();
}
//数表
tableData= [{
level: '免费转账',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
level: '客户',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
level: '存款加息',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
level: '贷款减息',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}]
data: any = [
{
key: 1,
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.',
},
{
key: 2,
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.',
},
{
key: 3,
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.',
},
];
}
</script>
<style scoped lang="scss">
.card {
//background-image: url("../../assets/images/mycard.png");
background-color: #ffc14a;
position: absolute;
top: 12%;
left: 4%;
right: 3%;
width: 89%;
height: 11%;
margin: 2% auto;
border-radius: 15px;
display: flex;
font-weight: 400;
font-style: normal;
}
.last {
position: absolute;
height: 100-20vh;
background: #ffffff;
overflow: visible;
}
// .frist_type {
// // border: 1px solid;
// width: 100%;
// height: 100%;
// border-radius: 70px 70px 0px 0px;
// position: absolute;
// top: 20%;
// background-color: #fff;
// }
.frist_type {
margin-top: 15%;
background-image: url('../../assets/images/backageImg.png');
background-size: 100% 100%;
height: 85%;
}
.frist {
margin-left: 6%;
text-rendering: optimizelegibility;
font-feature-settings: "kern";
font-kerning: normal;
font-size: 14px;
}
.second {
//margin-left: 6%;
width: 90%;
margin: 0px auto;
}
.third {
width: 90%;
margin: 0px auto;
// margin-left: 6%;
font-size: 10px;
color: rgba(0, 0, 0, 0.8);
text-rendering: optimizelegibility;
font-feature-settings: "kern";
font-kerning: normal;
}
.img {
width: 85%;
}
.van-col--9 {
margin-top: 5%;
font-size: 18px;
color: #ffffff;
}
.van-col--15 {
margin-top: 5%;
font-size: 18px;
color: #ffffff;
}
.rarle {
width: 100%;
height: 100%;
background: linear-gradient(90deg, rgba(118, 190, 250, 1) 0%, rgba(54, 114, 241, 1) 99%);
}
.third-style {
font-size: 10px;
text-align: center;
color: rgb(255, 193, 74)
}
.vanrowFlex {
margin-top: 2%;
}
.lusspolid {
color: #976401;
font-size: 14px;
}
.vanclo {
margin: 20% 0% 4% 6%;
/* margin-left: 2%; */
/* margin-top: 20%; */
font-weight: 500;
font-size: 14px;
text-align: left;
}
.d-tattle {
margin-top: 28%;
}
.priductName {
padding-top: 2%;
}
.imglittle {
padding-top: 2%;
}
.litterParam {
width: 90%;
margin: 0px auto;
background-color: rgba(255, 255, 255, 1);
border: none;
border-radius: 4px;
-moz-box-shadow: 0px 0px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
height: 40px;
}
.vanrow {
margin-top: 6%;
margin-left: 2%;
}
.tatle {
width: 100%;
height: 100%;
}
.icon {
width: 40px;
height: 40px;
}
.live {
font-size: 12px;
color: #CE8B0B;
}
</style>
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-05 14:05:30
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-22 18:18:30
* @FilePath: \mcep-h5\src\views\main\MainView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="d-page d-flex flex-column" style=" background-color: #ebedf0">
<div class="rarl">
<person-bar :title="tatleName" :param="param" :login="true" style="width:100%;height: calc(35vh);">
</person-bar>
</div>
<div style="margin-top: 160px; position: absolute; width: 100%">
<van-row span="24">
<van-col span="8" style="text-align: center; color: #FFFFFF; font-weight: 600">2456</van-col>
<van-col span="8" style="text-align: center; color: #FFFFFF; font-weight: 600">12</van-col>
<van-col span="8" style="text-align: center; color: #FFFFFF; font-weight: 600">10</van-col>
</van-row>
<van-row span="24">
<van-col span="8" style="text-align: center; color: #FFFFFF">我的积分</van-col>
<van-col span="8" style="text-align: center; color: #FFFFFF">卡券</van-col>
<van-col span="8" style="text-align: center; color: #FFFFFF">特权</van-col>
</van-row>
</div>
<div>
<card-bar class="card"></card-bar>
<!-- <uncard-bar class="card"></uncard-bar> -->
</div>
<div class="prudect">
<little-bar :litterParam="litterParam" @litterParamClick="litterParamClick"></little-bar>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { ProductData } from '@/model/entity/ProductData'
@Component({
name: "MyPage",
})
export default class MyPage extends Vue {
tatleName = "个人中心"
loginFlag = true;
param: any = {}
//判断是否登录
created() {
//判断登录登陆状态
//this.loginFlag=localStorage.getItem("loginFlag")
if (this.loginFlag) {
this.param = {
name: "孙旭东",
live: "二星级",
grow: "531"
}
} else {
this.param = {
name: "登录/注册"
}
}
}
//列表信息
litterParam: any = [{
productname: "个人信息",
//个人信息
img: "#icon-a-gerenxinxi16x16px",
flag: "PersonLod"
},
{
productname: "我的贷款",
//图片信息
img: "#icon-a-wodedaikuan16x16px",
flag: "AccommodMain"
},
{
productname: "兑换记录",
//图片信息
img: "#icon-a-duihuanjilu16x16px",
flag: "ExchangeRecord",
},
{
productname: "合作企业",
//图片信息
img: "#icon-a-hezuoqiye16x16px",
flag: "CooperationBusiness",
}]
//点击事件
litterParamClick(item: any) {
if (item.flag === "PersonLod") {
this.$router.push({
name: "PersonLod"
//参数
})
} else if (item.flag === "AccommodMain") {
this.$router.push({
name: "AccommodMain"
//参数
})
} else if ( item.flag === "ExchangeRecord") {
this.$router.push({
name: "ExchangeRecord"
})
} else if ( item.flag === "CooperationBusiness") {
this.$router.push({
name: "CooperationBusiness"
})
}
}
}
</script>
<style scoped lang="scss">
.roll {
background: #ecf9ff;
}
.card {
position: absolute;
top: 30%;
left: 3%;
right: 3%;
width: 90%;
height: 20%;
margin: 2% auto;
border-radius: 15px;
display: flex;
font-weight: 400;
font-style: normal
}
.titleName {
float: inline-end;
height: 34px;
margin: 7px auto 0px 8px;
border-radius: 12px;
color: #a2d2f4;
}
.icon {
width: 90px;
height: 90px;
}
.prudect {
background: white;
height: 100-35vh;
}
</style>
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-05 14:05:30
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-13 17:42:26
* @FilePath: \mcep-h5\src\views\main\MainView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div>
<product-detail class="productName" :productName="productName"></product-detail>
<product-card :money="money" :moneyName="moneyName" class="productCard"> </product-card>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { ProductData } from '@/model/entity/ProductData'
@Component({
name: "ProductDetails",
})
export default class ProductDetails extends Vue {
productName="小微企业---互助贷款"
money: string = "¥5000000" //最高额度
moneyName: string = "五百万元整" //最高额度汉字
activeNames=["1"]
}
</script>
<style scoped lang="scss">
.productName {
height: 38vh;
}
.productCard {
// position: absolute;
// top: 10%;
// left: 4%;
// right: 4%;
// width: 100%;
// height: 31%;
// margin: 2% auto;
// border-radius: 15px;
// display: flex;
// font-weight: 400;
// font-style: normal;
position: absolute;
top: 13%;
/* left: calc(100vh - -15px); */
margin: 0px auto;
right: 4%;
width: 90%;
height: 30%;
/* margin: 2% auto; */
border-radius: 15px;
/* display: flex; */
font-weight: 400;
font-style: normal;
}
// .producy{
// position: absolute;
// top: 10%;
// left: 4%;
// right: 4%;
// width: 100%;
// height: 31%;
// margin: 2% auto;
// border-radius: 15px;
// display: flex;
// font-weight: 400;
// font-style: normal;
// }
</style>
<template>
<div class="body d-page">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<div>
<div style="margin-top: 30px;text-align: center;z-index: 0"><img :src="require('@/assets/svg/u1507.svg')" style="width: 15%;height: 15%;"/></div>
<div style="margin-top: -38px;z-index: 1;text-align: center"><img :src="require('@/assets/svg/u1506.svg')" style="width: 10%;height: 10%;"/></div>
</div>
<div style=" text-align: center;
margin-top: 26px;
color: black;
font-size: 17px">
自助贷款申请提交成功!
</div>
<div style="margin-top: 10px;width: 80%;margin-left: 10%;font-size: smaller">自助贷款申请已成功提交,请耐心等待管理人员审核,审核结果将会以短信方式通知。</div>
<div>
<van-button style=" width: 90%;
margin-left: 5%;
background-color: rgb(24, 144, 255);
position: absolute;
margin-top: 14%;
height: 5%;
border-radius: 5px;" type="primary" @click="countB">首页</van-button> </div>
</div>
</template>
<script lang="ts">
import {Component, Vue} from "vue-property-decorator";
@Component({
name: "ApplyResult",
})
export default class ApplyResult extends Vue {
tatleName="申请结果";
countB() {
this.$router.push({
path:"/Mianview",
});
}
}
</script>
<style scoped lang="scss">
</style>
此差异已折叠。
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 15:41:06
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-08-18 16:10:19
* @FilePath: \mcep-h5\src\views\authentication\LoginView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="loginform">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<div class="login">
<van-row class="" style="padding: 10% 0%;">
<van-col span="24">
<p class="polog"><span class="font-size-18-dhc" style="padding: 2% 0%;font-weight: 600;">登录</span> </p>
</van-col>
<van-col span="24"><span class="font-size-12-dhc" style="font-weight: 400; font-family: 'Arial Normal', 'Arial';
}">请使用身份证号登录</span></van-col>
</van-row>
<van-form>
<div class="logindiv">
<span class="sopan">身份证号</span>
<van-field v-model="idcard" placeholder="身份证号" :rules="[{ validator: verifyPhone, message: '请输入正确的身份证号码' }]" />
</div>
<!-- <div class="logindiv"> -->
<span class="sopan">密码</span>
<van-field v-model="password" :type="passwordType" center clearable placeholder="请填写密码">
<template slot="right-icon">
<span class="solts" @click="switchPasswordType">
<van-icon name="eye" v-if="passwordType === 'password'" />
<van-icon name="closed-eye" v-else />
</span>
</template>
</van-field>
<!-- <van-divider /> -->
<!-- </div> -->
<!-- <div class="d-flex ">
<div class="p-2 mr-auto ">
<span class="sopan">验证码</span>
<van-field center clearable v-model="imageSrcValue" placeholder="请输入验证码" />
</div>
<div class="p-2 ">
<img :src="imageSrc" style="max-width: 100px; max-height: 200px;" @click="_updatePicCode()" />
</div>
</div> -->
<!-- <template >
<img :src="imageSrc" style="max-width: 100px; max-height: 200px;" />
</template> -->
<!-- <span class="sopan">短信验证码</span>
<van-row class="">
<van-col span="16">
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
</van-field>
</van-col>
<van-col span="8"><a style="color:#3672F1" @click="getPhonePost()">{{ getCmstotal }}</a></van-col>
</van-row> -->
<div style="margin: 16px;">
<van-button square block type="info" native-type="submit" @click="loginSystem()">登录</van-button>
</div>
</van-form>
<!-- <div>
<van-row type="flex" justify="center">
<van-col span="12"><a class="font-size-12-dhc"> 忘记密码</a></van-col>
<van-col span="12"><a class="font-size-12-dhc"> 用户注册</a></van-col>
</van-row>
</div> -->
<div class="d-flex " style="padding: 0px 10px 0px 10px;color: #3672F1;">
<div class="p-3 mr-auto "><a class="font-size-12-dhc" @click="forgetspass()"> 忘记密码</a></div>
<div class="p-3 " style="margin-right: 13%;"><a class="font-size-12-dhc" @click="loginbyid()"> 手机号登录</a></div>
<div class="p-3 "><a class="font-size-12-dhc" @click="regeist()"> 用户注册</a></div>
<!-- <div class="p-3 "><a class="font-size-12-dhc" @click="demo()"> demo测试</a></div> -->
</div>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { Image as VanImage, Toast } from 'vant';
import apiService from "@/services/api.service";
import loginApi from "@/constants/api/login/login-mgt.api";
import { Code } from "@/constants/enum/general/code.enum";
import { RestfulResponse } from "@/model/domain/RestfulResponse";
import commonApi from "@/constants/api/login/common.api";
import { sys } from "typescript";
import { log } from "mathjs";
@Component({
name: "LoginView",
[VanImage.name]: VanImage,
})
export default class LoginView extends Vue {
getCmstotal = "获取短信验证码";
tatleName = "用户登录";
idcard: string = "";//电话
password: string = "";//密码
imageSrc: any = "";//图形
imageSrcValue: string = "";//图形验证码
sms: string = "";//短信验证
timer: any = "";//定时器
time: number = 60;//计数
imageVerifyKey: string = ""//验证码Key
passwordType = "password"
//方法
switchPasswordType() {
this.passwordType = this.passwordType === 'password' ? 'text' : 'password'
}
//身份证号登录
loginbyid() {
this.$router.push({
name: `login`
})
}
//手机号
verifyPhone() {
const card18 = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
return card18.test(this.idcard)
}
//获取图形验证码
_updatePicCode() {
//请求图形验证码
apiService.general(loginApi.updatePicCode, undefined, undefined, undefined).then((response: RestfulResponse) => {
if (response.code == Code.SUCCESS.code) {
this.imageSrc = 'data:image/png;base64,' + response.data.imageVerifyCodeStr.replace(/[\r\n]/g, "");
this.imageVerifyKey = response.data.imageVerifyKey
}
});
}
//计时器
changeCmstotal() {
this.getCmstotal = this.time + "s重发验证码";
this.timer = setInterval(() => {
this.time--;
this.getCmstotal = this.time + "s重发验证码";
if (this.time < 0) {
clearInterval(this.time)
this.getCmstotal = "获取短信验证码";
}
}, 1000)
}
//获取短信验证码
// getPhonePost() {
// let param = {
// phoneCode: this.phone
// }
// apiService.general(commonApi.getPicCode, param, undefined, undefined).then((response: RestfulResponse) => {
// if (response.code == Code.SUCCESS.code) {
// Toast('短信发送成功,5分钟有效');
// this.changeCmstotal()
// } else {
// Toast('短信发送失败,请重试');
// }
// })
// }
loginSystem() {
//TODO
//登录失败刷新
//验证码失败刷新
//this._updatePicCode();
// let param = {
// phone: this.phone,
// //图形验证码
// imageVerifyKey: this.imageSrcValue,
// //渠道
// loginType: "2",
// //手机验证码
// messCode: this.sms,
// //密码
// passWord: this.password
// }
// apiService.general(loginApi.loginSystem, undefined, param, undefined).then((response: RestfulResponse) => {
// console.log(response);
// if (response.code == Code.SUCCESS.code) {
// this.$router.push({
// name: `Mianview`,
// params: {
// data: response.data
// }
// })
// } else {
// this._updatePicCode();
// Toast(response.msg + "");
// }
// });
}
// created() {
// this._updatePicCode()
// }
//忘记密码
forgetspass() {
this.$router.push({
name: `ForgetPass`,
// params: {
// phone: this.phone
// }
});
}
regeist() {
this.$router.push({
path: `Register`,
})
}
// demo() {
// this.$router.push({
// path: `Mianview`,
// })
// }
demoll() {
this.$router.push({
path: `workbench/commonly-used/personal/business-inquiry`,
})
}
}
</script>
<style lang="scss" scoped>
.loginform {
width: 100%;
height: 100%;
}
.logindiv {
line-height: 20px;
}
.van-button {
border-radius: 6px;
}
.polog {
margin: 0px;
text-rendering: optimizeLegibility;
font-feature-settings: "kern" 1;
-webkit-font-feature-settings: "kern";
-moz-font-feature-settings: "kern";
-moz-font-feature-settings: "kern=1";
font-kerning: normal;
}
.van-col--15 {
margin-top: 2%;
}
.van-col--24 {
margin-left: 6%;
}
.forget {}
.sopan {
margin-top: 5px;
margin-left: 6%;
}
// .login{
// margin-top: 20%;
// }
</style>
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 15:41:06
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-08-18 13:43:29
* @FilePath: \mcep-h5\src\views\authentication\LoginView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="loginform">
<div class="rarle">
<tatle-bar :tatle="tatleName"></tatle-bar>
</div>
<div class="login">
<van-row class="" style="padding: 10% 0%;">
<van-col span="24">
<p class="polog"><span class="font-size-18-dhc" style="padding: 2% 0%;font-weight: 600;">登录</span> </p>
</van-col>
<van-col span="24"><span class="font-size-12-dhc" style="font-weight: 400; font-family: 'Arial Normal', 'Arial';
}">请使用手机号或身份证号登录</span></van-col>
</van-row>
<van-form>
<div class="logindiv">
<span class="sopan">账号</span>
<van-field @input="noChange" v-model="loginNo" :border="true" placeholder="请输入手机号或身份证号"
/>
<!-- :rules="[{ validator: verifyPhone, message: '请输入正确的手机号码' }]" -->
</div>
<van-divider :style="{ margin: 0 }"></van-divider>
<!-- <div class="logindiv"> -->
<span class="sopan">密码</span>
<van-field v-model="password" :type="passwordType" center clearable placeholder="请填写密码">
<template slot="right-icon">
<span class="solts" @click="switchPasswordType">
<van-icon name="eye" v-if="passwordType === 'password'" />
<van-icon name="closed-eye" v-else />
</span>
</template>
</van-field>
<!-- <van-divider :style="{ margin: 0 }"></van-divider> -->
<!-- <van-divider /> -->
<!-- </div> -->
<!-- <div class="d-flex ">
<div class="p-2 mr-auto ">
<span class="sopan">验证码</span>
<van-field center clearable v-model="imageSrcValue" placeholder="请输入验证码" />
</div>
<div class="p-2 ">
<img :src="imageSrc" style="max-width: 100px; max-height: 200px;" @click="_updatePicCode()" />
</div>
</div> -->
<!-- <template >
<img :src="imageSrc" style="max-width: 100px; max-height: 200px;" />
</template> -->
<div v-show = "showCode" class="authCode">
<span class="sopan">短信验证码</span>
<van-row class="">
<van-col span="16">
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
</van-field>
</van-col>
<van-col span="8"><a style=" color:#3672F1; display:inline-block;font-size:12px;line-height:44px; margin-left: 25%;" @click="getPhonePost()">{{ getCmstotal }}</a></van-col>
</van-row>
<van-divider :style="{ margin: 0 }"></van-divider>
</div>
<div style="margin: 16px;">
<van-button square block type="info" native-type="submit" @click="loginSystem()">登录</van-button>
</div>
</van-form>
<!-- <div>
<van-row type="flex" justify="center">
<van-col span="12"><a class="font-size-12-dhc"> 忘记密码</a></van-col>
<van-col span="12"><a class="font-size-12-dhc"> 用户注册</a></van-col>
</van-row>
</div> -->
<div class="d-flex " style="padding: 0px 10px 0px 10px;color: #3672F1;">
<div class="p-3 mr-auto "><a class="font-size-12-dhc" @click="forgetspass()"> 忘记密码</a></div>
<div class="p-3 "><a class="font-size-12-dhc" @click="loginbyid()"> 身份证号登录</a></div>
<div class="p-3 "><a class="font-size-12-dhc" @click="regeist()"> 用户注册</a></div>
<div class="p-3 "><a class="font-size-12-dhc" @click="demo()"> demo测试</a></div>
</div>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { Image as VanImage, Toast } from 'vant';
import apiService from "@/services/api.service";
import loginApi from "@/constants/api/login/login-mgt.api";
import { Code } from "@/constants/enum/general/code.enum";
import { RestfulResponse } from "@/model/domain/RestfulResponse";
import commonApi from "@/constants/api/login/common.api";
import { sys } from "typescript";
import { log } from "mathjs";
@Component({
name: "LoginView",
[VanImage.name]: VanImage,
})
export default class LoginView extends Vue {
getCmstotal = "获取验证码";
tatleName = "用户登录";
loginNo: string = "";//登录账号
password: string = "";//密码
imageSrc: any = "";//图形
imageSrcValue: string = "";//图形验证码
sms: string = "";//短信验证
timer: any = "";//定时器
time: number = 60;//计数
imageVerifyKey: string = "";//验证码Key
passwordType = "password";
showCode = false;
//方法
created(){
if(localStorage.getItem("loginNo")!=null)
this.loginNo = String(localStorage.getItem("loginNo"));
}
noChange(s:string){
if(this.verifyPhone(s)){
this.showCode=true;
}else{
this.showCode=false;
}
//测试 只要内容发生改变就保存
// localStorage.setItem('loginNo', this.loginNo);
}
switchPasswordType() {
this.passwordType = this.passwordType === 'password' ? 'text' : 'password'
}
//身份证号登录
loginbyid() {
this.$router.push({
name: `LoginByID`
})
}
//手机号
verifyPhone(s:string) {
return /^1[3-9]\d{9}$/.test(s) // 返回true或false
}
//获取图形验证码
_updatePicCode() {
//请求图形验证码
apiService.general(loginApi.updatePicCode, undefined, undefined, undefined).then((response: RestfulResponse) => {
if (response.code == Code.SUCCESS.code) {
this.imageSrc = 'data:image/png;base64,' + response.data.imageVerifyCodeStr.replace(/[\r\n]/g, "");
this.imageVerifyKey = response.data.imageVerifyKey
}
});
}
//计时器
changeCmstotal() {
this.getCmstotal = this.time + "s重发验证码";
this.timer = setInterval(() => {
this.time--;
this.getCmstotal = this.time + "s重发验证码";
if (this.time < 0) {
clearInterval(this.time)
this.getCmstotal = "获取短信验证码";
}
}, 1000)
}
//获取短信验证码
getPhonePost() {
let param = {
phoneCode: this.loginNo
}
apiService.general(commonApi.getPicCode, param, undefined, undefined).then((response: RestfulResponse) => {
if (response.code == Code.SUCCESS.code) {
Toast('短信发送成功,5分钟有效');
this.changeCmstotal()
} else {
Toast('短信发送失败,请重试');
}
})
}
loginSystem() {
//TODO
//登录失败刷新
//验证码失败刷新
//this._updatePicCode();
let param = {
phone: this.loginNo,
//图形验证码
imageVerifyKey: this.imageSrcValue,
//渠道
loginType: "2",
//手机验证码
messCode: this.sms,
//密码
passWord: this.password
}
apiService.general(loginApi.loginSystem, undefined, param, undefined).then((response: RestfulResponse) => {
console.log(response);
//发送请求就保存账号
localStorage.setItem('loginNo', this.loginNo);
if (response.code == Code.SUCCESS.code) {
this.$router.push({
name: `Mianview`,
params: {
data: response.data
}
})
//登录成功后保存账号
localStorage.setItem('loginNo', this.loginNo);
} else {
// this._updatePicCode();
Toast(response.msg + "");
}
});
}
// created() {
// this._updatePicCode()
// }
//忘记密码
forgetspass() {
this.$router.push({
name: `ForgetPass`,
params: {
phone: this.loginNo
}
});
}
regeist() {
this.$router.push({
path: `Register`,
})
}
demo() {
this.$router.push({
path: `Mianview`,
})
}
demoll() {
this.$router.push({
path: `workbench/commonly-used/personal/business-inquiry`,
})
}
}
</script>
<style lang="scss" scoped>
.loginform {
width: 100%;
height: 100%;
}
.logindiv {
line-height: 20px;
}
.van-button {
border-radius: 6px;
}
.polog {
margin: 0px;
text-rendering: optimizeLegibility;
font-feature-settings: "kern" 1;
-webkit-font-feature-settings: "kern";
-moz-font-feature-settings: "kern";
-moz-font-feature-settings: "kern=1";
font-kerning: normal;
}
.van-col--15 {
margin-top: 2%;
}
.van-col--24 {
margin-left: 6%;
}
.forget {}
.sopan {
margin-top: 5px;
margin-left: 6%;
}
// .login{
// margin-top: 20%;
// }
</style>
<template>
<div class="d-page d-flex flex-column">
<title-bar title="新增客户" @clickLeft="onClick">
<van-icon slot="left" name="cross" size="24" />
</title-bar>
<div class="adduser">
<van-form @submit="onSubmit">
<div class="IDcard">
<div class="business_license"><van-uploader v-model="business_license" :max-count="1" multiple /><!-- v-model="fileList"--></div>
</div>
<mobile-input v-model="certype" label="证件类型" placeholder="营业执照" readonly size="large" />
<mobile-input v-model="IDnumber" label="证件号码" placeholder="请输入证件号码" size="large" />
<mobile-input v-model="username" label="客户名称" placeholder="请输入客户名称" size="large" />
<mobile-input v-model="username" label="联系人" placeholder="请输入联系人" size="large" />
<mobile-input v-model="username" label="联系电话" placeholder="请输入联系电话" size="large" />
<mobile-input v-model="sms" center clearable label="短信验证码" size="large">
<template #button>
<van-button size="small" type="primary">获取验证码</van-button>
</template>
</mobile-input>
<div style="margin: 16px">
<van-button round block type="info" native-type="submit">确定</van-button>
</div>
</van-form>
<base-popup v-model="flagPopup" :showConfirm="true" confirmText="知道了">
<div class="popup-content">
<div>中天城投集团城市建设有限公司</div>
<div><img src="../../assets/svg/blue-round.svg" alt="" /></div>
<div>该客户为行内客户,不能进行开户</div>
</div>
</base-popup>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import BasePopup from "@/components/general/BasePopup.vue";
/**
* @Description 新增客户
* @Author JiangTao
* @Date 2021-11-10 下午 03:09
*/
@Component({
name: "AddUserView",
components: { BasePopup },
})
export default class AddUserView extends Vue {
pageTitle = ""; // 页面标题
flag = false;
flagPopup = false;
certype: string | undefined = "";
IDnumber: string | undefined = "";
username: string | undefined = "";
tel: string | undefined = "";
sms: string | undefined = "";
business_license: any = [];
onSubmit() {
if (this.flag) {
this.$router.push({
path: "/customer-mgt/customer-info/customer-information-registration/customer-information-registration",
query: {
warn: "客户信息预登记",
},
});
} else {
this.flagPopup = true;
console.log("弹窗");
console.log(this.flagPopup);
}
}
onClick() {
console.log(111111);
}
}
</script>
<style scoped lang="scss">
.adduser {
width: 40%;
height: 50%;
margin: 32px auto 0 auto;
}
::v-deep .van-field-label {
width: 120px;
text-align: right;
}
.IDcard {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.business_license {
width: 10%;
}
::v-deep .van-button--info div span {
font-size: 20px;
}
::v-deep .van-uploader__input {
background-image: url("../../assets/images/auxiliary-tools-Interest-pricing.png");
}
::v-deep .van-button--info {
background-color: #fd5065;
border: 1px solid #fd5065;
}
.popup-content {
width: 50%;
margin: 0 auto;
}
.popup-content div {
text-align: center;
}
.popup-content > div:nth-child(1) {
font-size: 16px;
color: #333333;
font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑";
}
.popup-content > div:nth-child(3) {
font-size: 20px;
color: #333333;
font-family: "Arial Normal", "Arial";
}
</style>
此差异已折叠。
<template>
<div class="d-page">
<!--对公客户列表-->
<div class="wh-100">
<van-form class="d-form-container w-100 pt-4">
<mobile-input label="客户名称" :reset="resetvalue" border="true" name="custNam" v-model="custName" placeholder="请输入" size="small"></mobile-input>
<d-select label="客户类型" placeholder="请选择" :value="custType" border="true" v-model="custType" sfield="custType" size="small"></d-select>
<d-select label="客户状态" placeholder="请选择" :value="custState" border="true" v-model="custState" sfield="custState" size="small"></d-select>
<div style="display: flex;justify-content: space-evenly;align-items: self-start">
<van-button color="#FF574C" type="primary" @click="reset" plain style="width: 70px;height: 34px" size="small">重置</van-button>
<van-button color="#FF574C" type="primary" @click="loadCustomList(1)" style="width: 70px;height: 34px" size="small">查询</van-button>
</div>
</van-form>
<div class="d-flex flex-column">
<scroller-view ref="custList" v-calculate-height :pulldown="pulldown" :pullup="pullup" :refresh-data="onrefreshdata" :load-data="onloaddata">
<div v-for="(item, index) in list" :key="index" class="customer-bottom-list" @click="onClientInfo(item)">
<div class="customer-bottom-list-top">
<div>
<svg class="icon" aria-hidden="true">
<!--暂时方案,右侧图标无法传达到内网 <use xlink:href="#icon-gongsimingcheng"></use>-->
<use v-if="item.cus_status == '71' || item.cus_status == '70'" xlink:href="#icon-qianzai-32X32"></use>
<use v-else-if="item.cus_status == '00' || item.cus_status == '20'" xlink:href="#icon-zhengshi-32X32"></use>
<use v-else-if="item.cus_status == 'CA'" xlink:href="#icon-bulu-32X32"></use>
<use v-else xlink:href="#icon-qita-32X32"></use>
</svg>
</div>
<div>{{ item.cus_name }}</div>
<div>
<div v-if="item.com_scale && item.com_scale != ''">{{ item.com_scale_cnName }}</div>
</div>
</div>
<div class="customer-bottom-list-bottom">
<div>
<div>客户号:</div>
<div>{{ item.cus_id }}</div>
</div>
<div>
<div>主管客户经理:</div>
<div>{{ item.cust_mgr_cnName }}</div>
</div>
<div>
<div>主管机构:</div>
<div>{{ item.main_br_cnName }}</div>
</div>
</div>
</div>
</scroller-view>
</div>
</div>
<!--新增客户-->
<!-- <div class="d-add_user">-->
<!-- <a @click="addUser">-->
<!-- <div class="add_logo">-->
<!-- <div class="add_inside">-->
<!-- <span class="add">新增</span><br />-->
<!-- <span class="add">客户</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </a>-->
<!-- </div>-->
</div>
</template>
<script lang="ts">
import { Component, Ref, Vue } from "vue-property-decorator";
import { NativeUI } from "@/public/ts/NativeUI";
import nettyApi from "@/constants/api/ms-netty/netty.api.ts";
import IF from "@/public/factory/InterFaceFactory";
/**
* @Description 客户列表
* @Author JiangTao
* @Date 2021-10-23 下午 06:50
*/
@Component({
name: "CustomerMgtView",
})
export default class CustomerMgtView extends Vue {
@Ref() custList: any;
src = require("../../assets/svg/red-subscript.svg");
s = {
backgroundColor: "#fff4f6",
border: "1px solid #fd5065",
color: "#fd5065",
backgroundImage: `url("${this.src}")`,
backgroundRepeat: "no-repeat",
backgroundPosition: "right bottom",
};
list: any = [];
// 筛选条件
custName = "";
custType = "";
custState = "";
resetvalue = false;
pageNo = 1;
pullup = true;
pulldown = true;
IF: any;
mounted() {
const vm = this;
vm.loadCustomList().then(()=> {
// 可能是主页布局导致滚动高度有问题,所以第一次上拉未到底就去加载,所以这里默认刷新一下scroll的高度
vm.custList.refresh();
});
}
/**
* @Description 重置
* @Author JiangTao
* @Date 2022-01-15 下午 06:15
*/
reset() {
this.custName = "";
this.resetvalue = true;
this.custType = "";
this.custState = "";
this.loadCustomList().then(() => {
this.resetvalue = false;
});
}
//上拉加载
onloaddata() {
this.pageNo = Math.ceil(this.list.length / 10) + 1;
return this.loadCustomList(this.pageNo);
}
onrefreshdata() {
this.pageNo = 1;
return this.loadCustomList();
}
/**
* @Description 对公客户列表
* @Author ZPFly
* @Date 2021/11/4 19:55
*/
loadCustomList(pageNo = 1) {
const param = {
cus_name: this.custName || "",
maxLine: "10",
cus_type: this.custType || "",
cus_status: this.custState || "",
targetPage: pageNo,
user_code: sessionStorage.getItem('user_code'),
tc: nettyApi.TRADE_CODE.selectXDGSXX
};
NativeUI.showWaiting("正在查询...");
return new Promise((resolve, reject) => {
IF.transferDataInter(nettyApi.commonRq, param).then((res: any) => {
NativeUI.closeWaiting();
if (res.rc == "1") {
if (pageNo == 1) {
this.list = res.CusComList;
} else {
this.list = this.list.concat(res.CusComList);
}
if (res.CusComList && res.CusComList.length < 10) {
// 如果小于10条,说明没有更多数据了,去掉加载更多
this.pullup = false;
resolve(true);
} else {
//如果等于10条那么就保留加载更多
this.pullup = true;
resolve(false);
}
} else {
// 如果查询失败,去掉加载更多
this.pullup = false;
NativeUI.toast(res.msg);
resolve(true);
}
});
});
}
addUser() {
this.$router.push({
path: "/customer-mgt/AddUserView",
});
}
onClientInfo(item: any) {
this.$store.commit("setEmpty");
this.$store.commit("setCusInfo", item);
this.$router.push({
path: "/CompanyDetails",
});
}
}
</script>
<style scoped lang="scss">
.d-page {
padding: 0 32px;
}
.d-form-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
::v-deep .d-form-field .van-field__label {
width: 5em;
}
.customer {
width: 100%;
background-color: white;
padding-top: 2%;
padding-left: 3%;
}
.customer-top {
display: flex;
align-items: center;
margin-bottom: 2%;
}
.name {
width: 90%;
padding-top: 1%;
padding-bottom: 1%;
margin-left: 5%;
border: 1px solid #cccccc;
border-radius: 5px;
}
.d-add_user {
position: absolute;
bottom: 50px;
right: 50px;
}
.add_logo {
width: 95px;
height: 95px;
background-image: url("../../assets/svg/red-shadow-round.svg");
background-repeat: no-repeat;
}
.add_inside {
width: 44px;
margin: 0 auto;
padding-top: 18px;
}
.add {
color: white;
font-size: 16px;
}
.customer-bottom-list {
border-radius: 10px;
background-color: #f8fdff;
box-shadow: 0 0 6px #d7d7d7;
margin-bottom: 16px;
padding-bottom: 15px;
padding-top: 9px;
position: relative;
}
.customer-bottom-list-top > div:nth-child(1) svg {
width: 40px;
height: 40px;
}
.customer-bottom-list-top > div:nth-child(2) {
font-size: 115%;
font-weight: bold;
font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑";
margin-left: 0.8%;
}
.customer-bottom-list-top {
width: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
margin-left: 16px;
}
.customer-bottom-list-top > div:nth-child(3) {
width: 28%;
display: grid;
grid-template-columns: repeat(4, 1fr);
justify-content: space-around;
grid-column-gap: 4px;
align-items: center;
margin-left: 1%;
}
.customer-bottom-list-top > div:nth-child(3) div {
color: #ff6e0d;
background-color: rgba(255, 247, 204, 1);
font-size: 80%;
padding-top: 2%;
padding-bottom: 1.5%;
border-radius: 2px;
text-align: center;
width: 100%;
}
.customer-bottom-list-bottom {
width: 80%;
display: flex;
padding-left: 4.5%;
justify-content: space-between;
align-items: flex-start;
}
.customer-bottom-list-bottom > div {
width: 30%;
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
.customer-bottom-list-bottom > div > div:nth-child(1) {
white-space: nowrap;
}
.customer-bottom-list-bottom > div:nth-child(3) {
width: 40%;
}
.contact-person {
width: auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.contact-person > div:nth-child(1) {
margin-right: 10px;
font-family: "Arial Normal", "Arial";
}
.label-type {
width: 18%;
border: 1px solid #cccccc;
border-radius: 5px;
padding-top: 0.2%;
padding-bottom: 0.2%;
margin-left: 1%;
}
::v-deep .scroller {
padding: 1%;
}
.label {
width: 170%;
height: 60%;
display: flex;
justify-content: space-around;
align-items: center;
}
.label div {
width: 35%;
font-size: 13px;
padding-top: 1.1%;
padding-bottom: 0.7%;
border-radius: 5px;
text-align: center;
background-color: white;
border: 1px solid rgba(215, 215, 215, 1);
margin: 0.7% 1%;
}
.backgroundlogo {
position: absolute;
width: 60px;
top: 25%;
right: 20%;
}
.backgroundlogo img {
width: 100%;
opacity: 0.5;
}
</style>
<template>
<div>
<div class="information-container flex-1-dhc" style="overflow-x: auto">
<van-steps direction="vertical" :active="active">
<van-step>
<div class="area">
<div>
<div style="margin-left: 10%">
&nbsp;
<div style="font-weight: 400; width: 20%">八月</div>
&nbsp;
<div style="font-size: 18px; width: 20%">18</div>
</div>
<div style="margin-top: -10%; margin-left: 19%; padding: 5% 5%">公司成立</div>
</div>
</div>
</van-step>
<van-step>
<div class="area">
<div>
<div style="margin-left: 10%">
&nbsp;
<div style="font-weight: 400; width: 20%">九月</div>
&nbsp;
<div style="font-size: 18px; width: 20%">13</div>
</div>
<div style="margin-top: -10%; margin-left: 19%; padding: 5% 5%">获得国家安全可靠计算机信息系统集成重点企业证书(特一级资质)</div>
</div>
</div>
</van-step>
</van-steps>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { Step, Steps } from "vant";
/**
* @Description:企业营销时光轴
* @author pd
* @date 2021-11-06 16:42:10
*/
Vue.use(Step);
Vue.use(Steps);
@Component({
name: "EnterpriseMarketTimeLine",
})
export default class EnterpriseMarketTimeLine extends Vue {
active: any = 1;
}
</script>
<style scoped>
.shape {
/*
border-width: 1 px;
*/
position: absolute;
left: 5%;
top: 14%;
width: 0.6%;
height: 2.5%;
background: inherit;
background-color: rgba(2, 167, 240, 1);
border: none;
border-radius: 1%;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.area {
border-width: 0px;
/* position: absolute;
left: 0 px;
top: 0 px;*/
width: 100%;
height: auto;
background: inherit;
background-color: rgba(255, 255, 255, 1);
border: none;
border-radius: 2%;
-moz-box-shadow: 0px 1px 3px rgba(204, 204, 204, 1);
-webkit-box-shadow: 0px 1px 3px rgb(204 204 204);
box-shadow: 0px 1px 3px rgb(204 204 204);
}
</style>
<template>
<div>
<div class="information-container flex-1-dhc" style="overflow-x: auto">
<van-steps direction="vertical" :active="active">
<van-step>
<div class="area">
<div>
<div style="margin-left: 10%">
&nbsp;
<div style="font-weight: 400; width: 20%">八月</div>
&nbsp;
<div style="font-size: 18px; width: 20%">18</div>
</div>
<div style="margin-top: -10%; margin-left: 19%; padding: 5% 5%">公司成立</div>
</div>
</div>
</van-step>
<van-step>
<div class="area">
<div>
<div style="margin-left: 10%">
&nbsp;
<div style="font-weight: 400; width: 20%">九月</div>
&nbsp;
<div style="font-size: 18px; width: 20%">13</div>
</div>
<div style="margin-top: -10%; margin-left: 19%; padding: 5% 5%">获得国家安全可靠计算机信息系统集成重点企业证书(特一级资质)</div>
</div>
</div>
</van-step>
</van-steps>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { Step, Steps } from "vant";
/**
* @Description:企业时光轴
* @author pd
* @date 2021-11-06 16:42:29
*/
Vue.use(Step);
Vue.use(Steps);
@Component({
name: "EnterpriseTimeline",
})
export default class EnterpriseTimeline extends Vue {
active: any = 1;
}
</script>
<style scoped>
.shape {
/*
border-width: 1 px;
*/
position: absolute;
left: 5%;
top: 14%;
width: 0.6%;
height: 2.5%;
background: inherit;
background-color: rgba(2, 167, 240, 1);
border: none;
border-radius: 1%;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.area {
border-width: 0px;
/* position: absolute;
left: 0 px;
top: 0 px;*/
width: 100%;
height: auto;
background: inherit;
background-color: rgba(255, 255, 255, 1);
border: none;
border-radius: 2%;
-moz-box-shadow: 0px 1px 3px rgba(204, 204, 204, 1);
-webkit-box-shadow: 0px 1px 3px rgb(204 204 204);
box-shadow: 0px 1px 3px rgb(204 204 204);
}
</style>
此差异已折叠。
此差异已折叠。
<template>
<div class="d-page d-flex flex-column">
<title-bar :title="title" @clickLef="onClick">
<van-icon slot="left" name="cross" size="24" />
</title-bar>
<div class="h-scroller flex-1-dhc">
<case-flow-information></case-flow-information>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import TitleBar from "@/components/general/TitleBar.vue";
import CaseFlowInformation from "@/components/customer-information/operating-risk-information/case-process/CaseFlowInformation.vue";
/**
* @Description 案件流程
* @Author JiangTao
* @Date 2021-11-10 下午 03:14
*/
@Component({
name: "CaseProcess",
components: { TitleBar, CaseFlowInformation },
})
export default class CaseProcess extends Vue {
title = "案件流程"; // 页面标题
indexList = ["案件流程信息"];
onClick() {
console.log(111111);
}
mounted() {}
}
</script>
<style scoped></style>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册