Commit d01ed87a authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm

# Conflicts:
#	src/App.vue
parents d1262dc5 13ea9508
...@@ -30,7 +30,7 @@ export default { ...@@ -30,7 +30,7 @@ export default {
@import './assets/css/tablevoerride.css'; @import './assets/css/tablevoerride.css';
@import './assets/global/font.css'; @import './assets/global/font.css';
@import '//at.alicdn.com/t/font_1627123_6dhpsx1gwus.css'; @import '//at.alicdn.com/t/font_1627123_98ft13ltmlv.css';
@import url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css'); @import url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css');
/* @import './assets/css/common.css'; */ /* @import './assets/css/common.css'; */
@import './assets/css/init.css'; @import './assets/css/init.css';
......
...@@ -322,8 +322,21 @@ export default { ...@@ -322,8 +322,21 @@ export default {
}, },
deep:true deep:true
} }
,
isGuest: {
handler(val, oldVal){
if (val) {
this.form.CustomerType = 1
this.getGuestList()
} else {
this.getCustomerList()
}
},
deep:true
}
}, },
mounted() { mounted() {
console.log(this.isGuest)
if (this.isGuest) { if (this.isGuest) {
this.form.CustomerType = 1 this.form.CustomerType = 1
this.getGuestList() this.getGuestList()
......
...@@ -14,13 +14,19 @@ ...@@ -14,13 +14,19 @@
</el-input> </el-input>
</div> </div>
<div class="rightmenu"> <div class="rightmenu">
<el-button icon="el-icon-plus" class="crm-btn org-btn" @click="BusinessId = 0, dialogBusinessVisibleName = '新建商机', dialogBusinessVisible=true">新建商机</el-button> <el-dropdown @command="handleCommand">
<el-button icon="el-icon-plus" class="crm-btn org-btn">新建商机</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1"><i class="iconfont iconkehu"></i> 客户商机</el-dropdown-item>
<el-dropdown-item command="2"><i class="iconfont icontongxunlu"></i> 直客商机</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown @command="handleCommand"> <el-dropdown @command="handleCommand">
<el-button class="crm-btn crm-btn-more easy-btn margin-right0"> <el-button class="crm-btn crm-btn-more easy-btn margin-right0">
<i class="iconfont icongengduo"></i> <i class="iconfont icongengduo"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1"><i class="iconfont icondaochu"></i> 导入</el-dropdown-item> <el-dropdown-item command="d"><i class="iconfont icondaochu"></i> 导入</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
...@@ -61,6 +67,13 @@ ...@@ -61,6 +67,13 @@
</el-popover> </el-popover>
</el-col> </el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">客户类型</span>
<el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList">
<el-option key="0" label="客户" :value="0"></el-option>
<el-option key="1" label="直客" :value="1"></el-option>
</el-select>
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 3)">高级筛选</el-button> <el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 3)">高级筛选</el-button>
</el-col> </el-col>
...@@ -246,7 +259,7 @@ ...@@ -246,7 +259,7 @@
</div> </div>
<!-- 添加商机弹窗 --> <!-- 添加商机弹窗 -->
<div v-if="dialogBusinessVisible"> <div v-if="dialogBusinessVisible">
<addBusinessBox @getList="getList" :name="dialogBusinessVisibleName" :ID="BusinessId"/> <addBusinessBox @getList="getList" :name="dialogBusinessVisibleName" :ID="BusinessId" :isGuest="isGuest"/>
</div> </div>
<!-- 添加团队成员弹窗 --> <!-- 添加团队成员弹窗 -->
<div v-if="addBusinessShow"> <div v-if="addBusinessShow">
...@@ -383,6 +396,7 @@ export default { ...@@ -383,6 +396,7 @@ export default {
show: true, show: true,
} }
], ],
isGuest: false,
BusinessId: 0, BusinessId: 0,
BusinessIdCustomerId: 0, BusinessIdCustomerId: 0,
dialogTableVisibleName: '新建客户', dialogTableVisibleName: '新建客户',
...@@ -415,7 +429,8 @@ export default { ...@@ -415,7 +429,8 @@ export default {
ContactNumber: '', ContactNumber: '',
WhereType: -1, WhereType: -1,
OrderBy: '', OrderBy: '',
ID: 24 ID: 24,
CustomerType: 0
}, },
total: 0, total: 0,
WhereTypeList: [ WhereTypeList: [
...@@ -492,7 +507,14 @@ export default { ...@@ -492,7 +507,14 @@ export default {
}, },
methods: { methods: {
handleCommand(command){ handleCommand(command){
if(command ==='d') {
this.$message.warning('功能正在开发中~'); this.$message.warning('功能正在开发中~');
}else {
this.isGuest = command === '1' ? false : true
this.BusinessId = 0
this.dialogBusinessVisibleName = '新建商机'
this.dialogBusinessVisible=true
}
}, },
changeWhere(item){ changeWhere(item){
this.msg.ID = item.ID this.msg.ID = item.ID
......
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
:height="sceneList.length > 0 ? '600' : '660'" :height="sceneList.length > 0 ? '600' : '660'"
border border
row-class-name="font-size-12" row-class-name="font-size-12"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40"></el-table-column> <el-table-column fixed type="selection" width="40"></el-table-column>
......
...@@ -414,6 +414,18 @@ export default { ...@@ -414,6 +414,18 @@ export default {
} }
}, },
data() { data() {
let checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
}
return { return {
dialogTableVisible: false, dialogTableVisible: false,
SourceEnum: [], SourceEnum: [],
...@@ -466,7 +478,7 @@ export default { ...@@ -466,7 +478,7 @@ export default {
{ required: true, message: '请输入联系人', trigger: 'blur' } { required: true, message: '请输入联系人', trigger: 'blur' }
], ],
ContactNumber: [ ContactNumber: [
{ required: true, message: '请输入联系电话', trigger: 'blur' } {validator: checkPhone, trigger: 'blur'}
], ],
Premises: [ Premises: [
{ required: true, message: '请选择经营场所', trigger: 'change'} { required: true, message: '请选择经营场所', trigger: 'change'}
......
...@@ -455,6 +455,18 @@ export default { ...@@ -455,6 +455,18 @@ export default {
} }
}, },
data() { data() {
let checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
}
return { return {
dialogTableVisible: false, dialogTableVisible: false,
SourceEnum: [], SourceEnum: [],
...@@ -597,12 +609,7 @@ export default { ...@@ -597,12 +609,7 @@ export default {
message: "请填写签发地", message: "请填写签发地",
trigger: "blur" trigger: "blur"
}], }],
MobilePhone: [{ MobilePhone: [{validator: checkPhone, trigger: 'blur'}],
required: true,
message: "请填写手机号码",
trigger: "blur"
}
],
Nationality: [{ Nationality: [{
required: true, required: true,
message: "请选择国籍", message: "请选择国籍",
......
...@@ -142,6 +142,18 @@ ...@@ -142,6 +142,18 @@
export default { export default {
props: ['ID', 'name'], props: ['ID', 'name'],
data() { data() {
let checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
}
return { return {
dialogTableVisible: true, dialogTableVisible: true,
rules: { rules: {
...@@ -161,7 +173,7 @@ export default { ...@@ -161,7 +173,7 @@ export default {
{ required: true, message: '请输入联系人姓名', trigger: 'blur' } { required: true, message: '请输入联系人姓名', trigger: 'blur' }
], ],
ContactPhone: [ ContactPhone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' } {required: true, validator: checkPhone, trigger: 'blur'}
], ],
}, },
zwList: [], zwList: [],
......
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
show-overflow-tooltip> show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="UpdateTimestr" prop="UpdateTimeStr"
label="更新时间" label="更新时间"
v-if="queryType[6].show" v-if="queryType[6].show"
show-overflow-tooltip> show-overflow-tooltip>
......
...@@ -408,6 +408,18 @@ export default { ...@@ -408,6 +408,18 @@ export default {
} }
}, },
data() { data() {
let checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
}
return { return {
dialogTableVisible: false, dialogTableVisible: false,
SourceEnum: [], SourceEnum: [],
...@@ -460,7 +472,7 @@ export default { ...@@ -460,7 +472,7 @@ export default {
{ required: true, message: '请输入联系人', trigger: 'blur' } { required: true, message: '请输入联系人', trigger: 'blur' }
], ],
ContactNumber: [ ContactNumber: [
{ required: true, message: '请输入联系电话', trigger: 'blur' } { required: true, validator: checkPhone, trigger: 'blur'}
], ],
Premises: [ Premises: [
{ required: true, message: '请选择经营场所', trigger: 'change'} { required: true, message: '请选择经营场所', trigger: 'change'}
......
...@@ -456,6 +456,18 @@ export default { ...@@ -456,6 +456,18 @@ export default {
} }
}, },
data() { data() {
let checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
}
return { return {
dialogTableVisible: false, dialogTableVisible: false,
SourceEnum: [], SourceEnum: [],
...@@ -598,12 +610,7 @@ export default { ...@@ -598,12 +610,7 @@ export default {
message: "请填写签发地", message: "请填写签发地",
trigger: "blur" trigger: "blur"
}], }],
MobilePhone: [{ MobilePhone: [{ required: true, validator: checkPhone, trigger: 'blur'}],
required: true,
message: "请填写手机号码",
trigger: "blur"
}
],
Nationality: [{ Nationality: [{
required: true, required: true,
message: "请选择国籍", message: "请选择国籍",
......
...@@ -62,13 +62,13 @@ ...@@ -62,13 +62,13 @@
</el-select> </el-select>
</el-popover> </el-popover>
</el-col> </el-col>
<el-col :span="4"> <!-- <el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">客户类型</span> <span class="font-size-12" style="padding-right: 10px">客户类型</span>
<el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList"> <el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList">
<el-option key="0" label="客户" :value="0"></el-option> <el-option key="0" label="客户" :value="0"></el-option>
<el-option key="1" label="直客" :value="1"></el-option> <el-option key="1" label="直客" :value="1"></el-option>
</el-select> </el-select>
</el-col> </el-col> -->
<el-col :span="4"> <el-col :span="4">
<el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 5)">高级筛选</el-button> <el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 5)">高级筛选</el-button>
</el-col> </el-col>
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
v-if="queryType[29].show" v-if="queryType[29].show"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<p v-for="(item, index) in scope.row.EconomicCapability" :key="index">{{item.Value}}</p> <span v-for="(item, index) in scope.row.EconomicCapability" :key="index">{{item.Value}}{{index === scope.row.EconomicCapability.length -1 ? '' : '、'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
<template> <template>
<div class="sex Opinionpolls" v-loading="loading"> <div class="sex Opinionpolls" v-loading="loading">
<div class="statistics-title bold18">意见调查统计</div> <div class="statistics-title bold18">意见调查统计</div>
<div class="conten-box" v-if="!loading"> <div class="conten-box">
<el-row :gutter="25" class="top"> <el-row :gutter="25" class="top">
<el-col :span="6" style="height: 450px"> <el-col :span="6" style="height: 450px">
<el-card style="height: calc(100% - 2px);background:#FFA475"> <el-card style="height: calc(100% - 2px);background:#FFA475">
...@@ -353,8 +353,9 @@ export default { ...@@ -353,8 +353,9 @@ export default {
myChart.setOption(option); myChart.setOption(option);
}, },
getData(){ getData(){
// this.loading = true this.loading = true
this.apipost("/api/Statistic/GetGuestSurveyList", {}, res => { this.apipost("/api/Statistic/GetGuestSurveyList", {}, res => {
this.loading=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.dataList=res.data.data; this.dataList=res.data.data;
this.chartData=[]; this.chartData=[];
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
<template> <template>
<div class="marriage" v-loading="loading"> <div class="marriage" v-loading="loading">
<div class="statistics-title bold18">婚姻统计</div> <div class="statistics-title bold18">婚姻统计</div>
<div class="conten-box" v-if="!loading"> <div class="conten-box">
<el-row :gutter="25" class="top"> <el-row :gutter="25" class="top">
<el-col :span="12" class="left"> <el-col :span="12" class="left">
<el-card class="blue"> <el-card class="blue">
...@@ -187,7 +187,7 @@ export default { ...@@ -187,7 +187,7 @@ export default {
BbsList: [], BbsList: [],
isShow:false, isShow:false,
orders:[], orders:[],
dataList:[] dataList:[],
}; };
},watch:{ },watch:{
...@@ -197,7 +197,9 @@ export default { ...@@ -197,7 +197,9 @@ export default {
}, },
methods: { methods: {
initData() { initData() {
this.loading=true;
this.apipost("/api/Statistic/GetMarriageShopList", {}, res => { this.apipost("/api/Statistic/GetMarriageShopList", {}, res => {
this.loading=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.strArr=[]; this.strArr=[];
let data=res.data.data; let data=res.data.data;
......
<template> <template>
<div class="old-box"> <div class="old-box" v-loading="loading">
<div class="statistics-title bold18">客户年龄分布统计</div> <div class="statistics-title bold18">客户年龄分布统计</div>
<el-row :gutter="25" style="height:calc(100% - 62px)"> <el-row :gutter="25" style="height:calc(100% - 62px)">
<el-col :span="12" style="height:100%;"> <el-col :span="12" style="height:100%;">
...@@ -132,6 +132,7 @@ export default { ...@@ -132,6 +132,7 @@ export default {
showChats: [], showChats: [],
moneys: [], moneys: [],
isLoaded: false, isLoaded: false,
loading:false,
icons: [ icons: [
"icon-yinger", "icon-yinger",
"icon-ertong", "icon-ertong",
...@@ -164,7 +165,9 @@ export default { ...@@ -164,7 +165,9 @@ export default {
}); });
}, },
init() { init() {
this.loading=true;
this.apipost("/api/Statistic/GetAgeShopList", {}, res => { this.apipost("/api/Statistic/GetAgeShopList", {}, res => {
this.loading=false;
res.data.data.forEach(x => { res.data.data.forEach(x => {
this.scaleData.push({ this.scaleData.push({
name: x.AgeTypeName, name: x.AgeTypeName,
......
...@@ -49,13 +49,13 @@ ...@@ -49,13 +49,13 @@
</el-select> </el-select>
</el-popover> </el-popover>
</el-col> </el-col>
<el-col :span="4"> <!-- <el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">客户类型</span> <span class="font-size-12" style="padding-right: 10px">客户类型</span>
<el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList"> <el-select size="mini" v-model="msg.CustomerType" placeholder="请选择" @change="getList">
<el-option key="0" label="客户" :value="0"></el-option> <el-option key="0" label="客户" :value="0"></el-option>
<el-option key="1" label="直客" :value="1"></el-option> <el-option key="1" label="直客" :value="1"></el-option>
</el-select> </el-select>
</el-col> </el-col> -->
<el-col :span="4"> <el-col :span="4">
<el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 6)">高级筛选</el-button> <el-button icon="iconfont iconshaixuan" class="crm-btn query-btn crm-btn-mini margin-right0" @click="MsgBus.$emit('sceneBoxShow', 6)">高级筛选</el-button>
</el-col> </el-col>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment