addForm.vue 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <el-form ref="NutritionSettingFormRef" :model="form" :rules="rules" label-width="80px">
  3. <el-form-item label="所需热量" prop="caloriesKcalPerDay">
  4. <el-input v-model="form.caloriesKcalPerDay" placeholder="请输入所需热量" />
  5. </el-form-item>
  6. <el-form-item label="所需热量" prop="caloriesKcalPerKgDay">
  7. <el-input v-model="form.caloriesKcalPerKgDay" placeholder="请输入所需热量" />
  8. </el-form-item>
  9. <el-form-item label="所需热量" prop="caloriesKjPerDay">
  10. <el-input v-model="form.caloriesKjPerDay" placeholder="请输入所需热量" />
  11. </el-form-item>
  12. <el-form-item label="蛋白质热量占比" prop="proteinCaloriePercentage">
  13. <el-input v-model="form.proteinCaloriePercentage" placeholder="请输入蛋白质热量占比" />
  14. </el-form-item>
  15. <el-form-item label="脂肪热量占比" prop="fatCaloriePercentage">
  16. <el-input v-model="form.fatCaloriePercentage" placeholder="请输入脂肪热量占比" />
  17. </el-form-item>
  18. <el-form-item label="碳水化合物热量占比" prop="carbohydrateCaloriePercentage">
  19. <el-input v-model="form.carbohydrateCaloriePercentage" placeholder="请输入碳水化合物热量占比" />
  20. </el-form-item>
  21. <el-form-item label="所需蛋白质" prop="proteinGPerKgDay">
  22. <el-input v-model="form.proteinGPerKgDay" placeholder="请输入所需蛋白质" />
  23. </el-form-item>
  24. <el-form-item label="所需蛋白质" prop="proteinGPerDay">
  25. <el-input v-model="form.proteinGPerDay" placeholder="请输入所需蛋白质" />
  26. </el-form-item>
  27. <el-form-item label="所需脂肪" prop="fatGPerKgDay">
  28. <el-input v-model="form.fatGPerKgDay" placeholder="请输入所需脂肪" />
  29. </el-form-item>
  30. <el-form-item label="所需脂肪" prop="fatGPerDay">
  31. <el-input v-model="form.fatGPerDay" placeholder="请输入所需脂肪" />
  32. </el-form-item>
  33. <el-form-item label="所需碳水化合物" prop="carbohydrateGPerKgDay">
  34. <el-input v-model="form.carbohydrateGPerKgDay" placeholder="请输入所需碳水化合物" />
  35. </el-form-item>
  36. <el-form-item label="所需碳水化合物" prop="carbohydrateGPerDay">
  37. <el-input v-model="form.carbohydrateGPerDay" placeholder="请输入所需碳水化合物" />
  38. </el-form-item>
  39. <el-form-item label="钙" prop="calcium">
  40. <el-input v-model="form.calcium" placeholder="请输入钙" />
  41. </el-form-item>
  42. <el-form-item label="钾" prop="potassium">
  43. <el-input v-model="form.potassium" placeholder="请输入钾" />
  44. </el-form-item>
  45. <el-form-item label="钠" prop="sodium">
  46. <el-input v-model="form.sodium" placeholder="请输入钠" />
  47. </el-form-item>
  48. <el-form-item label="镁" prop="magnesium">
  49. <el-input v-model="form.magnesium" placeholder="请输入镁" />
  50. </el-form-item>
  51. <el-form-item label="磷" prop="phosphorus">
  52. <el-input v-model="form.phosphorus" placeholder="请输入磷" />
  53. </el-form-item>
  54. <el-form-item label="氯" prop="chloride">
  55. <el-input v-model="form.chloride" placeholder="请输入氯" />
  56. </el-form-item>
  57. <el-form-item label="铁" prop="iron">
  58. <el-input v-model="form.iron" placeholder="请输入铁" />
  59. </el-form-item>
  60. <el-form-item label="硒" prop="selenium">
  61. <el-input v-model="form.selenium" placeholder="请输入硒" />
  62. </el-form-item>
  63. <el-form-item label="锰" prop="manganese">
  64. <el-input v-model="form.manganese" placeholder="请输入锰" />
  65. </el-form-item>
  66. <el-form-item label="氟" prop="fluoride">
  67. <el-input v-model="form.fluoride" placeholder="请输入氟" />
  68. </el-form-item>
  69. <el-form-item label="钼" prop="molybdenum">
  70. <el-input v-model="form.molybdenum" placeholder="请输入钼" />
  71. </el-form-item>
  72. <el-form-item label="锌" prop="zinc">
  73. <el-input v-model="form.zinc" placeholder="请输入锌" />
  74. </el-form-item>
  75. <el-form-item label="铜" prop="copper">
  76. <el-input v-model="form.copper" placeholder="请输入铜" />
  77. </el-form-item>
  78. <el-form-item label="碘" prop="iodine">
  79. <el-input v-model="form.iodine" placeholder="请输入碘" />
  80. </el-form-item>
  81. <el-form-item label="铬" prop="chromium">
  82. <el-input v-model="form.chromium" placeholder="请输入铬" />
  83. </el-form-item>
  84. <el-form-item label="维生素A" prop="vitaminA">
  85. <el-input v-model="form.vitaminA" placeholder="请输入维生素A" />
  86. </el-form-item>
  87. <el-form-item label="维生素D" prop="vitaminD">
  88. <el-input v-model="form.vitaminD" placeholder="请输入维生素D" />
  89. </el-form-item>
  90. <el-form-item label="维生素E" prop="vitaminE">
  91. <el-input v-model="form.vitaminE" placeholder="请输入维生素E" />
  92. </el-form-item>
  93. <el-form-item label="维生素K" prop="vitaminK">
  94. <el-input v-model="form.vitaminK" placeholder="请输入维生素K" />
  95. </el-form-item>
  96. <el-form-item label="维生素B1" prop="vitaminBOne">
  97. <el-input v-model="form.vitaminBOne" placeholder="请输入维生素B1" />
  98. </el-form-item>
  99. <el-form-item label="维生素B2" prop="vitaminBTwo">
  100. <el-input v-model="form.vitaminBTwo" placeholder="请输入维生素B2" />
  101. </el-form-item>
  102. <el-form-item label="维生素B6" prop="vitaminBSix">
  103. <el-input v-model="form.vitaminBSix" placeholder="请输入维生素B6" />
  104. </el-form-item>
  105. <el-form-item label="维生素B12" prop="vitaminBTwelve">
  106. <el-input v-model="form.vitaminBTwelve" placeholder="请输入维生素B12" />
  107. </el-form-item>
  108. <el-form-item label="烟酸" prop="niacin">
  109. <el-input v-model="form.niacin" placeholder="请输入烟酸" />
  110. </el-form-item>
  111. <el-form-item label="维生素C" prop="vitaminC">
  112. <el-input v-model="form.vitaminC" placeholder="请输入维生素C" />
  113. </el-form-item>
  114. <el-form-item label="叶酸" prop="folicAcid">
  115. <el-input v-model="form.folicAcid" placeholder="请输入叶酸" />
  116. </el-form-item>
  117. <el-form-item label="胆碱" prop="choline">
  118. <el-input v-model="form.choline" placeholder="请输入胆碱" />
  119. </el-form-item>
  120. <el-form-item label="生物素" prop="biotin">
  121. <el-input v-model="form.biotin" placeholder="请输入生物素" />
  122. </el-form-item>
  123. <el-form-item label="泛酸" prop="pantothenicAcid">
  124. <el-input v-model="form.pantothenicAcid" placeholder="请输入泛酸" />
  125. </el-form-item>
  126. <el-form-item label="膳食纤维" prop="dietaryFiber">
  127. <el-input v-model="form.dietaryFiber" placeholder="请输入膳食纤维" />
  128. </el-form-item>
  129. <el-form-item label="患者id" prop="patientId">
  130. <el-input v-model="form.patientId" placeholder="请输入患者id" />
  131. </el-form-item>
  132. <el-form-item label="科室" prop="deptId">
  133. <el-input v-model="form.deptId" placeholder="请输入科室" />
  134. </el-form-item>
  135. <el-form-item label="门诊号" prop="outpatientNo">
  136. <el-input v-model="form.outpatientNo" placeholder="请输入门诊号" />
  137. </el-form-item>
  138. <template>
  139. <div class="dialog-footer">
  140. <el-button :loading="buttonLoading" type="primary" @click="() => submitForm()">确 定</el-button>
  141. <el-button @click="() => cancel()">取 消</el-button>
  142. </div>
  143. </template>
  144. </el-form>
  145. </template>
  146. <script setup lang="ts">
  147. import { ref } from 'vue';
  148. import { addSetting, updateSetting } from '@/api/patients/nutritionSetting';
  149. import type { FormInstance } from 'element-plus';
  150. // 接收父组件传递的参数
  151. const props = defineProps({
  152. form: {
  153. type: Object,
  154. required: true
  155. },
  156. rules: {
  157. type: Object,
  158. required: true
  159. },
  160. buttonLoading: {
  161. type: Boolean,
  162. required: true
  163. },
  164. submitForm: {
  165. type: Function,
  166. required: true
  167. },
  168. cancel: {
  169. type: Function,
  170. required: true
  171. }
  172. });
  173. // 表单ref
  174. const NutritionSettingFormRef = ref<FormInstance>();
  175. // 新增
  176. const handleAdd = async () => {
  177. await addSetting({ ...props.form });
  178. };
  179. // 更新
  180. const handleUpdate = async () => {
  181. await updateSetting({ ...props.form });
  182. };
  183. </script>