同步代码

ywj_dev
wangwei 2 years ago
parent a1e4e7e26d
commit 94817e3325

@ -9,6 +9,15 @@ export function authAdminList(query) {
});
}
// 获取角色列表
export function authAdminRoleList(query) {
return axios({
url: "/admin/auth/admin/roleList",
method: "get",
params: query
});
}
//根据当前角色,获取是否为客户角色
export function roleCustomers(query) {

@ -0,0 +1,37 @@
/**
* Created by lk on 17/6/4.
*/
import axios from "@/utils/axios";
// 获取信息
export function userInfo(id, token) {
return axios({
url: "/admin/auth/login/userInfo",
method: "get",
params: { id, token }
});
}
export function loginName(username, password) {
console.log(username + " " + password);
return axios({
url: "/login",
method: "post",
data: { username, password }
});
}
export function logout(uid, token) {
return axios({
url: "/admin/auth/login/out",
method: "post",
data: { uid, token }
});
}
export function password(data) {
return axios({
url: "/admin/auth/login/password",
method: "post",
data: data
});
}

@ -0,0 +1,54 @@
import axios from "@/utils/request";
export function getRegisters(query) {
return axios({
url: "/salewarehouse/register/list",
method: "get",
params: query
});
}
export function register(data) {
return axios({
url: "/salewarehouse/register/save",
method: "post",
data: data
});
}
export function checkPass(data) {
return axios({
url: "/salewarehouse/register/check",
method: "post",
data: data
});
}
export function getCheckcode(data) {
return axios({
url: "/salewarehouse/register/getCheckcode",
method: "post",
data: data
});
}
export function deleteRe(data) {
return axios({
url: "/salewarehouse/register/deleteResiter",
method: "post",
data: data
});
}
export function resetPasswd(data) {
return axios({
url: "/salewarehouse/reset/passwd",
method: "post",
data: data
});
}

@ -1,91 +1,91 @@
import axios from "@/utils/request";
export function getBasicUnitMaintains(query) {
return axios({
url: "/udiwms/basic/unit/maintain/filter",
method: "get",
params: query
});
return axios({
url: "/udiwms/basic/unit/maintain/filter",
method: "get",
params: query
});
}
export function getCorpFilter(query) {
return axios({
url: "/sale/info/company/product/corp/filter",
method: "get",
params: query
});
return axios({
url: "/sale/info/company/product/corp/filter",
method: "get",
params: query
});
}
export function getBasicUnitMaintains2(query) {
return axios({
url: "/udiwms/basic/unit/maintain/filter2",
method: "get",
params: query
});
return axios({
url: "/udiwms/basic/unit/maintain/filter2",
method: "get",
params: query
});
}
export function basicUnitMaintainSave(data, formName, method = "post") {
let url =
formName === "add" ? "/udiwms/basic/unit/maintain/save" : "/udiwms/basic/unit/maintain/update";
return axios({
url: url,
method: method,
data: data
});
let url =
formName === "add" ? "/udiwms/basic/unit/maintain/save" : "/udiwms/basic/unit/maintain/update";
return axios({
url: url,
method: method,
data: data
});
}
export function combine(query) {
return axios({
url: "/udiwms/basic/unit/maintain/combine",
method: "post",
data: query
});
return axios({
url: "/udiwms/basic/unit/maintain/combine",
method: "post",
data: query
});
}
export function combineAll(query) {
return axios({
url: "/udiwms/basic/unit/maintain/combineAll",
method: "get",
params: query
});
return axios({
url: "/udiwms/basic/unit/maintain/combineAll",
method: "get",
params: query
});
}
export function combineSingle(query) {
return axios({
url: "/udiwms/basic/unit/maintain/combineSingle",
method: "post",
data: query
});
return axios({
url: "/udiwms/basic/unit/maintain/combineSingle",
method: "post",
data: query
});
}
export function deleteBasicUnitMaintain(query) {
return axios({
url: "/udiwms/basic/unit/maintain/delete",
method: "post",
data: query
});
return axios({
url: "/udiwms/basic/unit/maintain/delete",
method: "post",
data: query
});
}
export function ucloudUnit(query) {
return axios({
url: "/udiwms/unitMaintain/filterErp",
method: "get",
params: query
});
return axios({
url: "/udiwms/unitMaintain/filterErp",
method: "get",
params: query
});
}
export function getThrsysUnit(query) {
return axios({
url: "/udiwms/unitMaintain/thirdSys/detail",
method: "get",
params: query
});
return axios({
url: "/udiwms/unitMaintain/thirdSys/detail",
method: "get",
params: query
});
}
export function removeRl(query) {
return axios({
url: "/udiwms/unit/thirdSys/removeRl",
method: "get",
params: query
});
return axios({
url: "/udiwms/unit/thirdSys/removeRl",
method: "get",
params: query
});
}
export function getSystemParamConfig(query) {

@ -21,13 +21,10 @@ export function login(username, password, code, uuid) {
// 注册方法
export function register(data) {
return request({
url: '/register',
headers: {
isToken: false
},
method: 'post',
url: "/salewarehouse/register/save",
method: "post",
data: data
})
});
}
// 获取用户详细信息
@ -58,6 +55,15 @@ export function getCodeImg() {
})
}
export function getCheckcode(data) {
return request({
url: "/salewarehouse/register/getCheckcode",
method: "post",
data: data
});
}
// 短信验证码
export function getCodeSms() {
return request({

@ -1,9 +1,10 @@
import axios from "../../utils/request";
import axios from "@/utils/request";
export function getCompany() {
export function getCompany(query) {
return axios({
url: "/warehouse/info/company",
method: "get"
method: "get",
params:query
});
}
@ -14,3 +15,23 @@ export function modifyCompany(query) {
data: query
});
}
export function checkCompany(query) {
return axios(
{
url: "/salewarehouse/register/checkCompany",
method: "get",
params: query
}
);
}
export function getRegisterConfig(query) {
return axios(
{
url: "/salewarehouse/register/getRegisterConfig",
method: "get",
params: query
}
);
}

@ -0,0 +1,77 @@
import axios from "@/utils/request";
export function getCompany(query) {
return axios(
{
url: "/warehouse/info/company",
method: "get",
params: query
}
);
}
export function modifyCompany(query) {
return axios(
{
url: "/warehouse/info/modifyCompany",
method: "post",
data: query
}
);
}
export function getRefid(query) {
return axios(
{
url: "/sale/info/refid",
method: "get",
params: query
}
);
}
export function checkCompany(query) {
return axios(
{
url: "/salewarehouse/register/checkCompany",
method: "get",
params: query
}
);
}
export function getRegisterConfig(query) {
return axios(
{
url: "/salewarehouse/register/getRegisterConfig",
method: "get",
params: query
}
);
}
export function getSubCompany(query) {
return axios(
{
url: "/sale/info/getSubCompany",
method: "get",
params: query
}
);
}
export function getSubCompany2(query) {
return axios(
{
url: "/sale/info/getSubCompany2",
method: "get",
params: query
}
);
}

@ -0,0 +1,26 @@
/**
* 配置编译环境和线上环境之间的切换
*
* baseUrl: 域名地址
* routerMode: 路由模式
* imgBaseUrl: 图片所在域名地址
*
*/
import '../../public/config'
import '../../public/config.json'
import axios from 'axios'
import myReq from '@/utils/axios'
let BASE_URL = process.env.VUE_APP_BASE_API
let SERVER_IP = ''
let ROUTER_MODE = ''
let IMG_BASE_URL = BASE_URL
export { BASE_URL, ROUTER_MODE, IMG_BASE_URL, SERVER_IP }
axios.get('./config.json').then((res) => {
// 基础地址
BASE_URL = res.data.BASE_URL
SERVER_IP = res.data.SERVER_IP
myReq.defaults.baseURL = BASE_URL
})

@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
const whiteList = ['/login', '/auth-redirect', '/bind', '/register',"/forgetPasswd"]
router.beforeEach((to, from, next) => {
NProgress.start()

@ -51,6 +51,11 @@ export const constantRoutes = [
component: () => import('@/views/register'),
hidden: true
},
{
path: '/forgetPasswd',
component: () => import('@/views/forgetPasswd'),
hidden: true
},
{
path: '/404',
component: () => import('@/views/error/404'),

@ -0,0 +1,69 @@
import axios from "axios";
import { Message } from "element-ui";
import store from "../store/index";
import { BASE_URL } from "../config/app";
import router from "../router/index";
import "../../public/config";
// axios.defaults.baseURL = '/api'
// 创建axios实例
const service = axios.create({
baseURL: BASE_URL, // api的base_url
timeout: 15000 // 请求超时时间
});
// request拦截器
service.interceptors.request.use(
config => {
// Do something before request is sent
if (store.getters.adminId && store.getters.token) {
// config.params = {
// ADMIN_ID: store.getters.adminId,
// ADMIN_TOKEN: store.getters.token,
// ...config.params
// };
config.headers={
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token,
};
}
return config;
},
error => {
// Do something with request error
Promise.reject(error);
}
);
// respone拦截器
service.interceptors.response.use(
response => {
const data = response.data;
if (data.code) {
if (data.code === 2) {
store.dispatch("fedLogout").then(() => {
Message.error("登录失效,请重新登录");
router.push({
path: "/login",
query: { redirect: router.currentRoute.fullPath } // 从哪个页面跳转过来
});
});
}
}
return data;
},
error => {
Message({
message: error.message,
type: "error",
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export default service;

@ -0,0 +1,296 @@
<template>
<div style="overflow: auto; height: 100%; margin: 0 auto">
<el-card
class="el-card"
style="
width: 60%;
margin-top: 35px;
margin-left:20%;
margin-bottom: 35px;
text-align: center;
"
>
<div slot="header" style="font-weight: bold">
<span>忘记密码</span>
</div>
<el-form
:model="inputQuery"
:rules="rules"
ref="inputQuery"
style="margin-left: 20%"
>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>用户账号:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="nickName">
<el-input
size="small"
placeholder="请输入登录用户账号"
v-model="inputQuery.userName"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>新密码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="password">
<el-input
size="small"
placeholder="请输入密码"
type="password"
v-model="inputQuery.password"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>确认密码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="confirmPassword">
<el-input
size="small"
type="password"
placeholder="请确认密码"
v-model="inputQuery.confirmPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>手机号:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item prop="mobile">
<el-input
size="small"
placeholder="请输入手机号"
v-model="inputQuery.mobile"
@input="change()"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-button
type="primary"
size="small"
icon="search"
:disabled="isTimer"
style="margin-top: 3.5px"
@click="getCheckCode"
>
<span>{{ btnTitle }}</span>
</el-button>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>手机验证码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="checkCode">
<el-input
size="small"
placeholder="请输入手机验证码"
v-model="inputQuery.checkCode"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="width: 100%">
<el-form-item>
<el-button
type="primary"
size="small"
icon="search"
style="margin-top: 20px; "
@click="onSubmit('inputQuery')"
>重置密码
</el-button
>
<el-button type="primary" icon="search" @click="intentBack" style="margin-right: 130px"
>返回
</el-button
>
</el-form-item>
</div>
</el-form>
</el-card>
</div>
</template>
<script>
import {getCheckcode, register, resetPasswd} from "@/api/auth/register";
import {
provinceAndCityData,
regionData,
provinceAndCityDataPlus,
regionDataPlus,
CodeToText,
TextToCode,
} from "element-china-area-data";
export default {
data() {
let validatePass2 = (rule, value, callback) => {
if (value === "") {
callback(new Error("请再次输入密码"));
} else if (value !== this.inputQuery.password) {
callback(new Error("两次输入密码不一致!"));
} else {
callback();
}
};
return {
inputQuery: {
password: "",
mobile: "",
confirmPassword: "",
checkCode: "",
userName: "",
},
isTimer: false,
btnTitle: "获取验证码",
options: regionDataPlus,
selectedOptions: [],
rules: {
password: [{required: true, message: "请输入密码", trigger: "blur"}],
mobile: [{required: true, message: "请输入手机号", trigger: "blur"}],
confirmPassword: [
{required: true, message: "请确认密码", trigger: "blur"},
{validator: validatePass2, trigger: "blur"},
],
checkCode: [
{required: true, message: "请输入手机验证码", trigger: "blur"},
],
},
};
},
created() {
this.getData();
},
methods: {
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.loading = true;
resetPasswd(this.inputQuery).then((response) => {
if (response.code === 20000) {
this.loading = false;
this.$alert("密码重置成功,点击确定即可登录", "密码重置", {
confirmButtonText: "确定",
callback: (action) => {
this.$router.push({path: "../login"});
},
});
} else {
this.$message.error(response.message);
}
});
} else {
return false;
}
});
},
getData() {
this.loading = true;
getCompany().then((response) => {
this.loading = false;
this.inputQuery = response.data;
});
},
getCheckCode(mobile) {
let tquery = {
phoneNum: this.inputQuery.mobile,
userName: this.inputQuery.userName,
};
getCheckcode(tquery).then((response) => {
if (response.code === 20000) {
this.validateBtn();
} else {
this.$message.error(response.message);
}
});
},
intentBack() {
// this.$router.push({path:'../readme/detail',query:{id:row.corpOrderId}});
this.$router.go(-1);
},
validateBtn() {
//
let time = 60;
let timer = setInterval(() => {
if (time === 0) {
clearInterval(timer);
this.isTimer = false;
this.btnTitle = "获取验证码";
} else {
this.btnTitle = time + "秒后重试";
this.isTimer = true;
time--;
}
}, 1000);
},
handleChange(value) {
this.inputQuery.area =
CodeToText[value[0]] + CodeToText[value[1]] + CodeToText[value[2]];
},
},
};
</script>
<style>
.register-text {
width: 100%;
font-size: 13px;
font-family: "Microsoft YaHei";
float: left;
text-align: left;
margin-top: 10px;
}
.el-card {
margin-right: 20px;
margin-top: 15px;
/*transition: all .5s;*/
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -62,6 +62,14 @@
>登录
</el-button>
</div>
<div style="margin-top: -15px">
<a style="margin-left: 50%; font-size: 12px" :href="'#/register'"
>立即注册</a
>
<a style="margin-left: 5%; font-size: 12px" :href="'#/forgetPasswd'"
>忘记密码</a
>
</div>
</el-card>
</el-form>

@ -1,150 +1,880 @@
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">UDI自助平台</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input
v-model="registerForm.password"
type="password"
auto-complete="off"
placeholder="密码"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="confirmPassword">
<el-input
v-model="registerForm.confirmPassword"
type="password"
auto-complete="off"
placeholder="确认密码"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="registerForm.code"
auto-complete="off"
placeholder="验证码"
style="width: 63%"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
<div class="register-code">
<img :src="codeUrl" @click="getCode" class="register-code-img"/>
<div style="overflow: auto; height: 100%; margin: 0 auto">
<el-card
class="el-card"
style="
width: 60%;
margin-top: 35px;
margin-left:20%;
margin-bottom: 35px;
text-align: center;
"
>
<div slot="header" style="font-weight: bold">
<div style="text-align: center">
<img
alt="element-logo"
style="width: 10%"
src="../assets/logo/logo.png"
/>
</div>
</el-form-item>
<el-form-item style="width:100%;">
<el-button
:loading="loading"
size="medium"
type="primary"
style="width:100%;"
@click.native.prevent="handleRegister"
>
<span v-if="!loading"> </span>
<span v-else> ...</span>
</el-button>
<div style="float: right;">
<router-link class="link-type" :to="'/login'">使用已有账户登录</router-link>
<h3 class="title">医院供应商自助平台用户注册</h3>
</div>
<el-form
:model="inputQuery"
:rules="rules"
ref="inputQuery"
style="margin-left: 20%;"
>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>用户名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="nickName">
<el-input
size="small"
placeholder="请输入用户名称"
v-model="inputQuery.nickName"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>用户密码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="password">
<el-input
size="small"
placeholder="请输入密码"
type="password"
v-model="inputQuery.password"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>确认密码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="confirmPassword">
<el-input
size="small"
type="password"
placeholder="请确认密码"
v-model="inputQuery.confirmPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>负责人:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="realName">
<el-input
size="small"
placeholder="请输入负责人姓名"
v-model="inputQuery.realName"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>联系电话:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="tel">
<el-input
size="small"
placeholder="请输入联系电话"
v-model="inputQuery.tel"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>邮箱:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="email">
<el-input
size="small"
placeholder="请输入邮箱"
v-model="inputQuery.email"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>企业名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="10" v-if="registerConfigMap.companyCheckStatus">
<el-form-item prop="companyName">
<el-select
v-model="inputQuery.companyName"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择企业"
:remote-method="findMethod"
size="small"
style="width: 100%"
@change="selectOne"
:loading="loading"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" v-if="!registerConfigMap.companyCheckStatus">
<el-form-item prop="companyName">
<el-input
size="small"
placeholder="请输入企业名称"
v-model="inputQuery.companyName"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<!--<el-button-->
<!--type="primary"-->
<!--size="small"-->
<!--icon="search"-->
<!--style="margin-top: 0.5px"-->
<!--@click="checkCompanyName"-->
<!--&gt;-->
<!--校验企业名称-->
<!--</el-button>-->
</el-col>
</el-row>
<el-row :gutter="20" v-if="registerConfigMap.udplatCheckStatus">
<el-col :span="1">
</el-col>
<el-col :span="10">
<el-form-item>
<el-checkbox v-model="udplatEnable">
是否阳光采购平台企业
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="registerConfigMap.udplatCheckStatus">
<el-col :span="4">
<div class="register-text">
<span>阳光采购平台企业名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="udplatCompanyName">
<el-select
v-model="inputQuery.udplatCompanyName"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入阳光采购企业名称"
:remote-method="findUdplatMethod"
size="small"
style="width: 100%"
@change="selectUdlpatOne"
:loading="loading"
:disabled="!udplatEnable"
>
<el-option
v-for="item in fromUdplatOptions"
:key="item.name"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<!--<el-button-->
<!--type="primary"-->
<!--size="small"-->
<!--icon="search"-->
<!--style="margin-top: 0.5px"-->
<!--@click="checkCompanyName"-->
<!--&gt;-->
<!--校验企业名称-->
<!--</el-button>-->
</el-col>
</el-row>
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="4">-->
<!-- <div class="register-text">-->
<!-- <span>企业名称:&nbsp;</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="10">-->
<!-- <el-form-item prop="area">-->
<!-- <el-cascader-->
<!-- size="small"-->
<!-- :options="options"-->
<!-- v-model="selectedOptions"-->
<!-- placeholder="请选择所属企业"-->
<!-- style="width: 100%"-->
<!-- @change="handleChange"-->
<!-- >-->
<!-- </el-cascader>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>统一社会信用号:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="creditNum">
<el-input
size="small"
placeholder="请输入统一社会信用号"
v-model="inputQuery.creditNum"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>企业类型:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="bussinessStatus">
<el-select :disabled="true"
size="small"
style="width: 100%"
v-model="inputQuery.bussinessStatus"
placeholder="企业类型"
>
<!-- <el-option label="医院" value="1"></el-option>-->
<el-option label="经营企业" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>所属地区:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="area">
<el-cascader
size="small"
:options="options"
v-model="selectedOptions"
placeholder="请选择所属地区"
style="width: 100%"
@change="handleChange"
>
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>详细地址:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="detailAddr">
<el-input
size="small"
placeholder="请输入详细地址"
v-model="inputQuery.detailAddr"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>手机号:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="mobile">
<el-input
size="small"
placeholder="请输入手机号"
v-model="inputQuery.mobile"
@input="change()"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-button
type="primary"
size="small"
icon="search"
:disabled="isTimer"
style="margin-top: 0.5px"
@click="getCheckCode"
>
<span>{{ btnTitle }}</span>
</el-button>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="register-text">
<span>手机验证码:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="checkCode">
<el-input
size="small"
placeholder="请输入手机验证码"
v-model="inputQuery.checkCode"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="营业执照电子档案:" label-width="150px">
<el-upload
class="upload-demo"
ref="upload"
:action="this.uploadUrl"
:on-preview="uploadHandlePreview"
:on-remove="uploadHandleRemove"
:headers="headers"
:limit="1"
:on-exceed="uploadHandleExceed"
accept=".jpg,.png,.pdf"
:on-change="uploadOnchange"
:on-success="uploadHandleSuccess"
:on-error="uploadHandleError"
:file-list="fileList"
:data="{type:'image1'}"
:auto-upload="true"
:show-file-list="true"
>
<div>
<el-button slot="trigger" size="small" type="primary"
:disabled="companyEditDisabled">选取文件
</el-button>
<el-button
:disabled="inputQuery.licenseUrl === null || inputQuery.licenseUrl === ''"
@click.native="openFile(inputQuery.licenseUrl)"
size="small" type="primary">查看文件
</el-button>
<span slot="tip" style="margin-left: 20px">支持pdf,jpg,png格式文件</span>
</div>
<!-- <div slot="tip" class="el-upload__tip">只能上传 .jpg,.png 文件且不超过 2 MB</div>-->
</el-upload>
</el-form-item>
</el-col>
</el-row>
<div style="width: 100%; margin-left: -100px">
<el-form-item>
<el-button
type="primary"
size="small"
icon="search"
style="margin-top: 20px; width: 200px"
@click="onSubmit('inputQuery')"
>提交
</el-button
>
</el-form-item>
</div>
</el-form-item>
</el-form>
<!-- 底部 -->
<div class="el-register-footer">
<span>Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span>
</el-form>
</el-card>
<div style="color: #2d3a4b; text-align: center">
<a href="http://www.xmglxp.com" style="color: #000000; font-size: 12px"
>厦门高立新鹏软件科技有限公司 &nbsp;13459286066</a
>
</div>
<div style="color: #2d3a4b; text-align: center">
<a
href="http://www.beian.gov.cn/portal/registerSystemInfo"
style="color: #000000; font-size: 12px"
>
闽公网安备35020302034269号&nbsp;&nbsp;
</a>
<a
href="http://beian.miit.gov.cn"
style="color: #000000; font-size: 12px"
>
备案号:闽ICP备17019234号
</a>
</div>
<el-dialog
title="注册成功"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="formVisible"
:before-close="formDefine"
width="50%"
top="5vh"
>
<el-form :model="formData" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col" type="flex">
<div class="text item">
<span>您的注册信息已提交等待审核请牢记您的账号密码方便登录系统</span>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 20px">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<span>{{ this.acoountInfo }}</span>
</div>
</el-col>
<el-col :span="10" class="el-col" type="flex">
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!--<el-button-->
<!--type="primary"-->
<!--@click.native="formDefine()"-->
<!--&gt;确定-->
<!--</el-button-->
<!--&gt;-->
<!-- <el-button class="tag-read" type="primary" size="mini" :data-clipboard-text="acoountInfo" @click="copy">-->
<!-- 确定-->
<!-- </el-button>-->
<el-button class="tag-read" type="primary" size="mini"
v-clipboard:copy="acoountInfo"
>复制
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getCodeImg, register } from "@/api/login";
import { getCheckcode, register } from "@/api/login";
import {
getCompany,
modifyCompany,
getRefid, checkCompany, getRegisterConfig,
} from "@/api/system/company";
import {
provinceAndCityData,
regionData,
provinceAndCityDataPlus,
regionDataPlus,
CodeToText,
TextToCode,
} from "element-china-area-data";
import Clipboard from 'clipboard';
import {BASE_URL} from "@/config/app";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"
export default {
name: "Register",
data() {
const equalToPassword = (rule, value, callback) => {
if (this.registerForm.password !== value) {
callback(new Error("两次输入的密码不一致"));
let validatePass2 = (rule, value, callback) => {
if (value === "") {
callback(new Error("请再次输入密码"));
} else if (value !== this.inputQuery.password) {
callback(new Error("两次输入密码不一致!"));
} else {
callback();
}
};
return {
codeUrl: "",
registerForm: {
username: "",
inputQuery: {
nickName: null,
password: "",
realName: "",
tel: "",
mobile: "",
userId: "",
confirmPassword: "",
code: "",
uuid: "",
user_type: "sys_user"
checkCode: "",
email: "",
companyId: "",
companyName: "",
udplatCompanyName: "",
udplatCompanyId: null,
creditNum: "",
area: "",
areaCode: "",
detailAddr: "",
bussinessStatus: "2",
checkCompanyNameStatus: false,
licenseUrl: null,
},
registerRules: {
username: [
{ required: true, trigger: "blur", message: "请输入您的账号" },
{ min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
udplatEnable: false,
headers: {},
uploadUrl: null,
fileUrl: null,
isTimer: false,
btnTitle: "获取验证码",
options: regionDataPlus,
selectedOptions: [],
fromOptions: [],
fromUdplatOptions: [],
acoountInfo: "账号:" + "------" + "\n密码" + "-----",
rules: {
nickName: [
{required: true, message: "请输入用户名称", trigger: "blur"},
],
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
password: [{required: true, message: "请输入密码", trigger: "blur"}],
realName: [
{required: true, message: "请输入负责人姓名", trigger: "blur"},
],
tel: [{required: true, message: "请输入联系电话", trigger: "blur"},
// { pattern:/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/, message: "", trigger: "blur" }
],
mobile: [{required: true, message: "请输入手机号码", trigger: "blur"},
// { pattern:/^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/, message: "", trigger: "blur" }
],
confirmPassword: [
{ required: true, trigger: "blur", message: "请再次输入您的密码" },
{ required: true, validator: equalToPassword, trigger: "blur" }
{required: true, message: "请确认密码", trigger: "blur"},
{validator: validatePass2, trigger: "blur"},
],
checkCode: [
{required: true, message: "请输入手机验证码", trigger: "blur"},
],
email: [{required: true, message: "请输入邮箱", trigger: "blur"}],
companyName: [
{required: true, message: "请输入企业名称", trigger: "blur"},
],
udplatCompanyName: [
{required: this.udplatEnable, message: "请输入阳光采购平台企业名称", trigger: "blur"},
],
creditNum: [
{required: true, message: "请输入统一社会信用号", trigger: "blur"},
],
area: [{required: true, message: "请选择所属地区", trigger: "blur"}],
detailAddr: [
{required: true, message: "请输入详细地址", trigger: "blur"},
],
bussinessStatus: [
{required: true, message: "请选择企业类型", trigger: "blur"},
],
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
},
loading: false,
captchaEnabled: true
registerConfigMap: {
companyCheckStatus: true,
udplatCheckStatus: false,
},
formVisible: false,
formData: {
account: "",
password: "",
}
};
},
created() {
this.getCode();
this.registerConfig();
this.uploadUrl = process.env.VUE_APP_BASE_API + "/udiwms/upload/register/file";
this.fileUrl = process.env.VUE_APP_BASE_API + "/udiwms/image/register/file/getImage?type=image1&name=";
// this.getData();
this.headers = {
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token,
};
},
methods: {
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.data.img;
this.registerForm.uuid = res.data.uuid;
}
});
},
handleRegister() {
this.$refs.registerForm.validate(valid => {
onSubmit(formName) {
// this.formVisible = true;
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.registerConfigMap.companyCheckStatus) {
if (this.$isBlank(this.inputQuery.companyName)) {
this.$message.error('企业名称不能为空');
return;
}
}
if(this.$isBlank(this.inputQuery.licenseUrl)){
this.$message.error('请先上传营业执照电子档案!');
return;
}
this.loading = true;
let registerForm = this.registerForm;
registerForm.userType = "sys_user"
register(registerForm).then(res => {
const username = this.registerForm.username;
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
dangerouslyUseHTMLString: true,
type: 'success'
}).then(() => {
this.$router.push("/login");
}).catch(() => {});
}).catch(() => {
this.loading = false;
if (this.captchaEnabled) {
this.getCode();
register(this.inputQuery).then((response) => {
if (response.code === 20000) {
this.loading = false;
this.formData = {
account: response.data,
password: this.inputQuery.password,
}
this.formVisible = true;
this.acoountInfo = "账号:" + this.formData.account + "\n密码" + this.formData.password;
} else {
this.$message.error(response.message);
}
})
});
} else {
return false;
}
});
}
}
},
formDefine() {
this.formVisible = false;
this.$router.push({path: "../login"});
},
getData() {
this.loading = true;
getCompany().then((response) => {
this.loading = false;
this.inputQuery = response.data;
this.inputQuery.bussinessStatus = "2";
this.selectedOptions = this.inputQuery.areaCode.split(",");
});
},
getCheckCode(mobile) {
let tquery = {
phoneNum: this.inputQuery.mobile,
};
getCheckcode(tquery).then((response) => {
if (response.code === 20000) {
this.validateBtn();
} else {
this.$message.error(response.message);
}
});
},
checkCompanyName() {
if (this.$isBlank(this.inputQuery.companyName)) {
this.$message.error('企业名称不能为空');
return;
}
let tQuery = {
companyName: this.inputQuery.companyName,
};
checkCompany(tQuery).then((response) => {
if (response.code === 20000) {
this.checkCompanyNameStatus = true;
this.$message.success("校验成功!");
} else {
this.$message.error(response.message);
}
});
},
registerConfig() {
getRegisterConfig().then((response) => {
if (response.code === 20000) {
this.registerConfigMap = response.data;
}
});
},
validateBtn() {
//
let time = 60;
let timer = setInterval(() => {
if (time === 0) {
clearInterval(timer);
this.isTimer = false;
this.btnTitle = "获取验证码";
} else {
this.btnTitle = time + "秒后重试";
this.isTimer = true;
time--;
}
}, 1000);
},
handleChange(value) {
this.inputQuery.area = CodeToText[value[0]];
if (CodeToText[value[1]] != null && CodeToText[value[1]] != ""
&& CodeToText[value[1]] != "undefined") {
this.inputQuery.area += CodeToText[value[1]];
}
if (CodeToText[value[2]] != null && CodeToText[value[2]] != ""
&& CodeToText[value[2]] != "undefined") {
this.inputQuery.area += CodeToText[value[2]];
}
this.inputQuery.areaCode = value.toString();
},
copy() {
let sel = this;
let clipboard = new Clipboard('.tag-read');
clipboard.on('success', e => {
//
clipboard.destroy();
});
clipboard.on('error', e => {
//
//
clipboard.destroy()
});
this.$confirm("账号已复制,请牢记自己的账号密码!是否跳转登录", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
// this.formVisible = false;
// this.$router.push({path: "../login"});
sel.formDefine();
}).catch(() => {
});
},
selectOne(event) {
this.inputQuery.companyName = event.name;
this.inputQuery.companyId = event.erpId;
},
selectUdlpatOne(event) {
this.inputQuery.udplatCompanyName = event.name;
this.inputQuery.udplatCompanyId = event.erpId;
},
findMethod(query) {
this.fromOptions = [];
let cQuery = {
key: query,
};
getBasicUnitMaintains(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
});
},
findUdplatMethod(query) {
this.fromUdplatOptions = [];
let cQuery = {
name: query,
thirdSysFk: null,
};
getCorps(cQuery)
.then((response) => {
this.loading = false;
this.fromUdplatOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
});
},
uploadHandleRemove(file, fileList) {
},
uploadHandlePreview(file) {
},
uploadHandleExceed(files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
uploadOnchange(file, fileList) {
let fileName = file.name;
let uid = file.uid
let pos = fileName.lastIndexOf(".");
let lastName = fileName.substring(pos, fileName.length);
if (lastName.toLowerCase() !== ".jpg" && lastName.toLowerCase() !== ".png") {
this.$message.error("上传文件只能是 .jpg,.png 格式");
for (let i = 0; i < fileList.length; i++) {//list
if (fileList[i].uid === uid) {
fileList.splice(i, 1)
}
}
return;
}
//
const isLt = file.size / 1024 / 1024 / 2 <= 1;
if (!isLt) {
this.$message.error("上传文件大小不能超过 2MB");
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid === uid) {
fileList.splice(i, 1)
}
}
}
return isLt;
},
uploadHandleSuccess(response, file, fileList) {
if (response.code === 20000) {
this.inputQuery.licenseUrl = response.data.name;
} else {
this.$message.error("文件上传失败:" + response.message);
}
},
uploadHandleError() {
},
openFile(path) {
window.open(this.fileUrl + path);
},
},
};
</script>

@ -0,0 +1,598 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-row>
<el-col :span="6">
<el-form-item >
<el-input
style="width: 400px"
v-model="filterQuery.companyName"
placeholder="企业名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="企业名称"
prop="companyName"
></el-table-column>
<el-table-column
label="社会统一信用号"
prop="creditNum"
></el-table-column>
<el-table-column label="所属地区" prop="area" width="180">
</el-table-column>
<el-table-column
label="详细地址"
prop="detailAddr"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column label="企业类型" prop="bussinessStatus">
<template slot-scope="scope">
<span>{{ bussinessFlag[scope.row.bussinessStatus] }}</span>
</template>
</el-table-column>
<el-table-column label="客户状态" prop="userFlag" >
<template slot-scope="scope">
<el-tag :type="scope.row.userFlag | statusFilterType">{{
scope.row.userFlag | statusFilterName
}}
</el-tag>
</template>
</el-table-column>
<!-- <el-table-column label="真实姓名" prop="userName" width="120"></el-table-column>-->
<!-- <el-table-column label="手机" prop="employeeName" width="120"></el-table-column>-->
<!-- <el-table-column label="联系电话" prop="tel" width="120"></el-table-column>-->
<!-- <el-table-column label="邮箱" prop="email" width="120"></el-table-column>-->
<!-- <el-table-column label="是否弹窗" prop="isInfoLink" width="120">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ isTip[scope.row.isInfoLink] }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="弹窗链接"-->
<!-- prop="infoLink"-->
<!-- width="180"-->
<!-- :show-overflow-tooltip="true"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column label="角色" prop="role" ></el-table-column>
<!-- <el-table-column label="打印模板" prop="pdfTemplateName" width="120"></el-table-column>-->
<el-table-column label="最大用户数" prop="userMax" >
</el-table-column>
<!-- <el-table-column label="当前用户数" prop="count" width="120">-->
<!-- </el-table-column>-->
<el-table-column label="操作" >
<template slot-scope="scope">
<el-button-group>
<el-button
type="text"
size="mini"
@click.native.stop="customerkDialog(scope.row)"
>查看用户
</el-button
>
<el-button
type="text"
size="mini"
@click.native.stop="contractDialog(scope.row)"
>查看联系人
</el-button
>
</el-button-group>
</template>
</el-table-column
>
<el-table-column label="操作" >
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="checkDialog(scope.row)"
>编辑
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog title="客户信息编辑" :visible.sync="formVisible" width="60%">
<el-form :model="formData" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="客户名称" prop="userName">
<el-input
v-model="formData.customerName"
style="width: 60%"
size="small"
:disabled="true"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="最大用户数" prop="employeeName">
<el-input
v-model="formData.userMax"
size="small"
style="width: 40%"
type="number"
@change="verifyUserCount"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
<!-- <el-row :gutter="20" class="el-row" type="flex">-->
<!-- <el-col :span="10" class="el-col" type="flex">-->
<!-- <div class="text item">-->
<!-- <el-form-item label="是否弹窗提示" prop="isInfoLink">-->
<!-- <el-select-->
<!-- v-model="formData.isInfoLink"-->
<!-- placeholder="是否弹窗提示"-->
<!-- >-->
<!-- <el-option label="否" value="0"></el-option>-->
<!-- <el-option label="是" value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="10" class="el-col">-->
<!-- <div class="text item">-->
<!-- <div class="text item">-->
<!-- <el-form-item label="弹窗提示窗口链接" prop="infoLink">-->
<!-- <el-input-->
<!-- style="width: 60%"-->
<!-- size="small"-->
<!-- v-model="formData.infoLink"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20" class="el-row" type="flex">-->
<!-- <el-col :span="10" class="el-col" type="flex">-->
<!-- <div class="text item">-->
<!-- <el-form-item label="选择打印模板" prop="pdfTemplateId">-->
<!-- <el-select-->
<!-- v-model="formData.pdfTemplateId"-->
<!-- placeholder="选择打印模板"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in pdfTemplates"-->
<!-- :key="item.idStr"-->
<!-- :label="item.name"-->
<!-- :value="item.idStr">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-form-item label="状态:" prop="userFlag">
<el-radio-group v-model="formData.userFlag">
<el-radio :label="0">禁用</el-radio>
<el-radio :label="1">正常</el-radio>
<el-radio :label="2">未验证</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="分配角色:">
<el-radio-group v-model="check" @change="handleCheckedChange">
<el-radio v-for="item in roles" :key="item.roleId" :label="item.roleId">{{
item.roleName
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="cancelDialog" size="small">取消</el-button>
<el-button type="primary" size="small" @click.native="formSubmit()"
>提交
</el-button
>
</div>
</el-dialog>
<el-dialog title="客户联系人" :visible.sync="contractVisible" width="60%">
<el-form :model="contractData" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="真实姓名:" prop="userName">
<el-input
v-model="contractData.contacts"
style="width: 80%"
size="small"
:disabled="true"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="手机:" prop="employeeName">
<el-input
v-model="contractData.mobile"
size="small"
style="width: 80%"
type="number"
:disabled="true"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="联系电话:" prop="tel">
<el-input
v-model="contractData.tel"
style="width: 80%"
size="small"
:disabled="true"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="邮箱:" prop="email">
<el-input
v-model="contractData.email"
size="small"
style="width: 80%"
:disabled="true"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="cancelDialog" size="small">确定</el-button>
</div>
</el-dialog>
<div v-if="customerVisible">
<el-dialog
title="客户用户"
:visible.sync="customerVisible"
width="60%"
append-to-body
:modal-append-to-body="false"
:close-on-click-modal="false"
@close="closeCustomerDialog"
>
<customerUser :currentCustomer="currentCustomer"></customerUser>
</el-dialog>
</div>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="handleCurrentChange"
></pagination>
</el-card>
</div>
</template>
<script>
import {getRegisters, checkPass, deleteRe} from "@/api/auth/register";
import {authAdminRoleList, authCustomerRoles} from "@/api/auth/authAdmin";
import {getSystemPDFTemplates} from "@/api/param/systemPDFTemplate";
import {
getCustomers,
updateCustomers,
deleteCustomers,
} from "@/api/auth/customer";
import customerUser from "./customerUser";
export default {
data() {
return {
filterQuery: {
companyName: "",
checkType: "",
page: 1,
limit: 20,
},
value: "",
total: 0,
checkFlag: {
0: "未审核",
1: "已通过",
2: "已拒绝",
},
userflag: {
0: "禁用",
1: "正常",
2: "未验证",
},
bussinessFlag: {
1: "医院",
2: "经营企业"
},
list: [],
isTip: {
0: "否",
1: "是",
},
formVisible: false,
contractVisible: false,
customerVisible: false,
timer: "",
formData: {
customerName: "111",
userMax: "",
isInfoLink: "",
infoLink: "",
customerId: "",
userFlag: "",
roleId: "",
pdfTemplateId: "",
},
contractData: {
contacts: "",
mobile: "",
tel: "",
email: "",
},
currentCustomer: "",
check: "",
roles: [],
pdfTemplates: [],
};
},
filters: {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success",
2: "danger",
};
return statusMap[status];
},
statusFilterName(status) {
const statusMap = {
0: "禁用",
1: "正常",
2: "未验证",
};
return statusMap[status];
},
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
companyName: "",
page: 1,
limit: 20,
};
this.getList();
this.filterQuery.page=1;
},
formSubmit() {
this.formData.roleId = this.check;
updateCustomers(this.formData)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.$message({
type: "success",
message: "更新成功!",
});
} else {
this.$message.warning("更新失败");
}
})
.catch(() => {
this.cancelDialog();
this.loading = false;
});
},
onSubmit() {
this.filterQuery.checkType=null;
this.filterQuery.page=1;
this.getList();
},
getList() {
this.loading = true;
getCustomers(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
for (let i = 0; i < this.list.length; i++) {
if (this.$isNotBlank(this.list[i].pdfTemplateId)) {
for (let j = 0; j < this.pdfTemplates.length; j++) {
if (this.list[i].pdfTemplateId === this.pdfTemplates[j].idStr) {
this.list[i].pdfTemplateName = this.pdfTemplates[j].name;
break;
}
}
}
}
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
hideForm() {
this.customerVisible = false;
},
cancelDialog() {
this.formVisible = false;
this.contractVisible = false;
},
handleSizeChange(val) {
this.filterQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.filterQuery.page = val.page;
this.getList();
},
handleCheckedChange(val) {
},
checkRegister(tquery) {
this.loading = true;
checkPass(tquery)
.then((response) => {
if (response.code === 20000) {
this.getList();
this.$message({
type: "success",
message: "更新成功!",
});
} else {
this.$message.warning("更新失败");
this.loading = false;
}
})
.catch(() => {
});
},
customerkDialog(row) {
this.currentCustomer = row.customerId;
this.timer = new Date().getTime();
this.customerVisible = true;
},
closeCustomerDialog() {
this.currentCustomer = null;
},
checkDialog(row) {
(this.formData = {
customerName: row.companyName,
userMax: row.userMax,
isInfoLink: row.isInfoLink + "",
infoLink: row.infoLink,
customerId: row.customerId,
userFlag: row.userFlag,
pdfTemplateId: row.pdfTemplateId,
}),
(this.check = parseInt(row.roleId));
this.formVisible = true;
},
contractDialog(row) {
(this.contractData = {
contacts: row.contacts,
mobile: row.mobile,
tel: row.tel,
email: row.email,
}),
(this.contractVisible = true);
},
deleteDialog(row) {
this.$confirm("删除后将清空该客户下所有用户?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let tQuery = {
id: row.customerId,
};
deleteCustomers(tQuery).then(() => {
this.getList();
});
})
.catch(() => {
});
},
getRoleList() {
authCustomerRoles()
.then((response) => {
this.roles = response.data.list || [];
})
.catch(() => {
});
},
getPDFTemplateList() {
getSystemPDFTemplates()
.then((response) => {
this.pdfTemplates = response.data.list;
})
.catch(() => {
});
},
verifyUserCount(val) {
if (val < 0) {
this.$message.error("用户数不得小于0");
this.formData.userMax = 0;
}
},
},
components: {
customerUser,
},
mounted() {
},
created() {
// this.getPDFTemplateList();
this.getList();
this.getRoleList();
},
};
</script>

@ -0,0 +1,478 @@
<template>
<div>
<el-card>
<el-form :model="query" class="query-form" label-width="120px">
<el-row>
<el-col :span="7">
<el-form-item label="用户账号:" >
<el-input v-model="query.userName" style="width: 100%" placeholder="请输入用户账号"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="状态:">
<el-select v-model="query.userFlag" style="width: 100%" placeholder="请选择状态">
<el-option label="全部" value=""></el-option>
<el-option label="禁用" value="0"></el-option>
<el-option label="正常" value="1"></el-option>
<el-option label="未验证" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<!--
<el-form-item class="query-form-item">
<el-select v-model="query.roleId" placeholder="角色">
<el-option label="全部角色" value=""></el-option>
<el-option v-for="item in roles" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
-->
<el-col :span="9">
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询</el-button
>
<el-button type="primary" @click.native="handleForm(null, null)"
>新增</el-button
>
</el-button-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column type="index" width="50"> </el-table-column>
<el-table-column label="用户账号" prop="userName" > </el-table-column>
<el-table-column label="用户名称" prop="employeeName" >
</el-table-column>
<el-table-column label="状态" >
<template slot-scope="scope">
<el-tag :type="scope.row.userFlag | statusFilterType">{{
scope.row.userFlag | statusFilterName
}}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native="handleForm(scope.$index, scope.row)"
>编辑
</el-button>
<el-button
type="text"
size="small"
@click.native="handleDel(scope.$index, scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:limit.sync="query.limit"
:page.sync="query.page"
@pagination="handleCurrentChange"
></pagination>
<!--表单-->
<el-dialog
:title="formMap[formName]"
:visible.sync="formVisible"
:before-close="hideForm"
append-to-body
:modal-append-to-body="false"
:close-on-click-modal="false"
width="70%"
top="5vh"
>
<el-form :model="formData" :rules="formRules" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="用户账号" prop="userName">
<el-input v-model="formData.userName" size="small"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="用户名称" prop="employeeName">
<el-input
v-model="formData.employeeName"
size="small"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="登录密码" prop="passWord">
<el-input
type="password"
size="small"
v-model="formData.passWord"
:disabled="true"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="确认密码" prop="checkPassword">
<el-input
type="password"
size="small"
v-model="formData.checkPassword"
:disabled="true"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="hideForm" size="small">取消</el-button>
<el-button
type="primary"
size="small"
@click.native="formSubmit()"
:loading="formLoading"
>提交</el-button
>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {
authAdminList,
authCustomerRoles,
authAdminSave,
authAdminDelete,
} from "@/api/auth/authAdmin";
import { userInfo } from "@/api/auth/login";
const formJson = {
id: "",
passWord: "",
userName: "",
checkPassword: "",
employeeName: "",
userFlag: 1,
customerId: "",
roles: [],
};
export default {
name: "currentCustomer",
props: {
currentCustomer: "",
},
data() {
let validatePass = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入密码"));
} else {
callback();
}
};
let validatePass2 = (rule, value, callback) => {
if (value === "") {
callback(new Error("请再次输入密码"));
} else if (value !== this.formData.passWord) {
callback(new Error("两次输入密码不一致!"));
} else {
callback();
}
};
return {
roles: [],
query: {
userName: "",
userFlag: "",
page: 1,
limit: 20,
roleId: "",
customerId: "",
},
list: [],
total: 0,
loading: true,
index: null,
formName: null,
formMap: {
add: "新增",
edit: "编辑",
},
userInfo: {
customerId: "",
userId: "",
roles: [],
},
formLoading: false,
formVisible: false,
formData: formJson,
formRules: {},
addRules: {
userName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
passWord: [
{ required: true, message: "请输入密码", trigger: "blur" },
{ validator: validatePass, trigger: "blur" },
],
checkPassword: [
{
required: true,
message: "请再次输入密码",
trigger: "blur",
},
{ validator: validatePass2, trigger: "blur" },
],
userFlag: [
{ required: true, message: "请选择状态", trigger: "change" },
],
},
editRules: {
userName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
userFlag: [
{ required: true, message: "请选择状态", trigger: "change" },
],
},
deleteLoading: false,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.query = {
userName: "",
userFlag: "",
page: 1,
limit: 20,
roleId: "",
customerId: this.currentCustomer,
};
this.getList();
},
onSubmit() {
this.$router.push({
path: "",
query: this.query,
});
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
getList() {
this.loading = true;
authAdminList(this.query)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
this.roles = [];
});
},
getRoleList() {
authCustomerRoles(this.query)
.then((response) => {
this.roles = response.data.list || [];
})
.catch(() => {
this.roles = [];
});
},
getUserInfo() {
userInfo()
.then((response) => {
this.userInfo = {
customerId: response.data.customerId,
userId: response.data.id,
roles: response.data.roleIds,
};
this.query.customerId = response.data.customerId;
this.getList();
})
.catch(() => {
this.customerId = "";
});
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
}
},
//
hideForm() {
//
this.formVisible = !this.formVisible;
//
this.$refs["dataForm"].resetFields();
return true;
},
//
handleForm(index, row) {
this.formVisible = true;
this.formData = JSON.parse(JSON.stringify(formJson));
if (row !== null) {
this.formData = Object.assign({}, row);
}
this.formName = "add";
this.formRules = this.addRules;
if (index !== null) {
this.index = index;
this.formName = "edit";
this.formRules = this.editRules;
}
},
formSubmit() {
console.log(
this.formData.userName +
"-----" +
this.formData.employeeName +
this.formData.userFlag +
this.formData.id
);
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.formLoading = true;
this.formData.userFlag = 1;
this.formData.roles = this.userInfo.roles;
this.formData.customerId = this.currentCustomer;
let data = Object.assign({}, this.formData);
let savequery = {
id: this.formData.id,
userFlag: 1,
roles: this.userInfo.roles,
customerId: this.currentCustomer,
passWord: this.formData.passWord,
userName: this.formData.userName,
employeeName: this.formData.employeeName,
};
authAdminSave(savequery, this.formName).then((response) => {
this.formLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("操作成功");
this.formVisible = false;
if (this.formName === "add") {
//
if (response.data && response.data.id) {
data.id = response.data.id;
this.list.unshift(data);
}
} else {
this.list.splice(this.index, 1, data);
}
//
this.resetForm();
});
}
});
},
//
handleDel(index, row) {
if (row.id === this.userInfo.userId) {
this.$message.warning("主账号不能删除");
} else if (row.id) {
this.$confirm("确认删除该记录吗?", "提示", {
type: "warning",
})
.then(() => {
let para = { id: row.id };
this.deleteLoading = true;
authAdminDelete(para)
.then((response) => {
this.deleteLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("操作成功");
//
this.list.splice(index, 1);
})
.catch(() => {
this.deleteLoading = false;
});
})
.catch(() => {
this.$message.info("取消删除");
});
}
},
},
filters: {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success",
2: "danger",
};
return statusMap[status];
},
statusFilterName(status) {
const statusMap = {
0: "禁用",
1: "正常",
2: "未验证",
};
return statusMap[status];
},
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
console.log("----" + this.currentCustomer + "2---");
this.query.customerId = this.currentCustomer;
this.getList();
},
destroyed() {},
};
</script>
<style type="text/scss" lang="scss">
</style>

@ -0,0 +1,584 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" class="query-form" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="企业名称">
<el-input
v-model="filterQuery.companyName"
style="width: 90%"
placeholder="请输入企业名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="审核状态">
<el-select v-model="filterQuery.checkType" style="width: 90%" placeholder="请选择审核状态">
<el-option label="未审核" value="0"></el-option>
<el-option label="已审核" value="1"></el-option>
<el-option label="未通过" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="用户名称" prop="nickName" width="220"></el-table-column>
<el-table-column
label="企业名称"
prop="companyName"
width="230"
></el-table-column>
<el-table-column
label="联系人"
prop="realName"
width="160"
></el-table-column>
<el-table-column label="手机" prop="mobile" width="120"></el-table-column>
<el-table-column label="电话" prop="tel" width="120"></el-table-column>
<el-table-column label="邮箱" prop="email" width="180"></el-table-column>
<el-table-column label="企业类型" prop="bussinessStatus">
<template slot-scope="scope">
<span>{{ bussinessFlag[scope.row.bussinessStatus] }}</span>
</template>
</el-table-column>
<el-table-column label="所属地区" prop="area" width="200">
</el-table-column>
<el-table-column label="审核状态" prop="checkType" width="120">
<template slot-scope="scope">
<span>{{ checkFlag[scope.row.checkType] }}</span>
</template>
</el-table-column>
<el-table-column label="操作"width="60px">
<template slot-scope="scope">
<el-button
type="text"
size="small"
:disabled="scope.row.checkType == 1"
@click.native.stop="checkDialog(scope.row)"
>审核
</el-button
>
<!-- <el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<el-dialog
title="新用户审核"
:visible.sync="centerDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="60%"
center
>
<el-form :model="rowData" :rules="rowDataRules" ref="rowDataForm" style="margin: 0 20px;">
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>用户名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.nickName"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="div-text">
<span>企业名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-select
v-model="rowData.companyName"
filterable
remote
:disabled="rowData.companyName != null && rowData.companyName != ''"
clearable="true"
reserve-keyword
placeholder="请输入企业名称"
:remote-method="findMethod"
size="small"
style="width: 100%"
:loading="loading"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.name"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>联系人:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.realName"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="div-text">
<span>企业类型:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="bussinessFlag[rowData.bussinessStatus]"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>电话:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.tel"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="div-text">
<span>所属地区:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.area"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>手机:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.mobile"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="div-text">
<span>邮箱:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-input
size="small"
v-model="rowData.email"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>所属供应商:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item>
<el-select
style="width: 100%"
v-model="sValue"
:multiple="false"
filterable
remote
reserve-keyword
placeholder="请输入供应商名称"
:remote-method="remoteMethod"
:loading="sLoading"
@change="selectOne"
:disabled="registerConfigMap.companyCheckStatus"
>
<el-option
v-for="item in sOptions"
:key="id"
:label="item.name"
:value="item.id">
<span>{{item.name}}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="div-text">
<span>营业执照:&nbsp;</span>
</div>
</el-col>
<el-col :span="3">
<el-button
@click.native="openFile(rowData.licenseUrl)"
size="small" type="primary">查看文件
</el-button>
</el-col>
</el-row>
<!-- <el-divider></el-divider>-->
<el-row :gutter="20">
<el-col :span="3">
<div class="div-text">
<span>分配角色:&nbsp;</span>
</div>
</el-col>
<el-col :span="7">
<el-form :model="checkQuery">
<el-form-item label="" style="margin-top: 5px">
<el-radio-group v-model="check" @change="handleCheckedChange">
<el-radio v-for="item in roles" :key="item.roleId" :label="item.roleId">{{
item.roleName
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取消</el-button>
<el-button type="primary" @click="passRegister"></el-button>
<el-button type="primary" @click="noPassRegister"></el-button>
</span>
</el-dialog>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="handleCurrentChange"
></pagination>
</el-card>
</div>
</template>
<script>
import {getRegisters, checkPass, deleteRe} from "@/api/auth/register";
import {authCustomerRoles} from "@/api/auth/authAdmin";
import {getBasicUnitMaintains2} from "@/api/basic/basicUnitMaintain";
import {getRegisterConfig} from "@/api/warehouse/company";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"
export default {
data() {
return {
BASE_URL : process.env.VUE_APP_BASE_API,
filterQuery: {
companyName: "",
checkType: "",
page: 1,
limit: 20,
},
value: "",
total: 0,
checkFlag: {
0: "未审核",
1: "已通过",
2: "已拒绝",
},
bussinessFlag: {
1: "医院",
2: "经营企业"
},
checkQuery: {
id: "",
checkType: "",
roles: "",
companyName: ""
},
rowDataRules: {
nickName: [
{required: true, message: "请输入用户名称", trigger: "blur"},
],
},
list: [],
roles: [],
addDialogVisible: false,
centerDialogVisible: false,
check: "",
rowData: {},
sOptions: [],
sValue: [],
sList: [],
sLoading: false,
sSelectStatus: false,
registerConfigMap: {
companyCheckStatus: true
},
fileUrl: "",
fromOptions: [],
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
companyName: "",
checkType: "",
page: 1,
limit: 20,
};
this.getList();
},
onSubmit() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getRegisters(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
selectOne(event) {
this.checkQuery.companyName =this.sOptions.find(item => item.id == event).name
this.checkQuery.companyId = this.sOptions.find(item => item.id == event).erpId;
this.sSelectStatus = true;
},
remoteMethod(query) {
if (query !== '') {
this.sLoading = true;
let tQuery = {
key: query,
page: 1,
limit: 20,
};
getBasicUnitMaintains2(tQuery)
.then((response) => {
this.sLoading = false;
this.sOptions = response.data.list
})
.catch(() => {
this.sLoading = false;
this.sOptions = [];
});
} else {
this.sOptions = [];
}
},
cancelDialog() {
this.addDialogVisible = false;
},
handleCheckedChange(val) {
},
handleSizeChange(val) {
this.filterQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.filterQuery.page = val.page;
this.getList();
},
findMethod(query) {
this.fromOptions = [];
let cQuery = {
key: query,
};
getBasicUnitMaintains(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data.page.list || [];
})
.catch(() => {
this.loading = false;
});
},
checkRegister() {
this.loading = true;
checkPass(this.checkQuery)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.getList();
this.$message({
type: "success",
message: "更新成功!",
});
} else {
this.$message.warning("更新失败");
}
})
.catch(() => {
});
},
checkDialog(row) {
this.check = row.roles;
this.checkQuery = {
id: row.id + "",
checkType: 1,
roles: row.roles,
};
this.rowData = row;
if (this.registerConfigMap.companyCheckStatus) {
this.sValue = this.rowData.companyName;
}
this.centerDialogVisible = true;
},
passRegister() {
this.checkQuery.roles = this.check;
if (this.$isBlank(this.rowData.companyName)) {
return this.$message.warning("请输入企业名称");
}
this.checkRegister();
this.centerDialogVisible = false;
},
noPassRegister() {
this.checkQuery.roles = this.check;
this.checkQuery.checkType = 2;
this.checkRegister();
this.centerDialogVisible = false;
},
deleteDialog(row) {
this.$confirm("是否删除该记录?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let tQuery = {
id: row.id,
};
deleteRe(tQuery).then(() => {
this.getList();
});
})
.catch(() => {
});
},
getRoleList() {
authCustomerRoles()
.then((response) => {
this.roles = response.data.list || [];
})
.catch(() => {
this.checkQuery.roles = [];
});
},
registerConfig() {
getRegisterConfig().then((response) => {
if (response.code === 20000) {
this.registerConfigMap = response.data;
this.sSelectStatus = this.registerConfigMap.companyCheckStatus;
}
});
},
openFile(path) {
debugger
window.open(this.fileUrl + path);
},
},
mounted() {
},
created() {
this.fileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image1&name=";
this.getList();
this.getRoleList();
this.registerConfig();
},
};
</script>
<style>
.div-text {
float: right;
text-align: right;
margin-top: 10px;
}
</style>
Loading…
Cancel
Save