用户管理、客户管理接口联调

dev
yujialong 3 years ago
parent 7497294cb8
commit 8f9faed1cc
  1. 4
      src/store/index.js
  2. 27
      src/utils/api.js
  3. 11
      src/utils/http.js
  4. 4
      src/views/Home.vue
  5. 350
      src/views/customer/AddCustomer.vue
  6. 171
      src/views/customer/Dashboard.vue
  7. 5
      src/views/data/Product.vue
  8. 99
      src/views/setting/Person.vue
  9. 18
      src/views/user/AddUser.vue
  10. 71
      src/views/user/User.vue

@ -3,7 +3,6 @@ import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
customerId:'',
courseId:'',
userId: '',
roleId: '',
@ -21,9 +20,6 @@ const store = new Vuex.Store({
userData (state, payload) {
state.userId = payload.user_id
},
customerData (state, payload) {
state.customerId = payload.customer_id
},
courseData (state, payload) {
state.courseId = payload.course_id
},

@ -26,17 +26,20 @@ export default {
deletePlatform: `${host}/liuwanr/userInfo/deletePlatform`, //更新用户组织架构
updateUserRoleId: `${host}/liuwanr/userInfo/updateUserRoleId`, //更新用户角色id接口
deleteCustomer: `${host}/liuwanr/customer/deleteCustomer`, //删除客户
updateCustomer: `${host}/liuwanr/customer/updateCustomer`, //更新客户
addCustomer: `${host}/liuwanr/customer/addCustomer`, //添加客户
queryCustomer: `${host}/liuwanr/customer/queryCustomer`, //查询客户
queryCustomerIsExists: `${host}/liuwanr/customer/queryCustomerIsExists`, //查询客户是否存在
queryCustomerDetails: `${host}/liuwanr/customer/queryCustomerDetails`, //查询客户详情
queryCustomerIndustryClass: `${host}/liuwanr/customer/queryCustomerIndustryClass`, //查询行业类
queryCustomerIndustry: `${host}/liuwanr/customer/queryCustomerIndustry`, //查询行业
queryPhone: `${host}/liuwanr/user/queryPhone`, //查询电话
querySchoolData: `${host}/liuwanr/customer/querySchool`, //根据学校名称查询学校信息
queryPlatform: `${host}/liuwanr/userInfo/queryPlatform`, //查询系统列表
// 客户管理
deleteCustomer: `${host3}/nakadai/customer/delCustomer`,
updateCustomer: `${host3}/nakadai/customer/updateCustomer`,
addCustomer: `${host3}/nakadai/customer/addCustomer`,
queryCustomer: `${host3}/nakadai/customer/queryCustomer`,
queryCustomerDetails: `${host3}/nakadai/customer/queryCustomerDetails`,
resetPwdCustomer: `${host3}/nakadai/customer/resetPwd`,
queryCustomerIsExists: `${host3}/nakadai/customer/queryCustomerIsExists`,
updateEnabled: `${host3}/nakadai/customer/updateEnabled`,
queryCustomerIndustryClass: `${host}/liuwanr/customer/queryCustomerIndustryClass`,
queryCustomerIndustry: `${host}/liuwanr/customer/queryCustomerIndustry`,
queryPhone: `${host}/liuwanr/user/queryPhone`,
querySchoolData: `${host}/liuwanr/customer/querySchool`,
queryPlatform: `${host}/liuwanr/userInfo/queryPlatform`,
// 用户管理
delUserAccount: `${host3}/users/userAccount/delUserAccount`,
@ -51,7 +54,7 @@ export default {
checkCode: `${host3}/users/userAccount/checkCode`,
findPasswordByEmail: `${host3}/users/userAccount/findPasswordByEmail`,
findPasswordByPhone: `${host3}/users/userAccount/findPasswordByPhone`,
queryOrder: `${host}/liuwanr/order/queryOrder`, //查询订单
queryOrderDetails: `${host}/liuwanr/order/queryOrderDetails`, //查询订单详情
queryOrderCustomer: `${host}/liuwanr/order/queryOrderCustomer`, //查询订单客户

@ -133,10 +133,8 @@ export function get(url, params){
resolve(res.data);
break;
case 500:
this.$message.error(
res.data.errmessage
);
break;
reject(res.data)
break
case 300:
this.$message.error(
res.data.errmessage
@ -229,6 +227,11 @@ export function post(url, params) {
res.data.errmessage
);
break;
case 10001:
this.$message.error(
res.data.message
);
break;
}
}else{
resolve(res.data)

@ -5,9 +5,9 @@
<div class="content-box" >
<div class="content">
<transition name="move" mode="out-in">
<keep-alive>
<!-- <keep-alive> -->
<router-view></router-view>
</keep-alive>
<!-- </keep-alive> -->
</transition>
<el-backtop target=".content"></el-backtop>
</div>

@ -7,7 +7,7 @@
<div class="per_title" v-preventReClick @click="goback()">
<i class="el-icon-arrow-left"></i>
<span class="per_back">返回</span>
<span class="per_school" v-text="customerId != '' ? '编辑客户信息' : '新增客户信息'"></span>
<span class="per_school" v-text="customerId ? '编辑客户信息' : '新增客户信息'"></span>
</div>
<el-button type="primary" size="small" round class="mag" v-preventReClick @click="saveAdd('form')">确定</el-button>
</div>
@ -21,39 +21,36 @@
</div>
<div>
<el-form :model="form" :rules="rules" ref="form" label-width="120px" class="flex-start-around">
<el-form :model="form" :rules="rules" ref="form" label-width="120px" class="flex-start-around" :disabled="isDetail">
<el-col :span="6" style="margin-right: 60px;">
<el-form-item label="国家">
<el-form-item prop="countries" label="国家">
<el-select v-model="form.countries" clearable placeholder="请选择国家">
<el-option v-for="(item,index) in countryList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="schoolId" label="客户名称">
<el-select v-model="form.schoolId" filterable clearable placeholder="请选择学校"
@change="SchoolChange" @clear="clearSchool()">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
<el-form-item prop="provinceId" label="省份">
<el-select v-model="form.provinceId" placeholder="" disabled>
<el-option v-for="(item,index) in provinceList" :key="index" :label="item.provinceName" :value="item.provinceId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="省份">
<el-select v-model="form.provinces" placeholder="" disabled>
<el-option v-for="(item,index) in provinceList" :key="index" :label="item.provinceName" :value="item.provinceId"></el-option>
</el-select>
<el-form-item label="到期时间">
<el-date-picker type="date" disabled v-model="form.expireDate" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item prop="adminName" label="联系人姓名">
<el-input placeholder="请输入联系人姓名" v-model="form.adminName"></el-input>
<el-form-item prop="industryClassId" label="行业类型">
<el-select v-model="form.industryClassId" clearable placeholder="请选择行业类型" @change="changIndustry" @clear="clearIndustry()">
<el-option v-for="(item,index) in IndustryClassList" :key="index" :label="item.industryClassName" :value="item.industryClassId"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="adminName" label="账号">
<el-input placeholder="请输入账号" v-model="form.adminName"></el-input>
<el-form-item prop="name" label="联系人姓名">
<el-input placeholder="请输入联系人姓名" v-model="form.name"></el-input>
</el-form-item>
<el-form-item prop="IndustryClass" label="行业类">
<el-select v-model="form.IndustryClass" clearable placeholder="请选择行业类" @change="changIndustry" @clear="clearIndustry()">
<el-option v-for="(item,index) in IndustryClassList" :key="index" :label="item.industryClassName" :value="item.industryClassId"></el-option>
</el-select>
<el-form-item prop="account" label="账号">
<el-input placeholder="请输入账号" v-model="form.account"></el-input>
</el-form-item>
<el-form-item prop="email" label="邮箱">
@ -62,40 +59,36 @@
</el-col>
<el-col :span="6" style="margin-left: 60px;">
<el-form-item label="客户类型">
<el-select v-model="form.customerType" disabled placeholder="">
<el-form-item prop="customerType" label="客户类型">
<el-select v-model="form.customerType" placeholder="请选择客户类型">
<el-option v-for="(item,index) in customerTypeList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="学校类型">
<el-select v-model="form.level" placeholder="" disabled>
<el-option v-for="(item,index) in levelList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="城市">
<el-select v-model="form.city" placeholder="" disabled>
<el-form-item prop="cityId" label="城市">
<el-select v-model="form.cityId" placeholder="" disabled>
<el-option v-for="(item,index) in cityList" :key="index" :label="item.cityName" :value="item.cityId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号">
<el-input placeholder="请输入联系人手机号" v-model="form.adminPhone" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="职务">
<el-input placeholder="请输入职务名称" v-model="form.adminPhone" maxlength="11"></el-input>
<el-form-item prop="customerId" label="客户名称">
<el-select v-model="form.customerId" filterable clearable placeholder="请选择学校" @change="SchoolChange" @clear="clearSchool()">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="industry" label="行业">
<el-select v-model="form.industry" clearable placeholder="请选择行业" :disabled="form.IndustryClass ? false : true">
<el-form-item prop="industryId" label="行业">
<el-select v-model="form.industryId" clearable placeholder="请选择行业" :disabled="form.industryClassId ? false : true">
<el-option v-for="(item,index) in industryList" :key="index" :label="item.industryName" :value="item.industryId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="到期时间">
<el-date-picker type="date" disabled v-model="form.stopTime" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
<el-form-item label="手机号">
<el-input placeholder="请输入联系人手机号" v-model="form.phone" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="职务">
<el-input placeholder="请输入职务名称" v-model="form.position" maxlength="11"></el-input>
</el-form-item>
</el-col>
</el-form>
@ -114,18 +107,47 @@
</el-table-column>
<el-table-column prop="courseName" label="课程名称" align="center">
</el-table-column>
<el-table-column prop="usePeriod" label="使用期限(年)" align="center">
<el-table-column prop="usePeriod" label="使用期限" align="center">
</el-table-column>
<el-table-column prop="usePeriod" label="起止日期" align="center">
</el-table-column>
<el-table-column prop="usePeriod" label="剩余期限(天)" align="center">
<el-table-column prop="usePeriod" label="剩余期限" align="center">
</el-table-column>
<el-table-column prop="marketPrice" label="市场价(万)" align="center">
<el-table-column label="端口地址" align="center">
<template slot-scope="scope">
<el-button @click="configure(scope.row)">配置</el-button>
</template>
</el-table-column>
<el-table-column prop="transactionPrice" label="成交价(万)" align="center">
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isDeliverGoods"
:active-value="1"
:inactive-value="0"
active-text="启用"
inactive-text="禁用"
disabled>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="discount" label="折扣率(%)" align="center">
</el-table>
</div>
</el-card>
<el-card shadow="hover" class="mgb20" v-show="customerId">
<div class="flex-center mgb20 user_header">
<p class="addhr_tag"></p>
<span>数据平台权限</span>
</div>
<div>
<el-table :data="coursePermissionss" class="orderTable" stripe header-align="center">
<el-table-column type="index" width="100" label="序号" align="center">
</el-table-column>
<el-table-column prop="courseName" label="产品名称" align="center"></el-table-column>
<el-table-column prop="usePeriod" label="使用期限" align="center"></el-table-column>
<el-table-column prop="usePeriod" label="起止日期" align="center"></el-table-column>
<el-table-column prop="usePeriod" label="剩余期限" align="center"></el-table-column>
<el-table-column prop="usePeriod" label="账号数" align="center"></el-table-column>
<el-table-column label="端口地址" align="center">
<template slot-scope="scope">
<el-button @click="configure(scope.row)">配置</el-button>
@ -156,19 +178,21 @@
<el-table :data="contractInformations" class="table" stripe header-align="center">
<el-table-column type="index" width="100" label="序号" align="center">
</el-table-column>
<el-table-column prop="contractInformationNumber" label="合同编号" align="center">
</el-table-column>
<el-table-column prop="contractInformationName" label="合同名称" align="center">
</el-table-column>
<el-table-column prop="contractInformationNumber" label="合同编号" align="center">
<el-table-column prop="contractInformationName" label="合同期限" align="center">
</el-table-column>
<el-table-column prop="contractInformationSum" label="合同金额" align="center">
<el-table-column prop="contractInformationLink" label="产品内容" align="center">
</el-table-column>
<el-table-column prop="contractInformationLink" label="合同文件" align="center">
<el-table-column prop="contractInformationSum" label="合同金额" align="center">
</el-table-column>
<!-- <el-table-column prop="payamount" label="操作" align="center">
<el-table-column label="操作" align="center">
<template>
<el-button type="text">配置</el-button>
<el-button type="text">查看</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
</div>
</el-card>
@ -230,38 +254,55 @@
<script>
export default {
name: 'baseform',
data() {
return {
customerId : this.$route.query.id,
isDetail : Boolean(this.$route.query.show),
customerData: [],
form: {
schoolId: '',
customerId: '',
customerName: '',
countries: '中国',
IndustryClass: '',
industry: '',
provinces: '',
adminName: '',
adminPhone: '',
city: '',
industryClassId: '',
industryId: '',
provinceId: '',
account: '',
name: '',
phone: '',
position: '',
cityId: '',
customerType: '',
stopTime: '',
expireDate: '',
email: '',
level: ''
},
rules: {
adminName: [
{ required: true, message: '请输入管理员姓名', trigger: 'blur' }
countries: [
{ required: true, message: '请输入国家', trigger: 'blur' }
],
provinceId: [
{ required: true, message: '请输入省份', trigger: 'blur' }
],
adminPhone: [
{ required: true, message: '请输入管理员手机号', trigger: 'blur' },
cityId: [
{ required: true, message: '请输入城市', trigger: 'blur' }
],
customerType: [
{ required: true, message: '请选择客户类型', trigger: 'change' }
],
name: [
{ required: true, message: '请输入联系人姓名', trigger: 'blur' }
],
account: [
{ required: true, message: '请输入账号', trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号',
trigger: 'blur'
}
],
schoolId: [
customerId: [
{ required: true, message: '请选择客户名称', trigger: 'change' }
],
email: [
@ -272,11 +313,11 @@ export default {
trigger: 'blur'
}
],
industry: [
industryId: [
{ required: true, message: '请选择行业', trigger: 'change' }
],
IndustryClass: [
{ required: true, message: '请选择行业类', trigger: 'change' }
industryClassId: [
{ required: true, message: '请选择行业类', trigger: 'change' }
],
},
customerTypeList: [{
@ -296,30 +337,9 @@ export default {
}],
provinceList: this.$store.state.provinceList,
cityList: [],
levelList: [{
name: '本科',
value: 1
},
{
name: '大专',
value: 2
},
{
name: '高职',
value: 3
},
{
name: '中专',
value: 4
},
{
name: '其他',
value: 5
}],
IndustryClassList: [],
industryList: [],
schoolList: [],
customerId : this.$store.state.customerId,
contractInformations: [],
coursePermissionss: [],
ipVisible: false,
@ -351,31 +371,31 @@ export default {
mounted() {
this.getIndustryClass()
if(this.customerId){
let data = {
this.$get(this.api.queryCustomerDetails,{
customerId: this.customerId
}
this.$get(this.api.queryCustomerDetails,data).then((res) => {
this.form = {
schoolId: res.message[0].customers[0].schoolId,
countries: res.message[0].customers[0].countries,
IndustryClass: res.message[0].customers[0].industryClassId,
industry: res.message[0].customers[0].industryId,
provinces: res.message[0].customers[0].provinceId,
adminName: res.message[0].customers[0].adminName,
adminPhone: res.message[0].customers[0].adminPhone,
city: res.message[0].customers[0].cityId,
level: res.message[0].customers[0].level,
customerType: res.message[0].customers[0].customerType,
stopTime: res.message[0].customers[0].stopTime,
email: res.message[0].customers[0].email,
}
this.contractInformations = res.message[0].contractInformations
this.coursePermissionss = res.message[0].coursePermissionss
this.getCityData()
this.changIndustryData()
this.getSchoolData()
}).catch((res) => {
})
}).then((res) => {
let customer = res.result.customer
this.form = {
customerId: Number(this.customerId),
countries: customer.countries,
industryClassId: customer.industryClassId,
industryId: customer.industryId,
provinceId: customer.provinceId,
account: customer.account,
phone: customer.phone,
cityId: customer.cityId,
customerType: customer.customerType,
expireDate: customer.expireDate,
email: customer.email,
name: customer.name,
position: customer.position,
}
this.contractInformations = res.result.contractInformations
this.coursePermissionss = res.result.coursePermissionss
this.getCityData()
this.changIndustryData()
this.getSchoolData()
}).catch((res) => {})
}else{
this.getSchoolData()
}
@ -384,7 +404,7 @@ export default {
//
getCityData(){
let data = {
provinceId: this.form.provinces
provinceId: this.form.provinceId
}
this.$get(this.api.queryCity,data).then(res => {
this.cityList = res.message
@ -392,9 +412,8 @@ export default {
},
//
clearSchool(){
this.form.provinces = '',
this.form.city = '',
this.form.level = '',
this.form.provinceId = '',
this.form.cityId = '',
this.form.customerName = ''
},
// /
@ -412,28 +431,23 @@ export default {
SchoolChange(val){
this.clearSchool()
if(val){
let obj = {};
let obj = {}
obj = this.schoolList.find((item)=>{
return item.schoolId === val;
return item.schoolId === val
});
this.form.customerName = obj.schoolName
this.form.level = obj.level
this.form.provinces = obj.provinceId
this.form.provinceId = obj.provinceId
this.getCityData()
this.form.city = obj.cityId
this.form.cityId = obj.cityId
let data = {
schoolId: this.form.schoolId
}
this.$get(this.api.queryCustomerIsExists,data).then(res => {
if(res.message.length != 0){
this.$message.warning('该客户已存在');
this.NoAdd = false
}else{
this.NoAdd = true
}
this.$get(this.api.queryCustomerIsExists,{
schoolId: this.form.customerId
}).then(res => {
this.NoAdd = true
}).catch(res => {
});
this.$message.warning('该客户已存在')
this.NoAdd = false
})
}
},
//
@ -444,7 +458,7 @@ export default {
},
//
clearIndustry(){
this.form.industry = ''
this.form.industryId = ''
},
//
changIndustry(){
@ -453,7 +467,7 @@ export default {
},
changIndustryData(){
let data = {
industryClassId: this.form.IndustryClass
industryClassId: this.form.industryClassId
}
this.$get(this.api.queryCustomerIndustry,data).then(res => {
this.industryList = res.message
@ -465,44 +479,42 @@ export default {
if(this.NoAdd){
let obj = {};
obj = this.schoolList.find((item)=>{
return item.schoolId === this.form.schoolId;
return item.schoolId == this.form.customerId;
});
this.form.customerName = obj.schoolName
this.form.level = obj.level
this.form.provinces = obj.provinceId
this.form.provinceId = obj.provinceId
this.getCityData()
this.form.city = obj.cityId
this.form.cityId = obj.cityId
let data = {
customerName: this.form.customerName,
schoolId: this.form.schoolId,
customerId: this.form.customerId,
schoolId: this.form.customerId,
countries: this.form.countries,
industryClassId: this.form.IndustryClass,
industryId: this.form.industry,
provinceId: this.form.provinces,
adminName: this.form.adminName,
adminPhone: this.form.adminPhone,
cityId: this.form.city,
level: this.form.level,
industryClassId: this.form.industryClassId,
industryId: this.form.industryId,
provinceId: this.form.provinceId,
account: this.form.account,
phone: this.form.phone,
cityId: this.form.cityId,
customerType: this.form.customerType,
stopTime: this.form.stopTime,
expireDate: this.form.expireDate,
email: this.form.email,
customerId: this.customerId
name: this.form.name,
position: this.form.position
}
if(this.customerId){
this.$post(this.api.updateCustomer,data).then((res) => {
this.$message.success('编辑成功');
this.goback()
}).catch((res) => {
})
this.$message.success('编辑成功')
this.goback()
}).catch((res) => {})
}else{
this.$post(this.api.addCustomer,data).then((res) => {
this.$message.success('添加成功');
this.goback()
}).catch((res) => {
})
this.$message.success('添加成功')
this.goback()
}).catch((res) => {})
}
}else{
this.$message.warning('该客户已存在');
this.$message.warning('该客户已存在')
}
}
})
@ -520,15 +532,15 @@ export default {
};
</script>
<style scoped>
.addhr_tag{
background-color: #666;
width: 6px;
height: 17px;
margin-right: 5px;
}
.radio_icon{
font-size: 26px;
color: #9278FF;
}
<style lang="scss" scoped>
.addhr_tag{
background-color: #666;
width: 6px;
height: 17px;
margin-right: 5px;
}
.radio_icon{
font-size: 26px;
color: #9278FF;
}
</style>

@ -12,28 +12,28 @@
<el-form label-width="80px">
<el-col :span="6">
<el-form-item label="国家">
<el-select v-model="form.countries" clearable placeholder="请选择国家">
<el-select v-model="form.countries" placeholder="请选择国家">
<el-option v-for="(item,index) in countryList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="省份">
<el-select v-model="form.provinces" clearable placeholder="请选择省份" @change="getCity()" @clear="clearprovince()">
<el-select v-model="form.provinces" clearable placeholder="请选择省份" @change="getCity" @clear="clearprovince">
<el-option v-for="(item,index) in provinceList" :key="index" :label="item.provinceName" :value="item.provinceId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="城市">
<el-select v-model="form.city" clearable placeholder="请选择城市" :disabled="form.provinces ? false : true" @change="getData()">
<el-select v-model="form.city" clearable placeholder="请选择城市" :disabled="form.provinces ? false : true" @change="initData">
<el-option v-for="(item,index) in cityList" :key="index" :label="item.cityName" :value="item.cityId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input placeholder="请输入客户名称/管理员姓名/电话" prefix-icon="el-icon-search" v-model="form.keyword" clearable @keyup.enter.native="onSearch"></el-input>
<el-input placeholder="请输入客户名称/管理员姓名/电话" prefix-icon="el-icon-search" v-model="form.keyword" clearable></el-input>
</el-form-item>
</el-col>
</el-form>
@ -50,39 +50,38 @@
<span>客户列表</span>
</div>
<div>
<el-button type="primary" size="small" round class="mag" @click="addcustomer">新增客户</el-button>
<el-button type="primary" size="small" round @click="addcustomer">新增客户</el-button>
<el-button type="primary" size="small" round @click="delAllSelection">批量删除</el-button>
</div>
</div>
<el-table :data="customerData" class="table" stripe header-align="center" @selection-change="handleSelectionChange" :row-key="getRowKeys">
<el-table :data="listData" class="table" stripe header-align="center" @selection-change="handleSelectionChange" row-key="customerId">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column type="index" width="100" label="序号" align="center">
<template slot-scope="scope">
{{scope.$index + (pageNo - 1) * pageSize + 1}}
{{scope.$index + (page - 1) * pageSize + 1}}
</template>
</el-table-column>
<el-table-column prop="schoolName" label="客户名称" align="center">
</el-table-column>
<el-table-column prop="countries" label="国家" align="center">
<el-table-column prop="customerName" label="客户名称" align="center">
</el-table-column>
<el-table-column label="行业" align="center">
<template slot-scope="scope">
<span class="ellipsis">{{scope.row.industryName}}</span>
</template>
</el-table-column>
<el-table-column prop="countries" label="国家" align="center">
</el-table-column>
<el-table-column prop="provinceName" label="省份" align="center">
</el-table-column>
<el-table-column prop="cityName" label="城市" align="center">
</el-table-column>
<el-table-column prop="provinceName" label="联系人" align="center">
</el-table-column>
<el-table-column prop="adminName" label="账号" align="center">
<el-table-column prop="name" label="联系人" align="center">
</el-table-column>
<el-table-column prop="account" label="账号" align="center">
</el-table-column>
<el-table-column label="操作" width="270" align="center">
<template slot-scope="scope">
<el-button type="text">重置密码</el-button>
<el-button type="text">查看</el-button>
<el-button type="text" @click="resetPassword(scope.row)">重置密码</el-button>
<el-button type="text" @click="show(scope.row)">查看</el-button>
<el-button type="text" @click="edit(scope.row)">编辑</el-button>
<el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
<el-button type="text" @click="permission">应用权限</el-button>
@ -90,7 +89,7 @@
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :total="totals" @current-change="handleCurrentChange" :current-page="pageNo">
<el-pagination background layout="total, prev, pager, next" :total="total" @current-change="handleCurrentChange" :current-page="page">
</el-pagination>
</div>
</el-card>
@ -104,11 +103,11 @@ export default {
name: 'dashboard',
data() {
return {
name: localStorage.getItem('ms_username'),
searchTimer: null,
countryList: [{
name:'中国'
}],
customerData: [],
listData: [],
form: {
countries:'中国',
provinces: '',
@ -118,19 +117,19 @@ export default {
multipleSelection: [],
provinceList: [],
cityList: [],
pageNo: 1,
page: 1,
pageSize: 10,
totals: 1,
total: 1,
ruleIds: []
};
},
components: {
},
computed: {
role() {
return this.name === 'admin' ? '超级管理员' : '普通用户';
}
watch: {
'form.keyword': function(val) {
clearTimeout(this.searchTimer)
this.searchTimer = setTimeout(() => {
this.initData()
},500)
},
},
mounted() {
this.getData()
@ -143,29 +142,32 @@ export default {
provinceId: this.form.provinces,
cityId: this.form.city,
searchContent: this.form.keyword,
pageNo: this.pageNo,
pageSize: this.pageSize
page: this.page,
size: this.pageSize
}
this.$get(this.api.queryCustomer,data).then(res => {
this.customerData = res.message.rows
this.totals = res.message.total
this.$post(this.api.queryCustomer,data).then(res => {
this.listData = res.message.list
this.total = res.message.totalCount
}).catch(res => {});
},
initData(){
this.page = 1
this.getData()
},
getProvince(){
this.$get(this.api.queryProvince).then(res => {
this.provinceList = res.message
this.$store.commit("provinceData", { provinceList : this.provinceList});
}).catch(res => {});
},
//
clearprovince(){
this.form.city = ''
},
getCity(){
this.clearprovince()
this.getCityData()
this.pageNo = 1
this.getData()
this.page = 1
this.initData()
},
getCityData(){
let data = {
@ -173,97 +175,76 @@ export default {
}
this.$get(this.api.queryCity,data).then(res => {
this.cityList = res.message
}).catch(res => {});
}).catch(res => {})
},
permission(){
this.$router.push('/permission')
},
addcustomer(){
this.$store.commit("customerData", { customer_id : ''});
this.$router.push('/addcustomer');
this.$router.push('addcustomer')
},
edit(row){
this.$store.commit("customerData", { customer_id : row.customerId });
this.$router.push('/addcustomer');
this.$router.push(`addcustomer?id=${row.customerId}`)
},
show(row){
this.$router.push(`addcustomer?id=${row.customerId}&show=true`)
},
handleDelete(row) {
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
})
.then(() => {
let str = '';
str += row.customerId+',';
var deleteList = str.split(',').map(Number);
deleteList.pop()
var arr = [];
var signAgainReq = new Object();
signAgainReq.customerId = deleteList[0];
arr.push(signAgainReq);
let data = {
customer: arr
}
this.$post(this.api.deleteCustomer,data).then(res => {
this.$message.success('删除成功');
}).then(() => {
this.$post(this.api.deleteCustomer,row.customerId).then(res => {
this.$message.success('删除成功')
this.getData()
}).catch(res => {});
})
.catch(() => {});
},
getRowKeys(row) {
return row.customerId;
}).catch(res => {})
}).catch(() => {})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
delAllSelection() {
if(this.multipleSelection.length != ''){
const length = this.multipleSelection.length;
let str = '';
for (let i = 0; i < length; i++) {
str += this.multipleSelection[i].customerId+',';
}
var deleteList = str.split(',').map(Number);
deleteList.pop()
var arr = [];
for(var i = 0,len = deleteList.length; i < len; i++){
var signAgainReq = new Object();
signAgainReq.customerId = deleteList[i];
arr.push(signAgainReq);
}
//
let arr = this.multipleSelection
let delList = arr.map(item => {
return item.customerId
})
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
})
.then(() => {
let data = {
customer: arr
}
}).then(() => {
this.$post(this.api.deleteCustomer,data).then(res => {
this.multipleSelection = [];
this.$message.success('删除成功');
this.$message.success('删除成功')
this.getData()
}).catch(res => {});
}).catch(() => {});
}).catch(res => {})
}).catch(() => {})
}else{
this.$message.error('请先选择客户 !');
this.$message.error('请先选择数据')
}
},
onSearch(){
this.pageNo = 1
handleCurrentChange(val) {
this.page = val
this.getData()
},
handleCurrentChange(val) {
this.pageNo = val;
this.getData();
resetPassword(row){
this.$confirm(`重置后的密码为:${this.$config.initialPassword},确定重置?`, '提示', {
}).then(() => {
this.$get(this.api.resetPwdCustomer,{
customerId: row.customerId,
}).then(res => {
if(res.message == 'success'){
this.$message.success('重置成功')
}else{
this.$message.error('重置失败')
}
}).catch(res => {});
}).catch(() => {
});
},
}
};
</script>
<style scoped>
.mag{
margin-right: 20px;
}
<style lang="scss" scoped>
</style>

@ -10,7 +10,7 @@
</div>
<div>
<el-form label-width="80px" class="flex-between">
<div class="flex-center">
<div class="flex-center no-mb">
<el-form-item label="创建日期">
<el-date-picker v-model="date" align="right" unlink-panels type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable></el-date-picker>
</el-form-item>
@ -531,6 +531,9 @@ export default {
</script>
<style lang="scss" scoped>
/deep/ .no-mb .el-form-item{
margin-bottom: 0;
}
/deep/.el-container{
.el-aside{
padding: 15px;

@ -552,59 +552,56 @@ export default {
this.$store.commit('userPhoto',{avatar:res.message})
},
getdata() {
this.$get(`${this.api.userinfo}/${this.userId}`)
.then(res => {
this.personalInformation = res.data.userInfo[0]
this.personalInformation.idNumber = this.personalInformation.IDNumber
this.originAccount = this.personalInformation.account
this.archivesList = res.data.userPersonalFile
this.$nextTick(() => {
if(this.personalInformation.provinceId){
this.getCityData(1)
}
if(this.archivesList.length != 0){
this.archivesList.forEach((e,k) =>{
this.$set(e, 'subjectList', this.subjectList);
this.$set(e, 'disciplineId', e.disciplineId ? e.disciplineId : '');
this.$set(e, 'disciplineName', e.disciplineName ? e.disciplineName : '');
this.$set(e, 'professionalClassId', e.professionalClassId ? e.professionalClassId : '');
this.$set(e, 'professionalClassName', e.professionalClassName ? e.professionalClassName : '');
this.$set(e, 'professionalId', e.professionalId ? e.professionalId : '');
this.$set(e, 'professionalName', e.professionalName ? e.professionalName : '');
this.$set(e, 'schoolId', e.schoolId ? e.schoolId : '');
this.$set(e, 'schoolName', e.schoolName ? e.schoolName : '');
this.$get(this.api.queryUserInfoDetails,{ userId: this.userId }).then(res => {
this.personalInformation = res.data.userInfo[0]
this.personalInformation.idNumber = this.personalInformation.IDNumber
this.originAccount = this.personalInformation.account
this.archivesList = res.data.userPersonalFile
this.$nextTick(() => {
if(this.personalInformation.provinceId){
this.getCityData(1)
}
if(this.archivesList.length != 0){
this.archivesList.forEach((e,k) =>{
this.$set(e, 'subjectList', this.subjectList);
this.$set(e, 'disciplineId', e.disciplineId ? e.disciplineId : '');
this.$set(e, 'disciplineName', e.disciplineName ? e.disciplineName : '');
this.$set(e, 'professionalClassId', e.professionalClassId ? e.professionalClassId : '');
this.$set(e, 'professionalClassName', e.professionalClassName ? e.professionalClassName : '');
this.$set(e, 'professionalId', e.professionalId ? e.professionalId : '');
this.$set(e, 'professionalName', e.professionalName ? e.professionalName : '');
this.$set(e, 'schoolId', e.schoolId ? e.schoolId : '');
this.$set(e, 'schoolName', e.schoolName ? e.schoolName : '');
if(e.disciplineId){
this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: e.disciplineId }).then(res => {
this.$set(e, 'ProfessionalClassList', res.message);
}).catch(res => {});
}else{
this.$set(e, 'ProfessionalClassList', []);
}
if(e.professionalClassId){
this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => {
this.$set(e, 'ProfessionalList', res.message);
}).catch(res => {});
}else{
this.$set(e, 'ProfessionalList', []);
}
// if(e.provinceId){
// this.$get(this.api.queryCity,{provinceId: e.provinceId}).then(res => {
// this.$set(e, 'cityList', res.message);
// }).catch(res => {});
// }else{
// this.$set(e, 'cityList', []);
// }
console.log(11,window.scrollTo)
})
}else{
this.concatArch(1)
}
})
if(e.disciplineId){
this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: e.disciplineId }).then(res => {
this.$set(e, 'ProfessionalClassList', res.message);
}).catch(res => {});
}else{
this.$set(e, 'ProfessionalClassList', []);
}
if(e.professionalClassId){
this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => {
this.$set(e, 'ProfessionalList', res.message);
}).catch(res => {});
}else{
this.$set(e, 'ProfessionalList', []);
}
// if(e.provinceId){
// this.$get(this.api.queryCity,{provinceId: e.provinceId}).then(res => {
// this.$set(e, 'cityList', res.message);
// }).catch(res => {});
// }else{
// this.$set(e, 'cityList', []);
// }
console.log(11,window.scrollTo)
})
}else{
this.concatArch(1)
}
})
.catch(err => {
console.log(err);
});
})
.catch(err => {})
},
concatArch(isLoadData) {
this.archivesList = this.archivesList.concat({

@ -673,23 +673,7 @@ export default {
}).catch(res => {});
},
goback(){
if(this.clickFlag){
let msg = ''
if(this.userId){
msg = '请确定信息是否进行更新完毕,再返回用户首页。'
}else{
msg = '确定返回?未更新的信息将不会保存。'
}
this.$confirm(msg, '提示', {
type: 'warning'
})
.then(() => {
this.clickFlag = false
this.$router.go(-1)
})
.catch(() => {});
}
this.$router.back()
},
//
getSubject(){

@ -83,11 +83,10 @@
<span>用户列表</span>
</div>
<div>
<!-- <el-button type="primary" size="small" round @click="adduser">新增用户</el-button> -->
<el-button type="primary" size="small" round @click="delAllSelection">批量删除</el-button>
</div>
</div>
<el-table :data="userData" class="table" stripe header-align="center" @selection-change="handleSelectionChange" :row-key="getRowKeys">
<el-table :data="userData" class="table" stripe header-align="center" @selection-change="handleSelectionChange" row-key="userId">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column type="index" width="100" label="序号" align="center">
</el-table-column>
@ -266,7 +265,7 @@ export default {
}
this.$get(this.api.queryCity,data).then(res => {
this.cityList = res.message
}).catch(res => {});
}).catch(res => {})
},
//
clearcity(){
@ -286,26 +285,26 @@ export default {
}
this.$get(this.api.querySchool,data).then(res => {
this.schoolList = res.message
}).catch(res => {});
}).catch(res => {})
},
currentChange(val) {
this.page = val;
this.getData();
this.page = val
this.getData()
},
permission(){
this.$router.push('/permission')
},
adduser(){
this.$store.commit("userData", { user_id : ''});
this.$router.push('/adduser');
this.$store.commit("userData", { user_id : ''})
this.$router.push('/adduser')
},
edit(row){
this.$store.commit("userData", { user_id : row.userId});
this.$router.push('/adduser');
this.$store.commit("userData", { user_id : row.userId})
this.$router.push('/adduser')
},
show(row){
this.$store.commit("userData", { user_id : row.userId});
this.$router.push('/adduser');
this.$store.commit("userData", { user_id : row.userId})
this.$router.push('/adduser')
},
handleDelete(row) {
this.$confirm('确定要删除吗?', '提示', {
@ -323,19 +322,18 @@ export default {
resetPassword(row){
this.$confirm(`重置后的密码为:${this.$config.initialPassword},确定重置?`, '提示', {
}).then(() => {
let data = {
newPwd: this.$config.initialPassword,
userId: row.userId,
let data = {
newPwd: this.$config.initialPassword,
userId: row.userId,
}
this.$get(this.api.resetPwd,data).then(res => {
if(res.message == 'success'){
this.$message.success('重置成功')
}else{
this.$message.error('重置失败')
}
this.$get(this.api.resetPwd,data).then(res => {
if(res.message == 'success'){
this.$message.success('重置成功')
}else{
this.$message.error('重置失败')
}
}).catch(res => {});
}).catch(() => {
});
}).catch(res => {})
}).catch(() => {})
},
switchOff(val,row,index) {
let data = {
@ -347,38 +345,33 @@ export default {
}).catch((res) => {
})
},
getRowKeys(row) {
return row.userId;
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
delAllSelection() {
if(this.multipleSelection.length != ''){
let newArr = this.multipleSelection
let delList = newArr.map(e => e.userId)
//
this.$confirm('确定要删除选中用户吗?', '提示', {
type: 'warning'
})
.then(() => {
}).then(() => {
this.$post(this.api.deleteUser,delList).then(res => {
this.multipleSelection = [];
this.$message.success('删除成功');
this.$message.success('删除成功')
this.getData()
}).catch(res => {});
}).catch(() => {});
}).catch(res => {})
}).catch(() => {})
}else{
this.$message.error('请先选择客户 !');
this.$message.error('请先选择客户 !')
}
},
}
};
</script>
<style scoped>
.mag{
margin-right: 20px;
}
<style lang="scss" scoped>
.el-form-item{
margin-bottom: 0;
}
</style>

Loading…
Cancel
Save