| | |
| | | <template> |
| | | <avue-crud :data="ProData" :option="option" @sort-change="sortChange" @row-update="addUpdate" |
| | | @cell-click="handleRowClick" @select="selectHandle" @row-del="CrudRowDel"> |
| | | <template slot="menuLeft"> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" @click="busineHandle">+ 添加 {{msg}}</el-button> |
| | | <el-dialog :visible.sync="addVisible" append-to-body title="从业务类型中选择属性" > |
| | | <avue-crud :data="businessData" :option="businessOption" @select="businessSelect"> |
| | | <template slot="menuLeft"> |
| | | <div style="display: flex;"> |
| | | <el-select> |
| | | <el-option>属性英文名称</el-option> |
| | | <el-option>属性中文名称</el-option> |
| | | </el-select> |
| | | <el-input style="width: 300px;margin-left: 20px"></el-input> |
| | | <el-button size="small" style="margin-left: 10px">查询</el-button> |
| | | </div> |
| | | |
| | | <!-- <avue-crud :data="ProData" :option="option" @sort-change="sortChange" @row-update="addUpdate"--> |
| | | <!-- @cell-click="handleRowClick" @select="selectHandle" @row-del="CrudRowDel">--> |
| | | <div> |
| | | <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArray.length>=1"> |
| | | <!--新增--> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" |
| | | @click="busineHandle">+ 添加 {{ msg }} |
| | | </el-button> |
| | | <!-- 全屏编辑--> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle"> |
| | | 全屏编辑 |
| | | </el-button> |
| | | <!-- 组合规则--> |
| | | <el-button size="small" @click="isShowHandler">组合规则</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 icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button> |
| | | <!-- 枚举注入--> |
| | | <el-button size="small" @click="enmuVisHandle">枚举注入</el-button> |
| | | <!-- 级联属性--> |
| | | <el-button size="small" @click="CascadeHandle">级联属性</el-button> |
| | | <!-- 预览排序--> |
| | | <el-button size="small">预览排序</el-button> |
| | | <!-- 保存--> |
| | | <el-button size="small" @click="addsHandler">保存</el-button> |
| | | <!-- 删除--> |
| | | <el-button size="small" @click="CrudRemove">删除</el-button> |
| | | <!-- 重置--> |
| | | <el-button size="small" @click="reset">重置</el-button> |
| | | <!-- 同步到其他模板--> |
| | | <el-button size="small"@click="syncHandle">同步到其他模板</el-button> |
| | | <!-- 编码申请预览--> |
| | | <el-button size="small" @click="applicationHandle" style="">编码申请预览</el-button> |
| | | <!-- 验证规则--> |
| | | |
| | | </div> |
| | | <!-- 弹窗--> |
| | | <div> |
| | | <!-- 编码申请预览--> |
| | | <FormTemplateDialog |
| | | :codeClassifyOid="this.codeClassifyOid" |
| | | :templateOid="this.crudOid" |
| | | :type="add" |
| | | :visible.sync="addvisible" |
| | | > |
| | | </FormTemplateDialog> |
| | | <!-- 级联属性--> |
| | | <el-dialog :visible.sync="CascadeVisible" append-to-body title="请选择级联属性"> |
| | | <avue-crud ref="crud" :data="CascadeData" :option="CascadeOption" @row-click="CascaderowClick"> |
| | | <template slot="radio" |
| | | slot-scope="{row}"> |
| | | <el-radio v-model="selectRow" |
| | | :label="row.$index"> |
| | | </el-radio> |
| | | </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">取消</el-button> |
| | | <div style="display: flex ;padding-top: 18px;justify-content: right"> |
| | | <el-button size="small" type="primary" @click="CascadeAddHandle">确定</el-button> |
| | | <el-button size="small" style="margin-left: 10px" @click="casRemove">清除内容</el-button> |
| | | <el-button size="small" style="margin-left: 10px" @click="CascadeVisible=false">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 全屏编辑--> |
| | | <template slot="menuLeft"> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle">全屏编辑</el-button> |
| | | <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true"> |
| | | <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag"></attrCrud> |
| | | <!-- 枚举注入--> |
| | | <el-dialog :visible.sync="enumVisible" append-to-body title="枚举注入"> |
| | | <!-- 渲染表格及按钮 --> |
| | | <!-- 渲染表格及按钮 --> |
| | | <div> |
| | | <el-button icon="el-icon-plus" type="primary" @click="addRow">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" |
| | | @selection-change="handleSelectionChange"> |
| | | <!-- 渲染表格列及传参 --> |
| | | <el-table-column label="序号" type="index"></el-table-column> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column label="选项值" prop="key"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- 编辑和展示逻辑 --> |
| | | <el-input v-if="editingRow === row && editShow == 'key'" v-model="row.key" @blur="saveRow"></el-input> |
| | | <span v-else>{{ row.key }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="选项中文标签" prop="value"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- 编辑和展示逻辑 --> |
| | | <el-input v-if="editingRow === row && editShow == 'value'" v-model="row.value" |
| | | @blur="saveRow"></el-input> |
| | | <span v-else>{{ row.value }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="small" type="text" @click.native.prevent="enumDeleteRow(scope.$index, tableData)"> |
| | | 移除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <template> |
| | | <div style="display: flex;justify-content: right;margin-top: 15px"> |
| | | <el-button size="small" type="primary" @click="enumAddHandle">保存</el-button> |
| | | <el-button size="small" @click="enumVisible=false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 组合规则--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="isShowHandler">组合规则</el-button> |
| | | <formula-editor :visible.sync="isShowformulaEdit" |
| | | :systemVariableTableData="systemVariableTableData" |
| | | :thisSceneTableData="thisSceneTableData" |
| | | @updateFormulaContent="updataFormlaContent" |
| | | ></formula-editor> |
| | | |
| | | </template> |
| | | <!-- 验证规则--> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-info" size="small" @click="rulesVisible=true">验证规则</el-button> |
| | | <!-- 分类注入--> |
| | | <el-dialog :visible.sync="injectVisible" append-to-body class="mydialog" |
| | | style="width: 1400px; left:14vw ;top: 10vh;" title="分类注入"> |
| | | <div class="injectBox"> |
| | | <div style="color: #FF5722;margin: 1px 0 5px 20px">分类层级关联说明:</div> |
| | | <div |
| | | style="color: #01aaed;margin: 0 10px 0 45px;line-height: 20px">1:主要是设置模板属性和分类的关系<br/>2:如分类层级设置为2 <br/>3:录入资源数据时,该属性对应的值根据层级关系去对应的分类里取 |
| | | <br/>4:层级必须是大于0的整数值 |
| | | </div> |
| | | <div style="padding-top: 15px;padding-left: 35px"> |
| | | <el-form ref="injectForm" label-width="80px"> |
| | | <el-form-item label="注入类型"> |
| | | <el-radio-group v-model="injectOption.type"> |
| | | <el-radio label="分类名称"></el-radio> |
| | | <el-radio label="分类代号"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="层级设置"> |
| | | <el-radio-group v-model="injectOption.set"> |
| | | <el-radio label="最小层"></el-radio> |
| | | <el-radio label="指定层"></el-radio> |
| | | <el-input-number v-if="this.injectOption.set == '指定层'" v-model="injectOption.injectNum" :max="10" :min="0" |
| | | controls-position="right"></el-input-number> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="可修改"> |
| | | <el-radio-group v-model="injectOption.change"> |
| | | <el-radio label="是"></el-radio> |
| | | <el-radio label="否"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;justify-content: flex-end"> |
| | | <el-button size="small" type="primary" @click="injectAddHandle">确定</el-button> |
| | | <el-button size="small" @click="injectHandleReset">清除内容</el-button> |
| | | <el-button size="small" @click="injectRemove">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 属性分组--> |
| | | <el-dialog :visible.sync="attrVisible" append-to-body 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-form-item> |
| | | <div style="display: flex;justify-content: flex-end"> |
| | | <el-button size="small" type="primary" @click="attrHandle">提交</el-button> |
| | | <el-button size="small" @click="attrRemove">清空</el-button> |
| | | </div> |
| | | </el-form> |
| | | </el-dialog> |
| | | <!-- 验证规则--> |
| | | <el-dialog :visible.sync="rulesVisible" append-to-body title="属性验证规则"> |
| | | <el-container style="border: 1px solid #9e3333;padding: 10px"> |
| | | <el-aside style="width: 330px;"> |
| | |
| | | </el-main> |
| | | </el-container> |
| | | </el-dialog> |
| | | </template> |
| | | <template slot="keyattrflag"> |
| | | <el-switch></el-switch> |
| | | </template> |
| | | <!-- 属性分组--> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button> |
| | | |
| | | <el-dialog :visible.sync="attrVisible" append-to-body 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-form-item> |
| | | <div style="display: flex;justify-content: flex-end"> |
| | | <el-button type="primary" @click="attrHandle" size="small">提交</el-button> |
| | | <el-button size="small" @click="attrRemove">清空</el-button> |
| | | </div> |
| | | </el-form> |
| | | <!-- 全屏编辑--> |
| | | <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true"> |
| | | <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag"></attrCrud> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 分类注入--> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button> |
| | | <el-dialog :visible.sync="injectVisible" append-to-body class="mydialog" |
| | | style="width: 1400px; left:14vw ;top: 10vh;" title="分类注入"> |
| | | <div class="injectBox"> |
| | | <div style="color: #FF5722;margin: 1px 0 5px 20px">分类层级关联说明:</div> |
| | | <div |
| | | style="color: #01aaed;margin: 0 10px 0 45px;line-height: 20px">1:主要是设置模板属性和分类的关系<br/>2:如分类层级设置为2 <br/>3:录入资源数据时,该属性对应的值根据层级关系去对应的分类里取 |
| | | <br/>4:层级必须是大于0的整数值 |
| | | </div> |
| | | <div style="padding-top: 15px;padding-left: 35px"> |
| | | <el-form ref="injectForm" label-width="80px"> |
| | | <el-form-item label="注入类型"> |
| | | <el-radio-group v-model="injectOption.type"> |
| | | <el-radio label="分类名称"></el-radio> |
| | | <el-radio label="分类代号"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="层级设置"> |
| | | <el-radio-group v-model="injectOption.set"> |
| | | <el-radio label="最小层"></el-radio> |
| | | <el-radio label="指定层"></el-radio> |
| | | <el-input-number v-model="injectOption.injectNum" controls-position="right" :min="0" :max="10" v-if="this.injectOption.set == '指定层'"></el-input-number> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="可修改"> |
| | | <el-radio-group v-model="injectOption.change"> |
| | | <el-radio label="是"></el-radio> |
| | | <el-radio label="否"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;justify-content: flex-end"> |
| | | <el-button size="small" type="primary" @click="injectAddHandle">确定</el-button> |
| | | <el-button size="small" @click="injectHandleReset">清除内容</el-button> |
| | | <el-button size="small" @click="injectRemove">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 枚举注入--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="enmuVisHandle">枚举注入</el-button> |
| | | <el-dialog :visible.sync="enumVisible" append-to-body title="枚举注入"> |
| | | <!-- 渲染表格及按钮 --> |
| | | <!-- 渲染表格及按钮 --> |
| | | <div> |
| | | <el-button icon="el-icon-plus" type="primary" @click="addRow">新增</el-button> |
| | | <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" @selection-change="handleSelectionChange"> |
| | | <!-- 渲染表格列及传参 --> |
| | | <el-table-column label="序号" type="index"></el-table-column> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column label="选项值" prop="key"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- 编辑和展示逻辑 --> |
| | | <el-input v-if="editingRow === row && editShow == 'key'" v-model="row.key" @blur="saveRow"></el-input> |
| | | <span v-else>{{ row.key }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="选项中文标签" prop="value"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- 编辑和展示逻辑 --> |
| | | <el-input v-if="editingRow === row && editShow == 'value'" v-model="row.value" @blur="saveRow"></el-input> |
| | | <span v-else>{{ row.value }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="small" type="text" @click.native.prevent="enumDeleteRow(scope.$index, tableData)"> |
| | | 移除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <template> |
| | | <div style="display: flex;justify-content: right;margin-top: 15px"> |
| | | <el-button type="primary" size="small" @click="enumAddHandle">保存</el-button> |
| | | <el-button size="small" @click="enumVisible=false">取消</el-button> |
| | | <!-- 组合规则--> |
| | | <formula-editor :systemVariableTableData="systemVariableTableData" |
| | | :thisSceneTableData="thisSceneTableData" |
| | | :visible.sync="isShowformulaEdit" |
| | | @updateFormulaContent="updataFormlaContent" |
| | | ></formula-editor> |
| | | <!-- 新增 --> |
| | | <el-dialog :visible.sync="addVisible" append-to-body title="从业务类型中选择属性"> |
| | | <avue-crud :data="businessData" :option="businessOption" @select="businessSelect"> |
| | | <template slot="menuLeft"> |
| | | <div style="display: flex;"> |
| | | <el-select> |
| | | <el-option>属性英文名称</el-option> |
| | | <el-option>属性中文名称</el-option> |
| | | </el-select> |
| | | <el-input style="width: 300px;margin-left: 20px"></el-input> |
| | | <el-button size="small" style="margin-left: 10px">查询</el-button> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 级联属性--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="CascadeHandle">级联属性</el-button> |
| | | <el-dialog :visible.sync="CascadeVisible" append-to-body title="请选择级联属性"> |
| | | <avue-crud ref="crud" :data="CascadeData" :option="CascadeOption" @row-click="CascaderowClick"> |
| | | <template slot="radio" |
| | | slot-scope="{row}"> |
| | | <el-radio v-model="selectRow" |
| | | :label="row.$index"> |
| | | </el-radio> |
| | | |
| | | </template> |
| | | </avue-crud> |
| | | <div style="display: flex ;padding-top: 18px;justify-content: right"> |
| | | <el-button size="small" type="primary" @click="CascadeAddHandle">确定</el-button> |
| | | <el-button size="small" style="margin-left: 10px" @click="casRemove">清除内容</el-button> |
| | | <el-button size="small" style="margin-left: 10px" @click="CascadeVisible=false">取消</el-button> |
| | | <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">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <!-- 预览排序--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small">预览排序</el-button> |
| | | </template> |
| | | <!-- 保存--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="addsHandler">保存</el-button> |
| | | </template> |
| | | <!-- 删除--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="CrudRemove">删除</el-button> |
| | | </template> |
| | | <!-- 重置--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" @click="reset">重置</el-button> |
| | | </template> |
| | | <!-- 同步到其他模板--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" style="margin-top: 10px" @click="syncHandle">同步到其他模板</el-button> |
| | | </template> |
| | | <!-- 编码申请预览--> |
| | | <template slot="menuLeft"> |
| | | <el-button size="small" style="margin-top: 10px" @click="applicationHandle">编码申请预览</el-button> |
| | | <FormTemplateDialog |
| | | :visible.sync="addvisible" |
| | | :type="add" |
| | | :templateOid="this.crudOid" |
| | | :codeClassifyOid="this.codeClassifyOid" |
| | | </div> |
| | | <el-table :data="ProData" |
| | | style="width: 100%" |
| | | @cell-click="handleCellClicks" |
| | | @select="selectHandle" |
| | | v-if="this.crudArray.length>=1" |
| | | |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column fixed label="序号" type="index" width="55"></el-table-column> |
| | | <el-table-column v-for="item in this.option.column" :key="item.id" |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | | :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'" |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | | > |
| | | </FormTemplateDialog> |
| | | </template> |
| | | </avue-crud> |
| | | <template slot-scope="{ row }"> |
| | | <el-input v-if="editingRows === row && editShows== item.prop" v-model="row[item.prop]" |
| | | @blur="saveRows"></el-input> |
| | | <span v-else>{{ row[item.prop] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="small" |
| | | type="text" |
| | | @click.native.prevent="CrudRowDel(scope.row)"> |
| | | 移除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- </avue-crud>--> |
| | | </template> |
| | | |
| | | <script> |
| | | import {AttrByBtm,gridCodeClassifyTemplateAttr,batchAddSave,copyto} from '@/api/template/templateAttr' |
| | | import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto} from '@/api/template/templateAttr' |
| | | |
| | | export default { |
| | | name: "attrCrud .vue", |
| | | // props: ['ProData','crudOid','crudArray','Formlist','codeClassifyOid'], |
| | | props:{ |
| | | ProData:{ |
| | | type:Array, |
| | | props: { |
| | | ProData: { |
| | | type: Array, |
| | | }, |
| | | crudOid:{ |
| | | type:String, |
| | | default:'' |
| | | crudOid: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | crudArray:{ |
| | | type:Array, |
| | | crudArray: { |
| | | type: Array, |
| | | }, |
| | | Formlist:{ |
| | | type:Array, |
| | | Formlist: { |
| | | type: Array, |
| | | }, |
| | | codeClassifyOid:{ |
| | | type:String, |
| | | default:'' |
| | | codeClassifyOid: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | attrFlagChiledren:{ |
| | | type:Boolean, |
| | | default:false |
| | | attrFlagChiledren: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | attrFlag:false, |
| | | editingRows: null, |
| | | editShows:"", |
| | | attrFlag: false, |
| | | //编码申请预览option |
| | | applicationoption:{ |
| | | column:[] |
| | | applicationoption: { |
| | | column: [] |
| | | }, |
| | | // 编码申请预览data |
| | | applicationData:[], |
| | | applicationData: [], |
| | | //业务类型单选数组 |
| | | busineSelectList:[], |
| | | busineSelectList: [], |
| | | //业务类型添加数据 |
| | | busineAddList:{}, |
| | | busineAddList: {}, |
| | | //表格单选数组 |
| | | CrudSelect:[], |
| | | CrudSelect: [], |
| | | //表格oid |
| | | CrudOid:"", |
| | | CrudOid: "", |
| | | //场景变量 |
| | | thisSceneTableData:[ |
| | | thisSceneTableData: [ |
| | | { |
| | | formula: "lcstatus", |
| | | desc: "状态", |
| | |
| | | }, |
| | | ], |
| | | // 系统变量 |
| | | systemVariableTableData:[ |
| | | systemVariableTableData: [ |
| | | { |
| | | formula: "#CURRENTUSER.OID#", |
| | | desc: "当前用户的主键", |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.ID", |
| | | desc:"当前用户的账户" |
| | | formula: "#CURRENTUSER.ID", |
| | | desc: "当前用户的账户" |
| | | }, |
| | | { |
| | | formula:"#CURRENTTIME#", |
| | | desc:"当前时间" |
| | | formula: "#CURRENTTIME#", |
| | | desc: "当前时间" |
| | | }, |
| | | { |
| | | formula:"#CURRENTDATE#", |
| | | desc:"当前日期" |
| | | formula: "#CURRENTDATE#", |
| | | desc: "当前日期" |
| | | }, |
| | | { |
| | | formula:"#CURRENTDATETIME#", |
| | | desc:"当前日期时间" |
| | | formula: "#CURRENTDATETIME#", |
| | | desc: "当前日期时间" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER_NAME#", |
| | | desc:"当前用户的姓名" |
| | | formula: "#CURRENTUSER_NAME#", |
| | | desc: "当前用户的姓名" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.SECRETGRADE#", |
| | | desc:"当前用户密级" |
| | | formula: "#CURRENTUSER.SECRETGRADE#", |
| | | desc: "当前用户密级" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.IPSECRET#", |
| | | desc:"当前用户的IP密级" |
| | | formula: "#CURRENTUSER.IPSECRET#", |
| | | desc: "当前用户的IP密级" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.BUSINESSUNIT#", |
| | | desc:"当前用户所属业务单元" |
| | | formula: "#CURRENTUSER.BUSINESSUNIT#", |
| | | desc: "当前用户所属业务单元" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.BUSINESSUNITNAME#", |
| | | desc:"当前用户所属业务单元名称" |
| | | formula: "#CURRENTUSER.BUSINESSUNITNAME#", |
| | | desc: "当前用户所属业务单元名称" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.GROUPOID#", |
| | | desc:"当前用户的部门主键" |
| | | formula: "#CURRENTUSER.GROUPOID#", |
| | | desc: "当前用户的部门主键" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.GROUPNAME#", |
| | | desc:"当前用户所属部门名称" |
| | | formula: "#CURRENTUSER.GROUPNAME#", |
| | | desc: "当前用户所属部门名称" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.EMAIL#", |
| | | desc:"当前用户邮件地址" |
| | | formula: "#CURRENTUSER.EMAIL#", |
| | | desc: "当前用户邮件地址" |
| | | }, |
| | | { |
| | | formula:"#CURRENTUSER.ROLENAME#", |
| | | desc:"当前用户所属角色名称 " |
| | | formula: "#CURRENTUSER.ROLENAME#", |
| | | desc: "当前用户所属角色名称 " |
| | | }, |
| | | ], |
| | | CascadeVisible: false, |
| | | attrEditVisible: false, |
| | | isShowformulaEdit:false, |
| | | isShowformulaEdit: false, |
| | | // 级联单选 |
| | | selectRow: '', |
| | | // 级联data |
| | |
| | | { |
| | | label: '关键属性', |
| | | prop: 'keyAttrFlag', |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: '查询属性', |
| | | prop: 'queryAttrFlag', |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: '高级查询属性', |
| | | prop: 'seniorQueryAttrFlag', |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: '相似查重属性', |
| | | prop: 'sameRepeatAttrFlag', |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | |
| | | { |
| | | label: '必输', |
| | | prop: 'requireFlag', |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "表单显示", |
| | | prop: "formDisplayFlag", |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "列表显示", |
| | | prop: "tableDisplayFlag", |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | |
| | | { |
| | | label: "列表排序", |
| | | prop: "sortAttrFlag", |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | |
| | | { |
| | | label: "多行文本", |
| | | prop: "textAreaFlag", |
| | | type:'text', |
| | | dicData:[ |
| | | type: 'text', |
| | | dicData: [ |
| | | { |
| | | label:"是", |
| | | value:'true' |
| | | label: "是", |
| | | value: 'true' |
| | | }, |
| | | { |
| | | label:"否", |
| | | value:'false' |
| | | label: "否", |
| | | value: 'false' |
| | | } |
| | | ] |
| | | }, |
| | |
| | | //枚举注入 |
| | | enumVisible: false, |
| | | //枚举注入多选保存数组 |
| | | enumRow:[], |
| | | enumRow: [], |
| | | // 分类注入弹出框 |
| | | injectVisible: false, |
| | | // 添加弹出框 |
| | |
| | | //属性分组弹出框 |
| | | attrVisible: false, |
| | | //属性分组输入框 |
| | | attrModel:"", |
| | | attrModel: "", |
| | | //当前单选模板属性 |
| | | attrRow:{}, |
| | | attrRow: {}, |
| | | //编码申请预览弹出框 |
| | | addvisible:false, |
| | | addvisible: false, |
| | | //分类注入option |
| | | injectOption: { |
| | | type:"分类名称", |
| | | set:"最小层", |
| | | change:"是", |
| | | type: "分类名称", |
| | | set: "最小层", |
| | | change: "是", |
| | | //分类注入计数器 |
| | | injectNum:0, |
| | | injectNum: 0, |
| | | }, |
| | | // 属性验证输入框 |
| | | RulesForm: { |
| | |
| | | // 新增业务类型 |
| | | businessData: [], |
| | | businessOption: { |
| | | indexClassName:"序号", |
| | | indexLabelClassName:'序号', |
| | | indexClassName: "序号", |
| | | indexLabelClassName: '序号', |
| | | index: true, |
| | | border: true, |
| | | addBtn: false, |
| | | menu:false, |
| | | selection:true, |
| | | height:500, |
| | | menu: false, |
| | | selection: true, |
| | | height: 500, |
| | | column: [ |
| | | { |
| | | label: "属性英文名称", |
| | |
| | | ] |
| | | }, |
| | | //模板属性 |
| | | data: [ |
| | | ], |
| | | data: [], |
| | | // 当前行 |
| | | rowList: [], |
| | | // 当前单元格 |
| | |
| | | index: true, |
| | | border: true, |
| | | editBtn: false, |
| | | selection:true, |
| | | selection: true, |
| | | labelWidth: 110, |
| | | cellBtn: true, |
| | | cancelBtn: false, |
| | |
| | | width: 105, |
| | | }, |
| | | ], |
| | | List:[] |
| | | List: [] |
| | | } |
| | | } |
| | | }, |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | //属性分组按钮 |
| | | attrVisibleHandle(){ |
| | | if(this.CrudSelect.length>1){ |
| | | attrVisibleHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板属性') |
| | | }else if(this.CrudSelect<1){ |
| | | } else if (this.CrudSelect < 1) { |
| | | this.$message.warning('请选择一条模板属性') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | this.attrVisible=true; |
| | | } else if (this.CrudSelect.length === 1) { |
| | | this.attrVisible = true; |
| | | } |
| | | }, |
| | | //属性分组提交 |
| | | attrHandle(){ |
| | | this.$set(this.attrRow,'attributeGroup',this.attrModel) |
| | | this.attrModel="" |
| | | this.attrVisible=false |
| | | attrHandle() { |
| | | this.$set(this.attrRow, 'attributeGroup', this.attrModel) |
| | | this.attrModel = "" |
| | | this.attrVisible = false |
| | | }, |
| | | //属性分组清空 |
| | | attrRemove(){ |
| | | this.attrModel="" |
| | | attrRemove() { |
| | | this.attrModel = "" |
| | | }, |
| | | //表格数据 |
| | | CrudRend(){ |
| | | if(this.crudOid != ''){ |
| | | CrudRend() { |
| | | if (this.crudOid != '') { |
| | | gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.crudOid}).then(res => { |
| | | this.ProData = res.data.data; |
| | | }).catch(res => { |
| | |
| | | } |
| | | }, |
| | | //业务类型保存 |
| | | busineAddHandle(){ |
| | | if(this.busineSelectList.length>1){ |
| | | busineAddHandle() { |
| | | if (this.busineSelectList.length > 1) { |
| | | this.$message.warning('请选择一条业务类型数据') |
| | | }else { |
| | | this.$set(this.busineAddList,'classifytemplateoid',this.crudOid) |
| | | this.$set(this.busineAddList,'oid','') |
| | | } else { |
| | | this.$set(this.busineAddList, 'classifytemplateoid', this.crudOid) |
| | | this.$set(this.busineAddList, 'oid', '') |
| | | this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) |
| | | this.addVisible=false; |
| | | this.addVisible = false; |
| | | } |
| | | }, |
| | | //业务类型单选 |
| | | businessSelect(selection,row){ |
| | | this.busineSelectList=selection |
| | | this.busineAddList=row |
| | | businessSelect(selection, row) { |
| | | this.busineSelectList = selection |
| | | this.busineAddList = row |
| | | }, |
| | | // 从业务类型中选择数据 |
| | | busineHandle(){ |
| | | if(this.crudArray.length<1){ |
| | | busineHandle() { |
| | | if (this.crudArray.length < 1) { |
| | | this.$message.error('请选择一条模板') |
| | | }else { |
| | | this.addVisible=true; |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res=>{ |
| | | this.businessData=res.data.data; |
| | | } else { |
| | | this.addVisible = true; |
| | | AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => { |
| | | this.businessData = res.data.data; |
| | | }) |
| | | } |
| | | }, |
| | | // 级联属性按钮 |
| | | CascadeHandle(){ |
| | | if(this.CrudSelect.length >1){ |
| | | CascadeHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板属性') |
| | | }else if(this.CrudSelect.length<1){ |
| | | } else if (this.CrudSelect.length < 1) { |
| | | this.$message.warning('请选择一条模板属性') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | this.CascadeVisible=true; |
| | | gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, |
| | | 'conditionMap[oid_notequal]':this.CrudOid |
| | | }).then(res=>{ |
| | | this.CascadeData=res.data.data; |
| | | } else if (this.CrudSelect.length === 1) { |
| | | this.CascadeVisible = true; |
| | | gridCodeClassifyTemplateAttr({ |
| | | 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, |
| | | 'conditionMap[oid_notequal]': this.CrudOid |
| | | }).then(res => { |
| | | this.CascadeData = res.data.data; |
| | | }) |
| | | } |
| | | }, |
| | | //表格单选 |
| | | selectHandle(selection,row){ |
| | | this.CrudOid=row.oid; |
| | | this.CrudSelect=selection; |
| | | this.attrRow=row; |
| | | selectHandle(selection, row) { |
| | | this.CrudOid = row.oid; |
| | | this.CrudSelect = selection; |
| | | this.attrRow = row; |
| | | console.log('123',row,selection) |
| | | }, |
| | | //保存 |
| | | addsHandler(){ |
| | | batchAddSave(this.ProData).then(res=>{ |
| | | addsHandler() { |
| | | batchAddSave(this.ProData).then(res => { |
| | | this.$message.success('保存成功') |
| | | }) |
| | | }, |
| | | //级联保存 |
| | | CascadeAddHandle(){ |
| | | let CascadeString=""; |
| | | CascadeString=this.attrRow.id+(this.attrRow.name); |
| | | this.$set(this.attrRow,'parentCode',CascadeString) |
| | | this.CascadeVisible=false; |
| | | CascadeAddHandle() { |
| | | let CascadeString = ""; |
| | | CascadeString = this.attrRow.id + (this.attrRow.name); |
| | | this.$set(this.attrRow, 'parentCode', CascadeString) |
| | | this.CascadeVisible = false; |
| | | }, |
| | | //级联属性清除 |
| | | casRemove() { |
| | |
| | | // 级联属性行单选 |
| | | CascaderowClick(row) { |
| | | this.selectRow = row.$index |
| | | }, |
| | | //表格行编辑 |
| | | handleCellClicks(row, column) { |
| | | this.editingRows = row; |
| | | this.editShows = column.property; |
| | | this.rowOid = row.oid; |
| | | }, |
| | | saveRows() { |
| | | this.editingRows = null; |
| | | }, |
| | | // 枚举注入添加一行空数据 |
| | | addRow() { |
| | |
| | | this.tableData.splice(row, 1) |
| | | }, |
| | | //枚举注入按钮 |
| | | enmuVisHandle(){ |
| | | if(this.CrudSelect.length>1){ |
| | | enmuVisHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板属性') |
| | | }else if(this.CrudSelect<1){ |
| | | } else if (this.CrudSelect < 1) { |
| | | this.$message.warning('请选择一条模板属性') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | this.enumVisible=true; |
| | | } else if (this.CrudSelect.length === 1) { |
| | | this.enumVisible = true; |
| | | } |
| | | }, |
| | | //枚举注入多选框 |
| | | handleSelectionChange(row){ |
| | | this.enumRow=JSON.parse(JSON.stringify(row)); |
| | | handleSelectionChange(row) { |
| | | this.enumRow = JSON.parse(JSON.stringify(row)); |
| | | }, |
| | | //枚举注入保存 |
| | | enumAddHandle(){ |
| | | if(this.enumRow.length<1){ |
| | | enumAddHandle() { |
| | | if (this.enumRow.length < 1) { |
| | | this.$message.warning('请至少选择一条数据') |
| | | }else { |
| | | this.$set(this.attrRow,'enumString',this.enumRow); |
| | | this.enumVisible=false; |
| | | } else { |
| | | this.$set(this.attrRow, 'enumString', this.enumRow); |
| | | this.enumVisible = false; |
| | | } |
| | | }, |
| | | // 将正在编辑的行的状态变为 null ,即退出编辑状态 |
| | |
| | | }, |
| | | //验证规则检查 |
| | | rulesExamine() { |
| | | if(this.RulesForm.expressionText.test(this.RulesForm.TestContent)){ |
| | | if (this.RulesForm.expressionText.test(this.RulesForm.TestContent)) { |
| | | this.$message.success('校验成功') |
| | | } |
| | | }, |
| | | //点击分类注入按钮 |
| | | injectBtn(){ |
| | | if(this.CrudSelect.length>1){ |
| | | injectBtn() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板数据') |
| | | }else if(this.CrudSelect.length<1){ |
| | | } else if (this.CrudSelect.length < 1) { |
| | | this.$message.warning('请选择一条模板数据') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | this.injectVisible=true |
| | | } else if (this.CrudSelect.length === 1) { |
| | | this.injectVisible = true |
| | | } |
| | | }, |
| | | //分类注入保存 |
| | | injectAddHandle(){ |
| | | this.$set(this.attrRow,'classifyInvokeLevel',this.injectOption); |
| | | this.injectVisible=false |
| | | injectAddHandle() { |
| | | this.$set(this.attrRow, 'classifyInvokeLevel', this.injectOption); |
| | | this.injectVisible = false |
| | | }, |
| | | //分类注入清空 |
| | | injectHandleReset() { |
| | | this.injectOption.type=""; |
| | | this.injectOption.set=""; |
| | | this.injectOption.change=""; |
| | | this.injectOption.injectNum=""; |
| | | this.injectOption.type = ""; |
| | | this.injectOption.set = ""; |
| | | this.injectOption.change = ""; |
| | | this.injectOption.injectNum = ""; |
| | | }, |
| | | // 分类注入取消 |
| | | injectRemove() { |
| | |
| | | // } |
| | | } |
| | | }, |
| | | //编辑保存事件 |
| | | addUpdate(val, row, done) { |
| | | console.log(val, row) |
| | | //取反,把之前的状态点击保存后重新重置为false,不然再点击单元格编辑,之前编辑的单元格也会随着下次点击而出来 |
| | | this.rowCellList.cell = false |
| | | this.rowList.$cellEdit = false |
| | | console.log(this.arr) |
| | | //加上done关闭保存后不可编辑的状态 |
| | | done() |
| | | }, |
| | | //表格操作栏删除 |
| | | CrudRowDel(row){ |
| | | this.ProData.splice(row.$index,1) |
| | | CrudRowDel(row) { |
| | | this.ProData.splice(row.$index, 1) |
| | | }, |
| | | //表格删除 |
| | | CrudRemove(){ |
| | | this.ProData.splice(this.attrRow.$index,1) |
| | | CrudRemove() { |
| | | this.ProData.splice(this.attrRow.$index, 1) |
| | | }, |
| | | //表格重置 |
| | | reset(){ |
| | | reset() { |
| | | this.CrudRend() |
| | | }, |
| | | //同步到其他模板 |
| | | syncHandle(){ |
| | | if(this.CrudSelect.length>1){ |
| | | syncHandle() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板属性数据') |
| | | }else if(this.CrudSelect.length<1){ |
| | | } else if (this.CrudSelect.length < 1) { |
| | | this.$message.warning('请选择一条模板属性数据') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | copyto({oid:this.attrRow.oid}).then(res=>{ |
| | | } else if (this.CrudSelect.length === 1) { |
| | | copyto({oid: this.attrRow.oid}).then(res => { |
| | | this.$message.success('同步成功') |
| | | }) |
| | | } |
| | | }, |
| | | //编码申请预览 |
| | | applicationHandle(){ |
| | | this.addvisible=true; |
| | | applicationHandle() { |
| | | this.addvisible = true; |
| | | }, |
| | | //组合规则 |
| | | isShowHandler(){ |
| | | if(this.CrudSelect.length>1){ |
| | | isShowHandler() { |
| | | if (this.CrudSelect.length > 1) { |
| | | this.$message.warning('只能选择一条模板属性数据') |
| | | }else if(this.CrudSelect.length<1){ |
| | | } else if (this.CrudSelect.length < 1) { |
| | | this.$message.warning('请选择一条模板属性数据') |
| | | }else if(this.CrudSelect.length === 1){ |
| | | this.isShowformulaEdit=true; |
| | | } else if (this.CrudSelect.length === 1) { |
| | | this.isShowformulaEdit = true; |
| | | } |
| | | }, |
| | | //全屏编辑 |
| | | fullscreenHandle(){ |
| | | if(this.crudArray.length<1){ |
| | | fullscreenHandle() { |
| | | if (this.crudArray.length < 1) { |
| | | this.$message.warning('请选择一个模板') |
| | | }else { |
| | | this.attrEditVisible=true; |
| | | this.attrFlag=true; |
| | | } else { |
| | | this.attrEditVisible = true; |
| | | this.attrFlag = true; |
| | | } |
| | | |
| | | }, |
| | | //退出全屏编辑 |
| | | escEdit(){ |
| | | this.attrFlagChiledren=false; |
| | | this.attrEditVisible=false; |
| | | escEdit() { |
| | | this.attrFlagChiledren = false; |
| | | this.attrEditVisible = false; |
| | | }, |
| | | updataFormlaContent(val){ |
| | | this.$set(this.attrRow,'componentRule',val) |
| | | updataFormlaContent(val) { |
| | | this.$set(this.attrRow, 'componentRule', val) |
| | | }, |
| | | // 排序 |
| | | sortChange(val) { |