|
|
@@ -9,33 +9,49 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="审核状态" prop="nTong">
|
|
|
+ <el-form-item label="电话" prop="cName">
|
|
|
<el-input
|
|
|
- v-model="queryParams.nTong"
|
|
|
- placeholder="请输入审核状态"
|
|
|
+ v-model="queryParams.cPhone"
|
|
|
+ placeholder="请输入姓名"
|
|
|
clearable
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
- </el-form-item> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="审核状态" prop="nTong">
|
|
|
+ <el-select v-model="queryParams.nTong" placeholder="请选择" style="width: 100px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in auditStatus"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="服务状态" prop="nStatus">
|
|
|
+ <el-select v-model="queryParams.nStatus" placeholder="请选择" style="width: 100px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in serviceState"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="性别" prop="nSex">
|
|
|
+ <el-select v-model="queryParams.nSex" placeholder="请选择" style="width: 100px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in sex"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
-
|
|
|
- <!-- <el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click="handleAdd"
|
|
|
- >新增</el-button>
|
|
|
- </el-col>
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
- </el-row> -->
|
|
|
-
|
|
|
<el-table v-loading="loading" :data="jsList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
<!-- <el-table-column label="${comment}" align="center" prop="cOpenId" /> -->
|
|
|
@@ -49,7 +65,7 @@
|
|
|
<!-- <el-table-column label="生活照 JsonArray" align="center" prop="cImgList" /> -->
|
|
|
|
|
|
<!-- <el-table-column label="身份证图片 JsonArray" align="center" prop="cSfzImg" /> -->
|
|
|
- <el-table-column label="身份证图片" align="center" prop="cSfzImg">
|
|
|
+ <!-- <el-table-column label="身份证图片" align="center" prop="cSfzImg">
|
|
|
<template slot-scope="scope">
|
|
|
<div class="demo-image__preview">
|
|
|
<el-button
|
|
|
@@ -68,7 +84,7 @@
|
|
|
>查看</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<!-- <el-table-column label="昵称" align="center" prop="cNickName" /> -->
|
|
|
<!-- <el-table-column label="头像" align="center" prop="cPortrait" /> -->
|
|
|
<el-table-column label="头像" align="center" >
|
|
|
@@ -80,7 +96,7 @@
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column label="电话" align="center" prop="cPhone" />
|
|
|
- <el-table-column label="地址" align="center" prop="cAddress" />
|
|
|
+ <!-- <el-table-column label="地址" align="center" prop="cAddress" /> -->
|
|
|
<!-- <el-table-column label="个人简介" align="center" prop="cJianjie" /> -->
|
|
|
<el-table-column label="评分" align="center" prop="nStar" />
|
|
|
<el-table-column label="佣金比例" align="center" prop="nBili" />
|
|
|
@@ -90,14 +106,14 @@
|
|
|
<span>{{ scope.row.nStatus ===1?'服务中' :'可服务' }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="上岗状态" align="center" prop="nStatus">
|
|
|
+ <!-- <el-table-column label="上岗状态" align="center" prop="nStatus">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ scope.row.nStatus2 ===0?'已上岗' :'未上岗' }}</span>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column label="审核状态" align="center" prop="nStatus">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ scope.row.nTong ===0?'未通过' :'已通过' }}</span>
|
|
|
+ <span>{{ scope.row.nTong ===0 ? '未通过' :scope.row.nTong ===1 ? '已通过' :'已退回' }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column label="注册时间" align="center" prop="cTime" /> -->
|
|
|
@@ -109,8 +125,14 @@
|
|
|
<span>{{ parseTime(scope.row.dtCreateTime, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-notebook-1"
|
|
|
+ @click="handleDetail(scope.row)"
|
|
|
+ >详情</el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
@@ -138,7 +160,7 @@
|
|
|
</el-pagination>
|
|
|
<!-- 添加或修改技师对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
|
|
|
- <el-form ref="form" :inline="true" :model="form" :rules="rules" label-width="100px">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
|
|
<!-- <el-form-item label="可预约项目编号 JsonArray" prop="cBhList">
|
|
|
<el-input v-model="form.cBhList" type="textarea" placeholder="请输入内容" />
|
|
|
</el-form-item> -->
|
|
|
@@ -206,9 +228,9 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
- <el-form-item label="地址" prop="cAddress">
|
|
|
+ <!-- <el-form-item label="地址" prop="cAddress">
|
|
|
<el-input v-model="form.cAddress" type="textarea" placeholder="请输入内容" />
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="个人简介" prop="cJianjie">
|
|
|
<el-input v-model="form.cJianjie" type="textarea" placeholder="请输入内容" />
|
|
|
</el-form-item>
|
|
|
@@ -228,13 +250,12 @@
|
|
|
<el-radio :label="0">已上岗</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="审核状态" prop="nTong">
|
|
|
- <!-- <el-input v-model="form.nTong" placeholder="请输入审核状态 0 " /> -->
|
|
|
+ <!-- <el-form-item label="审核状态" prop="nTong">
|
|
|
<el-radio-group v-model="form.nTong">
|
|
|
<el-radio :label="0">未通过</el-radio>
|
|
|
<el-radio :label="1">已通过</el-radio>
|
|
|
</el-radio-group>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<!-- <el-form-item label="注册时间" prop="cTime">
|
|
|
<el-input v-model="form.cTime" placeholder="请输入注册时间" />
|
|
|
</el-form-item> -->
|
|
|
@@ -287,16 +308,73 @@
|
|
|
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <!-- 查看技师详情 -->
|
|
|
+ <el-drawer
|
|
|
+ title="技师详情"
|
|
|
+ :visible.sync="drawer"
|
|
|
+ direction="rtl"
|
|
|
+ size="50%"
|
|
|
+ >
|
|
|
+ <div class="jsInfo">
|
|
|
+ <div class="js_head"><img :src="jsInfos.cPortrait" /></div>
|
|
|
+ <div class="js_box">
|
|
|
+ <div class="js_name"><b>姓名:</b><span>{{ jsInfos.cName}}</span> </div>
|
|
|
+ <div class="js_name"><b>性别:</b> <span>{{ jsInfos.nSex===0 ? '女' :'男'}}</span> </div>
|
|
|
+ </div>
|
|
|
+ <div class="js_box">
|
|
|
+ <div class="js_name"><b>电话:</b> <span>{{ jsInfos.cPhone}}</span> </div>
|
|
|
+ <div class="js_name"><b>评分:</b> <span>{{ jsInfos.nStar}}</span> </div>
|
|
|
+ </div>
|
|
|
+ <div class="js_box">
|
|
|
+ <div class="js_name"><b>佣金比例:</b> <span>{{ jsInfos.nBili +'%'}}</span> </div>
|
|
|
+ <div class="js_name"><b>已服务数量:</b> <span>{{ jsInfos.nNum + '个'}}</span> </div>
|
|
|
+ </div>
|
|
|
+ <div class="js_box">
|
|
|
+ <div class="js_name"><b>审核状态:</b> <span>{{ jsInfos.nTong === 0 ? '待审核' : jsInfos.nTong === 1 ?'已通过' : '已退回' }}</span> </div>
|
|
|
+ <div class="js_name"><b>擅长项目:</b> <span v-for="(item,index) in jsInfos.projects" :key="index" style="padding-right: 20px;">{{ item.cTitle}}</span> </div>
|
|
|
+ </div>
|
|
|
+ <div class="js_name js_imgs" style="width: 100%;" v-if="jsInfos.cSfzImg">
|
|
|
+ <b>身份证照片:</b>
|
|
|
+ <span v-for="(item,index) in jsInfos.cSfzImg" :key="index">
|
|
|
+ <!-- <image-preview :src="item[0]" :width="50" :height="50"/> -->
|
|
|
+ <img :src="item" alt="">
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="js_name js_imgs" style="width: 100%;" v-if="jsInfos.cImgList">
|
|
|
+ <b>生活照:</b>
|
|
|
+ <span v-for="(item,index) in jsInfos.cImgList" :key="index">
|
|
|
+ <!-- <image-preview :src="item[0]" :width="50" :height="50"/> -->
|
|
|
+ <img :src="item" alt="">
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="js_name" style="height: auto;width: 100%;">
|
|
|
+ <b>个人简介:</b>
|
|
|
+ <span>{{ jsInfos.cJianjie }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="js_name" style="height: auto;width: 100%;">
|
|
|
+ <b>地址:</b>
|
|
|
+ <span>{{ jsInfos.cAddress }}</span>
|
|
|
+ <!-- <span>{{ JSON.parse(jsInfos.cAddress).address +'('+ JSON.parse(jsInfos.cAddress).name +')'}}</span> -->
|
|
|
+ </div>
|
|
|
+ <div></div>
|
|
|
+ </div>
|
|
|
+ <div class="demo-drawer__footer" style="text-align: center;padding:20px 0;" v-if="auditShow">
|
|
|
+ <el-button @click="auditJs(jsInfos.id)">审核</el-button>
|
|
|
+ <el-button type="primary" @click="returnJs(jsInfos.id)">退回</el-button>
|
|
|
+ </div>
|
|
|
+ </el-drawer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { listJs, getJs, delJs, addJs, updateJs } from "@/api/system/js";
|
|
|
+ import { listJs, getJs, delJs, addJs, updateJs,auditJs,repulseJs } from "@/api/system/js";
|
|
|
import { upload } from "@/api/public";
|
|
|
export default {
|
|
|
name: "Js",
|
|
|
data() {
|
|
|
return {
|
|
|
+ auditShow:false,
|
|
|
+ drawer: false,
|
|
|
dialogVisible:false,
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
@@ -355,12 +433,95 @@
|
|
|
imgList2:[],
|
|
|
updataImg2:[],
|
|
|
updataImg22:[],
|
|
|
+ auditStatus:[
|
|
|
+ {value:0,label:'待审核'},
|
|
|
+ {value:1,label:'已通过'},
|
|
|
+ {value:2,label:'已退回'},
|
|
|
+ ],
|
|
|
+ serviceState:[
|
|
|
+ {value:0,label:'可服务'},
|
|
|
+ {value:1,label:'服务中'},
|
|
|
+ ],
|
|
|
+ sex:[
|
|
|
+ {value:0,label:'女'},
|
|
|
+ {value:1,label:'男'},
|
|
|
+ ],
|
|
|
+ jsInfos:'',
|
|
|
+ ifTong:0,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ auditJs(ids){
|
|
|
+ if(this.ifTong == 0){
|
|
|
+ var data = {
|
|
|
+ id:ids,
|
|
|
+ }
|
|
|
+ auditJs(data).then(response => {
|
|
|
+ this.$modal.msgSuccess("审核通过");
|
|
|
+ this.drawer = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$modal.msgSuccess("该技师已操作");
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ returnJs(ids){
|
|
|
+ if(this.ifTong == 0){
|
|
|
+ var data = {
|
|
|
+ id:ids,
|
|
|
+ }
|
|
|
+ repulseJs(data).then(response => {
|
|
|
+ this.$modal.msgSuccess("已退回");
|
|
|
+ this.drawer = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$modal.msgSuccess("该技师已操作");
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ handleDetail(row){
|
|
|
+ this.drawer = true
|
|
|
+ this.jsInfos = []
|
|
|
+ const cOpenId = {
|
|
|
+ id :row.id || this.ids
|
|
|
+ }
|
|
|
+ if(row.nTong === 1 || row.nTong === 2){
|
|
|
+ this.auditShow = false;
|
|
|
+ }else{
|
|
|
+ this.auditShow = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // this.imgUrl1 = this.form.cImgList
|
|
|
+ getJs(cOpenId).then(response => {
|
|
|
+ var imgs = []
|
|
|
+ var imgs2 = []
|
|
|
+ response.data.cPortrait = process.env.VUE_APP_BASE_API + response.data.cPortrait;
|
|
|
+ response.data.cImgList.forEach(element => {
|
|
|
+ element = process.env.VUE_APP_BASE_API + element
|
|
|
+ imgs.push(element)
|
|
|
+ });
|
|
|
+ if(response.data.cSfzImg){
|
|
|
+ response.data.cSfzImg.forEach(element => {
|
|
|
+ element = process.env.VUE_APP_BASE_API + element
|
|
|
+ imgs2.push(element)
|
|
|
+ });
|
|
|
+ }
|
|
|
+ console.log(response.data,"cAddress")
|
|
|
+
|
|
|
+ this.jsInfos = response.data;
|
|
|
+ this.jsInfos.cImgList = imgs
|
|
|
+ this.jsInfos.cSfzImg = imgs2
|
|
|
+ this.jsInfos.cAddress = JSON.parse(response.data.cAddress).address + '('+JSON.parse(response.data.cAddress).name +')'
|
|
|
+ this.ifTong = this.jsInfos.nTong
|
|
|
+ // console.log(this.jsInfos,"rrrrrrrrrrrrrrrrrrr")
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
removeImgs(index){
|
|
|
this.updataImg1.splice(index, 1);
|
|
|
this.updataImg11.splice(index, 1)
|
|
|
@@ -538,10 +699,13 @@
|
|
|
element = process.env.VUE_APP_BASE_API + element
|
|
|
imgs.push(element)
|
|
|
});
|
|
|
- response.data.cSfzImg.forEach(element => {
|
|
|
- element = process.env.VUE_APP_BASE_API + element
|
|
|
- imgs2.push(element)
|
|
|
- });
|
|
|
+ if(response.data.cSfzImg){
|
|
|
+ response.data.cSfzImg.forEach(element => {
|
|
|
+ element = process.env.VUE_APP_BASE_API + element
|
|
|
+ imgs2.push(element)
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
this.form = response.data;
|
|
|
this.updataImg1 = imgs
|
|
|
this.updataImg11 = response.data.cImgList
|
|
|
@@ -590,7 +754,49 @@
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-<style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.jsInfo{
|
|
|
+ padding:0 15px;
|
|
|
+ .js_box{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+ }
|
|
|
+ .js_head{
|
|
|
+ text-align: center;
|
|
|
+ img{
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .js_name{
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ color: #8c939d;
|
|
|
+ font-size: 14px;
|
|
|
+ width: 50%;
|
|
|
+ b{
|
|
|
+ display: inline-block;
|
|
|
+ width: 86px;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ color: #333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .js_imgs{
|
|
|
+ height: auto;
|
|
|
+ span{
|
|
|
+ display: inline-flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin-right: 20px;
|
|
|
+ height: 100px;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ }
|
|
|
+ img{
|
|
|
+ width: 100px;
|
|
|
+ height: auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
.avatar-uploader .el-upload {
|
|
|
border: 1px dashed #d9d9d9;
|
|
|
border-radius: 6px;
|