|
@@ -6,13 +6,13 @@
|
|
|
>
|
|
|
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
|
|
|
<el-form-item label="数据库表" prop="table">
|
|
|
- <el-select v-model="ruleForm.table" filterable placeholder="请选择" style="width: 100%;" @change="handleTableChange">
|
|
|
+ <el-select v-model="ruleForm.table" filterable placeholder="请选择" style="width: 100%;" :disabled="data.row.id" @change="handleTableChange">
|
|
|
<el-option v-for="item of table" :key="item.id" :label="item.field_name" :value="item.field" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="ruleForm.table" label="表字段" prop="table_field">
|
|
|
<el-select v-model="ruleForm.table_field" filterable placeholder="请选择" style="width: 100%;">
|
|
|
- <el-option v-for="item of table_field" :key="item.id" :label="item.field_name" :value="item.id" />
|
|
|
+ <el-option v-for="item of table_field" :key="item.id" :label="item.field_name" :value="item.field" :disabled="data.row.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="名称" prop="field_name">
|
|
@@ -90,25 +90,42 @@ export default {
|
|
|
return this.data.row.id ? '编辑' : '新增'
|
|
|
}
|
|
|
},
|
|
|
- created() {
|
|
|
- this.getData(0, null, this.table)
|
|
|
+ async created() {
|
|
|
+ await this.getData(0, null)
|
|
|
+ if (this.data.row.id) {
|
|
|
+ await this.getData2(this.data.row.field, null)
|
|
|
+ this.ruleForm = JSON.parse(JSON.stringify(this.data.row))
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
- getData(filed, field_name, valueCode) {
|
|
|
+ getData(field, field_name) {
|
|
|
+ const params = {}
|
|
|
+ if (field || field === 0) {
|
|
|
+ params.field = field
|
|
|
+ }
|
|
|
+ if (field_name) {
|
|
|
+ params.field_name = field_name
|
|
|
+ }
|
|
|
+ get_field_detail(params).then(res => {
|
|
|
+ const { p } = res
|
|
|
+ this.table = p
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getData2(field, field_name) {
|
|
|
const params = {}
|
|
|
- if (filed) {
|
|
|
- params.filed = filed
|
|
|
+ if (field || field === 0) {
|
|
|
+ params.field = field
|
|
|
}
|
|
|
if (field_name) {
|
|
|
params.field_name = field_name
|
|
|
}
|
|
|
get_field_detail(params).then(res => {
|
|
|
const { p } = res
|
|
|
- valueCode = p.list
|
|
|
+ this.table_field = p
|
|
|
})
|
|
|
},
|
|
|
handleTableChange(val) {
|
|
|
- this.getData(val, null, this.table_field)
|
|
|
+ this.getData2(val, null)
|
|
|
},
|
|
|
submitForm(formName) {
|
|
|
this.$refs[formName].validate(async(valid) => {
|