Przeglądaj źródła

fix: 食材推送

sh 4 lat temu
rodzic
commit
d70c5bbe1d

+ 2 - 1
.env.development

@@ -3,7 +3,8 @@ ENV = 'development'
 PORT = '9531'
 
 # base api
-VUE_APP_BASE_API = '//localhost:9531'
+# VUE_APP_BASE_API = '//localhost:9531'
+VUE_APP_BASE_API = ''
 
 # h5 url
 VUE_APP_H5_URL = 'http://localhost/static-web/pages/feuc-test'

+ 2 - 0
src/store/modules/user.js

@@ -56,8 +56,10 @@ const actions = {
   login({
     commit
   }, userInfo) {
+    console.log('login ...', userInfo)
     return new Promise((resolve, reject) => {
       login(userInfo).then(response => {
+        console.log('login ...', response)
         const {
           data
         } = response

+ 26 - 6
src/views/food/index.vue

@@ -22,10 +22,15 @@
           <el-option v-for="item in sortOptions" :key="item.key" :label="item.label" :value="item.key" />
         </el-select>
 
-        <span style="color:gray;font-size:14px;margin-left:15px;">营养物语环境</span>
+        <!-- <span style="color:gray;font-size:14px;margin-left:15px;">营养物语环境</span>
         <el-select v-model="yywyEnv" style="width:100px;margin-left:10px;" class="filter-item" placeholder="营养物语环境">
-          <el-option v-for="item in sortOptions" :key="item.key" :label="item.label" :value="item.key" />
-        </el-select>
+          <el-option label="dev" value="dev" />
+          <el-option label="prod" value="prod" />
+          <el-option label="test" value="test" />
+          <el-option label="local" value="local" />
+        </el-select> -->
+
+        <el-button size="mini" class="filter-item" @click="queryToYYWYProgrees">查询最后一条同步结果(F12查看详情)</el-button>
 
         <el-button
           class="filter-item"
@@ -63,7 +68,7 @@
         <template slot-scope="{row}">
           <span>{{ row.name }}</span>
           <br>
-          <el-button size="mini" @click="toYYWY(row)">同步至营养物语</el-button>
+          <el-button :loading="row._to_yywy" size="mini" @click="toYYWY(row)">同步至营养物语</el-button>
         </template>
       </el-table-column>
       <el-table-column label="图片" align="center" width="180">
@@ -279,6 +284,9 @@ export default {
       this.foodSourceIsAll = this.foodSource === ''
     }
     this.fetchData()
+    if (location.href.indexOf('test') > 0) {
+      this.yywyEnv = 'test'
+    }
   },
   methods: {
     fetchData() {
@@ -313,13 +321,25 @@ export default {
         timeout: 1000 * 60 * 3
       }
       axios.post(`/api/foods/${row.id}/to-yywy?env=${this.yywyEnv}`, {}, headers).then(res => {
-        console.log(res)
-        this.$notify.success('同步成功:' + JSON.stringify(res))
+        const data = res.data || {}
+        this.$notify.success(`同步结果:${res.status};` + (data.foodId || '') + ',' + (data.rsp || ''))
       }).catch(res => {
         this.$message.error(res.response.data.message)
+      }).finally(() => {
         row._to_yywy = false
       })
     },
+    queryToYYWYProgrees() {
+      const headers = {
+        headers: { 'Authorization': getToken() },
+        timeout: 1000 * 60 * 3
+      }
+      axios.get(`/api/foods/last-to-yywy`, headers).then(res => {
+        const data = res.data || {}
+        console.log(data)
+        this.$notify.success(`同步结果:${res.status};` + (data.foodId || '') + ',' + (data.rsp || ''))
+      })
+    },
     handleCreate() {
       this.$router.push({ path: '/food/create' })
     },

+ 33 - 1
src/views/food/nutrient.vue

@@ -138,6 +138,15 @@
         >
           批量提交
         </el-button>
+
+        <!-- <span style="color:gray;font-size:14px;margin-left:15px;">营养物语环境</span>
+        <el-select v-model="yywyEnv" style="width:100px;margin-left:10px;" class="filter-item" placeholder="营养物语环境">
+          <el-option label="dev" value="dev" />
+          <el-option label="prod" value="prod" />
+          <el-option label="test" value="test" />
+          <el-option label="local" value="local" />
+        </el-select>
+        <el-button :loading="toYYWY" size="mini" @click="pushToYYWY">同步至营养物语</el-button> -->
       </el-row>
     </div>
 
@@ -285,6 +294,9 @@ import store from '@/store'
 import NutrientQuantity from '@/views/food/components/NutrientQuantity'
 import NutrientUnit from '@/views/food/components/NutrientUnit'
 
+import axios from 'axios'
+import { getToken } from '@/utils/auth'
+
 // 特殊营养素 若单位不为baseUnit,则需要填写来源
 const SPECIAL_NUTRIENT_NAMES = ['维生素A', '维生素D', '维生素E', '烟酸', '叶酸']
 
@@ -330,7 +342,9 @@ export default {
       nutrientSources: [],
       showNRV: false,
       canEdit: true,
-      editAll: false
+      editAll: false,
+      yywyEnv: 'dev',
+      toYYWY: false
     }
   },
   mounted() {
@@ -344,6 +358,9 @@ export default {
     this.foodId = this.$route.params && this.$route.params.id
     this.fetchData()
     this.queryNutrients()
+    if (location.href.indexOf('test') > 0) {
+      this.yywyEnv = 'test'
+    }
   },
   methods: {
     fetchData() {
@@ -629,6 +646,21 @@ export default {
         this.showRowNutrientSource = false
         this.$set(row, 'nutrientSource', null)
       }
+    },
+    pushToYYWY() {
+      this.toYYWY = true
+      const headers = {
+        headers: { 'Authorization': getToken() },
+        timeout: 1000 * 60 * 3
+      }
+      axios.post(`/api/foods/${this.foodId}/to-yywy?env=${this.yywyEnv}`, {}, headers).then(res => {
+        const data = res.data || {}
+        this.$notify.success(`同步结果:${res.status};` + JSON.stringify(data))
+      }).catch(res => {
+        this.$message.error(res.response.data.message)
+      }).finally(() => {
+        this.toYYWY = false
+      })
     }
   }
 }