Parcourir la source

当商品分类选择包含器械、处方药时候,功能主治、成分、用法用量、不良反应、禁忌、注意事项非必填,不做必填校验。将商品类型选择框放到商品分类下

Guos il y a 1 semaine
Parent
commit
cac4d71d07
1 fichiers modifiés avec 21 ajouts et 76 suppressions
  1. 21 76
      src/views/store/storeProduct/index.vue

+ 21 - 76
src/views/store/storeProduct/index.vue

@@ -38,33 +38,8 @@
           />
         </el-select>
       </el-form-item>
-      <!-- <el-form-item label="所属公司">
-        <el-select style="width: 240px" v-model="companyId" multiple placeholder="请选择企业" clearable size="small" >
-          <el-option
-            v-for="item in companyOptions"
-            :key="item.companyId"
-            :label="item.companyName"
-            :value="item.companyId"
-          />
-        </el-select>
-      </el-form-item> -->
-<!--      <el-form-item label="所属店铺" v-if="medicalMallConfig.isStores">-->
-<!--        <el-select style="width: 240px" v-model="queryParams.storeIds" placeholder="请选择店铺" clearable size="small">-->
-<!--          <el-option-->
-<!--            v-for="item in storeOptions"-->
-<!--            :key="item.storeId"-->
-<!--            :label="item.storeName"-->
-<!--            :value="item.storeId"-->
-<!--          />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
+
       <div v-if="medicalMallConfig.isAudit">
-<!--        <el-form-item label="审核状态">-->
-<!--          <el-select style="width: 240px" v-model="queryParams.isAudit" placeholder="请选择审核状态" size="small">-->
-<!--            <el-option value="0" label="待审核" key="isAudit0">待审核</el-option>-->
-<!--            <el-option value="1" label="审核通过" key="isAudit1">审核通过</el-option>-->
-<!--          </el-select>-->
-<!--        </el-form-item>-->
         <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
           <el-input
             v-model="queryParams.drugRegCertNo"
@@ -518,6 +493,19 @@
             </el-form-item>
           </el-col>
         </el-row>
+
+        <el-form-item label="商品类型" prop="productType">
+          <el-select style="width: 240px" v-model="form.productType" placeholder="请选择商品类型" clearable
+                     size="small">
+            <el-option
+              v-for="item in productTypeOptions"
+              :key="item.dictValue"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            />
+          </el-select>
+        </el-form-item>
+
         <el-row>
           <el-col :span="12">
             <el-form-item label="关键字" prop="keyword">
@@ -656,22 +644,7 @@
         <el-form-item label="商品图片" prop="image">
           <Material v-model="imageArr" type="image" :num="1" :width="150" :height="150"/>
         </el-form-item>
-        <!--        <el-form-item label="商品视频" prop="video">
-                  <div>
-                    <el-upload
-                      ref="upload"
-                      class="upload-demo"
-                      :action="uploadUrl"
-                      :on-success="handleSuccess"
-                      :before-upload="beforeUpload"
-                      :limit="1"
-                      :accept="videoAccept"
-                    >
-                      <el-button size="small" type="primary">点击上传视频</el-button>
-                    </el-upload>
-                    <video v-if="form.video" :src="form.video" controls style="max-width: 300px; max-height: 300px; margin-top: 10px"></video>
-                  </div>
-                </el-form-item>-->
+
         <el-form-item label="轮播图" prop="sliderImage">
           <Material v-model="photoArr" type="image" :num="10" :width="150" :height="150"/>
         </el-form-item>
@@ -946,37 +919,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="商品类型" prop="productType">
-          <el-select style="width: 240px" v-model="form.productType" placeholder="请选择商品类型" clearable
-                     size="small">
-            <el-option
-              v-for="item in productTypeOptions"
-              :key="item.dictValue"
-              :label="item.dictLabel"
-              :value="item.dictValue"
-            />
-          </el-select>
-        </el-form-item>
-        <!--        <el-form-item label="所属公司">-->
-        <!--          <el-select style="width: 240px" v-model="form.companyIds" multiple placeholder="请选择企业" clearable size="small" >-->
-        <!--            <el-option-->
-        <!--              v-for="item in companyOptions"-->
-        <!--              :key="item.companyId"-->
-        <!--              :label="item.companyName"-->
-        <!--              :value="item.companyId"-->
-        <!--            />-->
-        <!--          </el-select>-->
-        <!--        </el-form-item>-->
-<!--        <el-form-item label="所属店铺" prop="storeId" v-if="medicalMallConfig.isStores">-->
-<!--          <el-select style="width: 240px" v-model="form.storeId" placeholder="请选择店铺" clearable size="small">-->
-<!--            <el-option-->
-<!--              v-for="item in storeOptions"-->
-<!--              :key="item.storeId"-->
-<!--              :label="item.storeName"-->
-<!--              :value="item.storeId"-->
-<!--            />-->
-<!--          </el-select>-->
-<!--        </el-form-item>-->
+
         <el-form-item v-if="form.isShow==='1'" label="审核说明" prop="reviewAudit">
           <el-select style="width: 240px" v-model="form.reviewAudit" placeholder="请选择审核说明" clearable
                      @change="handleReviewAudit"  size="small">
@@ -1341,21 +1284,22 @@ export default {
     //商品分类
     'form.cateId': {
       handler(newVal) {
-        // 分类变化时动态修改验证规则
-        if (newVal == 224) {
+        const cateName = this.cateIdToNameMap[newVal];
+        if (newVal == 224 || (cateName !== undefined && cateName.includes('器械'))) {
           this.rules.indications = [];
+          this.rules.ingredient = [];
           this.rules.dosage = [];
           this.rules.adverseReactions = [];
           this.rules.contraindications = [];
           this.rules.precautions = [];
         } else {
           this.rules.indications = [{ required: true, message: "功能主治不能为空", trigger: "blur" }];
+          this.rules.ingredient = [{ required: true, message: "成分不能为空", trigger: "blur" }];
           this.rules.dosage = [{ required: true, message: "用法用量不能为空", trigger: "blur" }];
           this.rules.adverseReactions = [{ required: true, message: "不良反应不能为空", trigger: "blur" }];
           this.rules.contraindications = [{ required: true, message: "禁忌不能为空", trigger: "blur" }];
           this.rules.precautions = [{ required: true, message: "注意事项不能为空", trigger: "blur" }];
         }
-        const cateName = this.cateIdToNameMap[newVal];
         if(cateName !== undefined && cateName.includes('器械')){
           this.displayDemo=true;
         }else {
@@ -1370,6 +1314,7 @@ export default {
           if (this.$refs.form) {
             this.$refs.form.clearValidate([
               'indications',
+              'ingredient',
               'dosage',
               'adverseReactions',
               'contraindications',