123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- export default {
- name: 'JSelectBizQueryItem',
- props: {
- queryParam: Object,
- queryConfig: Array,
- },
- data() {
- return {}
- },
- methods: {
- renderQueryItem() {
- return this.queryConfig.map(queryItem => {
- const {key, label, placeholder, dictCode, props, customRender} = queryItem
- const options = {
- props: {},
- on: {
- pressEnter: () => this.$emit('pressEnter'),
- }
- }
- if (props != null) {
- Object.assign(options.props, props)
- }
- if (placeholder === undefined) {
- if (dictCode) {
- options.props['placeholder'] = `请选择${label}`
- } else {
- options.props['placeholder'] = `请输入${label}`
- }
- } else {
- options.props['placeholder'] = placeholder
- }
- let input
- if (typeof customRender === 'function') {
- input = customRender.call(this, {key, options, queryParam: this.queryParam})
- } else if (dictCode) {
- input = <j-dict-select-tag {...options} vModel={this.queryParam[key]} dictCode={dictCode} style="width:180px;"/>
- } else {
- input = <a-input {...options} vModel={this.queryParam[key]}/>
- }
- return <a-form-item key={key} label={label}>{input}</a-form-item>
- })
- },
- },
- render() {
- return <span>{this.renderQueryItem()}</span>
- },
- }
|