<!-- 选择模板 -->
|
|
|
|
<template>
|
|
<div>
|
|
<el-input v-model="selected.name" :placeholder="$t('form.placeholderSelect')" :disabled="disabled" @click.native="showSelectTemplate" />
|
|
<SelectTemplateDialog ref="selectTemplateDialog" @callback="handleChange" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import SelectTemplateDialog from './SelectTemplateDialog.vue'
|
|
export default {
|
|
name: "SelectTemplate",
|
|
components: {SelectTemplateDialog},
|
|
props: {
|
|
value: {
|
|
type: [Number, String , Array],
|
|
default: ''
|
|
},
|
|
name: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
disabled: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
needPre: {
|
|
type: Number,
|
|
default: 0
|
|
},
|
|
studyType: {
|
|
type: Number,
|
|
default: null
|
|
},
|
|
studyFormType: {
|
|
type: Number,
|
|
default: null
|
|
},
|
|
},
|
|
watch: {
|
|
value: {
|
|
immediate: true,
|
|
handler(v) {
|
|
this.selected.id = v ?((v+'').indexOf('u_')>-1? v:('u_'+v)):''
|
|
}
|
|
},
|
|
name: {
|
|
immediate: true,
|
|
handler(v) {
|
|
this.selected.name=v || ''
|
|
}
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
selected:{
|
|
id:'',
|
|
name:''
|
|
},
|
|
};
|
|
},
|
|
mounted() {
|
|
},
|
|
methods: {
|
|
showSelectTemplate(){
|
|
if(!this.disabled){
|
|
this.$refs.selectTemplateDialog.show({needPre:this.needPre,studyType:this.studyType,studyFormType:this.studyFormType})
|
|
}
|
|
},
|
|
handleChange(obj) {
|
|
this.selected.name=obj.name
|
|
this.selected.id=obj.id
|
|
this.$emit('change', obj)
|
|
this.$emit('input', obj.id)
|
|
},
|
|
}
|
|
};
|
|
</script>
|