盛安新版本问题优化-1
This commit is contained in:
parent
91958a7d87
commit
115f7630d6
|
@ -148,6 +148,7 @@ const mainRoutes = {
|
|||
{ path: '/artificerAchievementIntegral', component: _import('bl/artificer/artificerAchievementIntegral'), name: 'artificerAchievementIntegral', meta: { title: '技师业绩积分关系列表', isTab: true } },
|
||||
{ path: '/artificerPartitioningDetails', component: _import('bl/artificer/artificerPartitioningDetails'), name: 'artificerPartitioningDetails', meta: { title: '技师分成明细配置列表', isTab: true } },
|
||||
{ path: '/artificerRechargeReward', component: _import('bl/artificer/artificerRechargeReward'), name: 'artificerRechargeReward', meta: { title: '技师充值奖励配置列表', isTab: true } },
|
||||
{ path: '/blPingjiaTag', component: _import('bl/pingjiaTag/blPingjiaTag'), name: 'blPingjiaTag', meta: { title: '用户评价标签', isTab: true } },
|
||||
],
|
||||
beforeEnter(to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
|
|
|
@ -92,12 +92,13 @@
|
|||
fixed="left"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column prop="classifyId" label="项目类型" fixed="left">
|
||||
<el-table-column prop="classifyId" label="项目类型" fixed="left" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<div v-for="(item, index) in scope.row.artificerClassifyList" :key="index"
|
||||
class="borderInner">
|
||||
<div>{{ item.classifyName }}</div>
|
||||
</div>
|
||||
<!-- <div v-for="(item, index) in scope.row.artificerClassifyList" :key="index"-->
|
||||
<!-- class="borderInner">-->
|
||||
<!-- <div>{{ item.classifyName }}</div>-->
|
||||
<!-- </div>-->
|
||||
{{getClassifyName(scope.row.artificerClassifyList)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="artificerName" label="师傅名称" fixed="left">
|
||||
|
@ -121,7 +122,7 @@
|
|||
<span>{{ scope.row.phone ? scope.row.phone : "未绑定" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="rate" label="师傅抽成" width="150">
|
||||
<el-table-column prop="rate" label="师傅抽成" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.rate ? scope.row.rate : "0" }}</span>
|
||||
<el-button
|
||||
|
@ -134,7 +135,16 @@
|
|||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ynJfgz" label="是否参与积分计算规则">
|
||||
<el-table-column prop="dqjf" width="100" label="当期积分">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
style="color: #4f9dec; cursor: pointer"
|
||||
@click="jifenxiangqing(scope.row)"
|
||||
v-text="scope.row.dqjf"
|
||||
></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ynJfgz" label="积分计算" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #13ce66" v-if="scope.row.ynJfgz === 1"
|
||||
>参与</span
|
||||
|
@ -146,7 +156,7 @@
|
|||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="technicianType" label="技师类型" width="150">
|
||||
<el-table-column prop="technicianType" label="技师类型" width="120">
|
||||
<template slot-scope="scope">
|
||||
<!-- <span>{{ scope.row.technicianType }}</span> -->
|
||||
<span>{{ getVipText(scope.row.technicianType) }}</span>
|
||||
|
@ -221,15 +231,18 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column prop="content" label="描述" width="200">
|
||||
<el-table-column prop="content" label="描述" width="200" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.content }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="city" label="城市" width="120">
|
||||
<el-table-column prop="city" label="城市" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="longitude" label="经度" width="150">
|
||||
<el-table-column prop="longitude" label="经度" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="latitude" label="纬度" width="150">
|
||||
<el-table-column prop="latitude" label="纬度" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="ordersCount" label="完成订单数" width="80">
|
||||
<el-table-column prop="ordersCount" label="完成订单" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="creditScore" label="信用分" width="80">
|
||||
</el-table-column>
|
||||
|
@ -245,7 +258,7 @@
|
|||
width="80"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status " label="在线状态" fixed="right">
|
||||
<el-table-column prop="status" label="在线状态" fixed="right" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #13ce66" v-if="scope.row.status === 1"
|
||||
>上线</span
|
||||
|
@ -259,11 +272,15 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="isGoods"
|
||||
label="是否行业大拿"
|
||||
label="行业大拿"
|
||||
fixed="right"
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #13ce66" v-if="scope.row.isGoods === 1"
|
||||
>是</span
|
||||
>
|
||||
<span style="color: #ff4949" v-else>否</span>
|
||||
<el-switch
|
||||
v-model="scope.row.isGoods"
|
||||
@change="changeY(scope.row.isGoods, scope.row.artificerId)"
|
||||
|
@ -297,11 +314,15 @@
|
|||
<!-- </el-table-column>-->
|
||||
<el-table-column
|
||||
prop="isStart"
|
||||
label="是否明星技师"
|
||||
label="明星技师"
|
||||
fixed="right"
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #13ce66" v-if="scope.row.isStart === 1"
|
||||
>是</span
|
||||
>
|
||||
<span style="color: #ff4949" v-else>否</span>
|
||||
<el-switch
|
||||
v-model="scope.row.isStart"
|
||||
@change="changeM(scope.row.isStart, scope.row.artificerId)"
|
||||
|
@ -316,11 +337,15 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dskg"
|
||||
label="是否开启打赏"
|
||||
label="开启打赏"
|
||||
fixed="right"
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #13ce66" v-if="scope.row.dskg === 1"
|
||||
>是</span
|
||||
>
|
||||
<span style="color: #ff4949" v-else>否</span>
|
||||
<el-switch
|
||||
v-model="scope.row.dskg"
|
||||
@change="changeDskg(scope.row.dskg, scope.row.artificerId)"
|
||||
|
@ -333,7 +358,7 @@
|
|||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id" width="250" fixed="right">
|
||||
<el-table-column label="操作" prop="id" width="300" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
|
@ -393,7 +418,7 @@
|
|||
<el-pagination
|
||||
@size-change="handleSizeChange1"
|
||||
@current-change="handleCurrentChange1"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-sizes="[5, 10, 20, 40]"
|
||||
:page-size="size"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
|
@ -896,17 +921,30 @@
|
|||
icon="document"
|
||||
@click="userMassageClear"
|
||||
>重置
|
||||
</el-button>
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin: 10px 0"
|
||||
style="margin: 10px"
|
||||
:disabled="!isAuth('locality:add')"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="choiadd()"
|
||||
>添加项目</el-button>
|
||||
<el-button
|
||||
style="margin: 10px"
|
||||
:disabled="!isAuth('locality:add')"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="classListdeletes()"
|
||||
v-if="multipleSelection2.length>0"
|
||||
>批量删除</el-button>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading1" :data="tableData3">
|
||||
<el-table v-loading="tableDataLoading1" :data="tableData3" @selection-change="handleSelectionChange2">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="massageTypeId"
|
||||
label="编号"
|
||||
|
@ -1526,10 +1564,23 @@
|
|||
icon="document"
|
||||
@click="massageClear"
|
||||
>重置
|
||||
</el-button>
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin: 10px"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="classListAdds"
|
||||
v-if="multipleSelection.length>0"
|
||||
>批量添加
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table v-loading="tableDataLoading" :data="tableData4.list">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData4.list" @selection-change="handleSelectionChange">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="massageTypeId" label="编号" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
@ -1887,6 +1938,60 @@
|
|||
</el-pagination>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 积分明细 -->
|
||||
<el-dialog :title="titleBl" :visible.sync="dialogFormVisible4" center width="1200px">
|
||||
<div class="importIntegrating">
|
||||
<div class="importIntegratingInner">
|
||||
<span>请选择日期:</span>
|
||||
<el-date-picker valueFormat="yyyy-MM-dd" @change="changeIntegratingDate"
|
||||
v-model="currentIntegratingDate" type="date" placeholder="">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="importIntegratingInner">
|
||||
<span>积分类型:</span>
|
||||
<el-select v-model="currentIntegratingType" @change="changeIntegratingType"
|
||||
placeholder="请选择积分类型">
|
||||
<el-option v-for="item in integratingOptions" :key="item.value" :label="item.title"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="integratingStatistics">
|
||||
<p style="width:200px;">时长积分:{{ zxscjf }}</p>
|
||||
<p style="width:200px;">在线时长:{{ zxsc }} 小时</p>
|
||||
<p style="width:200px;">储值积分:{{ chuzjf }}</p>
|
||||
<p style="width:200px;">业绩积分:{{ yjjf }}</p>
|
||||
<p style="width:200px;">充值积分:{{ chongzjf }}</p>
|
||||
<p style="width:200px;">系统调整积分:{{ tzjf }}</p>
|
||||
<p style="width:200px;">总积分:{{ sumJf }}</p>
|
||||
</div>
|
||||
<el-table :data="integratingDetailDataList" row-key="id">
|
||||
<el-table-column prop="id" label="编号" width="120" fixed="left">
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column prop="classify" label="积分类型">
|
||||
<template slot-scope="scope">
|
||||
{{ showDictValue(scope.row.classify, integratingOptions) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="integral" label="积分增长量">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.type == 1">{{scope.row.integral}}</span>
|
||||
<span style="color: #ff0000;" v-if="scope.row.state == 2">-{{scope.row.integral}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ordersNo" label="备注">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="changeItegratingDetailPageSize"
|
||||
@current-change="changeItegratingDetailPage" :page-sizes="[10, 20, 30, 40]" :page-size="limit"
|
||||
:current-page="page" layout="total,sizes, prev, pager, next" :total="orderData.totalElements">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改比例 -->
|
||||
<el-dialog :title="titleBl" :visible.sync="dialogFormVisible2" center>
|
||||
<div style="margin-bottom: 10px">
|
||||
|
@ -1978,7 +2083,7 @@ export default {
|
|||
materialPackageCountTypeStatus: false,
|
||||
editMaterialPackageCountStatus: false,
|
||||
dialogWidth: 0,
|
||||
size: 10,
|
||||
size: 5,
|
||||
page: 1,
|
||||
size1: 10,
|
||||
page1: 1,
|
||||
|
@ -2121,6 +2226,7 @@ export default {
|
|||
dialogVisible: false,
|
||||
radio: 0,
|
||||
multipleSelection: [],
|
||||
multipleSelection2: [],
|
||||
campus: "",
|
||||
campus1: "",
|
||||
campusName: "",
|
||||
|
@ -2211,9 +2317,59 @@ export default {
|
|||
massageTitle: '',
|
||||
massageClassifyId: '',
|
||||
massageStatus: '',
|
||||
dialogFormVisible4: false,
|
||||
currentIntegratingType: 1,
|
||||
jflimit: 10,
|
||||
jfpage: 1,
|
||||
currentIntegratingDate: this.getFormatDate(),
|
||||
orderData: {},
|
||||
integratingDetailDataList: [],
|
||||
sumJf: 0,
|
||||
zxscjf: 0,
|
||||
zxsc: 0,
|
||||
chuzjf: 0,
|
||||
yjjf: 0,
|
||||
tzjf: 0,
|
||||
chongzjf: 0,
|
||||
integratingOptions: [{
|
||||
title: "时长积分",
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
title: "储值积分",
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
title: "业绩积分",
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
title: "充值积分",
|
||||
value: 5
|
||||
},
|
||||
{
|
||||
title: "系统调整",
|
||||
value: 4
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
showDictValue(data, datas){
|
||||
const dictItem = datas.find(item => data === item.value);
|
||||
return dictItem ? dictItem.title : '';
|
||||
},
|
||||
//获取当前时间及转换方法
|
||||
getFormatDate() {
|
||||
let currentTime = new Date();
|
||||
let year = currentTime.getFullYear();
|
||||
let month = currentTime.getMonth() + 1;
|
||||
let day = currentTime.getDate();
|
||||
let formattedDate = `${year}-${month.toString().padStart(2, "0")}-${day
|
||||
.toString()
|
||||
.padStart(2, "0")}`;
|
||||
return formattedDate;
|
||||
},
|
||||
submitMaterialPackageCount() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("material/materialArtificerUpdata"),
|
||||
|
@ -2423,7 +2579,7 @@ export default {
|
|||
this.classSelect();
|
||||
},
|
||||
handleSizeChange1(val) {
|
||||
this.limit = val;
|
||||
this.size = val;
|
||||
this.InformationSelect();
|
||||
},
|
||||
handleCurrentChange1(val) {
|
||||
|
@ -2593,7 +2749,7 @@ export default {
|
|||
method: "get",
|
||||
params: this.$http.adornParams({
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
limit: this.size,
|
||||
artificerName: this.artificerName,
|
||||
massageTypeId: this.massageTypeId,
|
||||
longitude: "",
|
||||
|
@ -2623,7 +2779,6 @@ export default {
|
|||
}
|
||||
});
|
||||
this.choicenData = returnData;
|
||||
console.log(this.choicenData);
|
||||
for (var i in this.choicenData.list) {
|
||||
this.choicenData.list[i].accountNumberStatus;
|
||||
if (this.choicenData.list[i].lifePhoto) {
|
||||
|
@ -3281,14 +3436,20 @@ export default {
|
|||
handleSelectionChange(val) {
|
||||
var arr = [];
|
||||
for (var i in val) {
|
||||
arr.push(val[i].id);
|
||||
arr.push(val[i].massageTypeId);
|
||||
}
|
||||
this.multipleSelection = arr;
|
||||
console.log("val", val, this.multipleSelection);
|
||||
},
|
||||
// 多选
|
||||
handleSelectionChange2(val) {
|
||||
var arr = [];
|
||||
for (var i in val) {
|
||||
arr.push(val[i].artificerMassageId);
|
||||
}
|
||||
this.multipleSelection2 = arr;
|
||||
},
|
||||
// 批量删除
|
||||
choideletes() {
|
||||
console.log(this.multipleSelection);
|
||||
let delid = this.multipleSelection.toString();
|
||||
this.$confirm(`确定删除信息?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
|
@ -3895,6 +4056,38 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
// 批量添加
|
||||
classListAdds() {
|
||||
const massageTypeId = this.multipleSelection.join(',');
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/insertArtificerMassage"),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
userId: this.userId1,
|
||||
artificerMassages: 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;
|
||||
|
@ -3923,6 +4116,33 @@ export default {
|
|||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
classListdeletes() {
|
||||
const massageTypeId = this.multipleSelection2.join(',');
|
||||
this.$confirm(`确定删除信息?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/deleteArtificerMassage"),
|
||||
method: "post",
|
||||
params: this.$http.adornParams({
|
||||
artificerMassageId: massageTypeId,
|
||||
}),
|
||||
}).then(({ data }) => {
|
||||
this.$message({
|
||||
message: "删除成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.classSelect1(this.artificerId);
|
||||
},
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
// 加钟项目弹框
|
||||
jiazhongBtn(row) {
|
||||
this.parentId = row.massageTypeId;
|
||||
|
@ -4527,6 +4747,94 @@ export default {
|
|||
this.vipTypeList = data.data.list
|
||||
})
|
||||
},
|
||||
getClassifyName(artificerClassifyList){
|
||||
var text = "";
|
||||
for(var i=0;i<artificerClassifyList.length;i++){
|
||||
text = text + artificerClassifyList[i].classifyName+" "
|
||||
}
|
||||
return text;
|
||||
},
|
||||
//积分明细
|
||||
//查看积分明细
|
||||
jifenxiangqing(row) {
|
||||
this.titleBl = "积分明细";
|
||||
this.artificerId = row.artificerId;
|
||||
this.dialogFormVisible4 = true;
|
||||
this.getIntegratingDetailDataList();
|
||||
},
|
||||
//改变日期时
|
||||
changeIntegratingDate(e) {
|
||||
this.getIntegratingDetailDataList();
|
||||
},
|
||||
//改变积分类型时
|
||||
changeIntegratingType() {
|
||||
this.getIntegratingDetailDataList();
|
||||
},
|
||||
//获取积分明细数据
|
||||
async getIntegratingDetailDataList() {
|
||||
let artificerId = this.artificerId;
|
||||
//数量
|
||||
await this.$http({
|
||||
url: this.$http.adornUrl(
|
||||
"/app/artificer/storedPc/value?date=" +
|
||||
(this.currentIntegratingDate ?this.currentIntegratingDate :this.getFormatDate())+"&artificerId=" +artificerId),
|
||||
method: "post",
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.data) {
|
||||
this.sumJf = data.data.sumJf;
|
||||
this.zxscjf = data.data.zxscjf;
|
||||
this.zxsc = data.data.zxsc;
|
||||
this.chuzjf = data.data.chuzjf;
|
||||
this.yjjf = data.data.yjjf;
|
||||
this.tzjf = data.data.tzjf;
|
||||
this.chongzjf = data.data.chongzjf;
|
||||
} else {
|
||||
this.sumJf = 0;
|
||||
this.zxscjf = 0;
|
||||
this.zxsc = 0;
|
||||
this.chuzjf = 0;
|
||||
this.yjjf = 0;
|
||||
this.tzjf = 0;
|
||||
this.chongzjf = 0;
|
||||
}
|
||||
});
|
||||
//列表
|
||||
this.integratingDetailDataList = [];
|
||||
await this.$http({
|
||||
url: this.$http.adornUrl(
|
||||
"user/integralPc?type=" +
|
||||
this.currentIntegratingType +
|
||||
"¤t=" +
|
||||
this.jfpage +
|
||||
"&size=" +
|
||||
this.jflimit +
|
||||
"&date=" +
|
||||
(this.currentIntegratingDate ?
|
||||
this.currentIntegratingDate :
|
||||
this.getFormatDate()) +
|
||||
"&artificerId=" +
|
||||
artificerId
|
||||
),
|
||||
method: "post",
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.data && data.data.records.length > 0) {
|
||||
this.integratingDetailDataList = data.data.records;
|
||||
this.orderData.totalElements = data.data.total;
|
||||
}
|
||||
});
|
||||
},
|
||||
changeItegratingDetailPageSize(val) {
|
||||
this.jflimit = val;
|
||||
this.getIntegratingDetailDataList();
|
||||
},
|
||||
changeItegratingDetailPage(val) {
|
||||
this.jfpage = val;
|
||||
this.getIntegratingDetailDataList();
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.vipSelect();
|
||||
|
@ -4663,4 +4971,30 @@ export default {
|
|||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.overflow{
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.importIntegrating {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.importIntegratingInner {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.integratingStatistics {
|
||||
margin-left: 30px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
@ -38,10 +38,11 @@
|
|||
>重置
|
||||
</el-button
|
||||
>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list" :height="650">
|
||||
<el-table-column prop="ordersId" label="编号" width="60" fixed="left"></el-table-column>
|
||||
<el-table-column prop="ordersNo" label="订单号" width="180" fixed="left"></el-table-column>
|
||||
<el-table-column prop="userName" label="下单用户"></el-table-column>
|
||||
<el-table-column prop="title" label="名称" width="180"></el-table-column>
|
||||
<el-table-column prop="vipRate" label="会员优惠比" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.vipRate }}%</span>
|
||||
|
@ -61,7 +62,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="payTime" label="支付时间" width="100"></el-table-column>
|
||||
<el-table-column prop="status" label="订单状态" fixed="right" width="80">
|
||||
<el-table-column prop="status" label="订单状态" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f56c6c;" v-if="scope.row.status==0">待支付</span>
|
||||
<span style="color: #009900;" v-if="scope.row.status==1">已支付</span>
|
||||
|
@ -83,15 +84,29 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="refundTime" label="退款时间" width="100"></el-table-column>
|
||||
<el-table-column prop="refundMoney" label="退款金额" width="80"></el-table-column>
|
||||
<el-table-column prop="unUsedQuantity" label="未使用次数" width="100" fixed="right"></el-table-column>
|
||||
<el-table-column prop="usedQuantity" label="已使用次数" width="100" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #008000;cursor: pointer;"
|
||||
@click="showDetailView(scope.row)">{{ scope.row.usedQuantity }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id" width="100" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
<el-button v-if="scope.row.status==0||scope.row.status==1"
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="showPackageView(scope.row)"
|
||||
>服务包
|
||||
</el-button>
|
||||
<el-button v-if="scope.row.status==0||scope.row.status==1"
|
||||
size="mini"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
@click="showDetailView(scope.row)"
|
||||
>包详情
|
||||
</el-button>
|
||||
<!-- <el-button v-if="scope.row.status==1"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="danger"-->
|
||||
|
@ -146,7 +161,6 @@
|
|||
</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="status" label="状态1"></el-table-column>
|
||||
<el-table-column prop="status" label="状态" fixed="right" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f56c6c;" v-if="scope.row.status==0">待支付</span>
|
||||
|
@ -248,7 +262,6 @@ export default {
|
|||
packageTableDataLoading: false,//服务包loading
|
||||
packageTableData: [],//服务包
|
||||
|
||||
|
||||
dialogVisibleDetail: false,//详情弹窗
|
||||
detailTableDataLoading: false,//详情loading
|
||||
detailTableData: [],//详情
|
||||
|
|
|
@ -51,9 +51,15 @@
|
|||
<img style="width: 200px; height: 200px" :src="scope.row.content" alt="">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div v-if="scope.row.messageType==3">
|
||||
<audio :src="scope.row.content" type="audio/wav" controls="controls"></audio>
|
||||
</div>
|
||||
<!-- 表情 -->
|
||||
<div class="center-item-info_wrapper" v-if="scope.row.messageType==3">
|
||||
<div class="center-item-tip">
|
||||
<div v-html="scope.row.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="scope.row.messageType==3">-->
|
||||
<!-- <audio :src="scope.row.content" type="audio/wav" controls="controls"></audio>-->
|
||||
<!-- </div>-->
|
||||
<div v-if="scope.row.messageType==4">
|
||||
<el-popover placement="top-start" title="" trigger="hover">
|
||||
<img style="width: 50px; height: 50px" :src="'https://taskshop.xianmxkj.com/emoji/'+scope.row.content" alt="" slot="reference">
|
||||
|
@ -126,9 +132,15 @@
|
|||
<img style="width: 200px; height: 200px" :src="scope.row.content" alt="">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div v-if="scope.row.messageType==3">
|
||||
<audio :src="scope.row.content" type="audio/wav" controls="controls"></audio>
|
||||
</div>
|
||||
<!-- 表情 -->
|
||||
<div class="center-item-info_wrapper" v-if="scope.row.messageType==3">
|
||||
<div class="center-item-tip">
|
||||
<div v-html="scope.row.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="scope.row.messageType==3">-->
|
||||
<!-- <audio :src="scope.row.content" type="audio/wav" controls="controls"></audio>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div v-if="scope.row.messageType==4">
|
||||
<!-- <img style="width: 50px; height: 50px" :src="'https://taskshop.xianmxkj.com/emoji/'+scope.row.content" alt="" slot="reference"> -->
|
||||
|
@ -197,9 +209,45 @@
|
|||
tableData: {},
|
||||
userData:{},
|
||||
chatConversationId:'',
|
||||
emojiList:[
|
||||
[{"url":"100.gif",alt:"[微笑]"},{"url":"101.gif",alt:"[伤心]"},{"url":"102.gif",alt:"[美女]"},{"url":"103.gif",alt:"[发呆]"},{"url":"104.gif",alt:"[墨镜]"},{"url":"105.gif",alt:"[哭]"},{"url":"106.gif",alt:"[羞]"},{"url":"107.gif",alt:"[哑]"},{"url":"108.gif",alt:"[睡]"},{"url":"109.gif",alt:"[哭]"},{"url":"110.gif",alt:"[囧]"},{"url":"111.gif",alt:"[怒]"},{"url":"112.gif",alt:"[调皮]"},{"url":"113.gif",alt:"[笑]"},{"url":"114.gif",alt:"[惊讶]"},{"url":"115.gif",alt:"[难过]"},{"url":"116.gif",alt:"[酷]"},{"url":"117.gif",alt:"[汗]"},{"url":"118.gif",alt:"[抓狂]"},{"url":"119.gif",alt:"[吐]"},{"url":"120.gif",alt:"[笑]"},{"url":"121.gif",alt:"[快乐]"},{"url":"122.gif",alt:"[奇]"},{"url":"123.gif",alt:"[傲]"}],
|
||||
[{"url":"124.gif",alt:"[饿]"},{"url":"125.gif",alt:"[累]"},{"url":"126.gif",alt:"[吓]"},{"url":"127.gif",alt:"[汗]"},{"url":"128.gif",alt:"[高兴]"},{"url":"129.gif",alt:"[闲]"},{"url":"130.gif",alt:"[努力]"},{"url":"131.gif",alt:"[骂]"},{"url":"132.gif",alt:"[疑问]"},{"url":"133.gif",alt:"[秘密]"},{"url":"134.gif",alt:"[乱]"},{"url":"135.gif",alt:"[疯]"},{"url":"136.gif",alt:"[哀]"},{"url":"137.gif",alt:"[鬼]"},{"url":"138.gif",alt:"[打击]"},{"url":"139.gif",alt:"[bye]"},{"url":"140.gif",alt:"[汗]"},{"url":"141.gif",alt:"[抠]"},{"url":"142.gif",alt:"[鼓掌]"},{"url":"143.gif",alt:"[糟糕]"},{"url":"144.gif",alt:"[恶搞]"},{"url":"145.gif",alt:"[什么]"},{"url":"146.gif",alt:"[什么]"},{"url":"147.gif",alt:"[累]"}],
|
||||
[{"url":"148.gif",alt:"[看]"},{"url":"149.gif",alt:"[难过]"},{"url":"150.gif",alt:"[难过]"},{"url":"151.gif",alt:"[坏]"},{"url":"152.gif",alt:"[亲]"},{"url":"153.gif",alt:"[吓]"},{"url":"154.gif",alt:"[可怜]"},{"url":"155.gif",alt:"[刀]"},{"url":"156.gif",alt:"[水果]"},{"url":"157.gif",alt:"[酒]"},{"url":"158.gif",alt:"[篮球]"},{"url":"159.gif",alt:"[乒乓]"},{"url":"160.gif",alt:"[咖啡]"},{"url":"161.gif",alt:"[美食]"},{"url":"162.gif",alt:"[动物]"},{"url":"163.gif",alt:"[鲜花]"},{"url":"164.gif",alt:"[枯]"},{"url":"165.gif",alt:"[唇]"},{"url":"166.gif",alt:"[爱]"},{"url":"167.gif",alt:"[分手]"},{"url":"168.gif",alt:"[生日]"},{"url":"169.gif",alt:"[电]"},{"url":"170.gif",alt:"[炸弹]"},{"url":"171.gif",alt:"[刀子]"}],
|
||||
[{"url":"172.gif",alt:"[足球]"},{"url":"173.gif",alt:"[瓢虫]"},{"url":"174.gif",alt:"[翔]"},{"url":"175.gif",alt:"[月亮]"},{"url":"176.gif",alt:"[太阳]"},{"url":"177.gif",alt:"[礼物]"},{"url":"178.gif",alt:"[抱抱]"},{"url":"179.gif",alt:"[拇指]"},{"url":"180.gif",alt:"[贬低]"},{"url":"181.gif",alt:"[握手]"},{"url":"182.gif",alt:"[剪刀手]"},{"url":"183.gif",alt:"[抱拳]"},{"url":"184.gif",alt:"[勾引]"},{"url":"185.gif",alt:"[拳头]"},{"url":"186.gif",alt:"[小拇指]"},{"url":"187.gif",alt:"[拇指八]"},{"url":"188.gif",alt:"[食指]"},{"url":"189.gif",alt:"[ok]"},{"url":"190.gif",alt:"[情侣]"},{"url":"191.gif",alt:"[爱心]"},{"url":"192.gif",alt:"[蹦哒]"},{"url":"193.gif",alt:"[颤抖]"},{"url":"194.gif",alt:"[怄气]"},{"url":"195.gif",alt:"[跳舞]"}],
|
||||
[{"url":"196.gif",alt:"[发呆]"},{"url":"197.gif",alt:"[背着]"},{"url":"198.gif",alt:"[伸手]"},{"url":"199.gif",alt:"[耍帅]"},{"url":"200.png",alt:"[微笑]"},{"url":"201.png",alt:"[生病]"},{"url":"202.png",alt:"[哭泣]"},{"url":"203.png",alt:"[吐舌]"},{"url":"204.png",alt:"[迷糊]"},{"url":"205.png",alt:"[瞪眼]"},{"url":"206.png",alt:"[恐怖]"},{"url":"207.png",alt:"[忧愁]"},{"url":"208.png",alt:"[眨眉]"},{"url":"209.png",alt:"[闭眼]"},{"url":"210.png",alt:"[鄙视]"},{"url":"211.png",alt:"[阴暗]"},{"url":"212.png",alt:"[小鬼]"},{"url":"213.png",alt:"[礼物]"},{"url":"214.png",alt:"[拜佛]"},{"url":"215.png",alt:"[力量]"},{"url":"216.png",alt:"[金钱]"},{"url":"217.png",alt:"[蛋糕]"},{"url":"218.png",alt:"[彩带]"},{"url":"219.png",alt:"[礼物]"},]
|
||||
],
|
||||
//表情图片图床名称 ,由于我上传的第三方图床名称会有改变,所以有此数据来做对应,您实际应用中应该不需要
|
||||
onlineEmoji:{"100.gif":"AbNQgA.gif","101.gif":"AbN3ut.gif","102.gif":"AbNM3d.gif","103.gif":"AbN8DP.gif","104.gif":"AbNljI.gif","105.gif":"AbNtUS.gif","106.gif":"AbNGHf.gif","107.gif":"AbNYE8.gif","108.gif":"AbNaCQ.gif","109.gif":"AbNN4g.gif","110.gif":"AbN0vn.gif","111.gif":"AbNd3j.gif","112.gif":"AbNsbV.gif","113.gif":"AbNwgs.gif","114.gif":"AbNrD0.gif","115.gif":"AbNDuq.gif","116.gif":"AbNg5F.gif","117.gif":"AbN6ET.gif","118.gif":"AbNcUU.gif","119.gif":"AbNRC4.gif","120.gif":"AbNhvR.gif","121.gif":"AbNf29.gif","122.gif":"AbNW8J.gif","123.gif":"AbNob6.gif","124.gif":"AbN5K1.gif","125.gif":"AbNHUO.gif","126.gif":"AbNIDx.gif","127.gif":"AbN7VK.gif","128.gif":"AbNb5D.gif","129.gif":"AbNX2d.gif","130.gif":"AbNLPe.gif","131.gif":"AbNjxA.gif","132.gif":"AbNO8H.gif","133.gif":"AbNxKI.gif","134.gif":"AbNzrt.gif","135.gif":"AbU9Vf.gif","136.gif":"AbUSqP.gif","137.gif":"AbUCa8.gif","138.gif":"AbUkGQ.gif","139.gif":"AbUFPg.gif","140.gif":"AbUPIS.gif","141.gif":"AbUZMn.gif","142.gif":"AbUExs.gif","143.gif":"AbUA2j.gif","144.gif":"AbUMIU.gif","145.gif":"AbUerq.gif","146.gif":"AbUKaT.gif","147.gif":"AbUmq0.gif","148.gif":"AbUuZV.gif","149.gif":"AbUliF.gif","150.gif":"AbU1G4.gif","151.gif":"AbU8z9.gif","152.gif":"AbU3RJ.gif","153.gif":"AbUYs1.gif","154.gif":"AbUJMR.gif","155.gif":"AbUadK.gif","156.gif":"AbUtqx.gif","157.gif":"AbUUZ6.gif","158.gif":"AbUBJe.gif","159.gif":"AbUdIO.gif","160.gif":"AbU0iD.gif","161.gif":"AbUrzd.gif","162.gif":"AbUDRH.gif","163.gif":"AbUyQA.gif","164.gif":"AbUWo8.gif","165.gif":"AbU6sI.gif","166.gif":"AbU2eP.gif","167.gif":"AbUcLt.gif","168.gif":"AbU4Jg.gif","169.gif":"AbURdf.gif","170.gif":"AbUhFS.gif","171.gif":"AbU5WQ.gif","172.gif":"AbULwV.gif","173.gif":"AbUIzj.gif","174.gif":"AbUTQs.gif","175.gif":"AbU7yn.gif","176.gif":"AbUqe0.gif","177.gif":"AbUHLq.gif","178.gif":"AbUOoT.gif","179.gif":"AbUvYF.gif","180.gif":"AbUjFU.gif","181.gif":"AbaSSJ.gif","182.gif":"AbUxW4.gif","183.gif":"AbaCO1.gif","184.gif":"Abapl9.gif","185.gif":"Aba9yR.gif","186.gif":"AbaFw6.gif","187.gif":"Abaiex.gif","188.gif":"AbakTK.gif","189.gif":"AbaZfe.png","190.gif":"AbaEFO.gif","191.gif":"AbaVYD.gif","192.gif":"AbamSH.gif","193.gif":"AbaKOI.gif","194.gif":"Abanld.gif","195.gif":"Abau6A.gif","196.gif":"AbaQmt.gif","197.gif":"Abal0P.gif","198.gif":"AbatpQ.gif","199.gif":"Aba1Tf.gif","200.png":"Aba8k8.png","201.png":"AbaGtS.png","202.png":"AbaJfg.png","203.png":"AbaNlj.png","204.png":"Abawmq.png","205.png":"AbaU6s.png","206.png":"AbaaXn.png","207.png":"Aba000.png","208.png":"AbarkT.png","209.png":"AbastU.png","210.png":"AbaB7V.png","211.png":"Abafn1.png","212.png":"Abacp4.png","213.png":"AbayhF.png","214.png":"Abag1J.png","215.png":"Aba2c9.png","216.png":"AbaRXR.png","217.png":"Aba476.png","218.png":"Abah0x.png","219.png":"Abdg58.png"},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkBrackets(data) {
|
||||
// 正则表达式,用于匹配包含中括号的字符串
|
||||
const regex = /\[|\]/;
|
||||
|
||||
// 使用正则表达式的test方法检查数据
|
||||
return regex.test(data);
|
||||
},
|
||||
//替换表情符号为图片
|
||||
replaceEmoji(str){
|
||||
let replacedStr = str.replace(/\[([^(\]|\[)]*)\]/g,(item, index)=>{
|
||||
console.log("item: " + item);
|
||||
for(let i=0;i<this.emojiList.length;i++){
|
||||
let row = this.emojiList[i];
|
||||
for(let j=0;j<row.length;j++){
|
||||
let EM = row[j];
|
||||
if(EM.alt==item){
|
||||
//在线表情路径,图文混排必须使用网络路径,请上传一份表情到你的服务器后再替换此路径
|
||||
//比如你上传服务器后,你的100.gif路径为https://www.xxx.com/emoji/100.gif 则替换onlinePath填写为https://www.xxx.com/emoji/
|
||||
let onlinePath = 'https://s2.ax1x.com/2019/04/12/'
|
||||
let imgstr = '<img src="'+onlinePath+this.onlineEmoji[EM.url]+'">';
|
||||
return imgstr;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return '<div style="display: flex;align-items: center;word-wrap:break-word;">'+replacedStr+'</div>';
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.limit = val;
|
||||
this.dataSelect()
|
||||
|
@ -319,9 +367,17 @@
|
|||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
this.tableDataLoading = false
|
||||
this.tableDataLoading = false;
|
||||
let returnData = data.data;
|
||||
this.tableData = returnData
|
||||
this.tableData = returnData;
|
||||
this.tableData.list.forEach(d => {
|
||||
var sf=this.checkBrackets(d.content)
|
||||
if(sf==true){
|
||||
var sss=this.replaceEmoji(d.content);
|
||||
d.content=sss;
|
||||
d.messageType=3;
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// 获取聊天内容列表
|
||||
|
@ -341,7 +397,15 @@
|
|||
}) => {
|
||||
this.tableDataLoading = false
|
||||
let returnData = data.data;
|
||||
this.userData = returnData
|
||||
this.userData = returnData;
|
||||
this.userData.list.forEach(d => {
|
||||
var sf=this.checkBrackets(d.content)
|
||||
if(sf==true){
|
||||
var sss=this.replaceEmoji(d.content);
|
||||
d.content=sss;
|
||||
d.messageType=3;
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
//删除聊天
|
||||
|
@ -385,6 +449,12 @@
|
|||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style lang="scss">
|
||||
.el-popover {
|
||||
height: 200px;
|
||||
width: 400px;
|
||||
overflow: scroll;
|
||||
overflow-x: auto;
|
||||
font-size: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -810,7 +810,6 @@
|
|||
platform: '',
|
||||
type: '',
|
||||
balance: -1,
|
||||
flag: 1,
|
||||
info: {
|
||||
stockDate: this.getNowTime(), //日期
|
||||
},
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
<!-- <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 prop="duration" label="时长(分钟)" width="100">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="addNum" label="加钟次数"> </el-table-column> -->
|
||||
<el-table-column prop="labels" label="标签" width="150">
|
||||
|
@ -264,7 +264,7 @@
|
|||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-sizes="[5, 10, 20, 40]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
|
@ -1812,9 +1812,17 @@
|
|||
icon="document"
|
||||
@click="clockReset"
|
||||
>重置
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin: 10px"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="addSelection"
|
||||
>批量添加
|
||||
</el-button>
|
||||
|
||||
<el-table :data="clockData.list" style="width: 100%">
|
||||
<el-table :data="clockData.list" style="width: 100%" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55"></el-table-column>
|
||||
<el-table-column prop="title" label="项目名称" width="480">
|
||||
</el-table-column>
|
||||
<el-table-column prop="massageImg" label="图片">
|
||||
|
@ -1940,7 +1948,7 @@ export default {
|
|||
state: "",
|
||||
childLimit: 10,
|
||||
childPage: 1,
|
||||
limit: 10,
|
||||
limit: 5,
|
||||
classify: 6,
|
||||
classifys: 6,
|
||||
openValue: 1,
|
||||
|
@ -2230,6 +2238,40 @@ export default {
|
|||
this.clockTitle = "";
|
||||
this.selectMassageTypeChildrenPage();
|
||||
},
|
||||
addSelection() {
|
||||
const ids = this.multipleSelection.join(',');
|
||||
if(ids==null||ids.length<1){
|
||||
return;
|
||||
}
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("artificer/addSelectionMassages"),
|
||||
method: "post",
|
||||
// params: this.$http.adornParams({
|
||||
data: this.$http.adornData({
|
||||
ids: ids,
|
||||
parentId: this.parentId,
|
||||
}),
|
||||
}).then(({ data }) => {
|
||||
if (data.code == 0) {
|
||||
this.Listframe = false;
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.classSelectJz();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: "warning",
|
||||
duration: 1500,
|
||||
onClose: () => {},
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
// 加钟项目列表添加进行赋值,打开添加弹窗
|
||||
addList(row) {
|
||||
console.log("row", row);
|
||||
|
@ -3314,7 +3356,7 @@ export default {
|
|||
handleSelectionChange(val) {
|
||||
var arr = [];
|
||||
for (var i in val) {
|
||||
arr.push(val[i].id);
|
||||
arr.push(val[i].massageTypeId);
|
||||
}
|
||||
this.multipleSelection = arr;
|
||||
console.log("val", val, this.multipleSelection);
|
||||
|
|
|
@ -154,6 +154,7 @@ export default {
|
|||
this.$cookie.set('numberDrz', '')
|
||||
this.$cookie.set('numberCs', '')
|
||||
this.$cookie.set('numberJg', '')
|
||||
this.$cookie.set('numberLts', '')
|
||||
sessionStorage.clear()
|
||||
//router.options.isAddDynamicMenuRoutes = false;
|
||||
this.$router.push({
|
||||
|
@ -381,6 +382,21 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
// 获取聊天室数据
|
||||
dataSelectLts() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('chat/selectChatCount'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
// 'userId': this.userId,
|
||||
'userId': 0,
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data.data >= 0) {
|
||||
this.$cookie.set('numberLts', data.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取超时订单数据
|
||||
dataSelectCs() {
|
||||
let _this = this
|
||||
|
@ -516,6 +532,7 @@ export default {
|
|||
this.dataSelectPy()
|
||||
this.dataSelectJjqz()
|
||||
this.dataSelectYh()
|
||||
this.dataSelectLts()
|
||||
if ((this.userId && this.ringOrderId) && (this.userId == this.ringOrderId)) {
|
||||
this.dataSelectJg()
|
||||
this.dataSelectCs()
|
||||
|
|
|
@ -2,8 +2,16 @@
|
|||
<el-submenu v-if="menu.list && menu.list.length >= 1" :index="menu.menuId + ''"
|
||||
:popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'">
|
||||
<template slot="title">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
<span>
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</span>
|
||||
<el-badge class="item" v-if="menu.menuId==129&&chatNumLts!=0" is-dot>
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==195&&chatNumLts!=0" is-dot>
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
</template>
|
||||
<sub-menu v-for="item in menu.list" :key="item.menuId" :menu="item" :dynamicMenuRoutes="dynamicMenuRoutes">
|
||||
</sub-menu>
|
||||
|
@ -13,30 +21,29 @@
|
|||
<span>{{ menu.name }}</span>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item v-else :index="menu.menuId + ''" @click="gotoRouteHandle(menu)">
|
||||
<el-badge class="item" v-if="menu.menuId==77&&chatNumDrz!=0" :value="chatNumDrz">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-else-if="menu.menuId==167&&chatNumDts!=0" :value="chatNumDts">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-else-if="menu.menuId==182&&chatNumDsm!=0" :value="chatNumDsm">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-else-if="menu.menuId==174&&chatNumJjqz!=0" :value="chatNumJjqz">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-else-if="menu.menuId==224&&chatNumFwz!=0" :value="chatNumFwz">
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-badge>
|
||||
<span v-else>
|
||||
<span>
|
||||
<icon-svg :name="menu.icon || ''" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>{{ menu.name }}</span>
|
||||
</span>
|
||||
<el-badge class="item" v-if="menu.menuId==79&&chatNumLts!=0" :value="chatNumLts">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==174&&chatNumJjqz!=0" :value="chatNumJjqz">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==77&&chatNumDrz!=0" :value="chatNumDrz">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==167&&chatNumDts!=0" :value="chatNumDts">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==182&&chatNumDsm!=0" :value="chatNumDsm">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
<el-badge class="item" v-if="menu.menuId==224&&chatNumFwz!=0" :value="chatNumFwz">
|
||||
<span> </span>
|
||||
</el-badge>
|
||||
|
||||
</el-menu-item>
|
||||
</template>
|
||||
|
||||
|
@ -51,6 +58,7 @@
|
|||
chatNumDsm:0,
|
||||
chatNumJjqz:0,
|
||||
chatNumFwz:0,
|
||||
chatNumLts:0,
|
||||
}
|
||||
},
|
||||
props: {
|
||||
|
@ -92,7 +100,7 @@
|
|||
if(this.$cookie.get('numberDts')){
|
||||
this.chatNumDts = this.$cookie.get('numberDts')
|
||||
}
|
||||
|
||||
|
||||
if(this.$cookie.get('numberJjqz')){
|
||||
this.chatNumJjqz = this.$cookie.get('numberJjqz')
|
||||
}
|
||||
|
@ -102,7 +110,10 @@
|
|||
if(this.$cookie.get('numberJg')>=0||this.$cookie.get('numberCs')>=0){
|
||||
this.chatNumFwz = Number(this.$cookie.get('numberCs')) + Number(this.$cookie.get('numberJg'))
|
||||
}
|
||||
|
||||
if(this.$cookie.get('numberLts')){
|
||||
this.chatNumLts = this.$cookie.get('numberLts')
|
||||
}
|
||||
|
||||
}, 1000)
|
||||
// this.chatNum2 = setInterval(() => {
|
||||
// this.messageSelect2()
|
||||
|
@ -116,19 +127,9 @@
|
|||
},
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
<style scoped lang="scss">
|
||||
.item {
|
||||
/* margin-top: 10px;
|
||||
margin-right: 40px; */
|
||||
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.el-badge__content.is-fixed.is-dot {
|
||||
right: -5px;
|
||||
top: 20px;
|
||||
}
|
||||
.el-badge__content.is-fixed{
|
||||
right: 0px;
|
||||
top: 20px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
@ -13,14 +13,10 @@
|
|||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入项目名称"
|
||||
v-model="title"></el-input>
|
||||
</div>
|
||||
<div style="display: inline-block;margin-bottom: 6px;">
|
||||
<span>城市:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入地区" v-model="city">
|
||||
</el-input>
|
||||
<!-- <el-select v-model="type" style="width:150px;margin-left: 10px;" @change="animeDat(type)">
|
||||
<el-option v-for="item in typeNum" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>订单编号:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入订单编号"
|
||||
v-model="ordersNo"></el-input>
|
||||
</div>
|
||||
<div style="display: inline-block;margin-bottom: 6px;">
|
||||
<span>状态:</span>
|
||||
|
@ -43,9 +39,8 @@
|
|||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>下单人用户名:</span>
|
||||
<span>下单用户:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入下单人用户名"
|
||||
v-model="userName"></el-input>
|
||||
</div>
|
||||
|
@ -54,57 +49,14 @@
|
|||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入联系电话" v-model="phone">
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>订单编号:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入订单编号"
|
||||
v-model="ordersNo"></el-input>
|
||||
</div>
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>师傅用户名:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入师傅用户名"
|
||||
v-model="artificerName"></el-input>
|
||||
</div>
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>推广师傅用户名:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入推广师傅用户名"
|
||||
v-model="oneArtificerUserName"></el-input>
|
||||
</div>
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span> 推广员用户名:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入推广员用户名"
|
||||
v-model="oneUserName"></el-input>
|
||||
</div>
|
||||
<div style="position: relative;display: inline-block;margin-bottom: 6px;">
|
||||
<span>商家名称:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入商家名称"
|
||||
v-model="shopName"></el-input>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>服务开始时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTimeF" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>服务截止时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTimeF" align="right" type="datetime"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>下单开始时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>下单截止时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="datetime"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
|
||||
</el-date-picker>
|
||||
<div style="display: inline-block;margin-bottom: 6px;">
|
||||
<span>城市:</span>
|
||||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入地区" v-model="city">
|
||||
</el-input>
|
||||
<!-- <el-select v-model="type" style="width:150px;margin-left: 10px;" @change="animeDat(type)">
|
||||
<el-option v-for="item in typeNum" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
</div>
|
||||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="select">查询
|
||||
</el-button>
|
||||
|
@ -112,10 +64,59 @@
|
|||
</el-button>
|
||||
<el-button style='margin-left:15px;' size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:daochu')" @click="exportBtn">导出Excel
|
||||
</el-button>
|
||||
<el-button v-show="isCollapsed" style="margin-left:15px;" size="mini" type="primary" icon="document" @click="toggle">折叠
|
||||
</el-button>
|
||||
<el-button v-show="!isCollapsed" style="margin-left:15px;" size="mini" type="primary" icon="document" @click="toggle">展开
|
||||
</el-button>
|
||||
<div v-show="isCollapsed">
|
||||
<!-- <div style="position: relative;display: inline-block;margin-bottom: 6px;">-->
|
||||
<!-- <span>师傅用户名:</span>-->
|
||||
<!-- <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入师傅用户名"-->
|
||||
<!-- v-model="artificerName"></el-input> -->
|
||||
<!-- </div>-->
|
||||
<!-- <div style="position: relative;display: inline-block;margin-bottom: 6px;">-->
|
||||
<!-- <span>推广师傅用户名:</span>-->
|
||||
<!-- <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入推广师傅用户名"-->
|
||||
<!-- v-model="oneArtificerUserName"></el-input> -->
|
||||
<!-- </div>-->
|
||||
<!-- <div style="position: relative;display: inline-block;margin-bottom: 6px;">-->
|
||||
<!-- <span> 推广员用户名:</span>-->
|
||||
<!-- <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入推广员用户名"-->
|
||||
<!-- v-model="oneUserName"></el-input> -->
|
||||
<!-- </div>-->
|
||||
<!-- <div style="position: relative;display: inline-block;margin-bottom: 6px;">-->
|
||||
<!-- <span>商家名称:</span>-->
|
||||
<!-- <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入商家名称"-->
|
||||
<!-- v-model="shopName"></el-input> -->
|
||||
<!-- </div>-->
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>服务开始:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTimeF" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>服务截止:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTimeF" align="right" type="datetime"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>下单开始:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>下单截止:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="datetime"
|
||||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="color: orange;"> * 导出订单提示:导出订单前请进行时间或者状态等筛选,否则导出订单量过多易出现卡顿或系统崩溃</div>
|
||||
</div>
|
||||
<div style="color: orange;"> * 导出订单提示:导出订单前请进行时间或者状态等筛选,否则导出订单量过多易出现卡顿或系统崩溃</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list" height="500px">
|
||||
<el-table-column prop="ordersId" label="编号" width="80" fixed="left">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list" height="550px">
|
||||
<el-table-column prop="ordersId" label="编号" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" label="下单用户">
|
||||
<template slot-scope="scope">
|
||||
|
@ -135,20 +136,34 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="price" label="项目类型">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.ordersMassageList.length>0&&scope.row.ordersMassageList[0].massageType">{{ scope.row.ordersMassageList[0].massageType.classifyName }}</span>
|
||||
<span v-if="scope.row.ordersMassageList.length>0">
|
||||
<span v-if="scope.row.ordersMassageList[0].userPackageDetail">
|
||||
{{ scope.row.ordersMassageList[0].userPackageDetail.classifyName }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{ scope.row.ordersMassageList[0].massageType.classifyName }}
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="price" label="项目名称">
|
||||
<el-table-column prop="price" label="项目名称" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.ordersMassageList.length>0&&scope.row.ordersMassageList[0].massageType">{{ scope.row.ordersMassageList[0].massageType.title }}</span>
|
||||
<span v-if="scope.row.ordersMassageList.length>0">
|
||||
<span v-if="scope.row.ordersMassageList[0].userPackageDetail">
|
||||
{{ scope.row.ordersMassageList[0].userPackageDetail.title }}
|
||||
</span>
|
||||
<span v-else>
|
||||
{{ scope.row.ordersMassageList[0].massageType.title }}
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="price" label="项目价格">
|
||||
</el-table-column>
|
||||
<el-table-column prop="couponName" label="优惠券名称">
|
||||
<el-table-column prop="couponName" label="优惠券名称" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="couponMoney" label="优惠券价格">
|
||||
<el-table-column prop="couponMoney" label="优惠券价格" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="artificerMoney" label="师傅收益">
|
||||
</el-table-column>
|
||||
|
@ -156,23 +171,28 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="taxiMoney" label="打车费">
|
||||
</el-table-column>
|
||||
<el-table-column prop="oneUserName" label="推广用户名称">
|
||||
<el-table-column prop="jjrUserName" label="经纪人">
|
||||
</el-table-column>
|
||||
<el-table-column prop="jjrMoney" label="经纪人佣金" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #008000;cursor: pointer;"
|
||||
@click="updates(scope.row.oneUserId)">{{ scope.row.oneUserName?scope.row.oneUserName:'未绑定' }}</span>
|
||||
<span style="color: #B94A48;" >{{ scope.row.jjrMoney?scope.row.jjrMoney:'0' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="oneUserMoney" label="推广员用户佣金">
|
||||
<el-table-column prop="fxyOneUserName" label="一级分销员" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="oneArtificerUserName" label="推广师傅用户名">
|
||||
<el-table-column prop="fxyOneMoney" label="分销员佣金" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #B94A48;cursor: pointer;"
|
||||
@click="updates(scope.row.oneArtificerUserId)">{{ scope.row.oneArtificerUserName?scope.row.oneArtificerUserName:'未绑定' }}</span>
|
||||
<span style="color: #B94A48;" >{{ scope.row.fxyOneMoney?scope.row.fxyOneMoney:'0' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="oneArtificerMoney" label="推广师傅佣金">
|
||||
<el-table-column prop="fxyTwoUserName" label="二级分销员" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="shopMoney" label=" 商家收益">
|
||||
<el-table-column prop="fxyTwoMoney" label="分销员佣金" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #B94A48;" >{{ scope.row.fxyTwoMoney?scope.row.fxyTwoMoney:'0' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="shopMoney" label="商家收益">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #B94A48;" >{{ scope.row.shopMoney?scope.row.shopMoney:'0' }}</span>
|
||||
</template>
|
||||
|
@ -188,16 +208,16 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="addNum" label="加钟次数">
|
||||
</el-table-column>
|
||||
<el-table-column prop="addArtificerMoney" label=" 加钟师傅收益">
|
||||
<el-table-column prop="addArtificerMoney" label="加钟师傅收益" width="130">
|
||||
</el-table-column>
|
||||
<el-table-column prop="sumArtificerMoney" label="师傅总收益">
|
||||
<el-table-column prop="sumArtificerMoney" label="师傅总收益" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="sumMoney" label="订单总金额">
|
||||
<el-table-column prop="sumMoney" label="订单总金额" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #B94A48;" >{{ scope.row.sumMoney?scope.row.sumMoney:'0' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="km" label="全程距离(公里)">
|
||||
<el-table-column prop="km" label="距离(公里)" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="tripWay" label="出行方式">
|
||||
<template slot-scope="scope">
|
||||
|
@ -217,7 +237,7 @@
|
|||
<span v-if="scope.row.payWay==6">支付宝</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="phone" label="联系电话">
|
||||
<el-table-column prop="phone" label="联系电话" width="120">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="address" label="服务地址" width="200">
|
||||
|
@ -239,9 +259,9 @@
|
|||
@click="updateBz(scope.row)" style="margin:5px;">修改</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startTime" label="开始服务时间" width="100">
|
||||
<el-table-column prop="startTime" label="开始服务时间" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="endTime" label="预估结束时间" width="100">
|
||||
<el-table-column prop="endTime" label="预估结束时间" width="160">
|
||||
</el-table-column>
|
||||
<!-- 新增的 待对接 -->
|
||||
<el-table-column prop="startAddress" label="开始服务地址" width="200">
|
||||
|
@ -274,38 +294,38 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column prop="startLongitude" label="服务开始经度"></el-table-column>
|
||||
<el-table-column prop="startLatitude" label="服务开始纬度"></el-table-column>
|
||||
<el-table-column prop="accomplishLongitude" label="服务结束经度"></el-table-column>
|
||||
<el-table-column prop="accomplishLatitude" label="服务结束纬度"></el-table-column>
|
||||
<el-table-column prop="startLongitude" label="服务开始经度" width="120"></el-table-column>
|
||||
<el-table-column prop="startLatitude" label="服务开始纬度" width="120"></el-table-column>
|
||||
<el-table-column prop="accomplishLongitude" label="服务结束经度" width="120"></el-table-column>
|
||||
<el-table-column prop="accomplishLatitude" label="服务结束纬度" width="120"></el-table-column>
|
||||
<!-- -->
|
||||
<el-table-column prop="artificerStartTime" label="师傅出发时间">
|
||||
<el-table-column prop="artificerStartTime" label="师傅出发时间" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="artificerEndTime" label="师傅到达时间">
|
||||
<el-table-column prop="artificerEndTime" label="师傅到达时间" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="endTimes" label="订单完成时间" width="100">
|
||||
<el-table-column prop="endTimes" label="订单完成时间" width="160">
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column prop="overTimeOrders" label="是否超时" fixed="right" width="50">
|
||||
<el-table-column prop="overTimeOrders" label="超时" fixed="right" width="50">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f56c6c;" v-if="scope.row.overTimeOrders==1">是</span>
|
||||
<span style="color: #999;" v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="是否加钟" fixed="right" width="50">
|
||||
<el-table-column prop="status" label="加钟" fixed="right" width="50">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f56c6c;" v-if="scope.row.addNum>0">是</span>
|
||||
<span style="color: #f56c6c;cursor: pointer;" v-if="scope.row.addNum>0" @click="selectBtn(scope.row)">是</span>
|
||||
<span style="color: #999;" v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="订单状态" fixed="right" width="50">
|
||||
<el-table-column prop="status" label="状态" fixed="right" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #f56c6c;" v-if="scope.row.status==1">待支付</span>
|
||||
<span style="color: #E87D0D;" v-if="scope.row.status==2">待服务</span>
|
||||
<span style="color: #009900;" v-if="scope.row.status==3">待评价</span>
|
||||
<span style="color: #009900;cursor: pointer;" v-if="scope.row.status==3" @click="pingjiaBtn(scope.row)">待评价</span>
|
||||
<span style="color: #999;" v-if="scope.row.status==4">已取消</span>
|
||||
<span style="color: #999;" v-if="scope.row.status==5">已完成</span>
|
||||
<span style="color: #999;cursor: pointer;" v-if="scope.row.status==5" @click="pingjiaBtn(scope.row)">已完成</span>
|
||||
<span style="color: red;" v-if="scope.row.status==6">服务中</span>
|
||||
<span style="color: #E87D0D;" v-if="scope.row.status==7">师傅出发</span>
|
||||
<span style="color: #E87D0D;" v-if="scope.row.status==8">师傅到达</span>
|
||||
|
@ -320,51 +340,48 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" width="160">
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" fixed="right" label="操作" width="180">
|
||||
<el-table-column prop="createTime" fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button style="margin:5px;" size="mini" type="primary" icon="document" @click="selectBtn(scope.row)">加钟记录
|
||||
</el-button>
|
||||
<el-button style="margin:5px;" size="mini" type="primary" icon="document" @click="pingjiaBtn(scope.row)" plain>评价
|
||||
</el-button>
|
||||
<el-button size="mini" type="danger" :disabled="!isAuth('orderCenter:wancheng')" v-if="scope.row.status==2||scope.row.status==6||scope.row.status==7||scope.row.status==8"
|
||||
<!-- <el-button style="margin:5px;" size="mini" type="primary" icon="document" @click="selectBtn(scope.row)">加钟记录-->
|
||||
<!-- </el-button>-->
|
||||
<!-- <el-button style="margin:5px;" size="mini" type="primary" icon="document" @click="pingjiaBtn(scope.row)" plain>评价
|
||||
</el-button>-->
|
||||
<!-- 状态 1待支付 2待服务 3待评论 4已取消 5已完成 6进行中 7技师出发 8技师到达 9用户已支付技师待接单 10待补单 11原单挂单 -->
|
||||
<el-button style="margin:5px;" size="mini" type="primary" icon="document" v-if="scope.row.status==2||scope.row.status==6||scope.row.status==7||scope.row.status==8||scope.row.status==9"
|
||||
@click="handleZhuandan(scope.row)">转单 </el-button>
|
||||
<el-button size="mini" type="danger" :disabled="!isAuth('orderCenter:wancheng')" v-if="scope.row.status==2||scope.row.status==7||scope.row.status==8||scope.row.status==9"
|
||||
@click="wancheng(scope.row)" style="margin:5px;" plain>完成订单</el-button>
|
||||
<!-- <el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:quxiao')" v-if="scope.row.status==7||scope.row.status==8" @click="quxiaoBtn(scope.row)" plain>取消订单-->
|
||||
<el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:quxiao')" @click="quxiaoBtn(scope.row)" plain>取消订单
|
||||
<el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:quxiao')" v-if="scope.row.status==1||scope.row.status==2||scope.row.status==6||scope.row.status==7||scope.row.status==8||scope.row.status==9||scope.row.status==10" @click="quxiaoBtn(scope.row)" plain>取消订单
|
||||
</el-button>
|
||||
<el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:tuikuan')" @click="tuikuanBtn(scope.row)" v-if="scope.row.status!=1&&scope.row.status!=4&&scope.row.status!=3&&scope.row.status!=5">退全款
|
||||
</el-button>
|
||||
<el-button size="mini" type="danger" :disabled="!isAuth('orderCenter:delete')"
|
||||
@click="deletes(scope.row)" style="margin:5px;">删除</el-button>
|
||||
@click="deletes(scope.row)" style="margin:5px;" v-if="scope.row.status==4">删除</el-button>
|
||||
<el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:tuikuan')" @click="tuikuanBtnBf(scope.row)" v-if="scope.row.status!=1&&scope.row.status!=4&&scope.row.status!=3&&scope.row.status!=5">部分退款
|
||||
</el-button>
|
||||
<!-- 状态 1待支付 2待服务 3待评论 4已取消 5已完成 6进行中 7技师出发 8技师到达 9用户已支付技师待接单 10待补单 11原单挂单 -->
|
||||
<el-button style="margin:5px;" size="mini" type="primary" icon="document" v-if="scope.row.status==2||scope.row.status==6||scope.row.status==7||scope.row.status==8||scope.row.status==9"
|
||||
@click="handleZhuandan(scope.row)">转单 </el-button>
|
||||
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
本页累计总交易统计:{{totalMoney.toFixed(2)}}元; </div>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
师傅统计:{{totalMoneyS.toFixed(2)}}元; </div>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
推广用户统计:{{totalMoneyTy.toFixed(2)}}元; </div>
|
||||
</br>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
推广师傅统计:{{totalMoneyTj.toFixed(2)}}元; </div>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
商家统计:{{totalMoneyShop.toFixed(2)}}元</div>
|
||||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||||
平台统计:{{totalMoneyP.toFixed(2)}}元</div>
|
||||
|
||||
<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>
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 本页累计总交易统计:{{totalMoney.toFixed(2)}}元; </div>-->
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 师傅统计:{{totalMoneyS.toFixed(2)}}元; </div>-->
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 推广用户统计:{{totalMoneyTy.toFixed(2)}}元; </div>-->
|
||||
<!-- </br>-->
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 推广师傅统计:{{totalMoneyTj.toFixed(2)}}元; </div>-->
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 商家统计:{{totalMoneyShop.toFixed(2)}}元</div>-->
|
||||
<!-- <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">-->
|
||||
<!-- 平台统计:{{totalMoneyP.toFixed(2)}}元</div>-->
|
||||
</el-tab-pane>
|
||||
|
||||
<!-- 加钟记录 -->
|
||||
|
@ -930,9 +947,13 @@
|
|||
jishisize:10,
|
||||
phoneT:'',
|
||||
jszdOrderId:'',
|
||||
isCollapsed: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggle() {
|
||||
this.isCollapsed = !this.isCollapsed;
|
||||
},
|
||||
//处理默认选中当前日期
|
||||
getNowTime() {
|
||||
var now = new Date()
|
||||
|
|
|
@ -1145,7 +1145,7 @@
|
|||
</div>
|
||||
</el-tab-pane> -->
|
||||
<!-- 我的团队 -->
|
||||
<el-tab-pane v-if="artificerIdSet" label="我的团队" name="tuandui">
|
||||
<el-tab-pane label="我的团队" name="tuandui">
|
||||
<div>
|
||||
<span>用户类型:</span>
|
||||
<el-select v-model="types" style="width:150px;margin-left: 10px;" @change="animeDat(types)">
|
||||
|
@ -1413,7 +1413,6 @@
|
|||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
|
||||
<!-- 积分明细 -->
|
||||
<el-tab-pane v-if="artificerIdSet" label="积分明细" name="integratingDetails">
|
||||
<div class="importIntegrating">
|
||||
|
@ -1434,19 +1433,29 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="integratingStatistics">
|
||||
<p>时长积分:{{ onlineNum }}</p>
|
||||
<p>在线时长:{{ (onlineNum / 60).toFixed(1) }} 小时</p>
|
||||
<p>储值积分:{{ storedValueNum }}</p>
|
||||
<p>总积分:{{ totalIntegrating }}</p>
|
||||
<p style="width:200px;">时长积分:{{ zxscjf }}</p>
|
||||
<p style="width:200px;">在线时长:{{ zxsc }} 小时</p>
|
||||
<p style="width:200px;">储值积分:{{ chuzjf }}</p>
|
||||
<p style="width:200px;">业绩积分:{{ yjjf }}</p>
|
||||
<p style="width:200px;">充值积分:{{ chongzjf }}</p>
|
||||
<p style="width:200px;">系统调整积分:{{ tzjf }}</p>
|
||||
<p style="width:200px;">总积分:{{ sumJf }}</p>
|
||||
</div>
|
||||
<el-table :data="integratingDetailDataList" row-key="id">
|
||||
<el-table-column prop="id" label="编号" width="80" fixed="left">
|
||||
<el-table-column prop="id" label="编号" width="120" fixed="left">
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" width="160">
|
||||
<el-table-column prop="createTime" label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column prop="type" label="积分类型">
|
||||
<el-table-column prop="classify" label="积分类型">
|
||||
<template slot-scope="scope">
|
||||
{{ showDictValue(scope.row.classify, integratingOptions) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userRecharge" label="积分增长量">
|
||||
<el-table-column prop="integral" label="积分增长量">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.type == 1">{{scope.row.integral}}</span>
|
||||
<span style="color: #ff0000;" v-if="scope.row.state == 2">-{{scope.row.integral}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ordersNo" label="备注">
|
||||
</el-table-column>
|
||||
|
@ -2201,7 +2210,13 @@ import { serverPaths } from '@/utils/enumData'
|
|||
integratingDataStatus: true,
|
||||
totalIntegrating: 0,
|
||||
storedValueNum: 0,
|
||||
onlineNum: 0,
|
||||
sumJf: 0,
|
||||
zxscjf: 0,
|
||||
zxsc: 0,
|
||||
chuzjf: 0,
|
||||
yjjf: 0,
|
||||
tzjf: 0,
|
||||
chongzjf: 0,
|
||||
currentIntegratingType: 1,
|
||||
integratingDetailDataList: [],
|
||||
openValue: 1,
|
||||
|
@ -2648,6 +2663,7 @@ import { serverPaths } from '@/utils/enumData'
|
|||
dialogFormVisibleU: false,
|
||||
consortia: {},
|
||||
usersData: {},
|
||||
teamData: {},
|
||||
nickName: "",
|
||||
phoneU: "",
|
||||
inviterCode: "",
|
||||
|
@ -2669,6 +2685,18 @@ import { serverPaths } from '@/utils/enumData'
|
|||
title: "储值积分",
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
title: "业绩积分",
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
title: "充值积分",
|
||||
value: 5
|
||||
},
|
||||
{
|
||||
title: "系统调整",
|
||||
value: 4
|
||||
},
|
||||
],
|
||||
historyArtificerName: "",
|
||||
//我的物料部分
|
||||
|
@ -2920,6 +2948,10 @@ import { serverPaths } from '@/utils/enumData'
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
showDictValue(data, datas){
|
||||
const dictItem = datas.find(item => data === item.value);
|
||||
return dictItem ? dictItem.title : '';
|
||||
},
|
||||
// 点击图片进行放大
|
||||
imgShow(e) {
|
||||
const image = new Image()
|
||||
|
@ -3342,34 +3374,35 @@ import { serverPaths } from '@/utils/enumData'
|
|||
//数量
|
||||
await this.$http({
|
||||
url: this.$http.adornUrl(
|
||||
"/app/artificer/stored/value?date=" +
|
||||
(this.currentIntegratingDate ?
|
||||
this.currentIntegratingDate :
|
||||
this.getFormatDate()) +
|
||||
"&type=" +
|
||||
this.currentIntegratingType +
|
||||
"&artificerId=" +
|
||||
artificerId
|
||||
),
|
||||
"/app/artificer/storedPc/value?date=" +
|
||||
(this.currentIntegratingDate ?this.currentIntegratingDate :this.getFormatDate())+"&artificerId=" +artificerId),
|
||||
method: "post",
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.data) {
|
||||
this.totalIntegrating = data.data.sum;
|
||||
this.storedValueNum = data.data.storedValue;
|
||||
this.onlineNum = Math.floor(data.data.onlineCredits);
|
||||
this.sumJf = data.data.sumJf;
|
||||
this.zxscjf = data.data.zxscjf;
|
||||
this.zxsc = data.data.zxsc;
|
||||
this.chuzjf = data.data.chuzjf;
|
||||
this.yjjf = data.data.yjjf;
|
||||
this.tzjf = data.data.tzjf;
|
||||
this.chongzjf = data.data.chongzjf;
|
||||
} else {
|
||||
this.totalIntegrating = 0;
|
||||
this.storedValueNum = 0;
|
||||
this.onlineNum = 0;
|
||||
this.sumJf = 0;
|
||||
this.zxscjf = 0;
|
||||
this.zxsc = 0;
|
||||
this.chuzjf = 0;
|
||||
this.yjjf = 0;
|
||||
this.tzjf = 0;
|
||||
this.chongzjf = 0;
|
||||
}
|
||||
});
|
||||
//列表
|
||||
this.integratingDetailDataList = [];
|
||||
await this.$http({
|
||||
url: this.$http.adornUrl(
|
||||
"user/integral?type=" +
|
||||
"user/integralPc?type=" +
|
||||
this.currentIntegratingType +
|
||||
"¤t=" +
|
||||
this.page +
|
||||
|
@ -5292,6 +5325,14 @@ import { serverPaths } from '@/utils/enumData'
|
|||
}
|
||||
});
|
||||
},
|
||||
handleSizeChange9(val) {
|
||||
this.limit = val;
|
||||
this.teamSelect();
|
||||
},
|
||||
handleCurrentChange9(val) {
|
||||
this.page = val;
|
||||
this.teamSelect();
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.artificerIdSet = this.$route.query.artificerId;
|
||||
|
@ -5427,7 +5468,7 @@ import { serverPaths } from '@/utils/enumData'
|
|||
display: flex;
|
||||
justify-content: space-around;
|
||||
font-size: 18px;
|
||||
width: 35%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.borderInner {
|
||||
|
|
|
@ -17,10 +17,18 @@
|
|||
v-bind:class="{ blue: index == current }" v-for="(item, index) in chatList" :key="index"
|
||||
@click="clickItem(item, index)">
|
||||
<div class="left-item-left">
|
||||
<div class="left-item-head" v-if="item.avatar == null || item.avatar == ''">
|
||||
<img src="~@/assets/img/head.png" />
|
||||
</div>
|
||||
<div class="left-item-head" v-else><img :src="item.avatar" /></div>
|
||||
<el-badge class="item" v-if="item.contentCount!=0" :value="item.contentCount">
|
||||
<div class="left-item-head" v-if="item.avatar == null || item.avatar == ''">
|
||||
<img src="~@/assets/img/head.png" />
|
||||
</div>
|
||||
<div class="left-item-head" v-else><img :src="item.avatar" /></div>
|
||||
</el-badge>
|
||||
<span v-else>
|
||||
<div class="left-item-head" v-if="item.avatar == null || item.avatar == ''">
|
||||
<img src="~@/assets/img/head.png" />
|
||||
</div>
|
||||
<div class="left-item-head" v-else><img :src="item.avatar" /></div>
|
||||
</span>
|
||||
<div class="left-item-info">
|
||||
<div class="left-item-info_title">{{ item.userName }}</div>
|
||||
<div class="left-item-info_content">{{ item.content }}</div>
|
||||
|
@ -523,6 +531,7 @@ const maxReconnectMaxCn = 100;
|
|||
storeId: this.storeId,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
userId: 0
|
||||
}),
|
||||
}).then(({
|
||||
data
|
||||
|
@ -530,7 +539,6 @@ const maxReconnectMaxCn = 100;
|
|||
this.tableDataLoading = false;
|
||||
let returnData = data.data;
|
||||
this.chatList = returnData.list;
|
||||
|
||||
// this.clickItem(this.chatList[this.current], this.current);
|
||||
});
|
||||
},
|
||||
|
@ -567,7 +575,7 @@ const maxReconnectMaxCn = 100;
|
|||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
<style scoped lang="scss">
|
||||
.whole-wrapper {
|
||||
display: flex;
|
||||
background: #fff;
|
||||
|
|
Loading…
Reference in New Issue