|
@@ -160,11 +160,13 @@
|
|
|
<el-form-item v-else-if="f.attribute == 'select'"
|
|
|
:id="(updateButtonGroup && f.apiUrl) ? 'selected' : ''"
|
|
|
:prop="f.apiUrl ? `${f.prop}Name` : f.prop"
|
|
|
+ :rules="[{ required: f.required ,message: `请选择${f.name}`, trigger: 'change' }]"
|
|
|
>
|
|
|
<template slot="label">
|
|
|
<el-tooltip class="item" effect="dark" placement="top-start" :disabled="f.name.length < 10">
|
|
|
|
|
|
- <span :class="(f.apiUrl && f.required) ? 'redSpan': ''">{{ f.name }}</span>
|
|
|
+ <!-- <span :class="(f.apiUrl && f.required) ? 'redSpan': ''">{{ f.name }}</span> -->
|
|
|
+ <span>{{ f.name }}</span>
|
|
|
|
|
|
<div slot="content">
|
|
|
<p> {{ f.name }}</p>
|
|
@@ -257,8 +259,13 @@
|
|
|
|
|
|
<template #tabContent>
|
|
|
|
|
|
- <el-form v-if="activeViceTab == 'material_medcine'" :inline="true" label-position="right"
|
|
|
- :hide-required-asterisk="true" :model="medcineData.value" class="md-vice-content">
|
|
|
+ <el-form v-if="activeViceTab == 'material_medcine'"
|
|
|
+ :inline="true"
|
|
|
+ label-position="right"
|
|
|
+ :model="medcineData.value"
|
|
|
+ class="md-vice-content"
|
|
|
+ :rules="medcineRules"
|
|
|
+ >
|
|
|
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
|
|
@@ -267,32 +274,39 @@
|
|
|
<template v-if="m.show">
|
|
|
|
|
|
<!-- 多选框 -->
|
|
|
- <el-form-item v-if="m.attribute == 'checkbox'">
|
|
|
- <el-checkbox :label="m.name" name="type" v-model="medcineData.value[m.prop]" size="mini"
|
|
|
- :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
- true-label="0" false-label="2">
|
|
|
+ <el-form-item v-if="m.attribute == 'checkbox'" :prop="m.prop">
|
|
|
+ <el-checkbox
|
|
|
+ :label="m.name" name="type" v-model="medcineData.value[m.prop]" size="mini"
|
|
|
+ :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
+ true-label="0" false-label="2">
|
|
|
</el-checkbox>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 下拉框 -->
|
|
|
- <el-form-item v-else-if="m.attribute == 'select'" :label="m.name">
|
|
|
+ <el-form-item v-else-if="m.attribute == 'select'"
|
|
|
+ :label="m.name"
|
|
|
+ :prop="m.apiUrl ?`${m.prop}Name`: m.prop"
|
|
|
+ :rules="[{ required: m.required ,message: `请选择${m.name}`, trigger: 'change' }]"
|
|
|
+ >
|
|
|
|
|
|
<!-- 参照弹窗 -->
|
|
|
- <el-select v-if="m.apiUrl" v-model="medcineData.value[`${m.prop}Name`]" placeholder="请选择"
|
|
|
- :key="medcineData.value[m.prop]" size="mini"
|
|
|
- :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
- @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
|
-
|
|
|
- <!-- <el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue":label="d.dictLabel" :value="d.dictValue"></el-option> -->
|
|
|
-
|
|
|
+ <el-select v-if="m.apiUrl"
|
|
|
+ v-model="medcineData.value[`${m.prop}Name`]"
|
|
|
+ placeholder="请选择"
|
|
|
+ :key="medcineData.value[m.prop]" size="mini"
|
|
|
+ :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
+ @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
|
<div slot="empty"></div>
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 下拉选择 -->
|
|
|
- <el-select v-else v-model="medcineData.value[m.prop]" placeholder="请选择"
|
|
|
- :key="medcineData.value[m.prop]" size="mini"
|
|
|
- :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
- @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
|
+ <el-select v-if="m.dictId"
|
|
|
+ v-model="medcineData.value[m.prop]"
|
|
|
+ placeholder="请选择"
|
|
|
+ :key="medcineData.value[m.prop]"
|
|
|
+ size="mini"
|
|
|
+ :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
|
|
|
+ @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
|
|
|
|
|
|
<el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue"
|
|
|
:label="d.dictLabel" :value="d.dictValue">
|
|
@@ -309,8 +323,10 @@
|
|
|
|
|
|
<!-- 文本、数字、textarae -->
|
|
|
<el-form-item v-else :label="m.name">
|
|
|
- <el-input size="mini" v-model="medcineData.value[m.prop]" :type="m.attribute || 'text'"
|
|
|
- :readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
|
|
|
+ <el-input size="mini"
|
|
|
+ v-model="medcineData.value[m.prop]"
|
|
|
+ :type="m.attribute || 'text'"
|
|
|
+ :readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
@@ -648,6 +664,7 @@
|
|
|
refer: 1,
|
|
|
loading: false,
|
|
|
rules:{},
|
|
|
+ medcineRules:{},
|
|
|
// 维护新版本
|
|
|
maintainNewVersion: false,
|
|
|
// 详情固定标签页
|
|
@@ -2089,8 +2106,7 @@
|
|
|
// 基本信息
|
|
|
await this.getTagList('material', (form) => {
|
|
|
this.basicData.form = form;
|
|
|
- this.rules = initRules(this.basicData.form);
|
|
|
- console.log(this.rules,'this.rules--------------');
|
|
|
+ this.rules = initRules(form);
|
|
|
this.getMaterialDetails(this.materialId, 'material');
|
|
|
})
|
|
|
// 医疗行业
|
|
@@ -2099,6 +2115,7 @@
|
|
|
this.medcineData.value[item.prop] = ''
|
|
|
})
|
|
|
this.medcineData.form = form;
|
|
|
+ this.medcineRules = initRules(form);
|
|
|
this.getMedcineDetails(this.materialId, 'material_medcine');
|
|
|
})
|
|
|
|