Browse Source

增加菜单删除功能;

rizhao_dev
luyan 2 years ago
parent
commit
98d4a3b23e
  1. 51
      src/views/modules/communityService/canteen/menuList.vue
  2. 104
      src/views/modules/communityService/canteen/menuSelDish.vue

51
src/views/modules/communityService/canteen/menuList.vue

@ -52,7 +52,7 @@
:show-overflow-tooltip="true">
<template slot-scope="scope">
<div @click="clickMeal(scope.row,0)"
<div @click="clickMeal(scope.row,0,scope.row.breakfastMeal.id)"
class="table-meal breakfast">{{scope.row.breakfastMeal?scope.row.breakfastMeal.dishesNames:'--'}}</div>
</template>
@ -62,7 +62,7 @@
align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<div @click="clickMeal(scope.row,1)"
<div @click="clickMeal(scope.row,1,scope.row.lunchMeal.id)"
class="table-meal lunch">{{scope.row.lunchMeal?scope.row.lunchMeal.dishesNames:'--'}}</div>
</template>
</el-table-column>
@ -71,7 +71,7 @@
align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<div @click="clickMeal(scope.row,2)"
<div @click="clickMeal(scope.row,2,scope.row.dinnerMeal.id)"
class="table-meal dinner">{{scope.row.dinnerMeal?scope.row.dinnerMeal.dishesNames:'--'}}</div>
</template>
@ -92,37 +92,19 @@
</el-table-column> -->
</el-table>
</div>
<div class="menu-right">
<el-tabs v-model="activeName">
<el-tab-pane label="早餐"
name='breakfast'>
<menu-sel-dish ref="ref_dish_break"
:canteenId="canteenId"
:meals="0"
@selDishOk="selDishOk"></menu-sel-dish>
<el-tab-pane label="早餐" name='breakfast'>
<menu-sel-dish ref="ref_dish_break" :canteenId="canteenId" :meals="0" @selDishOk="selDishOk" @loadMenuTable="loadMenuTable"></menu-sel-dish>
</el-tab-pane>
<el-tab-pane label="午餐"
name="lunch">
<menu-sel-dish ref="ref_dish_lunch"
:canteenId="canteenId"
:meals="1"
@selDishOk="selDishOk"></menu-sel-dish>
<el-tab-pane label="午餐" name="lunch">
<menu-sel-dish ref="ref_dish_lunch" :canteenId="canteenId" :meals="1" @selDishOk="selDishOk" @loadMenuTable="loadMenuTable"></menu-sel-dish>
</el-tab-pane>
<el-tab-pane label="晚餐"
name="dinner">
<menu-sel-dish ref="ref_dish_dinner"
:canteenId="canteenId"
:meals="2"
@selDishOk="selDishOk"></menu-sel-dish>
<el-tab-pane label="晚餐" name="dinner">
<menu-sel-dish ref="ref_dish_dinner" :canteenId="canteenId" :meals="2" @selDishOk="selDishOk" @loadMenuTable="loadMenuTable"></menu-sel-dish>
</el-tab-pane>
</el-tabs>
</div>
<!-- 历史菜单 -->
@ -303,14 +285,12 @@ export default {
}
});
console.log('tableData', this.tableData)
} else {
this.$message.error(msg);
}
this.$refs.datePick.focus(); //
},
clickMeal (row, meal) {
clickMeal (row, meal,menuId) {
this.startTime = row.time
this.endTime = row.time
let dishesMenus = []
@ -319,7 +299,8 @@ export default {
if (row.breakfastMeal && row.breakfastMeal.dishesMenus) {
dishesMenus = row.breakfastMeal.dishesMenus
let dishNameArray = row.breakfastMeal.dishesNames.split(',')
this.$refs.ref_dish_break.initData(dishesMenus, dishNameArray)
console.log(menuId);
this.$refs.ref_dish_break.initData(dishesMenus, dishNameArray,menuId,this.startTime,this.endTime)
} else {
this.$refs.ref_dish_break.resetData()
}
@ -329,7 +310,7 @@ export default {
if (row.lunchMeal && row.lunchMeal.dishesMenus) {
dishesMenus = row.lunchMeal.dishesMenus
let dishNameArray = row.lunchMeal.dishesNames.split(',')
this.$refs.ref_dish_lunch.initData(dishesMenus, dishNameArray)
this.$refs.ref_dish_lunch.initData(dishesMenus, dishNameArray,menuId,this.startTime,this.endTime)
} else {
this.$refs.ref_dish_lunch.resetData()
}
@ -339,7 +320,7 @@ export default {
if (row.dinnerMeal && row.dinnerMeal.dishesMenus) {
dishesMenus = row.dinnerMeal.dishesMenus
let dishNameArray = row.dinnerMeal.dishesNames.split(',')
this.$refs.ref_dish_dinner.initData(dishesMenus, dishNameArray)
this.$refs.ref_dish_dinner.initData(dishesMenus, dishNameArray,menuId,this.startTime,this.endTime)
} else {
this.$refs.ref_dish_dinner.resetData()
}

104
src/views/modules/communityService/canteen/menuSelDish.vue

@ -27,38 +27,25 @@
</el-tag>
</div>
<div v-else
style="line-height: 30px">0 </div>
<div v-else style="line-height: 30px"></div>
</div>
<div class="dish-main">
<el-checkbox-group v-model="selIndexArray"
@change="changeBreakDish">
<el-checkbox v-for="(item,index) in dishList"
:label="index"
:key="item.id">{{item.name}}</el-checkbox>
<el-checkbox-group v-model="selIndexArray" @change="changeBreakDish">
<el-checkbox v-for="(item,index) in dishList" :label="index" :key="item.id">{{item.name}}</el-checkbox>
</el-checkbox-group>
</div>
<div class="btn-save">
<el-button style="margin-top:20px"
size="small"
type="primary"
@click="handleComfirm">保存</el-button>
<el-button style="margin-top:20px" size="small" type="primary" @click="handleComfirm">保存</el-button>
<el-button style="margin-top:20px" size="small" type="danger" class="diy-button--del" @click="handleDelMenu()" >删除</el-button>
</div>
<div v-if="showDefault"
class="line"></div>
<div v-if="showDefault"
class="default-main">
<div v-if="showDefault" class="line"></div>
<div v-if="showDefault" class="default-main">
<div style="margin-right:20px">默认菜单</div>
<el-switch v-model="valueSwitch"
@change="changeDefault">
</el-switch>
<el-switch v-model="valueSwitch" @change="changeDefault"> </el-switch>
</div>
</div>
</template>
@ -85,6 +72,9 @@ export default {
addDefault: true,//
selDefaultId: '',//id
valueSwitch: false,
menuId: '',
startTime: '',
endTime:''
};
},
@ -93,18 +83,13 @@ export default {
const { user } = this.$store.state;
this.agencyId = user.agencyId;
await this.loadDishList()
//
if (!this.showDefault) {
if (!this.addDefault) {
await this.loadDefaultMenu()
this.assignDefault()
}
}
},
methods: {
@ -121,36 +106,31 @@ export default {
if (code === 0) {
if (!data.list || (data.list && data.list.length === 0)) {//
this.addDefault = true
} else {//
this.addDefault = false
this.selDefaultId = data.list[0].id
this.defaultDishList = data.list[0].dishesMenus
this.defaultDishNameList = data.list[0].dishesName.split(',')
}
} else {
this.$message.error(msg);
}
},
initData (dishesMenus, dishNameArray) {
console.log('dishesMenus', dishesMenus)
console.log('dishNameArray', dishNameArray)
initData (dishesMenus, dishNameArray,menuId,startTime,endTime) {
this.menuId = menuId
this.startTime = startTime
this.endTime = endTime
this.selIndexArray = []
this.dishTags = []
dishesMenus.forEach((element, index) => {
let obj = {
name: dishNameArray[index],
id: element
}
this.dishTags.push(obj)
});
this.dishList.forEach((oneDish, index) => {
this.dishTags.forEach(oneTag => {
if (oneDish.id === oneTag.id) {
this.selIndexArray.push(index)
@ -161,7 +141,6 @@ export default {
//
changeBreakDish (val) {
console.log('break-checkbox', val)
this.dishTags = []
val.forEach(element => {
this.dishTags.push(this.dishList[element])
@ -172,13 +151,11 @@ export default {
this.dishTags.splice(val, 1)
this.selIndexArray.splice(val, 1)
},
async changeDefault (val) {
if (!val) {
this.resetData()
return false
}
await this.loadDefaultMenu()
this.assignDefault()
},
@ -191,13 +168,10 @@ export default {
name: this.defaultDishNameList[index],
id: element
}
this.dishTags.push(obj)
});
this.selIndexArray = []
this.dishList.forEach((oneDish, index) => {
this.dishTags.forEach(oneTag => {
if (oneDish.id === oneTag.id) {
this.selIndexArray.push(index)
@ -205,16 +179,12 @@ export default {
});
});
},
async handleComfirm () {
let dishesMenus = []
if (this.selIndexArray.length === 0) {
this.$message.info("请选择菜品");
return false
}
this.selIndexArray.forEach(element => {
dishesMenus.push(this.dishList[element].id)
});
@ -224,8 +194,6 @@ export default {
} else {
this.$emit("selDishOk", dishesMenus);
}
},
async saveDefaultMenu (dishesMenus) {
let url = ''
@ -243,24 +211,19 @@ export default {
params = {
id: this.selDefaultId,
dishesMenus: dishesMenus,
}
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("保存成功!");
} else {
this.$message.error(msg);
}
},
resetData () {
this.selIndexArray = []
this.dishTags = []
},
handleCancel () {
this.$emit("addFormCancle");
},
@ -271,18 +234,13 @@ export default {
name: this.searchName,
canteenId: this.canteenId
}
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.dishList = data
} else {
this.$message.error(msg);
}
},
//
startLoading () {
loading = Loading.service({
@ -298,12 +256,35 @@ export default {
loading.close();
}
},
//
async handleDelMenu () {
let message = "确认删除菜单?";
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
if(this.menuId === '' || this.menuId === undefined){
this.$.message.error("请选择一个菜单!")
}else {
this.delMenu(this.menuId);
}
}).catch((err) => { });
},
async delMenu (id) {
const url = `/heart/canteenMenus/delete`
let idsArr = [id];
const { data, code, msg } = await requestPost(url, idsArr);
if (code === 0) {
this.$message.success("删除成功!");
this.$emit("loadMenuTable");
} else {
this.$message.error("操作失败!");
}
},
components: {},
computed: {
},
components: {},
computed: {},
props: {
canteenId: {//id
type: String,
@ -317,7 +298,6 @@ export default {
type: Boolean,
default: true
},
},
watch: {},
};

Loading…
Cancel
Save