Prechádzať zdrojové kódy

调整单位相关页面

wangyang 5 rokov pred
rodič
commit
feb18da210
3 zmenil súbory, kde vykonal 31 pridanie a 54 odobranie
  1. 2 2
      src/api/food.js
  2. 0 9
      src/api/table.js
  3. 29 43
      src/views/unit/index.vue

+ 2 - 2
src/api/food.js

@@ -17,7 +17,7 @@ export function getDetail(id) {
   })
 }
 
-// 创建营养素
+// 创建食物
 export function create(data) {
   return request({
     url: '/api/foods',
@@ -26,7 +26,7 @@ export function create(data) {
   })
 }
 
-// 更新营养素
+// 更新食物
 export function update(id, data) {
   return request({
     url: `/api/foods/${id}`,

+ 0 - 9
src/api/table.js

@@ -1,9 +0,0 @@
-import request from '@/utils/request'
-
-export function getList(params) {
-  return request({
-    url: '/vue-admin-template/table/list',
-    method: 'get',
-    params
-  })
-}

+ 29 - 43
src/views/unit/index.vue

@@ -15,7 +15,7 @@
       style="margin: 0 10px 20px 0; float: right;"
       type="success"
       icon="el-icon-circle-plus-outline"
-      @click="handleCreate">
+      @click="handleCreateOrUpdate('CREATE')">
       新建
     </el-button>
 
@@ -26,34 +26,34 @@
       highlight-current-row
       style="width: 100%;"
     >
-      <el-table-column label="ID" align="center" width="70">
+      <el-table-column label="自定义ID" align="center" width="100">
         <template slot-scope="{row}">
-          <span>{{ row.id }}</span>
+          <span>{{ row.id2 }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="名称" align="center">
+      <el-table-column label="名称" align="center" width="200">
         <template slot-scope="{row}">
           <span>{{ row.name }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="英文名称" align="center">
+      <el-table-column label="英文名称" align="center" width="200">
         <template slot-scope="{row}">
           <span>{{ row.enName }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="编码" align="center" width="70">
+      <el-table-column label="编码" align="center" width="100">
         <template slot-scope="{row}">
           <span>{{ row.code }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="是否为基础单位" align="center" width="50">
+      <el-table-column label="是否为基础单位" align="center" width="100">
         <template slot-scope="{row}">
           <span>{{ row.isBaseUnit | booleanFilter }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="基础单位" align="center" width="70">
+      <el-table-column label="基础单位" align="center" width="200">
         <template slot-scope="{row}">
-          <span>{{ row.baseUnitName }}</span>
+          <span>{{ row.baseUnit }}</span>
         </template>
       </el-table-column>
       <el-table-column label="转换关系(1 * unit = ratio * baseUnit)" align="center" width="100">
@@ -76,9 +76,9 @@
           <span>{{ row.stepScale }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="400">
         <template slot-scope="{row,$index}">
-          <el-button type="primary" size="mini" @click="handleUpdate(row)">
+          <el-button type="primary" size="mini" @click="handleCreateOrUpdate('UPDATE', row)">
             更新
           </el-button>
           <el-button type="primary" size="mini" @click="updateSort(row, 0)">
@@ -90,6 +90,9 @@
           <el-button type="primary" size="mini" @click="updateSort(row, 2)">
             置顶
           </el-button>
+          <el-button type="primary" size="mini" @click="updateSort(row, 3)">
+            置底
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -98,11 +101,11 @@
 
     <el-dialog :title="textMapping[dialogStatus]" :visible.sync="dialogFormVisible">
       <el-form ref="dataForm" :rules="rules" :model="params" label-position="left" label-width="150px" style="width: 400px; margin-left:50px;">
-        <el-form-item label="ID" prop="id">
-          <el-input v-model="params.id" placeholder="请输入ID, 为空系统自动创建" :disabled="dialogStatus==='UPDATE'" />
+        <el-form-item label="自定义ID" prop="id2">
+          <el-input v-model="params.id2" placeholder="请输入自定义ID" />
         </el-form-item>
         <el-form-item label="名称" prop="name">
-          <el-input v-model="params.name" placeholder="请输入名称" />
+          <el-input v-model="params.name" placeholder="请输入名称" :disabled="dialogStatus === 'UPDATE'" />
         </el-form-item>
         <el-form-item label="英文名称" prop="enName">
           <el-input v-model="params.enName" placeholder="请输入英文名称" />
@@ -111,16 +114,16 @@
           <el-input v-model="params.code" placeholder="请输入编码" />
         </el-form-item>
         <el-form-item label="是否为基础单位" prop="code">
-          <el-radio v-model="params.isBaseUnit" :label="true">是</el-radio>
-          <el-radio v-model="params.isBaseUnit" :label="false">否</el-radio>
+          <el-radio v-model="params.isBaseUnit" :label="true" :disabled="dialogStatus === 'UPDATE'">是</el-radio>
+          <el-radio v-model="params.isBaseUnit" :label="false" :disabled="dialogStatus === 'UPDATE'">否</el-radio>
         </el-form-item>
         <el-form-item label="基础单位" prop="code" v-if="!params.isBaseUnit">
-          <el-select v-model="params.baseUnit">
+          <el-select v-model="params.baseUnit" :disabled="dialogStatus === 'UPDATE'">
             <el-option v-for="item in baseUnits" :key="item.id" :value="item.id" :label="item.name" />
           </el-select>
         </el-form-item>
         <el-form-item label="转换关系(1 * unit = ratio * baseUnit)" prop="ratio" v-if="!params.isBaseUnit">
-          <el-input v-model="params.ratio" placeholder="请输入转换关系" />
+          <el-input v-model="params.ratio" placeholder="请输入转换关系" :disabled="dialogStatus === 'UPDATE'" />
         </el-form-item>
         <el-form-item label="最小刻度" prop="minScale">
           <el-input v-model="params.minScale" placeholder="请输入最小刻度" />
@@ -137,7 +140,7 @@
         <el-button @click="dialogFormVisible = false">
           取消
         </el-button>
-        <el-button type="primary" @click="dialogStatus==='CREATE'?createData():updateData()">
+        <el-button type="primary" @click="createOrUpdateData">
           提交
         </el-button>
       </div>
@@ -191,20 +194,12 @@ export default {
         this.$message("获取数据失败")
       })
     },
-    handleCreate() {
-      if (this.baseUnits <= 0){
-        this.fetchBaseUnits()
-      }
-      this.params = {}
-      this.dialogStatus = 'CREATE'
-      this.dialogFormVisible = true
-    },
-    handleUpdate(row) {
+    handleCreateOrUpdate(dialogStatus, row) {
       if (this.baseUnits <= 0){
         this.fetchBaseUnits()
       }
-      this.params = row
-      this.dialogStatus = 'UPDATE'
+      this.dialogStatus = dialogStatus
+      this.params = dialogStatus === 'CREATE' ? {} : Object.assign(row, {})
       this.dialogFormVisible = true
     },
     updateSort(row, type) {
@@ -221,19 +216,10 @@ export default {
         this.baseUnits = res.data.list
       })
     },
-    createData() {
-      createUnit(this.params).then(res => {
-        this.fetchData()
-        this.$message.success("提交成功")
-        this.dialogFormVisible = false
-      }).catch(res => {
-        this.fetchData()
-        this.$message.error(res.data.message)
-        this.dialogFormVisible = false
-      })
-    },
-    updateData() {
-      updateUnit(this.params.id, this.params).then(res => {
+    createOrUpdateData() {
+      let resultPromise = this.dialogStatus === 'CREATE' ? createUnit(this.params) :
+        updateUnit(this.params.id, this.params)
+      resultPromise.then(res => {
         this.fetchData()
         this.$message.success("提交成功")
         this.dialogFormVisible = false