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