Merge branches 'master' and 'xzj' of https://gitee.com/darlk/ShengTangManage into xzj

This commit is contained in:
xiezhijun 2021-04-15 10:52:16 +08:00
commit a92941b525
5 changed files with 306 additions and 260 deletions

View File

@ -25,13 +25,14 @@ public class SysOrderNutritionistReplaceRecord extends BaseEntity
private Long orderId;
/** 更换的营养师ID */
@Excel(name = "更换的营养师ID")
private Long nutritionistId;
/** 更换的售后ID */
@Excel(name = "更换的售后ID")
private Long afterSaleId;
/** 更换的售后ID */
private Long nutriAssisId;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
@ -41,8 +42,15 @@ public class SysOrderNutritionistReplaceRecord extends BaseEntity
private Integer delFlag;
// 售后
@Excel(name = "售后")
private String afterSale;
//营养师
@Excel(name = "营养师")
private String nutritionist;
@Excel(name = "营养师助理")
private String nutriAssis;
}

View File

@ -5,37 +5,42 @@
<mapper namespace="com.stdiet.custom.mapper.SysOrderNutritionistReplaceRecordMapper">
<resultMap type="SysOrderNutritionistReplaceRecord" id="SysOrderNutritionistReplaceRecordResult">
<result property="id" column="id" />
<result property="orderId" column="order_id" />
<result property="nutritionistId" column="nutritionist_id" />
<result property="afterSaleId" column="after_sale_id" />
<result property="startTime" column="start_time" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
<result property="id" column="id"/>
<result property="orderId" column="order_id"/>
<result property="nutritionistId" column="nutritionist_id"/>
<result property="nutriAssisId" column="nutri_assis_id"/>
<result property="afterSaleId" column="after_sale_id"/>
<result property="startTime" column="start_time"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
<!-- 非持久化字段 -->
<result property="afterSale" column="after_sale" />
<result property="nutritionist" column="nutritionist" />
<result property="afterSale" column="after_sale"/>
<result property="nutritionist" column="nutritionist"/>
<result property="nutriAssis" column="nutri_assis"/>
</resultMap>
<sql id="selectSysOrderNutritionistReplaceRecordVo">
select o.id, o.order_id, o.nutritionist_id, o.after_sale_id, o.start_time, o.create_time, o.create_by,
su_sale.nick_name as after_sale, su_nutritionist.nick_name as nutritionist
select o.id, o.order_id, o.nutritionist_id, o.after_sale_id, o.nutri_assis_id, o.start_time, o.create_time, o.create_by,
su_sale.nick_name as after_sale, su_nutritionist.nick_name as nutritionist, su_nutriAssis.nick_name as nutri_assis
from sys_order_nutritionist_replace_record o
left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0
left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0
left join sys_user su_sale on su_sale.user_id = o.after_sale_id
left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id
left join sys_user su_nutriAssis on su_nutriAssis.user_id = o.nutri_assis_id
</sql>
<select id="selectSysOrderNutritionistReplaceRecordList" parameterType="SysOrderNutritionistReplaceRecord" resultMap="SysOrderNutritionistReplaceRecordResult">
<select id="selectSysOrderNutritionistReplaceRecordList" parameterType="SysOrderNutritionistReplaceRecord"
resultMap="SysOrderNutritionistReplaceRecordResult">
<include refid="selectSysOrderNutritionistReplaceRecordVo"/>
where o.del_flag = 0 and o.order_id = #{orderId}
</select>
<select id="selectSysOrderNutritionistReplaceRecordById" parameterType="Long" resultMap="SysOrderNutritionistReplaceRecordResult">
<select id="selectSysOrderNutritionistReplaceRecordById" parameterType="Long"
resultMap="SysOrderNutritionistReplaceRecordResult">
<include refid="selectSysOrderNutritionistReplaceRecordVo"/>
where o.id = #{id} and o.del_flag = 0
</select>
@ -47,6 +52,7 @@
<if test="orderId != null">order_id,</if>
<if test="nutritionistId != null">nutritionist_id,</if>
<if test="afterSaleId != null">after_sale_id,</if>
<if test="nutriAssisId != null">nutri_assis_id,</if>
<if test="startTime != null">start_time,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
@ -59,6 +65,7 @@
<if test="orderId != null">#{orderId},</if>
<if test="nutritionistId != null">#{nutritionistId},</if>
<if test="afterSaleId != null">#{afterSaleId},</if>
<if test="nutriAssisId != null">#{nutriAssisId},</if>
<if test="startTime != null">#{startTime},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
@ -74,6 +81,7 @@
<if test="orderId != null">order_id = #{orderId},</if>
<if test="nutritionistId != null">nutritionist_id = #{nutritionistId},</if>
<if test="afterSaleId != null">after_sale_id = #{afterSaleId},</if>
<if test="nutriAssisId != null">nutri_assis_id = #{nutriAssisId},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
@ -95,8 +103,10 @@
</foreach>
</update>
<select id="getSysOrderReplaceRecordByOrderId" parameterType="Long" resultMap="SysOrderNutritionistReplaceRecordResult">
select id, order_id, nutritionist_id, after_sale_id, start_time, create_time, create_by from sys_order_nutritionist_replace_record
<select id="getSysOrderReplaceRecordByOrderId" parameterType="Long"
resultMap="SysOrderNutritionistReplaceRecordResult">
select id, order_id, nutritionist_id, after_sale_id, nutri_assis_id, start_time, create_time, create_by from
sys_order_nutritionist_replace_record
where del_flag = 0
<if test="orderId != null">
and order_id = #{orderId}

View File

@ -5,7 +5,7 @@
:close-on-press-escape="false"
:visible.sync="visible"
@closed="handleOnClosed"
size="40%"
size="50%"
>
<div class="app-container order_drawer_wrapper">
<div class="header">
@ -60,7 +60,8 @@
prop="orderTypeName"
align="center"
width="160"
></el-table-column>
/>
<el-table-column label="成交金额" prop="amount" align="center" />
<el-table-column label="成交时间" prop="orderTime" align="center"
><template slot-scope="scope">
<div v-for="time in scope.row.orderTime.split(' ')" :key="time">
@ -68,11 +69,7 @@
</div>
</template>
</el-table-column>
<el-table-column
label="成交金额"
prop="amount"
align="center"
></el-table-column>
<el-table-column label="开始日期" prop="startTime" align="center" />
<el-table-column label="服务时长" prop="serveTime" align="center" />
<el-table-column label="操作" align="center" width="120px">
<template slot-scope="scope">
@ -130,7 +127,9 @@
<order-detail ref="orderDetailRef" />
<!-- 订单营养师售后更换记录 -->
<nutritionistReplaceRecord ref="replaceRecordRef"></nutritionistReplaceRecord>
<nutritionistReplaceRecord
ref="replaceRecordRef"
></nutritionistReplaceRecord>
</div>
</template>
<script>
@ -148,7 +147,7 @@ export default {
"edit-order-dialog": OrderEdit,
"order-detail": OrderDetail,
"create-order-dialog": OrderAdd,
"nutritionistReplaceRecord": NutritionistReplaceRecord
nutritionistReplaceRecord: NutritionistReplaceRecord,
},
data() {
return {

View File

@ -1,28 +1,13 @@
<template>
<el-dialog
<el-drawer
:visible.sync="visible"
:close-on-press-escape="false"
:title="dialogTitle"
append-to-body
@closed="onClosed"
width="1000px"
size="40%"
>
<div class="app-container">
<!--<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单ID" prop="orderId">
<el-input
v-model="queryParams.orderId"
placeholder="请输入订单ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>-->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@ -31,62 +16,62 @@
size="mini"
@click="handleAdd"
v-hasPermi="['custom:orderNutritionistReplaceRecord:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<!--<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['custom:orderNutritionistReplaceRecord:edit']"
>修改</el-button>
</el-col>-->
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['custom:orderNutritionistReplaceRecord:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="orderNutritionistReplaceRecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="更换的营养师" align="center" prop="nutritionist" />
<el-table-column label="更换的售后" align="center" prop="afterSale" />
<el-table-column label="开始服务时间" align="center" prop="startTime" width="180">
<el-table v-loading="loading" :data="orderNutritionistReplaceRecordList">
<el-table-column label="营养师" align="center" prop="nutritionist">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
{{ `${orderData.nutritionist} -> ${scope.row.nutritionist}` }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="营养师助理" align="center" prop="nutriAssis">
<template slot-scope="scope">
{{ `${orderData.nutriAssis} -> ${scope.row.nutriAssis}` }}
</template>
</el-table-column>
<el-table-column label="售后" align="center" prop="afterSale">
<template slot-scope="scope">
{{ `${orderData.afterSale} -> ${scope.row.afterSale}` }}
</template>
</el-table-column>
<el-table-column
label="开始服务时间"
align="center"
prop="startTime"
width="100"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="100"
class-name="small-padding "
>
<template slot-scope="scope">
<!--<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['custom:orderNutritionistReplaceRecord:edit']"
>修改</el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['custom:orderNutritionistReplaceRecord:remove']"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@ -94,10 +79,15 @@
/>
<!-- 添加或修改订单营养师售后更换记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="400px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-dialog
:title="title"
:visible.sync="open"
width="400px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="营养师" prop="nutritionistId">
<el-select v-model="form.nutritionistId" placeholder="请选择更换的营养师">
<el-select v-model="form.nutritionistId" placeholder="请选择营养师">
<el-option
v-for="dict in nutritionistIdOptions"
:key="dict.dictValue"
@ -106,8 +96,21 @@
/>
</el-select>
</el-form-item>
<el-form-item label="营养师助理" prop="nutriAssisId">
<el-select
v-model="form.nutriAssisId"
placeholder="请选择营养师助理"
>
<el-option
v-for="dict in nutriAssisIdOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="parseInt(dict.dictValue)"
/>
</el-select>
</el-form-item>
<el-form-item label="售后" prop="afterSaleId">
<el-select v-model="form.afterSaleId" placeholder="请选择更换的售后">
<el-select v-model="form.afterSaleId" placeholder="请选择售后">
<el-option
v-for="dict in afterSaleIdOptions"
:key="dict.dictValue"
@ -117,11 +120,15 @@
</el-select>
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable size="small" style="width: 200px"
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.startTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间">
placeholder="选择开始时间"
>
</el-date-picker>
</el-form-item>
</el-form>
@ -131,17 +138,24 @@
</div>
</el-dialog>
</div>
</el-dialog>
</el-drawer>
</template>
<script>
import { listOrderNutritionistReplaceRecord, getOrderNutritionistReplaceRecord, delOrderNutritionistReplaceRecord, addOrderNutritionistReplaceRecord, updateOrderNutritionistReplaceRecord, exportOrderNutritionistReplaceRecord } from "@/api/custom/OrderNutritionistReplaceRecord";
import { mapGetters } from "vuex";
export default {
import {
listOrderNutritionistReplaceRecord,
getOrderNutritionistReplaceRecord,
delOrderNutritionistReplaceRecord,
addOrderNutritionistReplaceRecord,
updateOrderNutritionistReplaceRecord,
exportOrderNutritionistReplaceRecord,
} from "@/api/custom/OrderNutritionistReplaceRecord";
import { mapGetters } from "vuex";
export default {
name: "OrderNutritionistReplaceRecord",
data() {
return {
dialogTitle:"",
dialogTitle: "",
visible: false,
orderData: null,
//
@ -172,27 +186,40 @@
form: {},
//
rules: {
}
nutritionistId: [
{ required: true, message: "营养师不能为空", trigger: "blur" },
],
nutriAssisId: [
{ required: true, message: "营养师助理不能为空", trigger: "blur" },
],
afterSaleId: [
{ required: true, message: "售后不能为空", trigger: "blur" },
],
startTime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" },
],
},
};
},
created() {
},
created() {},
computed: {
...mapGetters([
//
"afterSaleIdOptions",
//
"nutritionistIdOptions"
"nutritionistIdOptions",
//
"nutriAssisIdOptions",
]),
},
methods: {
showDialog(data) {
if(data == undefined || data == null){
if (data == undefined || data == null) {
return;
}
this.orderData = data;
this.dialogTitle = "「"+data.orderTime+"-"+data.customer+"」订单营养师售后更换记录";
this.dialogTitle =
"「" + data.orderTime + "-" + data.customer + "」订单服务人员更换记录";
this.visible = true;
this.queryParams.orderId = this.orderData.orderId;
this.getList();
@ -200,7 +227,7 @@
/** 查询订单营养师、售后更换记录列表 */
getList() {
this.loading = true;
listOrderNutritionistReplaceRecord(this.queryParams).then(response => {
listOrderNutritionistReplaceRecord(this.queryParams).then((response) => {
this.orderNutritionistReplaceRecordList = response.rows;
this.total = response.total;
this.loading = false;
@ -223,7 +250,7 @@
createBy: null,
updateTime: null,
updateBy: null,
delFlag: null
delFlag: null,
};
this.resetForm("form");
},
@ -237,12 +264,6 @@
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
@ -252,8 +273,8 @@
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getOrderNutritionistReplaceRecord(id).then(response => {
const id = row.id || this.ids;
getOrderNutritionistReplaceRecord(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改订单营养师、售后更换记录";
@ -261,11 +282,11 @@
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
this.form.orderId = this.orderData.orderId;
if (this.form.id != null) {
updateOrderNutritionistReplaceRecord(this.form).then(response => {
updateOrderNutritionistReplaceRecord(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
@ -273,7 +294,7 @@
}
});
} else {
addOrderNutritionistReplaceRecord(this.form).then(response => {
addOrderNutritionistReplaceRecord(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
@ -287,34 +308,44 @@
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除订单营养师、售后更换记录编号为"' + ids + '"的数据项?', "警告", {
this.$confirm(
'是否确认删除订单营养师、售后更换记录编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
type: "warning",
}
)
.then(function () {
return delOrderNutritionistReplaceRecord(ids);
}).then(() => {
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
}).catch(function() {});
})
.catch(function () {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有订单营养师、售后更换记录数据项?', "警告", {
this.$confirm("是否确认导出所有订单营养师、售后更换记录数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
type: "warning",
})
.then(function () {
return exportOrderNutritionistReplaceRecord(queryParams);
}).then(response => {
})
.then((response) => {
this.download(response.msg);
}).catch(function() {});
})
.catch(function () {});
},
onClosed() {
this.orderData = null;
this.visible = false;
}
}
};
},
},
};
</script>

View File

@ -12,14 +12,12 @@
:data="caloriesSource"
type="calories"
width="364px"
:subTitle="subTitle"
/>
<pie-chart
title="质量统计"
:data="weightSource"
type="weight"
width="364px"
:subTitle="subTitle"
/>
<el-button size="mini" type="text" @click="backToAll" class="see_all"
>查看全部</el-button