|
@@ -135,6 +135,7 @@
|
|
|
:hide-required-asterisk="true"
|
|
|
:model="basicData.value"
|
|
|
ref="basicMessageRef"
|
|
|
+ :rules="rules"
|
|
|
>
|
|
|
|
|
|
<el-row :gutter="10">
|
|
@@ -143,9 +144,7 @@
|
|
|
<!-- :disabled="!(headerParam.isEdit && f.edit)" -->
|
|
|
|
|
|
<!-- 多选框 -->
|
|
|
- <el-form-item v-if="f.attribute == 'checkbox'" style="text-align: left;" :prop="f.prop"
|
|
|
- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]">
|
|
|
- <!-- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]" -->
|
|
|
+ <el-form-item v-if="f.attribute == 'checkbox'" style="text-align: left;" :prop="f.prop">
|
|
|
|
|
|
<el-checkbox
|
|
|
:label="f.name" name="type"
|
|
@@ -160,11 +159,9 @@
|
|
|
|
|
|
<!-- 下拉框 -->
|
|
|
<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' }]">
|
|
|
- <!-- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]" -->
|
|
|
-
|
|
|
+ :id="(updateButtonGroup && f.apiUrl) ? 'selected' : ''"
|
|
|
+ :prop="f.apiUrl ? `${f.prop}Name` : f.prop"
|
|
|
+ >
|
|
|
<template slot="label">
|
|
|
<el-tooltip class="item" effect="dark" placement="top-start" :disabled="f.name.length < 10">
|
|
|
<span>{{ f.name }}</span>
|
|
@@ -176,19 +173,20 @@
|
|
|
|
|
|
<!-- 参照 -->
|
|
|
<el-select v-if="f.apiUrl" v-model="basicData.value[`${f.prop}Name`]" placeholder="请选择"
|
|
|
- size="mini"
|
|
|
- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]"
|
|
|
- :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
|
|
|
- @focus="f.apiUrl && handleQueryMore(f, '', { name: 'basicData', prop: f.prop })">
|
|
|
+ size="mini"
|
|
|
+ :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]"
|
|
|
+ :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
|
|
|
+ @focus="f.apiUrl && handleQueryMore(f, '', { name: 'basicData', prop: f.prop })">
|
|
|
<div slot="empty"></div>
|
|
|
</el-select>
|
|
|
|
|
|
<!-- 字典 -->
|
|
|
<el-select v-if="f.dictId" v-model="basicData.value[f.prop]" placeholder="请选择" size="mini"
|
|
|
- :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
|
|
|
- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]">
|
|
|
- <el-option v-if="f.dictId" v-for="d in f.dictValue" :key="d.dictValue" :label="d.dictLabel"
|
|
|
- :value="d.dictValue">
|
|
|
+ :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
|
|
|
+ :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]">
|
|
|
+ <el-option v-if="f.dictId"
|
|
|
+ v-for="d in f.dictValue" :key="d.dictValue" :label="d.dictLabel"
|
|
|
+ :value="d.dictValue">
|
|
|
</el-option>
|
|
|
|
|
|
</el-select>
|
|
@@ -203,10 +201,7 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<!--attribute 文本 数字 文本域 为null -->
|
|
|
- <el-form-item v-else :prop="f.prop"
|
|
|
- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]">
|
|
|
- <!-- :rules="[{ required: f.required, message: `请输入${f.name}`, trigger: 'blur' }]" -->
|
|
|
-
|
|
|
+ <el-form-item v-else :prop="f.prop">
|
|
|
<template slot="label">
|
|
|
<el-tooltip class="item" effect="dark" placement="top-start" :disabled="f.name.length < 10">
|
|
|
<span>{{ f.name }}</span>
|
|
@@ -217,9 +212,7 @@
|
|
|
</template>
|
|
|
|
|
|
<el-input size="mini" v-model="basicData.value[f.prop]" :type="f.attribute || 'text'"
|
|
|
- :readonly="handleJudge(f)"
|
|
|
- :rules="[{ required: f.required, message: `请选择${f.name}`, trigger: 'change' }]"
|
|
|
- >
|
|
|
+ :readonly="handleJudge(f)">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
|
|
@@ -633,6 +626,7 @@
|
|
|
import materialApi from '@/api/material/basic';
|
|
|
import {getDicts as getDicts} from '@/api/system/dict/data'
|
|
|
import arrayUtils from '../tools/arrayUtils';
|
|
|
+ import { initRules} from './init/index'
|
|
|
|
|
|
export default {
|
|
|
name: 'material-details',
|
|
@@ -645,6 +639,7 @@
|
|
|
count: 1,
|
|
|
refer: 1,
|
|
|
loading: false,
|
|
|
+ rules:{},
|
|
|
// 维护新版本
|
|
|
maintainNewVersion: false,
|
|
|
// 详情固定标签页
|
|
@@ -2086,6 +2081,7 @@
|
|
|
// 基本信息
|
|
|
await this.getTagList('material', (form) => {
|
|
|
this.basicData.form = form;
|
|
|
+ this.rules = initRules(this.basicData.form);
|
|
|
this.getMaterialDetails(this.materialId, 'material');
|
|
|
})
|
|
|
// 医疗行业
|