| | |
| | | <!-- 全屏编辑--> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button> |
| | | <!-- 验证规则--> |
| | | <el-button icon="el-icon-info" size="small" @click="rulesVisibleHandle">验证规则</el-button> |
| | | <el-button icon="el-icon-info" size="small" @click="rulesVisible=true">验证规则</el-button> |
| | | <!-- 属性分组--> |
| | | <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button> |
| | | </el-button-group> |
| | |
| | | ></formula-editor> |
| | | <!-- 新增 --> |
| | | <el-dialog :visible.sync="addVisible" append-to-body title="从业务类型中选择属性"> |
| | | <avue-crud :data="businessData" :option="businessOption" @selection-change="businessSelect"> |
| | | <avue-crud ref="AddOriginPlace" :data="businessData" :option="businessOption" @selection-change="businessSelect"> |
| | | <template slot="menuLeft"> |
| | | <div style="display: flex;"> |
| | | <el-select> |
| | | <el-option>属性英文名称</el-option> |
| | | <el-option>属性中文名称</el-option> |
| | | <el-select v-model="SelectValue" placeholder="请选择" style="width: 150px !important;"> |
| | | <el-option |
| | | v-for="item in SelectOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | style="width: 150px"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input style="width: 300px;margin-left: 20px"></el-input> |
| | | <el-button size="small" style="margin-left: 10px">查询</el-button> |
| | | <el-input style="width: 400px;margin-left: 20px" v-model="SelectFInd"></el-input> |
| | | <el-button size="small" style="margin-left: 10px" @click="AddFindHandler">查询</el-button> |
| | | </div> |
| | | |
| | | </template> |
| | | </avue-crud> |
| | | <div style="display: flex;justify-content: flex-end;margin-top: 15px"> |
| | | <el-button size="small" type="primary" @click="busineAddHandle">确认选择</el-button> |
| | | <el-button size="small" type="primary" @click="busineAddHandle">保存</el-button> |
| | | <el-button size="small" type="primary" @click="addVisible=false">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | :sortable="item.sortable" |
| | | :fixed="item.fixed" |
| | | align="center" |
| | | v-if="item.edit !='referName'" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" v-model="row[item.prop]" |
| | |
| | | <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @focus="DataChangeHandler(item.editConfig,index)"> |
| | | <el-option |
| | | v-for="optionItem in item.data" |
| | | :key="optionItem.dictValue" |
| | | :label="optionItem.dictValue" |
| | | :value="optionItem.dictValue"> |
| | | :key="optionItem.key" |
| | | :label="optionItem.value" |
| | | :value="optionItem.key"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-switch |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | screenWidth: document.documentElement.clientWidth, // 屏幕宽度 |
| | | //当前单元格 |
| | | CurrentCell:'', |
| | | // 新增 |
| | | SelectValue:"", |
| | | SelectFInd:"", |
| | | SelectOption:[ |
| | | { |
| | | value: 'name', |
| | | label: '属性中文名称' |
| | | }, |
| | | { |
| | | value: 'id', |
| | | label: '属性英文名称' |
| | | } |
| | | ], |
| | | //参照 |
| | | referVisible:false, |
| | | crudArrayFlag:false, |
| | |
| | | }, |
| | | { |
| | | label: "分类注入", |
| | | prop: "classifyInvokeLevel", |
| | | prop: "classifyInvokeLevelName", |
| | | cell: false, |
| | | edit: 'refer' |
| | | }, |
| | | { |
| | | label: "分类注入", |
| | | prop: "classifyInvokeLevel", |
| | | cell: false, |
| | | edit: 'referName', |
| | | }, |
| | | { |
| | | label: "枚举注入", |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | window.addEventListener( |
| | | 'resize', |
| | | () => { |
| | | if(Math.abs(this.screenWidth - document.body.clientWidth) > 20) { |
| | | this.$nextTick(() => { |
| | | this.$refs.AddOriginPlace.refreshTable(); |
| | | }) |
| | | } |
| | | this.screenWidth = document.body.clientWidth; |
| | | } |
| | | ) |
| | | }, |
| | | created() { |
| | | |
| | |
| | | formAttr(row, column) { |
| | | console.log(row,column) |
| | | }, |
| | | //新增搜索 |
| | | AddFindHandler(){ |
| | | if(this.SelectValue == 'id'){ |
| | | const masterParameter={ |
| | | 'conditionMap[id]':this.SelectFInd |
| | | } |
| | | this.BuineAttrByBtm(masterParameter); |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | }else if(this.SelectValue == 'name'){ |
| | | const masterParameter={ |
| | | 'conditionMap[name]':this.SelectFInd |
| | | } |
| | | this.BuineAttrByBtm(masterParameter) |
| | | this.SelectValue="" |
| | | this.SelectFInd="" |
| | | } |
| | | }, |
| | | //参照配置子组件 |
| | | echoReferConfig(val){ |
| | | console.log(val) |
| | | console.log('val--',val) |
| | | this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) |
| | | |
| | | }, |
| | | //时间下拉格式 |
| | | DataChangeHandler(editConfig,index){ |
| | | if(!this.option.column[index].data){ |
| | | listByFlag(editConfig.extraParams).then(res=>{ |
| | | this.option.column[index].data=res.data; |
| | | }) |
| | | } |
| | | listByFlag(editConfig.extraParams).then(res=>{ |
| | | console.log(res); |
| | | this.option.column[index].data=res; |
| | | }) |
| | | }, |
| | | //属性分组按钮 |
| | | attrVisibleHandle() { |
| | | if(this.attrSelectList.length==0){ |
| | | this.$message.warning('请选择属性'); |
| | | return false; |
| | | if (this.attrSelectList < 1) { |
| | | this.$message.warning('请选择一条模板属性') |
| | | } else { |
| | | this.attrVisible = true; |
| | | console.log(this.attrSelectList) |
| | | } |
| | | this.attrVisible = true; |
| | | }, |
| | | //属性分组提交 |
| | | attrHandle() { |
| | | this.attrSelectList.forEach((item)=>{ |
| | | this.$set(item, 'attributeGroup', this.attrModel) |
| | | }) |
| | | this.attrModel = "" |
| | | this.attrVisible = false |
| | | this.$set(this.attrRow, 'attributeGroup', this.attrModel) |
| | | this.attrModel = ""; |
| | | this.attrVisible = false; |
| | | }, |
| | | //属性分组清空 |
| | | attrRemove() { |
| | |
| | | this.addVisible = true; |
| | | this.busineSelectList = [] |
| | | this.busineAddList = []; |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => { |
| | | this.BuineAttrByBtm() |
| | | }, |
| | | //业务类型数据 |
| | | BuineAttrByBtm(masterParameter){ |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid,...masterParameter}).then(res => { |
| | | this.businessData = res.data.data; |
| | | }) |
| | | }, |
| | |
| | | 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, |
| | | 'conditionMap[oid_notequal]': this.attrOid |
| | | }).then(res => { |
| | | console.log(res) |
| | | this.CascadeData = res.data.data; |
| | | }) |
| | | } |
| | |
| | | console.log(row) |
| | | }, |
| | | //表格选择 |
| | | selectionChange(list) { |
| | | selectionChange(list,) { |
| | | this.attrSelectList = list; |
| | | console.log(list) |
| | | }, |
| | | //保存 |
| | | addsHandler() { |
| | |
| | | this.editShows = column.property; |
| | | this.rowOid = row.oid; |
| | | console.log(row,column) |
| | | this.CurrentCell=row; |
| | | if(column.property == 'referConfig' ){ |
| | | this.$refs.referConfigFormDialog.isShowReferConfigForm = true; |
| | | this.$refs.referConfigFormDialog.onloadAttrData(); |
| | | }else if(column.property == 'classifyInvokeLevelName'){ |
| | | this.injectVisible=true; |
| | | }else if(column.property == 'componentRule'){ |
| | | this.isShowformulaEdit = true; |
| | | }else if(column.property == 'enumString'){ |
| | | this.enumVisible=true; |
| | | }else if(column.property == 'parentCode'){ |
| | | this.CascadeVisible=true; |
| | | } |
| | | }, |
| | | saveRows() { |
| | |
| | | if (this.enumRow.length < 1) { |
| | | this.$message.warning('请至少选择一条数据') |
| | | } else { |
| | | this.$set(this.attrRow, 'enumString', this.enumRow); |
| | | this.enumVisible = false; |
| | | if(this.CurrentCell){ |
| | | this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.enumRow)); |
| | | this.enumVisible = false; |
| | | }else { |
| | | this.$set(this.attrRow, 'enumString', JSON.stringify(this.enumRow)); |
| | | this.enumVisible = false; |
| | | } |
| | | } |
| | | }, |
| | | // 将正在编辑的行的状态变为 null ,即退出编辑状态 |
| | | // 将正在编辑的行的状态变为 null,即退出编辑状态 |
| | | saveRow() { |
| | | this.editingRow = null; |
| | | }, |
| | | rulesVisibleHandle(){ |
| | | if(this.attrSelectList.length==0){ |
| | | this.$message.warning('请选择属性'); |
| | | return false; |
| | | } |
| | | this.rulesVisible = true; |
| | | }, |
| | | //规则校验,双击表单事件 |
| | | handleRulesRowDBLClick(row) { |
| | |
| | | }, |
| | | // 验证规则确定 |
| | | rulesHandle() { |
| | | this.attrSelectList.forEach((item)=>{ |
| | | this.$set(item, 'verifyRule', this.RulesForm.expressionText) |
| | | }) |
| | | this.rulesVisible = false |
| | | }, |
| | | //验证规则检查 |
| | |
| | | "层级设置": this.injectOption.injectNum, |
| | | "是否可修改": this.injectOption.change |
| | | } |
| | | console.log(this.injectOption) |
| | | this.$set(this.attrRow, 'classifyInvokeLevel', data); |
| | | if(this.CurrentCell){ |
| | | this.$set(this.CurrentCell, "classifyInvokeLevelName", data); |
| | | this.$set(this.CurrentCell, "classifyInvokeLevel", JSON.stringify(this.injectOption)); |
| | | }else { |
| | | this.$set(this.attrRow, 'classifyInvokeLevelName', data); |
| | | this.$set(this.attrRow, 'classifyInvokeLevel', JSON.stringify(this.injectOption)); |
| | | } |
| | | this.injectVisible = false |
| | | }, |
| | | //分类注入清空 |
| | |
| | | } else if (this.attrSelectList.length < 1) { |
| | | this.$message.warning('请选择一条模板属性数据') |
| | | } else if (this.attrSelectList.length === 1) { |
| | | this.isShowformulaEdit = true; |
| | | this.isShowformulaEdit=true |
| | | } |
| | | }, |
| | | //全屏编辑 |
| | |
| | | this.attrFlagChiledren = false; |
| | | this.attrEditVisible = false; |
| | | }, |
| | | //组合规则确定 |
| | | updataFormlaContent(val) { |
| | | this.$set(this.attrRow, 'componentRule', val) |
| | | if(this.CurrentCell){ |
| | | this.$set(this.CurrentCell, 'componentRule', JSON.stringify(val)) |
| | | }else { |
| | | this.$set(this.attrRow, 'componentRule', JSON.stringify(val)) |
| | | } |
| | | |
| | | }, |
| | | // 排序 |
| | | sortChange(val) { |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | <style scoped lang="scss" > |
| | | /deep/ .el-button { |
| | | margin: 0 10px 10px 0; |
| | | } |