修改物料包内容

This commit is contained in:
yangjun 2024-06-08 15:01:06 +08:00
parent 0afe64710f
commit c96980e315
3 changed files with 113 additions and 218 deletions

View File

@ -1,147 +1,6 @@
<template>
<div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<!-- <el-tab-pane label="师傅列表" name="first">
<div style="display: inline-block;">
<div style="position: relative;display: inline-block;margin: 5px;">
<span>项目类型</span>
<el-select v-model="classifyId" style="width:150px;margin-left: 10px;" @change="phoneSelect()">
<el-option v-for="item in fwData" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>&nbsp;&nbsp;
</div>
<div style="position: relative;display: inline-block;">
<span>师傅名称</span>
<el-input style="width: 200px;" @keydown.enter.native="phoneSelect" placeholder="请输入师傅名称"
v-model="artificerName">
</el-input>&nbsp;&nbsp;
</div>
<div style="position: relative;display: inline-block;">
<span>城市</span>
<el-input style="width: 200px;" @keydown.enter.native="phoneSelect" placeholder="请输入城市"
v-model="citys">
</el-input>&nbsp;&nbsp;
</div>
<el-button style="margin:10px;" size="mini" type="primary" icon="document" @click="phoneSelect">查询
</el-button>
<el-button style="margin:10px;" size="mini" type="primary" icon="document" @click="cleans2">重置
</el-button>&nbsp;&nbsp;
</div>
<div style="float: right;margin-right:2%;">
</div>
<el-table v-loading="tableDataLoading" :data="choicenData.list">
<el-table-column prop="artificerId" label="编号" width="80" fixed="left">
</el-table-column>
<el-table-column prop="classifyName" label="项目类型" width="150">
</el-table-column>
<el-table-column prop="artificerName" label="师傅名称" fixed="left">
<template slot-scope="scope">
 <span style="color: #4f9dec;cursor: pointer;" @click="updatesvideo(scope.row)"
v-text="scope.row.artificerName"></span>
</template>
</el-table-column>
<el-table-column prop="artificerImg" label="师傅图片">
<template slot-scope="scope">
<div v-if="scope.row.artificerImg &&scope.row.artificerImg!=''"
style="display: inline-block; margin: 3px;">
<el-popover placement="top-start" title="" trigger="hover">
<img style="width: 50px; height: 50px" :src="scope.row.artificerImg" alt=""
slot="reference">
<img style="width: 300px; height: auto" :src="scope.row.artificerImg" alt="">
</el-popover>
</div>
<span v-else>暂无图片</span>
</template>
</el-table-column>
<el-table-column prop="lifePhoto" label="生活照" width="250">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.lifePhoto" :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="certificate" label="师傅证书" width="250">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.certificate" :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="content" label="描述" width="200">
</el-table-column>
<el-table-column prop="city" label="城市" width="120">
</el-table-column>
<el-table-column prop="longitude" label="经度" width="150">
</el-table-column>
<el-table-column prop="latitude" label="纬度" width="150">
</el-table-column>
<el-table-column prop="creditScore" label="信用分" width="80">
</el-table-column>
<el-table-column prop="ordersScore" label="服务分" width="80">
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="180">
</el-table-column>
<el-table-column prop="status " label="状态" fixed="right">
<template slot-scope="scope">
<span style="color: #13ce66;" v-if="scope.row.status===1">上线</span>
<span style="color: #ff4949;" v-else>休息</span>
</template>
</el-table-column>
<el-table-column prop="status" label="是否优选" fixed="right" width="80">
<template slot-scope="scope">
<el-switch v-model="scope.row.isGoods" @change="changeY(scope.row.isGoods,scope.row.artificerId)"
:active-value="openValue" :disabled="!isAuth('locality:update')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column>
<el-table-column prop="isHot" label="是否热度最高" fixed="right" width="80">
<template slot-scope="scope">
<el-switch v-model="scope.row.isHot" @change="changeR(scope.row.isHot,scope.row.artificerId)"
:active-value="openValue" :disabled="!isAuth('locality:update')"
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" prop="id" width="200" fixed='right'>
<template slot-scope="scope">
<el-button size="mini" type="warning" style="margin: 5px;" @click="shenhe( scope.row)">服务项目
</el-button>
<el-button size="mini" type="primary" style="margin: 5px;" @click="plCompile(scope.row)">评价
</el-button>
<el-button size="mini" type="primary" style="margin: 5px;" @click="xinyongBtn( scope.row)">信用分明细
</el-button>
<el-button size="mini" type="danger" style="margin: 5px;"
:disabled="!isAuth('locality:delete')" @click="choidelete(scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;float:right">
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
:page-sizes="[10, 20, 30, 40]" :page-size="size" :current-page="page"
layout="total,sizes, prev, pager, next,jumper" :total="choicenData.totalCount">
</el-pagination>
</div>
</el-tab-pane> -->
<!-- 项目列表 -->
<el-tab-pane label="项目列表" name="third">
@ -220,11 +79,14 @@
>
</el-table-column>
<el-table-column
prop="classifyName"
prop="classifyId"
label="项目类型"
fixed="left"
width="150"
>
<template slot-scope="scope">
{{getDictLabel(scope.row.classifyId)}}
</template>
</el-table-column>
<el-table-column
prop="title"
@ -235,7 +97,7 @@
</el-table-column>
<el-table-column prop="massageImg" label="项目图片">
<template slot-scope="scope">
  <img
<img
v-if="scope.row.massageImg && scope.row.massageImg != ''"
:src="scope.row.massageImg"
width="40"
@ -289,7 +151,7 @@
</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="memberPrice" label="会员价"> </el-table-column> -->
<!-- <el-table-column prop="artificerPrice" label="师傅价">
</el-table-column> -->
<el-table-column prop="duration" label="时长(分钟)">
@ -850,7 +712,7 @@
</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="memberPrice" label="会员价"> </el-table-column> -->
<!-- <el-table-column prop="artificerPrice" label="师傅价">
</el-table-column> -->
<el-table-column prop="duration" label="时长(分钟)">
@ -1015,7 +877,7 @@
placeholder="请输入现价"
></el-input>
</div>
<div style="margin-bottom: 10px">
<!-- <div style="margin-bottom: 10px">
<span style="width: 200px; display: inline-block; text-align: right"
>会员价</span
>
@ -1027,7 +889,7 @@
min="0"
placeholder="请输入会员价"
></el-input>
</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="artificerPrice"
@ -1289,7 +1151,7 @@
</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="memberPrice" label="会员价"> </el-table-column> -->
<!-- <el-table-column prop="artificerPrice" label="师傅价">
</el-table-column> -->
<el-table-column prop="duration" label="时长(分钟)">
@ -1394,7 +1256,7 @@
</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="memberPrice" label="会员价"> </el-table-column> -->
<!-- <el-table-column prop="artificerPrice" label="师傅价">
</el-table-column> -->
<el-table-column prop="duration" label="时长(分钟)">
@ -1525,7 +1387,7 @@
placeholder="请输入现价"
></el-input>
</div>
<div style="margin-bottom: 10px">
<!-- <div style="margin-bottom: 10px">
<span style="width: 200px; display: inline-block; text-align: right"
>会员价</span
>
@ -1537,7 +1399,7 @@
min="0"
placeholder="请输入会员价"
></el-input>
</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="artificerPrice"
@ -1638,13 +1500,6 @@
center
>
<div style="display: flex; align-items: center">
<!-- <div style="position: relative;display: inline-block;margin: 5px;">
<span>物料包类型</span>
<el-select clearable clearable v-model="materialPackageselect" 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>&nbsp;&nbsp;
</div> -->
<div style="position: relative; display: inline-block">
<span>项目名称</span>
<el-input
@ -1841,6 +1696,9 @@
<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>
@ -1918,7 +1776,7 @@
</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 prop="memberPrice" label="会员价"> </el-table-column> -->
<el-table-column label="操作" prop="id" width="160" fixed="right">
<template slot-scope="scope">
<el-button
@ -1995,16 +1853,7 @@ export default {
isShow: [],
consumeNum: 0,
materialPackageselect: "",
materialPackageType: [
{
id: 1,
value: "中医推拿",
},
{
id: 2,
value: "精油SPA",
},
],
materialPackageType: [],
childClassifyId: "",
projectName: "",
dialogWidth: 0,
@ -2190,7 +2039,7 @@ export default {
labels: "", //
massageImg: "", //
massageTypeId: "", //Id
memberPrice: "", //
// memberPrice: "", //
oldPrice: "", //
price: "", //
sales: "", //
@ -2233,6 +2082,35 @@ export default {
};
},
methods: {
//
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;
@ -2386,7 +2264,8 @@ export default {
params: this.$http.adornParams({
page: this.currentInnerPage,
limit: this.pageSizeInner,
status: this.materialPackageClassifyId == 91 ? 2 : 1,
// status: this.materialPackageClassifyId == 91 ? 2 : 1,
status: this.materialPackageClassifyId,
materialName: this.projectNameInner,
}),
}).then(({ data }) => {
@ -2394,13 +2273,13 @@ export default {
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";
}
}
// 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({
@ -3640,15 +3519,15 @@ export default {
return;
}
if (this.memberPrice === "") {
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: "提示",
@ -4181,15 +4060,15 @@ export default {
// })
// return
// }
if (this.memberPrice == "") {
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: '',
@ -4512,7 +4391,7 @@ export default {
console.log(row);
this.showMaterialPackageTable = true;
this.serverId = row.massageTypeId;
this.projectTypeStr = row.classifyName == "中医推拿" ? 1 : 2;
// this.projectTypeStr = row.classifyName == "" ? 1 : 2;
this.getMaterialPackageDataOfRow = row;
this.getMaterialPackageDataList(row);
this.materialPackageClassifyId = row.classifyId;
@ -4532,6 +4411,7 @@ export default {
if (userId) this.userId = userId;
this.classSelect();
this.fwSelect();
this.getDictOptions();
},
};
</script>

View File

@ -2,10 +2,10 @@
<div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<!-- 项目列表 -->
<el-tab-pane label="项目列表" name="third">
<el-tab-pane label="物料包配置" name="third">
<div style="display: flex; align-items: center">
<div style="position: relative; display: inline-block; margin: 5px">
<span>物料包类型</span>
<span>项目类型</span>
<el-select
clearable
v-model="classifyId"
@ -67,6 +67,9 @@
<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>
@ -485,7 +488,19 @@ export default {
}
});
},
//
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'),
@ -681,13 +696,13 @@ export default {
this.tableDataLoading = false;
let returnData = data.data;
let projectType = null;
for (var i in returnData.records) {
if (returnData.records[i].status == 1) {
returnData.records[i].projectType = "中医推拿";
} else {
returnData.records[i].projectType = "精油SPA";
}
}
// for (var i in returnData.records) {
// if (returnData.records[i].status == 1) {
// returnData.records[i].projectType = "";
// } else {
// returnData.records[i].projectType = "SPA";
// }
// }
this.tableData = returnData;
// for (var i in this.tableData.list) {
// if (this.tableData.list[i].contentImg) {

View File

@ -741,17 +741,17 @@
});
return
}
for(var i in this.valueData){
if(this.valueData[i].skuImg==''){
this.$notify({
title: '提示',
duration: 1800,
message: '请上传商品属性图片',
type: 'warning'
});
return
}
}
// for(var i in this.valueData){
// if(this.valueData[i].skuImg==''){
// this.$notify({
// title: '',
// duration: 1800,
// message: '',
// type: 'warning'
// });
// return
// }
// }
if (this.postagePrice === '') {
this.$notify({
title: '提示',