| | |
| | | <template> |
| | | <div> |
| | | <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app"> |
| | | |
| | | <el-button-group> |
| | | <!--新增--> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag && (!checkStatus || crudLCStatus=='Editing' )" size="small" type="primary" icon="el-icon-plus" plain @click="busineHandle">添加 {{ msg }}</el-button> |
| | |
| | | </el-button-group> |
| | | <el-button-group> |
| | | <!-- 保存--> |
| | | <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" type="success" plain @click="addsHandler" icon="el-icon-check">保存</el-button> |
| | | <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" type="success" plain @click.prevent="addsHandler" icon="el-icon-check">保存</el-button> |
| | | <!-- 预览排序--> |
| | | <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button> |
| | | <!-- 删除--> |
| | |
| | | <el-dialog :visible.sync="enumVisible" append-to-body title="枚举注入" :before-close="this.enumBeforeClose"> |
| | | <!-- 渲染表格及按钮 --> |
| | | <!-- 渲染表格及按钮 --> |
| | | <el-alert |
| | | title="请新增后点击单元格输入枚举数据" |
| | | type="success" |
| | | style="margin-bottom: 10px;display: inline-block" |
| | | :closable="false"> |
| | | </el-alert> |
| | | <div> |
| | | <el-button icon="el-icon-plus" type="primary" @click="addRow">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 属性分组--> |
| | | <el-dialog :visible.sync="attrVisible" append-to-body style="width: 800px; left:30vw;top: 10vh ;" |
| | | <el-dialog :visible.sync="attrVisible" append-to-body :before-close="attrClose" style="width: 800px; left:30vw;top: 10vh ;" |
| | | title="输入分组的名称"> |
| | | <el-form ref="form" label-width="70px"> |
| | | <el-form-item label="属性分组"> |
| | | <el-input v-model="attrModel"></el-input> |
| | | <el-input v-model="attrModel" autofocus></el-input> |
| | | </el-form-item> |
| | | <div style="display: flex;justify-content: flex-end"> |
| | | <el-button size="small" type="primary" @click="attrHandle">提交</el-button> |
| | |
| | | </el-dialog> |
| | | <!-- 全屏编辑--> |
| | | <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true" :before-close="escEdit" > |
| | | <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> |
| | | <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" @editCloseChildren="editClose" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> |
| | | </el-dialog> |
| | | <!-- 组合规则--> |
| | | <formula-editor :systemVariableTableData="systemVariableTableData" |
| | |
| | | }else { |
| | | this.$set(this.attrSelectList[0], 'attributeGroup', this.attrModel) |
| | | } |
| | | this.attrModel = ""; |
| | | this.attrVisible = false; |
| | | this.attrClose() |
| | | }, |
| | | //属性分组清空 |
| | | attrRemove() { |
| | | this.attrModel = "" |
| | | }, |
| | | attrClose(){ |
| | | this.attrModel = ""; |
| | | this.attrVisible=false |
| | | }, |
| | | //表格数据 |
| | | CrudRend() { |
| | |
| | | this.attrRow = row; |
| | | }, |
| | | //保存 |
| | | addsHandler() { |
| | | addsHandler(event) { |
| | | batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => { |
| | | this.$message.success('保存成功') |
| | | this.editOpenFlag=false |
| | | this.editOpenFlag=false; |
| | | // 调用父组件修改按钮状态 |
| | | this.$emit('editCloseChildren') |
| | | }).catch(()=>{ |
| | | this.$message.warning('保存失败,请查看控制台输出!') |
| | | }) |
| | | }, |
| | | |
| | | //表格行编辑 |
| | | handleCellClicks(row, column) { |
| | | if(this.editOpenFlag){ |
| | |
| | | // this.$refs.referConfigFormDialog.onloadAttrData(); |
| | | }else if(column.property == 'classifyInvokeText'){ |
| | | this.injectVisible=true; |
| | | this.injectOption.classifyInvokeAttr=this.CurrentCell.classifyInvokeAttr; |
| | | this.injectOption.classifyInvokeAttrName=this.CurrentCell.classifyInvokeAttrName; |
| | | this.injectOption.classifyInvokeEditFlag=this.CurrentCell.classifyInvokeEditFlag; |
| | | if(this.CurrentCell.classifyInvokeLevel == 'min'){ |
| | | this.injectOption.classifyInvokeLevel='min' |
| | | }else { |
| | | this.injectOption.classifyInvokeLevel='max' |
| | | this.injectOption.classifyNumber=this.CurrentCell.classifyInvokeLevel; |
| | | if (this.CurrentCell.classifyInvokeAttr != '') { |
| | | this.injectOption = { |
| | | classifyInvokeAttr: this.CurrentCell.classifyInvokeAttr, |
| | | classifyInvokeAttrName: this.CurrentCell.classifyInvokeAttrName, |
| | | classifyInvokeEditFlag: this.CurrentCell.classifyInvokeEditFlag, |
| | | classifyInvokeLevel: this.CurrentCell.classifyInvokeLevel == 'min' ? 'min' : 'max', |
| | | classifyNumber: this.CurrentCell.classifyInvokeLevel == 'min' ? '' : this.CurrentCell.classifyInvokeLevel |
| | | }; |
| | | } else { |
| | | this.injectHandleReset(); |
| | | } |
| | | }else if(column.property == 'componentRule'){ |
| | | if(this.CurrentCell){ |
| | |
| | | this.rulesVisible=true; |
| | | }else if(column.property == 'attributeGroup'){ |
| | | this.attrVisible = true; |
| | | if(this.CurrentCell.attributeGroup !== ''){ |
| | | this.attrModel=this.CurrentCell.attributeGroup |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | //枚举注入保存 |
| | | enumAddHandle() { |
| | | let hasError = false; // 添加一个变量 |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.key === '') { |
| | | this.$message.warning(`第${index + 1}行的选项值不能为空`); |
| | | hasError = true; |
| | | return; |
| | | } else if (item.value === '') { |
| | | this.$message.warning(`第${index + 1}行的选项中文标签不能为空`); |
| | | hasError = true; |
| | | return; |
| | | } |
| | | }); |
| | | // 保存执行逻辑 |
| | | if (!hasError) { |
| | | if (this.CurrentCell) { |
| | | this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.tableData)); |
| | | this.enumVisible = false; |
| | | } else { |
| | | this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.tableData)); |
| | | this.tableData=[]; |
| | | this.enumVisible = false; |
| | | } |
| | | } |
| | | if(this.tableData.length>=1){ |
| | | let hasError = false; // 添加一个变量 |
| | | this.tableData.forEach((item, index) => { |
| | | if (item.key === '') { |
| | | this.$message.warning(`第${index + 1}行的选项值不能为空`); |
| | | hasError = true; |
| | | return; |
| | | } else if (item.value === '') { |
| | | this.$message.warning(`第${index + 1}行的选项中文标签不能为空`); |
| | | hasError = true; |
| | | return; |
| | | } |
| | | }); |
| | | // 保存执行逻辑 |
| | | if (!hasError) { |
| | | if (this.CurrentCell) { |
| | | this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.tableData)); |
| | | this.enumVisible = false; |
| | | } else { |
| | | this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.tableData)); |
| | | this.tableData=[]; |
| | | this.enumVisible = false; |
| | | } |
| | | } |
| | | }else { |
| | | this.$message.warning('请添加枚举注入数据!') |
| | | } |
| | | }, |
| | | // 将正在编辑的行的状态变为 null,即退出编辑状态 |
| | | saveRow() { |
| | |
| | | }, |
| | | // 分类注入取消 |
| | | injectRemove() { |
| | | this.injectVisible = false |
| | | this.injectVisible = false; |
| | | this.injectHandleReset() |
| | | }, |
| | | //属性模板表格单元格点击事件 |
| | | //表格操作栏删除 |
| | |
| | | editOpen(){ |
| | | this.editOpenFlag=true; |
| | | }, |
| | | //定义一个关闭编辑的方法供子组件使用 |
| | | editClose(){ |
| | | this.editOpenFlag=false; |
| | | }, |
| | | //批量设置switch |
| | | batchSetFlag(value){ |
| | | this.attrSelectList.forEach(item=>{ |