| | |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="手机号" prop="telephone"> |
| | | <el-input v-model="searchForm.telephone" clearable placeholder="请输入手机号" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="名称" prop="name"> |
| | | <el-input v-model="searchForm.name" style="width: 150px" placeholder="请输入名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="真实姓名" prop="name"> |
| | | <el-input v-model="searchForm.name" clearable placeholder="请输入真实姓名" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="工号" prop="code"> |
| | | <el-input v-model="searchForm.code" style="width: 150px" placeholder="请输入工号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="类型" prop="type"> |
| | | <el-select v-model="searchForm.type" clearable placeholder="请选择类型" @change="search"> |
| | | <el-option :value="0" label="全部"></el-option> |
| | | <el-option :value="1" label="接单方"></el-option> |
| | | <el-form-item label="战区" prop="fieldIdList"> |
| | | <el-select |
| | | v-model="searchForm.fieldIdList" |
| | | style="width: 150px" |
| | | placeholder="战区" |
| | | clearable |
| | | multiple |
| | | @change="search" |
| | | > |
| | | <el-option |
| | | v-for="item in cateList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="search" clearable placeholder="状态"> |
| | | <el-option label="启用" value="0"></el-option> |
| | | <el-option label="禁用" value="1"></el-option> |
| | | <el-form-item label="商业化类型" prop="busTypeIdList"> |
| | | <el-select |
| | | v-model="searchForm.busTypeIdList" |
| | | style="width: 150px" |
| | | placeholder="商业化类型" |
| | | clearable |
| | | multiple |
| | | @change="search" |
| | | > |
| | | <el-option |
| | | v-for="item in cateList1" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item>--> |
| | | <el-form-item label="注册时间" prop="eventType"> |
| | | <el-date-picker type="datetime" style="width: 120px" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="开始时间" />- |
| | | <el-date-picker type="datetime" style="width: 120px" v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="结束时间" /> |
| | | </el-form-item> |
| | | <el-form-item label="擅长领域" prop="levelIdList"> |
| | | <el-select |
| | | v-model="searchForm.levelIdList" |
| | | style="width: 150px" |
| | | placeholder="擅长领域" |
| | | clearable |
| | | multiple |
| | | @change="search" |
| | | > |
| | | <el-option |
| | | v-for="item in cateList2" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="老师等级" prop="levelIdList"> |
| | | <el-select |
| | | v-model="searchForm.levelIdList" |
| | | style="width: 150px" |
| | | placeholder="老师等级" |
| | | clearable |
| | | multiple |
| | | @change="search" |
| | | > |
| | | <el-option |
| | | v-for="item in cateList3" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select |
| | | v-model="searchForm.status" |
| | | placeholder="状态" |
| | | clearable |
| | | style="width: 150px" |
| | | @change="search" |
| | | > |
| | | <el-option :key="0" :value="0" label="启用"></el-option> |
| | | <el-option :key="1" :value="1" label="禁用"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | | <el-button type="primary" :loading="isWorking.export" @click="exportExcel">导出</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <!-- <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaMemberWindow.open('新建会员信息表')" icon="el-icon-plus" v-permissions="['business:member:create']">新建</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li> |
| | | </ul>--> |
| | | <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaMemberWindow.open('新建老师',null)" icon="el-icon-plus" v-permissions="['business:member:create']">新建</el-button></li> |
| | | <li><el-button type="primary" icon="el-icon-refresh" v-permissions="['business:member:create']" @click="$refs.OperaMemberImportWindow.open('老师导入', searchForm.companyType)">批量导入</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | | v-loading="isWorking.search" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="openid" label="openid" min-width="100px"> |
| | | <el-table-column prop="imgurl" label="图片" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.openid}}</span> |
| | | <el-image v-if="row.imgurlfull" style="width: 50px; height: 50px; margin-right: 10px" :src="row.imgurlfull" |
| | | :preview-src-list="[row.imgurlfull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="nickName" label="昵称" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="真实姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="telephone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="workerIdentity" label="身份" min-width="100px"> |
| | | <el-table-column prop="code" label="工号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sex" label="性别" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | 发单方<span v-if="row.workerIdentity == 2 || row.driverIdentity == 2 || row.chefIdentity == 2">{{' | 接单方'}}</span> |
| | | <span v-if="row.sex ==0">男</span> |
| | | <span v-if="row.sex ==1">女</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="workerIdentity" label="接单认证身份" width="120px"> |
| | | <el-table-column prop="position" label="岗位" min-width="120px"></el-table-column> |
| | | <el-table-column prop="levelName" label="等级" min-width="100px"></el-table-column> |
| | | <el-table-column prop="jobYear" label="从业年份" min-width="100px"></el-table-column> |
| | | <el-table-column prop="serveNum" label="服务商场" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.workerIdentity == 2" class="renzhen">工人</div> |
| | | <div v-if=" row.driverIdentity == 2" class="renzhen">司机</div> |
| | | <div v-if="row.chefIdentity == 2" class="renzhen">供餐</div> |
| | | <span v-if="row.serveNum">{{row.serveNum}}个</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="amount" label="当前余额(元)" min-width="100px"> |
| | | <el-table-column prop="caseNum" label="标杆案例" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="yellowstate">{{((row.amount || 0)/100).toFixed(2)}}</span> |
| | | <span v-if="row.caseNum">{{row.caseNum}}个</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="注册时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="autoReciveStatus" label="接受自动派单" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{row.autoReceiveStatus ==1?"是":"否"}} |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="状态"> |
| | | <el-table-column prop="busTypeNames" label="商业化类型" min-width="200px"></el-table-column> |
| | | <el-table-column prop="areaNames" label="服务战区" min-width="200px"></el-table-column> |
| | | <el-table-column prop="fieldNames" label="擅长领域" min-width="200px"></el-table-column> |
| | | <el-table-column label="状态"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66" |
| | | inactive-color="#ff4949" :active-value="0" :inactive-value="1"> |
| | | inactive-color="#ff4949" :active-value="0" :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete'])" |
| | | label="操作" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete'])" |
| | | label="操作" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaMemberWindow.open('编辑会员信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button> |
| | | <el-button type="text" @click="$refs.operaMemberWindow.open('编辑老师', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button> |
| | | <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button> |
| | | </template> |
| | | </el-table-column>--> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | </pagination> |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaMemberDetailWindow ref="OperaMemberDetailWindow" /> |
| | | <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/> |
| | | <OperaMemberImportWindow ref="OperaMemberImportWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import OperaMemberDetailWindow from '@/components/business/OperaMemberDetailWindow' |
| | | import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow' |
| | | import { findAll as cateList } from '@/api/business/category' |
| | | export default { |
| | | name: 'Member', |
| | | name: 'Category', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaMemberDetailWindow, OperaMemberWindow }, |
| | | components: { TableLayout, Pagination, OperaMemberWindow ,OperaMemberImportWindow}, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | | type: 0, |
| | | startTime: '', |
| | | endTime: '', |
| | | telephone: '', |
| | | name: '', |
| | | status: '' |
| | | } |
| | | code: '', |
| | | status: null, |
| | | levelIdList:[], |
| | | fieldIdList: [], |
| | | busTypeIdList:[], |
| | | type: 0 |
| | | }, |
| | | cateList:[], |
| | | cateList1:[], |
| | | cateList2:[], |
| | | cateList3:[], |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '会员信息表', |
| | | module: '讲师信息表', |
| | | api: '/business/member', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | cateList({ |
| | | type: 0 , //战区 |
| | | }).then(res => { |
| | | this.cateList = res |
| | | }) |
| | | cateList({ |
| | | type: 1 , //商业化 |
| | | }).then(res => { |
| | | this.cateList1 = res |
| | | }) |
| | | cateList({ |
| | | type: 2 , //擅长领用 |
| | | }).then(res => { |
| | | this.cateList2 = res |
| | | }) |
| | | cateList({ |
| | | type: 3 , //等级 |
| | | }).then(res => { |
| | | this.cateList3 = res |
| | | }) |
| | | }, |
| | | methods: { |
| | | reset () { |
| | | this.searchForm = { |
| | | type: 0, |
| | | startTime: '', |
| | | endTime: '', |
| | | telephone: '', |
| | | name: '', |
| | | status: '' |
| | | } |
| | | this.search() |
| | | }, |
| | | openDetail (row) { |
| | | this.$refs.OperaMemberDetailWindow.open('用户详情', row.id) |
| | | }, |
| | | changeStatus (e, row) { |
| | | this.working = true |
| | | this.api.updateStatus({ id: row.id, workStatus: e }) |
| | | this.api.updateStatus({ id: row.id, status: e }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || '操作成功') |
| | | this.search() |
| | |
| | | .finally(() => { |
| | | this.working = false |
| | | }) |
| | | .catch(() => { }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .renzhen{ |
| | | margin: 5px; |
| | | line-height: 30px; |
| | | color:#67c23a; |
| | | height: 30px; |
| | | text-align:center; |
| | | border-color: #e1f3d8; |
| | | background-color: #f0f9eb; |
| | | } |
| | | </style> |