|
@@ -48,16 +48,6 @@
|
|
|
/>
|
|
/>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</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-form-item label="所属店铺" v-if="medicalMallConfig.isStores">
|
|
|
<el-select style="width: 240px" v-model="queryParams.storeIds" placeholder="请选择店铺" clearable size="small">
|
|
<el-select style="width: 240px" v-model="queryParams.storeIds" placeholder="请选择店铺" clearable size="small">
|
|
|
<el-option
|
|
<el-option
|
|
@@ -69,12 +59,6 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<div v-if="medicalMallConfig.isAudit">
|
|
<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-form-item label="药品注册证书编号" prop="drugRegCertNo">
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model="queryParams.drugRegCertNo"
|
|
v-model="queryParams.drugRegCertNo"
|
|
@@ -248,16 +232,6 @@
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- <el-form-item label="状态" prop="isShow">
|
|
|
|
|
- <el-select style="width: 240px" v-model="queryParams.isShow" placeholder="请选择状态" clearable size="small" >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in isShowOptions"
|
|
|
|
|
- :key="item.dictValue"
|
|
|
|
|
- :label="item.dictLabel"
|
|
|
|
|
- :value="item.dictValue"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item> -->
|
|
|
|
|
|
|
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
@@ -445,14 +419,6 @@
|
|
|
v-hasPermi="['his:storeProduct:copyProduct']"
|
|
v-hasPermi="['his:storeProduct:copyProduct']"
|
|
|
>一键复制
|
|
>一键复制
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <!-- <el-button-->
|
|
|
|
|
- <!-- size="mini"-->
|
|
|
|
|
- <!-- type="text"-->
|
|
|
|
|
- <!-- icon="el-icon-download"-->
|
|
|
|
|
- <!-- @click="handleDrugExport(scope.row)"-->
|
|
|
|
|
- <!-- v-if="scope.row.cateId==224"-->
|
|
|
|
|
- <!-- >导出-->
|
|
|
|
|
- <!-- </el-button>-->
|
|
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
@@ -477,16 +443,6 @@
|
|
|
<el-radio :label="item.dictValue" v-for="item in isDisplayOptions">{{ item.dictLabel }}</el-radio>
|
|
<el-radio :label="item.dictValue" v-for="item in isDisplayOptions">{{ item.dictLabel }}</el-radio>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="所属公司" prop="companyId">-->
|
|
|
|
|
- <!-- <el-select style="width: 220px" filterable multiple v-model="form1.companyId" 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>
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm1">确 定</el-button>
|
|
<el-button type="primary" @click="submitForm1">确 定</el-button>
|
|
@@ -527,6 +483,34 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <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-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <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-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
<el-form-item label="关键字" prop="keyword">
|
|
<el-form-item label="关键字" prop="keyword">
|
|
@@ -672,22 +656,7 @@
|
|
|
<el-form-item label="商品图片" prop="image">
|
|
<el-form-item label="商品图片" prop="image">
|
|
|
<Material v-model="imageArr" type="image" :num="1" :width="150" :height="150"/>
|
|
<Material v-model="imageArr" type="image" :num="1" :width="150" :height="150"/>
|
|
|
</el-form-item>
|
|
</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">
|
|
<el-form-item label="轮播图" prop="sliderImage">
|
|
|
<Material v-model="photoArr" type="image" :num="10" :width="150" :height="150"/>
|
|
<Material v-model="photoArr" type="image" :num="10" :width="150" :height="150"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -962,37 +931,7 @@
|
|
|
/>
|
|
/>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</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>
|
|
|
|
|
|
|
+
|
|
|
<div v-if="form.isDrug === '1'">
|
|
<div v-if="form.isDrug === '1'">
|
|
|
<el-form-item v-if="form.isShow==='1'" label="审核说明" prop="reviewAudit">
|
|
<el-form-item v-if="form.isShow==='1'" label="审核说明" prop="reviewAudit">
|
|
|
<el-select style="width: 240px" v-model="form.reviewAudit" placeholder="请选择审核说明" clearable
|
|
<el-select style="width: 240px" v-model="form.reviewAudit" placeholder="请选择审核说明" clearable
|
|
@@ -1068,25 +1007,6 @@
|
|
|
<i class="el-icon-warning"></i> {{ certificateExpireError }}
|
|
<i class="el-icon-warning"></i> {{ certificateExpireError }}
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-
|
|
|
|
|
- <!-- <el-form-item v-if="form.isShow === '1' && displayDemo" label="Ⅰ类Ⅱ类备案凭证" prop="voucher">-->
|
|
|
|
|
- <!-- <Material v-model="voucherArr" type="image" :num="1" :width="150" :height="150"/>-->
|
|
|
|
|
- <!-- </el-form-item>-->
|
|
|
|
|
- <!-- <el-form-item v-if="form.isShow === '1' && voucherArr.length > 0 && displayDemo" prop="voucherExpire">-->
|
|
|
|
|
- <!-- <el-date-picker-->
|
|
|
|
|
- <!-- v-model="form.voucherExpire"-->
|
|
|
|
|
- <!-- type="daterange"-->
|
|
|
|
|
- <!-- value-format="yyyy-MM-dd"-->
|
|
|
|
|
- <!-- range-separator="至"-->
|
|
|
|
|
- <!-- start-placeholder="开始日期"-->
|
|
|
|
|
- <!-- end-placeholder="结束日期">-->
|
|
|
|
|
- <!-- </el-date-picker>-->
|
|
|
|
|
- <!-- </el-form-item>-->
|
|
|
|
|
-
|
|
|
|
|
- <!-- GMP/GSP认证证书(后续不需要了)-->
|
|
|
|
|
- <!-- <el-form-item v-if="form.isShow === '1'" label="GMP/GSP认证证书" prop="gmpAuth">-->
|
|
|
|
|
- <!-- <Material v-model="gmpAuthArr" type="image" :num="1" :width="150" :height="150"/>-->
|
|
|
|
|
- <!-- </el-form-item>-->
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<el-form-item label="国药准字" v-if="form.productType==2" prop="prescribeCode">
|
|
<el-form-item label="国药准字" v-if="form.productType==2" prop="prescribeCode">
|
|
|
<el-input v-model="form.prescribeCode" placeholder="请输入国药准字"/>
|
|
<el-input v-model="form.prescribeCode" placeholder="请输入国药准字"/>
|
|
@@ -1322,21 +1242,70 @@ export default {
|
|
|
'form.cateId': {
|
|
'form.cateId': {
|
|
|
handler(newVal, oldVal) {
|
|
handler(newVal, oldVal) {
|
|
|
// 分类变化时动态修改验证规则
|
|
// 分类变化时动态修改验证规则
|
|
|
- if (newVal == 224) {
|
|
|
|
|
- this.rules.indications = [];
|
|
|
|
|
- this.rules.dosage = [];
|
|
|
|
|
- }
|
|
|
|
|
const cateName = this.cateIdToNameMap[newVal];
|
|
const cateName = this.cateIdToNameMap[newVal];
|
|
|
|
|
+
|
|
|
|
|
+ // 判断是否包含"器械"
|
|
|
if(cateName !== undefined && cateName.includes('器械')){
|
|
if(cateName !== undefined && cateName.includes('器械')){
|
|
|
- this.displayDemo=true;
|
|
|
|
|
- }else {
|
|
|
|
|
- this.displayDemo=false;
|
|
|
|
|
|
|
+ this.displayDemo = true;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.displayDemo = false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 判断是否包含"处方药"
|
|
|
|
|
+ const isPrescriptionDrug = cateName !== undefined && cateName.includes('处方药');
|
|
|
|
|
+
|
|
|
|
|
+ // 如果是处方药,则移除相关字段的必填校验
|
|
|
|
|
+ if (isPrescriptionDrug) {
|
|
|
|
|
+ // 移除必填校验规则
|
|
|
|
|
+ const fieldsToRemoveRequired = ['indications', 'ingredient', 'dosage', 'adverseReactions', 'contraindications', 'precautions'];
|
|
|
|
|
+ fieldsToRemoveRequired.forEach(field => {
|
|
|
|
|
+ if (this.rules[field]) {
|
|
|
|
|
+ // 过滤掉 required 规则
|
|
|
|
|
+ this.rules[field] = this.rules[field].filter(rule => rule.required !== true);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果不是处方药,恢复默认的必填校验规则
|
|
|
|
|
+ // 恢复 ingredient 字段的必填规则
|
|
|
|
|
+ if (!this.rules.ingredient) {
|
|
|
|
|
+ this.rules.ingredient = [];
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!this.rules.ingredient.some(rule => rule.required)) {
|
|
|
|
|
+ this.rules.ingredient.unshift({ required: true, message: "成分不能为空", trigger: "blur" });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 恢复其他字段的必填规则
|
|
|
|
|
+ const requiredRules = {
|
|
|
|
|
+ indications: [{ required: true, message: "功能主治不能为空", trigger: "blur" }],
|
|
|
|
|
+ dosage: [{ required: true, message: "用法用量不能为空", trigger: "blur" }],
|
|
|
|
|
+ adverseReactions: [{ required: true, message: "不良反应不能为空", trigger: "blur" }],
|
|
|
|
|
+ contraindications: [{ required: true, message: "禁忌不能为空", trigger: "blur" }],
|
|
|
|
|
+ precautions: [{ required: true, message: "注意事项不能为空", trigger: "blur" }]
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ Object.keys(requiredRules).forEach(field => {
|
|
|
|
|
+ if (!this.rules[field]) {
|
|
|
|
|
+ this.rules[field] = [];
|
|
|
|
|
+ }
|
|
|
|
|
+ // 检查是否已有 required 规则,如果没有就添加
|
|
|
|
|
+ if (!this.rules[field].some(rule => rule.required)) {
|
|
|
|
|
+ this.rules[field] = [...requiredRules[field], ...this.rules[field]];
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
this.ingredientError = '';
|
|
this.ingredientError = '';
|
|
|
// 清除验证状态
|
|
// 清除验证状态
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
if (this.$refs.form) {
|
|
if (this.$refs.form) {
|
|
|
- this.$refs.form.clearValidate(['indications', 'dosage']);
|
|
|
|
|
|
|
+ this.$refs.form.clearValidate([
|
|
|
|
|
+ 'indications',
|
|
|
|
|
+ 'ingredient',
|
|
|
|
|
+ 'dosage',
|
|
|
|
|
+ 'adverseReactions',
|
|
|
|
|
+ 'contraindications',
|
|
|
|
|
+ 'precautions'
|
|
|
|
|
+ ]);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
@@ -1681,35 +1650,6 @@ export default {
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
- // computed: {
|
|
|
|
|
- // // 动态验证规则 - 返回完整的规则对象
|
|
|
|
|
- // dynamicRules() {
|
|
|
|
|
- // // 复制基础规则
|
|
|
|
|
- // const rules = { ...this.rules };
|
|
|
|
|
- //
|
|
|
|
|
- // // 判断是否为处方药 (cateId = 224)
|
|
|
|
|
- // const isPrescriptionDrug = this.form.cateId == 224;
|
|
|
|
|
- // console.log("分类id"+this.form.cateId);
|
|
|
|
|
- // // 修改触发时机,只在失去焦点时验证
|
|
|
|
|
- // Object.keys(rules).forEach(key => {
|
|
|
|
|
- // if (rules[key] && rules[key].length > 0) {
|
|
|
|
|
- // rules[key].forEach(rule => {
|
|
|
|
|
- // rule.trigger = 'blur'; // 只在失去焦点时验证
|
|
|
|
|
- // });
|
|
|
|
|
- // }
|
|
|
|
|
- // });
|
|
|
|
|
- // // 如果是处方药,取消功能主治和用法用量的校验
|
|
|
|
|
- // if (isPrescriptionDrug) {
|
|
|
|
|
- // rules.indications = []; // 空数组表示取消校验
|
|
|
|
|
- // rules.dosage = []; // 空数组表示取消校验
|
|
|
|
|
- // }else {
|
|
|
|
|
- // rules.indications = this.rules.indications
|
|
|
|
|
- // rules.dosage = this.rules.dosage
|
|
|
|
|
- // }
|
|
|
|
|
- //
|
|
|
|
|
- // return rules;
|
|
|
|
|
- // }
|
|
|
|
|
- // },
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
// 防抖检查店铺许可证权限
|
|
// 防抖检查店铺许可证权限
|
|
|
debounceCheckStoreLicense() {
|
|
debounceCheckStoreLicense() {
|
|
@@ -2069,6 +2009,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
// 表单重置
|
|
// 表单重置
|
|
|
reset() {
|
|
reset() {
|
|
|
|
|
+ this.initPrescriptionDrugRules(); // 重置处方药相关的校验规则
|
|
|
this.isFormInitialized = false; // 重置初始化标志
|
|
this.isFormInitialized = false; // 重置初始化标志
|
|
|
this.ingredientError = '';
|
|
this.ingredientError = '';
|
|
|
this.form = {
|
|
this.form = {
|
|
@@ -2274,8 +2215,6 @@ export default {
|
|
|
this.qualificationArr = this.form.qualificationCertificate.split(",");
|
|
this.qualificationArr = this.form.qualificationCertificate.split(",");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
const expireFieldMap = [
|
|
const expireFieldMap = [
|
|
|
{ expireKey: 'businessExpire', startKey: 'businessStart', endKey: 'businessEnd' },
|
|
{ expireKey: 'businessExpire', startKey: 'businessStart', endKey: 'businessEnd' },
|
|
|
{ expireKey: 'licenseExpire', startKey: 'licenseStart', endKey: 'licenseEnd' },
|
|
{ expireKey: 'licenseExpire', startKey: 'licenseStart', endKey: 'licenseEnd' },
|
|
@@ -2600,7 +2539,44 @@ export default {
|
|
|
validateCertificateExpire(dates) {
|
|
validateCertificateExpire(dates) {
|
|
|
const error = this.checkCertificateExpire(dates, '注册证');
|
|
const error = this.checkCertificateExpire(dates, '注册证');
|
|
|
this.certificateExpireError = error ? error + '!' : '';
|
|
this.certificateExpireError = error ? error + '!' : '';
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ // 添加一个新的方法用于初始化处方药相关规则
|
|
|
|
|
+ initPrescriptionDrugRules() {
|
|
|
|
|
+ // 初始化处方药相关字段的校验规则
|
|
|
|
|
+ this.$set(this.rules, 'indications', [
|
|
|
|
|
+ { required: true, message: "功能主治不能为空", trigger: "blur" }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ this.$set(this.rules, 'ingredient', [
|
|
|
|
|
+ { required: true, message: "成分不能为空", trigger: "blur" },
|
|
|
|
|
+ {
|
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
|
+ if (this.ingredientError) {
|
|
|
|
|
+ callback(new Error(this.ingredientError));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ this.$set(this.rules, 'dosage', [
|
|
|
|
|
+ { required: true, message: "用法用量不能为空", trigger: "blur" }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ this.$set(this.rules, 'adverseReactions', [
|
|
|
|
|
+ { required: true, message: "不良反应不能为空", trigger: "blur" }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ this.$set(this.rules, 'contraindications', [
|
|
|
|
|
+ { required: true, message: "禁忌不能为空", trigger: "blur" }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ this.$set(this.rules, 'precautions', [
|
|
|
|
|
+ { required: true, message: "注意事项不能为空", trigger: "blur" }
|
|
|
|
|
+ ]);
|
|
|
|
|
+ },
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|