| | |
| | | // 默认禁用元素 |
| | | disabledProp: { |
| | | type: Array, |
| | | default: () => ["id","lcstatus"], |
| | | default: () => ["id", "lcstatus"], |
| | | }, |
| | | templateOid: { |
| | | type: String, |
| | |
| | | type: Object, |
| | | default: () => ({}), |
| | | }, |
| | | // 一行放几个表单 |
| | | trendsSpan: { |
| | | type: Number, |
| | | default: 8, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | date: "date", |
| | | refer: "refer", |
| | | }, |
| | | // 假数据 |
| | | testItems: [], |
| | | trendsSpan: 8, |
| | | defaultValue: {}, |
| | | // 表单属性 |
| | | attributes: [], |
| | |
| | | mounted() { |
| | | this.handleResize(); |
| | | }, |
| | | computed: { |
| | | localTrendsSpan() { |
| | | if (this.trendsSpan) { |
| | | return this.trendsSpan; |
| | | } else { |
| | | let windowWidth = document.body.clientWidth; |
| | | return 24 / Math.floor(windowWidth / 500); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | // 渲染表单模板 |
| | | templateRender(formItemList) { |
| | | console.log(formItemList, "formItemList"); |
| | | // 无需分组数据 |
| | | let column = []; |
| | | let group = []; |
| | |
| | | if ( |
| | | formItem.type === "combox" && |
| | | formItem.comboxKey && |
| | | (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0) &&(!Array.isArray(formItem.data) || formItem.data.length === 0) |
| | | (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0) && |
| | | (!Array.isArray(formItem.data) || formItem.data.length === 0) |
| | | ) { |
| | | dictKeys.push({ dictKey: formItem.comboxKey, field: formItem.field }); |
| | | } |
| | |
| | | if (this.disabledProp.includes(formItem.field)) { |
| | | formItem.readOnly = true; |
| | | } |
| | | if(formItem.field=='lcstatus'){ |
| | | formItem.field=formItem.field+'_text'; |
| | | formItem.readOnly=true; |
| | | if (formItem.field == "lcstatus") { |
| | | formItem.field = formItem.field + "_text"; |
| | | formItem.readOnly = true; |
| | | } |
| | | // 设置表单校验的规则,文本 |
| | | let message = "请选择"; |
| | |
| | | options: formItem.referConfig, |
| | | } |
| | | : {}, |
| | | span: formItem.span ? formItem.span : formItem.type === "textarea" ? 24 : this.trendsSpan, |
| | | span: formItem.span |
| | | ? formItem.span |
| | | : formItem.type === "textarea" |
| | | ? 24 |
| | | : this.localTrendsSpan, |
| | | rules: [ |
| | | { |
| | | required: formItem.required, |
| | |
| | | } |
| | | }); |
| | | this.slotColumnList = slotColumnList; |
| | | console.log(column, "column"); |
| | | this.$set(this.option, "column", column); |
| | | this.$set(this.option, "group", group); |
| | | this.updateIndex++; |
| | |
| | | }, |
| | | // 根据屏幕动态配置表单布局 |
| | | handleResize() { |
| | | let windowWidth = document.body.clientWidth; |
| | | this.trendsSpan = 24 / Math.floor(windowWidth / 500); |
| | | this.updateIndex++; |
| | | // let windowWidth = document.body.clientWidth; |
| | | // this.trendsSpan = 24 / Math.floor(windowWidth / 500); |
| | | // this.updateIndex++; |
| | | }, |
| | | // 前后缀 |
| | | preOrSufFixShow(type, val) { |