Bläddra i källkod

营养素增加nrv字段

wangyang 5 år sedan
förälder
incheckning
c0994f4ee5
1 ändrade filer med 40 tillägg och 36 borttagningar
  1. 40 36
      src/views/nutrient/index.vue

+ 40 - 36
src/views/nutrient/index.vue

@@ -62,24 +62,14 @@
           <span>{{ row.parentName }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="推荐用量类型" align="center" width="70">
+      <el-table-column label="NRV" align="center" width="150">
         <template slot-scope="{row}">
-          <span>{{ row.recommendType | recommendTypeFilter }}</span>
+          <span>{{ row | nutrientNrvFilter }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="每日推荐量值" align="center" width="70">
+      <el-table-column label="NRV单位" align="center" width="80">
         <template slot-scope="{row}">
-          <span>{{ row.recommend ? `${row.recommend} ${row.recommendUnit}` : '' }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="每日推荐量范围起始值" align="center" width="80">
-        <template slot-scope="{row}">
-          <span>{{ row.recommendBegin ? `${row.recommendBegin} ${row.recommendUnit}` : '' }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="每日推荐量范围截止值" align="center" width="80">
-        <template slot-scope="{row}">
-          <span>{{ row.recommendEnd ? `${row.recommendEnd} ${row.recommendUnit}` : '' }}</span>
+          <span>{{ row.nrvUnit }}</span>
         </template>
       </el-table-column>
       <el-table-column label="创建时间" width="180px" align="center">
@@ -138,33 +128,32 @@
         <el-form-item label="编码" prop="code">
           <el-input v-model="params.code" placeholder="编码" :disabled="dialogStatus === 'edit'" />
         </el-form-item>
-        <el-form-item label="推荐用量类型" prop="recommendType">
-          <el-radio v-model="params.recommendType" :label="0">值</el-radio>
-          <el-radio v-model="params.recommendType" :label="1">范围</el-radio>
-          <el-radio v-model="params.recommendType" :label="2">无</el-radio>
+        <el-form-item label="NRV类型" prop="nrvType">
+          <el-radio v-model="nrvType" :label="0" @change="nrvTypeChange">值</el-radio>
+          <el-radio v-model="nrvType" :label="1" @change="nrvTypeChange">范围</el-radio>
+        </el-form-item>
+        <el-form-item v-if="nrvType===0" prop="nrv" label="NRV">
+          <el-input v-model="params.nrv" placeholder="NRV" />
         </el-form-item>
-        <el-form-item v-if="params.recommendType!==2" label="推荐量单位" prop="recommendUnit">
+        <el-form-item v-if="nrvType===1" prop="nrvMin" label="NRV大于等于:">
+          <el-input v-model="params.nrvMin" />
+        </el-form-item>
+        <el-form-item v-if="nrvType===1" prop="nrvMax" label="NRV小于等于:">
+          <el-input v-model="params.nrvMax" />
+        </el-form-item>
+        <el-form-item label="NRV单位" prop="nrvUnit">
           <el-select
-            v-model="params.recommendUnit"
+            v-model="params.nrvUnit"
             filterable
             remote
             reserve-keyword
-            placeholder="请选择推荐量单位"
+            placeholder="请选择NRV单位"
             :remote-method="queryUnits"
             :loading="loading"
           >
             <el-option v-for="item in units" :key="item.id" :label="item.name" :value="item.name" />
           </el-select>
         </el-form-item>
-        <el-form-item v-if="params.recommendType===0" prop="recommend" label="每日推荐摄入量">
-          <el-input v-model="params.recommend" placeholder="每日推荐摄入量" />
-        </el-form-item>
-        <el-form-item v-if="params.recommendType===1" prop="recommendBegin" label="每日推荐摄入量范围-开始值">
-          <el-input v-model="params.recommendBegin" placeholder="每日推荐摄入量范围-开始值" />
-        </el-form-item>
-        <el-form-item v-if="params.recommendType===1" prop="recommendEnd" label="每日推荐摄入量范围-截止值">
-          <el-input v-model="params.recommendEnd" placeholder="每日推荐摄入量范围-截止值" />
-        </el-form-item>
         <el-form-item label="上级营养素" prop="parentId">
           <el-select
             v-model="params.parentId"
@@ -200,14 +189,20 @@ import SingleImage from '@/components/Upload/SingleImage'
 import { getList, update, remove, create, updateSortOrder } from '@/api/nutrient'
 import { getList as getUnits } from '@/api/unit'
 
-const recommendTypes = { 0: '值', 1: '范围', 2: '无' }
-
 export default {
   name: 'NutrientList',
   components: { Pagination, SingleImage },
   filters: {
-    recommendTypeFilter(value) {
-      return recommendTypes[value]
+    nutrientNrvFilter(row) {
+      if (row.nrvMin && row.nrvMax) {
+        return `${row.nrvMin} ~ ${row.nrvMax}`
+      } else if (row.nrvMin) {
+        return `≥ ${row.nrvMin}`
+      } else if (row.nrvMax) {
+        return `≤ ${row.nrvMax}`
+      } else {
+        return row.nrv
+      }
     }
   },
   data() {
@@ -230,7 +225,8 @@ export default {
       rules: {
         name: [{ required: true, message: '名称不允许为空', trigger: 'blur' }]
       },
-      params: { recommendType: 2 },
+      params: { },
+      nrvType: 0,
       units: [],
       loading: false,
       parentNutrients: []
@@ -254,7 +250,10 @@ export default {
     handleCreateOrUpdate(dialogStatus, row) {
       this.queryUnits()
       this.queryNutrients()
-      this.params = dialogStatus === 'create' ? { recommendType: 2 } : Object.assign({}, row) // copy obj
+      this.params = dialogStatus === 'create' ? {} : Object.assign({}, row)
+      if (dialogStatus !== 'create' && (row.nrvMin || row.nrvMax)) {
+        this.nrvType = 1
+      }
       this.dialogStatus = dialogStatus
       this.dialogFormVisible = true
       this.$nextTick(() => {
@@ -311,6 +310,11 @@ export default {
         this.$message.error(res.data.message)
         this.fetchData()
       })
+    },
+    nrvTypeChange(value) {
+      this.$set(this.params, 'nrv', '')
+      this.$set(this.params, 'nrvMin', '')
+      this.$set(this.params, 'nrvMax', '')
     }
   }
 }