Explorar el Código

认证通v1.6管理员端功能接口调试完成

喻文俊 hace 3 años
padre
commit
7545f79168

+ 9 - 0
src/api/product.js

@@ -98,3 +98,12 @@ export function fetchProductSelectList(params) {
     params
   })
 }
+
+// 设备分类审核
+export function auditProductCate(data) {
+  return request({
+    url: '/auth/product/type/audit',
+    method: 'post',
+    data
+  })
+}

+ 0 - 6
src/router/module/audit.js

@@ -149,12 +149,6 @@ const deviceAuditRoutes = [
     component: () => import('@/views/admin/audit/device/list'),
     name: 'AuditDeviceCateList',
     meta: { title: '设备管理审核', noCache: true }
-  },
-  {
-    path: 'device/device-detail',
-    component: () => import('@/views/admin/audit/device/detail'),
-    name: 'AuditDeviceCateDetail',
-    meta: { title: '设备管理审核详情', noCache: true }
   }
 ]
 

+ 12 - 3
src/views/admin/audit/club/review.vue

@@ -32,8 +32,13 @@
         />
       </el-form-item>
 
-      <el-form-item label="是否需要自定义属性">
-        <span>是</span>
+      <el-form-item label="自定义属性:">
+        <span v-if="authInfo.customFlag">是</span>
+        <span v-else>否</span>
+      </el-form-item>
+
+      <el-form-item v-if="authInfo.customFlag" label="店铺备注:">
+        <span v-text="authInfo.remarks" />
       </el-form-item>
 
       <!-- 审核表单 -->
@@ -89,7 +94,9 @@ export default {
         logo: '',
         mobile: '',
         provinceId: '',
-        townId: ''
+        townId: '',
+        customFlag: 0,
+        remarks: ''
       },
 
       // 预览图片
@@ -118,6 +125,8 @@ export default {
         this.authInfo.mobile = res.data.mobile
         this.authInfo.provinceId = res.data.provinceId
         this.authInfo.townId = res.data.townId
+        this.authInfo.customFlag = res.data.customFlag
+        this.authInfo.remarks = res.data.remarks
       })
     },
     // 提交审核信息

+ 0 - 13
src/views/admin/audit/device/detail.vue

@@ -1,13 +0,0 @@
-<template>
-  <div />
-</template>
-
-<script>
-export default {
-
-}
-</script>
-
-<style scoped>
-
-</style>

+ 191 - 4
src/views/admin/audit/device/list.vue

@@ -1,13 +1,200 @@
 <template>
-  <div />
+  <div class="device-list app-container">
+    <div class="filter-container">
+      <div class="filter-control">
+        <span>设备名称:</span>
+        <el-input v-model="listQuery.name" placeholder="设备名称" @keyup.enter.native="getList" />
+      </div>
+      <div class="filter-control">
+        <span>审核状态:</span>
+        <el-select v-model="listQuery.auditStatus" placeholder="审核状态" clearable @change="getList">
+          <el-option label="全部" value="" />
+          <el-option label="已完成审核" :value="1" />
+          <el-option label="未完成审核" :value="0" />
+        </el-select>
+      </div>
+      <div class="filter-control">
+        <el-button type="primary" @click="getList">查询</el-button>
+      </div>
+    </div>
+    <!-- 表格区域 -->
+    <el-table
+      v-loading="listLoading"
+      :data="list"
+      style="width: 100%"
+      border
+      fit
+      highlight-current-row
+      header-row-class-name="tableHeader"
+      cell-class-name="table-cell"
+    >
+      <el-table-column :index="indexMethod" label="序号" type="index" width="80" align="center" />
+      <el-table-column prop="name" label="设备名称" align="center" />
+      <el-table-column label="审核状态" width="220px" align="center">
+        <template slot-scope="{ row }">
+          <el-tag v-if="row.auditStatus === 2" size="small" type="warning">待审核</el-tag>
+          <el-tag v-if="row.auditStatus === 1" size="small" type="success">审核通过</el-tag>
+          <!-- 未通过原因展示 -->
+          <template v-if="row.auditStatus === 0">
+            <!-- <span class="status danger">审核未通过&nbsp;</span> -->
+            <el-popover placement="top-start" title="审核说明" width="400" trigger="hover" :content="row.invalidReason">
+              <el-tag slot="reference" size="small" type="danger" class="reason">
+                <span>审核未通过</span>
+                <span class="el-icon-question status danger " />
+              </el-tag>
+            </el-popover>
+            <!-- 未通过原因展示END -->
+          </template>
+        </template>
+      </el-table-column>
+      <el-table-column label="审核时间" width="250px" align="center">
+        <template slot-scope="{ row }">
+          <span v-if="row.auditStatus !== 2">{{ row.auditTime | formatTime }}</span>
+          <span v-else>—</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="审核人" align="center" width="200px">
+        <template slot-scope="{ row }">
+          <span v-if="row.auditStatus !== 2">{{ row.auditBy }}</span>
+          <span v-else>—</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" width="240px" align="center">
+        <template slot-scope="{ row }">
+          <el-button
+            v-if="row.auditStatus !== 1"
+            type="warning"
+            size="mini"
+            style="margin-right:5px"
+            icon="el-icon-s-check"
+            @click="handleAudit(row)"
+          >审核</el-button>
+          <span v-else class="status success el-icon-check">&nbsp;已审核</span>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 审核对话框 -->
+    <el-dialog
+      title="审核"
+      :visible.sync="dialogVisible"
+      width="30%"
+      @closed="onDialogClose"
+    >
+      <el-form label-width="80px">
+        <el-form-item label="设备名称:">
+          <span v-text="currentData.name" />
+        </el-form-item>
+        <el-form-item label="设备图片:">
+          <el-image
+            style="width: 200px; height: 200px"
+            :src="currentData.image"
+            :preview-src-list="srcList"
+          />
+        </el-form-item>
+        <el-form-item label="审核状态:">
+          <el-radio-group v-model="dialogData.auditStatus">
+            <el-radio :label="1">通过</el-radio>
+            <el-radio :label="0">不通过</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item v-if="dialogData.auditStatus === 0" label="原因:" prop="invalidReason">
+          <el-input v-model="dialogData.invalidReason" type="textarea" placeholder="请说明原因" />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleAuditStatus">保存</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
+import { auditProductCate, fetchProductCateList } from '@/api/product'
+import { mapGetters } from 'vuex'
+const resetDialogData = () => ({
+  auditBy: '', // 审核人id
+  productTypeId: '', // 机构id
+  auditStatus: 1, // 审核状态
+  invalidReason: '' // 审核信息
+})
 export default {
-
+  data() {
+    return {
+      dialogVisible: false,
+      listLoading: false,
+      listQuery: {
+        authUserId: '',
+        name: '',
+        auditStatus: '',
+        listType: 2,
+        pageNum: 1,
+        pageSize: 10,
+        status: ''
+      },
+      list: [],
+      total: 0,
+      currentData: {},
+      dialogData: resetDialogData(),
+      srcList: [] // 预览图片列表
+    }
+  },
+  computed: {
+    ...mapGetters(['authUserId'])
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+    async getList() {
+      try {
+        this.listQuery.authUserId = parseInt(this.$route.query.authUserId)
+        const res = await fetchProductCateList(this.listQuery)
+        this.list = res.data.list
+        this.total = res.data.total
+      } catch (error) {
+        console.log(error)
+      }
+    },
+    // 审核设备分类
+    handleAudit(row) {
+      this.currentData = row
+      this.srcList.push(row.image)
+      this.dialogVisible = true
+    },
+    // 审核
+    async handleAuditStatus() {
+      this.dialogData.auditBy = this.authUserId
+      this.dialogData.productTypeId = this.currentData.productTypeId
+      try {
+        const res = await auditProductCate(this.dialogData)
+        this.$message.success(res.data)
+        this.getList()
+        this.dialogVisible = false
+      } catch (error) {
+        console.log(error)
+      }
+    },
+    // 对话框关闭事件
+    onDialogClose() {
+      this.dialogData = resetDialogData()
+      this.currentData = {}
+      this.srcList = []
+    },
+    indexMethod(index) {
+      return index + this.listQuery.pageSize * (this.listQuery.pageNum - 1) + 1
+    }
+  }
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.app-container{
+  ::v-deep{
+    .el-dialog__body{
+      padding-bottom: 0;
+    }
+  }
+}
 </style>

+ 8 - 5
src/views/admin/audit/material/package/index.vue

@@ -107,8 +107,7 @@
           {{ current.fileTitle }}
         </el-form-item>
         <el-form-item label="文件:">
-          <img src="@/assets/img/pdf_cover.png" alt="文件封面" width="60" height="60">
-          <span class="preview" @click.prevent="handlePreviewFile">预览</span>
+          <el-button type="primary" @click.prevent="handleDowmFile">下载</el-button>
         </el-form-item>
         <el-form-item label="审核:">
           <el-radio-group v-model="dialogData.auditStatus">
@@ -131,7 +130,6 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import openWindow from '@/utils/open-window'
 import { formatDate } from '@/utils'
 import { getFileList } from '@/api/doc'
 import { auditfile } from '@/api/docReview'
@@ -152,6 +150,7 @@ export default {
       listLoading: false, // 列表加载
       total: 0, // 列表数据条数
       listQuery: {
+        fileType: 2,
         authUserId: '', // 机构id
         auditStatus: '', // 审核状态
         fileTitle: '', // 文件标题
@@ -238,8 +237,12 @@ export default {
       })
     },
     // 小窗口浏览pdf文件
-    handlePreviewFile() {
-      openWindow(this.current.currentfileUrl, this.current.fileTitle, this.current.fileTitle, 1200, 600)
+    handleDowmFile() {
+      const a = document.createElement('a')
+      a.setAttribute('href', this.current.currentfileUrl)
+      a.setAttribute('target', '_blank')
+      a.click()
+      // openWindow(this.current.currentfileUrl, this.current.fileTitle, this.current.fileTitle, 1200, 600)
     },
     indexMethod(index) {
       return index + this.listQuery.pageSize * (this.listQuery.pageNum - 1) + 1

+ 5 - 29
src/views/admin/audit/personnel/operate/index.vue

@@ -2,8 +2,8 @@
   <div class="app-container">
     <div class="filter-container">
       <div class="filter-control">
-        <span>医师姓名:</span>
-        <el-input v-model="listQuery.doctorName" placeholder="医师姓名" @keyup.enter.native="handleFilter" />
+        <span>操作医师姓名:</span>
+        <el-input v-model="listQuery.doctorName" placeholder="操作医师姓名" @keyup.enter.native="handleFilter" />
       </div>
       <div class="filter-control">
         <span>从业资格证编号:</span>
@@ -99,7 +99,7 @@
 import Pagination from '@/components/Pagination' // secondary package based on el-pagination
 import { mapGetters } from 'vuex'
 import { formatDate } from '@/utils'
-import { fetchDoctorList, removeDoctor, doctorStatusChange } from '@/api/doctor'
+import { fetchDoctorList } from '@/api/doctor'
 
 export default {
   components: { Pagination },
@@ -119,9 +119,10 @@ export default {
       listQuery: {
         authUserId: '',
         listType: 2,
-        doctorName: '',
         auditStatus: '',
         certificateNo: '',
+        doctorName: '',
+        doctorType: 1,
         status: '',
         pageNum: 1,
         pageSize: 10
@@ -147,31 +148,6 @@ export default {
         this.total = res.data.total
       })
     },
-    // 修改状态
-    handleChangeStatus(row) {
-      const status = row.status === 1 ? 0 : 1
-
-      doctorStatusChange({ doctorId: row.doctorId, status }).then(res => {
-        this.$message.success('状态修改成功')
-        this.getList()
-      })
-    },
-    // 删除
-    async handleRemoveDoctor(row) {
-      const text = await this.$confirm('确认删除该医师信息吗?删除后不可恢复', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).catch(() => {
-        this.$message.info('已取消操作')
-      })
-      if (text !== 'confirm') return
-
-      removeDoctor({ doctorId: row.doctorId }).then(res => {
-        this.$message.success('删除成功')
-        this.getList()
-      })
-    },
     // 表格索引
     indexMethod(index) {
       return index + this.listQuery.pageSize * (this.listQuery.pageNum - 1) + 1

+ 26 - 3
src/views/admin/audit/personnel/operate/review.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="doctor-edit">
     <el-form ref="formRef" class="doctor-edit-form" label-width="140px" :model="formData" :rules="formRules">
-      <el-form-item label="医师姓名:">
+      <el-form-item label="操作医师姓名:">
         <span>{{ doctorInfo.doctorName }}</span>
       </el-form-item>
       <el-form-item label="从业资格证编号:">
@@ -10,7 +10,7 @@
       <el-form-item label="所在机构:" prop="clubName">
         <span>{{ doctorInfo.clubName }}</span>
       </el-form-item>
-      <el-form-item label="医师照片:" prop="doctorImage">
+      <el-form-item label="操作医师照片:" prop="doctorImage">
         <el-image
           style="width: 140px; height: 140px"
           :src="doctorInfo.doctorImage"
@@ -27,6 +27,25 @@
         />
       </el-form-item>
 
+      <el-form-item label="操作操作医师标签">
+        <span v-text="doctorInfo.tagList.join()" />
+      </el-form-item>
+
+      <el-form-item label="自定义属性:" prop="paramList">
+        <div class="device-section">
+          <div v-for="(param, index) in doctorInfo.paramList" :key="index" class="section">
+            <el-form label-width="90px">
+              <el-form-item label="字段名称:">
+                <span>{{ param.name }}</span>
+              </el-form-item>
+              <el-form-item label="字段内容:">
+                <span>{{ param.content }}</span>
+              </el-form-item>
+            </el-form>
+          </div>
+        </div>
+      </el-form-item>
+
       <el-form-item label="具备操作资格设备:" prop="equipment">
         <div class="device-section">
           <div v-for="(equipment, index) in doctorInfo.equipmentList" :key="index" class="section">
@@ -84,7 +103,9 @@ export default {
         clubName: '',
         bannerList: '',
         doctorImage: '',
-        equipmentList: ''
+        equipmentList: '',
+        tagList: [],
+        paramsList: []
       },
       formData: {
         auditBy: '', // 审核人id
@@ -122,6 +143,8 @@ export default {
       this.doctorInfo.bannerList = data.bannerList
       this.doctorInfo.doctorImage = data.doctorImage
       this.doctorInfo.equipmentList = data.equipmentList
+      this.doctorInfo.tagList = data.tagList
+      this.doctorInfo.paramList = data.paramList
 
       this.doctorImgList = [data.doctorImage]
       this.bannerImgList = data.bannerList

+ 5 - 29
src/views/admin/audit/personnel/training/index.vue

@@ -2,8 +2,8 @@
   <div class="app-container">
     <div class="filter-container">
       <div class="filter-control">
-        <span>医师姓名:</span>
-        <el-input v-model="listQuery.doctorName" placeholder="医师姓名" @keyup.enter.native="handleFilter" />
+        <span>培训医师姓名:</span>
+        <el-input v-model="listQuery.doctorName" placeholder="培训医师姓名" @keyup.enter.native="handleFilter" />
       </div>
       <div class="filter-control">
         <span>从业资格证编号:</span>
@@ -99,7 +99,7 @@
 import Pagination from '@/components/Pagination' // secondary package based on el-pagination
 import { mapGetters } from 'vuex'
 import { formatDate } from '@/utils'
-import { fetchDoctorList, removeDoctor, doctorStatusChange } from '@/api/doctor'
+import { fetchDoctorList } from '@/api/doctor'
 
 export default {
   components: { Pagination },
@@ -119,9 +119,10 @@ export default {
       listQuery: {
         authUserId: '',
         listType: 2,
-        doctorName: '',
         auditStatus: '',
         certificateNo: '',
+        doctorName: '',
+        doctorType: 2,
         status: '',
         pageNum: 1,
         pageSize: 10
@@ -147,31 +148,6 @@ export default {
         this.total = res.data.total
       })
     },
-    // 修改状态
-    handleChangeStatus(row) {
-      const status = row.status === 1 ? 0 : 1
-
-      doctorStatusChange({ doctorId: row.doctorId, status }).then(res => {
-        this.$message.success('状态修改成功')
-        this.getList()
-      })
-    },
-    // 删除
-    async handleRemoveDoctor(row) {
-      const text = await this.$confirm('确认删除该医师信息吗?删除后不可恢复', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).catch(() => {
-        this.$message.info('已取消操作')
-      })
-      if (text !== 'confirm') return
-
-      removeDoctor({ doctorId: row.doctorId }).then(res => {
-        this.$message.success('删除成功')
-        this.getList()
-      })
-    },
     // 表格索引
     indexMethod(index) {
       return index + this.listQuery.pageSize * (this.listQuery.pageNum - 1) + 1

+ 16 - 18
src/views/admin/audit/personnel/training/review.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="doctor-edit">
     <el-form ref="formRef" class="doctor-edit-form" label-width="140px" :model="formData" :rules="formRules">
-      <el-form-item label="医师姓名:">
+      <el-form-item label="培训医师姓名:">
         <span>{{ doctorInfo.doctorName }}</span>
       </el-form-item>
       <el-form-item label="从业资格证编号:">
@@ -10,7 +10,7 @@
       <el-form-item label="所在机构:" prop="clubName">
         <span>{{ doctorInfo.clubName }}</span>
       </el-form-item>
-      <el-form-item label="医师照片:" prop="doctorImage">
+      <el-form-item label="培训医师照片:" prop="doctorImage">
         <el-image
           style="width: 140px; height: 140px"
           :src="doctorInfo.doctorImage"
@@ -27,22 +27,19 @@
         />
       </el-form-item>
 
-      <el-form-item label="具备操作资格设备:" prop="equipment">
+      <el-form-item label="操作培训医师标签">
+        <span v-text="doctorInfo.tagList.join()" />
+      </el-form-item>
+
+      <el-form-item label="自定义属性:" prop="paramList">
         <div class="device-section">
-          <div v-for="(equipment, index) in doctorInfo.equipmentList" :key="index" class="section">
+          <div v-for="(param, index) in doctorInfo.paramList" :key="index" class="section">
             <el-form label-width="90px">
-              <el-form-item label="设备名称:">
-                <span>{{ equipment.equipmentName }}</span>
-              </el-form-item>
-              <el-form-item label="所属品牌:">
-                <span>{{ equipment.brand }}</span>
+              <el-form-item label="字段名称:">
+                <span>{{ param.name }}</span>
               </el-form-item>
-              <el-form-item label="设备图片:">
-                <el-image
-                  style="width: 140px; height: 140px"
-                  :src="equipment.image"
-                  :preview-src-list="equipmentImgList"
-                />
+              <el-form-item label="字段内容:">
+                <span>{{ param.content }}</span>
               </el-form-item>
             </el-form>
           </div>
@@ -84,7 +81,8 @@ export default {
         clubName: '',
         bannerList: '',
         doctorImage: '',
-        equipmentList: ''
+        tagList: [],
+        paramsList: []
       },
       formData: {
         auditBy: '', // 审核人id
@@ -121,11 +119,11 @@ export default {
       this.doctorInfo.clubName = data.clubName
       this.doctorInfo.bannerList = data.bannerList
       this.doctorInfo.doctorImage = data.doctorImage
-      this.doctorInfo.equipmentList = data.equipmentList
+      this.doctorInfo.tagList = data.tagList
+      this.doctorInfo.paramList = data.paramList
 
       this.doctorImgList = [data.doctorImage]
       this.bannerImgList = data.bannerList
-      this.equipmentImgList = data.equipmentList.map(item => item.image)
     },
 
     // 提交审核信息

+ 12 - 12
src/views/normal/personnel/training/edit.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="doctor-edit">
     <el-form ref="submitForm" class="doctor-edit-form" label-width="140px" :model="formData" :rules="rules">
-      <el-form-item label="操作医师姓名:" prop="doctorName">
-        <el-input v-model="formData.doctorName" type="text" placeholder="请输入操作医师姓名" :maxlength="30" />
+      <el-form-item label="培训医师姓名:" prop="doctorName">
+        <el-input v-model="formData.doctorName" type="text" placeholder="请输入培训医师姓名" :maxlength="30" />
       </el-form-item>
       <el-form-item label="从业资格证编号:" prop="certificateNo">
         <el-input v-model="formData.certificateNo" placeholder="请输入从业资格证编号" />
@@ -29,10 +29,10 @@
         </el-select>
         <el-input v-show="false" v-model="formData.clubName" />
       </el-form-item>
-      <el-form-item label="操作医师照片:" prop="doctorImage">
+      <el-form-item label="培训医师照片:" prop="doctorImage">
         <el-input v-show="false" v-model="formData.doctorImage" />
         <upload-image
-          tip="提示:上传操作医师个人照片,建议尺寸:200px * 200px"
+          tip="提示:上传培训医师个人照片,建议尺寸:200px * 200px"
           :image-list="doctorImageList"
           :before-upload="beforeDoctorImageUpload"
           @success="uploadDoctorImageSuccess"
@@ -51,7 +51,7 @@
         />
       </el-form-item>
 
-      <el-form-item label="操作医师标签" prop="tagList">
+      <el-form-item label="培训医师标签" prop="tagList">
         <el-input v-show="false" v-model="formData.tagList" />
         <div class="tag-control">
           <input v-model="tagName" class="el-input el-input__inner" placeholder="输入标签名后点击添加按钮">
@@ -66,10 +66,10 @@
         <doctor-custom-items v-if="!isRequest" ref="customItems" @change="customItemsChange" />
       </el-form-item>
 
-      <el-form-item label="具备操作资格设备:" prop="equipment">
+      <!-- <el-form-item label="具备培训资格设备:" prop="equipment">
         <el-input v-show="false" v-model="formData.equipment" />
         <device-section v-if="!isRequest" ref="subForm" :list="deviceList" @change="deviceListDataChange" />
-      </el-form-item>
+      </el-form-item> -->
 
     </el-form>
     <div class="submit-btn">
@@ -82,13 +82,13 @@
 <script>
 import { Promise } from 'jszip/lib/external'
 import { mapGetters } from 'vuex'
-import DeviceSection from '@/views/components/DeviceSection/index.vue'
+// import DeviceSection from '@/views/components/DeviceSection/index.vue'
 import DoctorCustomItems from '@/views/components/DoctorCustomItems/index.vue'
 import UploadImage from '@/components/UploadImage'
 import { doctorSave, doctorFormData, fetchDoctorClubList } from '@/api/doctor'
 
 export default {
-  components: { DeviceSection, UploadImage, DoctorCustomItems },
+  components: { UploadImage, DoctorCustomItems },
   data() {
     var validateCertificateNo = (rule, value, callback) => {
       if (value === '') {
@@ -128,7 +128,7 @@ export default {
         clubName: [{ required: true, message: '所在机构不能为空', trigger: ['blur', 'change'] }],
         doctorImage: [{ required: true, message: '请上传医师照片', trigger: 'change' }],
         banner: [{ required: true, message: '请上传至少一张轮播图', trigger: 'change' }],
-        equipment: [{ required: true, message: '具备操作资格设备不能为空', trigger: 'change' }],
+        equipment: [{ required: true, message: '具备培训资格设备不能为空', trigger: 'change' }],
         tagList: [{ required: true, message: '医师标签不能为空', trigger: 'change' }]
       },
       // logo图片列表
@@ -204,7 +204,7 @@ export default {
       this.paramList = list
     },
 
-    // 具备操作资格设备列表数据变化
+    // 具备培训资格设备列表数据变化
     deviceListDataChange(list) {
       this.deviceList = list
       this.formData.equipment = list.length || ''
@@ -249,7 +249,7 @@ export default {
     // 提交表单验证
     submit() {
       Promise.all([
-        this.$refs.subForm.valideAllForm(),
+        // this.$refs.subForm.valideAllForm(),
         this.$refs.submitForm.validate(),
         this.$refs.customItems.valideAllForm()
       ]).then(res => {