Browse Source

2021-08-27 系统测试 问题修改

master
DESKTOP-00SUCB6\Administrator 4 years ago
parent
commit
b94ae622e9
  1. 7
      .env.development
  2. 1
      .env.production
  3. 2
      package.json
  4. BIN
      public/h5.rar
  5. 341
      public/h5/info - 副本.html
  6. 351
      public/h5/info.html
  7. 15
      public/h5/invitation.html
  8. 4
      src/api/company/campanyVerify.js
  9. 36
      src/api/home/index.js
  10. 8
      src/api/login.js
  11. 38
      src/api/system/enterprise.js
  12. BIN
      src/assets/images/logo.png
  13. BIN
      src/assets/images/profile.jpg
  14. BIN
      src/assets/images/profile2.jpg
  15. 4
      src/layout/components/Navbar.vue
  16. 12
      src/layout/components/Sidebar/Logo.vue
  17. 2
      src/layout/components/TagsView/index.vue
  18. 2
      src/settings.js
  19. 2
      src/store/modules/user.js
  20. 10
      src/utils/validate.js
  21. 158
      src/views/company/companyEdit.vue
  22. 297
      src/views/company/companyInfo-copy.vue
  23. 222
      src/views/company/companyInfo.vue
  24. 64
      src/views/company/manager.vue
  25. 9
      src/views/error/404.vue
  26. 39
      src/views/home/index.vue
  27. 179
      src/views/home/index2.vue
  28. 12
      src/views/login/login.vue
  29. 34
      src/views/system/dept/index.vue
  30. 274
      src/views/system/enterprise/index.vue
  31. 2
      src/views/system/enterpriseManager/index.vue
  32. 13
      src/views/system/qualification/index.vue
  33. 14
      src/views/system/role/index.vue
  34. 37
      src/views/system/user/index.vue
  35. 3
      src/views/system/user/profile/userInfo.vue
  36. 2
      vue.config.js

7
.env.development

@ -2,9 +2,10 @@
ENV = 'development'
# 若依管理系统/开发环境
#VUE_APP_BASE_API = 'http://121.36.65.171:9527'
VUE_APP_H5_QR = 'http://localhost/h5/invitation.html'
VUE_APP_BASE_API = 'http://172.119.50.32:9527'
VUE_APP_BASE_API = 'http://121.36.65.171:9527'
VUE_APP_H5_QR = 'http://172.119.51.218/h5/invitation.html'
VUE_APP_H5_INFO = 'http://172.119.51.218/h5/info.html'
#VUE_APP_BASE_API = 'http://172.119.50.32:9527'
# 路由懒加载

1
.env.production

@ -4,3 +4,4 @@ ENV = 'production'
# 若依管理系统/生产环境
VUE_APP_BASE_API = 'http://121.36.65.171:9527'
VUE_APP_H5_QR = 'http://121.36.65.171:8778/h5/invitation.html'
VUE_APP_H5_INFO = 'http://121.36.65.171:8778/h5/info.html'

2
package.json

@ -1,7 +1,7 @@
{
"name": "gyszzsc",
"version": "3.5.0",
"description": "供应商资质检查",
"description": "供应商资质应用管理系统",
"author": "qinshunyu",
"license": "MIT",
"scripts": {

BIN
public/h5.rar

Binary file not shown.

341
public/h5/info - 副本.html

@ -0,0 +1,341 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<title>欢迎使用食品原料供应商资质检查系统</title>
<script src="jquery.min.js"></script>
</head>
<style>
html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,form,fieldset,legend,input,button,textarea,menu {
margin: 0;
padding: 0;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
}
label {
font-weight: 700;
}
html {
height: 100%;
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
.flex-box {
display: -webkit-box;
display: -webkit-flex;
/* Safari */
display: flex;
justify-content: center;
align-items: center;
}
.flex-box-column {
display: -webkit-box;
display: -webkit-flex;
/* Safari */
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.search-container {
position: relative;
width: 100vw;
min-height: 100%;
background-image: url('bg-invitation.png');
background-repeat: no-repeat;
background-size: 100% 100%;
}
.content-block {
position: relative;
margin-top: 2vh;
width: 320px;
width: 93.5%;
color: #fff;
}
.content-box {
position: relative;
top:0;
width: 100%;
min-height: 200px;
padding: 15px;
margin-bottom: 15px;
word-wrap:break-word;
background: #FFFFFF;
border-radius: 10px;
box-shadow: 0px 4px 20px 0px rgba(65, 194, 252, 0.14), 0px 7px 13px 0px rgba(50, 147, 255, 0.52);
}
.content-box .content-title{
margin-bottom: 8px;
font-size: 20px;
font-weight: 400;
color: #1F5C99;
line-height: 54px;
border-bottom: 1px dashed #D2E1EA;
}
.content-box .content-text {
font-size: 16px;
line-height: 44px;
color: #666666;
border-bottom: 1px dashed #D2E1EA;
overflow: hidden;
}
.content-box .content-text label{
display: inline-block;
/* float: left; */
width: 40%;
line-height: 34px;
font-weight: normal;
vertical-align: top;
}
.content-box .content-text span{
display: block;
float: right;
width: 60%;
line-height: 34px;
color: #222222;
text-align: right;
}
.content-box .content-btn{
margin-top: 70px;
}
.content-box .content-btn a{
display: block;
width: 100%;
padding: 15px 0;
margin-bottom: 25px;
font-size: 18px;
color: #FFFFFF;
text-align: center;
text-decoration: none;
background: #30E3D8;
border-radius: 80px;
}
.content-box .content-btn a.btn-register{
background: #3293FF;
}
.text-indent-1 {
text-indent:1em;
}
.beinvited-popup{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.beinvited-popup .content-box{
position: absolute;
left: 8%;
top: 25%;
width: 84%;
box-shadow: none;
}
.content-box .content-text:last-child{
border-bottom: 0 none;
}
.content-box .content-text span input{
height: 30px;
text-align: right;
border: 0 none;
}
.content-box .content-text .num-code{
float: right;
display: block;
width: 30%;
height: 44px;
margin-left: 8px;
}
.content-box .content-text .num-code img{
width: 100%;
margin-top: 4px;
}
.content-box .content-text .input-code{
width: 35%;
}
.content-box .content-text .input-code input{
width: 100%;
}
.content-box{
position: relative;
}
.content-box .content-close{
position: absolute;
left: 50%;
margin-left: -18px;
bottom: -20%;
width: 36px;
}
.content-box .content-close a img{
width: 100%;
}
.success-popup{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.success-popup .content-box{
position: absolute;
left: 8%;
top: 25%;
width: 84%;
background: none;
box-shadow: none;
}
.success-popup .content-box .content-info img{
width: 100%;
}
.success-popup .content-box .content-close {
position: absolute;
left: 50%;
margin-left: -18px;
bottom: -20%;
width: 36px;
}
.pic-item {
position: relative;
width: 146px;
height: 146px;
float: right;
}
</style>
<body>
<div class="search-container flex-box-column">
<div class="content-block">
<div class="content-box">
<h3 class="content-title">企业信息</h3>
<div class="content-info" id="enterprise-info">
<p class="content-text"><label>企业名称:</label></p><p class="content-text" style="color:#1F5C99" id="name"></p>
<div id="enterpriseOtherSwitch">
<!-- <p class="content-text"><label>法人责任主体名称:</label><span id="nameLegalPersonLiabilitySubject"></span></p> -->
<p class="content-text"><label>法定代表人名称:</label></p><p class="content-text" id="nameLegalRepresentative"></p>
<!-- <p class="content-text"><label>法定代表人证件类型:</label><span id="typeLegalRepresentative"></span></p> -->
<p class="content-text"><label>法定代表人证件号码:</label><span id="certificateNumberLegalRepresentative"></span></p>
<!-- <p class="content-text"><label>统一社会信用代码类型:</label><span id="corporateUnifiedSocialCreditType"></span></p> -->
<p class="content-text"><label>统一社会信用代码:</label><span id="corporateUnifiedSocialCreditCode"></span></p>
<!-- <p class="content-text"><label>企业行业大类型:</label><span id="enterpriseIndustryBigType"></span></p>
<p class="content-text"><label>企业行业小类型:</label><span id="enterpriseIndustrySmallType"></span></p> -->
<p class="content-text"><label>企业类型:</label><span id="enterpriseType"></span></p>
<!-- <p class="content-text"><label>邮箱:</label><span id="email"></span></p> -->
<p class="content-text"><label>官网地址:</label><span id="websiteAddress"></span></p>
<!-- <p class="content-text"><label>电话:</label><span id="mobile"></span></p> -->
<p class="content-text"><label>详细地址:</label><span id="address"></span></p>
<!-- <p class="content-text"><label>企业注册地详细地址:</label><span id="placeRegistrationAddress"></span></p> -->
<!-- <p class="content-text"><label>认证资料类型:</label><span id="certificatedInformationType"></span></p> -->
<p class="content-text"><label>联系人姓名:</label><span id="duty"></span></p>
<p class="content-text"><label>联系方式:</label><span id="contactInformation"></span></p>
<p class="content-text"><label>备注:</label><span id="remarks"></span></p>
<p class="content-text"><label>企业logo:</label><img id="logo" src="" class="pic-item"></p>
<p class="content-text"><label>营业执照照片:</label><img id="companyImg" src="" class="pic-item"></p>
<!-- <p class="content-text"><label>法人证件正面照片:</label><img id="faceIdImg" src="" class="pic-item"></p>
<p class="content-text"><label>法人证件反面照片:</label><img id="rearIdImg" src="" class="pic-item"></p> -->
</div>
<div id="enterpriseDescribeSwitch">
<p class="content-text"><label style="width:25%;">企业简介:</label><span style="width:74%;" id="enterpriseDescribe"></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
var code = '';
var uuid = "";
var enterpriseid= "";
var infoOpen = '';
var baseUrlIp = "http://121.36.65.171:9527";
var enterpriseTpyeOption = ['政府机关','研究机构','社会团体','企业事业单位']
function getEnterpriseOptions () {
$.ajax({
url: baseUrlIp + "/system/dict/data/type/enterprise_category",
type: "get", // 请求方式get / post
dataType: "json", // 数据类型
// 请求成功后的回调函数
success: function(res) {
if(res.code == 200){
let data = res.data
}
},
error: function(err) {
console.log(err);
}
});
}
function enterpriseInfo(){
var str = window.location.href.split('?')[1];
if (!str) {return};
enterpriseid=str.split('&')[0];
if(enterpriseid.indexOf('=') == -1) {
return
}
enterpriseid = enterpriseid.split('=')[1]
$.ajax({
url: baseUrlIp + "/system/enterpriseManager/selectEnterpriseParticularsByIdForH5?enterpriseid=" + enterpriseid,//调用根据企业ID获取企业信息接口
type: "get", // 请求方式get / post
dataType: "json", // 数据类型
// 请求成功后的回调函数
success: function(res) {
if(res.code == 200){
let data = res.data
for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) {
const element = data[key];
// if(key == 'enterpriseDescribeSwitch'){
// console.log(111111);
// }
if(element != null && $("#"+key).length > 0){
if(key == 'enterpriseDescribeSwitch' || key == 'enterpriseOtherSwitch') {
if(element == 0){
$("#"+key).hide()
} else if(element == 1) {
$("#"+key).show()
}
} else if (key == 'logo' || key == 'companyImg' || key == 'faceIdImg' || key == 'rearIdImg') {
$("#"+key).attr('src',element)
} else if (key == 'enterpriseType') {
$("#"+key).text(enterpriseTpyeOption[element-1])
} else {
$("#"+key).text(element)
}
}
}
}
} else {
html +='<span style="color:#000;">error</span>';
$('#enterprise-info').append(html);
}
},
error: function(err) {
console.log(err);
}
});
}
// 默认加载验证码
$(document).ready(function(){
enterpriseInfo()
getEnterpriseOptions()
})
</script>
</html>

351
public/h5/info.html

@ -0,0 +1,351 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<title>供应商资质应用管理系统</title>
<script src="jquery.min.js"></script>
</head>
<style>
html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,form,fieldset,legend,input,button,textarea,menu {
margin: 0;
padding: 0;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
}
label {
font-weight: 700;
}
html {
height: 100%;
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
.flex-box {
display: -webkit-box;
display: -webkit-flex;
/* Safari */
display: flex;
justify-content: center;
align-items: center;
}
.flex-box-column {
display: -webkit-box;
display: -webkit-flex;
/* Safari */
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.search-container {
position: relative;
width: 100vw;
min-height: 100%;
background-image: url('bg-invitation.png');
background-repeat: no-repeat;
background-size: 100% 100%;
}
.content-block {
position: relative;
margin-top: 2vh;
width: 320px;
width: 93.5%;
color: #fff;
}
.content-box {
position: relative;
top:0;
width: 100%;
min-height: 200px;
padding: 15px;
margin-bottom: 15px;
word-wrap:break-word;
background: #FFFFFF;
border-radius: 10px;
box-shadow: 0px 4px 20px 0px rgba(65, 194, 252, 0.14), 0px 7px 13px 0px rgba(50, 147, 255, 0.52);
}
.content-box .content-title{
margin-bottom: 8px;
font-size: 20px;
font-weight: 400;
color: #1F5C99;
line-height: 54px;
border-bottom: 1px dashed #D2E1EA;
}
.content-box .content-text {
font-size: 14px;
line-height: 44px;
color: #666666;
/* border-bottom: 1px dashed #D2E1EA; */
overflow: hidden;
}
.content-box .content-text-content {
position: relative;
font-size: 16px;
line-height: 44px;
color: #1F5C99;
border-bottom: 1px dashed #D2E1EA;
overflow: hidden;
}
.content-box .content-text label{
display: inline-block;
/* float: left; */
width: 40%;
font-weight: 600;
line-height: 34px;
vertical-align: top;
}
.content-box .content-text span{
display: block;
float: right;
width: 60%;
line-height: 34px;
color: #222222;
text-align: right;
}
.content-box .content-btn{
margin-top: 70px;
}
.content-box .content-btn a{
display: block;
width: 100%;
padding: 15px 0;
margin-bottom: 25px;
font-size: 18px;
color: #FFFFFF;
text-align: center;
text-decoration: none;
background: #30E3D8;
border-radius: 80px;
}
.content-box .content-btn a.btn-register{
background: #3293FF;
}
.text-indent-1 {
text-indent:1em;
}
.beinvited-popup{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.beinvited-popup .content-box{
position: absolute;
left: 8%;
top: 25%;
width: 84%;
box-shadow: none;
}
.content-box .content-text:last-child{
border-bottom: 0 none;
}
.content-box .content-text span input{
height: 30px;
text-align: right;
border: 0 none;
}
.content-box .content-text .num-code{
float: right;
display: block;
width: 30%;
height: 44px;
margin-left: 8px;
}
.content-box .content-text .num-code img{
width: 100%;
margin-top: 4px;
}
.content-box .content-text .input-code{
width: 35%;
}
.content-box .content-text .input-code input{
width: 100%;
}
.content-box{
position: relative;
}
.content-box .content-close{
position: absolute;
left: 50%;
margin-left: -18px;
bottom: -20%;
width: 36px;
}
.content-box .content-close a img{
width: 100%;
}
.success-popup{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.success-popup .content-box{
position: absolute;
left: 8%;
top: 25%;
width: 84%;
background: none;
box-shadow: none;
}
.success-popup .content-box .content-info img{
width: 100%;
}
.success-popup .content-box .content-close {
position: absolute;
left: 50%;
margin-left: -18px;
bottom: -20%;
width: 36px;
}
.pic-item {
position: relative;
width: 146px;
height: 146px;
}
</style>
<body>
<div class="search-container flex-box-column">
<div class="content-block">
<div class="content-box">
<h3 class="content-title">企业信息</h3>
<div class="content-info" id="enterprise-info">
<p class="content-text"><label>企业名称:</label></p>
<p class="content-text-content" id="name"></p>
<div id="enterpriseOtherSwitch">
<p class="content-text"><label>法定代表人名称:</label></p>
<p class="content-text-content" id="nameLegalRepresentative"></p>
<p class="content-text"><label>法定代表人证件号码:</label></p>
<p class="content-text-content" id="certificateNumberLegalRepresentative"></p>
<p class="content-text"><label>统一社会信用代码:</label></p>
<p class="content-text-content" id="corporateUnifiedSocialCreditCode"></p>
<p class="content-text"><label>企业类型:</label></p>
<p class="content-text-content" id="enterpriseType"></p>
<p class="content-text"><label>官网地址:</label></p>
<p class="content-text-content" id="websiteAddress"></p>
<p class="content-text"><label>详细地址:</label></p>
<p class="content-text-content" id="address"></p>
<p class="content-text"><label>联系人姓名:</label></p>
<p class="content-text-content" id="duty"></p>
<p class="content-text"><label>联系方式:</label></p>
<p class="content-text-content" id="contactInformation"></p>
<p class="content-text"><label>备注:</label></p>
<p class="content-text-content" id="remarks"></p>
<p class="content-text"><label>企业logo:</label></p>
<p class="content-text-content"><img id="logo" src="" class="pic-item"></p>
<p class="content-text"><label>营业执照照片:</label></p>
<p class="content-text-content"><img id="companyImg" src="" class="pic-item"></p>
</div>
<div id="enterpriseDescribeSwitch">
<p class="content-text"><label>企业简介:</label></span></p>
<p class="content-text-content" id="enterpriseDescribe"></p>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
var code = '';
var uuid = "";
var enterpriseid= "";
var infoOpen = '';
var baseUrlIp = "http://121.36.65.171:9527";
var enterpriseTpyeOption = ['政府机关','研究机构','社会团体','企业事业单位']
function getEnterpriseOptions () {
$.ajax({
url: baseUrlIp + "/system/dict/data/type/enterprise_category",
type: "get", // 请求方式get / post
dataType: "json", // 数据类型
// 请求成功后的回调函数
success: function(res) {
if(res.code == 200){
let data = res.data
}
},
error: function(err) {
console.log(err);
}
});
}
function enterpriseInfo(){
var str = window.location.href.split('?')[1];
if (!str) {return};
enterpriseid=str.split('&')[0];
if(enterpriseid.indexOf('=') == -1) {
return
}
enterpriseid = enterpriseid.split('=')[1]
$.ajax({
url: baseUrlIp + "/system/enterpriseManager/selectEnterpriseParticularsByIdForH5?enterpriseid=" + enterpriseid,//调用根据企业ID获取企业信息接口
type: "get", // 请求方式get / post
dataType: "json", // 数据类型
// 请求成功后的回调函数
success: function(res) {
if(res.code == 200){
let data = res.data
for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) {
const element = data[key];
// if(key == 'enterpriseDescribeSwitch'){
// console.log(111111);
// }
if(element != null && $("#"+key).length > 0){
if(key == 'enterpriseDescribeSwitch' || key == 'enterpriseOtherSwitch') {
if(element == 0){
$("#"+key).hide()
} else if(element == 1) {
$("#"+key).show()
}
} else if (key == 'logo' || key == 'companyImg' || key == 'faceIdImg' || key == 'rearIdImg') {
$("#"+key).attr('src',element)
} else if (key == 'enterpriseType') {
$("#"+key).text(enterpriseTpyeOption[element-1])
} else {
$("#"+key).text(element)
}
}
}
}
} else {
html +='<span style="color:#000;">error</span>';
$('#enterprise-info').append(html);
}
},
error: function(err) {
console.log(err);
}
});
}
// 默认加载验证码
$(document).ready(function(){
enterpriseInfo()
getEnterpriseOptions()
})
</script>
</html>

15
public/h5/invitation.html

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<title>欢迎使用食品原料供应商资质检查系统</title>
<title>供应商资质应用管理系统</title>
<script src="jquery.min.js"></script>
</head>
<style>
@ -101,7 +101,8 @@
.content-box .content-text span{
display: block;
float: right;
width: 60%;
/* max-width: 60%; */
padding-right: 5px;
line-height: 34px;
color: #222222;
text-align: right;
@ -162,7 +163,7 @@
margin-top: 4px;
}
.content-box .content-text .input-code{
width: 35%;
width: 39%;
}
.content-box .content-text .input-code input{
width: 100%;
@ -211,13 +212,13 @@
<div class="search-container flex-box-column">
<div class="content-block">
<div class="content-box">
<h3 class="content-title">企业信息</h3>
<h3 class="content-title">申请企业信息</h3>
<div class="content-info" id="enterprise-info">
</div>
<div class="content-btn">
<a href="javascript:;" class="btn-invitate">登录并接受</a>
<a href="javascript:;" class="btn-register">去注册</a>
<a href="javascript:;" class="btn-invitate">登录并接受</a>
<!-- <a href="javascript:;" class="btn-register">去注册</a> -->
</div>
</div>
</div>
@ -238,7 +239,7 @@
</form>
</div>
<div class="content-btn">
<a href="javascript:;" class="btn-accept">接受</a>
<a href="javascript:;" class="btn-accept">接受</a>
</div>
<div class="content-close">
<a href="javascript:;" class="btn-close"><img src="close.png" alt=""></a>

4
src/api/company/campanyVerify.js

@ -4,8 +4,8 @@ import request from '@/utils/request'
export function getAuditEnterpriseList(query) {
return request({
url: '/system/enterpriseManager/getAuditEnterpriseList',
method: 'post',
data: query
method: 'get',
params: query
})
}

36
src/api/home/index.js

@ -18,11 +18,43 @@ export function getSystemIndexInfo() {
}
// 操作日志
export function selectOperLogListByLogin() {
export function selectOperLogListByLogin(params) {
return request({
url: '/monitor/operlog/selectOperLogListByLogin',
method: 'get'
method: 'get',
params
})
}
// 根据登陆信息获取合作伙伴申请验证码
export function getPartnersApplyForVerificationCodesBy() {
return request({
url: '/system/enterpriseManager/getPartnersApplyForVerificationCodesBy',
method: 'post'
})
}
// 根据登陆信息更新合作伙伴申请验证码
export function updatePartnersApplyForVerificationCodesBy() {
return request({
url: '/system/enterpriseManager/updatePartnersApplyForVerificationCodesBy',
method: 'post'
})
}
// 启用与关闭申请码
export function setVerificationCodesSwitch(data) {
return request({
url: '/system/enterpriseManager/setVerificationCodesSwitch',
method: 'post',
data:data
})
}
// 获取申请码启用与关闭的状态
export function getVerificationCodesSwitchByLogin() {
return request({
url: '/system/enterpriseManager/getVerificationCodesSwitchByLogin',
method: 'post'
})
}

8
src/api/login.js

@ -97,3 +97,11 @@ export function forgetPassword(param) {
})
}
// 登陆初始进入页面
export function firstEnterPath(param) {
return request({
url: '/firstEnterPath',
method: 'post',
data:param
})
}

38
src/api/system/enterprise.js

@ -51,3 +51,41 @@ export function exportEnterprise(query) {
params: query
})
}
// 根据合作伙伴申请验证码获取企业信息
export function getEnterpriseIdByPartnersApplyForVerificationCodes(data) {
return request({
url: '/system/enterpriseManager/getEnterpriseIdByPartnersApplyForVerificationCodes',
method: 'post',
data: data
})
}
// 通过申请验证码发送合作伙伴邀请
export function invitationByCode(data) {
return request({
url: '/system/enterprise/invitationByCode',
method: 'post',
data: data
})
}
// 同意申请验证码合作伙伴邀请
export function agreeInvitationByCode(data) {
return request({
url: '/system/enterprise/agreeInvitationByCode',
method: 'post',
data: data
})
}
// 不同意申请验证码合作伙伴邀请
export function disagreeInvitationByCode(data) {
return request({
url: '/system/enterprise/disagreeInvitationByCode',
method: 'post',
data: data
})
}

BIN
src/assets/images/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/assets/images/profile.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/assets/images/profile2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

4
src/layout/components/Navbar.vue

@ -17,11 +17,11 @@
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip> -->
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
</el-tooltip> -->
</template>

12
src/layout/components/Sidebar/Logo.vue

@ -2,11 +2,11 @@
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg }">
<transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1>
<!-- <img v-if="logo" :src="logo" class="sidebar-logo"> -->
<h1 lass="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1>
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<!-- <img v-if="logo" :src="logo" class="sidebar-logo"> -->
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1>
</router-link>
</transition>
@ -35,8 +35,8 @@ export default {
},
data() {
return {
title: '供应商资质检查',
logo: logoImg
title: '供应商资质应用管理系统',
logo: this.$store.getters.avatar
}
}
}
@ -78,7 +78,7 @@ export default {
color: #fff;
font-weight: 600;
line-height: 50px;
font-size: 14px;
font-size: 16px;
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
vertical-align: middle;
}

2
src/layout/components/TagsView/index.vue

@ -93,8 +93,10 @@ export default {
},
filterAffixTags(routes, basePath = '/') {
let tags = []
routes.forEach(route => {
if (route.meta && route.meta.affix) {
const tagPath = path.resolve(basePath, route.path)
tags.push({
fullPath: tagPath,

2
src/settings.js

@ -1,5 +1,5 @@
module.exports = {
title: '供应商资质检查',
title: '供应商资质应用管理系统',
/**
* 侧边栏主题 深色主题theme-dark浅色主题theme-light

2
src/store/modules/user.js

@ -51,7 +51,7 @@ const user = {
return new Promise((resolve, reject) => {
getInfo().then(res => {
const user = res.user
const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
const avatar = user.enterpriseLogo || require("@/assets/images/profile.jpg")
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions)

10
src/utils/validate.js

@ -20,7 +20,7 @@ export function validUsername(str) {
* @returns {Boolean}
*/
export function validURL(url) {
const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
const reg = /^((https|http):\/\/)?([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
return reg.test(url)
}
@ -128,7 +128,8 @@ export function validatAlphabetAndNum(str) {
/* 检验手机号ID*/
export function validatePhone(textval) {
const reg = /^1(3|4|5|6|7|8|9)\d{9}$/
return reg.test(textval)
var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
return reg.test(textval) || isPhone.test(textval)
}
/*校验密码健壮性*/
export function validatePasswordStrong(str) {
@ -141,3 +142,8 @@ export function validatePasswordStrong(str) {
if(/\W/.test(str)) modes++; //特殊字符
return modes >= 2 ? true:false
}
/* 统一社会信用代码*/
export function validateEnterpriseCode(str) {
const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
return reg.test(str)
}

158
src/views/company/companyEdit.vue

@ -6,18 +6,62 @@
<div class="apply-reject" v-if="!isAdd && isEdit">
<p><i class="el-icon-warning-outline" style="font-weight: bold;color:#f9a80d;margin-right: 4px;"></i>尊敬的企业用户,您正在修改您的企业信息</p>
</div>
<div class="apply-wait" v-if="!isAdd && !isEdit && isStatus == 0">
<p><i class="el-icon-loading" style="font-weight: bold"></i>尊敬的企业用户,您申请的企业信息正在初步审核,请耐心等待...</p>
</div>
<div class="apply-adopt" v-else-if="isStatus == 1">
<p><i class="el-icon-circle-check" style="font-weight: bold;color:#5daf34;margin-right: 4px;"></i>
尊敬的企业用户,您的企业信息申请已通过
<el-button type="text" style="margin-left:20px;" @click="showVerify = !showVerify">查看</el-button>
</p>
</div>
<div class="apply-reject" v-else-if="!isAdd && !isEdit && isStatus == 2">
<p><i class="el-icon-warning-outline" style="font-weight: bold;color:red;margin-right: 4px;"></i>
尊敬的企业用户,您申请的企业信息已被驳回
<el-button type="text" style="margin-left:20px;" @click="showVerify = !showVerify">查看</el-button>
</p>
</div>
<el-form ref="form" :model="form" :rules="rules" label-width="170px">
<div class="verify-block" v-if="showVerify">
<el-divider>审核结果</el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="审核状态:">
<span >{{VERIFY_TYPE[verify.verifyStatus]}}</span>
</el-form-item>
<el-form-item label="审核意见:">
<span >{{verify.verifyAuditOpinion}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间:">
<span >{{verify.verifyTime}}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-form-item label="企业名称:" prop="name">
<el-input v-if="isEdit" v-model="form.name" placeholder="请输入企业名称" />
<span v-else>{{form.name}}</span>
</el-form-item>
<el-divider content-position="center" v-if="isEdit">
<el-switch
style="display: block"
v-model="form.enterpriseOtherSwitch"
active-text="显示基本信息"
inactive-text="隐藏基本信息"
:active-value="1"
:inactive-value="0">
</el-switch>
</el-divider>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="法人责任主体名称:" prop="nameLegalPersonLiabilitySubject">
<el-input v-if="isEdit" v-model="form.nameLegalPersonLiabilitySubject" placeholder="请输入法人责任主体名称" />
<span v-else>{{form.nameLegalPersonLiabilitySubject}}</span>
</el-form-item>
<el-form-item label="法定代表人名称:" prop="nameLegalRepresentative">
<el-input v-if="isEdit" v-model="form.nameLegalRepresentative" placeholder="请输入法定代表人名称" />
<span v-else>{{form.nameLegalRepresentative}}</span>
@ -37,6 +81,17 @@
<el-input v-if="isEdit" v-model="form.certificateNumberLegalRepresentative" placeholder="请输入法定代表人证件号码" />
<span v-else>{{form.certificateNumberLegalRepresentative}}</span>
</el-form-item>
<el-form-item label="认证资料类型:" prop="certificatedInformationType">
<el-select v-if="isEdit" v-model="form.certificatedInformationType" placeholder="请选择认证资料类型">
<el-option
v-for="dict in certificatedInformationTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
<span v-else>{{form.certificatedInformationType | filterCertificatedInformationTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="统一社会信用代码类型:" prop="corporateUnifiedSocialCreditType">
<el-select v-if="isEdit" v-model="form.corporateUnifiedSocialCreditType" placeholder="请选择统一社会信用代码类型">
<el-option
@ -89,16 +144,11 @@
<el-input v-if="isEdit" v-model="form.email" placeholder="请输入邮箱" />
<span v-else>{{form.email}}</span>
</el-form-item>
<el-form-item label="企业简介:" prop="enterpriseDescribe">
<el-input v-if="isEdit" v-model="form.enterpriseDescribe" type="textarea" placeholder="请输入内容" />
<span v-else>{{form.enterpriseDescribe}}</span>
</el-form-item>
<el-form-item label="官网地址:" prop="websiteAddress">
<el-input v-if="isEdit" v-model="form.websiteAddress" placeholder="请输入官网地址" />
<span v-else>{{form.websiteAddress}}</span>
</el-form-item>
<el-form-item label="电话:" prop="mobile">
<el-form-item label="企业电话:" prop="mobile">
<el-input v-if="isEdit" v-model="form.mobile" placeholder="请输入电话" />
<span v-else>{{form.mobile}}</span>
</el-form-item>
@ -112,17 +162,6 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="认证资料类型:" prop="certificatedInformationType">
<el-select v-if="isEdit" v-model="form.certificatedInformationType" placeholder="请选择认证资料类型">
<el-option
v-for="dict in certificatedInformationTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
<span v-else>{{form.certificatedInformationType | filterCertificatedInformationTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="联系人姓名:" prop="duty">
<el-input v-if="isEdit" v-model="form.duty" placeholder="请输入联系人姓名" />
<span v-else>{{form.duty}}</span>
@ -192,7 +231,22 @@
</el-row>
</el-col>
</el-row>
<el-row>
<el-divider content-position="center" v-if="isEdit">
<el-switch
style="display: block"
v-model="form.enterpriseDescribeSwitch"
active-text="显示企业介绍信息"
inactive-text="显示企业介绍信息"
:active-value="1"
:inactive-value="0">
</el-switch>
</el-divider>
<el-form-item label="企业简介:" prop="enterpriseDescribe">
<el-input v-if="isEdit" v-model="form.enterpriseDescribe" type="textarea" placeholder="请输入内容" />
<span v-else>{{form.enterpriseDescribe}}</span>
</el-form-item>
</el-row>
</el-form>
<div v-if="isEdit" class="dialog-footer text-center">
<el-button type="primary" @click="submitForm"> </el-button>
@ -207,7 +261,7 @@
<script>
import ImageUpload from '@/components/ImageUpload';
import { getEnterPriseInfoByLogin,addEnterpriseManager, updateEnterpriseManager,getAreaByParentId} from "@/api/system/enterpriseManager";
import {validatAlphabetAndNum,validAlphabets,validatePhone,validEmail,validatePasswordStrong,validateIDCard} from "@/utils/validate"
import {validatePhone,validEmail,validatePasswordStrong,validateIDCard,validURL,validateEnterpriseCode} from "@/utils/validate"
export default {
name: "EnterpriseManager",
components: {
@ -228,10 +282,47 @@ export default {
callback()
}
};
const checkIDCard = (rule, value, callback) => {
if (!validateIDCard(value)) {
return callback(new Error('请输入正确的居民身份证号码'));
} else {
callback()
}
};
const checkEnterpriseCode = (rule, value, callback) => {
if (!validateEnterpriseCode(value)) {
return callback(new Error('请输入正确的统一社会信用代码'));
} else {
callback()
}
};
const checkUrl = (rule, value, callback) => {
if(value.trim() == '')
{
callback()
}
if (!validURL(value)) {
return callback(new Error('请输入官网地址'));
} else {
callback()
}
};
return {
VERIFY_TYPE:[
'待审核',
'审核通过',
'审核驳回'
],
that:this,
isEdit:false,
isAdd:true,
isStatus:null,
showVerify:false,
verify:{
verifyAuditOpinion: "",
verifyStatus: "",
verifyTime: "",
},
//
queryParams: {
pageNum: 1,
@ -266,16 +357,19 @@ export default {
{ required: true, message: "详细地址不能为空", trigger: "blur" }
],
certificateNumberLegalRepresentative: [
{ required: true, message: "法定代表人证件号码不能为空", trigger: "blur" }
{ required: true, message: "法定代表人证件号码不能为空", trigger: "blur" },
{validator:checkIDCard,trigger:"blur"}
],
certificatedInformationType: [
{ required: true, message: "认证资料类型不能为空", trigger: "change" }
],
contactInformation: [
{ required: true, message: "联系方式不能为空", trigger: "blur" }
{ required: true, message: "联系方式不能为空", trigger: "blur" },
{validator:checkPhoneNum,trigger:"blur"}
],
corporateUnifiedSocialCreditCode: [
{ required: true, message: "统一社会信用代码不能为空", trigger: "blur" }
{ required: true, message: "统一社会信用代码不能为空", trigger: "blur" },
{ validator: checkEnterpriseCode, trigger: 'blur' }
],
corporateUnifiedSocialCreditType: [
{ required: true, message: "统一社会信用代码类型不能为空", trigger: "change" }
@ -306,6 +400,9 @@ export default {
name: [
{ required: true, message: "企业名称不能为空", trigger: "blur" }
],
websiteAddress: [
{validator:checkUrl,trigger:"blur"}
],
nameLegalPersonLiabilitySubject: [
{ required: true, message: "法人责任主体名称不能为空", trigger: "blur" }
],
@ -419,6 +516,12 @@ export default {
{
this.form = res.data
this.isAdd = false
this.isStatus = res.data.verifyStatus
this.verify = {
verifyAuditOpinion: res.data.verifyAuditOpinion,
verifyStatus: res.data.verifyStatus,
verifyTime: res.data.verifyTime,
}
if(res.data.provinceCode)
{
this.getCityOrAreaList(res.data.provinceCode,1)
@ -506,6 +609,7 @@ export default {
updateEnterpriseManager(this.form).then(res => {
console.log(res);
this.msgSuccess("修改成功");
window.location.reload()
})
}
this.isEdit = false
@ -553,8 +657,8 @@ export default {
}
.pic-item {
position: relative;
width: 146px;
height: 146px;
width: 120px;
height: 120px;
}
.apply-wait,.apply-reject,.apply-adopt{
p{
@ -564,4 +668,8 @@ export default {
margin-bottom: 15px;
}
}
.verify-block {
position: relative;
border-bottom: 1px solid #DCDFE6;
}
</style>

297
src/views/company/companyInfo-copy.vue

@ -0,0 +1,297 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" label-width="170px">
<el-row>
<el-col :span="12">
<el-form-item label="企业名称:" prop="name">
<span>{{form.name}}</span>
</el-form-item>
<el-form-item label="法人责任主体名称:" prop="nameLegalPersonLiabilitySubject">
<span>{{form.nameLegalPersonLiabilitySubject}}</span>
</el-form-item>
<el-form-item label="法定代表人名称:" prop="nameLegalRepresentative">
<span>{{form.nameLegalRepresentative}}</span>
</el-form-item>
<el-form-item label="法定代表人证件类型:" prop="typeLegalRepresentative">
<span>{{form.typeLegalRepresentative | filterTypeLegalRepresentative(that)}}</span>
</el-form-item>
<el-form-item label="法定代表人证件号码:" prop="certificateNumberLegalRepresentative">
<span>{{form.certificateNumberLegalRepresentative}}</span>
</el-form-item>
<el-form-item label="统一社会信用代码类型:" prop="corporateUnifiedSocialCreditType">
<span>{{form.corporateUnifiedSocialCreditType | filterCorporateUnifiedSocialCreditTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="统一社会信用代码:" prop="corporateUnifiedSocialCreditCode">
<span>{{form.corporateUnifiedSocialCreditCode}}</span>
</el-form-item>
<el-form-item label="企业行业大类型:" prop="enterpriseIndustryBigType">
<span>{{form.enterpriseIndustryBigType | filterEnterpriseIndustryBigTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="企业行业小类型:" prop="enterpriseIndustrySmallType">
<span>{{form.enterpriseIndustrySmallType | filterEnterpriseIndustrySmallTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="企业类型:" prop="enterpriseType">
<span>{{form.enterpriseType | filterEnterpriseTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="邮箱:" prop="email">
<span>{{form.email}}</span>
</el-form-item>
<el-form-item label="企业简介:" prop="enterpriseDescribe">
<span>{{form.enterpriseDescribe}}</span>
</el-form-item>
<el-form-item label="官网地址:" prop="websiteAddress">
<span>{{form.websiteAddress}}</span>
</el-form-item>
<el-form-item label="电话:" prop="mobile">
<span>{{form.mobile}}</span>
</el-form-item>
<el-form-item label="详细地址:" prop="address">
<span>{{form.address}}</span>
</el-form-item>
<el-form-item label="企业注册地详细地址:" prop="placeRegistrationAddress">
<span>{{form.placeRegistrationAddress}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="认证资料类型:" prop="certificatedInformationType">
<span>{{form.certificatedInformationType | filterCertificatedInformationTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="联系人姓名:" prop="duty">
<span>{{form.duty}}</span>
</el-form-item>
<el-form-item label="联系方式:" prop="contactInformation">
<span>{{form.contactInformation}}</span>
</el-form-item>
<el-form-item label="省代码:" prop="provinceCode">
<span>{{form.provinceCode | filterProvinceCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="市代码:" prop="cityCode">
<span>{{form.cityCode | filterCityCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="区代码:" prop="areaCode">
<span>{{form.areaCode | filterAreaCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="备注:" prop="remarks">
<span>{{form.remarks}}</span>
</el-form-item>
<el-form-item label="企业logo:" prop="logo">
<img :src="form.logo" class="pic-item">
</el-form-item>
<el-form-item label="营业执照照片:" prop="companyImg">
<img :src="form.companyImg" class="pic-item">
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="法人证件正面照片:" prop="faceIdImg">
<img :src="form.faceIdImg" class="pic-item">
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人证件反面照片:" prop="rearIdImg">
<img :src="form.rearIdImg" class="pic-item">
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer text-center">
<el-button @click="cancel">返回</el-button>
</div>
</div>
</template>
<script>
import { getEnterPriseInfoByLogin,getAreaByParentId,getEnterpriseManager} from "@/api/system/enterpriseManager";
export default {
name: "companyInfo",
data() {
return {
enterpriseId:this.$route.query.enterpriseId,
that:this,
//
certificatedInformationTypeOptions: [],
//
corporateUnifiedSocialCreditTypeOptions: [],
//
enterpriseIndustryBigTypeOptions: [],
//
enterpriseIndustrySmallTypeOptions: [],
//
enterpriseTypeOptions: [],
//
provinceCodeOptions: [],
//
cityCodeOptions: [],
//
areaCodeOptions: [],
//
typeLegalRepresentativeOptions: [],
//
form: {},
params:{},
};
},
filters: {
//
filterTypeLegalRepresentative(value,that){
if (!value) return ''
let aFilters = that.typeLegalRepresentativeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterCorporateUnifiedSocialCreditTypeOptions(value,that){
if (!value) return ''
let aFilters = that.corporateUnifiedSocialCreditTypeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterEnterpriseIndustryBigTypeOptions(value,that){
if (!value) return ''
let aFilters = that.enterpriseIndustryBigTypeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterEnterpriseIndustrySmallTypeOptions(value,that){
if (!value) return ''
let aFilters = that.enterpriseIndustrySmallTypeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterEnterpriseTypeOptions(value,that){
if (!value) return ''
let aFilters = that.enterpriseTypeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterCertificatedInformationTypeOptions(value,that){
if (!value) return ''
let aFilters = that.certificatedInformationTypeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterProvinceCodeOptions(value,that){
if (!value) return ''
let aFilters = that.provinceCodeOptions.filter(item => {
return item.dictValue == value
})
return aFilters.length > 0 ? aFilters[0].dictLabel : ''
},
//
filterCityCodeOptions(value,that){
if (!value) return ''
let aFilters = that.cityCodeOptions.filter(item => {
return item.areaCode == value
})
return aFilters.length > 0 ? aFilters[0].name : ''
},
//
filterAreaCodeOptions(value,that){
if (!value) return ''
// value = value.toString()
let aFilters = that.areaCodeOptions.filter(item => {
return item.areaCode == value
})
return aFilters.length > 0 ? aFilters[0].name : ''
},
},
created() {
getEnterpriseManager(this.enterpriseId).then(res => {
if(res.data)
{
this.form = res.data
if(res.data.provinceCode)
{
this.getCityOrAreaList(res.data.provinceCode,1)
}
if(res.data.cityCode)
{
this.getCityOrAreaList(res.data.cityCode,2)
}
}
})
this.getDicts("business_license_category").then(response => {
this.certificatedInformationTypeOptions = response.data;
});
this.getDicts("credit_code").then(response => {
this.corporateUnifiedSocialCreditTypeOptions = response.data;
});
this.getDicts("industry_main_category").then(response => {
this.enterpriseIndustryBigTypeOptions = response.data;
});
this.getDicts("industry_sub_category").then(response => {
this.enterpriseIndustrySmallTypeOptions = response.data;
});
this.getDicts("enterprise_category").then(response => {
this.enterpriseTypeOptions = response.data;
});
this.getDicts("province_code").then(response => {
this.provinceCodeOptions = response.data;
});
// this.getDicts("province_code").then(response => {
// this.cityCodeOptions = response.data;
// });
// this.getDicts("province_code").then(response => {
// this.areaCodeOptions = response.data;
// });
this.getDicts("credential_type_code").then(response => {
this.typeLegalRepresentativeOptions = response.data;
});
},
methods: {
//ID,type:12
getCityOrAreaList(parentId,type){
getAreaByParentId({parentId:parseInt(parentId)}).then(res => {
if(type == 1) {
this.cityCodeOptions = res.data;
} else if (type == 2) {
this.areaCodeOptions = res.data;
}
// this.$forceUpdate()
})
},
//
cancel() {
this.form = {}
window.history.go(-1)
},
}
};
</script>
<style lang="scss" scoped>
.el-form {
position: relative;
width: 1200px;
margin: 0 auto;
}
.pic-item {
position: relative;
width: 146px;
height: 146px;
}
.apply-wait,.apply-reject,.apply-adopt{
p{
text-align: center;
font-size: 18px;
color: #666;
margin-bottom: 15px;
}
}
</style>

222
src/views/company/companyInfo.vue

@ -1,103 +1,90 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" label-width="170px">
<el-row>
<el-col :span="12">
<el-form-item label="企业名称:" prop="name">
<span>{{form.name}}</span>
</el-form-item>
<el-form-item label="法人责任主体名称:" prop="nameLegalPersonLiabilitySubject">
<span>{{form.nameLegalPersonLiabilitySubject}}</span>
</el-form-item>
<table border="0" cellspacing="0" class="myTable">
<tr>
<th>企业名称</th>
<td>{{form.name}}</td>
<th>认证资料类型</th>
<td>{{form.certificatedInformationType | filterCertificatedInformationTypeOptions(that)}}</td>
</tr>
<tr>
<th>法人责任主体名称</th>
<td>{{form.nameLegalPersonLiabilitySubject}}</td>
<th>联系人姓名</th>
<td>{{form.duty}}</td>
</tr>
<tr>
<th>法定代表人名称</th>
<td>{{form.nameLegalRepresentative}}</td>
<th>联系方式</th>
<td>{{form.contactInformation}}</td>
</tr>
<tr>
<th>法定代表人证件类型</th>
<td>{{form.typeLegalRepresentative | filterTypeLegalRepresentative(that)}}</td>
<th>省代码</th>
<td>{{form.provinceCode | filterProvinceCodeOptions(that)}}</td>
</tr>
<tr>
<th>法定代表人证件号码</th>
<td>{{form.certificateNumberLegalRepresentative}}</td>
<th>市代码</th>
<td>{{form.cityCode | filterCityCodeOptions(that)}}</td>
</tr>
<tr>
<th>统一社会信用代码类型</th>
<td>{{form.corporateUnifiedSocialCreditType | filterCorporateUnifiedSocialCreditTypeOptions(that)}}</td>
<th>区代码</th>
<td>{{form.areaCode | filterAreaCodeOptions(that)}}</td>
</tr>
<tr>
<th>统一社会信用代码</th>
<td>{{form.corporateUnifiedSocialCreditCode}}</td>
<th>备注</th>
<td>{{form.remarks}}</td>
</tr>
<tr>
<th>企业行业大类型</th>
<td>{{form.enterpriseIndustryBigType | filterEnterpriseIndustryBigTypeOptions(that)}}</td>
<th>企业行业小类型</th>
<td>{{form.enterpriseIndustrySmallType | filterEnterpriseIndustrySmallTypeOptions(that)}}</td>
</tr>
<tr>
<th>企业类型</th>
<td>{{form.enterpriseType | filterEnterpriseTypeOptions(that)}}</td>
<th>邮箱</th>
<td>{{form.email}}</td>
</tr>
<tr>
<th>官网地址</th>
<td>{{form.websiteAddress}}</td>
<th>电话</th>
<td>{{form.mobile}}</td>
</tr>
<el-form-item label="法定代表人名称:" prop="nameLegalRepresentative">
<span>{{form.nameLegalRepresentative}}</span>
</el-form-item>
<el-form-item label="法定代表人证件类型:" prop="typeLegalRepresentative">
<span>{{form.typeLegalRepresentative | filterTypeLegalRepresentative(that)}}</span>
</el-form-item>
<el-form-item label="法定代表人证件号码:" prop="certificateNumberLegalRepresentative">
<span>{{form.certificateNumberLegalRepresentative}}</span>
</el-form-item>
<el-form-item label="统一社会信用代码类型:" prop="corporateUnifiedSocialCreditType">
<span>{{form.corporateUnifiedSocialCreditType | filterCorporateUnifiedSocialCreditTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="统一社会信用代码:" prop="corporateUnifiedSocialCreditCode">
<span>{{form.corporateUnifiedSocialCreditCode}}</span>
</el-form-item>
<el-form-item label="企业行业大类型:" prop="enterpriseIndustryBigType">
<span>{{form.enterpriseIndustryBigType | filterEnterpriseIndustryBigTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="企业行业小类型:" prop="enterpriseIndustrySmallType">
<span>{{form.enterpriseIndustrySmallType | filterEnterpriseIndustrySmallTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="企业类型:" prop="enterpriseType">
<span>{{form.enterpriseType | filterEnterpriseTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="邮箱:" prop="email">
<span>{{form.email}}</span>
</el-form-item>
<el-form-item label="企业简介:" prop="enterpriseDescribe">
<span>{{form.enterpriseDescribe}}</span>
</el-form-item>
<el-form-item label="官网地址:" prop="websiteAddress">
<span>{{form.websiteAddress}}</span>
</el-form-item>
<el-form-item label="电话:" prop="mobile">
<span>{{form.mobile}}</span>
</el-form-item>
<el-form-item label="详细地址:" prop="address">
<span>{{form.address}}</span>
</el-form-item>
<el-form-item label="企业注册地详细地址:" prop="placeRegistrationAddress">
<span>{{form.placeRegistrationAddress}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="认证资料类型:" prop="certificatedInformationType">
<span>{{form.certificatedInformationType | filterCertificatedInformationTypeOptions(that)}}</span>
</el-form-item>
<el-form-item label="联系人姓名:" prop="duty">
<span>{{form.duty}}</span>
</el-form-item>
<el-form-item label="联系方式:" prop="contactInformation">
<span>{{form.contactInformation}}</span>
</el-form-item>
<el-form-item label="省代码:" prop="provinceCode">
<span>{{form.provinceCode | filterProvinceCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="市代码:" prop="cityCode">
<span>{{form.cityCode | filterCityCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="区代码:" prop="areaCode">
<span>{{form.areaCode | filterAreaCodeOptions(that)}}</span>
</el-form-item>
<el-form-item label="备注:" prop="remarks">
<span>{{form.remarks}}</span>
</el-form-item>
<el-form-item label="企业logo:" prop="logo">
<img :src="form.logo" class="pic-item">
</el-form-item>
<el-form-item label="营业执照照片:" prop="companyImg">
<img :src="form.companyImg" class="pic-item">
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="法人证件正面照片:" prop="faceIdImg">
<img :src="form.faceIdImg" class="pic-item">
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人证件反面照片:" prop="rearIdImg">
<img :src="form.rearIdImg" class="pic-item">
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
<tr>
<th>详细地址</th>
<td>{{form.address}}</td>
<th>企业注册地详细地址</th>
<td>{{form.placeRegistrationAddress}}</td>
</tr>
<tr>
<th>企业简介</th>
<td colspan="3">{{form.enterpriseDescribe}}</td>
</tr>
<tr>
<th>企业logo</th>
<td><img :src="form.logo" class="pic-item"></td>
<th>营业执照照片</th>
<td><img :src="form.companyImg" class="pic-item"></td>
</tr>
<tr>
<th>法人证件正面照片</th>
<td><img :src="form.faceIdImg" class="pic-item"></td>
<th>法人证件反面照片</th>
<td><img :src="form.rearIdImg" class="pic-item"></td>
</tr>
</table>
<div class="dialog-footer text-center">
<el-button @click="cancel">返回</el-button>
</div>
@ -269,13 +256,52 @@ export default {
},
//
cancel() {
this.form = {}
window.history.go(-1)
this.form = {}
},
}
};
</script>
<style lang="scss" scoped>
.myTable {
position: relative;
margin: 30px;
width:calc(100% - 60px);
border: 1px solid rgb(177, 177, 177);
// border-spacing: 0;
border-collapse: collapse;
tr {
th {
position: relative;
color: darkgrey;
font-weight: 400;
border: 1px solid rgb(177, 177, 177);
font-size: 16px;
padding: 3px 6px;
width: 200px;
text-align: left;
}
td {
position: relative;
color: darkgrey;
border: 1px solid rgb(177, 177, 177);
font-size: 15px;
padding: 3px;
width: 400px;
}
.overflow-hidden {
display: -webkit-box;
height: 100px;
-webkit-line-clamp: 5; //
-webkit-box-orient: vertical;
overflow:hidden;
text-overflow:ellipsis;
border: none;
}
}
}
.el-form {
position: relative;
width: 1200px;

64
src/views/company/manager.vue

@ -1,5 +1,31 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<!--部门数据-->
<el-col :span="4" :xs="24">
<div class="head-container">
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
</div>
<div class="head-container">
<el-tree
:data="deptOptions"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
default-expand-all
@node-click="handleNodeClick"
/>
</div>
</el-col>
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="企业名称" prop="name">
<el-input
@ -29,7 +55,6 @@
<el-table-column label="统一社会信用代码" align="center" prop="corporateUnifiedSocialCreditCode" />
<el-table-column label="联系人姓名" align="center" prop="duty" />
<el-table-column label="联系方式" align="center" prop="contactInformation" />
<el-table-column label="联系方式" align="center" prop="contactInformation" />
<el-table-column label="详细地址" align="center" prop="address" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -41,7 +66,6 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -49,6 +73,9 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<!-- 添加或修改企业管理对话框 -->
<el-dialog title="企业详细信息" :visible.sync="open" width="1000px" append-to-body>
@ -113,7 +140,7 @@
<script>
import { listEnterpriseManager, getEnterpriseManager} from "@/api/system/enterpriseManager";
import ImageUpload from '@/components/ImageUpload';
import { treeselect } from "@/api/system/dept";
export default {
name: "EnterpriseManager",
components: {
@ -125,6 +152,14 @@ export default {
loading: true,
//
showSearch: true,
//
deptName: undefined,
//
deptOptions: undefined,
defaultProps: {
children: "children",
label: "label"
},
//
total: 0,
//
@ -144,6 +179,13 @@ export default {
},
created() {
this.getList();
this.getTreeselect();
},
watch: {
//
deptName(val) {
this.$refs.tree.filter(val);
}
},
methods: {
/** 查询企业管理列表 */
@ -179,6 +221,22 @@ export default {
};
this.resetForm("form");
},
/** 查询部门下拉树结构 */
getTreeselect() {
treeselect().then(response => {
this.deptOptions = response.data;
});
},
//
filterNode(value, data) {
if (!value) return true;
return data.label.indexOf(value) !== -1;
},
//
handleNodeClick(data) {
this.queryParams.deptId = data.id;
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;

9
src/views/error/404.vue

@ -17,22 +17,25 @@
<div class="bullshit__info">
对不起您正在寻找的页面不存在尝试检查URL的错误然后按浏览器上的刷新按钮或尝试在我们的应用程序中找到其他内容
</div>
<router-link to="/" class="bullshit__return-home">
<!-- <router-link to="/" class="bullshit__return-home">
返回首页
</router-link>
</router-link> -->
</div>
</div>
</div>
</template>
<script>
import Cookies from 'js-cookie'
export default {
name: 'Page404',
computed: {
message() {
return '找不到网页!'
}
},
mounted(){
Cookies.remove('Admin-Token')
}
}
</script>

39
src/views/home/index.vue

@ -16,23 +16,27 @@
<div class="echarts-content" id="echarts_2"></div>
<div class="echarts-content" id="echarts_3"></div>
</div>
<div style="margin: 0 auto;width:80%">
<!-- <div style="margin: 0 auto;width:80%">
<label >操作日志</label>
<el-button type="text" class="fr" @click="jumpRouter('Operlog')">更多</el-button>
<el-table :data="tableData">
<el-table-column label="日志编号" align="center" prop="operId" />
<el-table-column label="系统模块" align="center" prop="title" />
<el-table-column label="请求方式" align="center" prop="requestMethod" />
<el-table-column label="操作人员" align="center" prop="operName" />
<el-table-column label="主机" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
<el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" />
<el-table-column label="操作日期" align="center" prop="operTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.operTime) }}</span>
</template>
</el-table-column>
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div> -->
</div>
</template>
@ -56,12 +60,14 @@ export default {
//
queryParams: {
pageNum: 1,
pageSize: 8,
pageSize: 10,
title: undefined,
operName: undefined,
businessType: undefined,
status: undefined
}
},
//
total: 0,
}
},
mounted() {
@ -73,12 +79,14 @@ export default {
}, 1000);
this.getList()
this.initEcharts()
this.onClickEchart()
},
methods: {
getList() {
selectOperLogListByLogin(this.queryParams).then( response => {
this.tableData = response.rows;
});
// selectOperLogListByLogin(this.queryParams).then( response => {
// this.tableData = response.rows;
// this.total = response.total
// });
getSystemIndexInfo().then(res => {
this.echartsData = {
@ -163,6 +171,17 @@ export default {
]
}
echarts.setOption(option);
},
onClickEchart(){
this.echarts_1.on("click", param => {
this.$router.push({path:"/enterprise/companyManager"})
});
this.echarts_2.on("click", param => {
this.$router.push({path:"/enterprise/campanyVerify"})
});
this.echarts_3.on("click", param => {
this.$router.push({path:"/enterprise/campanyVerify"})
});
}
},

179
src/views/home/index2.vue

@ -20,30 +20,64 @@
<el-button :type="companyInfo.industrialInternetCertificationStatus == 1 ? 'success':'info'" class="auth-btn">工业互联网{{companyInfo.industrialInternetCertificationStatus == 1 ? '已':'未'}}认证</el-button>
</el-col>
<el-col :span="8">
<div><label class="company-info-lable text-muted">企业名称</label><span class="company-info-span">{{companyInfo.enterpriseName}}</span></div>
<div><label class="company-info-lable text-muted">用户名</label><span class="company-info-span">{{companyInfo.userName}}</span></div>
<div><label class="company-info-lable text-muted">手机号</label><span class="company-info-span">{{companyInfo.phonenumber}}</span></div>
<div><label class="company-info-lable text-muted">上次登录时间</label><span class="company-info-span">{{companyInfo.loginDate}}</span></div>
<div><label class="company-info-lable text-muted">企业名称</label><p class="company-info-span">{{companyInfo.enterpriseName}}</p></div>
<div><label class="company-info-lable text-muted">用户名</label><p class="company-info-span">{{companyInfo.userName}}</p></div>
<!-- <div><label class="company-info-lable text-muted">手机号</label><p class="company-info-span">{{companyInfo.phonenumber}}</p></div> -->
<div><label class="company-info-lable text-muted">上次登录时间</label><p class="company-info-span">{{companyInfo.loginDate}}</p></div>
</el-col>
<el-col :span="12">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="是否公开:">
<el-form ref="form" :model="form" label-width="90px" label-position="top">
<!-- <el-form-item label="是否公开:">
<el-radio-group v-model="form.isItPublic" @change="changeIsPublic">
<el-radio label="0" ></el-radio>
<el-radio label="1" ></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="企业名片:" prop="enterpriseId">
</el-form-item> -->
<br>
<el-col :span="12">
<el-form-item label="申请二维码:">
<vue-qr ref="Qrcode" :logoSrc="imageUrl" :text="qrTest" :size="200" :margin="0"></vue-qr>
<el-radio-group v-model="form.time" @change="changeIsPublic('1')">
<el-radio label="0" >1</el-radio>
<el-radio label="1" >1</el-radio>
<el-radio label="2" >1</el-radio>
<el-radio label="3" >无期限</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item >
<el-button type="primary" size="mini" @click="downloadImg('Qrcode')">下载二维码</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="企业名片:">
<vue-qr ref="QrInfo" :logoSrc="imageUrl" :text="qrInfo" :size="200" :margin="0"></vue-qr>
</el-form-item>
<el-form-item >
<el-button type="primary" size="mini" @click="downloadImg">下载企业名片</el-button>
<el-button type="primary" size="mini" @click="downloadImg('QrInfo')">下载企业名片</el-button>
</el-form-item>
</el-col>
</el-form>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<label>合作伙伴申请验证码</label>
<span>{{applyCode}}</span>
<el-switch
style="margin-left:30px;"
v-model="verificationCodesSwitch"
active-text="开启"
inactive-text="关闭"
:active-value="1"
:inactive-value="0"
@change="changeCodesSwitch">
</el-switch>
<br><br>
<el-button type="primary" size="mini" @click="upDataApplyCode">更新验证码</el-button>
</el-col>
</el-row>
</div>
<div class="app-container">
<!-- <div class="app-container">
<div class="title-container">
<label >操作日志</label>
<el-button type="text" class="fr" @click="jumpRouter('Operlog')">更多</el-button>
@ -61,20 +95,21 @@
</template>
</el-table-column>
</el-table>
<!-- <div class="el-col-2" style="height:1px">
</div>
<div class="el-col-6">
<div class="echarts-content" id="echarts_1"></div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div> -->
</div>
</div>
</template>
<script>
import {getDay} from "@/utils/index"
// import echarts from "echarts";
import {getIndexInfo,selectOperLogListByLogin} from "@/api/home/index"
import {getIndexInfo,getPartnersApplyForVerificationCodesBy,updatePartnersApplyForVerificationCodesBy,setVerificationCodesSwitch,getVerificationCodesSwitchByLogin} from "@/api/home/index"
import vueQr from 'vue-qr'
export default {
name:'home',
@ -84,6 +119,7 @@ export default {
data() {
return {
VUE_H5_QR:process.env.VUE_APP_H5_QR,
VUE_H5_INFO:process.env.VUE_APP_H5_INFO,
day:getDay(),
times:'',
tableData: [
@ -91,17 +127,23 @@ export default {
//
queryParams: {
pageNum: 1,
pageSize: 8
pageSize: 10
},
//
total: 0,
companyInfo:{},
enterpriseUrl:'',
//
form: {
isItPublic:'0'
isItPublic:'1',
time:'2'
},
imageUrl:"",
companyID:'',
applyCode:'',
qrTest:"",
qrInfo:"",
verificationCodesSwitch:1
}
},
mounted() {
@ -112,81 +154,74 @@ export default {
this.times = theDate.getHours()+":"+ theDate.getMinutes()+ ":" +theDate.getSeconds()
}, 1000);
this.initData()
// this.initEcharts()
},
methods: {
initData() {
selectOperLogListByLogin(this.queryParams).then( response => {
this.tableData = response.rows;
});
// selectOperLogListByLogin(this.queryParams).then( response => {
// this.tableData = response.rows;
// this.total = response.total
// });
getIndexInfo().then(res =>{
this.companyInfo = res.data
if(this.companyInfo.loginDate) {
let times = this.companyInfo.loginDate.split("T")[0] + ' ' + this.companyInfo.loginDate.split("T")[1].split(".")[0]
this.companyInfo.loginDate = times
}
this.enterpriseUrl = this.companyInfo.enterpriseUrl || require("@/assets/images/profile.jpg")
this.enterpriseUrl = this.companyInfo.enterpriseLogo || require("@/assets/images/profile.jpg")
this.companyID = this.companyInfo.enterpriseId
// if(this.companyInfo.enterpriseUrl) {
// this.imageUrl = require("../../assets/logo/logo.png")
// }
this.changeIsPublic()
this.changeIsPublic('12')
})
getPartnersApplyForVerificationCodesBy().then(res => {
const sData = res.data
this.applyCode = sData
})
getVerificationCodesSwitchByLogin().then(res => {
this.verificationCodesSwitch = res.data
})
},
//
changeCodesSwitch(newVal){
const params = {
verificationCodesSwitch:newVal,
enterpriseId:this.companyID
}
setVerificationCodesSwitch(params).then(res => {
this.msgSuccess("修改成功");
})
},
downloadImg () {
const iconUrl = this.$refs.Qrcode.$el.src
//
upDataApplyCode(){
updatePartnersApplyForVerificationCodesBy().then(res => {
const sData = res.data
this.applyCode = sData
})
},
downloadImg (ref) {
const iconUrl = this.$refs[ref].$el.src
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = '二维码'
if(ref == 'Qrcode')
{
a.download = '申请二维码'
} else if (ref == 'QrInfo') {
a.download = '企业名片'
}
a.href = iconUrl
a.dispatchEvent(event)
},
changeIsPublic(val){
this.qrTest = this.VUE_H5_QR + '?enterpriseId='+this.companyID+'&isItPublic=' + this.form.isItPublic
console.log(this.qrTest);
},
jumpRouter(name){
this.$router.push({name:name})
},
initEcharts(){
this.echarts_1 = echarts.init(document.getElementById("echarts_1"));
this.setEcharts()
},
setEcharts() {
let option = {
title: {
text: '企业邀请',
left: 'left'
},
color:['rgb(115 192 222)','rgb(84 112 198)'],
tooltip: {
trigger: 'item'
},
series: [
if(val.indexOf('1') != -1)
{
name: '企业邀请',
type: 'pie',
radius: '50%',
data: [
{value: 148, name: '已接受邀请'},
{value: 35, name: '邀请中'},
],
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
this.qrTest = this.VUE_H5_QR + '?enterpriseId='+this.companyID+'&isItPublic=' + this.form.isItPublic
}
if(val.indexOf('2') != -1)
{
this.qrInfo = this.VUE_H5_INFO + '?enterpriseId='+this.companyID
}
]
};
this.echarts_1.setOption(option);
}
},
}
@ -231,6 +266,7 @@ export default {
height: 25px;
line-height: 25px;
padding: 0;
cursor: initial;
// background-color: gray;
// color: #fff;
border: 0;
@ -252,7 +288,8 @@ export default {
// width: 300px;
// height: 50px;
font-size: 16px;
line-height: 50px;
line-height: 30px;
margin: 0;
}
}
</style>

12
src/views/login/login.vue

@ -62,7 +62,7 @@
</template>
<script>
import { getCodeImg } from "@/api/login";
import { getCodeImg,firstEnterPath } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
@ -73,8 +73,8 @@ export default {
codeUrl: "",
cookiePassword: "",
loginForm: {
username: "admin",
password: "admin123",
username: "",
password: "",
rememberMe: false,
code: "",
uuid: ""
@ -103,6 +103,7 @@ export default {
created() {
this.getCode();
this.getCookie();
console.log(this.loginForm);
},
methods: {
getCode() {
@ -138,7 +139,10 @@ export default {
Cookies.remove('rememberMe');
}
this.$store.dispatch("Login", this.loginForm).then(() => {
this.$router.push({ path: "/" }).catch(()=>{});
firstEnterPath().then(res =>{
this.$router.push({ name: res.msg }).catch(()=>{});
})
}).catch(() => {
this.loading = false;
this.getCode();

34
src/views/system/dept/index.vue

@ -1,17 +1,17 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-form-item label="组织名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入部门名称"
placeholder="请输入组织名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable size="small">
<el-select v-model="queryParams.status" placeholder="组织状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -47,7 +47,7 @@
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="deptName" label="组织名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" :formatter="statusFormat" width="100"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
@ -83,18 +83,18 @@
</el-table-column>
</el-table>
<!-- 添加或修改部门对话框 -->
<!-- 添加或修改组织对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" />
<el-form-item label="上级组织" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级组织" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
<el-form-item label="组织名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入组织名称" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -118,7 +118,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="部门状态">
<el-form-item label="组织状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
@ -154,7 +154,7 @@ export default {
showSearch: true,
//
deptList: [],
//
//
deptOptions: [],
//
title: "",
@ -172,10 +172,10 @@ export default {
//
rules: {
parentId: [
{ required: true, message: "上级部门不能为空", trigger: "blur" }
{ required: true, message: "上级组织不能为空", trigger: "blur" }
],
deptName: [
{ required: true, message: "部门名称不能为空", trigger: "blur" }
{ required: true, message: "组织名称不能为空", trigger: "blur" }
],
orderNum: [
{ required: true, message: "显示排序不能为空", trigger: "blur" }
@ -204,7 +204,7 @@ export default {
});
},
methods: {
/** 查询部门列表 */
/** 查询组织列表 */
getList() {
this.loading = true;
listDept(this.queryParams).then(response => {
@ -212,7 +212,7 @@ export default {
this.loading = false;
});
},
/** 转换部门数据结构 */
/** 转换组织数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
@ -262,7 +262,7 @@ export default {
this.form.parentId = row.deptId;
}
this.open = true;
this.title = "添加部门";
this.title = "添加组织";
listDept().then(response => {
this.deptOptions = this.handleTree(response.data, "deptId");
});
@ -273,7 +273,7 @@ export default {
getDept(row.deptId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改部门";
this.title = "修改组织";
});
listDeptExcludeChild(row.deptId).then(response => {
this.deptOptions = this.handleTree(response.data, "deptId");

274
src/views/system/enterprise/index.vue

@ -35,7 +35,7 @@
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-col :span="1.5">
<el-button
type="primary"
plain
@ -43,63 +43,68 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:enterprise:add']"
>邀请</el-button>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:enterprise:edit']"
>修改</el-button>
>通过企业验证码申请合作</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:enterprise:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
:loading="exportLoading"
@click="handleExport"
v-hasPermi="['system:enterprise:export']"
>导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="enterpriseList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="enterpriseList">
<!-- <el-table-column label="建立合作关系时间" align="center" prop="id" /> -->
<el-table-column label="合作企业名称" align="center" prop="cooperativeEnterpriseName" />
<!-- <el-table-column label="合作关系状态" align="center" prop="status" :formatter="statusFormat" /> -->
<el-table-column label="合作企业关系" align="center" prop="partnership">
<template slot-scope="scope">
<span>{{scope.row.partnership == 0 ? '下游经销商' : '上游供应商'}}</span>
</template>
</el-table-column>
<el-table-column label="建立合作关系时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="是否公开" align="center" prop="isItPublic" :formatter="isItPublicFormat" />
<el-table-column label="是否公开" align="center" prop="isItPublic">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isItPublic"
@change="changePublic(scope.row)"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="0"
:inactive-value="1">
</el-switch>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="80">
<template slot-scope="scope">
<span v-if="scope.row.status == 0 || scope.row.status == 4" class="text-navy">通过</span>
<span v-if="scope.row.status == 1 || scope.row.status == 2" class="text-warning">申请中</span>
<span v-if="scope.row.status == 5" class="text-danger">已拒绝</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:enterprise:edit']"
>修改</el-button>
>修改</el-button> -->
<el-button
v-if="scope.row.needAgree == 2"
size="mini"
type="text"
class="text-navy"
icon="el-icon-check"
@click="agreeOrNo(scope.row.id,true)"
>同意</el-button>
<el-button
v-if="scope.row.needAgree == 2"
size="mini"
type="text"
class="text-danger"
icon="el-icon-close"
@click="agreeOrNo(scope.row.id,false)"
>拒绝</el-button>
<el-button
size="mini"
type="text"
@ -121,26 +126,26 @@
<!-- 添加或修改合作伙伴对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="是否公开:">
<el-radio-group v-model="form.isItPublic">
<el-radio
v-for="dict in isItPublicOptions"
:key="dict.dictValue"
:label="parseInt(dict.dictValue)"
@change="changeIsPublic"
>{{dict.dictLabel}}</el-radio>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-form-item label="企业关系(对方):" prop="partnership">
<el-radio-group v-model="form.partnership" >
<el-radio :label="1">上游供应商</el-radio>
<el-radio :label="0">下游经销商</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="邀请码:" prop="enterpriseId">
<vue-qr ref="Qrcode" :logoSrc="imageUrl" :text="qrTest" :size="200" :margin="0"></vue-qr>
<el-form-item label="合作企业邀请码:" prop="applyCode">
<el-input
v-model="form.applyCode"
@blur="getEnterpriseByApplyCode"
placeholder="请输入对方合作伙伴申请码"
clearable
size="small"
style="width:250px"
/>
</el-form-item>
<el-form-item label="">
<span>{{applyEnterprise.name}}</span>
</el-form-item>
<el-form-item >
<el-button type="primary" size="mini" @click="downloadImg">下载二维码</el-button>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -151,7 +156,8 @@
</template>
<script>
import { listEnterprise, getEnterprise, delEnterprise, addEnterprise, updateEnterprise, exportEnterprise } from "@/api/system/enterprise";
import { listEnterprise, getEnterprise, delEnterprise, addEnterprise, updateEnterprise, exportEnterprise, getEnterpriseIdByPartnersApplyForVerificationCodes,
invitationByCode,agreeInvitationByCode,disagreeInvitationByCode } from "@/api/system/enterprise";
import vueQr from 'vue-qr'
export default {
name: "Enterprise",
@ -160,19 +166,14 @@ export default {
},
data() {
return {
imageUrl: require("../../../assets/logo/logo.png"),
companyID:'1',
qrTest:this.companyID+'&1',
applyEnterprise:{
name:'',
id:''
},
//
loading: true,
//
exportLoading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
@ -199,6 +200,12 @@ export default {
form: {},
//
rules: {
partnership: [
{ required: true, message: "请选择企业关系", trigger: "change" }
],
applyCode: [
{ required: true, message: "申请码称不能为空", trigger: "blur" }
]
}
};
},
@ -221,17 +228,46 @@ export default {
this.loading = false;
});
},
//
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
//
changePublic(row){
this.reset();
this.form = row
updateEnterprise(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
},
//
isItPublicFormat(row, column) {
return this.selectDictLabel(this.isItPublicOptions, row.isItPublic);
},
agreeOrNo(id,val){
const param = {
id:id
}
if(val)
{
agreeInvitationByCode(param).then(res => {
this.msgSuccess("操作成功");
this.getList();
})
} else {
disagreeInvitationByCode(param).then(res => {
this.msgSuccess("操作成功");
this.getList();
})
}
},
//
cancel() {
this.open = false;
this.applyEnterprise = {
name:'',
id:''
}
this.reset();
},
//
@ -259,63 +295,70 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "邀请合作伙伴";
this.title = "合作伙伴申请";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEnterprise(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改合作伙伴";
});
},
changeIsPublic(val){
this.qrTest = this.companyID+'&' + this.form.isItPublic
},
downloadImg () {
const iconUrl = this.$refs.Qrcode.$el.src
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = '二维码'
a.href = iconUrl
a.dispatchEvent(event)
},
// handleUpdate(row) {
// this.reset();
// const id = row.id || this.ids
// getEnterprise(id).then(response => {
// this.form = response.data;
// this.open = true;
// this.title = "";
// });
// },
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEnterprise(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEnterprise(this.form).then(response => {
// if (this.form.id != null) {
// updateEnterprise(this.form).then(response => {
// this.msgSuccess("");
// this.open = false;
// this.getList();
// });
// } else {
// addEnterprise(this.form).then(response => {
// this.msgSuccess("");
// this.open = false;
// this.getList();
// });
// }
const params = {
"enterpriseId": this.applyEnterprise.id,
"enterpriseName": this.applyEnterprise.name,
"isItPublic": 0,
"partnership": this.form.partnership,
}
invitationByCode(params).then(res => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
})
}
});
},
getEnterpriseByApplyCode(){
if(!this.form.applyCode || this.form.applyCode == '') {
this.applyEnterpriseName = ''
return
}
getEnterpriseIdByPartnersApplyForVerificationCodes({partnersApplyForVerificationCodes:parseInt(this.form.applyCode) }).then(res => {
this.applyEnterprise.name = res.data.name || null
this.applyEnterprise.id = res.data.enterpriseId || null
}).catch(err => {
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除合作伙伴编号为"' + ids + '"的数据项?', "警告", {
this.$confirm('是否确认删除合作伙伴"' + row.cooperativeEnterpriseName + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@ -325,21 +368,6 @@ export default {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有合作伙伴数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.exportLoading = true;
return exportEnterprise(queryParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
})
}
}
};

2
src/views/system/enterpriseManager/index.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="企业名称" prop="name">
<el-form-item label="企业222名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入企业名称"

13
src/views/system/qualification/index.vue

@ -23,6 +23,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-if="isAdmin == -1"
v-hasPermi="['system:qualification:add']"
>添加资质</el-button>
</el-col>
@ -64,7 +65,7 @@
<el-table v-loading="loading" :data="qualificationList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label=" 编号" align="center" prop="enterpriseQualificationId" />
<el-table-column label="企业名称" align="center" prop="enterpriseName" />
<el-table-column label="资质名称" align="center" prop="qualificationName" />
<el-table-column label="资质证书号" align="center" prop="qualificationCertificateNumber" />
<el-table-column label="发证机关" align="center" prop="issuingAuthority" />
@ -109,7 +110,10 @@
<!-- 添加或修改企业资质对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item v-if="title.indexOf('修改') != -1" label="企业名称" prop="enterpriseName">
<span>{{enterpriseName}}</span>
</el-form-item>
<el-form-item label="资质名称" prop="qualificationName">
<el-input v-model="form.qualificationName" placeholder="请输入资质名称" />
</el-form-item>
@ -159,6 +163,8 @@ export default {
},
data() {
return {
isAdmin:this.$store.getters.roles.indexOf('admin'),
enterpriseName:"",
//
loading: true,
//
@ -214,6 +220,8 @@ export default {
// this.getDicts("sys_normal_disable").then(response => {
// this.isItPublicOptions = response.data;
// });
console.log(this.$store.getters.roles.indexOf('admin'));
},
methods: {
/** 查询企业资质列表 */
@ -273,6 +281,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.enterpriseName = row.enterpriseName
this.reset();
const enterpriseQualificationId = row.enterpriseQualificationId || this.ids
getQualification(enterpriseQualificationId).then(response => {

14
src/views/system/role/index.vue

@ -102,13 +102,13 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="roleId" width="120" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
<el-table-column label="显示顺序" prop="roleSort" width="100" />
<el-table-column label="状态" align="center" width="100">
<el-table v-loading="loading" :data="roleList">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<!-- <el-table-column label="角色编号" prop="roleId" width="120" /> -->
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" />
<el-table-column label="显示顺序" prop="roleSort"/>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"

37
src/views/system/user/index.vue

@ -2,7 +2,7 @@
<div class="app-container">
<el-row :gutter="20">
<!--部门数据-->
<!-- <el-col :span="4" :xs="24">
<el-col :span="4" :xs="24">
<div class="head-container">
<el-input
v-model="deptName"
@ -24,9 +24,9 @@
@node-click="handleNodeClick"
/>
</div>
</el-col> -->
</el-col>
<!--用户数据-->
<el-col :span="24" :xs="24">
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input
@ -141,12 +141,12 @@
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<!-- <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" /> -->
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<el-table-column label="状态(启用/停用)" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
@ -175,14 +175,14 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['system:user:edit']"
>修改</el-button>
<el-button
<!-- <el-button
v-if="scope.row.userId !== 1"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']"
>删除</el-button>
>删除</el-button> -->
<el-button
size="mini"
type="text"
@ -236,11 +236,11 @@
</el-radio-group>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col> -->
</el-col>
</el-row>
<el-row>
@ -285,7 +285,7 @@
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择">
<el-option
@ -297,7 +297,7 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
<el-row>
<el-col :span="24">
@ -352,7 +352,7 @@ import { getToken } from "@/utils/auth";
import { treeselect } from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {validatePasswordStrong} from "@/utils/validate"
export default {
name: "User",
components: { Treeselect },
@ -595,7 +595,16 @@ export default {
handleResetPwd(row) {
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消"
cancelButtonText: "取消",
inputValidator: (value)=>{
if(8<=value.length && value.length<=12) {
return validatePasswordStrong(value)
} else {
return false
}
// return (8<=value.length && value.length<=12) ? validatePasswordStrong(value) : false
},
inputErrorMessage: '请输入8-12位的数字与字母组合的密码'
}).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => {
this.msgSuccess("修改成功,新密码是:" + value);
@ -625,7 +634,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids;
this.$confirm('是否确认删除用户编号为"' + userIds + '"的数据项?', "警告", {
this.$confirm('是否确认删除用户名为"' + row.userName + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"

3
src/views/system/user/profile/userInfo.vue

@ -69,7 +69,8 @@ export default {
},
close() {
this.$store.dispatch("tagsView/delView", this.$route);
this.$router.push({ path: "/index" });
// this.$router.push({ path: "/index" });
this.$router.go(-1)
}
}
};

2
vue.config.js

@ -6,7 +6,7 @@ function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || '供应商资质检查' // 标题
const name = defaultSettings.title || '供应商资质应用管理系统' // 标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口

Loading…
Cancel
Save