commit
bea88507d3
@ -172,3 +172,13 @@ xss:
|
|||||||
excludes: /system/notice/*
|
excludes: /system/notice/*
|
||||||
# 匹配链接
|
# 匹配链接
|
||||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||||
|
|
||||||
|
#阿里云OSS配置
|
||||||
|
aliyun:
|
||||||
|
oss:
|
||||||
|
AccessKeyID: LTAI4GEGbBEiqv1Z512K4qWn
|
||||||
|
AccessKeySecret: fT7eIhejMwMy5tFooCF0puLkurH64j
|
||||||
|
Buckets: stdiet
|
||||||
|
EndPoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||||
|
#案例文件夹路径
|
||||||
|
casePrefix: case/
|
@ -10,6 +10,7 @@ stdiet:
|
|||||||
demoEnabled: true
|
demoEnabled: true
|
||||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||||
profile: /Users/wonder/Documents/Workspaces/java/ShengtangManage/running/uploadPath
|
profile: /Users/wonder/Documents/Workspaces/java/ShengtangManage/running/uploadPath
|
||||||
|
# profile: D:/ruoyi/uploadPath
|
||||||
# 获取ip地址开关
|
# 获取ip地址开关
|
||||||
addressEnabled: false
|
addressEnabled: false
|
||||||
# 验证码类型 math 数组计算 char 字符验证
|
# 验证码类型 math 数组计算 char 字符验证
|
||||||
@ -172,3 +173,14 @@ xss:
|
|||||||
excludes: /system/notice/*
|
excludes: /system/notice/*
|
||||||
# 匹配链接
|
# 匹配链接
|
||||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||||
|
|
||||||
|
#阿里云OSS配置
|
||||||
|
aliyun:
|
||||||
|
oss:
|
||||||
|
AccessKeyID: LTAI4GEGbBEiqv1Z512K4qWn
|
||||||
|
AccessKeySecret: fT7eIhejMwMy5tFooCF0puLkurH64j
|
||||||
|
Buckets: stdiet
|
||||||
|
EndPoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||||
|
#案例文件夹路径
|
||||||
|
casePrefix: case/
|
||||||
|
|
||||||
|
@ -172,3 +172,13 @@ xss:
|
|||||||
excludes: /system/notice/*
|
excludes: /system/notice/*
|
||||||
# 匹配链接
|
# 匹配链接
|
||||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||||
|
|
||||||
|
#阿里云OSS配置
|
||||||
|
aliyun:
|
||||||
|
oss:
|
||||||
|
AccessKeyID: LTAI4GEGbBEiqv1Z512K4qWn
|
||||||
|
AccessKeySecret: fT7eIhejMwMy5tFooCF0puLkurH64j
|
||||||
|
Buckets: stdiet
|
||||||
|
EndPoint: https://oss-cn-shenzhen.aliyuncs.com
|
||||||
|
#案例文件夹路径
|
||||||
|
casePrefix: case/
|
@ -21,7 +21,7 @@ public class MyApplicationRunner implements ApplicationRunner {
|
|||||||
@Override
|
@Override
|
||||||
public void run(ApplicationArguments args) throws Exception {
|
public void run(ApplicationArguments args) throws Exception {
|
||||||
System.out.println("项目启动调用方法");
|
System.out.println("项目启动调用方法");
|
||||||
String path = AliyunOSSUtils.uploadFileInputSteam(AliyunOSSConfig.casePrefix,"ceshi.png",new File("D:\\ceshi.png"));
|
// String path = AliyunOSSUtils.uploadFileInputSteam(AliyunOSSConfig.casePrefix,"ceshi.png",new File("D:\\ceshi.png"));
|
||||||
System.out.println(path);
|
// System.out.println(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,9 @@ const oriState = {
|
|||||||
startNum: 0,
|
startNum: 0,
|
||||||
endNum: 0,
|
endNum: 0,
|
||||||
reviewStatus: 0,
|
reviewStatus: 0,
|
||||||
templateInfo: undefined
|
templateInfo: undefined,
|
||||||
|
copyData: undefined,
|
||||||
|
fontSize: 12
|
||||||
};
|
};
|
||||||
|
|
||||||
const mutations = {
|
const mutations = {
|
||||||
@ -37,7 +39,7 @@ const mutations = {
|
|||||||
obj => obj.id === payload.id
|
obj => obj.id === payload.id
|
||||||
);
|
);
|
||||||
if (tarDishes) {
|
if (tarDishes) {
|
||||||
if (tarDishes.dishesId !== payload.dishesId) {
|
if (payload.dishesId || payload.type !== undefined) {
|
||||||
// 替换菜品
|
// 替换菜品
|
||||||
Object.keys(payload).forEach(key => {
|
Object.keys(payload).forEach(key => {
|
||||||
if (key === "num") {
|
if (key === "num") {
|
||||||
@ -55,6 +57,9 @@ const mutations = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
updateFontSize(state, payload) {
|
||||||
|
state.fontSize = payload.fontSize;
|
||||||
|
},
|
||||||
addRecipesDishes(state, payload) {
|
addRecipesDishes(state, payload) {
|
||||||
state.recipesData[payload.num].dishes.push(payload.data);
|
state.recipesData[payload.num].dishes.push(payload.data);
|
||||||
},
|
},
|
||||||
@ -282,6 +287,7 @@ const actions = {
|
|||||||
// console.log(params);
|
// console.log(params);
|
||||||
},
|
},
|
||||||
async addDishes({ commit, state }, payload) {
|
async addDishes({ commit, state }, payload) {
|
||||||
|
console.log(payload);
|
||||||
const tarDishesList = state.recipesData[payload.num].dishes.filter(
|
const tarDishesList = state.recipesData[payload.num].dishes.filter(
|
||||||
obj => obj.type === payload.data.type
|
obj => obj.type === payload.data.type
|
||||||
);
|
);
|
||||||
@ -367,26 +373,34 @@ const actions = {
|
|||||||
);
|
);
|
||||||
if (tarDishes) {
|
if (tarDishes) {
|
||||||
const mTarDishes = JSON.parse(JSON.stringify(tarDishes));
|
const mTarDishes = JSON.parse(JSON.stringify(tarDishes));
|
||||||
const tarIgd = mTarDishes.igdList.find(obj => obj.id === payload.igdId);
|
let params = {
|
||||||
if (tarIgd) {
|
id: mTarDishes.id
|
||||||
payload.weight && (tarIgd.weight = payload.weight);
|
};
|
||||||
payload.cusWeight && (tarIgd.cusWeight = payload.cusWeight);
|
if (payload.type !== undefined) {
|
||||||
payload.cusUnit && (tarIgd.cusUnit = payload.cusUnit);
|
// 修改餐类
|
||||||
|
params.type = payload.type;
|
||||||
|
} else {
|
||||||
|
// 修改食材
|
||||||
|
const tarIgd = mTarDishes.igdList.find(
|
||||||
|
obj => obj.id === payload.igdId
|
||||||
|
);
|
||||||
|
if (tarIgd) {
|
||||||
|
payload.weight && (tarIgd.weight = payload.weight);
|
||||||
|
payload.cusWeight && (tarIgd.cusWeight = payload.cusWeight);
|
||||||
|
payload.cusUnit && (tarIgd.cusUnit = payload.cusUnit);
|
||||||
|
|
||||||
const params = {
|
params.detail = mTarDishes.igdList.map(igd => ({
|
||||||
id: mTarDishes.id,
|
|
||||||
detail: mTarDishes.igdList.map(igd => ({
|
|
||||||
id: igd.id,
|
id: igd.id,
|
||||||
weight: igd.weight,
|
weight: igd.weight,
|
||||||
cus_unit: igd.cusUnit,
|
cus_unit: igd.cusUnit,
|
||||||
cus_weight: igd.cusWeight
|
cus_weight: igd.cusWeight
|
||||||
}))
|
}));
|
||||||
};
|
|
||||||
const result = await updateDishesDetailApi(params);
|
|
||||||
if (result.code === 200) {
|
|
||||||
commit("updateRecipesDishesDetail", payload);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const result = await updateDishesDetailApi(params);
|
||||||
|
if (result.code === 200) {
|
||||||
|
commit("updateRecipesDishesDetail", payload);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
commit("updateRecipesDishesDetail", payload);
|
commit("updateRecipesDishesDetail", payload);
|
||||||
@ -408,7 +422,21 @@ const actions = {
|
|||||||
commit("deleteSomeDayDishes", payload);
|
commit("deleteSomeDayDishes", payload);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async deleteMenu({ commit }, payload) {}
|
async deleteMenu({ commit }, payload) {},
|
||||||
|
async setCopyData({ commit, state }, payload) {
|
||||||
|
return new Promise((res, rej) => {
|
||||||
|
const tarDishes = state.recipesData[payload.num].dishes.find(
|
||||||
|
obj => obj.id === payload.id
|
||||||
|
);
|
||||||
|
if (tarDishes) {
|
||||||
|
commit("updateStateData", { copyData: tarDishes });
|
||||||
|
|
||||||
|
res("复制成功");
|
||||||
|
} else {
|
||||||
|
rej("复制失败");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getters = {
|
const getters = {
|
||||||
|
@ -4,6 +4,22 @@
|
|||||||
:style="`height: ${collapse ? 30 : 200}px`"
|
:style="`height: ${collapse ? 30 : 200}px`"
|
||||||
>
|
>
|
||||||
<div class="header">
|
<div class="header">
|
||||||
|
<span class="font_size_style">
|
||||||
|
字体大小:
|
||||||
|
<el-select
|
||||||
|
v-model="mFontSize"
|
||||||
|
size="mini"
|
||||||
|
style="width: 80px"
|
||||||
|
@change="handleOnSizeChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="size in fontSizeOpts"
|
||||||
|
:key="size.value"
|
||||||
|
:label="size.label"
|
||||||
|
:value="size.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</span>
|
||||||
<el-button size="mini" v-if="!recipesId" @click="handleOnBack"
|
<el-button size="mini" v-if="!recipesId" @click="handleOnBack"
|
||||||
>返回</el-button
|
>返回</el-button
|
||||||
>
|
>
|
||||||
@ -91,16 +107,32 @@ export default {
|
|||||||
PieChart,
|
PieChart,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {};
|
return {
|
||||||
|
mFontSize: 12,
|
||||||
|
fontSizeOpts: [
|
||||||
|
{ value: 12, label: "12" },
|
||||||
|
{ value: 14, label: "14" },
|
||||||
|
{ value: 16, label: "16" },
|
||||||
|
{ value: 18, label: "18" },
|
||||||
|
],
|
||||||
|
};
|
||||||
},
|
},
|
||||||
updated() {
|
updated() {
|
||||||
// console.log(this.data);
|
// console.log(this.data);
|
||||||
},
|
},
|
||||||
props: ["collapse", "data"],
|
props: ["collapse", "data"],
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["recipesId", "reviewStatus", "healthyData"]),
|
...mapState(["recipesId", "reviewStatus", "healthyData", "fontSize"]),
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
fontSize(val) {
|
||||||
|
this.mFontSize = val;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleOnSizeChange(fontSize) {
|
||||||
|
this.updateFontSize({ fontSize });
|
||||||
|
},
|
||||||
handleCollapseClick() {
|
handleCollapseClick() {
|
||||||
this.$emit("update:collapse", !this.collapse);
|
this.$emit("update:collapse", !this.collapse);
|
||||||
},
|
},
|
||||||
@ -121,7 +153,7 @@ export default {
|
|||||||
this.updateStateData({ recipesData: [] });
|
this.updateStateData({ recipesData: [] });
|
||||||
},
|
},
|
||||||
...mapActions(["saveRecipes", "updateReviewStatus"]),
|
...mapActions(["saveRecipes", "updateReviewStatus"]),
|
||||||
...mapMutations(["updateStateData"]),
|
...mapMutations(["updateStateData", "updateFontSize"]),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -138,6 +170,13 @@ export default {
|
|||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
transform-origin: center center;
|
transform-origin: center center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.font_size_style {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
|
@ -92,13 +92,14 @@ export default {
|
|||||||
data.name
|
data.name
|
||||||
}」`;
|
}」`;
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
|
this.type = data.type;
|
||||||
} else if (type) {
|
} else if (type) {
|
||||||
this.title = `添加第${numDay}天${this.typeDict[type]}菜品`;
|
this.title = `添加第${numDay}天${this.typeDict[type]}菜品`;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.dishesRef.getList({ type });
|
this.$refs.dishesRef.getList({ type: this.type });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleOnClosed(done) {
|
handleOnClosed(done) {
|
||||||
|
@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="title"
|
||||||
|
:visible.sync="visible"
|
||||||
|
width="320px"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<div v-loading="loading" @click="handleClick" class="reuse_dialog_wrapper">
|
||||||
|
<div style="margin-bottom: 12px">餐类</div>
|
||||||
|
<el-radio-group v-model="type">
|
||||||
|
<el-radio
|
||||||
|
style="padding: 8px 0"
|
||||||
|
v-for="item in menuTypeOptions"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictValue"
|
||||||
|
>
|
||||||
|
{{ item.dictLabel }}
|
||||||
|
</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submit">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { createNamespacedHelpers } from "vuex";
|
||||||
|
const { mapState } = createNamespacedHelpers("recipes");
|
||||||
|
import { getDishes } from "@/api/custom/dishes";
|
||||||
|
export default {
|
||||||
|
name: "DishesSettingDialog",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
data: undefined,
|
||||||
|
type: "",
|
||||||
|
menuTypeOptions: [],
|
||||||
|
title: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
},
|
||||||
|
showDialog({ numDay, data }) {
|
||||||
|
if (!data) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.data = data;
|
||||||
|
this.visible = true;
|
||||||
|
this.loading = true;
|
||||||
|
this.type = data.type;
|
||||||
|
this.title = `修改第${numDay}天「${data.name}」菜品`;
|
||||||
|
getDishes(data.dishesId).then((res) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.loading = false;
|
||||||
|
this.menuTypeOptions = res.data.type
|
||||||
|
.split(",")
|
||||||
|
.sort((a, b) => a - b)
|
||||||
|
.reduce((arr, cur) => {
|
||||||
|
const tarOpt = this.typeOptions.find(
|
||||||
|
(obj) => obj.dictValue === cur
|
||||||
|
);
|
||||||
|
if (tarOpt) {
|
||||||
|
arr.push(tarOpt);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}, []);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.visible = false;
|
||||||
|
this.data = undefined;
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
this.visible = false;
|
||||||
|
this.$emit("onConfirm", { type: this.type, id: this.data.id });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(["typeOptions"]),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.reuse_dialog_wrapper {
|
||||||
|
.item {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu_type {
|
||||||
|
padding: 8px 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,20 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'ReuseDialog',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
visible: false,
|
|
||||||
data: undefined
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
showDialog() {
|
|
||||||
this.visible = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -7,12 +7,28 @@
|
|||||||
:cell-style="{ padding: '2px 0' }"
|
:cell-style="{ padding: '2px 0' }"
|
||||||
:header-cell-style="{ padding: '4px 0', height: 'unset' }"
|
:header-cell-style="{ padding: '4px 0', height: 'unset' }"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
header-row-class-name="recipes_header"
|
||||||
|
:cell-class-name="cellClassName"
|
||||||
:style="`outline: ${currentDay === num ? '1px solid #d96969' : 'none'}`"
|
:style="`outline: ${currentDay === num ? '1px solid #d96969' : 'none'}`"
|
||||||
>
|
>
|
||||||
<el-table-column prop="type" :width="100" align="center">
|
<el-table-column prop="type" :width="100" align="center">
|
||||||
<template slot="header">
|
<template slot="header">
|
||||||
<div class="num_day" @click="handleOnResetCurrentDay">
|
<el-popover placement="top" trigger="hover" v-if="!!copyData">
|
||||||
<div>{{ `第${numDay}天` }}</div>
|
<div>
|
||||||
|
<el-button size="mini" type="primary" @click="handleOnPaste"
|
||||||
|
>粘贴</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
slot="reference"
|
||||||
|
class="num_day"
|
||||||
|
@click="handleOnResetCurrentDay"
|
||||||
|
>
|
||||||
|
{{ `第${numDay}天` }}
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
<div v-else>
|
||||||
|
{{ `第${numDay}天` }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@ -44,23 +60,42 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-popover placement="right" trigger="hover" :title="scope.row.name">
|
<el-popover placement="right" trigger="hover" :title="scope.row.name">
|
||||||
<div>
|
<div>
|
||||||
<el-button
|
<div style="margin-bottom: 8px">
|
||||||
type="primary"
|
<el-button
|
||||||
size="mini"
|
type="primary"
|
||||||
icon="el-icon-refresh"
|
size="mini"
|
||||||
class="fun_button"
|
icon="el-icon-refresh"
|
||||||
@click="handleOnReplace(scope.row)"
|
class="fun_button"
|
||||||
>
|
@click="handleOnReplace(scope.row)"
|
||||||
替换
|
>
|
||||||
</el-button>
|
替换
|
||||||
<el-button
|
</el-button>
|
||||||
type="danger"
|
<el-button
|
||||||
size="mini"
|
type="danger"
|
||||||
icon="el-icon-delete"
|
size="mini"
|
||||||
class="fun_button"
|
icon="el-icon-delete"
|
||||||
@click="handleOnDelete(scope.row)"
|
class="fun_button"
|
||||||
>删除</el-button
|
@click="handleOnDelete(scope.row)"
|
||||||
>
|
>删除</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-document-copy"
|
||||||
|
class="fun_button"
|
||||||
|
@click="handleOnCopy(scope.row)"
|
||||||
|
>复制</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-document-copy"
|
||||||
|
class="fun_button"
|
||||||
|
@click="handleOnSetting(scope.row)"
|
||||||
|
>修改餐类</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="num_day" slot="reference">{{ scope.row.name }}</span>
|
<span class="num_day" slot="reference">{{ scope.row.name }}</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -172,7 +207,13 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="做法" prop="methods" />
|
<el-table-column label="做法" prop="methods" />
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<!-- 添加菜品抽屉 -->
|
||||||
<AddDishesDrawer ref="drawerRef" @onConfirm="handleOnDishesConfirm" />
|
<AddDishesDrawer ref="drawerRef" @onConfirm="handleOnDishesConfirm" />
|
||||||
|
<!-- 菜品复用菜单 -->
|
||||||
|
<DishesSettingDialog
|
||||||
|
ref="settingDialogRef"
|
||||||
|
@onConfirm="handleOnSettingConfirm"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -187,6 +228,8 @@ const {
|
|||||||
import EditableText from "./EditableText";
|
import EditableText from "./EditableText";
|
||||||
import EditableUnit from "./EditableUnit";
|
import EditableUnit from "./EditableUnit";
|
||||||
import AddDishesDrawer from "./AddDishesDrawer";
|
import AddDishesDrawer from "./AddDishesDrawer";
|
||||||
|
import DishesSettingDialog from "./DishesSettingDialog";
|
||||||
|
import VueScrollTo from "vue-scrollto";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "RecipesCom",
|
name: "RecipesCom",
|
||||||
@ -213,6 +256,7 @@ export default {
|
|||||||
EditableText,
|
EditableText,
|
||||||
EditableUnit,
|
EditableUnit,
|
||||||
AddDishesDrawer,
|
AddDishesDrawer,
|
||||||
|
DishesSettingDialog,
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// console.log(this.data);
|
// console.log(this.data);
|
||||||
@ -313,12 +357,23 @@ export default {
|
|||||||
return mData;
|
return mData;
|
||||||
},
|
},
|
||||||
...mapGetters(["typeDict"]),
|
...mapGetters(["typeDict"]),
|
||||||
...mapState(["currentDay"]),
|
...mapState(["currentDay", "copyData", "fontSize"]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
cellClassName({ row, column, rowIndex, columnIndex }) {
|
||||||
|
// console.log({ row, column, rowIndex, columnIndex });
|
||||||
|
if (!columnIndex) {
|
||||||
|
return "recipes_first_col";
|
||||||
|
} else {
|
||||||
|
return `recipes_cell_${this.fontSize}`;
|
||||||
|
}
|
||||||
|
},
|
||||||
handleParentClick(e) {
|
handleParentClick(e) {
|
||||||
// 校验某天
|
// 校验某天
|
||||||
this.setCurrentDay({ currentDay: this.num });
|
this.setCurrentDay({ currentDay: this.num });
|
||||||
|
VueScrollTo.scrollTo(`#recipes${this.num}`, 500, {
|
||||||
|
container: "#recipes_content",
|
||||||
|
});
|
||||||
},
|
},
|
||||||
spanMethod({ row, column, rowIndex, columnIndex }) {
|
spanMethod({ row, column, rowIndex, columnIndex }) {
|
||||||
if (columnIndex === 0) {
|
if (columnIndex === 0) {
|
||||||
@ -351,6 +406,27 @@ export default {
|
|||||||
// console.log(data);
|
// console.log(data);
|
||||||
this.deleteDishes({ num: this.num, id: data.id });
|
this.deleteDishes({ num: this.num, id: data.id });
|
||||||
},
|
},
|
||||||
|
handleOnCopy(data) {
|
||||||
|
// console.log(data);
|
||||||
|
this.setCopyData({ num: this.num, id: data.id })
|
||||||
|
.then((msg) => {
|
||||||
|
this.$message.success(msg);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleOnPaste() {
|
||||||
|
// console.log(this.copyData);
|
||||||
|
if (this.copyData) {
|
||||||
|
this.addDishes({
|
||||||
|
num: this.num,
|
||||||
|
data: this.copyData,
|
||||||
|
}).catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
handleOnWeightChange(data, weight) {
|
handleOnWeightChange(data, weight) {
|
||||||
// console.log({ data, weight });
|
// console.log({ data, weight });
|
||||||
this.updateDishes({
|
this.updateDishes({
|
||||||
@ -390,6 +466,16 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleOnSetting(data) {
|
||||||
|
this.$refs.settingDialogRef.showDialog({ numDay: this.numDay, data });
|
||||||
|
},
|
||||||
|
handleOnSettingConfirm({ type, id }) {
|
||||||
|
this.updateDishes({
|
||||||
|
num: this.num,
|
||||||
|
id,
|
||||||
|
type,
|
||||||
|
});
|
||||||
|
},
|
||||||
handleOnMenuTypeClick(data) {
|
handleOnMenuTypeClick(data) {
|
||||||
this.$refs.drawerRef.showDrawer({ type: data.type, numDay: this.numDay });
|
this.$refs.drawerRef.showDrawer({ type: data.type, numDay: this.numDay });
|
||||||
},
|
},
|
||||||
@ -398,6 +484,7 @@ export default {
|
|||||||
"addDishes",
|
"addDishes",
|
||||||
"deleteDishes",
|
"deleteDishes",
|
||||||
"replaceDishes",
|
"replaceDishes",
|
||||||
|
"setCopyData",
|
||||||
]),
|
]),
|
||||||
...mapMutations(["setCurrentDay", "resetCurrentDay"]),
|
...mapMutations(["setCurrentDay", "resetCurrentDay"]),
|
||||||
},
|
},
|
||||||
@ -419,4 +506,29 @@ export default {
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.recipes_header {
|
||||||
|
& > th {
|
||||||
|
background: #d96969 !important;
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipes_first_col {
|
||||||
|
background: #d96969 !important;
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipes_cell_12 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.recipes_cell_14 {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.recipes_cell_16 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
.recipes_cell_18 {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user