浏览代码

v1.7版本接口调试

yuwenjun1997 2 年之前
父节点
当前提交
a2328318da

+ 2 - 2
.env.development

@@ -4,7 +4,7 @@ EVN = 'development'
 # 网站地址
 LOCALHOSE = 'https://zp-b.caimei365.com'
 # LOCALHOSE = 'http://192.168.2.81:8888'
-LOCALHOSE = 'http://192.168.1.92:8888'
+LOCALHOSE = 'http://192.168.2.56:8888'
 
 # 接口api地址
 # BASE_URL = 'https://zplma-b.caimei365.com'
@@ -17,7 +17,7 @@ STATIC_URL = 'https://static.caimei365.com/www/authentic'
 CIMEI_LOCAL = 'https://www-b.caimei365.com'
 
 # 项目运行地址
-HOST = '192.168.2.92'
+HOST = '192.168.2.56'
 
 # 项目端口号
 PORT = '8888'

+ 9 - 1
apis/index.js

@@ -110,6 +110,12 @@ export default ($axios) => {
     $axios.get('/auth/form/data', { params })
   // 查询机构认证信息
   const authClubSave = (data = {}) => $axios.post('/auth/save', data)
+  // 查询授权商品列表
+  const getClubAuthProductList = (params = {}) =>
+    $axios.get('/auth/product/list', { params })
+  // 查询授权商品列表
+  const getProductDetails = (params = {}) =>
+    $axios.get('/auth/product/form/data', { params })
   // 高德地图api : 将坐标转化为高德地图坐标
   const assistant = (params = {}) =>
     fetch(
@@ -152,6 +158,8 @@ export default ($axios) => {
     clubUserLogin,
     clubUserCodeSend,
     fetchClubAuthInfoData,
-    authClubSave
+    authClubSave,
+    getClubAuthProductList,
+    getProductDetails,
   }
 }

文件差异内容过多而无法显示
+ 19488 - 1
package-lock.json


+ 70 - 20
pages/_template/app/record/device/detail.vue

@@ -8,67 +8,62 @@
       <div class="page-title">设备认证</div>
       <div class="row">
         <div class="col">设备名称:</div>
-        <div class="col">RADIO4丽肤提意大利进口动态四极射频抗衰塑形</div>
+        <div class="col">{{ productInfo.productName }}</div>
       </div>
       <div class="row">
         <div class="col">设备图片:</div>
         <div class="col">
           <el-image
-            src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpe"
+            :src="productInfo.originalCertificateImage"
           ></el-image>
         </div>
       </div>
       <div class="row">
         <div class="col">所属品牌:</div>
-        <div class="col">华熙生物</div>
+        <div class="col">{{ productInfo.brandName }}</div>
       </div>
       <div class="row">
         <div class="col">购买渠道:</div>
-        <div class="col">医院</div>
+        <div class="col">{{ productInfo.purchaseWay }}</div>
       </div>
       <div class="row">
         <div class="col">发票:</div>
         <div class="col">
           <el-image
-            src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpe"
+            :src="productInfo.invoiceImage"
           ></el-image>
         </div>
       </div>
       <div class="row">
         <div class="col">设备SN码:</div>
-        <div class="col">SN2626562612</div>
+        <div class="col">{{ productInfo.productName }}</div>
       </div>
       <div class="row">
         <div class="col">设备参数:</div>
         <div class="col">
           <div class="params-list">
-            <div class="param">
-              <div class="param-name">NDHUIWM:</div>
-              <div class="param-content">中胚层产品</div>
-            </div>
-            <div class="param">
-              <div class="param-name">NDHUIWM:</div>
-              <div class="param-content">中胚层产品</div>
-            </div>
-            <div class="param">
-              <div class="param-name">NDHUIWM:</div>
-              <div class="param-content">中胚层产品</div>
+            <div class="param"
+              v-for="param in productInfo.paramList"
+              :key="param.authId"
+            >
+              <div class="param-name">{{ param.productName }}</div>
+              <div class="param-content">{{ param.productName }}</div>
             </div>
           </div>
         </div>
       </div>
       <div class="row">
         <div class="col">状态:</div>
-        <div class="col">认证中</div>
+        <div class="col" :class="auditStatusColor(productInfo.auditStatus)">{{ productInfo.auditStatus | auditStatusFilter }}</div>
       </div>
 
       <div class="row">
         <div class="col">原因:</div>
-        <div class="col">未通过原因</div>
+        <div class="col">{{ productInfo.invalidReason ? productInfo.invalidReason : '暂无' }}</div>
       </div>
 
       <div class="control flex flex-col items-center">
-        <div class="button edit flex justify-center items-center">编辑</div>
+        <div class="button edit flex justify-center items-center"  @click="onEdit">编辑</div>
       </div>
     </div>
   </div>
@@ -78,9 +73,55 @@
 import { mapGetters } from 'vuex'
 export default {
   layout: 'app',
+  data() {
+    return {
+      productId:'',
+      productInfo: {},
+    }
+  },
+  filters: {
+		auditStatusFilter(value) {// 认证状态:0审核未通过,1审核通过,2待审核
+      const map = {
+          0: '审核未通过',
+          1: '审核通过',
+          2: '待审核',
+      }
+      return map[value]
+    }
+	},
   computed: {
     ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix']),
   },
+  mounted() {
+    this.initData()
+  },
+  methods: {
+    initData() {
+      this.productId = this.$route.query.id
+      this.getProductDetails()
+    },
+    // 获取认证机构信息
+    async getProductDetails() {
+      try {
+        const res = await this.$http.api.getProductDetails({
+          productId: this.productId,
+        })
+        this.productInfo = res.data
+        console.log('res',this.productInfo)
+      } catch (error) {}
+    },
+    auditStatusColor(value) {// 认证状态:0 danger,1 success,2 warning
+      const map = {
+          0: 'danger',
+          1: 'success',
+          2: 'warning',
+      }
+      return map[value]
+    },
+    onEdit() {
+      this.$router.push(`${this.routePrefix}/record/device/edit?id=${this.productId}`)
+    },
+  }  
 }
 </script>
 
@@ -140,6 +181,15 @@ export default {
       margin: 24px 0;
 
       .col {
+        &.success {
+          color: #f3920d !important;
+        }
+        &.warning {
+          color: #1890ff !important;
+        }
+        &.danger {
+          color: #f94b4b !important;
+        }
         &:first-child {
           width: 90px;
           color: #666;

+ 28 - 0
pages/_template/app/record/device/edit.vue

@@ -80,6 +80,34 @@ export default {
   computed: {
     ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix']),
   },
+  mounted() {
+    this.initData()
+  },
+  methods: {
+    initData() {
+      this.productId = this.$route.query.id
+      console.log('productId',this.productId)
+      this.getProductDetails()
+    },
+    // 获取认证机构信息
+    async getProductDetails() {
+      try {
+        const res = await this.$http.api.getProductDetails({
+          productId: this.productId,
+        })
+        this.productInfo = res.data
+        console.log('res',this.productInfo)
+      } catch (error) {}
+    },
+    auditStatusColor(value) {// 认证状态:0 danger,1 success,2 warning
+      const map = {
+          0: 'danger',
+          1: 'success',
+          2: 'warning',
+      }
+      return map[value]
+    },
+  }  
 }
 </script>
 

+ 100 - 45
pages/_template/app/record/device/index.vue

@@ -1,49 +1,42 @@
 <template>
   <div class="page">
-    <div class="page-top flex flex-col justify-center items-center">
-      <img class="logo" :src="supplierInfo.logo" />
-      <div class="name mt-2" v-text="supplierInfo.shopName + '认证记录'"></div>
-    </div>
-    <div class="page-content">
-      <template v-if="true">
-        <div class="page-title">设备认证</div>
-        <div class="device-list">
-          <div class="device" @click="toEdit">
-            <div class="name">
-              <span class="label">设备名称 1:</span>
-              <span class="content">B-BEAUTY童颜皮肤管理(海宁店)</span>
-            </div>
-            <div class="status success">
-              <span class="label">状态:</span>
-              <span class="content">认证中</span>
-            </div>
-          </div>
-          <div class="device">
-            <div class="name">
-              <span class="label">设备名称 1:</span>
-              <span class="content">B-BEAUTY童颜皮肤管理(海宁店)</span>
-            </div>
-            <div class="status warning">
-              <span class="label">状态:</span>
-              <span class="content">认证通过</span>
-            </div>
-          </div>
-          <div class="device">
-            <div class="name">
-              <span class="label">设备名称 1:</span>
-              <span class="content">B-BEAUTY童颜皮肤管理(海宁店)</span>
-            </div>
-            <div class="status danger">
-              <span class="label">状态:</span>
-              <span class="content">认证未通过</span>
+    <van-list
+      v-model="isLoadingMore"
+      :finished="finished"
+      :immediate-check="false"
+      :finished-text="total ? '没有更多了' : ''"
+      @load="onLoadMore"
+    >
+      <div class="page-top flex flex-col justify-center items-center">
+        <img class="logo" :src="supplierInfo.logo" />
+        <div class="name mt-2" v-text="supplierInfo.shopName + '认证记录'"></div>
+      </div>
+      <div class="page-content">
+        <template v-if="list.length>0">
+
+          <div class="page-title">设备认证</div>
+          <div class="device-list"
+            v-for="item in list"
+            :key="item.authId"
+            @click="toEdit(item)"
+          >
+            <div class="device">
+              <div class="name">
+                <span class="label">设备名称:</span>
+                <span class="content">{{ item.productName ? item.productName : '' }}</span>
+              </div>
+              <div class="status" :class="auditStatusColor(item.auditStatus)">
+                <span class="label">状态:</span>
+                <span class="content">{{ item.auditStatus | auditStatusFilter }}</span>
+              </div>
             </div>
           </div>
-        </div>
-      </template>
-      <template v-else>
-        <SimpleEmpty name="icon-device-empty.png" description="暂无机构认证~" />
-      </template>
-    </div>
+        </template>
+        <template v-else>
+          <SimpleEmpty name="icon-device-empty.png" description="暂无设备~" />
+        </template>
+      </div>
+     </van-list>
   </div>
 </template>
 
@@ -55,12 +48,74 @@ export default {
   components: {
     SimpleEmpty,
   },
+  data() {
+    return {
+      isLoadingMore: true,
+      finished: false,
+      isRequest: true,
+      list: [],
+      listQuery: {
+        authId: 0,
+        listType:1,
+        pageNum: 1,
+        pageSize: 10,
+      },
+      total: 0,
+    }
+  },
+  filters: {
+		auditStatusFilter(value) {// 认证状态:0审核未通过,1审核通过,2待审核
+      const map = {
+          0: '审核未通过',
+          1: '审核通过',
+          2: '待审核',
+      }
+      return map[value]
+    }
+	},
+  created() {
+    this.initData()
+  },
   computed: {
-    ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix']),
+    ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix','authId']),
   },
   methods: {
-    toEdit() {
-      this.$router.push(`${this.routePrefix}/record/device/detail`)
+    toEdit(item) {
+      this.$router.push(`${this.routePrefix}/record/device/detail?id=${item.productId}`)
+    },
+    initData() {
+      this.listQuery.authId = this.authId
+      this.authProductList()
+    },
+    // 获取机构列表
+    async authProductList () {
+      try {
+        this.isLoadingMore = true
+        const res = await this.$http.api.getClubAuthProductList(this.listQuery)
+        this.total = res.data.total
+        this.list = [...this.list, ...res.data.list]
+         this.finished = !res.data.hasNextPage
+        this.isLoadingMore = false
+        this.listQuery.pageNum += 1
+      } catch (error) {
+        console.log(error)
+      } finally {
+        this.$toast.clear()
+        this.isRequest = false
+      }
+    },
+    auditStatusColor(value) {// 认证状态:0 danger,1 success,2 warning
+      const map = {
+          0: 'danger',
+          1: 'success',
+          2: 'warning',
+      }
+      return map[value]
+    },
+    // 加载更多
+    onLoadMore() {
+      console.log('111111111')
+      this.authProductList()
     },
   },
 }

+ 1 - 0
store/getters.js

@@ -9,6 +9,7 @@ export default {
   // 用户相关
   userInfo: (state) => state.user.userInfo,
   authUserId: (state) => state.user.authUserId,
+  authId: (state) => state.user.authId,
   accessToken: (state) => state.user.accessToken,
   appId: (state) => state.user.appId,
   accountType: (state) => state.user.accountType,

+ 3 - 1
store/user.js

@@ -4,7 +4,8 @@ const state = () => ({
   accessToken: '',
   appId: '',
   accountType: '',
-  clubUserId: ''
+  clubUserId: '',
+  authId: '',
 })
 
 const mutations = {
@@ -12,6 +13,7 @@ const mutations = {
   SET_USER_INFO(state, data) {
     state.userInfo = data
     state.clubUserId = data.clubUserId
+    state.authId = data.authId
     state.accessToken = data.accessToken
   },
   // 设置appId

部分文件因为文件数量过多而无法显示