Преглед на файлове

删除食物营养素关联前先判断删除是否影响food normolizedUnit

wangyang преди 5 години
родител
ревизия
5357e03bcd
променени са 2 файла, в които са добавени 27 реда и са изтрити 2 реда
  1. 8 0
      src/api/food.js
  2. 19 2
      src/views/food/nutrient.vue

+ 8 - 0
src/api/food.js

@@ -70,6 +70,14 @@ export function updateFoodNutrientSort(id, nutrientId, data) {
   })
 }
 
+// 删除食物营养素确认
+export function confirmDeleteFoodNutrient(id, nutrientId) {
+  return request({
+    url: `/api/foods/${id}/nutrients/${nutrientId}/confirm-delete`,
+    method: 'post'
+  })
+}
+
 // 删除食物关联的营养素
 export function removeFoodNutrient(foodId, nutrientId) {
   return request({

+ 19 - 2
src/views/food/nutrient.vue

@@ -180,7 +180,7 @@
             <el-button size="mini" type="primary" @click="handleEdit(row)">编辑</el-button>
             <el-button size="mini" type="primary" @click="updateSort(row, 0)">上移</el-button>
             <el-button size="mini" type="primary" @click="updateSort(row, 1)">下移</el-button>
-            <el-button size="mini" type="danger" @click="removeNutrient(row)">
+            <el-button size="mini" type="danger" @click="confirmRemoveNutrient(row)">
               删除
             </el-button>
           </template>
@@ -192,7 +192,7 @@
 
 <script>
 import { getNutrientList, addFoodNutrient, updateFoodNutrient, removeFoodNutrient,
-  updateFoodNutrientSort } from '@/api/food'
+  updateFoodNutrientSort, confirmDeleteFoodNutrient } from '@/api/food'
 import { getList } from '@/api/nutrient'
 import { getList as getUnits } from '@/api/unit'
 
@@ -271,6 +271,23 @@ export default {
         this.$message.error(res.data.message)
       })
     },
+    confirmRemoveNutrient(row) {
+      confirmDeleteFoodNutrient(row.foodId, row.nutrientId).then(res => {
+        if (!res.data) {
+          this.$confirm('由于单位转换的原因,删除此条营养素关联数据,将会导致该食物被删除,是否继续?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          }).then(() => {
+            this.removeNutrient(row)
+          })
+        } else {
+          this.removeNutrient(row)
+        }
+      }).catch(res => {
+        this.$message.error(res.data.message)
+      })
+    },
     removeNutrient(row) {
       removeFoodNutrient(row.foodId, row.nutrientId).then(res => {
         this.fetchData()