| | |
| | | <basic-container style="height: 350px;"> |
| | | |
| | | <!-- 编码规则信息展示区域 --> |
| | | <basic-container> |
| | | <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">编码规则</p> |
| | | <avue-crud :option="optionRule" |
| | | <basic-container class="code-rule-container"> |
| | | <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">编码规则</p> |
| | | <avue-crud class="code-rule-crud" |
| | | :option="optionRule" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | <el-button size="small" |
| | | icon="icon-kelong" |
| | | plain |
| | | @click="cloneCodeSetting">克 隆 |
| | | @click="openCodeRuleDialog">克 隆 |
| | | </el-button> |
| | | <el-button size="small" |
| | | icon="icon-lianjiekelong" |
| | | style="font-size: 12px;" |
| | | plain |
| | | @click="handleDelete">从其他规则中克隆码段 |
| | | @click="openOtherCodeRuleDialog">从其他规则中克隆码段 |
| | | </el-button> |
| | | <el-button size="small" |
| | | icon="el-icon-s-help" |
| | |
| | | <el-button size="small" |
| | | icon="icon-qingkong" |
| | | plain |
| | | @click="handleDelete">清空码值 |
| | | @click="clearAllCodeSec">清空码值 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | <el-dialog title="编码规则使用范围" |
| | | append-to-body |
| | | :visible.sync="codeRangeSettingBox" |
| | | width="800px"> |
| | | width="800px" |
| | | style="height: 116vh; margin-top: -10vh;"> |
| | | <avue-crud |
| | | :option="dialogeOption" |
| | | :table-loading="dialogLoading" |
| | |
| | | @refresh-change="refreshUseRangeChange"> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | <!-- 编码规则相关克隆对话框 --> |
| | | <!-- 编码规则,克隆对话框 --> |
| | | <el-dialog title="克隆编码规则" |
| | | append-to-body |
| | | :visible.sync="cloneSettingBox" |
| | | width="800px"> |
| | | <clone-code></clone-code> |
| | | width="800px" |
| | | style="height: 120vh; margin-top: -14vh; overflow: hidden;"> |
| | | <div style="overflow-y: auto; height: 78vh"> |
| | | <el-row> |
| | | <el-form ref="form" :model="form" label-width="80px" :inline="true"> |
| | | <el-form-item label="编号" required> |
| | | <el-input v-model="cloneCodeRuleForm.id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="名称" required> |
| | | <el-input v-model="cloneCodeRuleForm.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="描述" class="clone-input-textarea"> |
| | | <el-input :autosize="{ minRows: 3, maxRows: 5}" type="textarea" v-model="cloneCodeRuleForm.description"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-row> |
| | | <el-row> |
| | | <p style="margin: -3vh 0px 16px 50%; font-weight: 500; font-size: 16px; color: #000;">码段管理</p> |
| | | <avue-crud |
| | | class="clone-avue-crud" |
| | | :option="cloneOption" |
| | | :table-loading="cloneTableLoading" |
| | | :data="cloneData" |
| | | @on-load="cloneDataOnLoad"> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-arrow-up" |
| | | v-show="scope.row.orderNum > 1" |
| | | plain |
| | | @click="upOrderNum(scope.row)">上移 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-arrow-down" |
| | | plain |
| | | @click="downOrderNum(scope.row)">下移 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-row> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;"> |
| | | <el-button @click="cloneSettingBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="saveCloneCodeRule">保 存</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 编码规则,从其他规则克隆对话框 --> |
| | | <el-dialog title="克隆编码规则的基础信息" |
| | | append-to-body |
| | | :visible.sync="cloneOtherCodeRuleSettingBox" |
| | | width="800px" |
| | | style="height: 150vh; margin-top: -14vh;" |
| | | destroy-on-close> |
| | | <div> |
| | | <el-row> |
| | | <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">编码规则</p> |
| | | <avue-crud |
| | | class="other-clone-coderule-crud" |
| | | :option="cloneCodeRuleOption" |
| | | @row-click="codeOtherCloneRuleRowClick" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | | ref="crudCloneCodeRuleOther" |
| | | @size-change="sizeChange" |
| | | @selection-change="selectionOtherCloneCodeRuleChange" |
| | | @on-load="onLoad"> |
| | | </avue-crud> |
| | | </el-row> |
| | | <el-row> |
| | | <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">码段信息</p> |
| | | <avue-crud |
| | | class="other-clone-codebasic-crud" |
| | | :option="cloneBasicOption" |
| | | ref="crudCloneCodeBasicOther" |
| | | :table-loading="loadingBasic" |
| | | :data="basicData" |
| | | @selection-change="selectionOtherCloneCodeBasicChange"> |
| | | </avue-crud> |
| | | </el-row> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;"> |
| | | <el-button @click="cloneOtherCodeRuleSettingBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="saveOtherCodeBasic">保 存</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 基础码段展示区域 --> |
| | | <basic-container> |
| | | <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">码段管理</p> |
| | | <avue-crud :option="optionBasic" |
| | | <basic-container class="code-basicsec-container"> |
| | | <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">码段管理</p> |
| | | <avue-crud class="code-basic-crud" |
| | | :option="optionBasic" |
| | | ref="crudBasic" |
| | | :table-loading="loadingBasic" |
| | | :data="basicData" |
| | |
| | | <el-row v-show="!isShowFixedForm"> |
| | | <el-col :span="11"> |
| | | <basic-container> |
| | | <div class="box" style="height:65vh; margin-bottom:-40px"> |
| | | <div class="box classify_value_box" style="height:65vh; margin-bottom:-40px"> |
| | | <el-scrollbar style="border-bottom-right-radius:8px "> |
| | | <basic-container> |
| | | <div class="abox" style="height:54vh"> |
| | | <avue-tree |
| | | :data="attrClassifyTreeData" |
| | | :option="treeOption" |
| | | @node-click="nodeClick" |
| | | :data="classifyValueTreeData" |
| | | :option="classisyValueTreeOption" |
| | | @node-click="classisyValueTreeOnodeClick" |
| | | style="overflow-y: auto; height: 54vh"/> |
| | | </div> |
| | | </basic-container> |
| | | </el-scrollbar> |
| | | </div> |
| | | <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;"> |
| | | <el-button size="mini" type="primary" icon="el-icon-arrow-up" class="button">上移</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-arrow-down" class="button">下移</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-arrow-up" class="button" @click="codeClassifyValueOpetion('up')">上移</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-arrow-down" class="button" @click="codeClassifyValueOpetion('down')">下移</el-button> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;"> |
| | | <el-button size="mini" type="primary" icon="el-icon-circle-plus" class="button">添加</el-button> |
| | | <el-button size="mini" type="success" plain icon="el-icon-edit-outline" class="button">修改</el-button> |
| | | <el-button size="mini" type="danger" icon="el-icon-close" class="button">删除</el-button> |
| | | <el-button size="mini" type="warning" plain icon="el-icon-close" class="button">取消</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-circle-plus" class="button" @click="addCodeSecValue('codeclassifyvaluesec')">添加</el-button> |
| | | <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="success" plain icon="el-icon-edit-outline" class="button" @click="editCodeSecValue('codeclassifyvaluesec')">修改</el-button> |
| | | <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="danger" icon="el-icon-close" class="button" @click="delCodeSecValue('codeclassifyvaluesec')">删除</el-button> |
| | | <el-button size="mini" type="warning" plain icon="el-icon-close" class="button" @click = "clearFixedOrClassifyForm('codeclassifyvaluesec')">取消</el-button> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | |
| | | <basic-container> |
| | | <div class="box fixedbox" style="height:65vh; margin-bottom:-40px"> |
| | | <avue-crud |
| | | class="fixed-avue-crud" |
| | | ref="crudFixedValue" |
| | | :data="fixedValueData" |
| | | :option="fixedValueOption" |
| | |
| | | </avue-crud> |
| | | </div> |
| | | <div style="margin-top:20px;"> |
| | | <el-button size="mini" type="primary" icon="el-icon-success" class="button" @click="saveCodeFixedValueOption">保存</el-button> |
| | | <el-button size="mini" type="primary" icon="el-icon-success" class="button" @click="saveCodeFixedOrClassifyValueOption('fixedValue')">保存</el-button> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | |
| | | destroy-on-close |
| | | @close="clearBasicAddForm"> |
| | | |
| | | |
| | | <!-- 第一层对话框,添加码段信息对话框中的内容 --> |
| | | <div class="total" style="overflow-y: auto; height: 70vh"> |
| | | <el-form :model="form" :rules="formRules" ref="form" > |
| | | <el-form :model="form"> |
| | | <span class="left"> |
| | | <el-form-item label="码段编号:" :label-width="leftFormLabelWidth" required prop="id"> |
| | | <el-input v-model="form.id" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段编号:" :label-width="leftFormLabelWidth" required> |
| | | <el-input v-model="form.id" :readonly="basicSecOnlyRead" ref="id"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="码段名称:" :label-width="leftFormLabelWidth" required prop="name"> |
| | | <el-input v-model="form.name" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段名称:" :label-width="leftFormLabelWidth" required> |
| | | <el-input ref="name" v-model="form.name" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="码段类型" :label-width="leftFormLabelWidth" required prop="secType"> |
| | | |
| | | <el-form-item label="码段类型" :label-width="leftFormLabelWidth" required> |
| | | <el-select v-model="form.secType" placeholder="请选择" @change="changeSectypeFormItems(null)" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in sectypeList" |
| | |
| | | <span class="right"> |
| | | <!-- 固定码段 --> |
| | | <div v-show="form.secType==='codefixedsec' ? true:false"> |
| | | <el-form-item label="码段长度类型:" :label-width="rightFormLabelWidth" required prop="codeSecLengthType"> |
| | | <el-form-item label="码段长度类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeSecLengthType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeSecLengthType" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required prop="codeSecLength"> |
| | | <el-input v-model="form.codeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeSecLength" ref="codeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 属性码段 --> |
| | | <div v-show="form.secType==='codeattrsec' ? true:false"> |
| | | <el-form-item label="属性:" :label-width="rightFormLabelWidth" required prop="referAttributeName"> |
| | | <el-form-item label="属性:" :label-width="rightFormLabelWidth" required> |
| | | <el-input |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | ref="referAttributeId" |
| | | v-model="form.referAttributeName" |
| | | @focus="openAttrSelectOrGetValue('attr')" |
| | | :disabled="basicSecOnlyRead"> |
| | |
| | | </div> |
| | | <!-- 流水码段 --> |
| | | <div v-show="form.secType==='codeserialsec' ? true:false"> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required prop="codeSecLength"> |
| | | <el-input v-model="form.codeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeSecLength" ref="seriaCodeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="流水号的起始值:" :label-width="rightFormLabelWidth" prop="serialStart"> |
| | | <el-input v-model="form.serialStart" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="流水号的起始值:" :label-width="rightFormLabelWidth"> |
| | | <el-input v-model.number="form.serialStart" ref="serialStart" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="流水的步长:" :label-width="rightFormLabelWidth" prop="serialStep"> |
| | | <el-input v-model="form.serialStep" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="流水的步长:" :label-width="rightFormLabelWidth"> |
| | | <el-input v-model.number="form.serialStep" ref="serialStep" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="编码补位方式:" :label-width="rightFormLabelWidth" required prop="codeFillType"> |
| | | <el-form-item label="编码补位方式:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeFillType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option label="左补位" value="codeattrsec" |
| | | v-for="item in codeFillType" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="补位时的字符:" :label-width="rightFormLabelWidth" prop="codeFillSeparatorSelect"> |
| | | <el-select v-model="form.codeFillSeparatorSelect" filterable placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-form-item label="补位时的字符:" :label-width="rightFormLabelWidth"> |
| | | <el-select v-model="form.codeFillSeparatorSelect" @blur="inputSelectBlur" filterable placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeFillSeparator" |
| | | :key="item.dictValue" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="填充长度:" :label-width="rightFormLabelWidth" required prop="codeFillLength"> |
| | | <el-input v-model="form.codeFillLength" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="填充长度:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeFillLength" ref="codeFillLength" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="流水上限:" :label-width="rightFormLabelWidth" required prop="codeFillLimit"> |
| | | <el-input v-model="form.codeFillLimit" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="流水上限:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeFillLimit" ref="codeFillLimit" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="流水是否补码:" :label-width="rightFormLabelWidth" required> |
| | | <el-switch v-model="form.codeFillFlag" :disabled="basicSecOnlyRead"></el-switch> |
| | |
| | | </div> |
| | | <!-- 层级码段 --> |
| | | <div v-show="form.secType==='codelevelsec' ? true:false"> |
| | | <el-form-item label="层级类型:" :label-width="rightFormLabelWidth" required prop="codeLevelType"> |
| | | <el-form-item label="层级类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeLevelType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeLevelType" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="层级的值:" :label-width="rightFormLabelWidth" prop="codeLevelValue"> |
| | | <el-input v-model="form.codeLevelValue" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="层级的值:" :label-width="rightFormLabelWidth"> |
| | | <el-input v-model.number="form.codeLevelValue" ref="codeLevelValue" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="字符截取类型:" :label-width="rightFormLabelWidth" required prop="valueCutType"> |
| | | <el-form-item label="字符截取类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.valueCutType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeCutType" |
| | |
| | | </div> |
| | | <!-- 引用码段 --> |
| | | <div v-show="form.secType==='coderefersec' ? true:false"> |
| | | <el-form-item label="参照引用的业务类型:" label-width="152px" required prop="referBtmId"> |
| | | <el-form-item label="参照引用的业务类型:" label-width="152px" required> |
| | | <el-input |
| | | ref="referBtmId" |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | |
| | | <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('referBtmId')" style="margin-right: 5px;cursor: pointer;"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="参照配置:" label-width="152px" required prop="referConfig"> |
| | | <el-form-item label="参照配置:" label-width="152px" required> |
| | | <el-input |
| | | ref="referConfig" |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | |
| | | </div> |
| | | <!-- 日期码段 --> |
| | | <div v-show="form.secType==='codedatesec' ? true:false"> |
| | | <el-form-item label="日期格式:" :label-width="rightFormLabelWidth" required prop="codeDateFormatStr"> |
| | | <el-input v-model="form.codeDateFormatStr" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="日期格式:" :label-width="rightFormLabelWidth" required> |
| | | <el-input ref="codeDateFormatStr" v-model="form.codeDateFormatStr" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 分类码段 --> |
| | | <div v-show="form.secType==='codeclassifysec' ? true:false"> |
| | | <el-form-item label="码段长度类型:" :label-width="rightFormLabelWidth" required prop="codeSecLengthType"> |
| | | <el-form-item label="码段长度类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeSecLengthType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeSecLengthType" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required prop="codeSecLength"> |
| | | <el-input v-model="form.codeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeSecLength" ref="classCodeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="是否自动分配分类值:" :label-width="rightFormLabelWidth"> |
| | | <el-switch v-model="form.matchClassifyValueFlag" :disabled="basicSecOnlyRead"></el-switch> |
| | |
| | | </div> |
| | | <!-- 可变码段 --> |
| | | <div v-show="form.secType==='codevariablesec' ? true:false"> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required prop="codeSecLength"> |
| | | <el-input v-model="form.codeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | <el-form-item label="码段的长度:" :label-width="rightFormLabelWidth" required> |
| | | <el-input v-model.number="form.codeSecLength" ref="varCodeSecLength" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="编码补位方式:" :label-width="rightFormLabelWidth" required prop="codeFillType"> |
| | | <el-form-item label="编码补位方式:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeFillType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeFillType" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="补位时的字符:" :label-width="rightFormLabelWidth"> |
| | | <el-select v-model="form.codeFillSeparatorSelect" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-select v-model="form.codeFillSeparatorSelect" filterable @blur="inputSelectBlur" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeFillSeparator" |
| | | :key="item.dictValue" |
| | |
| | | |
| | | </el-dialog> |
| | | |
| | | <!-- 第二层对话框,属性码段,公式编辑框弹窗 --> |
| | | <el-dialog title="公式编辑框" |
| | | append-to-body |
| | | :visible.sync="isShowformulaEdit" |
| | | @close="closeFormulaEdit" |
| | | width="78%" |
| | | style="height: 150vh; margin-top: -13vh; overflow: hidden"> |
| | | |
| | | <div style="overflow-y: auto; height: 80vh"> |
| | | <el-row> |
| | | <!-- 左侧公式内容 --> |
| | | <el-col :span="14" style="overflow: hidden"> |
| | | <el-card class="box-card" style="height: 33vh; overflow-y: auto; overflow-x: auto;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span style="font-size: medium;" >公式内容</span> |
| | | <el-button type="primary" size="mini" style="float: right;" @click="saveFormulaContent">确定</el-button> |
| | | <el-button type="warning" size="mini" style="margin-right: 10px; float: right;" @click="resetFormulaContent">清空内容</el-button> |
| | | </div> |
| | | <div class="text item"> |
| | | <el-input type="textarea" :rows="5" style="width: 560px;" v-model="formulaContent"></el-input> |
| | | </div> |
| | | |
| | | </el-card> |
| | | </el-col> |
| | | <!-- 右侧运算符 --> |
| | | <el-col :span="10"> |
| | | <el-card class="box-card" style="height: 33vh; overflow-y: auto; overflow-x: auto;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span style="font-size: medium;">运算符</span> |
| | | </div> |
| | | <div class="text item"> |
| | | <div class="formula-editor"> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'7'})">7</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'8'})">8</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'9'})">9</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'/'})">/</button><br/> |
| | | </div> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'4'})">4</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'5'})">5</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'6'})">6</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'*'})">*</button><br/> |
| | | </div> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'1'})">1</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'2'})">2</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'3'})">3</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'>'})">-</button><br/> |
| | | </div> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'0'})">0</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'00'})">00</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'.'})">.</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'+'})">+</button><br/> |
| | | </div> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'->'})">-></button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'=='})">==</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'('})">(</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':')'})">)</button><br/> |
| | | </div> |
| | | <div class="one"> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'<'})"><</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'>'})">></button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'<='})"><=</button> |
| | | <button class="formula-editor-btn-sm" @click="dbClickAddContent({'formula':'>='})">>=</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <!-- 左侧公式选择区域 --> |
| | | <el-col :span="14" style="overflow: hidden"> |
| | | <el-card class="box-card" style="height: 40vh; overflow-y: auto; overflow-x: auto;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span style="font-size: medium;">公式选择</span> |
| | | </div> |
| | | <div class="text item"> |
| | | <el-tabs v-model="activeName"> |
| | | |
| | | <el-tab-pane label="常用" name="first"> |
| | | <el-table |
| | | :data="commonFormulaTableData" |
| | | :show-header="false" |
| | | @row-dblclick="dbClickAddContent" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="300"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="财务" name="second"> |
| | | <el-table |
| | | :data="financialFormulaTableData" |
| | | @row-dblclick="dbClickAddContent" |
| | | :show-header="false" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="300"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="日期" name="third"> |
| | | <el-table |
| | | :data="dateFormulaTableData" |
| | | :show-header="false" |
| | | @row-dblclick="dbClickAddContent" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="300"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="数学" name="fourth"> |
| | | <el-table |
| | | :data="mathFormulaTableData" |
| | | :show-header="false" |
| | | @row-dblclick="dbClickAddContent" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="300"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="其他" name="five"> |
| | | <el-table |
| | | :data="otherFormulaTableData" |
| | | @row-dblclick="dbClickAddContent" |
| | | :show-header="false" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="300"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="300"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | </el-tabs> |
| | | |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | <!-- 右侧变量选择区域 --> |
| | | <el-col :span="10" style="overflow: hidden"> |
| | | <el-card class="box-card" style="height: 40vh; overflow-y: auto; overflow-x: auto;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span style="font-size: medium;">变量</span> |
| | | </div> |
| | | <div class="text item"> |
| | | <el-tabs v-model="activeNameAttr"> |
| | | <el-tab-pane label="本场景变量" name="first"> |
| | | <el-table |
| | | :data="thisSceneTableData" |
| | | @row-dblclick="dbClickAddContent" |
| | | :show-header="false" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="40"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="100"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="系统变量" name="second"> |
| | | <el-table |
| | | :data="systemVariableTableData" |
| | | @row-dblclick="dbClickAddContent" |
| | | :show-header="false" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="formula" |
| | | width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="desc" |
| | | width="150"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | <!-- 第二层对话框,属性码段,公式编辑框弹窗组件 --> |
| | | <formula-editor ref="formulaEditor" |
| | | @updateFormulaContent="updateFormulaContent" |
| | | :thisSceneTableData="thisSceneTableData" |
| | | :systemVariableTableData="systemVariableTableData"> |
| | | </formula-editor> |
| | | |
| | | <!-- 第二层对话框,为【父分类码段】选取值弹窗 --> |
| | | <el-dialog title="为【父分类码段】选取值" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus } from "@/api/code/mdmrule"; |
| | | import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus,clone,clearAllCode } from "@/api/code/mdmrule"; |
| | | import { |
| | | gridCodeBasicSec, |
| | | downOrderNum, |
| | | upOrderNum, |
| | | deleteData, |
| | | editSave, |
| | | getObjectByOid, |
| | | listDataByOids, |
| | | refDataGrid, |
| | | cloneCodeBasic, |
| | | addSave, |
| | | refDataGridClassifySec, |
| | | } from "@/api/code/codebasic"; |
| | | import { treeTopCodeClassify, listClassifyLinkAttr } from "@/api/code/codeclassify"; |
| | | import { gridCodeFixedValue,addSaveCodeFixedValue,deleteCodeFixedValue,editCodeFixedValue,saveOrder } from "@/api/code/codeFixedValue"; |
| | | import { treeCodeClassifyValue } from "@/api/code/codeClassifyValue"; |
| | | import { treeCodeClassifyValue,addSaveCodeClassifyValue,editCodeClassifyValue,deleteCodeClassifyValue,saveCodeClassifyValueOrder } from "@/api/code/codeClassifyValue"; |
| | | import { getDictionary } from "@/api/omd/dict"; |
| | | import optionBasic from "@/const/code/codebasic"; |
| | | import cloneOption from "@/const/code/cloneOption"; |
| | | import cloneBasicOption from "@/const/code/cloneBasicDialogOption"; |
| | | import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption.js"; |
| | | import optionRule from "@/const/code/mdmrule"; |
| | | import attrOption from "@/const/code/selectAttrOptionDialog"; |
| | | import treeOption from "@/const/code/classifyTreeOptionDialog"; |
| | | import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog"; |
| | | import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; |
| | | import referBtmOption from "@/const/code/referBtmDialog"; |
| | | import fixedValueOption from "@/const/code/fixedValueMgrDialog"; |
| | | import { getDictionary } from "@/api/omd/dict"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | |
| | | optionRule: optionRule, |
| | | data: [], |
| | | currentRuleLcStatus: '', |
| | | /*克隆按钮对话框控制*/ |
| | | /*克隆对话框控制变量*/ |
| | | cloneSettingBox: false, |
| | | optionBasic: optionBasic, |
| | | cloneTableLoading: false, |
| | | cloneOption: cloneOption, |
| | | cloneData: [], |
| | | cloneCodeRuleForm: { |
| | | id: '', |
| | | name: '', |
| | | description: '', |
| | | }, |
| | | /*从其他规则克隆码段*/ |
| | | cloneOtherCodeRuleSettingBox: false, |
| | | cloneBasicOption: cloneBasicOption, |
| | | cloneCodeRuleOption: cloneCodeRuleOption, |
| | | selectionOtherCloneCodeBasicList: [], // 当前选中的基础码段 |
| | | |
| | | /*使用范围对话框显示控制*/ |
| | | codeRangeSettingBox: false, |
| | | useRangeData: [], |
| | |
| | | }, |
| | | |
| | | /*基础码段相关数据*/ |
| | | optionBasic: optionBasic, |
| | | basicData:[], |
| | | loadingBasic: true, |
| | | selectionBasicList: [], |
| | |
| | | |
| | | //分类码段码值表单 |
| | | codeClassifyForm: { |
| | | codeclassifysecoid: "", |
| | | codeClassifySecOid: "", |
| | | id: "", |
| | | name: "", |
| | | oid: "", |
| | | parentclassifyvalueoid: "", |
| | | }, |
| | | |
| | | classisyValueTreeOption: classisyValueTreeOption, //分类码段树相关配置项 |
| | | classifyValueTreeData: [], |
| | | currentSelectTreeData: '', //当前选中的分类码值树节点 |
| | | |
| | | /* 为属性选取值窗口显示打开控制变量 */ |
| | | isShowSelectAttrOption: false, |
| | |
| | | selectattrData: [], |
| | | selectAttrOptionLoading: false, |
| | | selectionChangeAttrList: [], |
| | | |
| | | /*公式编辑框对话框相关数据*/ |
| | | isShowformulaEdit: false, //公式编辑框对话框显示控制 |
| | | formulaContent: '', //公式编辑框内容 |
| | | activeName: 'first', //当前活动的tab |
| | | activeNameAttr: 'first', //变量中的当前活动tab |
| | | //常用公式 |
| | | commonFormulaTableData: [{ |
| | | "formula": 'if(compare,trueResult,falseResult)', |
| | | "desc": '如果compare的表达式为true,则执行trueResult的表达式,否则执行flaseResult.例如if(3>2,2*(3+2),3/(2-4)),值等于10', |
| | | }, |
| | | // 属性码段,公式编辑框组件的本场景显示变量、与系统变量 |
| | | thisSceneTableData: [ |
| | | { |
| | | "formula": 'sum(douber1,douber2)', |
| | | "desc": '两个格式为douber的参数求和', |
| | | }, |
| | | { |
| | | "formula": 'sub(douber1,douber2)', |
| | | "desc": '格式为douber的参数douber1减去格式为douber的参数douber2', |
| | | }, |
| | | { |
| | | "formula": 'mul(douber1,douber2)', |
| | | "desc": '两个格式为douber的参数相乘', |
| | | }, |
| | | { |
| | | "formula": 'div(douber1,douber2)', |
| | | "desc": '格式为douber的参数douber1除以格式为douber的参数douber2.当douber2等于0的时候,返回0;如果除不尽的时候保留10位小数', |
| | | }, |
| | | { |
| | | "formula": 'mod(int,int)', |
| | | "desc": '求余数', |
| | | }, |
| | | { |
| | | "formula": 'toInt(string)', |
| | | "desc": '转换为int格式', |
| | | }, |
| | | { |
| | | "formula": 'doubleRound(string,count)', |
| | | "desc": '处理douber的小数位数,count表示小数位数', |
| | | }, |
| | | { |
| | | "formula": 'zeroIfNull(value)', |
| | | "desc": '如果参数的值为null或者"",将返回0', |
| | | }, |
| | | { |
| | | "formula": 'endsWith(string,str1)', |
| | | "desc": '字符串string是不是以str1结尾', |
| | | }, |
| | | { |
| | | "formula": 'startsWith(string,str1)', |
| | | "desc": '字符串string是否以str1开头', |
| | | }, |
| | | { |
| | | "formula": 'charAt(string,index)', |
| | | "desc": '获取字符串string中第index位置的字符,如果长度小于index,则返回', |
| | | }, |
| | | { |
| | | "formula": 'equalsIgnoreCase(str1,str2)', |
| | | "desc": '字符串str1和字符串str2是否相等', |
| | | }, |
| | | { |
| | | "formula": 'indexOf(str1,str2)', |
| | | "desc": '字符串str2在字符串str1中首次出现的位置', |
| | | }, |
| | | { |
| | | "formula": 'isEmpty(str1)', |
| | | "desc": '参数str1是否为空,其中null这个字符串也表示为空', |
| | | }, |
| | | { |
| | | "formula": 'lastIndexOf(str1,str2)', |
| | | "desc": '字符串str2在字符串str1中最后出现的位置', |
| | | }, |
| | | { |
| | | "formula": 'leftStr(str1,index)', |
| | | "desc": '获取index位置左侧的所有字符', |
| | | }, |
| | | { |
| | | "formula": 'rightStr(str1,str2)', |
| | | "desc": '获取index位置右侧的所有字符', |
| | | }, |
| | | { |
| | | "formula": 'length(str1)', |
| | | "desc": '参数str1的长度', |
| | | }, |
| | | { |
| | | "formula": 'mid(str1,start,end)', |
| | | "desc": '获取str1的从start到end直接的字符串,出现异常时返回', |
| | | }, |
| | | { |
| | | "formula": 'tolowercase(str1)', |
| | | "desc": '将字符串str1转为小写', |
| | | }, |
| | | { |
| | | "formula": 'touppercase(str1)', |
| | | "desc": '将字符串str1转为大写', |
| | | }, |
| | | { |
| | | "formula": 'trimzero(str1)', |
| | | "desc": '去除字符串str1中的0', |
| | | }, |
| | | { |
| | | "formula": 'MD5(str1)', |
| | | "desc": '将字符串进行MD5加密', |
| | | }, |
| | | ], |
| | | //财务公式 |
| | | financialFormulaTableData: [{ |
| | | "formula": 'toChinese(value)', |
| | | "desc": '将阿拉伯数字转为为汉字大写方式' |
| | | }, |
| | | { |
| | | "formula": 'getChineseCurrency(value)', |
| | | "desc": '将阿拉伯数字转为为汉字金额大写方式,与tochiness的区别是这个会显示元、角、分' |
| | | }, |
| | | { |
| | | "formula": 'setThmark(value)', |
| | | "desc": '为参数value设置千分位' |
| | | formula: "${}", |
| | | desc: "", |
| | | } |
| | | ], |
| | | //日期公式 |
| | | dateFormulaTableData: [{ |
| | | "formula": 'compareDate(d1,d2)', |
| | | "desc": '对比参数d1,d2的大小。d1,d2为yyyy-MM-dd格式的日期字符串' |
| | | systemVariableTableData: [ |
| | | { |
| | | formula: "#CURRENTUSER.OID#", |
| | | desc: "当前用户的主键", |
| | | }, |
| | | { |
| | | "formula": 'nowDate()', |
| | | "desc": '获取当前日期' |
| | | formula: "#CURRENTUSER.ID#", |
| | | desc: "当前用户的账户", |
| | | }, |
| | | { |
| | | "formula": 'chinaDate(d1)', |
| | | "desc": '将时间转换为农历,d1是yyyy-MM-dd格式的日期字符串' |
| | | formula: "#CURRENTTIME#", |
| | | desc: "当前时间", |
| | | }, |
| | | { |
| | | "formula": 'dateAdd(d1,count)', |
| | | "desc": '在d1的基础上添加count天,d1为yyyy-MM-dd HH:mm:ss格式的时间字符串' |
| | | formula: "#CURRENTDATE#", |
| | | desc: "当前日期", |
| | | }, |
| | | { |
| | | "formula": 'dateBalanceYear(sourceDate,targetDate,false)', |
| | | "desc": '计算相差的年份,比如计算年龄,targetDate为""表示当前时间,第三个参数为true表示有多余的月份或者天数时,就加1;' |
| | | formula: "#CURRENTDATETIME#", |
| | | desc: "当前日期时间", |
| | | }, |
| | | { |
| | | "formula": 'dateBalanceDay(sourceDate,targetDate)', |
| | | "desc": '计算相差的天数,targetDate为""表示当前时间' |
| | | formula: "#CURRENTUSER_NAME#", |
| | | desc: "当前用户的姓名", |
| | | }, |
| | | { |
| | | "formula": 'dateformat(d1,format)<', |
| | | "desc": '将当前的日期(时间)字符串转为指定的字符串,如果format的内容有空格,请使用&代替' |
| | | formula: "#CURRENTUSER.SECRETGRADE#", |
| | | desc: "当前用户密级", |
| | | }, |
| | | { |
| | | "formula": 'nowDatetime()', |
| | | "desc": '获取当前日期和时间。格式为yyyy-MM-dd HH:mm:ss' |
| | | formula: "#CURRENTUSER.IPSECRET#", |
| | | desc: "当前用户的IP密级", |
| | | }, |
| | | { |
| | | "formula": 'dayOf(d1)', |
| | | "desc": '获取格式为yyyy-MM-dd的日期的天数' |
| | | formula: "#CURRENTUSER.BUSINESSUNIT#", |
| | | desc: "当前用户所属业务单元", |
| | | }, |
| | | { |
| | | "formula": 'nowMon()', |
| | | "desc": '获取当前的月份,格式为MM' |
| | | formula: "#CURRENTUSER.BUSINESSUNITNAME#", |
| | | desc: "当前用户所属业务单元名称", |
| | | }, |
| | | { |
| | | "formula": 'monOf(d1)', |
| | | "desc": '获取日期d1的月份数' |
| | | formula: "#CURRENTUSER.GROUPOID#", |
| | | desc: "当前用户的部门主键", |
| | | }, |
| | | { |
| | | "formula": 'nowTime()', |
| | | "desc": '获取当前时间,格式为HH:mm:ss' |
| | | formula: "#CURRENTUSER.GROUPNAME#", |
| | | desc: "当前用户所属部门名称", |
| | | }, |
| | | { |
| | | "formula": 'nowYear()', |
| | | "desc": '获取年份,格式为yyyy' |
| | | formula: "#CURRENTUSER.EMAIL#", |
| | | desc: "当前用户邮件地址", |
| | | }, |
| | | { |
| | | "formula": 'yearOf()', |
| | | "desc": '获取时间d1的年份' |
| | | } |
| | | ], |
| | | //数学公式 |
| | | mathFormulaTableData: [{ |
| | | "formula": 'abs(value)', |
| | | "desc": '求参数value的绝对值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'acos(value)', |
| | | "desc": '求参数value的反余弦,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'asin(value)', |
| | | "desc": '求参数value的反正弦,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'atan(value)', |
| | | "desc": '求参数value的反正切,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'cbrt(value)', |
| | | "desc": '求参数value的立方根,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'ceil(value)', |
| | | "desc": '返回不大于参数value的最小整数,例如ceil(1.7)就等于2,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'cos(value)', |
| | | "desc": '求参数value的余弦值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'cosh(value)', |
| | | "desc": '求参数value的双曲余弦值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'exp(n)', |
| | | "desc": '欧拉数 e 的n次幂,n必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'floor(n)', |
| | | "desc": '欧拉数 e 的n次幂减1,n必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'log(value)', |
| | | "desc": '返回不小于参数value的最大整数,例如floor(1.7)等于1,n必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'log10(value)', |
| | | "desc": '自然对数,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'log1p(value)', |
| | | "desc": '计算底数为 10 的对数,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'random()', |
| | | "desc": '返回参数与 1 之和的自然对数,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'rint(value)', |
| | | "desc": '返回一个伪随机数,该值大于等于 0.0 且小于 1.0' |
| | | }, |
| | | { |
| | | "formula": 'round(value)', |
| | | "desc": '返回其值最接近参数并且是整数的 double 值。如果两个整数的 double 值都同样接近,那么结果取偶数。特殊情况是:如果参数值是整数,那么结果就是该参数。如果参数是 NaN 或无穷大或正零或负零,那么结果与参数相同' |
| | | }, |
| | | { |
| | | "formula": 'signum(value)', |
| | | "desc": '符号函数;如果参数为 0,则返回 0;如果参数大于 0, 则返回 1.0;如果参数小于 0,则返回 -1.0' |
| | | }, |
| | | { |
| | | "formula": 'sin(value)', |
| | | "desc": '求参数value的正弦值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'sinh(value)', |
| | | "desc": '求参数value的双曲正弦值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'tan(value)', |
| | | "desc": '求参数value的正切值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'tanh(value)', |
| | | "desc": '求参数value的双曲正切值,value必须为数字格式' |
| | | }, |
| | | { |
| | | "formula": 'max(v1,v2)', |
| | | "desc": '求两个数中的较大的值,v1,v2都必须为数字格式,例如max(3.2,3)就等于3.2' |
| | | }, |
| | | { |
| | | "formula": 'min(v1,v2)', |
| | | "desc": '求两个数中的较小的值,v1,v2都必须为数字格式,例如max(3.2,3)就等于3' |
| | | }, |
| | | { |
| | | "formula": 'sqrt(value)', |
| | | "desc": '求平方根' |
| | | formula: "#CURRENTUSER.ROLENAME#", |
| | | desc: "当前用户所属角色名称", |
| | | }, |
| | | ], |
| | | //其他公式 |
| | | otherFormulaTableData: [{ |
| | | "formula": 'getcolvalue(servername,tablename,fieldname,pkField,pkValue)', |
| | | "desc": '查询servername中tablename数据库表中fieldname字段的值,pkfield表示主键的字段名称,pkValue表示主键的值,serverName现在默认为localServer' |
| | | }, |
| | | ], |
| | | //本场景变量 |
| | | thisSceneTableData: [{ |
| | | "formula": '${}', |
| | | "desc": ' ' |
| | | }, |
| | | ], |
| | | //系统变量 |
| | | systemVariableTableData: [{ |
| | | "formula": '#CURRENTUSER.OID#', |
| | | "desc": '当前用户的主键' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.ID#', |
| | | "desc": '当前用户的账户' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTTIME#', |
| | | "desc": '当前时间' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTDATE#', |
| | | "desc": '当前日期' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTDATETIME#', |
| | | "desc": '当前日期时间' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER_NAME#', |
| | | "desc": '当前用户的姓名' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.SECRETGRADE#', |
| | | "desc": '当前用户密级' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.IPSECRET#', |
| | | "desc": '当前用户的IP密级' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.BUSINESSUNIT#', |
| | | "desc": '当前用户所属业务单元' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.BUSINESSUNITNAME#', |
| | | "desc": '当前用户所属业务单元名称' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.GROUPOID#', |
| | | "desc": '当前用户的部门主键' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.GROUPNAME#', |
| | | "desc": '当前用户所属部门名称' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.EMAIL#', |
| | | "desc": '当前用户邮件地址' |
| | | }, |
| | | { |
| | | "formula": '#CURRENTUSER.ROLENAME#', |
| | | "desc": '当前用户所属角色名称' |
| | | } |
| | | ], |
| | | |
| | | |
| | | /* 父分类码段对话框 */ |
| | | isShowParentClassifyOption: false, //父分类码段对话框显示控制 |
| | |
| | | componentCodeFlag: false, //是否参与编码 |
| | | pkCodeRule: '', //所属编码规则 |
| | | }, |
| | | formRules: { |
| | | id: [ |
| | | { required: true, message: '请输入码段编号', trigger: 'blur' }, |
| | | ], |
| | | name: [ |
| | | { required: true, message: '请输入码段名称', trigger: 'blur' }, |
| | | ], |
| | | secType: [ |
| | | { required: true, message: '请输入码段名称', trigger: 'blur' }, |
| | | ], |
| | | codeSecLengthType: [ |
| | | { required: true, message: '请选择码段长度类型', trigger: 'change' }, |
| | | ], |
| | | codeSecLength: [ |
| | | { required: true, message: '请输入码段的长度', trigger: 'blur' }, |
| | | { type: 'number', message: '码段的长度必须为数字值'} |
| | | ], |
| | | referAttributeName: [ |
| | | { required: true, message: '请选择属性', trigger: 'blur' }, |
| | | ], |
| | | serialStart: [ |
| | | { type: 'number', message: '码段的长度必须为数字值'} |
| | | ], |
| | | serialStep: [ |
| | | { type: 'number', message: '码段的长度必须为数字值'} |
| | | ], |
| | | codeFillType: [ |
| | | { required: true, message: '请选择编码补位方式', trigger: 'blur' }, |
| | | ], |
| | | // 设置补位时的字符,需要自定义方法来做判断 |
| | | codeFillSeparatorSelect: [ |
| | | { required: true, message: '请输入补位时的字符', trigger: 'blur' }, |
| | | ], |
| | | codeFillLength: [ |
| | | { required: true, message: '请输入填充长度', trigger: 'blur' }, |
| | | { type: 'number', message: '填充长度必须为数字值'} |
| | | ], |
| | | codeFillLimit: [ |
| | | { required: true, message: '请输入流水上限', trigger: 'blur' }, |
| | | { type: 'number', message: '流水上限必须为数字值'} |
| | | ], |
| | | codeLevelType: [ |
| | | { required: true, message: '请选择层级类型', trigger: 'change' }, |
| | | ], |
| | | codeLevelValue: [ |
| | | { type: 'number', message: '层级的值必须为数字值'} |
| | | ], |
| | | valueCutType: [ |
| | | { required: true, message: '请选择字符截取类型', trigger: 'change' }, |
| | | ], |
| | | referBtmId: [ |
| | | { required: true, message: '请选参照应用的业务类型', trigger: 'change' }, |
| | | ], |
| | | referConfig: [ |
| | | { required: true, message: '请选择参照配置', trigger: 'change' }, |
| | | ], |
| | | codeDateFormatStr: [ |
| | | { required: true, message: '请输入日期格式', trigger: 'blur' }, |
| | | ], |
| | | // formRules: { |
| | | // id: [ |
| | | // { required: true, message: '请输入码段编号', trigger: 'blur' }, |
| | | // ], |
| | | // name: [ |
| | | // { required: true, message: '请输入码段名称', trigger: 'blur' }, |
| | | // ], |
| | | // secType: [ |
| | | // { required: true, message: '请选中码段类型', trigger: 'change' }, |
| | | // ], |
| | | // codeSecLengthType: [ |
| | | // { required: true, message: '请选择码段长度类型', trigger: 'change' }, |
| | | // ], |
| | | // codeSecLength: [ |
| | | // { required: true, message: '请输入码段的长度', trigger: ['blur', 'change']}, |
| | | // { type: 'number', message: '码段的长度必须为数字值',trigger: ['blur', 'change']} |
| | | // ], |
| | | // referAttributeName: [ |
| | | // { required: true, message: '请选择属性', trigger: 'change' }, |
| | | // ], |
| | | // serialStart: [ |
| | | // { type: 'number', message: '流水号的起始值必须为数字值',trigger: ['blur', 'change']} |
| | | // ], |
| | | // serialStep: [ |
| | | // { type: 'number', message: '流水的步长必须为数字值',trigger: ['blur', 'change']} |
| | | // ], |
| | | // codeFillType: [ |
| | | // { required: true, message: '请选择编码补位方式', trigger: ['blur', 'change']}, |
| | | // ], |
| | | // // 设置补位时的字符,需要自定义来做判断 |
| | | // codeFillSeparatorSelect: [ |
| | | // { validator: validateCodeFill, trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // codeFillLength: [ |
| | | // { required: true, message: '请输入填充长度', trigger: ['blur', 'change'] }, |
| | | // { type: 'number', message: '填充长度必须为数字值',trigger: ['blur', 'change']} |
| | | // ], |
| | | // codeFillLimit: [ |
| | | // { required: true, message: '请输入流水上限', trigger: ['blur', 'change'] }, |
| | | // { type: 'number', message: '流水上限必须为数字值',trigger: ['blur', 'change']} |
| | | // ], |
| | | // codeLevelType: [ |
| | | // { required: true, message: '请选择层级类型', trigger: 'change' }, |
| | | // ], |
| | | // codeLevelValue: [ |
| | | // { required: false, type: 'number', message: '层级的值必须为数字值', trigger: 'change'} |
| | | // ], |
| | | // valueCutType: [ |
| | | // { required: true, message: '请选择字符截取类型', trigger: 'change' }, |
| | | // ], |
| | | // referBtmId: [ |
| | | // { required: true, message: '请选择参照应用的业务类型', trigger: 'change' }, |
| | | // ], |
| | | // referConfig: [ |
| | | // { required: true, message: '请选择参照配置', trigger: 'change' }, |
| | | // ], |
| | | // codeDateFormatStr: [ |
| | | // { required: true, message: '请输入日期格式', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | |
| | | }, |
| | | // }, |
| | | //枚举和可输可选查询 |
| | | sectypeList:[], //码段类型 |
| | | codeSecLengthType:[], //码段长度类型 |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | /* 公式编辑框内容改变,子组件编辑完公式之后内容回显时调用 */ |
| | | updateFormulaContent(content){ |
| | | this.form.getValueClass = content; |
| | | }, |
| | | |
| | | /** 选中参照引用的业务类型,第二层嵌套对话框,及其相关方法 */ |
| | | saveSelectedreferBtm(){ |
| | |
| | | |
| | | |
| | | /** 父分类选择对话框,第二层嵌套对话框,及其相关方法 */ |
| | | // 保存当前父分类码段的选中行,并进行子组件回显 |
| | | // 保存当前父分类码段的选中行,并进行回显 |
| | | saveSelectedParentClassify(){ |
| | | //console.log(this.parentClassifySelectionList.length); |
| | | if(this.parentClassifySelectionList.length != 1){ |
| | |
| | | return false; |
| | | } |
| | | //调用子组件并传递当前选中的参数值,实现回显 |
| | | this.form.parentClassifySecOid = this.parentClassifySelectionList[0].id; |
| | | this.form.parentClassifySecOid = this.parentClassifySelectionList[0].oid; |
| | | this.form.parentClassifySecText = this.parentClassifySelectionList[0].name; |
| | | //清空当前选中的行 |
| | | this.parentClassifySelectionClear(); |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | /** 打开公式编辑框,第二层嵌套对话框,及其相关方法 */ |
| | | openformulaEdit(){ |
| | | this.isShowformulaEdit = true; |
| | | }, |
| | | //双击添加公式内容 |
| | | dbClickAddContent(row){ |
| | | //console.log(row.formula); |
| | | this.formulaContent = this.formulaContent + row.formula; |
| | | }, |
| | | //清空公式内容 |
| | | resetFormulaContent(){ |
| | | this.formulaContent = ''; |
| | | }, |
| | | //关闭时清空上次公式内容 |
| | | closeFormulaEdit(){ |
| | | this.resetFormulaContent(); |
| | | }, |
| | | //编辑完成公式内容并回显 |
| | | saveFormulaContent(){ |
| | | //console.log(this.formulaContent); |
| | | if(this.formulaContent.trim == null || this.formulaContent.trim == ''){ |
| | | this.$message.warning("公式内容不能为空!"); |
| | | return; |
| | | } |
| | | //公式内容回显 |
| | | this.form.getValueClass = this.formulaContent; |
| | | this.isShowformulaEdit = false; |
| | | }, |
| | | |
| | | /** 打开属性选取值,第二层嵌套对话框,及其相关方法 */ |
| | | // 获取当前被选中树节点的oid |
| | |
| | | }else{ |
| | | //分类码段 |
| | | this.isShowFixedForm = false; |
| | | this.loadClassifyValueData(row); |
| | | } |
| | | this.codefixedsecOrCodeclassifysecOid = row.oid; |
| | | this.isShowBasicSecCodeValueMgr = true; |
| | |
| | | this.fixedValueOptionLoading = false; |
| | | }) |
| | | }, |
| | | //加载分类码段码值管理页面tree数据 |
| | | |
| | | //单击固定码段的码值表中行时触发的事件 |
| | | selectedCodeValueRow(row){ |
| | | //console.log(row); |
| | |
| | | this.$message.warning("码值不能为空!"); |
| | | return; |
| | | } |
| | | if(this.codeFixdForm.id.trim().length >= 12 ){ |
| | | this.$message.warning("码值长度不能大于12!"); |
| | | return; |
| | | } |
| | | this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysecOid; |
| | | addSaveCodeFixedValue(this.codeFixdForm).then(() => { |
| | | this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid}); |
| | |
| | | window.console.log(error); |
| | | }); |
| | | }else { |
| | | |
| | | this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysecOid; |
| | | console.log(this.codeClassifyForm); |
| | | addSaveCodeClassifyValue(this.codeClassifyForm).then(() => { |
| | | this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid}); |
| | | this.clearFixedOrClassifyForm('codeclassifyvaluesec'); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | this.$confirm(error, { |
| | | confirmButtonText: "确定", |
| | | type: "error", |
| | | }) |
| | | }); |
| | | } |
| | | }, |
| | | // 清空码值表单 |
| | | clearFixedOrClassifyForm(condition){ |
| | | //点击取消时清空表单与当前选中的码值,并禁用按钮 |
| | | this.selectedFixedOrCodeclassifyValue = ''; |
| | | //console.log(condition); |
| | | if(condition === "close"){ |
| | | this.codeFixdForm.id = ''; |
| | | this.codeFixdForm = this.$options.data().codeFixdForm; |
| | | this.codeClassifyForm = this.$options.data().codeClassifyForm; |
| | | } |
| | | if(condition === "codefixedsec" || condition === "close"){ |
| | | if(condition === "codefixedsec"){ |
| | | this.codeFixdForm.description = ''; |
| | | this.codeFixdForm.codeFixedSecOid = ''; |
| | | }else { |
| | | this.codeClassifyForm = ''; |
| | | this.codeClassifyForm = this.$options.data().codeClassifyForm; |
| | | } |
| | | }, |
| | | //修改码值 |
| | |
| | | window.console.log(error); |
| | | }); |
| | | }else { |
| | | |
| | | this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid; |
| | | editCodeClassifyValue(this.codeClassifyForm).then(() => { |
| | | this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid}) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | } |
| | | |
| | | }, |
| | |
| | | delCodeSecValue(condition){ |
| | | //固定码段码值删除 |
| | | if(condition == 'codefixedsec'){ |
| | | console.log(this.selectedFixedOrCodeclassifyValue.oid); |
| | | //console.log(this.selectedFixedOrCodeclassifyValue.oid); |
| | | this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | return deleteCodeFixedValue({"oid": this.selectedFixedOrCodeclassifyValue.oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this.selectedFixedOrCodeclassifyValue = ''; |
| | | this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid}) |
| | | this.clearFixedOrClassifyForm('codefixedsec'); |
| | | this.$message({ |
| | |
| | | }); |
| | | }else{ |
| | | //分类码段码值删除 |
| | | |
| | | this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime(); |
| | | return deleteCodeClassifyValue({"oid": this.selectedFixedOrCodeclassifyValue.oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this.selectedFixedOrCodeclassifyValue = ''; |
| | | this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid}) |
| | | this.clearFixedOrClassifyForm('codeclassifyvalue'); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | //对码值表进行:上移、下移、移除操作 |
| | | //对固定码值表进行:上移、下移、移除操作 |
| | | codeFixedValueOpetion(condition,row){ |
| | | //console.log(this.fixedValueData[row.$index].orderNum); |
| | | const index = row.$index; |
| | |
| | | } |
| | | //console.log(this.fixedValueData); |
| | | }, |
| | | //保存对固定码段码值的操作 |
| | | saveCodeFixedValueOption(){ |
| | | //对分类码值表进行:上移、下移、移除操作 |
| | | codeClassifyValueOpetion(condition){ |
| | | //此处涉及到深浅拷贝问题,但是执行上下移保存操作之后会重新加载treedata,所以影响不大 |
| | | let currentTreeList = this.getCodeClassifyValueTreeData(); |
| | | let saveData = []; |
| | | console.log(currentTreeList.treeList); |
| | | if(condition == 'up'){ |
| | | if(currentTreeList.index-1>=0){ |
| | | // 调整顺序 |
| | | saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes; |
| | | saveData[1] = currentTreeList.treeList[currentTreeList.index-1].attributes; |
| | | saveData[0].orderNum = parseInt(saveData[0].orderNum)-1; |
| | | saveData[1].orderNum = parseInt(saveData[1].orderNum)+1; |
| | | this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData); |
| | | } |
| | | }else{ |
| | | if(currentTreeList.index+1<currentTreeList.treeList.length){ |
| | | // 调整顺序 |
| | | saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes; |
| | | saveData[1] = currentTreeList.treeList[currentTreeList.index+1].attributes; |
| | | saveData[0].orderNum = parseInt(saveData[0].orderNum)+1; |
| | | saveData[1].orderNum = parseInt(saveData[1].orderNum)-1; |
| | | this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData); |
| | | } |
| | | } |
| | | console.log(saveData); |
| | | console.log(this.classifyValueTreeData); |
| | | }, |
| | | //选中被调整顺序的两个树的节点 |
| | | getCodeClassifyValueTreeData(){ |
| | | const currentNodeTreeData = this.selectedFixedOrCodeclassifyValue; |
| | | /**考虑几种情况,第一种当前上移|下移操作已经是边界, |
| | | 不需要要做处理,第二种当前为树根节点,第三种当前为叶子节点 |
| | | */ |
| | | //说明是根节点,直接找再判断是否是边界值 |
| | | if(currentNodeTreeData.parentId.trim() == ''){ |
| | | return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.oid,true); |
| | | }else{ |
| | | //说明不是根节点,先找到父节点再找到子节点,判断是否是边界值 |
| | | return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.parentId,false); |
| | | } |
| | | }, |
| | | /** |
| | | * 找前一个和后一个元素 |
| | | * @treeList 查找的数组 |
| | | * @conditionOid 用来查找判断的条件 |
| | | * @isTreeRoot 是否父节点 |
| | | * @rreturn 返回相邻的节点 |
| | | */ |
| | | findTreeIndex(treeList,conditionOid,isTreeRoot){ |
| | | for(let index=0;index<treeList.length;index++){ |
| | | if(treeList[index].oid==conditionOid){ |
| | | if(isTreeRoot){ |
| | | let resData = { |
| | | "index":index, |
| | | "treeList":treeList, |
| | | } |
| | | return resData; |
| | | }else{ |
| | | return this.findTreeIndex(this.classifyValueTreeData[index].children,this.selectedFixedOrCodeclassifyValue.oid,true); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | //上移下移等操作的保存 |
| | | saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){ |
| | | //保存对固定码段码值的上移下移移出等操作 |
| | | if(condition == "fixedValue"){ |
| | | let data = { |
| | | "codeFixedSecOid": this.codefixedsecOrCodeclassifysecOid, |
| | | "dtoList": JSON.stringify(this.fixedValueData), |
| | | } |
| | | saveOrder(data).then(() => { |
| | | //执行完保存之后将当前选中的对象清空 |
| | | this.selectedFixedOrCodeclassifyValue = ''; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "保存成功!" |
| | |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | }else { |
| | | //保存对分类码值码段码值的上移下移移出等操作 |
| | | saveCodeClassifyValueOrder({ |
| | | "codeClassifySecOid": this.codefixedsecOrCodeclassifysecOid, |
| | | "dtoList": JSON.stringify(editOrderNumdata), |
| | | }).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "保存成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid}); |
| | | } |
| | | |
| | | }, |
| | | //分类码值树data加载 |
| | | loadClassifyValueData(row){ |
| | | //console.log(row); |
| | | let condtionData = { |
| | | "queryAllLevel": true, |
| | | "loadType": "all", |
| | | "multipleSelect": false, |
| | | "isMuti": false, |
| | | "isQueryAllColumn": true, |
| | | 'conditionMap[codeclassifysecoid]':row.oid, |
| | | }; |
| | | treeCodeClassifyValue(condtionData).then( res=> { |
| | | this.classifyValueTreeData = res.data; |
| | | //console.log(res.data); |
| | | }); |
| | | }, |
| | | //分类码值树单击时触发的事件 |
| | | classisyValueTreeOnodeClick(node){ |
| | | //console.log(node); |
| | | this.selectedFixedOrCodeclassifyValue = node; |
| | | this.codeClassifyForm.codeClassifySecOid = node.attributes.codeClassifySecOid; |
| | | this.codeClassifyForm.id = node.attributes.id; |
| | | this.codeClassifyForm.name = node.attributes.name; |
| | | this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid; |
| | | //console.log(this.codeClassifyForm); |
| | | }, |
| | | |
| | | |
| | | /** 基础码段相关方法 */ |
| | | //防止打开过编辑窗口之后表单中存在值,所以需要清空之后初始化form表单 |
| | | //防止打开过编辑窗口之后表单中存在值,所以需要清空,并初始化form表单属性 |
| | | clearBasicAddForm(){ |
| | | this.form = ''; |
| | | this.form = { |
| | | secType:'codefixedsec' |
| | | }; |
| | | this.changeSectypeFormItems(null); |
| | | this.form = this.$options.data().form;; |
| | | // this.changeSectypeFormItems(null); |
| | | }, |
| | | // 打开新增窗口 |
| | | addBasicCodeSec(){ |
| | |
| | | this.showbtn = true; |
| | | this.basicSecOnlyRead = false; |
| | | //为form绑定值 |
| | | this.changeSectypeFormItems(row); |
| | | }else{ |
| | | this.basicSecDialogTitle = '查看码段信息'; |
| | | this.showbtn = false; |
| | | this.basicSecOnlyRead = true; |
| | | this.changeSectypeFormItems(row); |
| | | } |
| | | //console.log(this.form); |
| | | this.changeSectypeFormItems(condition == 'add' ? null:row); |
| | | this.addBasicCodeSettingBox = true; |
| | | }, |
| | | // 新增基础码段 |
| | | saveOrEditBasicCode(){ |
| | | if(this.selectionList[0].oid == null || this.selectionList[0].oid == ''){ |
| | | this.$message.warning('缺失必要参数,请重新选择编码规则后重试!'); |
| | | this.$message.warning('缺失必要参数,请重新选择编码规则后再试!'); |
| | | return; |
| | | } |
| | | this.form.pkCodeRule = this.selectionList[0].oid; |
| | | //console.log(this.form); |
| | | if(this.form.oid == '' || this.form.oid == null){ |
| | | if(this.checkForm()){ |
| | | addSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | |
| | | }else{ |
| | | editSave(this.form).then(() => { |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | |
| | | window.console.log(error); |
| | | }); |
| | | } |
| | | |
| | | // 关闭窗口 |
| | | this.addBasicCodeSettingBox = false |
| | | // 点击新增基础码段,关闭窗口之后触发重新加载 |
| | | this.loadBasic(this.selectionList[0]); |
| | | }, |
| | | // 因为elementui的表单校验设置不上所以采用判断的方式来做表单检验方式 |
| | | checkForm(){ |
| | | let form = this.form; |
| | | //console.log(form); |
| | | const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //数字或小数正则校验 |
| | | const tipsMsg = "必填项不能为空"; |
| | | if(form.id == ''){ |
| | | this.$message.warning("(码段编号)"+tipsMsg); |
| | | this.$refs.id.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.name == ''){ |
| | | this.$message.warning("(码段名称)"+tipsMsg); |
| | | this.$refs.name.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.secType == ''){ |
| | | this.$message.warning("(码段类型)"+tipsMsg); |
| | | this.$refs.secType.$el.querySelector('select').focus(); |
| | | return false; |
| | | } |
| | | if(form.secType==='codefixedsec'){ |
| | | //固定码段 |
| | | if(form.codeSecLengthType == ''){ |
| | | this.$message.warning("(码段长度类型)"+tipsMsg); |
| | | this.$refs.codeSecLengthType.$el.querySelector('select').focus(); |
| | | return false; |
| | | } |
| | | if(form.codeSecLength == ''){ |
| | | this.$message.warning("(码段长度)"+tipsMsg); |
| | | this.$refs.codeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeSecLength)){ |
| | | this.$message.warning("码段的长度必须为数字值"); |
| | | this.$refs.codeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codeattrsec'){ |
| | | //属性码段 |
| | | if(form.referAttributeId == ''){ |
| | | this.$message.warning('(属性)'+tipsMsg); |
| | | this.$refs.referAttributeId.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codeserialsec'){ |
| | | console.log(form.codeFillType); |
| | | //流水码段 |
| | | if(form.codeSecLength == ''){ |
| | | this.$message.warning('(码段的长度)'+tipsMsg); |
| | | this.$refs.seriaCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeSecLength)){ |
| | | this.$message.warning('码段的长度必须为数字值'); |
| | | this.$refs.seriaCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.serialStart)){ |
| | | this.$message.warning('流水号的起始值必须为数字值'); |
| | | this.$refs.serialStart.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.serialStep)){ |
| | | this.$message.warning('流水的步长必须为数字值'); |
| | | this.$refs.serialStep.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.codeFillType == ''){ |
| | | this.$message.warning('(编码补位方式)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(form.codeFillType != '不补位' && form.codeFillSeparatorSelect == ''){ |
| | | this.$message.warning('当补位方式为左补位或者右补位的时候,补位字符不能为空'); |
| | | return false; |
| | | } |
| | | if(form.codeFillLength == ''){ |
| | | this.$message.warning('填充长度不能为空'); |
| | | this.$refs.codeFillLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeFillLength)){ |
| | | this.$message.warning('填充长度必须为数字值'); |
| | | this.$refs.codeFillLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.codeFillLimit == ''){ |
| | | this.$message.warning('(流水上限)'+tipsMsg); |
| | | this.$refs.codeFillLimit.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeFillLimit)){ |
| | | this.$message.warning('流水上限必须为数字值'); |
| | | this.$refs.codeFillLimit.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.codeFillFlag == ''){ |
| | | this.$message.warning('(流水是否补码)'+tipsMsg); |
| | | this.$refs.switch.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codelevelsec'){ |
| | | //层级码段 |
| | | if(form.codeLevelType == ''){ |
| | | this.$message.warning('(层级类型)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeLevelValue)){ |
| | | this.$message.warning('层级的值)只能填写数字'); |
| | | this.$refs.codeLevelValue.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.valueCutType == ''){ |
| | | this.$message.warning('(字符截取类型)'+tipsMsg); |
| | | this.$refs.valueCutType.$el.querySelector('select').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='coderefersec'){ |
| | | //引用码段 |
| | | if(form.referBtmId == ''){ |
| | | this.$message.warning('(参照引用的业务类型)'+tipsMsg); |
| | | this.$refs.referBtmId.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.referConfig == ''){ |
| | | this.$message.warning('(参照配置)'+tipsMsg); |
| | | this.$refs.referConfig.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codedatesec'){ |
| | | //日期码段 |
| | | if(form.codeDateFormatStr == ''){ |
| | | this.$message.warning('(日期格式)'+tipsMsg); |
| | | this.$refs.codeDateFormatStr.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codeclassifysec'){ |
| | | //分类码段 |
| | | if(form.codeSecLengthType == ''){ |
| | | this.$message.warning('(码段长度类型)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(form.codeSecLength == ''){ |
| | | this.$message.warning('(码段长度)'+tipsMsg); |
| | | this.$refs.classCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeSecLength)){ |
| | | this.$message.warning('码段的长度必须为数字值'); |
| | | this.$refs.classCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | }else if(this.form.secType==='codevariablesec'){ |
| | | //可变码段 |
| | | if(form.codeSecLength == ''){ |
| | | this.$message.warning('(码段长度)'+tipsMsg); |
| | | this.$refs.varCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(!regNumber.test(form.codeSecLength)){ |
| | | this.$message.warning('码段的长度必须为数字值'); |
| | | this.$refs.classCodeSecLength.$el.querySelector('input').focus(); |
| | | return false; |
| | | } |
| | | if(form.codeFillType == ''){ |
| | | this.$message.warning('(编码补位方式)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(form.codeFillType != '不补位' && form.codeFillSeparatorSelect == ''){ |
| | | this.$message.warning('当补位方式为左补位或者右补位的时候,补位字符不能为空'); |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | }, |
| | | // 判断数据是否选择以及只能选择单条数据 |
| | | tipsMessage(list){ |
| | |
| | | }, |
| | | // 点击触发加载基础码段信息 |
| | | loadBasic(row){ |
| | | if(this.cloneSettingBox){ |
| | | this.cloneTableLoading = true; |
| | | }else{ |
| | | this.loadingBasic = true; |
| | | } |
| | | //console.log(row.oid); |
| | | //存储当前关联的编码规则相关信息 |
| | | this.currentCodeRuleOid = row.oid; |
| | | this.currentRuleLcStatus = row.lcStatus; |
| | | gridCodeBasicSec(1, -1, {"pkCodeRule":row.oid}).then(res => { |
| | | const data = res.data.data; |
| | | // console.log(data); |
| | | if(this.cloneSettingBox){ |
| | | this.cloneData = data.records; |
| | | // console.log(tihs.cloneData); |
| | | this.cloneTableLoading = false; |
| | | }else { |
| | | this.basicData = data.records; |
| | | //console.log(this.basicData); |
| | | this.loadingBasic = false; |
| | | } |
| | | }); |
| | | }, |
| | | // 基础码段选中时触发 |
| | |
| | | }, |
| | | //单击编码规则实现行选择 |
| | | codeRuleRowClick (row) { |
| | | //console.log(row); |
| | | this.$refs.crud.toggleRowSelection(row); |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = row; |
| | | this.$refs.crud.setCurrentRow(row); |
| | | //this.$refs.crud.toggleRowSelection(row); //选中当前行 |
| | | this.loadBasic(row); |
| | | }, |
| | | // 启用与停用 |
| | |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | // 克隆 |
| | | cloneCodeSetting() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据!"); |
| | | // 打开编码规则克隆对话框 |
| | | openCodeRuleDialog() { |
| | | if (!this.tipsMessage(this.selectionList)) { |
| | | return; |
| | | } |
| | | if (this.selectionList.length > 1) { |
| | | this.cloneSettingBox = true; |
| | | this.cloneCodeRuleForm.id = this.selectionList[0].id; |
| | | this.cloneCodeRuleForm.name = this.selectionList[0].name; |
| | | this.cloneCodeRuleForm.description = this.selectionList[0].description; |
| | | this.loadBasic({"oid": this.selectionList[0].oid}); |
| | | }, |
| | | // 克隆编码规则保存功能 |
| | | saveCloneCodeRule(){ |
| | | let form = this.cloneCodeRuleForm; |
| | | if(form.id.trim()==''){ |
| | | this.$message.warning("编号不能为空!"); |
| | | return; |
| | | } |
| | | if(form.name.trim()==''){ |
| | | this.$message.warning("码值不能为空!"); |
| | | return; |
| | | } |
| | | this.selectionList[0].oid = ''; |
| | | this.selectionList[0].id = form.id; |
| | | this.selectionList[0].name = form.name; |
| | | this.selectionList[0].description = form.description; |
| | | this.selectionList[0].createTime = new Date().getTime(); |
| | | this.selectionList[0].ts = new Date(this.selectionList[0].ts).getTime(); |
| | | this.selectionList[0].lcStatus = 'Editing'; |
| | | let data = Object.assign({}, this.selectionList[0],{elements:this.cloneData}); |
| | | clone(data).then(() => { |
| | | this.cloneSettingBox = false; |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | //console.log(data); |
| | | }, |
| | | // 打开从其他编码规则中克隆码段对话框 |
| | | openOtherCodeRuleDialog(){ |
| | | if (!this.tipsMessage(this.selectionList)) { |
| | | return; |
| | | } |
| | | if(this.selectionList[0].lcStatus != 'Editing'){ |
| | | this.$message.warning("编码规则已被引用,不允许编辑或删除!"); |
| | | return; |
| | | } |
| | | this.cloneOtherCodeRuleSettingBox = true; |
| | | }, |
| | | //单击编码规则实现行选择 |
| | | codeOtherCloneRuleRowClick (row) { |
| | | this.loadBasic(row); |
| | | }, |
| | | // 编码规则当前选中行变化的时候触发 |
| | | selectionOtherCloneCodeRuleChange(list) { |
| | | //console.log(list); |
| | | this.selectionOtherCloneCodeRuleList = list; |
| | | if(this.selectionOtherCloneCodeRuleList.length > 0){ |
| | | this.loadBasic(this.selectionOtherCloneCodeRuleList[list.length-1]); |
| | | } |
| | | }, |
| | | selectionOtherCloneCodeBasicChange(list){ |
| | | this.selectionOtherCloneCodeBasicList = list; |
| | | }, |
| | | // 从其他编码规则中克隆码段信息 |
| | | saveOtherCodeBasic(){ |
| | | let oid = this.selectionList[0].oid; |
| | | let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList; |
| | | if(fromDialogPkCodebasic.length < 0){ |
| | | this.$message.warning("请选择码段数据!"); |
| | | return; |
| | | } |
| | | let res = fromDialogPkCodebasic.filter((item) => { |
| | | return item.pkCodeRule == oid; |
| | | }); |
| | | if(res != ''){ |
| | | this.$message.warning("需要克隆的编码规则与被克隆的编码规则相同!"); |
| | | return; |
| | | } |
| | | //console.log(res); |
| | | let oidArr = ''; |
| | | fromDialogPkCodebasic.forEach((item) =>{ |
| | | oidArr = oidArr+","+item.oid; |
| | | }) |
| | | let data = { |
| | | "pkCodeRule": oid, |
| | | "oidArr": oidArr, |
| | | } |
| | | //console.log(data); |
| | | cloneCodeBasic(data).then(() => { |
| | | this.cloneOtherCodeRuleSettingBox = false; |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | // 清空码值 |
| | | clearAllCodeSec(){ |
| | | if(this.selectionList.length == 0){ |
| | | this.$message.warning("没有选择数据!"); |
| | | return; |
| | | } |
| | | if(this.selectionList.length != 1){ |
| | | this.$message.warning("每次只能选择一条数据!"); |
| | | return; |
| | | } |
| | | localStorage.setItem("cloneOid",this.selectionList[0].oid) |
| | | this.cloneSettingBox = true; |
| | | let currentData = this.selectionList[0]; |
| | | this.$confirm("确定要清空码值?如果清空将不能被恢复,请谨慎!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let ts = new Date(currentData.ts).getTime(); |
| | | return clearAllCode({"oid": currentData.oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this. this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // 添加 |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | |
| | | // 编码规则当前选中行变化的时候触发 |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | //console.log("selectionChange====="+list); |
| | | this.$refs.crud.setCurrentRow(this.selectionList [list.length-1]); |
| | | if(this.selectionList.length > 0){ |
| | | this.currentCodeRuleOid = this.selectionList[list.length-1].oid; |
| | |
| | | this.loading = false; |
| | | this.loadBasic(this.data[0]) |
| | | this.$nextTick(() => { |
| | | this.$refs.crud.toggleRowSelection(this.data[0]); |
| | | //this.$refs.crud.toggleRowSelection(this.data[0]); |
| | | this.$refs.crud.setCurrentRow(this.data[0]); |
| | | }) |
| | | this.selectionList = data.records[0]; |
| | |
| | | if(condition === 'attr'){ |
| | | this.isShowSelectAttrOption = true; |
| | | }else if(condition === 'value'){ |
| | | this.isShowformulaEdit = true; |
| | | //打开公式编辑框,第二层嵌套对话框 |
| | | this.$refs.formulaEditor.isShowformulaEdit = true; |
| | | }else if(condition === 'parentClassifySecOid'){ |
| | | this.isShowParentClassifyOption = true; |
| | | }else if(condition === 'referBtmId'){ |
| | |
| | | this.form.referBtmId = ''; |
| | | } |
| | | }, |
| | | |
| | | // 补位时的字符,实现可输可选 |
| | | inputSelectBlur(e){ |
| | | if (e.target.value) { |
| | | this.form.codeFillSeparatorSelect = e.target.value; |
| | | } |
| | | }, |
| | | // 码段类型改变时,增加对应的form表单中的属性 |
| | | changeSectypeFormItems(row){ |
| | | console.log(row); |
| | | //console.log(row); |
| | | if(this.sectypeList.length==0){ |
| | | this.loadCodeSecType(); |
| | | } |
| | | if(row != null){ |
| | | this.form = {}; |
| | | this.form = Object.assign({},this.form,{ |
| | | this.form = { |
| | | oid: row.oid, |
| | | id: row.id, //编号, |
| | | name: row.name,//名称 |
| | |
| | | componentCodeFlag: row.componentCodeFlag=='true' ? true:false,//是否参与编码 |
| | | pkCodeRule: row.pkCodeRule, //所属编码规则 |
| | | } |
| | | ); |
| | | }else { |
| | | this.form = { |
| | | oid: this.form.oid, |
| | | id: this.form.id, //编号 |
| | | name: this.form.name, //名称 |
| | | secType: this.form.secType, //码段类型 |
| | |
| | | //流水码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', //码段的长度 |
| | | serialStart: row!=null&&row.serialStart != '' ? row.serialStart:'1', //流水号起始值 |
| | | serialStep: row!=null&&row.serialStep != '' ? row.serialStep:'1', //流水的步长 |
| | | serialStart: row!=null&&row.serialStart != '' ? row.serialStart:1, //流水号起始值 |
| | | serialStep: row!=null&&row.serialStep != '' ? row.serialStep:1, //流水的步长 |
| | | codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_right', //编码补位方式 |
| | | codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:'0', //补位时的字符,选中的下拉框的下标 |
| | | codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0', //补位时的字符 |
| | | codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0, //补位时的字符,选中的下拉框的下标 |
| | | codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:0, //补位时的字符 |
| | | codeFillLength: row!=null&&row.codeFillLength != '' ? row.codeFillLength:'', //填充长度 |
| | | codeFillLimit: row!=null&&row.codeFillLimit != '' ? row.codeFillLimit:'', //流水上限 |
| | | codeFillFlag: row!=null&&row.codeFillFlag != '' ? row.codeFillFlag=='true' ? true:false :false, //流水是否补码 |
| | |
| | | codeDateFormatStr: row!=null&&row.codeDateFormatStr != '' ? row.codeDateFormatStr:'', //日期格式 |
| | | }); |
| | | }else if(this.form.secType==='codeclassifysec'){ |
| | | //console.log(this.form); |
| | | //分类码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | codeSecLengthType: row!=null&&row.codeSecLengthType != '' ? row.codeSecLengthType:'code_sec_length_variable', //码段长度类型 |
| | |
| | | this.form = Object.assign({}, this.form,{ |
| | | codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', //码段的长度 |
| | | codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_right', //编码部位方式,枚举查询 |
| | | codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:'0', //选中的补位时的字符的下标 |
| | | codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0, //选中的补位时的字符的下标 |
| | | codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'', //补位时的字符,可输可选查询 |
| | | }); |
| | | this.loadCodeFillType(); |
| | |
| | | }) |
| | | }, |
| | | |
| | | |
| | | } |
| | | }; |
| | | |
| | | </script> |
| | | |
| | | <style> |
| | | <style scope> |
| | | |
| | | .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search { |
| | | margin-bottom: -15px; |
| | | } |
| | | |
| | | .code-rule-crud > .avue-crud__pagination { |
| | | padding: 14px 0 2px 20px; |
| | | } |
| | | |
| | | |
| | | .clone-input-textarea > .el-form-item__content { |
| | | width: 495px; |
| | | } |
| | | |
| | | .clone-avue-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .fixed-avue-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .other-clone-codebasic-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .other-clone-coderule-crud > .el-card> .el-card__body > .avue-crud__menu { |
| | | display: none!important; |
| | | } |
| | | |
| | | .el-table--small .el-table__cell { |
| | | padding: 3px 0; |
| | | } |
| | | |
| | | .classify_value_box > .el-scrollbar { |
| | | height: 95%; |
| | | } |
| | | |
| | | .basic-container > .el-card > .el-card__body { |
| | | margin: -10px 0; |
| | | } |
| | | .code-basicsec-container{ |
| | | padding: 1px 6px; |
| | | } |
| | | |
| | | .el-divider--horizontal { |
| | | margin-top: 19px !important; |
| | |
| | | |
| | | .el-input-number >.el-input > .el-input__inner { |
| | | width:120px; |
| | | } |
| | | |
| | | .formula-editor{ |
| | | margin-top: -15px; |
| | | margin-left: 2vw; |
| | | /*设置弹性盒子*/ |
| | | display: flex; |
| | | /*子元素以竖列排列,一共有6列*/ |
| | | flex-direction:column; |
| | | width: 360px; |
| | | height: 285px; |
| | | /*左右均匀排列*/ |
| | | justify-content: space-around; |
| | | /*上下均匀排列*/ |
| | | align-items: center; |
| | | } |
| | | |
| | | .one{ |
| | | display: flex; |
| | | /*以行排列*/ |
| | | flex-direction: row; |
| | | width: 296px; |
| | | height: 60px; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .formula-editor-btn-sm { |
| | | width: 72px; |
| | | height: 45px; |
| | | background: rgb(153, 214, 240); |
| | | border-radius: 10%; |
| | | } |
| | | |
| | | .el-col>.el-card > .el-card__header { |
| | |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | |
| | | </style> |