|
@@ -0,0 +1,170 @@
|
|
|
+<template>
|
|
|
+ <div class="mainBox">
|
|
|
+ <div class="title">
|
|
|
+ <span>已预约人数:10000人</span>永天科技-安博会人员信息管理
|
|
|
+ </div>
|
|
|
+ <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="客户信息" name="first"></el-tab-pane>
|
|
|
+ <el-tab-pane label="接待人信息" name="second"></el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ <div class="tableBox">
|
|
|
+ <el-form :inline="true" :model="formInline" class="demo-form-inline">
|
|
|
+ <el-form-item label="" v-if="activeName === 'first'">
|
|
|
+ <el-input v-model="formInline.customer" placeholder="客户姓名/联系电话"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="formInline.user" placeholder="接待人/接待人手机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否已分配" v-if="activeName === 'first'">
|
|
|
+ <el-select v-model="formInline.distribution" 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-form-item>
|
|
|
+ <el-button type="primary" @click="onSubmit()">查询</el-button>
|
|
|
+ <el-button type="primary" @click="type = 'add';dialogUserVisible = true" v-if="activeName === 'second'">新增接待人</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div class="tableList">
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ border
|
|
|
+ height="100%"
|
|
|
+ style="width: 100%">
|
|
|
+ <template v-if="activeName === 'first'">
|
|
|
+ <el-table-column prop="name" label="客户姓名" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="phone" label="联系电话" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="companyName" label="客户单位名称" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="post" label="职位" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="sf" label="省份" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="dateOfVisit" label="到访日期" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="accompany" label="随行人数" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.accompany === 1 ? '1-3人' : scope.row.accompany === 2 ? '3-7人' : '7人以上' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="userName" label="接待人" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="userPhone" label="接待人手机号" show-overflow-tooltip></el-table-column>
|
|
|
+ </template>
|
|
|
+ <template v-if="activeName === 'second'">
|
|
|
+ <el-table-column prop="userName" label="接待人"></el-table-column>
|
|
|
+ <el-table-column prop="phone" label="接待人手机号"></el-table-column>
|
|
|
+ <!-- <el-table-column prop="phone" label="登录账号"></el-table-column> -->
|
|
|
+ <!-- <el-table-column prop="zip" label="接待客户数(人)"></el-table-column> -->
|
|
|
+ </template>
|
|
|
+ <el-table-column fixed="right" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="activeName === 'first'">
|
|
|
+ <el-button type="text" size="small" v-if="!scope.row.userPhone" @click="type = 'add';currentRow = scope.row;dialogVisible = true">分配接待人</el-button>
|
|
|
+ <el-button type="text" size="small" v-else @click="type = 'edit';currentRow = scope.row;dialogVisible = true">重新分配</el-button>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="activeName === 'second'">
|
|
|
+ <el-button type="text" size="small" @click="type = 'edit';currentRow = scope.row;dialogUserVisible = true">修改</el-button>
|
|
|
+ <el-button type="text" size="small" style="color:red;">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dialog :visible.sync="dialogVisible" :type="type" v-model="currentRow" @getData="getDataCustomer" :tableDataUser="tableDataUser"></el-dialog>
|
|
|
+ <el-dialog-user :visible.sync="dialogUserVisible" :type="type" v-model="currentRow" @getData="getDataReception"></el-dialog-user>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import elDialog from './dialog';
|
|
|
+import elDialogUser from './dialog-user';
|
|
|
+export default {
|
|
|
+components: {
|
|
|
+ elDialog,
|
|
|
+ elDialogUser
|
|
|
+},
|
|
|
+data() {
|
|
|
+ return {
|
|
|
+ activeName: "first",
|
|
|
+ formInline: {
|
|
|
+ user: "",
|
|
|
+ customer: "",
|
|
|
+ distribution: 0,
|
|
|
+ },
|
|
|
+ tableData:[],
|
|
|
+ tableDataUser:[],
|
|
|
+ tableDataCustomer:[],
|
|
|
+ dialogVisible:false,
|
|
|
+ dialogUserVisible:false,
|
|
|
+ type:null,
|
|
|
+ currentRow:{}
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted(){
|
|
|
+ this.getDataCustomer()
|
|
|
+ this.getDataReception()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async getDataCustomer(){
|
|
|
+ let res = await this.$axios.post('/AF/listAppointment')
|
|
|
+ if(res.data.success){
|
|
|
+ this.tableDataCustomer = res.data.data
|
|
|
+ }
|
|
|
+ this.onSubmit()
|
|
|
+ },
|
|
|
+ async getDataReception(){
|
|
|
+ let res = await this.$axios.post('/AF/listUserInfo')
|
|
|
+ if(res.data.success){
|
|
|
+ this.tableDataUser = res.data.data
|
|
|
+ }
|
|
|
+ this.onSubmit()
|
|
|
+ },
|
|
|
+ handleClick(tab, event) {
|
|
|
+ console.log(tab, event);
|
|
|
+ this.onSubmit()
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ if(this.activeName === 'first'){
|
|
|
+ this.tableData = this.tableDataCustomer.filter(val=>{
|
|
|
+ return (!this.formInline.user || (val.userName && val.userName.indexOf(this.formInline.user) !== -1) || (val.userPhone && val.userPhone.indexOf(this.formInline.user) !== -1)) &&
|
|
|
+ (!this.formInline.customer || val.name.indexOf(this.formInline.customer) !== -1 || val.phone.indexOf(this.formInline.customer) !== -1) &&
|
|
|
+ (this.formInline.distribution === 0 || (this.formInline.distribution === 1 && !!val.userPhone) || (this.formInline.distribution === 2 && !val.userPhone))
|
|
|
+ })
|
|
|
+ } else if(this.activeName === 'second'){
|
|
|
+ this.tableData = this.tableDataUser.filter(val=>{
|
|
|
+ return (!this.formInline.user || (val.userName && val.userName.indexOf(this.formInline.user) !== -1) || (val.phone && val.phone.indexOf(this.formInline.user) !== -1))
|
|
|
+ })
|
|
|
+ } else{
|
|
|
+ this.tableData = []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.mainBox {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ padding: 20PX;
|
|
|
+ box-sizing: border-box;
|
|
|
+ overflow: hidden;
|
|
|
+ .title {
|
|
|
+ text-align: center;
|
|
|
+ font-size: 20PX;
|
|
|
+ margin-bottom: 20PX;
|
|
|
+ span {
|
|
|
+ float: left;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .tableBox {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .tableList{
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|