| | |
| | | :value="searchFormArrays[index].fieldValue" |
| | | :text="item.showField" |
| | | :display="!item.hidden" |
| | | @setReferValue="setReferValue"> |
| | | @setReferValue="val=>setReferValue(val,index)"> |
| | | </vci-web-refer> |
| | | </div> |
| | | </el-col> |
| | |
| | | }, |
| | | // 对话框内容渲染配置 |
| | | options(){ |
| | | // 将options配置赋值到data中的option中,避免深浅拷贝的问题所以需要转json之后再赋值 |
| | | const data = JSON.stringify(this.options); |
| | | this.initOptions = JSON.parse(data); |
| | | //console.log(this.initOptions); |
| | | if(this.initOptions.length > 0){ |
| | | this.initOptions.forEach((item,index) => { |
| | | if(item.fieldType==='combox') { |
| | | let enumCach = JSON.parse(localStorage.getItem(item.comboxKey)); |
| | | if(enumCach != null) { |
| | | item.data = enumCach; |
| | | }else { |
| | | getDictionary({code: item.comboxKey}).then(res=>{ |
| | | item.data = res.data.data; |
| | | localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data)); |
| | | }) |
| | | } |
| | | }else if(item.fieldType==='refer'){ |
| | | this.$set(item,"referConfigData",{ |
| | | title: item.title, |
| | | showField: item.showField || item.field, |
| | | field: item.field, |
| | | placeholder: item.inputTip || '', |
| | | options: Object.assign(item.referConfig,{width:'100%'}), |
| | | }) |
| | | //console.log(item.referConfigData.options); |
| | | //console.log(item); |
| | | } |
| | | // TODO: 这儿修改一下参照的查询条件 |
| | | let conditions = []; |
| | | if(item.fieldType==='text'){ |
| | | conditions = this.searchConditions; |
| | | }else if (item.fieldType==='combox'){ |
| | | conditions = this.dateConditions; |
| | | }else if (item.fieldType==='datetime') { |
| | | conditions = this.switchSearchConditions; |
| | | }else { |
| | | conditions = this.referSearchConditions; |
| | | } |
| | | // console.log(conditions); |
| | | this.$set(item,"conditions",conditions) |
| | | let add = { |
| | | queryField: String(item.queryField), |
| | | condition: item.fieldType==='text' ? String("_like"):String("_equal"), |
| | | fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''), |
| | | } |
| | | this.searchFormArrays.push(add) |
| | | }); |
| | | } |
| | | //console.log(this.initOptions); |
| | | //console.log(this.searchFormArrays); |
| | | this.initData(); |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | initData(){ |
| | | // 将options配置赋值到data中的option中,避免深浅拷贝的问题所以需要转json之后再赋值 |
| | | const data = JSON.stringify(this.options); |
| | | this.initOptions = JSON.parse(data); |
| | | //console.log(this.initOptions); |
| | | if(this.initOptions.length > 0){ |
| | | let array = []; |
| | | this.initOptions.forEach((item,index) => { |
| | | if(item.fieldType==='combox') { |
| | | let enumCach = JSON.parse(localStorage.getItem(item.comboxKey)); |
| | | if(enumCach != null) { |
| | | item.data = enumCach; |
| | | }else { |
| | | getDictionary({code: item.comboxKey}).then(res=>{ |
| | | item.data = res.data.data; |
| | | localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data)); |
| | | }) |
| | | } |
| | | }else if(item.fieldType==='refer'){ |
| | | this.$set(item,"referConfigData",{ |
| | | title: item.title, |
| | | showField: item.showField || item.field, |
| | | field: item.field, |
| | | placeholder: item.inputTip || '', |
| | | options: Object.assign(item.referConfig,{width:"80%"}), |
| | | }) |
| | | //console.log(item.referConfigData.options); |
| | | //console.log(item); |
| | | } |
| | | // TODO: 这儿修改一下参照的查询条件 |
| | | let conditions = []; |
| | | if(item.fieldType==='text'){ |
| | | conditions = this.searchConditions; |
| | | }else if (item.fieldType==='combox'){ |
| | | conditions = this.dateConditions; |
| | | }else if (item.fieldType==='datetime') { |
| | | conditions = this.switchSearchConditions; |
| | | }else { |
| | | conditions = this.referSearchConditions; |
| | | } |
| | | // console.log(conditions); |
| | | this.$set(item,"conditions",conditions) |
| | | |
| | | let add = { |
| | | queryField: String(item.queryField), |
| | | condition: item.fieldType==='text' ? String("_like"):String("_equal"), |
| | | fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''), |
| | | } |
| | | array.push(add) |
| | | }); |
| | | this.searchFormArrays = array; |
| | | } |
| | | //console.log(this.initOptions); |
| | | //console.log(this.searchFormArrays); |
| | | }, |
| | | |
| | | /** 为参照类型时值选择之后的处理 */ |
| | | setReferValue(data){ |
| | | // if(data.field) { |
| | | |
| | | // } |
| | | console.log(data); |
| | | setReferValue(data,index){ |
| | | // console.log(index); |
| | | if(data.field) { |
| | | this.searchFormArrays[index][data.fieldValue] = data.value || ''; |
| | | this.initOptions[index][data.showField] = data.text || ''; |
| | | } |
| | | // console.log(this.initOptions[index][data.showField]); |
| | | // console.log(data); |
| | | }, |
| | | |
| | | // 属性切换时查询条件和查询值也需要对输入框进行切换 |
| | |
| | | }, |
| | | // 重置当前界面的输入框 |
| | | resetInput(){ |
| | | const data = JSON.stringify(this.options); |
| | | this.initOptions = JSON.parse(data); |
| | | if(this.initOptions.length > 0){ |
| | | let array = []; |
| | | this.initOptions.forEach((item,index) => { |
| | | let add = { |
| | | queryField: String(item.queryField), |
| | | condition:item.fieldType=='text' ? String("_like"):String("_equal"), |
| | | fieldValue: item.fieldType=='truefalse' ? Boolean(false):String(''), |
| | | } |
| | | array.push(add) |
| | | }); |
| | | this.searchFormArrays = array; |
| | | } |
| | | //console.log(this.initOptions); |
| | | //console.log(this.searchFormArrays); |
| | | this.initData(); |
| | | }, |
| | | // 恢复页面 |
| | | recoverPage(){ |
| | |
| | | .grid-content > .el-date-editor.el-input, .el-date-editor.el-input__inner{ |
| | | width: 100%; |
| | | } |
| | | |
| | | |
| | | </style> |