HolyKnightIX 1 rok temu
rodzic
commit
347e6e27bd
2 zmienionych plików z 386 dodań i 298 usunięć
  1. +285
    -245
      src/components/login/login.vue
  2. +101
    -53
      src/components/ttpoiList/list.vue

+ 285
- 245
src/components/login/login.vue Wyświetl plik

@@ -1,265 +1,305 @@
<template>
<div class="bg">
<div class="login">
<el-form :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2" class="demo-ruleForm login_form">
<h1>小程序第三方管理平台</h1>
<el-form-item class="inputs" label="" prop="username">
<el-input v-model.number="ruleForm2.username" placeholder="请输入账号"></el-input>
</el-form-item>
<el-form-item class="inputs" label="" prop="password">
<el-input type="password" v-model="ruleForm2.password" auto-complete="off" placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item class="inputs" label="" prop="captcha">
<el-input v-model="ruleForm2.captcha" auto-complete="off" placeholder="看不清?点击图片刷新">
</el-input>
<div class="refreImg">
<img alt="" :src="src" @click="refreshCode">
</div>
</el-form-item>
<el-form-item>
<el-button class="login-btn" :loading="submitButton" type="primary" @click="login('ruleForm2')">登录</el-button>
</el-form-item>
</el-form>
<div style="position: absolute;top: 96%;right: 2%;color: #fff;" id="_version"></div>
</div>
<div class="bg">
<div class="login">
<el-form
:model="ruleForm2"
status-icon
:rules="rules2"
ref="ruleForm2"
class="demo-ruleForm login_form"
>
<h1>小程序第三方管理平台</h1>
<el-form-item class="inputs" label="" prop="username">
<el-input
v-model.number="ruleForm2.username"
placeholder="请输入账号"
></el-input>
</el-form-item>
<el-form-item class="inputs" label="" prop="password">
<el-input
type="password"
v-model="ruleForm2.password"
auto-complete="off"
placeholder="请输入密码"
></el-input>
</el-form-item>
<el-form-item class="inputs" label="" prop="captcha">
<el-input
v-model="ruleForm2.captcha"
@keydown.enter.native="login('ruleForm2')"
auto-complete="off"
placeholder="看不清?点击图片刷新"
>
</el-input>
<div class="refreImg">
<img alt="" :src="src" @click="refreshCode" />
</div>
</el-form-item>
<el-form-item>
<el-button
class="login-btn"
:loading="submitButton"
type="primary"
@click="login('ruleForm2')"
>登录</el-button
>
</el-form-item>
</el-form>
<div
style="position: absolute;top: 96%;right: 2%;color: #fff;"
id="_version"
></div>
</div>
</div>
</template>
<script>
import AjaxUtil from "../../core/tool/ajaxService";
import Util from "../../core/tool/commonUtil";
import { configUrl } from "./../../utils/config.js";
export default {
extends: AjaxUtil,
name: "Login",
data() {
return {
submitButton:false,
src: '',
ruleForm2: {
username: '',
password: '',
captcha: ''
},
rules2: {
username: [{
required: true,
message: '抱歉,不能识别您输入的账号',
trigger: 'blur'
}],
password: [{
required: true,
message: '抱歉,不能识别您输入的密码',
trigger: 'blur'
}],
captcha: [{
required: true,
message: '抱歉,不能识别您输入的验证码',
trigger: 'blur'
}],
}
};
},
methods: {
login: function () {
this.submitButton = true
let name = this.ruleForm2.username;
let pwd = this.ruleForm2.password;
let captcha = this.ruleForm2.captcha;
this.postFetch(configUrl.doLogin, {
username: name,
password: pwd,
captcha: captcha,
})
.then(d => {
console.log(d)
this.submitButton = false
this.showNotify("success", "欢迎进入小程序第三方管理平台", "登录成功");
Util.cookie.setCookie("uname", d.data.username);
this.$router.push({
path: "/layout"
});
})
.catch((err) => {
this.submitButton = false
this.refreshCode();
this.$message.error(err.data);
});
},
refreshCode: function () {
this.src = configUrl.captcha+"?t=" + Date();
console.log(this.src);
}
},
created() {
this.refreshCode();
},
mounted() {
let metas = document.getElementsByTagName("meta");
let version = "";
for (let index = 0; index < metas.length; index++) {
if (metas[index].getAttribute("name") == "version") {
version = metas[index].getAttribute("content");
break;
}
}
console.log(configUrl.getversion,"configUrl.getversion");
this.getFetch(configUrl.getversion).then(d=>{
console.log(d,22222)
document.getElementById("_version").innerHTML = "version:"+ version.substr(4) + "." + d.data.split('_')[1] ;
}).catch(e=>{
document.getElementById("_version").innerHTML = "version:"+ version.substr(4);
})
},
import AjaxUtil from "../../core/tool/ajaxService";
import Util from "../../core/tool/commonUtil";
import { configUrl } from "./../../utils/config.js";
export default {
extends: AjaxUtil,
name: "Login",
data() {
return {
submitButton: false,
src: "",
ruleForm2: {
username: "",
password: "",
captcha: "",
},
rules2: {
username: [
{
required: true,
message: "抱歉,不能识别您输入的账号",
trigger: "blur",
},
],
password: [
{
required: true,
message: "抱歉,不能识别您输入的密码",
trigger: "blur",
},
],
captcha: [
{
required: true,
message: "抱歉,不能识别您输入的验证码",
trigger: "blur",
},
],
},
};
},
methods: {
login: function() {
this.submitButton = true;
let name = this.ruleForm2.username;
let pwd = this.ruleForm2.password;
let captcha = this.ruleForm2.captcha;
this.postFetch(configUrl.doLogin, {
username: name,
password: pwd,
captcha: captcha,
})
.then((d) => {
console.log(d);
this.submitButton = false;
this.showNotify(
"success",
"欢迎进入小程序第三方管理平台",
"登录成功"
);
Util.cookie.setCookie("uname", d.data.username);
this.$router.push({
path: "/layout",
});
})
.catch((err) => {
this.submitButton = false;
this.refreshCode();
this.$message.error(err.data);
});
},
refreshCode: function() {
this.src = configUrl.captcha + "?t=" + Date();
console.log(this.src);
},
},
created() {
this.refreshCode();
},
mounted() {
let metas = document.getElementsByTagName("meta");
let version = "";
for (let index = 0; index < metas.length; index++) {
if (metas[index].getAttribute("name") == "version") {
version = metas[index].getAttribute("content");
break;
}
}
console.log(configUrl.getversion, "configUrl.getversion");

this.getFetch(configUrl.getversion)
.then((d) => {
console.log(d, 22222);
document.getElementById("_version").innerHTML =
"version:" + version.substr(4) + "." + d.data.split("_")[1];
})
.catch((e) => {
document.getElementById("_version").innerHTML =
"version:" + version.substr(4);
});
},
};
</script>

<style scoped>
.qrcode{
width: 36px;
position: absolute;
right: 7px;
top: 5px;
z-index: 1000;
}
#login_container{
position: absolute;
left: 0;
right: 0;
margin: auto;
top: 0;
bottom:0;
}
.inputs{
width: 315px;
height: 44px;
margin: 0 auto 22px;
line-height: 44px;
}
.el-input__inner {
font-size: 16px !important;
color: rgb(0, 0, 0, 0.25) !important;
padding: 0 35px !important;
}
.qrcode {
width: 36px;
position: absolute;
right: 7px;
top: 5px;
z-index: 1000;
}
#login_container {
position: absolute;
left: 0;
right: 0;
margin: auto;
top: 0;
bottom: 0;
}
.inputs {
width: 315px;
height: 44px;
margin: 0 auto 22px;
line-height: 44px;
}
.el-input__inner {
font-size: 16px !important;
color: rgb(0, 0, 0, 0.25) !important;
padding: 0 35px !important;
}

.refreImg img {
width: 100%;
height: 100%;
border-radius: 2px;
cursor: pointer;
}
.refreImg img {
width: 100%;
height: 100%;
border-radius: 2px;
cursor: pointer;
}

a {
text-decoration: none;
}
a {
text-decoration: none;
}

.frechBox {
display: block;
margin-top: -10px;
}
.frechBox {
display: block;
margin-top: -10px;
}

.refreImg {
width: 38.2%;
height: 40px;
/* line-height: 20px; */
position: absolute;
z-index: 1000;
right: 0;
top: -1px;
background-color: #ededed;
}
.refreImg {
width: 38.2%;
height: 40px;
/* line-height: 20px; */
position: absolute;
z-index: 1000;
right: 0;
top: -1px;
background-color: #ededed;
}

.bg {
background: url(../../static/images/login-bg.png) no-repeat;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-size: cover;
}
.bg {
background: url(../../static/images/login-bg.png) no-repeat;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-size: cover;
}

.login h1 {
font-size: 22px;
font-weight:400;
color:rgba(85,85,85,1);
line-height: 24px;
margin-bottom: 28px;
}
.login h1 {
font-size: 22px;
font-weight: 400;
color: rgba(85, 85, 85, 1);
line-height: 24px;
margin-bottom: 28px;
}

.login-item {
width: 368px;
margin: 0 auto;
height: 40px;
margin-bottom: 16px;
border: 1px solid #D9D9D9;
border-radius: 4px;
box-sizing: border-box;
overflow: hidden;
position: relative;
}
.login-item {
width: 368px;
margin: 0 auto;
height: 40px;
margin-bottom: 16px;
border: 1px solid #d9d9d9;
border-radius: 4px;
box-sizing: border-box;
overflow: hidden;
position: relative;
}

.login-item input {
width: 100%;
line-height: 38px;
background: #fff;
font-size: 16px;
color: rgba(0, 0, 0, 0.25);
padding: 0 0 0 36px;
display: block;
border: none;
outline: none;
}
.login-item input {
width: 100%;
line-height: 38px;
background: #fff;
font-size: 16px;
color: rgba(0, 0, 0, 0.25);
padding: 0 0 0 36px;
display: block;
border: none;
outline: none;
}

.login-btn {
width: 315px;
line-height: 44px;
background: #3FC497;
text-align: center;
border-radius: 4px;
font-size: 16px;
color: #fff;
padding: 0;
border: none;
cursor: pointer;
margin: 0 auto;
}
.login-btn {
width: 315px;
line-height: 44px;
background: #3fc497;
text-align: center;
border-radius: 4px;
font-size: 16px;
color: #fff;
padding: 0;
border: none;
cursor: pointer;
margin: 0 auto;
}

.forgot-password {
color: rgba(24, 144, 255, 1);
width: 368px;
margin: 0 auto;
text-align: right;
line-height: 22px;
margin-bottom: 4px;
}
.forgot-password {
color: rgba(24, 144, 255, 1);
width: 368px;
margin: 0 auto;
text-align: right;
line-height: 22px;
margin-bottom: 4px;
}

.forgot-password label {
font-weight: 400 !important;
font-size: 14px;
cursor: pointer;
margin-right: 26px;
color:#555;
.forgot-password label {
font-weight: 400 !important;
font-size: 14px;
cursor: pointer;
margin-right: 26px;
color: #555;
}

}

.el-input__inner {
font-size: 16px !important;
color: rgb(0, 0, 0, 0.25) !important;
padding: 0 35px !important;
}
.login {
background: #f9fafc;
border-radius:6px;
overflow: hidden;
width: 375px;
position: relative;
left: 50%;
top: 50%;
height: 340px;
transform: translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
box-shadow:0px 3px 24px 0px rgba(0, 0, 0, 0.24);
}
</style>
.el-input__inner {
font-size: 16px !important;
color: rgb(0, 0, 0, 0.25) !important;
padding: 0 35px !important;
}
.login {
background: #f9fafc;
border-radius: 6px;
overflow: hidden;
width: 375px;
position: relative;
left: 50%;
top: 50%;
height: 340px;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.24);
}
</style>

+ 101
- 53
src/components/ttpoiList/list.vue Wyświetl plik

@@ -1,25 +1,61 @@
<template>
<div>
<div class="layout-content" style="padding-bottom:0;">
<el-form :inline="true" :model="ruleForm" ref="ruleForm" class="demo-form-inline forms">
<el-form
:inline="true"
:model="ruleForm"
ref="ruleForm"
class="demo-form-inline forms"
>
<el-form-item label="小程序" class="fx_title" v-if="list.length > 0">
<el-select v-model="id" placeholder="请选择" @change="setId" clearable>
<el-option v-for="(item, index) in list" :key="index" :value="item.id" :label="item.name">
<el-select
v-model="mainName"
placeholder="请选择"
@change="setId"
clearable
>
<el-option
v-for="(item, index) in list"
:key="index"
:value="item.tenantId"
:label="item.name"
>
</el-option>
</el-select>
</el-form-item>

<el-form-item label="商户名称" class="fx_title">
<el-input style="width:211px;" v-model.trim="ruleForm.merchantName" placeholder="请输入" clearable></el-input>
<el-input
style="width:211px;"
v-model.trim="ruleForm.merchantName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>

<el-form-item label="poi名称" prop="type" class="fx_title" style="margin-bottom: 0px!important">
<el-input style="width:211px;" v-model.trim="ruleForm.poiName" placeholder="请输入" clearable></el-input>
<el-form-item
label="poi名称"
prop="type"
class="fx_title"
style="margin-bottom: 0px!important"
>
<el-input
style="width:211px;"
v-model.trim="ruleForm.poiName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>

<el-form-item style="margin-bottom: 0px !important">
<el-button class="hoverBtn" type="primary" icon="el-icon-search" :style="'border:0;background:'" size="medium"
@click.stop="search"></el-button>
<el-button
class="hoverBtn"
type="primary"
icon="el-icon-search"
:style="'border:0;background:'"
size="medium"
@click.stop="search"
></el-button>
</el-form-item>
</el-form>
</div>
@@ -27,23 +63,31 @@
<el-dialog title="审核信息" :visible.sync="showBox" v-if="dataObj != {}">
<el-form>
<el-form-item label="营业资质" v-if="dataObj.audit_shop_material">
<span>{{ setStatus(dataObj.audit_shop_material.biz_licence.status) }}</span>
<span v-if="dataObj.audit_shop_material.biz_licence.reason">{{ dataObj.audit_shop_material.biz_licence.reason
<span>{{
setStatus(dataObj.audit_shop_material.biz_licence.status)
}}</span>
<span v-if="dataObj.audit_shop_material.biz_licence.reason">{{
dataObj.audit_shop_material.biz_licence.reason
}}</span>
</el-form-item>
<el-form-item label="商家授权函" v-if="dataObj.audit_shop_material">
<span>{{ setStatus(dataObj.audit_shop_material.contract.status) }}</span>
<span v-if="dataObj.audit_shop_material.contract.reason">{{ dataObj.audit_shop_material.contract.reason
<span>{{
setStatus(dataObj.audit_shop_material.contract.status)
}}</span>
<span v-if="dataObj.audit_shop_material.contract.reason">{{
dataObj.audit_shop_material.contract.reason
}}</span>
</el-form-item>
<div v-if="dataObj.audit_shop_material">
<el-form-item :label="'商铺行业资质' + (index + 1)"
v-for="(item, index) in dataObj.audit_shop_material.qual_material" :key="index">
<el-form-item
:label="'商铺行业资质' + (index + 1)"
v-for="(item, index) in dataObj.audit_shop_material.qual_material"
:key="index"
>
<span>{{ setStatus(item.status) }}</span>
<span v-if="item.reason">{{ item.reason }}</span>
</el-form-item>
</div>

</el-form>
<!-- <div slot="footer" class="dialog-footer">
<el-button @click="showBox = false">取 消</el-button>
@@ -68,13 +112,14 @@ export default {
tk: "ttPoi",
list: [],
id: "",
mainName: "",
tenantId: "",
authorizerAppid: "",
showBox: false,
dataObj: {}, //查询审核状态 返回数据
ruleForm: {
merchantName: "",
poiName: ""
poiName: "",
},

optionsTable: {
@@ -82,7 +127,7 @@ export default {
{
key: "edit",
val: "上传",
action: this.goAdd
action: this.goAdd,
// show: item => {
// //不是正在合作 是自己的
// // if (item.type != 2 && item.ownerInfo != undefined) {
@@ -96,13 +141,13 @@ export default {
key: "edit",
val: "查询审核状态",
action: this.inquireStatus,
show: item => {
show: (item) => {
if (item.bizLicencePath != "") {
return true;
}
return false;
}
}
},
},
],
showCk: false,
map: [
@@ -115,10 +160,10 @@ export default {
{ key: "poiName", val: "已匹配Poi名称" },
{ key: "province", val: "已匹配Poi省份" },
{ key: "city", val: "已匹配Poi城市" },
{ key: "address", val: "已匹配Poi地址" }
{ key: "address", val: "已匹配Poi地址" },
],
getUrl: () => {
let str = `/T/merchantPoi/list?merchantName=${this.ruleForm.merchantName}&poiName=${this.ruleForm.poiName}&tenantId=${this.tenantId}`
let str = `/T/merchantPoi/list?merchantName=${this.ruleForm.merchantName}&poiName=${this.ruleForm.poiName}&tenantId=${this.tenantId}`;

return str;
},
@@ -126,29 +171,29 @@ export default {
sizeKey: "pageSize",
indexKey: "pageNum",
index: 1,
size: 10
size: 10,
},
analysis: data => {
analysis: (data) => {
return {
//aaa
data: data.data.list,
count: data.data.total
count: data.data.total,
};
}
}
},
},
};
},
computed: {
...mapState({
topNav: state => state.topNav.data, //
topNav: (state) => state.topNav.data, //
//新增computed属性
navigationInfo: state => state.topNav.navigationInfo
})
navigationInfo: (state) => state.topNav.navigationInfo,
}),
},
watch: {},
methods: {
...mapActions([
"setIndex" // 将this.setNavData 映射为 this.$store.dispatch('setNavData')
"setIndex", // 将this.setNavData 映射为 this.$store.dispatch('setNavData')
]),

// dealBrandName(row, item) {
@@ -158,18 +203,21 @@ export default {
//
setStatus(status) {
if (status == 1) {
return "审核中"
return "审核中";
} else if (status == 2) {
return "审核成功"
return "审核成功";
} else if (status == 3) {
return "审核失败"
return "审核失败";
}
},
setId(e) {
let obj = this.list.filter(item => {
return item.id === e;
console.log(e, "e");
let obj = this.list.filter((item) => {
return item.tenantId === e;
})[0];

this.mainName = obj.name;
this.id = obj.id;
this.authorizerAppid = obj.authorizerAppid;
this.tenantId = obj.tenantId;
console.log(this.authorizerAppid, this.tenantId);
@@ -177,9 +225,9 @@ export default {
getLsit() {
this.getFetch(
configUrl.weappList + `?type=2&name=&pageNum=1&pageSize=100`
).then(res => {
console.log(res.data)
this.list = res.data.list
).then((res) => {
console.log(res.data);
this.list = res.data.list;
// this.id = res.data.list[0].id
});
},
@@ -190,15 +238,15 @@ export default {
appId: this.authorizerAppid,
id: row.id,
MainId: this.id,
list: this.list
}
list: this.list,
},
});
},

inquireStatus(row, item) {
this.getFetch(
configUrl.queryMeaterial + `?appId=${this.authorizerAppid}&id=${row.id}`
).then(res => {
).then((res) => {
this.dataObj = JSON.parse(res.data).data;
this.showBox = true;
console.log(this.dataObj);
@@ -206,26 +254,26 @@ export default {
});
},
async DataBack() {
this.list = await this.$route.query.list
this.id = await this.$route.query.id
await this.setId(this.id)
await this.search()
this.list = await this.$route.query.list;
this.id = await this.$route.query.id;
await this.setId(this.id);
await this.search();
},
search: function () {
search: function() {
let tk = this.$refs[this.tk];
tk.search(tk.getParams().index);
}
},
},
activated() { },
activated() {},
created() {
this.setIndex("8")
this.setIndex("8");
if (this.$route.query.id) {
this.DataBack()
this.DataBack();
}
},
mounted() {
this.getLsit();
}
},
};
</script>

@@ -384,4 +432,4 @@ export default {
display: inline-block;
width: 80px;
}
</style>
</style>

Ładowanie…
Anuluj
Zapisz