<template>
|
<div>
|
<el-col :md="12" :lg="8" v-if="inputType === 'input'">
|
<el-form-item :label="config.filedDescription" :prop="config.name" :rules="rules">
|
<el-input v-model="svalue" :readonly="config.readonly"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8" v-if="inputType === 'select'">
|
<el-form-item :label="config.filedDescription" :prop="config.name" :rules="rules">
|
<el-select v-model="svalue" filterable placeholder="请选择" :disabled="config.readonly">
|
<el-option v-for="(item, index) in options" :key="index" :label="item.valueDesc" :value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8" v-if="inputType === 'date'">
|
<el-form-item :label="config.filedDescription" :prop="config.name" :rules="rules">
|
<el-date-picker
|
v-model="svalue"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
placeholder="选择日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</div>
|
</template>
|
|
<script>
|
import { projectQrycondition } from '@/api/area'
|
export default {
|
props: ['config', 'value'],
|
data: function() {
|
return {
|
options: []
|
}
|
},
|
computed: {
|
svalue: {
|
get() {
|
return this.value
|
},
|
set(newVal) {
|
this.$emit('input', newVal)
|
}
|
},
|
inputType() {
|
return this.config.type
|
},
|
rules() {
|
return { required: this.config.required, message: '请输入' + this.config.filedDescription, trigger: 'blur' }
|
}
|
},
|
watch: {
|
'config.codeNo': {
|
immediate: true,
|
handler(newVal) {
|
if (!this._.isEmpty(newVal)) {
|
let params = { conditionName: newVal }
|
projectQrycondition(params).then(res => {
|
this.options = res.result
|
})
|
}
|
}
|
},
|
}
|
}
|
</script>
|
|
<style scoped></style>
|