4656 lines
140 KiB
Vue
4656 lines
140 KiB
Vue
<template>
|
||
<div>
|
||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||
|
||
<!-- 项目列表 -->
|
||
<el-tab-pane label="项目列表" name="third">
|
||
<div style="position: relative; display: inline-block; margin: 5px">
|
||
<span>项目类型:</span>
|
||
<el-select
|
||
clearable
|
||
v-model="classifyId"
|
||
style="width: 150px; margin-left: 10px"
|
||
@change="phoneSelect1()"
|
||
>
|
||
<el-option
|
||
v-for="item in fwData"
|
||
:key="item.id"
|
||
:label="item.value"
|
||
:value="item.id"
|
||
>
|
||
</el-option> </el-select
|
||
>
|
||
</div>
|
||
<div style="position: relative; display: inline-block">
|
||
<span>城市:</span>
|
||
<el-input
|
||
style="width: 200px"
|
||
@keydown.enter.native="phoneSelect1"
|
||
placeholder="请输入城市"
|
||
v-model="citys"
|
||
>
|
||
</el-input
|
||
>
|
||
</div>
|
||
<div style="position: relative; display: inline-block">
|
||
<span>项目名称:</span>
|
||
<el-input
|
||
style="width: 200px"
|
||
@keydown.enter.native="phoneSelect1"
|
||
placeholder="请输入项目名称"
|
||
v-model="title"
|
||
>
|
||
</el-input
|
||
>
|
||
</div>
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="phoneSelect1"
|
||
>查询
|
||
</el-button>
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="cleans3"
|
||
>重置 </el-button
|
||
>
|
||
<div style="text-align: right; display: inline-block">
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
:disabled="!isAuth('locality:add')"
|
||
@click="classAdd(0)"
|
||
>添加
|
||
</el-button>
|
||
</div>
|
||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||
<el-table-column
|
||
prop="massageTypeId"
|
||
label="编号"
|
||
width="80"
|
||
fixed="left"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="classifyId"
|
||
label="项目类型"
|
||
fixed="left"
|
||
width="150"
|
||
>
|
||
<template slot-scope="scope">
|
||
{{getDictLabel(scope.row.classifyId)}}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="title"
|
||
label="项目名称"
|
||
fixed="left"
|
||
width="150"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column prop="massageImg" label="项目图片">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.massageImg && scope.row.massageImg != ''"
|
||
:src="scope.row.massageImg"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="certificateImg" label="项目详情图" width="250">
|
||
<template slot-scope="scope">
|
||
<div
|
||
v-for="(item, index) in scope.row.contentImg"
|
||
:key="index"
|
||
style="display: inline-block; margin: 3px"
|
||
>
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img
|
||
style="width: 50px; height: 50px"
|
||
:src="item"
|
||
alt=""
|
||
slot="reference"
|
||
/>
|
||
<img style="width: 300px; height: auto" :src="item" alt="" />
|
||
</el-popover>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="性别要求" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.isSex == 0">不限制</span>
|
||
<span v-if="scope.row.isSex == 1">男</span>
|
||
<span v-if="scope.row.isSex == 2">女</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="applyPeople"
|
||
show-overflow-tooltip
|
||
:tooltip-effect="'dark'"
|
||
label="适用人群"
|
||
width="200"
|
||
>
|
||
<template slot-scope="scope">
|
||
<span class="people">{{ scope.row.applyPeople }}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="城市" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.city">{{ scope.row.city }}</span>
|
||
<span v-else>不限</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="oldPrice" label="原价"> </el-table-column>
|
||
<el-table-column prop="price" label="现价"> </el-table-column>
|
||
<!-- <el-table-column prop="memberPrice" label="会员价"> </el-table-column> -->
|
||
<!-- <el-table-column prop="artificerPrice" label="师傅价">
|
||
</el-table-column> -->
|
||
<el-table-column prop="duration" label="时长(分钟)">
|
||
</el-table-column>
|
||
<el-table-column prop="addNum" label="加钟次数"> </el-table-column>
|
||
<el-table-column prop="labels" label="标签" width="150">
|
||
</el-table-column>
|
||
<el-table-column prop="sales" label="销量" width="150">
|
||
<template slot-scope="scope">
|
||
<span>{{ scope.row.sales }}</span>
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
plain
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="updateBz(scope.row)"
|
||
style="margin: 5px"
|
||
>修改</el-button
|
||
>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="content" label="详情">
|
||
</el-table-column> -->
|
||
<el-table-column prop="status" label="状态">
|
||
<template slot-scope="scope">
|
||
<el-switch
|
||
v-model="scope.row.status"
|
||
@change="change(scope.row.massageTypeId, scope.row.status)"
|
||
:disabled="!isAuth('locality:update')"
|
||
:active-value="openValue2"
|
||
:inactive-value="closeValue2"
|
||
active-color="#13ce66"
|
||
inactive-color="#ff4949"
|
||
>
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="qyType" label="是否企业预约项目">
|
||
<template slot-scope="scope">
|
||
<el-switch
|
||
v-model="scope.row.qyType"
|
||
@change="changeQy(scope.row.massageTypeId, scope.row.qyType)"
|
||
:active-value="openValue3"
|
||
:inactive-value="closeValue3"
|
||
active-color="#13ce66"
|
||
inactive-color="#ff4949"
|
||
>
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="createTime" label="创建时间">
|
||
</el-table-column> -->
|
||
<el-table-column label="操作" prop="id" width="260" fixed="right">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
:disabled="!isAuth('shopAdmin:update')"
|
||
@click="addMaterialPackageBtn(scope.row)"
|
||
>添加物料包
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
@click="jiazhongBtn(scope.row)"
|
||
>加钟项目
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="classAdd(scope.row)"
|
||
>修改
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="danger"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:delete')"
|
||
@click="classdelete(scope.row)"
|
||
>删除
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
@click="handleAddpl(scope.row)"
|
||
>新增评论
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChange"
|
||
@current-change="handleCurrentChange"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="limit"
|
||
:current-page="page"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="tableData.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-tab-pane>
|
||
<!-- 添加/修改师傅弹框 -->
|
||
<el-dialog
|
||
:title="renwuTitles"
|
||
customClass="customWidth"
|
||
:visible.sync="dialogFormVisible5"
|
||
center
|
||
>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目:</span
|
||
>
|
||
<el-checkbox-group
|
||
v-model="checkList"
|
||
@change="onChang"
|
||
style="display: inline"
|
||
>
|
||
<el-checkbox
|
||
v-for="(item, index) in homeData"
|
||
:key="index"
|
||
:label="item.gameName"
|
||
>
|
||
{{ item.gameName }}
|
||
</el-checkbox>
|
||
</el-checkbox-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>发布人:</span
|
||
>
|
||
<el-input
|
||
v-model="nickName1"
|
||
@focus="userselect"
|
||
style="width: 45%"
|
||
placeholder="请选择发布人"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>标题:</span
|
||
>
|
||
<el-input
|
||
v-model="myLevel"
|
||
style="width: 45%"
|
||
placeholder="请输入标题"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px; display: flex">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>主页图:</span
|
||
>
|
||
<div
|
||
style="
|
||
width: 148px;
|
||
height: 148px;
|
||
border: 1px dashed #c0ccda;
|
||
border-radius: 6px;
|
||
text-align: center;
|
||
line-height: 148px;
|
||
"
|
||
>
|
||
<el-upload
|
||
class="avatar-uploader"
|
||
v-model="headImg"
|
||
:action="uploadUrl"
|
||
:show-file-list="false"
|
||
:on-success="handleAvatarSuccess5"
|
||
:on-progress="onprogress"
|
||
>
|
||
<img
|
||
v-if="headImg != '' && percentage == 100"
|
||
:src="headImg"
|
||
class="avatar"
|
||
style="border-radius: 6px; width: 148px; height: 148px"
|
||
/>
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
<el-progress
|
||
v-if="percentage > 0 && percentage < 100"
|
||
type="circle"
|
||
:percentage="percentage"
|
||
>
|
||
</el-progress>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div
|
||
style="margin-bottom: 10px; display: flex"
|
||
v-if="authentication == 1"
|
||
>
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>资格证书:</span
|
||
>
|
||
<div
|
||
class="imgs"
|
||
v-for="(item, index) in certificateImg"
|
||
:key="index"
|
||
>
|
||
<img width="100%" class="images" height="100%" :src="item" alt="" />
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="clear1(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs" style="width: 50%">
|
||
<el-upload
|
||
:action="uploadWatermarkUrl"
|
||
list-type="picture-card"
|
||
:show-file-list="false"
|
||
:on-success="handleUploadSuccess1"
|
||
:on-progress="onprogress1"
|
||
>
|
||
<el-progress
|
||
v-if="percentage1 > 0 && percentage1 < 100"
|
||
type="circle"
|
||
:percentage="percentage1"
|
||
></el-progress>
|
||
<i v-else class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div
|
||
style="margin-bottom: 10px; display: flex"
|
||
v-if="authentication == 1"
|
||
>
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>工作照片:</span
|
||
>
|
||
<div class="imgs" v-for="(item, index) in workImg" :key="index">
|
||
<img width="100%" class="images" height="100%" :src="item" alt="" />
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="clear2(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs" style="width: 50%">
|
||
<el-upload
|
||
:action="uploadUrl"
|
||
list-type="picture-card"
|
||
:show-file-list="false"
|
||
:on-success="handleUploadSuccess2"
|
||
:on-progress="onprogress1"
|
||
>
|
||
<el-progress
|
||
v-if="percentage1 > 0 && percentage1 < 100"
|
||
type="circle"
|
||
:percentage="percentage1"
|
||
></el-progress>
|
||
<i v-else class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div
|
||
style="margin-bottom: 10px; display: flex"
|
||
v-if="authentication == 2"
|
||
>
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目详情图:</span
|
||
>
|
||
<div class="imgs" v-for="(item, index) in contentImg" :key="index">
|
||
<img width="100%" class="images" height="100%" :src="item" alt="" />
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="clear3(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs" style="width: 50%">
|
||
<el-upload
|
||
:action="uploadUrl"
|
||
list-type="picture-card"
|
||
:show-file-list="false"
|
||
:on-success="handleUploadSuccess3"
|
||
:on-progress="onprogress1"
|
||
>
|
||
<el-progress
|
||
v-if="percentage1 > 0 && percentage1 < 100"
|
||
type="circle"
|
||
:percentage="percentage1"
|
||
></el-progress>
|
||
<i v-else class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>期望薪资:</span
|
||
>
|
||
<el-input
|
||
v-model="money"
|
||
type="number"
|
||
style="width: 45%"
|
||
min="0"
|
||
placeholder="请输入期望薪资"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>工作经验:</span
|
||
>
|
||
<el-input
|
||
v-model="orderLevel"
|
||
type="text"
|
||
style="width: 45%"
|
||
placeholder="请输入工作经验"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>技能:</span
|
||
>
|
||
<el-input
|
||
v-model="memberMoney"
|
||
style="width: 45%"
|
||
placeholder="请输入技能"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span
|
||
style="
|
||
width: 200px;
|
||
display: inline-block;
|
||
text-align: right;
|
||
position: relative;
|
||
bottom: 26px;
|
||
"
|
||
>描述:</span
|
||
>
|
||
<el-input
|
||
v-model="describes"
|
||
type="textarea"
|
||
:rows="2"
|
||
style="width: 45%"
|
||
placeholder="请输入特长描述"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>服务地区:</span
|
||
>
|
||
<el-cascader
|
||
style="width: 45%"
|
||
size="large"
|
||
:options="options"
|
||
ref="cascaderAddr"
|
||
v-model="storeAddress"
|
||
:placeholder="storeAddre"
|
||
@change="handleChange55"
|
||
:value="storeAddre"
|
||
>
|
||
</el-cascader>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>纬度:</span
|
||
>
|
||
<el-input
|
||
v-model="latitude"
|
||
style="width: 45%"
|
||
placeholder="请输入纬度"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>经度:</span
|
||
>
|
||
<el-input
|
||
v-model="longitude"
|
||
style="width: 45%"
|
||
placeholder="请输入经度"
|
||
></el-input>
|
||
</div>
|
||
<div>
|
||
<div
|
||
id="container1"
|
||
style="width: 80%; height: 500px; margin-left: 10%"
|
||
></div>
|
||
</div>
|
||
<div
|
||
slot="footer"
|
||
class="dialog-footer"
|
||
style="margin-top: 30px; text-align: center"
|
||
>
|
||
<el-button @click="prev">取 消</el-button>
|
||
<el-button type="primary" @click="addmissionNoticeTo()"
|
||
>确 定</el-button
|
||
>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 用户列表 -->
|
||
<el-dialog title="用户列表" :visible.sync="dialogFormVisible3" center>
|
||
<div style="margin: 2% 0; display: inline-block">
|
||
<el-input
|
||
style="width: 150px"
|
||
@keydown.enter.native="userclick"
|
||
clearable
|
||
placeholder="请输入手机号"
|
||
v-model="phone1"
|
||
></el-input
|
||
>
|
||
<el-input
|
||
style="width: 150px"
|
||
@keydown.enter.native="userclick"
|
||
clearable
|
||
placeholder="请输入昵称"
|
||
v-model="nickName2"
|
||
></el-input>
|
||
<el-button
|
||
style="margin-left: 15px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="userclick"
|
||
>
|
||
查询
|
||
</el-button>
|
||
<el-button
|
||
style="margin-left: 15px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="userclose"
|
||
>
|
||
重置
|
||
</el-button>
|
||
</div>
|
||
<el-table
|
||
width="780px"
|
||
v-loading="tableDataLoading4"
|
||
:data="userIds.records"
|
||
>
|
||
<el-table-column fixed prop="nickName" width="220" label="昵称">
|
||
<template slot-scope="scope">
|
||
<span style="color: #f56c6c">{{
|
||
scope.row.userName ? scope.row.userName : "未设置"
|
||
}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="phone" width="220" label="手机号">
|
||
<template slot-scope="scope">
|
||
<span>{{ scope.row.phone ? scope.row.phone : "未绑定" }}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="createTime" width="220" label="创建时间">
|
||
</el-table-column> -->
|
||
<!-- </el-table-column> -->
|
||
<el-table-column label="操作" fixed="right" width="120">
|
||
<template slot-scope="scope">
|
||
<el-button size="mini" type="primary" @click="confirm(scope.row)"
|
||
>确定
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChange2"
|
||
@current-change="handleCurrentChange2"
|
||
:page-sizes="[5, 10, 15, 20]"
|
||
:page-size="size1"
|
||
:current-page="page1"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="userIds.total"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 图片展示-->
|
||
<el-dialog title="图片" :visible.sync="dialogVisible" width="800px">
|
||
<span
|
||
v-if="imageUrl.length > 0"
|
||
v-for="(item, index) in imageUrl"
|
||
:key="index"
|
||
style=""
|
||
>
|
||
<!-- <el-image style = "width: 100px; height: 100px" :src = "item" :preview-src-list="imageUrl"></el-image>-->
|
||
<img
|
||
:src="item"
|
||
alt=""
|
||
style="
|
||
width: 45%;
|
||
height: 100%;
|
||
margin: 15px;
|
||
display: inline-block;
|
||
"
|
||
/>
|
||
</span>
|
||
<span v-else>暂无图片</span>
|
||
</el-dialog>
|
||
<!-- 项目列表弹框 -->
|
||
<el-dialog
|
||
title="项目列表"
|
||
:visible.sync="dialogFormVisible8"
|
||
center
|
||
width="80%"
|
||
>
|
||
<div>
|
||
<el-button
|
||
style="margin: 10px 0"
|
||
:disabled="!isAuth('locality:add')"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="choiadd()"
|
||
>添加项目</el-button
|
||
>
|
||
</div>
|
||
<el-table v-loading="tableDataLoading1" :data="tableData3">
|
||
<el-table-column
|
||
prop="massageTypeId"
|
||
label="编号"
|
||
width="80"
|
||
fixed="left"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="title"
|
||
label="项目名称"
|
||
width="100"
|
||
fixed="left"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column prop="massageImg" label="项目图片">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.massageImg && scope.row.massageImg != ''"
|
||
:src="scope.row.massageImg"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="certificateImg" label="项目详情图" width="250">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.contentImg.length > 0">
|
||
<div
|
||
v-for="(item, index) in scope.row.contentImg"
|
||
:key="index"
|
||
style="display: inline-block; margin: 3px"
|
||
>
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img
|
||
style="width: 50px; height: 50px"
|
||
:src="item"
|
||
alt=""
|
||
slot="reference"
|
||
/>
|
||
<img
|
||
style="width: 300px; height: auto"
|
||
:src="item"
|
||
alt=""
|
||
/>
|
||
</el-popover>
|
||
</div>
|
||
</div>
|
||
<div v-else>暂无图片</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="applyPeople" label="适用人群">
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="性别要求" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.isSex == 0">不限制</span>
|
||
<span v-if="scope.row.isSex == 1">男</span>
|
||
<span v-if="scope.row.isSex == 2">女</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="城市" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.city">{{ scope.row.city }}</span>
|
||
<span v-else>不限</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="oldPrice" label="原价"> </el-table-column>
|
||
<el-table-column prop="price" label="现价"> </el-table-column>
|
||
<!-- <el-table-column prop="memberPrice" label="会员价"> </el-table-column> -->
|
||
<!-- <el-table-column prop="artificerPrice" label="师傅价">
|
||
</el-table-column> -->
|
||
<el-table-column prop="duration" label="时长(分钟)">
|
||
</el-table-column>
|
||
<el-table-column prop="labels" label="标签" width="200">
|
||
</el-table-column>
|
||
<el-table-column prop="sales" label="销量"> </el-table-column>
|
||
<el-table-column prop="content" label="详情"> </el-table-column>
|
||
<el-table-column prop="artificerMassageStatus" label="状态">
|
||
<template slot-scope="scope">
|
||
<el-switch
|
||
v-model="scope.row.artificerMassageStatus"
|
||
@change="
|
||
change(
|
||
scope.row.massageTypeId,
|
||
scope.row.artificerMassageStatus
|
||
)
|
||
"
|
||
:disabled="!isAuth('locality:update')"
|
||
:active-value="openValue1"
|
||
:inactive-value="closeValue1"
|
||
active-color="#13ce66"
|
||
inactive-color="#ff4949"
|
||
>
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="createTime" label="创建时间" width="160">
|
||
</el-table-column> -->
|
||
<el-table-column
|
||
label="操作"
|
||
prop="id"
|
||
width="100"
|
||
fixed="right"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="danger"
|
||
:disabled="!isAuth('locality:delete')"
|
||
@click="classListdelete(scope.row)"
|
||
>删除
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
</el-dialog>
|
||
<!-- 添加、修改项目 -->
|
||
<el-dialog :title="titles" :visible.sync="dialogFormVisible9" center>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目类型:</span
|
||
>
|
||
<el-select clearable v-model="classType" style="width: 50%">
|
||
<el-option
|
||
v-for="item in fwData"
|
||
:key="item.id"
|
||
:label="item.value"
|
||
:value="item.id"
|
||
>
|
||
</el-option> </el-select
|
||
>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目名称:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="massageTypeTitle"
|
||
type="text"
|
||
placeholder="请输入项目名称"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px; display: flex">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目图片:</span
|
||
>
|
||
<div
|
||
style="
|
||
width: 148px;
|
||
height: 148px;
|
||
border: 1px dashed #c0ccda;
|
||
border-radius: 6px;
|
||
text-align: center;
|
||
line-height: 148px;
|
||
"
|
||
>
|
||
<el-upload
|
||
class="avatar-uploader"
|
||
v-model="massageImg"
|
||
:action="uploadUrl"
|
||
:show-file-list="false"
|
||
:on-success="handleAvatarSuccess1"
|
||
:on-progress="onprogress2"
|
||
>
|
||
<!-- <el-progress type="circle" :percentage="100" status="success"></el-progress> -->
|
||
<img
|
||
v-if="massageImg != ''"
|
||
:src="massageImg"
|
||
class="avatar"
|
||
style="border-radius: 6px; width: 148px; height: 148px"
|
||
/>
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
<!-- <el-progress v-if="percentage2>0&&percentage2<100" type="circle" :percentage="percentage2">
|
||
</el-progress> -->
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px; display: flex">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目详情图:</span
|
||
>
|
||
<div class="imgs" v-for="(item, index) in contentImg" :key="index">
|
||
<img width="100%" class="images" height="100%" :src="item" alt="" />
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="clear3(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs" style="width: 50%">
|
||
<el-upload
|
||
:action="uploadUrl"
|
||
list-type="picture-card"
|
||
:show-file-list="false"
|
||
:on-success="handleUploadSuccess3"
|
||
:on-progress="onprogress1"
|
||
>
|
||
<el-progress
|
||
v-if="percentage1 > 0 && percentage1 < 100"
|
||
type="circle"
|
||
:percentage="percentage1"
|
||
></el-progress>
|
||
<i v-else class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>原价:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="oldPrice"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入原价"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>现价:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="price"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入现价"
|
||
></el-input>
|
||
</div>
|
||
<!-- <div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>会员价:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="memberPrice"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入会员价"
|
||
></el-input>
|
||
</div> -->
|
||
<!-- <div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">师傅价:</span>
|
||
<el-input style="width:50%;" v-model="artificerPrice"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" type="number" min="0"
|
||
placeholder="请输入师傅价"></el-input>
|
||
</div> -->
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目时长(分钟):</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="duration"
|
||
type="text"
|
||
placeholder="请输入项目时长(分钟)"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>加钟次数:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="addNum"
|
||
type="text"
|
||
placeholder="请输入加钟次数"
|
||
></el-input>
|
||
</div>
|
||
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>性别限制:</span
|
||
>
|
||
<el-radio-group v-model="isSex">
|
||
<el-radio :label="0">不限制</el-radio>
|
||
<el-radio :label="1">男</el-radio>
|
||
<el-radio :label="2">女</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>适用人群:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="applyPeople"
|
||
type="text"
|
||
placeholder="请输入适用人群"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>状态:</span
|
||
>
|
||
<el-radio-group v-model="massageTypeStatus">
|
||
<el-radio :label="1">上线</el-radio>
|
||
<el-radio :label="2">下线</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>服务城市:</span
|
||
>
|
||
<el-cascader
|
||
style="width: 45%"
|
||
size="large"
|
||
:options="options"
|
||
ref="cascaderAddr"
|
||
v-model="storeAddress"
|
||
:placeholder="storeAddre"
|
||
@change="handleChange55"
|
||
:value="storeAddre"
|
||
>
|
||
</el-cascader>
|
||
<el-button
|
||
type="info"
|
||
class="tj"
|
||
size="mini"
|
||
icon="el-icon-delete"
|
||
circle
|
||
@click="btnCs"
|
||
>
|
||
</el-button>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目标签:</span
|
||
>
|
||
<span class="bqList" v-for="(item, index) in labels1" :key="index"
|
||
>{{ item }}
|
||
<span class="delss">
|
||
<i class="el-icon-delete" @click="dels1(index)"></i>
|
||
</span>
|
||
</span>
|
||
<el-input
|
||
v-model="bq"
|
||
style="width: 200px"
|
||
placeholder="请输入标签"
|
||
></el-input>
|
||
<!-- <button class="tj" @click="btnTj">添加标签</button> -->
|
||
<el-button
|
||
type="primary"
|
||
class="tj"
|
||
size="mini"
|
||
icon="el-icon-edit"
|
||
circle
|
||
@click="btnTj"
|
||
>
|
||
</el-button>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目内容:</span
|
||
>
|
||
<quill-editor
|
||
ref="myTextEditor"
|
||
v-model="content"
|
||
:options="quillOption"
|
||
style="
|
||
padding-bottom: 50px;
|
||
height: 300px;
|
||
width: 72%;
|
||
display: inline-table;
|
||
margin-bottom: 60px;
|
||
"
|
||
>
|
||
</quill-editor>
|
||
<!-- <el-input v-model="content" type="textarea" :rows="5" style="width: 50%" placeholder="请输入项目内容">
|
||
</el-input> -->
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目简介:</span
|
||
>
|
||
<el-input
|
||
v-model="jianjie"
|
||
type="text"
|
||
style="width: 50%"
|
||
placeholder="请输入项目简介"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<!-- 所需物料 -->
|
||
<!-- <div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">所需物料:</span>
|
||
</div> -->
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible9 = false">取 消</el-button>
|
||
<el-button type="primary" @click="refuseto1()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 评价列表 -->
|
||
<el-dialog
|
||
title="评价列表"
|
||
:visible.sync="dialogFormVisible10"
|
||
center
|
||
width="80%"
|
||
>
|
||
<el-table v-loading="tableDataLoading" :data="pinglunData.list">
|
||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||
<el-table-column prop="userName" label="评价用户" width="120">
|
||
<template slot-scope="scope">
|
||
<span
|
||
style="color: #4f9dec; cursor: pointer"
|
||
@click="updatesvideo(scope.row)"
|
||
v-text="scope.row.userName"
|
||
></span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="avatar" label="用户头像" width="100">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.avatar && scope.row.avatar != ''"
|
||
:src="scope.row.avatar"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="content" label="评价内容"> </el-table-column>
|
||
<el-table-column prop="score" label="评分"> </el-table-column>
|
||
<el-table-column prop="createTime" label="评价时间" width="180">
|
||
</el-table-column>
|
||
<el-table-column label="操作" prop="id" width="100" align="center">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="danger"
|
||
:disabled="!isAuth('locality:delete')"
|
||
@click="pinglundelete(scope.row)"
|
||
>删除
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChange3"
|
||
@current-change="handleCurrentChange3"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="size2"
|
||
:current-page="page2"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="pinglunData.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<el-dialog title="项目列表" :visible.sync="dialogFormVisible11" center>
|
||
<el-table v-loading="tableDataLoading" :data="tableData4.list">
|
||
<el-table-column prop="massageTypeId" label="编号" width="80">
|
||
</el-table-column>
|
||
<el-table-column prop="title" label="项目名称"> </el-table-column>
|
||
<el-table-column prop="massageImg" label="项目图片">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.massageImg && scope.row.massageImg != ''"
|
||
:src="scope.row.massageImg"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="certificateImg" label="项目详情图" width="250">
|
||
<template slot-scope="scope">
|
||
<div
|
||
v-for="(item, index) in scope.row.contentImg"
|
||
:key="index"
|
||
style="display: inline-block; margin: 3px"
|
||
>
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img
|
||
style="width: 50px; height: 50px"
|
||
:src="item"
|
||
alt=""
|
||
slot="reference"
|
||
/>
|
||
<img style="width: 300px; height: auto" :src="item" alt="" />
|
||
</el-popover>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="性别要求" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.isSex == 0">不限制</span>
|
||
<span v-if="scope.row.isSex == 1">男</span>
|
||
<span v-if="scope.row.isSex == 2">女</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="applyPeople" label="适用人群">
|
||
</el-table-column>
|
||
<el-table-column prop="region" label="城市" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.city">{{ scope.row.city }}</span>
|
||
<span v-else>不限</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="oldPrice" label="原价"> </el-table-column>
|
||
<el-table-column prop="price" label="现价"> </el-table-column>
|
||
<!-- <el-table-column prop="memberPrice" label="会员价"> </el-table-column> -->
|
||
<!-- <el-table-column prop="artificerPrice" label="师傅价">
|
||
</el-table-column> -->
|
||
<el-table-column prop="duration" label="时长(分钟)">
|
||
</el-table-column>
|
||
<el-table-column prop="addNum" label="加钟次数"> </el-table-column>
|
||
<el-table-column prop="labels" label="标签" width="200">
|
||
</el-table-column>
|
||
<el-table-column prop="sales" label="销量"> </el-table-column>
|
||
<el-table-column prop="content" label="详情" width="300">
|
||
</el-table-column>
|
||
<el-table-column prop="status" label="状态">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.status == 1">上线</span>
|
||
<span v-if="scope.row.status == 2">下线</span>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="createTime" label="创建时间" width="160">
|
||
</el-table-column> -->
|
||
<el-table-column
|
||
label="操作"
|
||
prop="id"
|
||
width="80"
|
||
fixed="right"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
:disabled="!isAuth('locality:add')"
|
||
@click="classListAdd(scope.row)"
|
||
>添加
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChange4"
|
||
@current-change="handleCurrentChange4"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="limit3"
|
||
:current-page="page3"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="tableData4.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 加钟项目 -->
|
||
<el-dialog
|
||
title="加钟项目"
|
||
:visible.sync="dialogFormVisibleJz"
|
||
center
|
||
width="80%"
|
||
>
|
||
<div style="text-align: right; display: inline-block">
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
:disabled="!isAuth('locality:add')"
|
||
@click="classAddJz(0)"
|
||
>添加
|
||
</el-button>
|
||
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
:disabled="!isAuth('locality:add')"
|
||
@click="getList()"
|
||
>项目列表
|
||
</el-button>
|
||
</div>
|
||
<el-table v-loading="tableDataLoadingJz" :data="tableDataJz.list">
|
||
<el-table-column
|
||
prop="massageTypeId"
|
||
label="编号"
|
||
width="80"
|
||
fixed="left"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="title"
|
||
label="项目名称"
|
||
fixed="left"
|
||
width="150"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column prop="massageImg" label="图片">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.massageImg && scope.row.massageImg != ''"
|
||
:src="scope.row.massageImg"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="price" label="现价"> </el-table-column>
|
||
<!-- <el-table-column prop="memberPrice" label="会员价"> </el-table-column> -->
|
||
<!-- <el-table-column prop="artificerPrice" label="师傅价">
|
||
</el-table-column> -->
|
||
<el-table-column prop="duration" label="时长(分钟)">
|
||
</el-table-column>
|
||
<el-table-column prop="status" label="状态">
|
||
<template slot-scope="scope">
|
||
<el-switch
|
||
v-model="scope.row.status"
|
||
@change="change(scope.row.massageTypeId, scope.row.status)"
|
||
:disabled="!isAuth('locality:update')"
|
||
:active-value="openValue2"
|
||
:inactive-value="closeValue2"
|
||
active-color="#13ce66"
|
||
inactive-color="#ff4949"
|
||
>
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="createTime" label="创建时间" width="160">
|
||
</el-table-column> -->
|
||
<el-table-column label="操作" prop="id" width="170" fixed="right">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="classAddJz(scope.row)"
|
||
>修改
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="danger"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:delete')"
|
||
@click="classdeleteJz(scope.row)"
|
||
>删除
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChangeJz"
|
||
@current-change="handleCurrentChangeJz"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="limit"
|
||
:current-page="page"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="tableDataJz.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 添加、修改加钟项目 -->
|
||
<el-dialog :title="titles" :visible.sync="dialogFormVisibleJzA" center>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目类型:</span
|
||
>
|
||
<el-select clearable v-model="classType" style="width: 50%">
|
||
<el-option
|
||
v-for="item in fwData"
|
||
:key="item.id"
|
||
:label="item.value"
|
||
:value="item.id"
|
||
>
|
||
</el-option> </el-select
|
||
>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目名称:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="massageTypeTitle"
|
||
type="text"
|
||
placeholder="请输入项目名称"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px; display: flex">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目图片:</span
|
||
>
|
||
<div
|
||
style="
|
||
width: 148px;
|
||
height: 148px;
|
||
border: 1px dashed #c0ccda;
|
||
border-radius: 6px;
|
||
text-align: center;
|
||
line-height: 148px;
|
||
"
|
||
>
|
||
<el-upload
|
||
class="avatar-uploader"
|
||
v-model="massageImg"
|
||
:action="uploadUrl"
|
||
:show-file-list="false"
|
||
:on-success="handleAvatarSuccess1"
|
||
:on-progress="onprogress2"
|
||
>
|
||
<!-- <el-progress type="circle" :percentage="100" status="success"></el-progress> -->
|
||
<img
|
||
v-if="massageImg != ''"
|
||
:src="massageImg"
|
||
class="avatar"
|
||
style="border-radius: 6px; width: 148px; height: 148px"
|
||
/>
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
<!-- <el-progress v-if="percentage2>0&&percentage2<100" type="circle" :percentage="percentage2">
|
||
</el-progress> -->
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>现价:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="price"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入现价"
|
||
></el-input>
|
||
</div>
|
||
<!-- <div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>会员价:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="memberPrice"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入会员价"
|
||
></el-input>
|
||
</div> -->
|
||
<!-- <div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">师傅价:</span>
|
||
<el-input style="width:50%;" v-model="artificerPrice"
|
||
onkeyup="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" type="number" min="0"
|
||
placeholder="请输入师傅价"></el-input>
|
||
</div> -->
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>项目时长(分钟):</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="duration"
|
||
type="text"
|
||
placeholder="请输入项目时长(分钟)"
|
||
></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>状态:</span
|
||
>
|
||
<el-radio-group v-model="massageTypeStatus">
|
||
<el-radio :label="1">上线</el-radio>
|
||
<el-radio :label="2">下线</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisibleJzA = false">取 消</el-button>
|
||
<el-button type="primary" @click="refusetoJz()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 信用分明细 -->
|
||
<el-dialog title="信用分明细" :visible.sync="dialogFormVisibleXyf" center>
|
||
<el-table v-loading="tableDataLoadingXyf" :data="tableDataXyf.list">
|
||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||
<!-- <el-table-column prop="userName" label="投诉的用户" width="100">
|
||
<template slot-scope="scope">
|
||
<span style="color: #4f9dec;cursor: pointer;" @click="updatesvideo(scope.row)">
|
||
{{ scope.row.userName?scope.row.userName:'未绑定'}}
|
||
</span>
|
||
</template>
|
||
</el-table-column> -->
|
||
<el-table-column prop="title" label="标题" width="150">
|
||
</el-table-column>
|
||
<el-table-column prop="content" label="内容"> </el-table-column>
|
||
<!-- <el-table-column prop="image" label="图片" width="150">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.image">
|
||
<div v-for="(item,index) in scope.row.image.split(',')" :key="index"
|
||
style="display: inline-block; margin: 3px;">
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
|
||
<img style="width: 300px; height: auto" :src="item" alt="">
|
||
</el-popover>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column> -->
|
||
<!-- <el-table-column prop="createAt" label="创建时间" width="100"></el-table-column> -->
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChangeXyf"
|
||
@current-change="handleCurrentChangeXyf"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="size1"
|
||
:current-page="page1"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="tableDataXyf.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 修改销量 -->
|
||
<el-dialog title="修改销量" :visible.sync="dialogFormVisibleBz" center>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>销量:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="ordersales"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入销量"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisibleBz = false">取 消</el-button>
|
||
<el-button type="primary" @click="replyNoticeTo()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
</el-tabs>
|
||
<el-dialog
|
||
title="物料包列表"
|
||
:visible.sync="showMaterialPackageTable"
|
||
center
|
||
>
|
||
<div style="display: flex; align-items: center">
|
||
<div style="position: relative; display: inline-block">
|
||
<span>项目名称:</span>
|
||
<el-input
|
||
style="width: 150px"
|
||
@keydown.enter.native="phoneSelect1"
|
||
placeholder="请输入项目名称"
|
||
v-model="projectName"
|
||
>
|
||
</el-input
|
||
>
|
||
</div>
|
||
<div
|
||
style="display: flex; justify-content: center; align-items: center"
|
||
>
|
||
<el-button
|
||
style="margin-left: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="searchDataList"
|
||
>查询
|
||
</el-button>
|
||
<el-button
|
||
style="margin-left: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="resetSearch"
|
||
>重置
|
||
</el-button>
|
||
<el-button
|
||
style="margin-left: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="add"
|
||
>新增
|
||
</el-button>
|
||
</div>
|
||
</div>
|
||
<el-table
|
||
v-loading="materialPackageTableDataLoading"
|
||
:data="materialPackageTable.records"
|
||
>
|
||
<el-table-column prop="id" label="编号" width="80" fixed="left">
|
||
</el-table-column>
|
||
<el-table-column prop="materialName" label="物料包名称" fixed="left">
|
||
</el-table-column>
|
||
<el-table-column prop="materialMinimum" label="最低数量">
|
||
</el-table-column>
|
||
<el-table-column prop="consume" label="消耗数量">
|
||
<!-- <template slot-scope="scope">
|
||
|
||
<el-input v-if="isShow[scope.$index]" type="number" size="mini"
|
||
v-model.trim="scope.row.consumeNum" />
|
||
|
||
<span v-if="!isShow[scope.$index]">{{ scope.row.consume }}</span>
|
||
</template> -->
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="detail" label="备注">
|
||
</el-table-column> -->
|
||
<el-table-column label="操作" prop="id" width="340" fixed="right">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="editConsume(scope.row)"
|
||
>修改
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="danger"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="delMaterialPackage(scope.row)"
|
||
>删除
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="sizeChangeFun"
|
||
@current-change="currentChangeFun"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="sizeInner"
|
||
:current-page="currentPageInner"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="materialPackageTable.total"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
|
||
<!-- 新增消耗数量 -->
|
||
<el-dialog title="新增消耗数量" :visible.sync="isShowAddConsume" center>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>消耗数量:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="addConsume"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入消耗数量"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="isShowAddConsume = false">取 消</el-button>
|
||
<el-button type="primary" @click="addConsumeSubmit()"
|
||
>新增并添加</el-button
|
||
>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 修改消耗数量 -->
|
||
<el-dialog title="修改消耗数量" :visible.sync="isShowConsume" center>
|
||
<div style="margin-bottom: 10px">
|
||
<span style="width: 200px; display: inline-block; text-align: right"
|
||
>消耗数量:</span
|
||
>
|
||
<el-input
|
||
style="width: 50%"
|
||
v-model="consume"
|
||
type="number"
|
||
min="0"
|
||
placeholder="请输入消耗数量"
|
||
>
|
||
</el-input>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="isShowConsume = false">取 消</el-button>
|
||
<el-button type="primary" @click="editConsumeSubmit()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
|
||
<el-dialog title="物料包列表" :visible.sync="isShowMaterial" center>
|
||
<div style="display: flex; align-items: center">
|
||
<div style="position: relative; display: inline-block; margin: 5px">
|
||
<span>物料包类型:</span>
|
||
<el-select
|
||
clearable
|
||
v-model="projectTypeInner"
|
||
style="width: 150px; margin-left: 10px"
|
||
>
|
||
<el-option
|
||
v-for="item in materialPackageType"
|
||
:key="item.id"
|
||
:label="item.value"
|
||
:value="item.id"
|
||
>
|
||
</el-option> </el-select
|
||
>
|
||
</div>
|
||
<div style="position: relative; display: inline-block">
|
||
<span>项目名称:</span>
|
||
<el-input
|
||
style="width: 150px"
|
||
@keydown.enter.native="phoneSelect1"
|
||
placeholder="请输入项目名称"
|
||
v-model="projectNameInner"
|
||
>
|
||
</el-input
|
||
>
|
||
</div>
|
||
<div
|
||
style="display: flex; justify-content: center; align-items: center"
|
||
>
|
||
<el-button
|
||
style="margin-left: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="searchResult"
|
||
>查询
|
||
</el-button>
|
||
<el-button
|
||
style="margin-left: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="resetSearchResult"
|
||
>重置 </el-button
|
||
>
|
||
</div>
|
||
</div>
|
||
<el-table
|
||
v-loading="materialTableLoading"
|
||
:data="materialTableDataList.records"
|
||
>
|
||
<el-table-column prop="id" label="编号" width="80" fixed="left">
|
||
</el-table-column>
|
||
<el-table-column prop="projectType" label="项目类型" fixed="left">
|
||
<template slot-scope="scope">
|
||
{{getDictLabel(scope.row.status)}}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="materialName" label="物料包名称" fixed="left">
|
||
</el-table-column>
|
||
<el-table-column prop="materialMinimum" label="最低数量">
|
||
</el-table-column>
|
||
<el-table-column prop="detail" label="备注"> </el-table-column>
|
||
<el-table-column label="操作" prop="id" width="250" fixed="right">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
style="margin: 5px"
|
||
:disabled="!isAuth('locality:update')"
|
||
@click="addPackage(scope.row)"
|
||
>添加
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="sizeChangeInnerFun"
|
||
@current-change="currentChangeInnerFun"
|
||
:page-sizes="[10, 20, 30, 40]"
|
||
:page-size="pageSizeInner"
|
||
:current-page="currentInnerPage"
|
||
layout="total,sizes, prev, pager, next,jumper"
|
||
:total="materialTableDataList.total"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 项目列表弹框 -->
|
||
<el-dialog title="加钟项目列表" :visible.sync="Listframe" width="80%">
|
||
<div style="position: relative; display: inline-block">
|
||
<span>项目名称:</span>
|
||
<el-input
|
||
style="width: 200px"
|
||
placeholder="请输入项目名称"
|
||
v-model="clockTitle"
|
||
>
|
||
</el-input
|
||
>
|
||
</div>
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="clockQuery"
|
||
>查询
|
||
</el-button>
|
||
<el-button
|
||
style="margin: 10px"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="clockReset"
|
||
>重置
|
||
</el-button>
|
||
|
||
<el-table :data="clockData.list" style="width: 100%">
|
||
<el-table-column prop="title" label="项目名称" width="180">
|
||
</el-table-column>
|
||
<el-table-column prop="massageImg" label="图片">
|
||
<template slot-scope="scope">
|
||
<img
|
||
v-if="scope.row.massageImg && scope.row.massageImg != ''"
|
||
:src="scope.row.massageImg"
|
||
width="40"
|
||
height="40"
|
||
/>
|
||
<span v-else>暂无图片</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="duration" label="时长(分钟)"> </el-table-column>
|
||
<el-table-column prop="price" label="现价"> </el-table-column>
|
||
<!-- <el-table-column prop="memberPrice" label="会员价"> </el-table-column> -->
|
||
<el-table-column label="操作" prop="id" width="160" fixed="right">
|
||
<template slot-scope="scope">
|
||
<el-button
|
||
style="margin: 10px 0"
|
||
size="mini"
|
||
type="primary"
|
||
icon="document"
|
||
@click="addList(scope.row)"
|
||
>添加
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center; margin-top: 10px">
|
||
<el-pagination
|
||
@size-change="handleSizeChange"
|
||
@current-change="handleCurrentChange"
|
||
:page-size="childLimit"
|
||
:current-page="childPage"
|
||
layout="total, prev, pager, next,jumper"
|
||
:total="clockData.totalCount"
|
||
>
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
|
||
|
||
|
||
<el-dialog title="新增评论" :visible.sync="dialogSaveVisible" center>
|
||
<el-form :model="saveForm">
|
||
<el-form-item label="内容" :label-width="formLabelWidth">
|
||
<el-input v-model="saveForm.content" type="textarea" style="width:65%;" > </el-input>
|
||
</el-form-item>
|
||
<el-form-item label="评分" :label-width="formLabelWidth">
|
||
<el-input v-model="saveForm.score" type="number" :max="5" style="width:65%;" > </el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogSaveVisible = false">取 消</el-button>
|
||
<el-button type="primary" @click="handelQueren()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { quillEditor } from "vue-quill-editor";
|
||
import "quill/dist/quill.core.css";
|
||
import "quill/dist/quill.snow.css";
|
||
import "quill/dist/quill.bubble.css";
|
||
import quillConfig from "./quill-config.js";
|
||
import axios from "axios";
|
||
import { jsonp } from "vue-jsonp";
|
||
import { serverPaths } from '@/utils/enumData'
|
||
import {
|
||
provinceAndCityData,
|
||
regionData,
|
||
provinceAndCityDataPlus,
|
||
regionDataPlus,
|
||
CodeToText,
|
||
TextToCode,
|
||
} from "element-china-area-data";
|
||
var cityOptions = [];
|
||
var geocoder,
|
||
map,
|
||
markersArray = [];
|
||
export default {
|
||
components: {
|
||
quillEditor,
|
||
},
|
||
data() {
|
||
return {
|
||
uploadUrl: serverPaths.uploadUrl,
|
||
uploadWatermarkUrl: serverPaths.uploadWatermarkUrl,
|
||
clockData: [], //加钟项目列表数据
|
||
clockTitle: "", //加钟项目名称
|
||
isShowAddConsume: false,
|
||
addConsume: "",
|
||
isShowConsume: false,
|
||
consume: "",
|
||
projectTypeInner: "",
|
||
projectNameInner: "",
|
||
currentInnerPage: 1,
|
||
pageSizeInner: 10,
|
||
materialTableLoading: true,
|
||
materialTableDataList: [],
|
||
sizeInner: 10,
|
||
currentPageInner: 1,
|
||
serverId: "",
|
||
userId: "",
|
||
isShow: [],
|
||
consumeNum: 0,
|
||
materialPackageselect: "",
|
||
materialPackageType: [],
|
||
childClassifyId: "",
|
||
projectName: "",
|
||
dialogWidth: 0,
|
||
size: 10,
|
||
page: 1,
|
||
size1: 10,
|
||
page1: 1,
|
||
size2: 10,
|
||
page2: 1,
|
||
page3: 1,
|
||
limit3: 10,
|
||
state: "",
|
||
childLimit: 5,
|
||
childPage: 1,
|
||
limit: 10,
|
||
classify: 6,
|
||
classifys: 6,
|
||
openValue: 1,
|
||
closeValue: 2,
|
||
openValue1: 0,
|
||
closeValue1: 1,
|
||
openValue2: 1,
|
||
closeValue2: 2,
|
||
openValue3: 1,
|
||
closeValue3: 0,
|
||
title: "",
|
||
type: "",
|
||
name: "",
|
||
keyword: "",
|
||
describes: "",
|
||
checkBoxData: [], //多选框选择的值
|
||
method: "false",
|
||
formLabelWidth: "200px",
|
||
activeName: "third",
|
||
tableDataLoading: true,
|
||
tableDataLoading1: false,
|
||
tableDataLoading4: false,
|
||
dialogFormVisible3: false,
|
||
dialogFormVisible1: false,
|
||
dialogFormVisible2: false,
|
||
dialogFormVisible5: false,
|
||
dialogFormVisible6: false,
|
||
dialogFormVisible7: false,
|
||
dialogFormVisible8: false,
|
||
dialogFormVisible9: false,
|
||
dialogFormVisible10: false,
|
||
dialogFormVisible11: false,
|
||
dialogSaveVisible: false,
|
||
homeData: [],
|
||
homeData1: [
|
||
{
|
||
massageTypeId: 0,
|
||
title: "全部",
|
||
},
|
||
],
|
||
classify: 2,
|
||
classifyList: [
|
||
// {
|
||
// id: '',
|
||
// name: '全部'
|
||
// },
|
||
// {
|
||
// id: 1,
|
||
// name: '线上'
|
||
// },
|
||
{
|
||
id: 2,
|
||
name: "线下",
|
||
},
|
||
],
|
||
choicenData: [],
|
||
pinglunData: {},
|
||
renwuId: "",
|
||
url: "",
|
||
imageUrl: "",
|
||
id: "",
|
||
userId: "",
|
||
artificerName: "",
|
||
myPhone: "",
|
||
massageTypeId: "",
|
||
statusId: "",
|
||
ordersales:"",
|
||
statuss: [
|
||
{
|
||
id: "",
|
||
title: "全部",
|
||
},
|
||
{
|
||
id: 0,
|
||
title: "服务中",
|
||
},
|
||
{
|
||
id: 1,
|
||
title: "待审核",
|
||
},
|
||
{
|
||
id: 2,
|
||
title: "已下架",
|
||
},
|
||
{
|
||
id: 3,
|
||
title: "拒绝",
|
||
},
|
||
],
|
||
// 项目列表
|
||
Listframe: false,
|
||
// 发布信息
|
||
myLevel: "", //标题
|
||
orderLevel: "", //接单段位
|
||
userIdss: "", //用户id
|
||
orderTakingArea: "", //接单大区
|
||
homepageImg: "", //封面图
|
||
headImg: "", //主页图
|
||
percentage: 0, //进度条
|
||
percentage2: 0, //进度条
|
||
voiceIntroduce: "", //语音介绍
|
||
gameId: "", //项目id
|
||
oldMoney: "", //发布价格
|
||
money: "", //普通用户价格
|
||
orderLevel: "", //经验
|
||
memberMoney: "", //会员价格
|
||
latitude: "", //纬度
|
||
longitude: "", //经度
|
||
city: "", //市
|
||
orderTakingTime: "",
|
||
status: "", //状态0待审核 1上架 2下架 3驳回 (修改添加不传)
|
||
region: "", //最低项目时间
|
||
unit: "小时",
|
||
phone: "", //电话
|
||
phone1: "",
|
||
pickeroptions: {
|
||
selectableRange: "00:00:01 - 23:59:59",
|
||
},
|
||
value1: "",
|
||
value2: "",
|
||
|
||
options: provinceAndCityData,
|
||
storeAddress: [],
|
||
storeAddre: "请选择城市",
|
||
province: "", //省
|
||
district: "", //区
|
||
ids: "", //信息id
|
||
nickName: "",
|
||
nickName1: "",
|
||
nickName2: "",
|
||
userIds: {}, //用户列表
|
||
bq: "", //输入的标签名
|
||
missions: 0,
|
||
shenheId: 0, //审核id
|
||
contents: "", //驳回理由
|
||
dialogVisible: false,
|
||
radio: 0,
|
||
multipleSelection: [],
|
||
campus: "",
|
||
campus1: "",
|
||
campusName: "",
|
||
homeData2: [],
|
||
quillOption: quillConfig,
|
||
statusIdd: 1,
|
||
tableData: {},
|
||
tableData3: [],
|
||
tableData4: {},
|
||
titles: "添加项目项目",
|
||
renwuTitles: "添加任务",
|
||
gameName: "",
|
||
gameIds: "",
|
||
gameImg: "",
|
||
gameStatus: "",
|
||
checkList: [], //多选 选中集合
|
||
detailsImg: [], //轮播图
|
||
certificateImg: [], //资格证书
|
||
workImg: [], //工作照片
|
||
hideUpload: false,
|
||
percentage1: 0,
|
||
authentication: 1,
|
||
// 师傅分类参数
|
||
labels1: [], //标签集合
|
||
bq: "", //输入的标签名
|
||
artificerPrice: "", //师傅价格
|
||
city: "", //师傅城市
|
||
content: "", //内容
|
||
contentImg: [], //详情图
|
||
duration: "", //时长
|
||
addNum: "", //加钟次数
|
||
isSex: "", //师傅性别
|
||
applyPeople: "", //适用人群
|
||
labels: "", //标签
|
||
massageImg: "", //图片
|
||
massageTypeId: "", //师傅分类Id
|
||
// memberPrice: "", //会员价
|
||
oldPrice: "", //原价
|
||
price: "", //现价
|
||
sales: "", //销量
|
||
massageTypeStatus: "", //师傅分类状态
|
||
massageTypeTitle: "", //标题
|
||
citys: "",
|
||
artificerId: "",
|
||
userId1: "",
|
||
classTypeList: [],
|
||
// 加钟项目
|
||
dialogFormVisibleJz: false,
|
||
fwData: [],
|
||
classifyId: "",
|
||
classType: "",
|
||
parentId: "",
|
||
tableDataJz: {},
|
||
tableDataLoadingJz: false,
|
||
dialogFormVisibleJzA: false,
|
||
pageJ: 1,
|
||
limitJ: 10,
|
||
dialogFormVisibleXyf: false,
|
||
tableDataLoadingXyf: false,
|
||
tableDataXyf: {},
|
||
dialogFormVisibleBz: false,
|
||
ordersId: "",
|
||
content: "",
|
||
serveTime: "",
|
||
jianjie: "",
|
||
needsMaterialPackage: "",
|
||
needsMaterialPackageOptions: [],
|
||
showMaterialPackageTable: false,
|
||
materialPackageTableDataLoading: false,
|
||
materialPackageTable: [],
|
||
projectTypeStr: "",
|
||
isShowMaterial: false,
|
||
consumeId: "",
|
||
materialId: "",
|
||
materialPackageClassifyId: "",
|
||
getMaterialPackageDataOfRow: {},
|
||
|
||
//新增评论内容
|
||
saveForm:{
|
||
massageTypeId: '',
|
||
content: '',
|
||
score: ''
|
||
},
|
||
plmassageTypeId:'',
|
||
};
|
||
},
|
||
methods: {
|
||
handleAddpl(record){
|
||
this.dialogSaveVisible = true;
|
||
this.plmassageTypeId = record.massageTypeId;
|
||
this.saveForm = {
|
||
massageTypeId: '',
|
||
content: '',
|
||
score: ''
|
||
}
|
||
},
|
||
//新增评论保存
|
||
handelQueren(){
|
||
this.$http({
|
||
url: this.$http.adornUrl('takingComment/insertTaking'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'content': this.saveForm.content,
|
||
'score': this.saveForm.score,
|
||
'massageTypeId': this.plmassageTypeId,
|
||
})
|
||
}).then(({ data }) => {
|
||
this.dialogSaveVisible = false;
|
||
this.classSelect();
|
||
})
|
||
},
|
||
//翻译字典(手动)
|
||
getDictLabel(val){
|
||
var list = this.materialPackageType;
|
||
var labelText = "";
|
||
for(var i=0;i<list.length;i++){
|
||
if(val==list[i].id){
|
||
labelText = list[i].value;
|
||
break;
|
||
}
|
||
}
|
||
return labelText;
|
||
},
|
||
//获取字典信息
|
||
getDictOptions() {
|
||
this.$http({
|
||
url: this.$http.adornUrl('sys/dict/list'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'page': 1,
|
||
'limit': 100,
|
||
'parentId': 22,
|
||
})
|
||
}).then(({ data }) => {
|
||
console.log(`🚀 ~ getDictOptions ~ data:`, data)
|
||
if (data && data.code === 0) {
|
||
this.materialPackageType = data.page.list;
|
||
}
|
||
})
|
||
},
|
||
// 加钟项目查询
|
||
clockQuery() {
|
||
this.page = 1;
|
||
this.selectMassageTypeChildrenPage();
|
||
},
|
||
// 加钟项目重置
|
||
clockReset() {
|
||
this.clockTitle = "";
|
||
this.selectMassageTypeChildrenPage();
|
||
},
|
||
// 加钟项目列表添加进行赋值,打开添加弹窗
|
||
addList(row) {
|
||
console.log("row", row);
|
||
this.titles = "添加加钟项目";
|
||
this.massageTypeTitle = row.title;
|
||
this.massageTypeStatus = row.status;
|
||
this.sales = row.sales;
|
||
this.price = row.price;
|
||
this.oldPrice = row.oldPrice;
|
||
this.memberPrice = row.memberPrice;
|
||
this.artificerPrice = row.artificerPrice;
|
||
this.massageTypeId = row.massageTypeId;
|
||
this.massageImg = row.massageImg;
|
||
// this.isSex = row.isSex
|
||
this.duration = row.duration;
|
||
this.contentImg = row.contentImg;
|
||
this.content = row.content;
|
||
this.city = row.city;
|
||
this.labels1 = row.labels.split(",");
|
||
this.storeAddre = this.city;
|
||
this.classType = row.classifyId;
|
||
this.jianjie = row.jianjie;
|
||
this.Listframe = false;
|
||
this.dialogFormVisibleJzA = true;
|
||
this.classSelectJz();
|
||
},
|
||
// 获取加钟项目列表
|
||
getList() {
|
||
this.selectMassageTypeChildrenPage();
|
||
this.Listframe = true;
|
||
},
|
||
|
||
addConsumeSubmit() {
|
||
if (!this.addConsume) {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "消耗数量不能为空",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
this.isShowMaterial = false;
|
||
this.$http({
|
||
url: this.$http.adornUrl("material/materialMassageInsert"),
|
||
method: "post",
|
||
data: this.$http.adornData({
|
||
consume: this.addConsume,
|
||
createUser: this.userId,
|
||
updateUser: this.userId,
|
||
materialId: this.materialId,
|
||
massageTypeId: this.serverId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.isShowAddConsume = false;
|
||
this.isShowMaterial = false;
|
||
this.$message({
|
||
message: "添加成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.getMaterialPackageDataList();
|
||
this.addConsume = "";
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
this.addConsume = "";
|
||
});
|
||
},
|
||
editConsumeSubmit() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("material/materialMassageUpdata"),
|
||
method: "post",
|
||
data: this.$http.adornData({
|
||
updateUser: this.userId,
|
||
consume: this.consume,
|
||
id: this.consumeId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.isShowConsume = false;
|
||
this.$message({
|
||
message: "修改成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.getMaterialPackageDataList();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
editConsume(row) {
|
||
this.isShowConsume = true;
|
||
this.consume = row.consume;
|
||
this.consumeId = row.id;
|
||
},
|
||
addPackage(row) {
|
||
console.log(row, "12d2d2;");
|
||
this.isShowAddConsume = true;
|
||
this.materialId = row.id;
|
||
},
|
||
searchResult() {
|
||
this.getMaterialTableDataList();
|
||
},
|
||
resetSearchResult() {
|
||
this.projectTypeInner = "";
|
||
this.projectNameInner = "";
|
||
},
|
||
sizeChangeInnerFun(e) {
|
||
this.pageSizeInner = e;
|
||
this.getMaterialTableDataList();
|
||
},
|
||
currentChangeInnerFun(e) {
|
||
this.currentInnerPage = e;
|
||
this.getMaterialTableDataList();
|
||
},
|
||
add() {
|
||
this.isShowMaterial = true;
|
||
this.getMaterialTableDataList();
|
||
},
|
||
getMaterialTableDataList() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("material/list"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.currentInnerPage,
|
||
limit: this.pageSizeInner,
|
||
// status: this.materialPackageClassifyId == 91 ? 2 : 1,
|
||
status: this.materialPackageClassifyId,
|
||
materialName: this.projectNameInner,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("12332hhhh", data);
|
||
if (data.code == 0) {
|
||
this.materialTableLoading = false;
|
||
let returnData = data.data;
|
||
// for (var i in returnData.records) {
|
||
// if (returnData.records[i].status == 1) {
|
||
// returnData.records[i].projectType = "中医推拿";
|
||
// } else {
|
||
// returnData.records[i].projectType = "精油SPA";
|
||
// }
|
||
// }
|
||
this.materialTableDataList = returnData;
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
delMaterialPackage(row) {
|
||
console.log(row);
|
||
this.$http({
|
||
url: this.$http.adornUrl("material/materialMassageDelete"),
|
||
method: "post",
|
||
data: this.$http.adornData({
|
||
id: row.id,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code === 0) {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
onClose: () => {
|
||
this.getMaterialPackageDataList();
|
||
},
|
||
});
|
||
this.getMaterialPackageDataList();
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "error",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
sizeChangeFun(e) {
|
||
this.sizeInner = e;
|
||
this.getMaterialPackageDataList();
|
||
},
|
||
currentChangeFun(e) {
|
||
this.currentPageInner = e;
|
||
this.getMaterialPackageDataList();
|
||
},
|
||
//查看照片
|
||
refund(e) {
|
||
console.log(e);
|
||
this.imageUrl = [];
|
||
if (e.img != null) {
|
||
let img = e.img.split(",");
|
||
if (img.length != 0) {
|
||
this.imageUrl = img;
|
||
}
|
||
}
|
||
this.dialogVisible = true;
|
||
},
|
||
// 多选
|
||
changeFun(val) {
|
||
this.checkBoxData = val;
|
||
},
|
||
handleSizeChange(val) {
|
||
this.limit = val;
|
||
this.classSelect();
|
||
},
|
||
handleCurrentChange(val) {
|
||
this.page = val;
|
||
this.classSelect();
|
||
},
|
||
handleSizeChange1(val) {
|
||
this.limit = val;
|
||
this.InformationSelect();
|
||
},
|
||
handleCurrentChange1(val) {
|
||
this.page = val;
|
||
this.InformationSelect();
|
||
},
|
||
handleSizeChange2(val) {
|
||
this.size1 = val;
|
||
this.tableDataLoading4 = true;
|
||
this.userClass();
|
||
},
|
||
handleCurrentChange2(val) {
|
||
this.page1 = val;
|
||
this.tableDataLoading4 = true;
|
||
this.userClass();
|
||
},
|
||
handleSizeChange3(val) {
|
||
this.size2 = val;
|
||
this.pinglunSelect(this.renwuId);
|
||
},
|
||
handleCurrentChange3(val) {
|
||
this.page2 = val;
|
||
this.pinglunSelect(this.renwuId);
|
||
},
|
||
handleSizeChange4(val) {
|
||
this.size3 = val;
|
||
this.pinglunSelect(this.renwuId);
|
||
},
|
||
handleCurrentChange4(val) {
|
||
this.page3 = val;
|
||
this.pinglunSelect(this.renwuId);
|
||
},
|
||
handleSizeChangeJz(val) {
|
||
this.limitJ = val;
|
||
this.classSelectJz();
|
||
},
|
||
handleCurrentChangeJz(val) {
|
||
this.pageJ = val;
|
||
this.classSelectJz();
|
||
},
|
||
handleSizeChangeXyf(val) {
|
||
this.size1 = val;
|
||
this.xinyongSelect(this.artificerId);
|
||
},
|
||
handleCurrentChangeXyf(val) {
|
||
this.page1 = val;
|
||
this.xinyongSelect(this.artificerId);
|
||
},
|
||
handleClick(tab, event) {
|
||
this.campus = "";
|
||
this.campus1 = "";
|
||
this.citys = "";
|
||
this.page = 1;
|
||
if (tab._props.label == "师傅列表") {
|
||
this.authentication = 1;
|
||
this.type = 2;
|
||
this.InformationSelect();
|
||
}
|
||
|
||
if (tab._props.label == "项目列表") {
|
||
this.classSelect();
|
||
}
|
||
},
|
||
|
||
//添加精选商品
|
||
choiaddNotice() {
|
||
this.campus = "";
|
||
this.campus1 = "";
|
||
this.renwuTitles = "添加任务";
|
||
this.dialogFormVisible5 = true;
|
||
this.percentage = 0;
|
||
this.gameId = "";
|
||
this.myLevel = "";
|
||
this.orderTakingTime = "";
|
||
this.value1 = "";
|
||
this.value2 = "";
|
||
this.orderLevel = "";
|
||
this.orderTakingArea = "";
|
||
this.headImg = "";
|
||
this.oldMoney = "";
|
||
this.money = "";
|
||
this.orderLevel = "";
|
||
this.memberMoney = "";
|
||
this.region = "";
|
||
this.describes = "";
|
||
this.unit = "小时";
|
||
this.latitude = "";
|
||
this.longitude = "";
|
||
this.voiceIntroduce = "";
|
||
this.userIdss = "";
|
||
this.city = "";
|
||
this.nickName1 = "";
|
||
this.nickName2 = "";
|
||
this.phone = "";
|
||
this.jianjie = "";
|
||
this.checkList = [];
|
||
this.getMyLocation();
|
||
console.log("this.homepageImg", this.homepageImg);
|
||
},
|
||
// 查询
|
||
phoneSelect() {
|
||
this.page = 1;
|
||
this.InformationSelect();
|
||
},
|
||
// 重置
|
||
cleans2() {
|
||
this.status = "";
|
||
this.statusId = "";
|
||
this.artificerName = "";
|
||
this.massageTypeId = "";
|
||
this.classifyIds = "";
|
||
this.citys = "";
|
||
this.classifyId = "";
|
||
this.page = 1;
|
||
console.log("this.phone", this.myPhone);
|
||
this.InformationSelect();
|
||
},
|
||
// 查询
|
||
phoneSelect1() {
|
||
this.page = 1;
|
||
this.classSelect();
|
||
},
|
||
// 重置
|
||
cleans3() {
|
||
this.citys = "";
|
||
this.title = "";
|
||
this.classifyId = "";
|
||
this.page = 1;
|
||
this.classSelect();
|
||
},
|
||
// 获取项目项目启用列表
|
||
homeSelect() {
|
||
this.tableDataLoading = true;
|
||
this.$http({
|
||
url: this.$http.adornUrl(`artificer/selectMassageTypeList`),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
status: 0,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.homeData1 = [
|
||
{
|
||
massageTypeId: "",
|
||
title: "全部",
|
||
},
|
||
];
|
||
if (data.data.length > 0) {
|
||
for (var i in data.data) {
|
||
this.homeData1.push(data.data[i]);
|
||
data.data[i].state = Number(data.data[i].state);
|
||
}
|
||
}
|
||
this.homeData = data.data;
|
||
});
|
||
},
|
||
// 信息数据
|
||
InformationSelect() {
|
||
this.userId = this.$store.state.user.id;
|
||
var massageTypeId = "";
|
||
if (this.massageTypeId != "") {
|
||
massageTypeId = this.massageTypeId;
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl(`artificer/selectArtificerList`),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.page,
|
||
limit: this.limit,
|
||
artificerName: this.artificerName,
|
||
massageTypeId: this.massageTypeId,
|
||
longitude: "",
|
||
latitude: "",
|
||
city: this.citys,
|
||
classifyId: this.classifyId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.choicenData = returnData;
|
||
for (var i in this.choicenData.list) {
|
||
if (this.choicenData.list[i].lifePhoto) {
|
||
this.choicenData.list[i].lifePhoto =
|
||
this.choicenData.list[i].lifePhoto.split(",");
|
||
}
|
||
if (this.choicenData.list[i].certificate) {
|
||
this.choicenData.list[i].certificate =
|
||
this.choicenData.list[i].certificate.split(",");
|
||
}
|
||
}
|
||
});
|
||
},
|
||
// 封面图片上传
|
||
handleAvatarSuccess5(file) {
|
||
this.headImg = file.data;
|
||
},
|
||
onprogress(event, file, fileList) {
|
||
console.log("event, file, fileList", parseInt(event.percent));
|
||
this.percentage = parseInt(event.percent);
|
||
},
|
||
// 封面图片上传
|
||
handleAvatarSuccess1(file) {
|
||
this.massageImg = file.data;
|
||
},
|
||
onprogress2(event, file, fileList) {
|
||
console.log("event, file, fileList", parseInt(event.percent));
|
||
this.percentage2 = parseInt(event.percent);
|
||
},
|
||
// 详情图片上传
|
||
handleRemove(file) {
|
||
console.log(file, voiceIntroduce);
|
||
this.voiceIntroduce = "";
|
||
},
|
||
handleSuccess(file) {
|
||
console.log(file);
|
||
this.voiceIntroduce = file.data;
|
||
console.log(file.data, this.voiceIntroduce);
|
||
this.tableDataLoading4 = false;
|
||
},
|
||
handlePreview(file) {
|
||
this.tableDataLoading4 = true;
|
||
},
|
||
// 验证只能上传音频
|
||
beforeAvatarUpload(file) {
|
||
var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
|
||
const extension = testmsg === "mp3";
|
||
if (!extension) {
|
||
this.$message({
|
||
message: "上传文件只能是mp3格式!",
|
||
type: "error",
|
||
});
|
||
}
|
||
return extension;
|
||
},
|
||
// 删除详情图
|
||
dels(index) {
|
||
this.img.splice(index, 1);
|
||
console.log(this.img);
|
||
},
|
||
// 获取分类id
|
||
onChang(e) {
|
||
console.log(e);
|
||
this.gameId = e.toString();
|
||
this.checkList = e;
|
||
},
|
||
// 获取社区
|
||
onChang3(e) {
|
||
console.log(e);
|
||
this.campus1 = e;
|
||
},
|
||
// 获取省市区
|
||
handleChange55(value) {
|
||
value = this.$refs["cascaderAddr"].currentLabels;
|
||
console.log("````````````value", value);
|
||
this.province = value[0];
|
||
this.city = value[1];
|
||
this.district = value[2];
|
||
if (this.city == "市辖区") {
|
||
this.city = this.province;
|
||
}
|
||
this.region = value[0] + value[1] + value[2];
|
||
this.storeAddre = this.province + "/" + this.city;
|
||
this.storeAddress = value;
|
||
console.log(this.region);
|
||
},
|
||
// 删除城市
|
||
btnCs() {
|
||
this.city = "";
|
||
this.storeAddress = [];
|
||
this.storeAddre = "请选择城市";
|
||
},
|
||
//定位获得当前位置信息
|
||
getMyLocation() {
|
||
var geolocation = new qq.maps.Geolocation(
|
||
"DSQBZ-5MM3P-HEODO-VG6IX-SBRJE-PSBNX",
|
||
"码兄到家管理"
|
||
);
|
||
geolocation.getIpLocation(this.showPosition, this.showErr);
|
||
// geolocation.getLocation(this.showPosition, this.showErr);//或者用getLocation精确度比较高
|
||
},
|
||
showPosition(position) {
|
||
console.log(position);
|
||
// this.latitude = position.lat;
|
||
// this.longitude = position.lng;
|
||
// this.city = position.city;
|
||
this.setMap();
|
||
},
|
||
showErr(e) {
|
||
console.log("定位失败", e);
|
||
this.getMyLocation(); //定位失败再请求定位,测试使用
|
||
},
|
||
//位置信息在地图上展示
|
||
setMap() {
|
||
//步骤:定义map变量 调用 qq.maps.Map() 构造函数 获取地图显示容器
|
||
//设置地图中心点
|
||
var myLatlng = new qq.maps.LatLng(this.latitude, this.longitude);
|
||
//定义工厂模式函数
|
||
var myOptions = {
|
||
zoom: 13, //设置地图缩放级别
|
||
center: myLatlng, //设置中心点样式
|
||
mapTypeId: qq.maps.MapTypeId.ROADMAP, //设置地图样式详情参见MapType
|
||
};
|
||
// //获取dom元素添加地图信息
|
||
var map = new qq.maps.Map(
|
||
document.getElementById("container1"),
|
||
myOptions
|
||
);
|
||
//给地图添加点击事件
|
||
|
||
//给定位的位置添加图片标注
|
||
var marker = new qq.maps.Marker({
|
||
position: myLatlng,
|
||
map: map,
|
||
});
|
||
// `````````````
|
||
var that = this;
|
||
if (that.longitude == "") {
|
||
var center = new qq.maps.LatLng(34.34281541842994, 108.93970884382725);
|
||
} else {
|
||
var center = new qq.maps.LatLng(that.latitude, that.longitude);
|
||
}
|
||
|
||
var map = new qq.maps.Map(document.getElementById("container1"), {
|
||
center: center,
|
||
zoom: 13,
|
||
});
|
||
var marker = new qq.maps.Marker({
|
||
position: center,
|
||
map: map,
|
||
});
|
||
var latlngBounds = new qq.maps.LatLngBounds();
|
||
qq.maps.event.addListener(map, "click", function (event) {
|
||
console.log(event, qq.maps);
|
||
that.longitude = event.latLng.getLng(); // 经度
|
||
that.latitude = event.latLng.getLat(); // 纬度
|
||
|
||
jsonp(
|
||
"https://apis.map.qq.com/ws/geocoder/v1/?location=" +
|
||
event.latLng.getLat() +
|
||
"," +
|
||
event.latLng.getLng() +
|
||
"&key=DSQBZ-5MM3P-HEODO-VG6IX-SBRJE-PSBNX&get_poi=1&output=jsonp",
|
||
{
|
||
myCustomUrlParam: "veryNice",
|
||
}
|
||
)
|
||
.then((response) => {
|
||
console.log(
|
||
"response",
|
||
response,
|
||
response.result.address_component.city
|
||
);
|
||
that.address = response.result.formatted_addresses.recommend;
|
||
this.city = response.result.address_component.city;
|
||
})
|
||
.catch((error) => {
|
||
// handle error
|
||
})
|
||
.then(() => {
|
||
// always executed
|
||
});
|
||
if (markersArray) {
|
||
for (let i in markersArray) {
|
||
markersArray[i].setMap(null);
|
||
}
|
||
}
|
||
if (!marker) {
|
||
marker = new qq.maps.Marker({
|
||
map: map,
|
||
position: event.latLng,
|
||
});
|
||
} else {
|
||
marker.setPosition(event.latLng);
|
||
}
|
||
|
||
// markersArray.push(marker);
|
||
});
|
||
geocoder = new qq.maps.Geocoder({
|
||
complete: function (result) {
|
||
console.log(result);
|
||
that.longitude = result.detail.location.lng;
|
||
that.latitude = result.detail.location.lat;
|
||
map.setCenter(result.detail.location);
|
||
var marker = new qq.maps.Marker({
|
||
map: map,
|
||
position: result.detail.location,
|
||
});
|
||
markersArray.push(marker);
|
||
},
|
||
});
|
||
},
|
||
// 地图定位
|
||
select() {
|
||
console.log(this.address, this.address.replace(/^\s+|\s+$/gm, ""));
|
||
|
||
if (this.address == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入详细地址",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
} else {
|
||
var add = this.province + this.city + this.district + this.address;
|
||
let that = this;
|
||
jsonp(
|
||
"https://apis.map.qq.com/ws/geocoder/v1/?address==" +
|
||
add +
|
||
"&key=DSQBZ-5MM3P-HEODO-VG6IX-SBRJE-PSBNX&get_poi=1&output=jsonp",
|
||
{
|
||
myCustomUrlParam: "veryNice",
|
||
}
|
||
)
|
||
.then((response) => {
|
||
// handle success
|
||
if (response.message == "查询无结果") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "详细地址输入有误,请重新输入",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
console.log("response", response);
|
||
that.longitude = response.result.location.lng; // 经度
|
||
that.latitude = response.result.location.lat; // 纬度
|
||
that.city = response.result.address_components.city;
|
||
// that.address = response.result.address_components.province + response.result.address_components
|
||
// .city + response.result.address_components.district + response.result.title
|
||
that.setMap();
|
||
})
|
||
.catch((error) => {
|
||
// handle error
|
||
})
|
||
.then(() => {
|
||
// always executed
|
||
});
|
||
}
|
||
},
|
||
// 获取用户列表弹框
|
||
userselect() {
|
||
this.dialogFormVisible3 = true;
|
||
this.tableDataLoading4 = true;
|
||
this.userClass();
|
||
},
|
||
// 获取用户列表
|
||
userClass() {
|
||
let phone = -1;
|
||
if (this.phone) {
|
||
phone = this.phone;
|
||
}
|
||
let nickName = -1;
|
||
if (this.nickName) {
|
||
nickName = this.nickName;
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl("userCertification/queryUserCertification"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.page,
|
||
limit: this.limit,
|
||
name: this.nickName2,
|
||
phone: this.phone1,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.tableDataLoading4 = false;
|
||
let returnData = data.data;
|
||
this.userIds = returnData;
|
||
});
|
||
},
|
||
// 查询用户列表
|
||
userclick() {
|
||
this.page = 1;
|
||
this.tableDataLoading4 = true;
|
||
this.userClass();
|
||
},
|
||
// 重置用户列表数据
|
||
userclose() {
|
||
this.phone1 = "";
|
||
this.nickName2 = "";
|
||
this.tableDataLoading4 = true;
|
||
|
||
this.userClass();
|
||
},
|
||
// 确定用户
|
||
confirm(row) {
|
||
this.userIdss = row.userId;
|
||
this.nickName1 = row.userName;
|
||
this.phone = row.phone;
|
||
// if (this.nickName == '' || this.nickName == null) {
|
||
// this.nickName = row.phone
|
||
// }
|
||
this.dialogFormVisible3 = false;
|
||
},
|
||
// 添加标签
|
||
btnTj() {
|
||
if (this.bq == "" || this.bq == " ") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入标签名",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
} else {
|
||
console.log("this.bq", this.bq);
|
||
this.labels1.push(this.bq);
|
||
this.bq = "";
|
||
}
|
||
},
|
||
// 删除标签
|
||
dels1(index) {
|
||
this.labels1.splice(index, 1);
|
||
console.log(this.labels1);
|
||
},
|
||
// 确定添加
|
||
addmissionNoticeTo() {
|
||
let photost = this.contentImg.toString();
|
||
let certificateImgs = this.certificateImg.toString();
|
||
let workImgs = this.workImg.toString();
|
||
let detailsImgs = this.contentImg.toString();
|
||
let storeAddress1 = this.storeAddress.toString();
|
||
console.log(this.userIdss, this.gameId, photost);
|
||
if (this.gameId == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择项目",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.userId == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择发布人",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
if (this.headImg == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请上主页图",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
if (this.money == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入期望薪资",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.orderLevel == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入技能",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.region == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择服务地区",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.describes == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入描述",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
if (this.city == "") {
|
||
this.select();
|
||
}
|
||
let urls = "";
|
||
if (this.missions == 0) {
|
||
urls = "orderTaking/insertOrderTaking";
|
||
} else {
|
||
urls = "orderTaking/updateTakingOrders";
|
||
}
|
||
var times = this.value1 + "~" + this.value2;
|
||
let that = this;
|
||
setTimeout(function () {
|
||
that
|
||
.$http({
|
||
url: that.$http.adornUrl(urls),
|
||
method: "get",
|
||
// data: that.$http.adornData({
|
||
params: that.$http.adornParams({
|
||
gameId: that.gameId.toString(),
|
||
myLevel: that.myLevel,
|
||
orderLevel: that.orderLevel,
|
||
orderTakingArea: that.orderTakingArea,
|
||
orderTakingTime: times,
|
||
oldMoney: that.oldMoney,
|
||
money: that.money,
|
||
orderLevel: that.orderLevel,
|
||
memberMoney: that.memberMoney,
|
||
region: storeAddress1,
|
||
describes: that.describes,
|
||
unit: that.unit,
|
||
voiceIntroduce: that.voiceIntroduce,
|
||
headImg: that.headImg,
|
||
userId: that.userIdss,
|
||
latitude: that.latitude,
|
||
longitude: that.longitude,
|
||
city: that.city,
|
||
id: that.ids,
|
||
detailsImg: photost,
|
||
certificateImg: certificateImgs,
|
||
workImg: workImgs,
|
||
detailsImg: detailsImgs,
|
||
authentication: that.authentication,
|
||
}),
|
||
})
|
||
.then(({ data }) => {
|
||
console.log("提交结果", data);
|
||
if (data.code == 0) {
|
||
that.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
that.InformationSelect();
|
||
that.prev();
|
||
},
|
||
});
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
}, 1000);
|
||
},
|
||
// 关闭添加信息弹框
|
||
prev() {
|
||
this.dialogFormVisible5 = false;
|
||
this.gameId = "";
|
||
this.myLevel = "";
|
||
this.orderTakingTime = "";
|
||
this.value1 = "";
|
||
this.value2 = "";
|
||
this.orderLevel = "";
|
||
this.orderTakingArea = "";
|
||
this.headImg = "";
|
||
this.oldMoney = "";
|
||
this.money = "";
|
||
this.orderLevel = "";
|
||
this.memberMoney = "";
|
||
this.region = "";
|
||
this.describes = "";
|
||
this.unit = "小时";
|
||
this.latitude = "";
|
||
this.longitude = "";
|
||
this.voiceIntroduce = "";
|
||
this.userIdss = "";
|
||
this.city = "";
|
||
this.nickName1 = "";
|
||
this.nickName2 = "";
|
||
this.phone = "";
|
||
this.detailsImg = [];
|
||
this.certificateImg = [];
|
||
this.workImg = [];
|
||
this.detailsImg = [];
|
||
},
|
||
// 审核
|
||
shenhe(row) {
|
||
this.userId1 = row.userId;
|
||
this.artificerId = row.artificerId;
|
||
this.classSelect1(row.artificerId);
|
||
this.dialogFormVisible8 = true;
|
||
},
|
||
// 提交审核
|
||
refuseto(row) {
|
||
if (this.radio == 2 && this.contents == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入驳回理由",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
} else {
|
||
let ids = this.shenheId;
|
||
let status = this.radio;
|
||
let content = this.contents;
|
||
this.$http({
|
||
url: this.$http.adornUrl(`orderTaking/auditorOrderTaking`),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
id: ids,
|
||
status: status,
|
||
content: content,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.dialogFormVisible8 = false;
|
||
this.$message({
|
||
message: "审核完成",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.radio = 0;
|
||
this.contents = "";
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
});
|
||
}
|
||
},
|
||
// 修改信息弹框
|
||
choiCompile(index, row) {
|
||
console.log(index, row);
|
||
this.labels1 = [];
|
||
this.missions = 1;
|
||
this.renwuTitles = "修改任务";
|
||
if (row) {
|
||
this.gameId = row.gameName.split(",");
|
||
this.checkList = row.gameName.split(",");
|
||
this.myLevel = row.myLevel;
|
||
this.orderLevel = row.orderLevel;
|
||
this.orderTakingArea = row.orderTakingArea;
|
||
this.orderTakingTime = row.orderTakingTime;
|
||
if (row.orderTakingTime) {
|
||
var timess = row.orderTakingTime.split("~");
|
||
this.value1 = timess[0];
|
||
this.value2 = timess[1];
|
||
}
|
||
this.oldMoney = row.oldMoney;
|
||
this.money = row.money;
|
||
this.orderLevel = row.orderLevel;
|
||
this.memberMoney = row.memberMoney;
|
||
this.region = row.region;
|
||
this.describes = row.describes;
|
||
this.unit = row.unit;
|
||
this.voiceIntroduce = row.voiceIntroduce;
|
||
this.headImg = row.headImg;
|
||
this.userIdss = row.userIdss;
|
||
this.latitude = row.latitude;
|
||
this.longitude = row.longitude;
|
||
|
||
this.ids = row.id;
|
||
this.nickName1 = row.userName;
|
||
this.userIdss = row.userId;
|
||
if (row.detailsImg != "" && row.detailsImg != null) {
|
||
this.detailsImg = row.detailsImg;
|
||
}
|
||
if (row.certificateImg != "" && row.certificateImg != null) {
|
||
this.certificateImg = row.certificateImg;
|
||
}
|
||
if (row.workImg != "" && row.workImg != null) {
|
||
this.workImg = row.workImg;
|
||
}
|
||
if (row.detailsImg != "" && row.detailsImg != null) {
|
||
this.detailsImg = row.detailsImg;
|
||
}
|
||
this.storeAddre = this.region;
|
||
this.storeAddress = this.region.split(",");
|
||
|
||
this.jianjie = row.jianjie;
|
||
this.status = Number(row.status);
|
||
this.percentage = 100;
|
||
}
|
||
|
||
this.dialogFormVisible5 = true;
|
||
this.getMyLocation();
|
||
},
|
||
// 查看评价
|
||
plCompile(row) {
|
||
console.log(row);
|
||
this.renwuId = row.artificerId;
|
||
this.dialogFormVisible10 = true;
|
||
this.pinglunSelect(row.artificerId);
|
||
},
|
||
// 删除信息
|
||
choidelete(row) {
|
||
let delid = row.id;
|
||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/deleteArtificer"),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
artificerId: row.artificerId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
// 筛选信息
|
||
animeDat2(state) {
|
||
this.page = 1;
|
||
this.InformationSelect();
|
||
},
|
||
// 多选
|
||
handleSelectionChange(val) {
|
||
var arr = [];
|
||
for (var i in val) {
|
||
arr.push(val[i].id);
|
||
}
|
||
this.multipleSelection = arr;
|
||
console.log("val", val, this.multipleSelection);
|
||
},
|
||
// 批量删除
|
||
choideletes() {
|
||
console.log(this.multipleSelection);
|
||
let delid = this.multipleSelection.toString();
|
||
this.$confirm(`确定删除信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl(
|
||
`information/deleteInformationById?ids=${delid}`
|
||
),
|
||
method: "post",
|
||
params: this.$http.adornData({}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
// 任务推荐
|
||
change2(val, row) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(
|
||
`orderTaking/updateOrderTakingRecommend/${row.id}`
|
||
),
|
||
method: "post",
|
||
data: this.$http.adornData({}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.homeSelect();
|
||
},
|
||
});
|
||
});
|
||
},
|
||
// 任务上下架
|
||
change3(val, row) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(
|
||
`orderTaking/updateOrderTakingStatus/${row.id}`
|
||
),
|
||
method: "post",
|
||
data: this.$http.adornData({}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.homeSelect();
|
||
},
|
||
});
|
||
});
|
||
},
|
||
// 详情跳转
|
||
updatesvideo(row) {
|
||
this.$router.push({
|
||
path: "/userDetail",
|
||
query: {
|
||
userId: row.userId,
|
||
},
|
||
});
|
||
},
|
||
changeaa(e) {
|
||
console.log("eeee", e);
|
||
this.value1 = e;
|
||
},
|
||
changeaa1(e) {
|
||
console.log("eeee", e);
|
||
this.value2 = e;
|
||
},
|
||
// 加钟列表
|
||
|
||
selectMassageTypeChildrenPage() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/selectMassageTypeChildrenPage"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.childPage,
|
||
limit: this.childLimit,
|
||
status: "",
|
||
sort: "",
|
||
city: this.citys,
|
||
authentication: "",
|
||
by: 1,
|
||
title: this.clockTitle,
|
||
classifyId: this.childClassifyId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("", data);
|
||
if (data.code == 0) {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.clockData = returnData;
|
||
for (var i in this.clockData.list) {
|
||
if (this.clockData.list[i].contentImg) {
|
||
this.clockData.list[i].contentImg =
|
||
this.clockData.list[i].contentImg.split(",");
|
||
}
|
||
}
|
||
if (this.clockData.list.length == 0) {
|
||
this.page = this.page - 1;
|
||
this.classSelect();
|
||
}
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
|
||
// 获取项目列表数据
|
||
classSelect() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/selectMassageTypePage"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.page,
|
||
limit: this.limit,
|
||
status: "",
|
||
sort: "",
|
||
city: this.citys,
|
||
authentication: "",
|
||
by: 1,
|
||
title: this.title,
|
||
classifyId: this.classifyId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("", data);
|
||
if (data.code == 0) {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.tableData = returnData;
|
||
for (var i in this.tableData.list) {
|
||
if (this.tableData.list[i].contentImg) {
|
||
this.tableData.list[i].contentImg =
|
||
this.tableData.list[i].contentImg.split(",");
|
||
}
|
||
}
|
||
if (this.tableData.list.length == 0) {
|
||
this.page = this.page - 1;
|
||
this.classSelect();
|
||
}
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 添加项目
|
||
classAdd(row) {
|
||
console.log("row", row);
|
||
if (row != 0) {
|
||
this.titles = "修改项目";
|
||
this.massageTypeTitle = row.title;
|
||
this.massageTypeStatus = row.status;
|
||
this.sales = row.sales;
|
||
this.price = row.price;
|
||
this.oldPrice = row.oldPrice;
|
||
this.memberPrice = row.memberPrice;
|
||
this.artificerPrice = row.artificerPrice;
|
||
this.massageTypeId = row.massageTypeId;
|
||
this.massageImg = row.massageImg;
|
||
this.addNum = row.addNum;
|
||
this.isSex = row.isSex;
|
||
this.applyPeople = row.applyPeople;
|
||
this.duration = row.duration;
|
||
this.contentImg = row.contentImg;
|
||
this.content = row.content;
|
||
this.jianjie = row.jianjie;
|
||
|
||
if (row.city != "" && row.city != "不限") {
|
||
this.city = row.city;
|
||
this.storeAddre = this.city;
|
||
} else {
|
||
this.city = "";
|
||
this.storeAddre = "请选择城市";
|
||
}
|
||
if (row.labels && row.labels !== "") {
|
||
this.labels1 = row.labels.split(",");
|
||
} else {
|
||
this.labels1 = [];
|
||
}
|
||
|
||
this.classType = row.classifyId;
|
||
console.log("this.classType", this.classType);
|
||
// this.storeAddress = this.storeAddress.push(this.city)
|
||
} else {
|
||
this.titles = "添加项目";
|
||
this.massageTypeTitle = "";
|
||
this.massageTypeStatus = "";
|
||
this.sales = "";
|
||
this.price = "";
|
||
this.oldPrice = "";
|
||
this.memberPrice = "";
|
||
this.artificerPrice = "";
|
||
this.massageTypeId = "";
|
||
this.massageImg = "";
|
||
this.addNum = "";
|
||
this.isSex = "";
|
||
this.duration = "";
|
||
this.applyPeople = "";
|
||
this.contentImg = [];
|
||
this.content = "";
|
||
this.city = "";
|
||
this.labels1 = [];
|
||
this.storeAddre = "请选择城市";
|
||
this.classType = "";
|
||
this.jianjie = "";
|
||
}
|
||
this.dialogFormVisible9 = true;
|
||
},
|
||
// 启用与否
|
||
change(massageTypeId, status) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`artificer/updateMassageType`),
|
||
method: "post",
|
||
data: this.$http.adornData({
|
||
massageTypeId: massageTypeId,
|
||
status: status,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelect();
|
||
},
|
||
});
|
||
});
|
||
},
|
||
|
||
// 企业预约项目是否启用
|
||
changeQy(massageTypeId, qyType) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`artificer/updateMassageType`),
|
||
method: "post",
|
||
data: this.$http.adornData({
|
||
massageTypeId: massageTypeId,
|
||
qyType: qyType,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelect();
|
||
},
|
||
});
|
||
});
|
||
},
|
||
// 提交修改、添加项目项目
|
||
refuseto1() {
|
||
if (this.classType == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择项目类型",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.massageTypeTitle == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入项目名称",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.massageImg == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请上传项目图片",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.contentImg.length == 0) {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请上传项目详情图片",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.duration === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入时长",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.isSex === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择性别要求",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.applyPeople === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入适用人群",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
// if (this.memberPrice === "") {
|
||
// this.$notify({
|
||
// title: "提示",
|
||
// duration: 1800,
|
||
// message: "请会员价",
|
||
// type: "warning",
|
||
// });
|
||
// return;
|
||
// }
|
||
if (this.oldPrice === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入原价",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.price === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入现价",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.addNum === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入加钟次数",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
if (this.massageTypeStatus === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择状态",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.city == "") {
|
||
var sitys = "不限";
|
||
} else {
|
||
var sitys = this.city;
|
||
}
|
||
console.log("this.city", this.city, "sitys", sitys);
|
||
if (this.titles == "添加项目") {
|
||
var urls = "artificer/insertMassageType";
|
||
} else {
|
||
var urls = "artificer/updateMassageType";
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl(urls),
|
||
method: "post",
|
||
// params: this.$http.adornParams({
|
||
data: this.$http.adornData({
|
||
title: this.massageTypeTitle,
|
||
status: this.massageTypeStatus,
|
||
sales: this.sales,
|
||
price: this.price,
|
||
oldPrice: this.oldPrice,
|
||
memberPrice: this.memberPrice,
|
||
artificerPrice: this.artificerPrice,
|
||
massageTypeId: this.massageTypeId,
|
||
massageImg: this.massageImg,
|
||
isSex: this.isSex,
|
||
applyPeople: this.applyPeople,
|
||
duration: this.duration,
|
||
contentImg: this.contentImg.toString(),
|
||
content: this.content,
|
||
city: sitys,
|
||
labels: this.labels1.toString(),
|
||
classifyId: this.classType,
|
||
addNum: this.addNum,
|
||
jianjie: this.jianjie,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.dialogFormVisible9 = false;
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.gameName = "";
|
||
this.classSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 删除项目项目
|
||
classdelete(row) {
|
||
let delid = row.massageTypeId;
|
||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/deleteMassageType"),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
massageTypeId: row.massageTypeId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
// 用户评价列表
|
||
pinglunSelect(id) {
|
||
this.userId = this.$store.state.user.id;
|
||
this.$http({
|
||
url: this.$http.adornUrl("takingComment/selectOrderTakingComment"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.page,
|
||
limit: this.limit,
|
||
id: id,
|
||
}),
|
||
}).then(({ data }) => {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.pinglunData = returnData;
|
||
});
|
||
},
|
||
// 删除评价信息
|
||
pinglundelete(row) {
|
||
let delid = row.id;
|
||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl(
|
||
`takingComment/deleteOrderTakingComment/${delid}`
|
||
),
|
||
method: "post",
|
||
params: this.$http.adornData({}),
|
||
}).then(({ data }) => {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.pinglunSelect(this.renwuId);
|
||
},
|
||
});
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
handleChange(file, fileList) {
|
||
this.hideUpload = fileList.length >= this.limit;
|
||
},
|
||
handleRemove(file, fileList) {
|
||
this.hideUpload = fileList.length >= this.limit;
|
||
},
|
||
handleAvatarSuccess2(file, fileList) {
|
||
this.contentImg = file.data;
|
||
},
|
||
handleAvatarSuccess3(file, fileList) {
|
||
this.certificateImg = file.data;
|
||
},
|
||
handleAvatarSuccess4(file, fileList) {
|
||
this.workImg = file.data;
|
||
},
|
||
// 删除
|
||
clear(index) {
|
||
this.contentImg.splice(index, 1);
|
||
},
|
||
// 删除
|
||
clear1(index) {
|
||
this.certificateImg.splice(index, 1);
|
||
},
|
||
clear2(index) {
|
||
this.workImg.splice(index, 1);
|
||
},
|
||
clear3(index) {
|
||
this.contentImg.splice(index, 1);
|
||
},
|
||
//上传成功
|
||
handleUploadSuccess(file, fileList) {
|
||
this.contentImg.push(file.data);
|
||
console.log("this.contentImg", this.contentImg);
|
||
// this.contentImg += file.data + ','
|
||
},
|
||
//上传成功
|
||
handleUploadSuccess1(file, fileList) {
|
||
this.certificateImg.push(file.data);
|
||
console.log("this.certificateImg", this.certificateImg);
|
||
},
|
||
//上传成功
|
||
handleUploadSuccess2(file, fileList) {
|
||
this.workImg.push(file.data);
|
||
console.log("this.workImg", this.workImg);
|
||
},
|
||
//上传成功
|
||
handleUploadSuccess3(file, fileList) {
|
||
this.contentImg.push(file.data);
|
||
console.log("this.contentImg", this.contentImg);
|
||
},
|
||
onprogress1(event, file, fileList) {
|
||
console.log("详情图上传进度", parseInt(event.percent));
|
||
this.percentage1 = parseInt(event.percent);
|
||
},
|
||
// 获取项目项目数据
|
||
classSelect1(artificerId) {
|
||
this.tableDataLoading1 = true;
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/selectArtificerMassageList"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
artificerId: artificerId,
|
||
status: "",
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("```", data);
|
||
if (data.code == 0) {
|
||
this.tableDataLoading1 = false;
|
||
let returnData = data.data;
|
||
this.tableData3 = returnData;
|
||
console.log(this.tableData3);
|
||
for (var i in this.tableData3) {
|
||
if (this.tableData3[i].contentImg) {
|
||
this.tableData3[i].contentImg =
|
||
this.tableData3[i].contentImg.split(",");
|
||
}
|
||
}
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 项目列表数据
|
||
classSelect2(artificerId) {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/selectMassageTypePage"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
artificerId: artificerId,
|
||
page: this.page3,
|
||
limit: this.limit3,
|
||
status: "",
|
||
sort: "",
|
||
city: this.citys,
|
||
title: this.title,
|
||
authentication: "",
|
||
by: 1,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("````````````", data);
|
||
if (data.code == 0) {
|
||
this.tableDataLoading = false;
|
||
let returnData = data.data;
|
||
this.tableData4 = returnData;
|
||
console.log(this.tableData4.list);
|
||
for (var i in this.tableData4.list) {
|
||
if (this.tableData4.list[i].contentImg) {
|
||
this.tableData4.list[i].contentImg =
|
||
this.tableData4.list[i].contentImg.split(",");
|
||
}
|
||
}
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 添加项目
|
||
choiadd() {
|
||
this.classSelect2(this.artificerId);
|
||
this.dialogFormVisible11 = true;
|
||
},
|
||
// 确认添加
|
||
classListAdd(row) {
|
||
console.log("useridsssssssss", this.userId1);
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/insertArtificerMassage"),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
userId: this.userId1,
|
||
artificerMassages: row.massageTypeId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("", data);
|
||
if (data.code == 0) {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "添加成功",
|
||
type: "warning",
|
||
});
|
||
|
||
this.classSelect1(this.artificerId);
|
||
this.dialogFormVisible11 = false;
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 删除师傅项目
|
||
classListdelete(row) {
|
||
let delid = row.id;
|
||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/deleteArtificerMassage"),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
artificerMassageId: row.artificerMassageId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
// 加钟项目弹框
|
||
jiazhongBtn(row) {
|
||
this.childClassifyId = row.classifyId;
|
||
this.parentId = row.massageTypeId;
|
||
this.classSelectJz();
|
||
this.dialogFormVisibleJz = true;
|
||
},
|
||
// 项目类型
|
||
fwSelect() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("sys/dict/selectDictList"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
type: "服务类型",
|
||
}),
|
||
}).then(({ data }) => {
|
||
let returnData = data.data;
|
||
this.fwData = returnData;
|
||
});
|
||
},
|
||
// 获取加钟项目数据
|
||
classSelectJz() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/selectMassageTypePage"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
page: this.pageJ,
|
||
limit: this.limitJ,
|
||
parentId: this.parentId,
|
||
status: "",
|
||
sort: "",
|
||
city: "",
|
||
authentication: "",
|
||
by: 1,
|
||
title: "",
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("", data);
|
||
if (data.code == 0) {
|
||
this.tableDataLoadingJz = false;
|
||
let returnData = data.data;
|
||
this.tableDataJz = returnData;
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 添加、修改加钟项目
|
||
classAddJz(row) {
|
||
console.log("row", row);
|
||
if (row != 0) {
|
||
this.titles = "修改加钟项目";
|
||
this.massageTypeTitle = row.title;
|
||
this.massageTypeStatus = row.status;
|
||
this.sales = row.sales;
|
||
this.price = row.price;
|
||
this.oldPrice = row.oldPrice;
|
||
this.memberPrice = row.memberPrice;
|
||
this.artificerPrice = row.artificerPrice;
|
||
this.massageTypeId = row.massageTypeId;
|
||
this.massageImg = row.massageImg;
|
||
// this.isSex = row.isSex
|
||
this.duration = row.duration;
|
||
this.contentImg = row.contentImg;
|
||
this.content = row.content;
|
||
this.city = row.city;
|
||
this.labels1 = row.labels.split(",");
|
||
this.storeAddre = this.city;
|
||
this.classType = row.classifyId;
|
||
this.jianjie = row.jianjie;
|
||
|
||
// this.storeAddress = this.storeAddress.push(this.city)
|
||
} else {
|
||
this.titles = "添加加钟项目";
|
||
this.massageTypeTitle = "";
|
||
this.massageTypeStatus = "";
|
||
this.sales = "";
|
||
this.price = "";
|
||
this.oldPrice = "";
|
||
this.memberPrice = "";
|
||
this.artificerPrice = "";
|
||
this.massageTypeId = "";
|
||
this.massageImg = "";
|
||
// this.isSex = ''
|
||
this.duration = "";
|
||
this.contentImg = [];
|
||
this.content = "";
|
||
this.city = "";
|
||
this.labels1 = [];
|
||
this.storeAddre = "请选择城市";
|
||
this.jianjie = "";
|
||
}
|
||
this.dialogFormVisibleJzA = true;
|
||
},
|
||
// 提交修改、添加加钟项目
|
||
refusetoJz() {
|
||
if (this.classType == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择项目类型",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.massageTypeTitle == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入项目名称",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.massageImg == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请上传项目图片",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
// if (this.contentImg.length == 0) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请上传项目详情图片',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
if (this.duration == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入时长",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
// if (this.isSex === '') {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请选择性别要求',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
// if (this.memberPrice == "") {
|
||
// this.$notify({
|
||
// title: "提示",
|
||
// duration: 1800,
|
||
// message: "请会员价",
|
||
// type: "warning",
|
||
// });
|
||
// return;
|
||
// }
|
||
// if (this.artificerPrice == '') {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请输入师傅价',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
if (this.price == "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请输入现价",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
if (this.massageTypeStatus === "") {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: "请选择状态",
|
||
type: "warning",
|
||
});
|
||
return;
|
||
}
|
||
|
||
if (this.titles == "添加加钟项目") {
|
||
var urls = "artificer/insertMassageType";
|
||
} else {
|
||
var urls = "artificer/updateMassageType";
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl(urls),
|
||
method: "post",
|
||
// params: this.$http.adornParams({
|
||
data: this.$http.adornData({
|
||
title: this.massageTypeTitle,
|
||
status: this.massageTypeStatus,
|
||
sales: this.sales,
|
||
price: this.price,
|
||
oldPrice: this.oldPrice,
|
||
memberPrice: this.memberPrice,
|
||
artificerPrice: this.artificerPrice,
|
||
massageTypeId: this.massageTypeId,
|
||
massageImg: this.massageImg,
|
||
// 'isSex': this.isSex,
|
||
duration: this.duration,
|
||
contentImg: this.contentImg.toString(),
|
||
content: this.content,
|
||
city: this.city,
|
||
labels: this.labels1.toString(),
|
||
classifyId: this.classType,
|
||
parentId: this.parentId,
|
||
jianjie: this.jianjie,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.dialogFormVisibleJzA = false;
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelectJz();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 删除项目项目
|
||
classdeleteJz(row) {
|
||
let delid = row.massageTypeId;
|
||
this.$confirm(`确定删除此条信息?`, "提示", {
|
||
confirmButtonText: "确定",
|
||
cancelButtonText: "取消",
|
||
type: "warning",
|
||
})
|
||
.then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/deleteMassageType"),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
massageTypeId: row.massageTypeId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "删除成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelectJz();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
// 状态师傅
|
||
changeS(val, userId) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`artificer/updateArtificer`),
|
||
method: "post",
|
||
params: this.$http.adornParams({
|
||
userId: userId,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 信用分明细弹框
|
||
xinyongBtn(row) {
|
||
this.artificerId = row.userId;
|
||
this.xinyongSelect(this.artificerId);
|
||
this.dialogFormVisibleXyf = true;
|
||
},
|
||
// 信用分明细数据
|
||
xinyongSelect(artificerId) {
|
||
this.tableDataLoadingXyf = true;
|
||
this.$http({
|
||
url: this.$http.adornUrl("message/selectMessageByUserId"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
userId: artificerId,
|
||
page: this.page1,
|
||
limit: this.size1,
|
||
state: 8,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.tableDataLoadingXyf = false;
|
||
let returnData = data.data;
|
||
this.tableDataXyf = returnData;
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 是否优选
|
||
changeY(val, artificerId) {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/updateArtificers"),
|
||
method: "post",
|
||
// params: this.$http.adornParams({
|
||
data: this.$http.adornData({
|
||
artificerId: artificerId,
|
||
isGoods: val,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 是否热度最高
|
||
changeR(val, artificerId) {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/updateArtificers"),
|
||
method: "post",
|
||
// params: this.$http.adornParams({
|
||
data: this.$http.adornData({
|
||
artificerId: artificerId,
|
||
isHot: val,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "操作成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.InformationSelect();
|
||
},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 修改销量
|
||
updateBz(row) {
|
||
this.ordersId = row.massageTypeId;
|
||
this.content = row.sales;
|
||
this.dialogFormVisibleBz = true;
|
||
},
|
||
// 修改
|
||
replyNoticeTo() {
|
||
this.$http({
|
||
url: this.$http.adornUrl("artificer/updateMassageType"),
|
||
method: "post",
|
||
// params: this.$http.adornParams({
|
||
data: this.$http.adornData({
|
||
massageTypeId: this.ordersId,
|
||
sales: this.ordersales,
|
||
}),
|
||
}).then(({ data }) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: "修改成功",
|
||
type: "success",
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classSelect();
|
||
},
|
||
});
|
||
this.dialogFormVisibleBz = false;
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: "warning",
|
||
duration: 1500,
|
||
onClose: () => {},
|
||
});
|
||
}
|
||
});
|
||
},
|
||
// 查询物料包列表
|
||
getMaterialPackageDataList(row) {
|
||
this.$http({
|
||
url: this.$http.adornUrl("material/selectMaterialMassage"),
|
||
method: "get",
|
||
params: this.$http.adornParams({
|
||
massageTypeId: row
|
||
? row.massageTypeId
|
||
: this.getMaterialPackageDataOfRow.massageTypeId,
|
||
page: this.currentPageInner,
|
||
limit: this.sizeInner,
|
||
materialName: this.projectName,
|
||
status: this.projectTypeStr,
|
||
}),
|
||
}).then(({ data }) => {
|
||
console.log("12332hhhh", data);
|
||
if (data.code == 0) {
|
||
this.materialPackageTableDataLoading = false;
|
||
let returnData = data.data;
|
||
let projectType = null;
|
||
for (var i in returnData.data) {
|
||
if (returnData.data[i].massageTypeId == 1) {
|
||
returnData.data[i].massageTypeId = "中医推拿";
|
||
} else {
|
||
returnData.data[i].massageTypeId = "精油SPA";
|
||
}
|
||
}
|
||
this.materialPackageTable = returnData;
|
||
console.log(this.materialPackageTable);
|
||
} else {
|
||
this.$notify({
|
||
title: "提示",
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: "warning",
|
||
});
|
||
}
|
||
});
|
||
},
|
||
addMaterialPackageBtn(row) {
|
||
console.log(row);
|
||
this.showMaterialPackageTable = true;
|
||
this.serverId = row.massageTypeId;
|
||
// this.projectTypeStr = row.classifyName == "中医推拿" ? 1 : 2;
|
||
this.getMaterialPackageDataOfRow = row;
|
||
this.getMaterialPackageDataList(row);
|
||
this.materialPackageClassifyId = row.classifyId;
|
||
},
|
||
searchDataList() {
|
||
this.getMaterialPackageDataList();
|
||
},
|
||
resetSearch() {
|
||
this.materialPackageselect = "";
|
||
this.projectName = "";
|
||
},
|
||
},
|
||
mounted() {
|
||
// this.InformationSelect()
|
||
// this.homeSelect()
|
||
let userId = window.localStorage.getItem("userId");
|
||
if (userId) this.userId = userId;
|
||
this.classSelect();
|
||
this.fwSelect();
|
||
this.getDictOptions();
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style>
|
||
.customWidth {
|
||
width: 80% !important;
|
||
}
|
||
|
||
.el-tooltip__popper {
|
||
width: 200px;
|
||
padding: 10px;
|
||
color: #000 !important;
|
||
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.4);
|
||
background-color: #fff !important;
|
||
}
|
||
|
||
.people {
|
||
display: inline-block;
|
||
max-width: 20ch;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.adver_main.box {
|
||
display: block;
|
||
max-width: 100%;
|
||
text-align: center;
|
||
border: 1px dotted rgba(67, 79, 103, 0.4);
|
||
}
|
||
|
||
.cards {
|
||
padding: 0 8px;
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
.adver_main.box a {
|
||
display: flex;
|
||
justify-content: center;
|
||
height: 150px;
|
||
line-height: 150px;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.bannerManin {
|
||
border: 1px solid #e8e8e8;
|
||
font-size: 14px;
|
||
padding: 0 24px;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
height: 113px;
|
||
color: rgba(0, 0, 0, 0.65);
|
||
}
|
||
|
||
.bannerManin span {
|
||
display: inline-block;
|
||
margin-left: 5px;
|
||
}
|
||
|
||
.bannerManin img {
|
||
width: 48px;
|
||
height: 48px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.bannerbtn {
|
||
display: flex;
|
||
border-top: none !important;
|
||
border: 1px solid #e8e8e8;
|
||
padding: 11px;
|
||
font-size: 14px;
|
||
color: #3e8ef7;
|
||
}
|
||
|
||
.bannerbtn a {
|
||
flex: 1;
|
||
text-align: center;
|
||
color: #3e8ef7 !important;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.imgs {
|
||
position: relative;
|
||
border-radius: 6px;
|
||
width: 148px;
|
||
height: 148px;
|
||
margin-right: 10px;
|
||
display: inline-block;
|
||
}
|
||
|
||
.dels {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
display: none;
|
||
}
|
||
|
||
.dels .el-icon-delete {
|
||
line-height: 148px;
|
||
padding-left: 58px;
|
||
font-size: 25px;
|
||
color: #fff;
|
||
}
|
||
|
||
.imgs:hover .dels {
|
||
width: 100%;
|
||
height: 100%;
|
||
background: #000;
|
||
display: block;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.bqList {
|
||
padding: 4px 14px;
|
||
margin: 4px;
|
||
border: 1px solid #efefef;
|
||
font-size: 12px;
|
||
color: #999;
|
||
border-radius: 4px;
|
||
margin-right: 15px;
|
||
}
|
||
|
||
.delss {
|
||
display: none;
|
||
position: relative;
|
||
}
|
||
|
||
.delss .el-icon-delete {
|
||
position: absolute;
|
||
top: 0;
|
||
}
|
||
|
||
.bqList:hover .delss {
|
||
display: initial;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.tj {
|
||
padding: 6px !important;
|
||
margin: 4px;
|
||
font-size: 12px;
|
||
border: 1px solid #ccc;
|
||
border-radius: 4px;
|
||
}
|
||
</style>
|