zhengjinyi пре 2 година
родитељ
комит
86a76d6be9

+ 9 - 5
apis/index.js

@@ -86,10 +86,10 @@ export default ($axios) => {
     $axios.get('/wx/user/info', { params })
   // 获取品牌列表
   const fetchBrandList = (params = {}) =>
-    $axios.get('/shop/brand/list', { params })
+    $axios.get('/wx/shop/brand/list', { params })
   // 获取设备分类列表
   const fetchProductSelectList = (params = {}) =>
-    $axios.get('/auth/product/type/select', { params })
+    $axios.get('/wx/auth/product/type/select', { params })
   // 机构注册(全部信息注册)
   const clubUserRegisterAll = (data = {}) =>
     $axios.post('/wx/user/register/all', data)
@@ -107,15 +107,18 @@ export default ($axios) => {
     $axios.post('/wx/user/login/code/send', data)
   // 查询机构认证信息
   const fetchClubAuthInfoData = (params = {}) =>
-    $axios.get('/auth/form/data', { params })
+    $axios.get('/wx/auth/form/data', { params })
   // 查询机构认证信息
   const authClubSave = (data = {}) => $axios.post('/auth/save', data)
   // 查询授权商品列表
   const getClubAuthProductList = (params = {}) =>
-    $axios.get('/auth/product/list', { params })
+    $axios.get('/wx/auth/product/list', { params })
   // 查询授权商品列表
   const getProductDetails = (params = {}) =>
-    $axios.get('/auth/product/form/data', { params })
+    $axios.get('/wx/auth/product/form/data', { params })
+  // 编辑保存授权商品
+  const authProducSave = (params = {}) =>
+    $axios.post('/wx/auth/product/save', data)
   // 高德地图api : 将坐标转化为高德地图坐标
   const assistant = (params = {}) =>
     fetch(
@@ -161,5 +164,6 @@ export default ($axios) => {
     authClubSave,
     getClubAuthProductList,
     getProductDetails,
+    authProducSave,
   }
 }

+ 34 - 2
pages/_template/app/form/components/form-club-device.vue

@@ -98,12 +98,13 @@
       </div>
     </template>
 
-    <div class="add-device" @click="insertOne">
+    <div class="add-device" @click="insertOne"  v-if="formType != 'edit'">
       <div class="add-icon"></div>
       添加设备
     </div>
 
     <SimpleDialog
+      v-if="formType != 'edit'"
       v-model="active"
       @confirm="active = false"
       :cancel="false"
@@ -120,6 +121,12 @@ export default {
   components: {
     SimpleUploadImage,
   },
+  props:{
+    formType:{
+      type:String,
+      default:1
+    }
+  },
   data() {
     const productNameValidate = (rule, value, callback) => {
       if (value.toString().length > 50) {
@@ -163,6 +170,7 @@ export default {
     this.fetchBrandList()
     this.fetchDeviceList()
     this.initFormList()
+    this.init()
   },
 
   methods: {
@@ -171,7 +179,31 @@ export default {
       this.$emit('step', this.formatFormList())
       return Promise.all(this.$refs.form.map((item) => item.validate()))
     },
-
+    async init(formData) {
+      console.log('formData',formData)
+      const obj = {}
+      const productImageList = {
+        name:'',
+        url:formData.productImage
+      }
+      const invoiceImageList = {
+        name:'',
+        url:formData.invoiceImage
+      }
+      obj.uuid = ++this.uuid
+      obj.productImageList = productImageList
+      obj.invoiceImageList = invoiceImageList
+      obj.productImage = formData.productImage
+      obj.productName = formData.productName
+      obj.snCode = formData.snCode
+      obj.brandId = formData.brandId
+      obj.productTypeId = formData.productTypeId
+      obj.purchaseWay = formData.purchaseWay
+      obj.invoiceImage = formData.invoiceImage
+      obj.paramList = formData.paramList
+      this.formList.push(obj)
+      console.log('formList',this.formList)
+    },
     formatFormList() {
       const list = []
       this.formList.forEach((formItem) => {

+ 1 - 1
pages/_template/app/record/device/detail.vue

@@ -119,7 +119,7 @@ export default {
       return map[value]
     },
     onEdit() {
-      this.$router.push(`${this.routePrefix}/record/device/edit?id=${this.productId}`)
+      this.$router.push(`${this.routePrefix}/record/device/edit?type=edit&id=${this.productId}`)
     },
   }  
 }

+ 27 - 68
pages/_template/app/record/device/edit.vue

@@ -6,54 +6,7 @@
     </div>
     <div class="page-content">
       <div class="page-title">设备认证</div>
-      <el-form :model="formData" :rules="rules">
-        <el-form-item label="设备名称:">
-          <el-select
-            v-model="formData.deviceName"
-            filterable
-            allow-create
-            placeholder="请输入新设备名称或选择已有设备"
-          >
-            <el-option label="中国" :value="1"> </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="mobile" label="设备图片:">
-          <br />
-          <el-input v-show="false"></el-input>
-          <SimpleUploadImage :limit="1" />
-        </el-form-item>
-        <el-form-item label="所属品牌:">
-          <el-select v-model="formData.deviceName" placeholder="请选择品牌">
-            <el-option label="中国" :value="1"> </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="mobile" label="购买渠道:">
-          <el-input placeholder="请输入购买渠道"></el-input>
-        </el-form-item>
-        <el-form-item prop="mobile" label="发票:">
-          <br />
-          <el-input v-show="false"></el-input>
-          <SimpleUploadImage :limit="1" />
-        </el-form-item>
-        <el-form-item prop="mobile" label="设备SN码:">
-          <el-input placeholder="请输入设备SN码"></el-input>
-        </el-form-item>
-        <el-form-item prop="mobile" label="设备参数:">
-          <br />
-          <div class="device-param-list">
-            <span class="add-param">添加参数</span>
-            <template v-for="i in 3">
-              <div :key="i">
-                <div class="param flex justify-between mb-4">
-                  <el-input placeholder="例如:品牌" class="mr-2"></el-input>
-                  <el-input placeholder="请输入参数信息"></el-input>
-                  <span class="remove el-icon-close"></span>
-                </div>
-              </div>
-            </template>
-          </div>
-        </el-form-item>
-      </el-form>
+      <FormClubDevice ref="formClubDevice" :formType="formType" @step="onClubDeviceFormStep" />
       <div class="control flex flex-col items-center">
         <div class="button submit flex justify-center items-center">提交</div>
       </div>
@@ -62,51 +15,57 @@
 </template>
 
 <script>
-import SimpleUploadImage from '@/components/SimpleUploadImage'
+import FormClubDevice from '../../form/components/form-club-device.vue'
 import { mapGetters } from 'vuex'
 export default {
   layout: 'app',
   components: {
-    SimpleUploadImage,
+    FormClubDevice
   },
   data() {
     return {
-      formData: {
-        deviceName: '',
-      },
-      rules: {},
+      productInfo: {},
+      formData: {},
+      productId:0,
+      formType:''
     }
   },
   computed: {
     ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix']),
   },
   mounted() {
-    this.initData()
+    this.formType = this.$route.query.type
+    this.getProductDetails()
   },
   methods: {
-    initData() {
-      this.productId = this.$route.query.id
-      console.log('productId',this.productId)
-      this.getProductDetails()
+    async onSubmit() {
+      try {
+        await this.$refs.formClubInfo.validate()
+        this.formData.authUserId = this.authUserId
+        this.formData.source = 2
+        await this.$http.api.authProducSave(this.formData)
+        this.$toast('保存成功')
+        this.$router.push(`${this.routePrefix}/record/device/detail?id=${this.productId}`)
+      } catch (error) {
+        console.log(error)
+      }
     },
     // 获取认证机构信息
     async getProductDetails() {
       try {
+        this.productId = this.$route.query.id
         const res = await this.$http.api.getProductDetails({
           productId: this.productId,
         })
         this.productInfo = res.data
-        console.log('res',this.productInfo)
+        console.log('productInfo',this.productInfo)
+        this.$refs.formClubDevice.init(this.productInfo)
       } catch (error) {}
     },
-    auditStatusColor(value) {// 认证状态:0 danger,1 success,2 warning
-      const map = {
-          0: 'danger',
-          1: 'success',
-          2: 'warning',
-      }
-      return map[value]
-    },
+    onClubDeviceFormStep(data) {
+      console.log(data)
+      this.formData = data
+    }
   }  
 }
 </script>

+ 1 - 1
pages/_template/app/record/device/index.vue

@@ -56,7 +56,7 @@ export default {
       list: [],
       listQuery: {
         authId: 0,
-        listType:1,
+        listType:2,
         pageNum: 1,
         pageSize: 10,
       },