| | |
| | | <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" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | | :permission="permissionList" |
| | | v-model="form" |
| | | ref="crud" |
| | | :before-open="beforeOpen" |
| | | @cell-click="loadBasic" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | <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" |
| | | :permission="permissionList" |
| | | v-model="ruleForm" |
| | | ref="crud" |
| | | :before-open="beforeOpen" |
| | | @row-click="codeRuleRowClick" |
| | | @row-update="rowUpdate" |
| | | @row-save="rowSave" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | <!-- 表格内操作按钮 --> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="el-icon-edit" |
| | | v-show="scope.row.lcStatus=='Editing' ? true:false" |
| | | plain |
| | | @click="openEdit(scope.row)">编 辑 |
| | | size="small" |
| | | icon="el-icon-edit" |
| | | v-show="scope.row.lcStatus=='Editing' ? true:false" |
| | | plain |
| | | @click="openEdit(scope.row)">编 辑 |
| | | </el-button> |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="el-icon-position" |
| | | v-show="scope.row.lcStatus=='Editing' ? true:false" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'release')">发 布 |
| | | size="small" |
| | | icon="el-icon-position" |
| | | v-show="scope.row.lcStatus=='Editing' ? true:false" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'release')">发 布 |
| | | </el-button> |
| | | <el-button type="text" |
| | | size="small" |
| | | v-show="scope.row.lcStatus=='Released' ? true:false" |
| | | icon="el-icon-video-pause" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'disable')">停 用 |
| | | size="small" |
| | | v-show="scope.row.lcStatus=='Released' ? true:false" |
| | | icon="el-icon-video-pause" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'disable')">停 用 |
| | | </el-button> |
| | | <el-button type="text" |
| | | size="small" |
| | | v-show="scope.row.lcStatus=='Disabled' ? true:false" |
| | | icon="el-icon-video-play" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'enable')">启 用 |
| | | size="small" |
| | | v-show="scope.row.lcStatus=='Disabled' ? true:false" |
| | | icon="el-icon-video-play" |
| | | plain |
| | | @click="enableOrDeactivatse(scope.row.oid,'enable')">启 用 |
| | | </el-button> |
| | | </template> |
| | | <!-- 表格左上方按钮区域 --> |
| | |
| | | <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> |
| | | </basic-container> |
| | | |
| | | <!-- 对话框 --> |
| | | <!-- 编码规则相关对话框 --> |
| | | <el-dialog title="编码规则使用范围" |
| | | append-to-body |
| | | :visible.sync="codeRangeSettingBox" |
| | | width="800px"> |
| | | append-to-body |
| | | :visible.sync="codeRangeSettingBox" |
| | | 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> |
| | | append-to-body |
| | | :visible.sync="cloneSettingBox" |
| | | 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" |
| | | :permission="permissionList" |
| | | @selection-change="selectionBasicChange" |
| | | @refresh-change="refreshChangeBasicSec"> |
| | | |
| | | <!-- 基础码段表格内操作按钮 --> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <!-- 基础码段表格内操作按钮 --> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-view" |
| | | v-show="currentRuleLcStatus != 'Editing'" |
| | | plain |
| | | @click="openBasicDialog('view',scope.row)">查看 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-edit" |
| | | v-show="currentRuleLcStatus === 'Editing'" |
| | | plain |
| | | @click="openBasicDialog('edit',scope.row)">编辑 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-setting" |
| | | v-show="scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec'" |
| | | plain |
| | | @click="openBasicSecCodeValueMgr(scope.row)">码值管理 |
| | | </el-button> |
| | | <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> |
| | | |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="icon-shangyi" |
| | | v-show="scope.row.lcStatus != 'Editing' ? true:false" |
| | | plain |
| | | @click="openEdit(scope.row)">查 看 |
| | | </el-button> |
| | | <!-- 基础码段表格左上方按钮区域 --> |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button type="primary" |
| | | size="small" |
| | | icon="el-icon-plus" |
| | | @click="addBasicCodeSec">新 增 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="deleteBasicCode(scope.row)">删 除 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="icon-shangyi" |
| | | v-show="scope.row.lcStatus == 'Editing' ? true:false" |
| | | plain |
| | | @click="openEdit(scope.row)">编 辑 |
| | | </el-button> |
| | | |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="icon-shangyi" |
| | | v-show="scope.row.secType == 'codeclassifysec' || scope.row.secType == 'codefixedsec' ? true:false" |
| | | plain |
| | | @click="openEdit(scope.row)">码值管理 |
| | | </el-button> |
| | | |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="icon-shangyi" |
| | | v-show="scope.row.orderNum > 1 ? true:false" |
| | | plain |
| | | @click="upOrderNum(scope.row)">上 移 |
| | | </el-button> |
| | | |
| | | <el-button type="text" |
| | | size="small" |
| | | icon="icon-xiayi" |
| | | plain |
| | | @click="downOrderNum(scope.row)">下 移 |
| | | </el-button> |
| | | |
| | | </template> |
| | | |
| | | <!-- 基础码段表格左上方按钮区域 --> |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button type="primary" |
| | | size="small" |
| | | icon="el-icon-plus" |
| | | @click="addBasicCodeSec">新 增 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="deleteBasicCode(scope.row)">删 除 |
| | | </el-button> |
| | | </template> |
| | | |
| | | </avue-crud> |
| | | </avue-crud> |
| | | </basic-container> |
| | | |
| | | <!-- 基础编码规则对话框 --> |
| | | <el-dialog title="添加码段信息" |
| | | :visible.sync="addBasicCodeSettingBox" |
| | | width="780px" |
| | | append-to-body |
| | | style="margin-top: -8vh;" |
| | | destroy-on-close> |
| | | |
| | | <!-- 属性码段,属性选择弹窗 --> |
| | | <el-dialog title="为[属性]选取值" |
| | | append-to-body |
| | | :visible.sync="isShowSelectAttrOption" |
| | | width="78%" |
| | | style="height: 100%; margin-top: -8vh; overflow: hidden"> |
| | | <div style="overflow-y: auto; height: 60vh"> |
| | | <el-row> |
| | | <!-- 左侧主题库分类树 --> |
| | | <el-col :span="5"> |
| | | <div class="box"> |
| | | <el-scrollbar style="height: auto; border-bottom-right-radius:8px "> |
| | | <basic-container> |
| | | <div class="abox"> |
| | | <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/> |
| | | </div> |
| | | </basic-container> |
| | | </el-scrollbar> |
| | | </div> |
| | | </el-col> |
| | | |
| | | <!-- 右侧表格显示区域 --> |
| | | <el-col span="19"> |
| | | <!-- 码段码值管理对话框 --> |
| | | <el-dialog title="码段码值管理" |
| | | :visible.sync="isShowBasicSecCodeValueMgr" |
| | | :width="isShowFixedForm ? '68vw':'50vw'" |
| | | append-to-body |
| | | style="height: 116vh; margin-top: -10vh;" |
| | | @close="clearFixedOrClassifyForm('close')" |
| | | destroy-on-close> |
| | | <!-- 分类码段码值管理 --> |
| | | <el-row v-show="!isShowFixedForm"> |
| | | <el-col :span="11"> |
| | | <basic-container> |
| | | <div class="box classify_value_box" style="height:65vh; margin-bottom:-40px"> |
| | | <el-scrollbar style="border-bottom-right-radius:8px "> |
| | | <basic-container> |
| | | <div class="bbox"> |
| | | <avue-crud ref="crud" |
| | | v-model="form" |
| | | :data="selectattrData" |
| | | :option="attrOption" |
| | | :permission="permissionList" |
| | | :table-loading="selectAttrOptionLoading" |
| | | @search-change="selectAttrOptionSearchChange" |
| | | @search-reset="searchAttrReset" |
| | | @selection-change="selectionChangeAttr"> |
| | | </avue-crud> |
| | | <div class="abox" style="height:54vh"> |
| | | <avue-tree |
| | | :data="classifyValueTreeData" |
| | | :option="classisyValueTreeOption" |
| | | @node-click="classisyValueTreeOnodeClick" |
| | | style="overflow-y: auto; height: 54vh"/> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | | </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" @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-col :span="13"> |
| | | <basic-container> |
| | | <div class="box" style="height:65vh; margin-bottom:-40px"> |
| | | <el-form> |
| | | <el-form-item label="码值:" :label-width="50" required> |
| | | <el-input style="width: 18vw" v-model="codeClassifyForm.id"></el-input> |
| | | </el-form-item > |
| | | <el-form-item label="名称:" :label-width="50" required> |
| | | <el-input style="width: 18vw" v-model="codeClassifyForm.name"></el-input> |
| | | </el-form-item> |
| | | </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" @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> |
| | | </el-row> |
| | | <!-- 固定码段码值管理 --> |
| | | <el-row v-show="isShowFixedForm"> |
| | | <el-col :span="15"> |
| | | <basic-container> |
| | | <div class="box fixedbox" style="height:65vh; margin-bottom:-40px"> |
| | | <avue-crud |
| | | class="fixed-avue-crud" |
| | | ref="crudFixedValue" |
| | | :data="fixedValueData" |
| | | :option="fixedValueOption" |
| | | :table-loading="fixedValueOptionLoading" |
| | | @row-click="selectedCodeValueRow"> |
| | | <!-- 表格内按钮配置 --> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-arrow-up" @click="codeFixedValueOpetion('up',scope.row)">上移</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-arrow-down" @click="codeFixedValueOpetion('down',scope.row)">下移</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-minus" @click="codeFixedValueOpetion('remove',scope.row)">移除</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </div> |
| | | <div style="margin-top:20px;"> |
| | | <el-button size="mini" type="primary" icon="el-icon-success" class="button" @click="saveCodeFixedOrClassifyValueOption('fixedValue')">保存</el-button> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <basic-container> |
| | | <div class="box" style="height: 65vh; margin-bottom:-40px; overflow:hidden;" > |
| | | <div style="overflow-y:auto;height: 60vh;"> |
| | | <el-form> |
| | | <el-form-item label="码值:" label-width="54px" required> |
| | | <el-input style="width: 19.5vw" v-model="codeFixdForm.id"></el-input> |
| | | </el-form-item > |
| | | <el-form-item label="描述:"> |
| | | <el-input type="textarea" style="width: 20vw;" v-model="codeFixdForm.description"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;"> |
| | | <el-button :disabled="selectedFixedOrCodeclassifyValue!=''" size="mini" type="primary" icon="el-icon-circle-plus" class="button" @click="addCodeSecValue('codefixedsec')">添加</el-button> |
| | | <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="success" plain plain icon="el-icon-edit-outline" class="button" @click="editCodeSecValue('codefixedsec')">修改</el-button> |
| | | <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="danger" icon="el-icon-close" class="button" @click="delCodeSecValue('codefixedsec')">删除</el-button> |
| | | <el-button size="mini" type="warning" plain icon="el-icon-close" class="button" @click = "clearFixedOrClassifyForm('codefixedsec')">取消</el-button> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | | </el-row> |
| | | </el-dialog> |
| | | |
| | | </el-row> |
| | | </div> |
| | | <!-- 基础码段新增相关对话框 --> |
| | | <el-dialog :title="basicSecDialogTitle" |
| | | :visible.sync="addBasicCodeSettingBox" |
| | | width="60vw" |
| | | append-to-body |
| | | style="height: 115vh; margin-top: -13vh; overflow: hidden" |
| | | destroy-on-close |
| | | @close="clearBasicAddForm"> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowSelectAttrOption = false">取 消</el-button> |
| | | <el-button type="primary" @click="savelistClassifyLinkAttr">确 定</el-button> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | <!-- 第一层对话框,添加码段信息对话框中的内容 --> |
| | | <div class="total" style="overflow-y: auto; height: 70vh"> |
| | | <el-form :model="form"> |
| | | <span class="left"> |
| | | <el-form-item label="码段编号:" :label-width="leftFormLabelWidth" required> |
| | | <el-input v-model="form.id" :readonly="basicSecOnlyRead" ref="id"></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 属性码段,公式编辑框弹窗 --> |
| | | <el-dialog title="公式编辑框" |
| | | append-to-body |
| | | :visible.sync="isShowformulaEdit" |
| | | @close="closeFormulaEdit" |
| | | width="78%" |
| | | style="height: 150vh; margin-top: -13vh; overflow: hidden"> |
| | | <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> |
| | | <el-select v-model="form.secType" placeholder="请选择" @change="changeSectypeFormItems(null)" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in sectypeList" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <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> |
| | | <el-form-item label="描述:" :label-width="leftFormLabelWidth"> |
| | | <el-input type="textarea" v-model="form.description" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="是否流水依赖:" :label-width="leftFormLabelWidth"> |
| | | <el-switch v-model="form.serialDependFlag" :disabled="basicSecOnlyRead"></el-switch> |
| | | <el-input-number v-show="form.serialDependFlag" v-model="form.serialDependOrder" controls-position="right" :readonly="basicSecOnlyRead"></el-input-number> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="是否为空:" :label-width="leftFormLabelWidth"> |
| | | <el-switch v-model="form.nullableFlag" :disabled="basicSecOnlyRead"></el-switch> |
| | | </el-form-item> |
| | | </span> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <span class="right"> |
| | | <!-- 固定码段 --> |
| | | <div v-show="form.secType==='codefixedsec' ? true:false"> |
| | | <el-form-item label="码段长度类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeSecLengthType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeSecLengthType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <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> |
| | | <el-input |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | ref="referAttributeId" |
| | | v-model="form.referAttributeName" |
| | | @focus="openAttrSelectOrGetValue('attr')" |
| | | :disabled="basicSecOnlyRead"> |
| | | <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('attr')" style="cursor: pointer;"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="属性所在分类:" :label-width="rightFormLabelWidth"> |
| | | <el-input |
| | | v-model="form.referCodeClassifyOidName" |
| | | disabled> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="取值规则:" :label-width="rightFormLabelWidth"> |
| | | <el-input |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | v-model="form.getValueClass" |
| | | :disabled="basicSecOnlyRead" |
| | | @focus="openAttrSelectOrGetValue('value')"> |
| | | <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('value')" style="margin-right: 5px;cursor: pointer;"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 流水码段 --> |
| | | <div v-show="form.secType==='codeserialsec' ? true:false"> |
| | | <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"> |
| | | <el-input v-model.number="form.serialStart" ref="serialStart" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | <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> |
| | | <el-select v-model="form.codeFillType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option label="左补位" value="codeattrsec" |
| | | v-for="item in codeFillType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <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" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <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> |
| | | <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> |
| | | </el-form-item> |
| | | <el-form-item label="自定义的流水算法:" :label-width="rightFormLabelWidth"> |
| | | <el-input v-model="form.customCodeSerialClass" :readonly="basicSecOnlyRead"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 层级码段 --> |
| | | <div v-show="form.secType==='codelevelsec' ? true:false"> |
| | | <el-form-item label="层级类型:" :label-width="rightFormLabelWidth" required> |
| | | <el-select v-model="form.codeLevelType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeLevelType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <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> |
| | | <el-select v-model="form.valueCutType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeCutType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="取值类型:" :label-width="rightFormLabelWidth"> |
| | | <el-select v-model="form.codeGetValueType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeGetValueType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 引用码段 --> |
| | | <div v-show="form.secType==='coderefersec' ? true:false"> |
| | | <el-form-item label="参照引用的业务类型:" label-width="152px" required> |
| | | <el-input |
| | | ref="referBtmId" |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | v-model="form.referBtmId" |
| | | @focus="openAttrSelectOrGetValue('referBtmId')" |
| | | :disabled="basicSecOnlyRead"> |
| | | <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> |
| | | <el-input |
| | | ref="referConfig" |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | v-model="form.referConfig" |
| | | @focus="openAttrSelectOrGetValue('referConfig')" |
| | | :disabled="basicSecOnlyRead"> |
| | | <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('referConfig')" style="margin-right: 5px;cursor: pointer;"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 日期码段 --> |
| | | <div v-show="form.secType==='codedatesec' ? true:false"> |
| | | <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> |
| | | <el-select v-model="form.codeSecLengthType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeSecLengthType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <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> |
| | | </el-form-item> |
| | | <el-form-item label="父分类码段:" :label-width="rightFormLabelWidth"> |
| | | <el-input |
| | | placeholder="请选择" |
| | | prefix-icon="el-icon-search" |
| | | readonly="true" |
| | | v-model="form.parentClassifySecOid" |
| | | @focus="openAttrSelectOrGetValue('parentClassifySecOid')" |
| | | :disabled="basicSecOnlyRead"> |
| | | <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('parentClassifySecOid')" style="margin-right: 5px;cursor: pointer;"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- 可变码段 --> |
| | | <div v-show="form.secType==='codevariablesec' ? true:false"> |
| | | <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> |
| | | <el-select v-model="form.codeFillType" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeFillType" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="补位时的字符:" :label-width="rightFormLabelWidth"> |
| | | <el-select v-model="form.codeFillSeparatorSelect" filterable @blur="inputSelectBlur" placeholder="请选择" :disabled="basicSecOnlyRead"> |
| | | <el-option |
| | | v-for="item in codeFillSeparator" |
| | | :key="item.dictValue" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | </span> |
| | | </el-form> |
| | | </div> |
| | | <!-- 第一层对话框的按钮和,线条 --> |
| | | <el-divider direction="horizontal"></el-divider> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">取 消</el-button> |
| | | <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">保 存</el-button> |
| | | </div> |
| | | |
| | | <!-- 第二层对话框,属性码段,属性选择弹窗 --> |
| | | <el-dialog title="为【属性】选取值" |
| | | append-to-body |
| | | :visible.sync="isShowSelectAttrOption" |
| | | width="78%" |
| | | style="height: 100%; margin-top: -8vh; overflow: hidden"> |
| | | <div style="overflow-y: auto; height: 60vh"> |
| | | <el-row> |
| | | <!-- 左侧主题库分类树 --> |
| | | <el-col :span="5"> |
| | | <div class="box"> |
| | | <el-scrollbar style="height: auto; border-bottom-right-radius:8px "> |
| | | <basic-container> |
| | | <div class="abox"> |
| | | <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/> |
| | | </div> |
| | | <div class="text item"> |
| | | <el-input type="textarea" :rows="5" style="width: 560px;" v-model="formulaContent"></el-input> |
| | | </div> |
| | | </basic-container> |
| | | </el-scrollbar> |
| | | </div> |
| | | </el-col> |
| | | |
| | | </el-card> |
| | | </el-col> |
| | | <!-- 右侧表格显示区域 --> |
| | | <el-col span="19"> |
| | | <basic-container> |
| | | <div class="bbox"> |
| | | <avue-crud |
| | | :data="selectattrData" |
| | | :option="attrOption" |
| | | :table-loading="selectAttrOptionLoading" |
| | | @search-change="selectAttrOptionSearchChange" |
| | | @search-reset="searchAttrReset" |
| | | @selection-change="selectionChangeAttr"> |
| | | </avue-crud> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | | |
| | | <!-- 右侧运算符 --> |
| | | <el-col :span="10"> |
| | | <el-card class="box-card" style="height: 33vh;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span style="font-size: medium;">运算符</span> |
| | | </div> |
| | | <div class="text item"> |
| | | <div class="formula-editor"> |
| | | <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/> |
| | | <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/> |
| | | <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/> |
| | | <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/> |
| | | <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/> |
| | | <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> |
| | | </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> |
| | | |
| | | <!-- 添加码段信息的自定义组件 --> |
| | | <add-basic-code ref='addBasicChild' @openAttrSelectOrGetValue="openAttrSelectOrGetValue" @openformulaEdit="openformulaEdit"></add-basic-code> |
| | | |
| | | <!-- 第一层对话框的按钮和,线条 --> |
| | | <el-divider direction="horizontal"></el-divider> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="addBasicCodeSettingBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="saveBasicCode">保 存</el-button> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowSelectAttrOption = false">取 消</el-button> |
| | | <el-button type="primary" @click="selectedListClassifyLinkAttr">确 定</el-button> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | |
| | | <!-- 第二层对话框,属性码段,公式编辑框弹窗组件 --> |
| | | <formula-editor ref="formulaEditor" |
| | | @updateFormulaContent="updateFormulaContent" |
| | | :thisSceneTableData="thisSceneTableData" |
| | | :systemVariableTableData="systemVariableTableData"> |
| | | </formula-editor> |
| | | |
| | | <!-- 第二层对话框,为【父分类码段】选取值弹窗 --> |
| | | <el-dialog title="为【父分类码段】选取值" |
| | | append-to-body |
| | | :visible.sync="isShowParentClassifyOption" |
| | | width="65%" |
| | | style="height: 150vh; margin-top: -13vh;" |
| | | destroy-on-close> |
| | | |
| | | <avue-crud |
| | | :page.sync="parentClassifyDataPage" |
| | | ref="crudParentClassify" |
| | | :option="parentClassifyParentOption" |
| | | :table-loading="classifyDialogLoading" |
| | | :data="parentClassifyData" |
| | | @refresh-change="refreshParentClassifyDataChange" |
| | | @search-change="parentClassifySearchChange" |
| | | @search-reset="parentClassifySearchReset" |
| | | @selection-change="parentClassifySelectionChange" |
| | | @current-change="parentClassifyCurrentChange" |
| | | @size-change="parentClassifySizeChange" |
| | | @on-load="parentClassifyOnLoad"> |
| | | </avue-crud> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowParentClassifyOption = false">取 消</el-button> |
| | | <el-button type="primary" @click="saveSelectedParentClassify">保 存</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 第二层对话框,为【参照引用的业务类型】选取值弹窗 --> |
| | | <el-dialog title="为【参照引用的业务类型】选取值" |
| | | append-to-body |
| | | :visible.sync="isShowSelectReferBtmOption" |
| | | width="65%" |
| | | style="height: 150vh; margin-top: -13vh;" |
| | | destroy-on-close> |
| | | |
| | | <avue-crud |
| | | :page.sync="referBtmDataPage" |
| | | ref="crudReferBtm" |
| | | :option="referBtmOption" |
| | | :table-loading="referBtmDialogLoading" |
| | | :data="referBtmData" |
| | | @refresh-change="referBtmDataChange" |
| | | @search-change="referBtmSearchChange" |
| | | @search-reset="referBtmSearchReset" |
| | | @selection-change="referBtmSelectionChange" |
| | | @current-change="referBtmCurrentChange" |
| | | @size-change="referBtmSizeChange" |
| | | @on-load="referBtmOnLoad"> |
| | | </avue-crud> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowSelectReferBtmOption = false">取 消</el-button> |
| | | <el-button type="primary" @click="saveSelectedreferBtm">保 存</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </el-dialog> |
| | | |
| | | </basic-container> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus } from "@/api/code/mdmrule"; |
| | | import { gridCodeBasicSec, downOrderNum, upOrderNum, deleteData, editSave, getObjectByOid, listDataByOids, refDataGrid} from "@/api/code/codebasic"; |
| | | import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus,clone,clearAllCode } from "@/api/code/mdmrule"; |
| | | import { |
| | | gridCodeBasicSec, |
| | | downOrderNum, |
| | | upOrderNum, |
| | | deleteData, |
| | | editSave, |
| | | 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,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/selectattroption"; |
| | | import treeOption from "@/const/code/classifytreeoption"; |
| | | 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 {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | query: {}, |
| | | loading: true, |
| | | currentCodeRuleOid: '', |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | selectionList: [], |
| | | /*编码规则表格配置*/ |
| | | optionRule: optionRule, |
| | | |
| | | data: [], |
| | | |
| | | /*克隆按钮对话框控制*/ |
| | | cloneSettingBox: false, |
| | | optionBasic: optionBasic, |
| | | |
| | | /*基础码段相关数据*/ |
| | | basicData:[], |
| | | loadingBasic: true, |
| | | selectionBasicList: [], |
| | | addBasicCodeSettingBox: false, |
| | | /* 为属性选取值窗口显示打开控制变量 */ |
| | | isShowSelectAttrOption: false, |
| | | /* 为属性选值左侧树数据 */ |
| | | attrClassifyTreeData: [], |
| | | treeOption: treeOption, |
| | | currentSelectTreeData: '', //当前选中的树节点 |
| | | /* 为属性选值右侧表格相关数据 */ |
| | | attrOption: attrOption, |
| | | 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', |
| | | }, |
| | | { |
| | | "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设置千分位' |
| | | } |
| | | ], |
| | | //日期公式 |
| | | dateFormulaTableData: [{ |
| | | "formula": 'compareDate(d1,d2)', |
| | | "desc": '对比参数d1,d2的大小。d1,d2为yyyy-MM-dd格式的日期字符串' |
| | | }, |
| | | { |
| | | "formula": 'nowDate()', |
| | | "desc": '获取当前日期' |
| | | }, |
| | | { |
| | | "formula": 'chinaDate(d1)', |
| | | "desc": '将时间转换为农历,d1是yyyy-MM-dd格式的日期字符串' |
| | | }, |
| | | { |
| | | "formula": 'dateAdd(d1,count)', |
| | | "desc": '在d1的基础上添加count天,d1为yyyy-MM-dd HH:mm:ss格式的时间字符串' |
| | | }, |
| | | { |
| | | "formula": 'dateBalanceYear(sourceDate,targetDate,false)', |
| | | "desc": '计算相差的年份,比如计算年龄,targetDate为""表示当前时间,第三个参数为true表示有多余的月份或者天数时,就加1;' |
| | | }, |
| | | { |
| | | "formula": 'dateBalanceDay(sourceDate,targetDate)', |
| | | "desc": '计算相差的天数,targetDate为""表示当前时间' |
| | | }, |
| | | { |
| | | "formula": 'dateformat(d1,format)<', |
| | | "desc": '将当前的日期(时间)字符串转为指定的字符串,如果format的内容有空格,请使用&代替' |
| | | }, |
| | | { |
| | | "formula": 'nowDatetime()', |
| | | "desc": '获取当前日期和时间。格式为yyyy-MM-dd HH:mm:ss' |
| | | }, |
| | | { |
| | | "formula": 'dayOf(d1)', |
| | | "desc": '获取格式为yyyy-MM-dd的日期的天数' |
| | | }, |
| | | { |
| | | "formula": 'nowMon()', |
| | | "desc": '获取当前的月份,格式为MM' |
| | | }, |
| | | { |
| | | "formula": 'monOf(d1)', |
| | | "desc": '获取日期d1的月份数' |
| | | }, |
| | | { |
| | | "formula": 'nowTime()', |
| | | "desc": '获取当前时间,格式为HH:mm:ss' |
| | | }, |
| | | { |
| | | "formula": 'nowYear()', |
| | | "desc": '获取年份,格式为yyyy' |
| | | }, |
| | | { |
| | | "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": '求平方根' |
| | | }, |
| | | ], |
| | | //其他公式 |
| | | 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": '当前用户所属角色名称' |
| | | } |
| | | ], |
| | | |
| | | /*使用范围对话框显示控制*/ |
| | | codeRangeSettingBox: false, |
| | | useRangeData: [], |
| | | dialogLoading: true, |
| | | /*使用范围对话框配置*/ |
| | | dialogeOption: { |
| | | height: 'auto', |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | disablePage:false, |
| | | viewBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | selection: false, |
| | | dialogClickModal: false, |
| | | align: 'center', |
| | | dialogWidth: 400, |
| | | column: [ |
| | | { |
| | | label: "分类编号", |
| | | prop: "id", |
| | | span: 24 |
| | | }, |
| | | { |
| | | label: "分类名称", |
| | | prop: "name", |
| | | span: 24, |
| | | } |
| | | ] |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | export default { |
| | | data() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.codeRule_add, true), |
| | | viewBtn: this.vaildData(this.permission.codeRule_view, false), |
| | | delBtn: this.vaildData(this.permission.plCodeRule_delete, false), |
| | | editBtn: this.vaildData(this.permission.codeRule_edit, true) |
| | | ruleForm: {}, |
| | | query: {}, |
| | | loading: true, |
| | | currentCodeRuleOid: '', |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | selectionList: [], |
| | | /*编码规则表格配置*/ |
| | | optionRule: optionRule, |
| | | data: [], |
| | | currentRuleLcStatus: '', |
| | | /*克隆对话框控制变量*/ |
| | | cloneSettingBox: false, |
| | | cloneTableLoading: false, |
| | | cloneOption: cloneOption, |
| | | cloneData: [], |
| | | cloneCodeRuleForm: { |
| | | id: '', |
| | | name: '', |
| | | description: '', |
| | | }, |
| | | /*从其他规则克隆码段*/ |
| | | cloneOtherCodeRuleSettingBox: false, |
| | | cloneBasicOption: cloneBasicOption, |
| | | cloneCodeRuleOption: cloneCodeRuleOption, |
| | | selectionOtherCloneCodeBasicList: [], // 当前选中的基础码段 |
| | | |
| | | /*使用范围对话框显示控制*/ |
| | | codeRangeSettingBox: false, |
| | | useRangeData: [], |
| | | dialogLoading: true, |
| | | /*使用范围对话框配置*/ |
| | | dialogeOption: { |
| | | height: 'auto', |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | disablePage:false, |
| | | viewBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | selection: false, |
| | | dialogClickModal: false, |
| | | align: 'center', |
| | | dialogWidth: 400, |
| | | column: [ |
| | | { |
| | | label: "分类编号", |
| | | prop: "id", |
| | | span: 24 |
| | | }, |
| | | { |
| | | label: "分类名称", |
| | | prop: "name", |
| | | span: 24, |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | /*基础码段相关数据*/ |
| | | optionBasic: optionBasic, |
| | | basicData:[], |
| | | loadingBasic: true, |
| | | selectionBasicList: [], |
| | | addBasicCodeSettingBox: false, |
| | | showbtn: false, //基础码段新增是否显示基础码段 |
| | | basicSecDialogTitle: '', //基础码段第一层对话框标题 |
| | | basicSecOnlyRead: false, //新增基础码段表单是否只读 |
| | | |
| | | |
| | | /** 码值管理相关数据 */ |
| | | isShowBasicSecCodeValueMgr: false, //码段码值管理对话框 |
| | | codefixedsecOrCodeclassifysecOid: '', //存放基础码段点击码值管理时的当前行id,用于保存码值时使用 |
| | | selectedFixedOrCodeclassifyValue: '', //当前选中的码值数据 |
| | | //固定码段码值表单 |
| | | codeFixdForm: { |
| | | codeFixedSecOid: "", |
| | | description: "", |
| | | id: "", |
| | | }, |
| | | isShowFixedForm: true, //true显示固定码段码值管理界面,false显示分类码段码值管理界面 |
| | | fixedValueData: [], //固定码段码值表格数据 |
| | | fixedValueOption: fixedValueOption, //表格配置 |
| | | fixedValueOptionLoading: false, //加载表格的动态效果 |
| | | fixedValueSelectList: [], //固定码段码值当前选中的行 |
| | | |
| | | //分类码段码值表单 |
| | | codeClassifyForm: { |
| | | codeClassifySecOid: "", |
| | | id: "", |
| | | name: "", |
| | | oid: "", |
| | | }, |
| | | classisyValueTreeOption: classisyValueTreeOption, //分类码段树相关配置项 |
| | | classifyValueTreeData: [], |
| | | currentSelectTreeData: '', //当前选中的分类码值树节点 |
| | | |
| | | /* 为属性选取值窗口显示打开控制变量 */ |
| | | isShowSelectAttrOption: false, |
| | | /* 为属性选值左侧树数据 */ |
| | | attrClassifyTreeData: [], |
| | | treeOption: treeOption, |
| | | currentSelectTreeData: '', //当前选中的树节点 |
| | | /* 为属性选值右侧表格相关数据 */ |
| | | attrOption: attrOption, |
| | | selectattrData: [], |
| | | selectAttrOptionLoading: false, |
| | | selectionChangeAttrList: [], |
| | | // 属性码段,公式编辑框组件的本场景显示变量、与系统变量 |
| | | 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, //父分类码段对话框显示控制 |
| | | classifyDialogLoading: true, //表格数据加载提示 |
| | | parentClassifyParentOption: parentClassifyParentOption, //表格配置 |
| | | parentClassifyData: [], //表格数据 |
| | | //分页参数配置 |
| | | parentClassifyDataPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | parentClassifyQuery: {}, //查询条件 |
| | | parentClassifySelectionList: [], //当前选中行 |
| | | |
| | | |
| | | /** 参照引用的业务类型对话框相关数据 */ |
| | | isShowSelectReferBtmOption: false, //对话框显示控制 |
| | | referBtmDialogLoading: true, //表格数据加载提示 |
| | | referBtmDataPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | referBtmOption: referBtmOption, //表格配置 |
| | | referBtmData: [], //表格数据 |
| | | referBtmQuery: {}, //查询条件 |
| | | referBtmSelectionList: [], //当前选中行 |
| | | |
| | | /** 基础码段新增表单 */ |
| | | form: { |
| | | id: '', //编号 |
| | | name: '', //名称 |
| | | secType: 'codefixedsec', //码段类型 |
| | | description: '', //描述 |
| | | serialDependFlag: false, //是否流水依赖 |
| | | serialDependOrder: '', //流水依赖顺序 |
| | | nullableFlag: false, //是否为空 |
| | | displayFlag: false, // |
| | | componentCodeFlag: false, //是否参与编码 |
| | | pkCodeRule: '', //所属编码规则 |
| | | }, |
| | | // 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:[], //码段长度类型 |
| | | codeFillType:[], //编码补位方式 |
| | | codeFillSeparator:[], //补位时的字符,可输可选内容 |
| | | codeLevelType:[], //层级类型 |
| | | codeCutType:[], //字符截取类型 |
| | | codeGetValueType:[], //取值类型 |
| | | |
| | | //表单元素标签宽度 |
| | | leftFormLabelWidth: '110px', |
| | | rightFormLabelWidth: '150px', |
| | | |
| | | }; |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | // 打开公式编辑框,第二层嵌套对话框 |
| | | openformulaEdit(){ |
| | | this.isShowformulaEdit = true; |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.codeRule_add, true), |
| | | viewBtn: this.vaildData(this.permission.codeRule_view, false), |
| | | delBtn: this.vaildData(this.permission.plCodeRule_delete, false), |
| | | editBtn: this.vaildData(this.permission.codeRule_edit, true) |
| | | }; |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | //双击添加公式内容 |
| | | 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.$message.warning("公式内容不能为空!"); |
| | | return; |
| | | } |
| | | this.$refs.addBasicChild.saveFormulaContent(this.formulaContent); |
| | | this.isShowformulaEdit = false; |
| | | }, |
| | | |
| | | // 打开属性选取值,第二层嵌套对话框 |
| | | openAttrSelectOrGetValue(){ |
| | | //console.log(111); |
| | | this.isShowSelectAttrOption = true; |
| | | }, |
| | | |
| | | // 获取当前被选中树节点的oid |
| | | nodeClick(data) { |
| | | this.currentSelectTreeData = data; |
| | | this.loadlistClassifyLinkAttr() |
| | | }, |
| | | |
| | | // 加载分类连接属性表格数据 |
| | | loadlistClassifyLinkAttr(){ |
| | | this.selectAttrOptionLoading = true; |
| | | listClassifyLinkAttr({"page": 1,"limit": -1,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}).then(res=>{ |
| | | //console.log(res.data.data); |
| | | //造假数据 |
| | | let dataInfo =[ |
| | | {"id":"address","name":"会议室地址","oid":"058D840D-1010-A7DE-7C52-B39C03CE89C1","attrLength":"150","description":"","attributeDataTypeText":"字符串"}, |
| | | {"id":"businesslicensetype","name":"营业执照类型","oid":"BDAC6D3E-1827-35A0-F3CA-0E58A43F6A07","attrLength":"255","description":"营业执照类型","attributeDataTypeText":"字符串"}, |
| | | {"id":"certificatenumber","name":"保密证编号","oid":"E2BC8332-A721-3713-26C3-C9F6340C2C1D","attrLength":"255","description":"保密证编号","attributeDataTypeText":"字符串"}, |
| | | ] |
| | | this.selectattrData = dataInfo; |
| | | this.selectAttrOptionLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | // 点击搜索后触发该事件 |
| | | selectAttrOptionSearchChange(params, done) { |
| | | this.query = params; |
| | | console.log(params); //这儿需要改 |
| | | this.loadlistClassifyLinkAttr({"page":1,"limit":-1 ,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}); |
| | | done(); |
| | | }, |
| | | |
| | | // 属性取值当前选中行发生变化时触发 |
| | | selectionChangeAttr(list){ |
| | | this.selectionChangeAttrList = list; |
| | | }, |
| | | |
| | | //重置位属性选取值表格的搜索框之后的回调 |
| | | searchAttrReset() { |
| | | this.loadlistClassifyLinkAttr() |
| | | }, |
| | | |
| | | // 属性取值选取成功保存之后触发 |
| | | savelistClassifyLinkAttr(){ |
| | | if(this.selectionChangeAttrList.length != 1){ |
| | | this.$message.warning("只能选择一条数据!"); |
| | | return false; |
| | | } |
| | | let data = { |
| | | "referAttributeId":this.selectionChangeAttrList[0].id, |
| | | "referAttributeName":this.selectionChangeAttrList[0].name, |
| | | "referCodeClassifyOid": this.currentSelectTreeData.key, |
| | | "referCodeClassifyOidName": this.currentSelectTreeData.title, |
| | | } |
| | | //console.log(data); |
| | | //调用子组件并传递当前选中的参数值,实现回显 |
| | | this.$refs.addBasicChild.selectedListClassifyLinkAttr(data); |
| | | this.isShowSelectAttrOption = false; |
| | | }, |
| | | |
| | | // 编码规则当前选中行变化的时候触发 |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | if(this.selectionList.length > 0){ |
| | | this.currentCodeRuleOid = this.selectionList [list.length-1]; |
| | | this.loadBasic(this.selectionList[list.length-1]); |
| | | } |
| | | }, |
| | | |
| | | // 打开新增窗口 |
| | | addBasicCodeSec(){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | if(this.selectionList[0].lcStatus != 'Editing'){ |
| | | this.$message.warning('编码规则状态不是"编辑中",不允许编辑码段!'); |
| | | return; |
| | | } |
| | | this.addBasicCodeSettingBox = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.addBasicChild.loadCodeSecType(); |
| | | }) |
| | | }, |
| | | // 新增基础码段 |
| | | saveBasicCode(){ |
| | | if(this.selectionList[0].oid == null){ |
| | | this.$message.warning('缺失必要参数,请重新选择编码规则后重试!'); |
| | | return; |
| | | } |
| | | this.$refs.addBasicChild.addSave(this.selectionList[0].oid); |
| | | // 关闭窗口 |
| | | this.addBasicCodeSettingBox = false |
| | | // 点击新增基础码段之后关闭窗口之后触发重新加载 |
| | | this.loadBasic(this.selectionList[0]); |
| | | }, |
| | | // 判断数据是否选择以及只能选择单条数据 |
| | | tipsMessage(list){ |
| | | if(list.length != 1){ |
| | | this.$message.warning("请选择一条编码规则数据!"); |
| | | return false; |
| | | } |
| | | return true; |
| | | }, |
| | | // 基础码段删除 |
| | | deleteBasicCode(){ |
| | | if(!this.tipsMessage(this.selectionBasicList)){ |
| | | return; |
| | | } |
| | | let oid = this.selectionBasicList[0].oid; |
| | | this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let ts = this.selectionBasicList[0].ts; |
| | | return deleteData({"oid": oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this.loadBasic({"oid":this.currentCodeRuleOid == null ? this.selectionList[0].oid:this.currentCodeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | /* 公式编辑框内容改变,子组件编辑完公式之后内容回显时调用 */ |
| | | updateFormulaContent(content){ |
| | | this.form.getValueClass = content; |
| | | }, |
| | | |
| | | /** 选中参照引用的业务类型,第二层嵌套对话框,及其相关方法 */ |
| | | saveSelectedreferBtm(){ |
| | | if(this.referBtmSelectionList.length != 1){ |
| | | this.$message.warning("只能选择一条数据!"); |
| | | return false; |
| | | } |
| | | //调用子组件并传递当前选中的参数值,实现回显 |
| | | this.form.referBtmId = this.referBtmSelectionList[0].id; |
| | | this.form.referBtmName = this.referBtmSelectionList[0].name; |
| | | //清空当前选中的行 |
| | | this.referBtmSelectionClear(); |
| | | this.isShowSelectReferBtmOption = false; |
| | | }, |
| | | referBtmSearchReset() { |
| | | this.referBtmQuery = {}; |
| | | this.referBtmOnLoad(this.referBtmDataPage); |
| | | }, |
| | | referBtmSearchChange(params, done) { |
| | | this.referBtmQuery = params; |
| | | this.referBtmDataPage.currentPage = 1; |
| | | this.referBtmOnLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | referBtmSelectionChange(list) { |
| | | //console.log(list); |
| | | this.referBtmSelectionList = list; |
| | | }, |
| | | referBtmSelectionClear() { |
| | | this.referBtmSelectionList = []; |
| | | this.$refs.crudReferBtm.toggleSelection(); |
| | | }, |
| | | referBtmCurrentChange(currentPage){ |
| | | this.referBtmDataPage.currentPage = currentPage; |
| | | }, |
| | | referBtmSizeChange(pageSize){ |
| | | this.referBtmDataPage.pageSize = pageSize; |
| | | }, |
| | | refreshReferBtmDataChange() { |
| | | this.referBtmOnLoad(this.referBtmDataPage, this.referBtmQuery); |
| | | }, |
| | | //加载中参照引用的业务类型的数据 |
| | | referBtmOnLoad(page, params = {}) { |
| | | this.referBtmDialogLoading = true; |
| | | let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid; |
| | | Object.assign(params,{pkCodeRule:oid}) |
| | | //接口还未提供,待更改 |
| | | refDataGridClassifySec(page.currentPage, page.pageSize, Object.assign(params, this.parentClassifyQuery)).then(res => { |
| | | //console.log(res.data); |
| | | const data = res.data.data; |
| | | this.referBtmDataPage.total = data.total; |
| | | this.referBtmData = data.records; |
| | | this.referBtmDialogLoading = false; |
| | | this.referBtmSelectionClear(); |
| | | }); |
| | | //this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | // 点击触发加载基础码段信息 |
| | | loadBasic(row){ |
| | | this.loadingBasic = true; |
| | | //console.log(row.oid); |
| | | this.currentCodeRuleOid = row.oid; |
| | | gridCodeBasicSec(1, -1, {"pkCodeRule":row.oid}).then(res => { |
| | | const data = res.data.data; |
| | | this.basicData = data.records; |
| | | //console.log(this.basicData); |
| | | this.loadingBasic = false; |
| | | }); |
| | | }, |
| | | // 基础码段选中时触发 |
| | | selectionBasicChange(list) { |
| | | this.selectionBasicList = list; |
| | | //console.log(this.selectionBasicList); |
| | | }, |
| | | // 上移下移基础码段 |
| | | upOrderNum(row){ |
| | | //console.log(row.oid); |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | let codeRuleOid = this.selectionList[0].oid; |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | upOrderNum(row.oid).then(() => { |
| | | this.loadBasic({"oid":codeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }) |
| | | }, |
| | | downOrderNum(row){ |
| | | //console.log(row.oid); |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | let codeRuleOid = this.selectionList[0].oid; |
| | | //console.log(this.selectionList); |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | downOrderNum(row.oid).then(() => { |
| | | this.loadBasic({"oid":codeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | <<<<<<< HEAD |
| | | }) |
| | | }, |
| | | //基础码段查询 |
| | | refreshChangeBasicSec(){ |
| | | this.loadBasic({"oid":this.currentCodeRuleOid == null ? this.selectionList[0].oid:this.currentCodeRuleOid}); |
| | | }, |
| | | // 查询使用范围 |
| | | handleRange(){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | this.codeRangeSettingBox = true; |
| | | this.getRangeCodeList() |
| | | }, |
| | | getRangeCodeList(){ |
| | | this.dialogLoading = true; |
| | | if(this.selectionList[0].oid==null){ |
| | | this.$message.error("未获取到参数!"); |
| | | } |
| | | }, |
| | | |
| | | listUseRange(this.selectionList[0].oid).then(res => { |
| | | this.useRangeData = res.data.data; |
| | | //console.log(this.useRangeData); |
| | | this.dialogLoading = false; |
| | | }); |
| | | }, |
| | | refreshUseRangeChange(){ |
| | | this.getRangeCodeList(); |
| | | }, |
| | | // 启用与停用 |
| | | enableOrDeactivatse(oId,update){ |
| | | updateStatus({"oid":oId,"ts":new Date().getTime,"update":update}).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | ======= |
| | | |
| | | /** 父分类选择对话框,第二层嵌套对话框,及其相关方法 */ |
| | | // 保存当前父分类码段的选中行,并进行回显 |
| | | saveSelectedParentClassify(){ |
| | | //console.log(this.parentClassifySelectionList.length); |
| | | if(this.parentClassifySelectionList.length != 1){ |
| | | this.$message.warning("只能选择一条数据!"); |
| | | return false; |
| | | } |
| | | //调用子组件并传递当前选中的参数值,实现回显 |
| | | this.form.parentClassifySecOid = this.parentClassifySelectionList[0].oid; |
| | | this.form.parentClassifySecText = this.parentClassifySelectionList[0].name; |
| | | //清空当前选中的行 |
| | | this.parentClassifySelectionClear(); |
| | | this.isShowParentClassifyOption = false; |
| | | }, |
| | | parentClassifySearchReset() { |
| | | this.parentClassifyQuery = {}; |
| | | this.parentClassifyOnLoad(this.parentClassifyDataPage); |
| | | }, |
| | | parentClassifySearchChange(params, done) { |
| | | this.parentClassifyQuery = params; |
| | | this.parentClassifyDataPage.currentPage = 1; |
| | | this.parentClassifyOnLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | parentClassifySelectionChange(list) { |
| | | //console.log(this.parentClassifyCurrentChange); |
| | | this.parentClassifySelectionList = list; |
| | | }, |
| | | parentClassifySelectionClear() { |
| | | this.parentClassifySelectionList = []; |
| | | this.$refs.crudParentClassify.toggleSelection(); |
| | | }, |
| | | parentClassifyCurrentChange(currentPage){ |
| | | this.parentClassifyDataPage.currentPage = currentPage; |
| | | }, |
| | | parentClassifySizeChange(pageSize){ |
| | | this.parentClassifyDataPage.pageSize = pageSize; |
| | | }, |
| | | refreshParentClassifyDataChange() { |
| | | this.parentClassifyOnLoad(this.parentClassifyDataPage, this.parentClassifyQuery); |
| | | }, |
| | | parentClassifyOnLoad(page, params = {}) { |
| | | this.classifyDialogLoading = true; |
| | | let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid; |
| | | Object.assign(params,{pkCodeRule:oid}) |
| | | refDataGridClassifySec(page.currentPage, page.pageSize, Object.assign(params, this.parentClassifyQuery)).then(res => { |
| | | //console.log(res.data); |
| | | const data = res.data.data; |
| | | this.parentClassifyDataPage.total = data.total; |
| | | this.parentClassifyData = data.records; |
| | | this.classifyDialogLoading = false; |
| | | this.parentClassifySelectionClear(); |
| | | }); |
| | | }, |
| | | |
| | | |
| | | /** 打开属性选取值,第二层嵌套对话框,及其相关方法 */ |
| | | // 获取当前被选中树节点的oid |
| | | nodeClick(data) { |
| | | this.currentSelectTreeData = data; |
| | | this.loadlistClassifyLinkAttr() |
| | | }, |
| | | // 加载分类连接属性表格数据 |
| | | loadlistClassifyLinkAttr(){ |
| | | this.selectAttrOptionLoading = true; |
| | | listClassifyLinkAttr({"page": 1,"limit": -1,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}).then(res=>{ |
| | | //console.log(res.data.data); |
| | | //造假数据 |
| | | let dataInfo =[ |
| | | {"id":"address","name":"会议室地址","oid":"058D840D-1010-A7DE-7C52-B39C03CE89C1","attrLength":"150","description":"","attributeDataTypeText":"字符串"}, |
| | | {"id":"businesslicensetype","name":"营业执照类型","oid":"BDAC6D3E-1827-35A0-F3CA-0E58A43F6A07","attrLength":"255","description":"营业执照类型","attributeDataTypeText":"字符串"}, |
| | | {"id":"certificatenumber","name":"保密证编号","oid":"E2BC8332-A721-3713-26C3-C9F6340C2C1D","attrLength":"255","description":"保密证编号","attributeDataTypeText":"字符串"}, |
| | | ] |
| | | this.selectattrData = dataInfo; |
| | | this.selectAttrOptionLoading = false; |
| | | }) |
| | | }, |
| | | // 点击搜索后触发该事件 |
| | | selectAttrOptionSearchChange(params, done) { |
| | | this.query = params; |
| | | console.log(params); //这儿需要改 |
| | | this.loadlistClassifyLinkAttr({"page":1,"limit":-1 ,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}); |
| | | done(); |
| | | }, |
| | | // 属性取值当前选中行发生变化时触发 |
| | | selectionChangeAttr(list){ |
| | | this.selectionChangeAttrList = list; |
| | | }, |
| | | // 重置位属性选取值表格的搜索框之后的回调 |
| | | searchAttrReset() { |
| | | this.loadlistClassifyLinkAttr() |
| | | }, |
| | | // 为属性选取值之后的回显 |
| | | selectedListClassifyLinkAttr(){ |
| | | if(this.selectionChangeAttrList.length != 1){ |
| | | this.$message.warning("只能选择一条数据!"); |
| | | return false; |
| | | } |
| | | //调用子组件并传递当前选中的参数值,实现回显 |
| | | this.form = Object.assign({}, this.form, { |
| | | referAttributeId:this.selectionChangeAttrList[0].id, |
| | | referAttributeName:this.selectionChangeAttrList[0].name, |
| | | referCodeClassifyOid: this.currentSelectTreeData.key, |
| | | referCodeClassifyOidName: this.currentSelectTreeData.title, |
| | | }) |
| | | this.isShowSelectAttrOption = false; |
| | | }, |
| | | |
| | | |
| | | /** 基础码段表中的码值管理的相关方法 */ |
| | | // 码值管理弹窗控制 |
| | | openBasicSecCodeValueMgr(row){ |
| | | //当前为固定码段码值管理码值管理 |
| | | if(row.secType === "codefixedsec"){ |
| | | this.isShowFixedForm = true; |
| | | this.loadFixedValueTableData(row); |
| | | }else{ |
| | | //分类码段 |
| | | this.isShowFixedForm = false; |
| | | this.loadClassifyValueData(row); |
| | | } |
| | | this.codefixedsecOrCodeclassifysecOid = row.oid; |
| | | this.isShowBasicSecCodeValueMgr = true; |
| | | }, |
| | | //加载固定码段码值表数据 |
| | | loadFixedValueTableData(row){ |
| | | this.fixedValueOptionLoading = true; |
| | | gridCodeFixedValue(1, -1, {"codeFixedSecOid":row.oid}).then(res=>{ |
| | | this.fixedValueData = res.data.data.records; |
| | | //console.log(this.fixedValueData); |
| | | this.fixedValueOptionLoading = false; |
| | | }) |
| | | }, |
| | | //单击固定码段的码值表中行时触发的事件 |
| | | selectedCodeValueRow(row){ |
| | | //console.log(row); |
| | | this.selectedFixedOrCodeclassifyValue = row; |
| | | this.codeFixdForm.id = row.id; |
| | | this.codeFixdForm.description = row.description; |
| | | this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid; |
| | | }, |
| | | //新增码值 |
| | | addCodeSecValue(condition){ |
| | | if(condition === "codefixedsec"){ |
| | | if(this.codeFixdForm.id.trim() == ''){ |
| | | 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}); |
| | | this.clearFixedOrClassifyForm('codefixedsec'); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | 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 = this.$options.data().codeFixdForm; |
| | | this.codeClassifyForm = this.$options.data().codeClassifyForm; |
| | | } |
| | | if(condition === "codefixedsec"){ |
| | | this.codeFixdForm.description = ''; |
| | | this.codeFixdForm.codeFixedSecOid = ''; |
| | | }else { |
| | | this.codeClassifyForm = this.$options.data().codeClassifyForm; |
| | | } |
| | | }, |
| | | //修改码值 |
| | | editCodeSecValue(condition){ |
| | | if(condition=='codefixedsec'){ |
| | | //以前是直接把当前选中行的所有数据都进行提交,但其实只需要传输一些比要参数即可,这儿做了修改,需要穿其他参数的请自行添加 |
| | | let editData = { |
| | | "oid": this.selectedFixedOrCodeclassifyValue.oid, |
| | | "ts": new Date().getTime(), |
| | | "description": this.codeFixdForm.description, |
| | | "id": this.codeFixdForm.id, |
| | | "codeFixedSecOid": this.selectedFixedOrCodeclassifyValue.codefixedsecoid |
| | | } |
| | | editCodeFixedValue(editData).then(() => { |
| | | this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid}) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | 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); |
| | | this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime(); |
| | | return deleteCodeFixedValue({"oid": this.selectedFixedOrCodeclassifyValue.oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this.selectedFixedOrCodeclassifyValue = ''; |
| | | this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid}) |
| | | this.clearFixedOrClassifyForm('codefixedsec'); |
| | | this.$message({ |
| | | type: "success", |
| | | 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; |
| | | if(condition == 'up'){ |
| | | //对ordeNum排序字段进行调整 |
| | | this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum-1 |
| | | this.fixedValueData[index-1].orderNum = this.fixedValueData[index].orderNum+1 |
| | | //当下标减去1小于0或者orderNum字段减去1小于0的时候不执行上移操作 |
| | | if(index-1<0 || this.fixedValueData[row.$index].orderNum-1<0){ |
| | | return; |
| | | } |
| | | //调整数组值顺序 |
| | | let tempOption = this.fixedValueData[index-1]; |
| | | this.$set(this.fixedValueData, index - 1, this.fixedValueData[index]) |
| | | this.$set(this.fixedValueData, index , tempOption) |
| | | |
| | | //console.log(this.fixedValueData); |
| | | }else if(condition == 'down'){ |
| | | //对ordeNum排序字段进行调整 |
| | | this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum+1 |
| | | this.fixedValueData[index+1].orderNum = this.fixedValueData[index].orderNum-1 |
| | | //调整数组值顺序 |
| | | let tempOption = this.fixedValueData[index+1]; |
| | | this.$set(this.fixedValueData, index + 1, this.fixedValueData[index]); |
| | | this.$set(this.fixedValueData, index, tempOption) |
| | | }else { |
| | | for(let i=index+1; i<this.fixedValueData.length-1; i++){ |
| | | //console.log(this.fixedValueData[i].orderNum); |
| | | this.fixedValueData[i].orderNum = this.fixedValueData[i].orderNum-1; |
| | | //console.log(this.fixedValueData[i].orderNum); |
| | | } |
| | | this.$delete(this.fixedValueData, index); |
| | | } |
| | | //console.log(this.fixedValueData); |
| | | }, |
| | | //对分类码值表进行:上移、下移、移除操作 |
| | | 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表单属性 |
| | | clearBasicAddForm(){ |
| | | this.form = this.$options.data().form;; |
| | | // this.changeSectypeFormItems(null); |
| | | }, |
| | | // 打开新增窗口 |
| | | addBasicCodeSec(){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | if(this.selectionList[0].lcStatus != 'Editing'){ |
| | | this.$message.warning('编码规则状态不是"编辑中",不允许编辑码段!'); |
| | | return; |
| | | } |
| | | this.openBasicDialog('add',null); |
| | | this.loadCodeSecType(); |
| | | }, |
| | | //打开新增或编辑基础码段对话框 |
| | | openBasicDialog(condition,row){ |
| | | //console.log(row); |
| | | if(condition == 'add') { |
| | | this.basicSecDialogTitle = '添加码段信息'; |
| | | this.showbtn = true; |
| | | this.basicSecOnlyRead = false; |
| | | }else if(condition == 'edit'){ |
| | | if(this.selectionList.length!=1){ |
| | | this.$message.warning('请选择一条编码规则数据!'); |
| | | return; |
| | | } |
| | | this.basicSecDialogTitle = '修改码段信息'; |
| | | this.showbtn = true; |
| | | this.basicSecOnlyRead = false; |
| | | //为form绑定值 |
| | | }else{ |
| | | this.basicSecDialogTitle = '查看码段信息'; |
| | | this.showbtn = false; |
| | | this.basicSecOnlyRead = true; |
| | | } |
| | | //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('缺失必要参数,请重新选择编码规则后再试!'); |
| | | return; |
| | | } |
| | | this.form.pkCodeRule = this.selectionList[0].oid; |
| | | if(this.form.oid == '' || this.form.oid == null){ |
| | | if(this.checkForm()){ |
| | | addSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | |
| | | }else{ |
| | | editSave(this.form).then(() => { |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | } |
| | | // 点击新增基础码段,关闭窗口之后触发重新加载 |
| | | 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){ |
| | | if(list.length != 1){ |
| | | this.$message.warning("请选择一条编码规则数据!"); |
| | | return false; |
| | | } |
| | | return true; |
| | | }, |
| | | // 基础码段删除 |
| | | deleteBasicCode(){ |
| | | if(!this.tipsMessage(this.selectionBasicList)){ |
| | | return; |
| | | } |
| | | let oid = this.selectionBasicList[0].oid; |
| | | this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let ts = new Date(this.selectionBasicList[0].ts).getTime(); |
| | | return deleteData({"oid": oid,"ts": ts}); |
| | | }) |
| | | .then(() => { |
| | | this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | this.$refs.crudBasic.toggleSelection(); |
| | | }); |
| | | }, |
| | | // 点击触发加载基础码段信息 |
| | | 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; |
| | | } |
| | | }); |
| | | }, |
| | | // 基础码段选中时触发 |
| | | selectionBasicChange(list) { |
| | | this.selectionBasicList = list; |
| | | //console.log(this.selectionBasicList); |
| | | }, |
| | | // 上移下移基础码段 |
| | | upOrderNum(row){ |
| | | //console.log(row.oid); |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | let codeRuleOid = this.selectionList[0].oid; |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | upOrderNum(row.oid).then(() => { |
| | | this.loadBasic({"oid":codeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }) |
| | | }, |
| | | downOrderNum(row){ |
| | | //console.log(row.oid); |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | let codeRuleOid = this.selectionList[0].oid; |
| | | //console.log(this.selectionList); |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | downOrderNum(row.oid).then(() => { |
| | | this.loadBasic({"oid":codeRuleOid}); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }) |
| | | }, |
| | | //基础码段查询 |
| | | refreshChangeBasicSec(){ |
| | | this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid}); |
| | | }, |
| | | |
| | | |
| | | /** 编码规则相关方法 */ |
| | | // 查询使用范围 |
| | | handleRange(){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | this.codeRangeSettingBox = true; |
| | | this.getRangeCodeList() |
| | | }, |
| | | //加载使用范围列表 |
| | | getRangeCodeList(){ |
| | | this.dialogLoading = true; |
| | | if(this.selectionList[0].oid==null){ |
| | | this.$message.error("未获取到参数!"); |
| | | } |
| | | |
| | | listUseRange(this.selectionList[0].oid).then(res => { |
| | | this.useRangeData = res.data.data; |
| | | //console.log(this.useRangeData); |
| | | this.dialogLoading = false; |
| | | }); |
| | | }, |
| | | //刷新使用范围列表 |
| | | refreshUseRangeChange(){ |
| | |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | >>>>>>> 7938e5bedb3ff3b17dae51eb9588e8c8e71136c2 |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | // 克隆 |
| | | cloneCodeSetting() { |
| | | 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; |
| | | }, |
| | | // 添加 |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | loading(); |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | openEdit(row){ |
| | | this.$refs.crud.rowEdit(row,row.$index); |
| | | }, |
| | | // 修改 |
| | | rowUpdate(row, index, done, loading) { |
| | | row.ts = new Date().getTime; |
| | | update(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | loading(); |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 删除 |
| | | handleDelete() { |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | // 只支持每次单条记录删除 |
| | | let oid = this.selectionList[0].oid; |
| | | let ts = this.selectionList[0].ts; |
| | | return remove({oid: oid,ts: ts}); |
| | | }) |
| | | .then(() => { |
| | | }, |
| | | // 打开编码规则克隆对话框 |
| | | openCodeRuleDialog() { |
| | | if (!this.tipsMessage(this.selectionList)) { |
| | | return; |
| | | } |
| | | 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: "操作成功!" |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | // 打开修改 |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.oid).then(res => { |
| | | this.form = res.data.data; |
| | | //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; |
| | | }); |
| | | } |
| | | done(); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | if(this.selectionList.length > 0){ |
| | | this.currentCodeRuleOid = this.selectionList [list.length-1]; |
| | | this.loadBasic(this.selectionList[list.length-1]); |
| | | } |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | currentChange(currentPage){ |
| | | this.page.currentPage = currentPage; |
| | | }, |
| | | sizeChange(pageSize){ |
| | | this.page.pageSize = pageSize; |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | if(res != ''){ |
| | | this.$message.warning("需要克隆的编码规则与被克隆的编码规则相同!"); |
| | | return; |
| | | } |
| | | //console.log(res); |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.loadBasic(data.records[0]) |
| | | this.selectionClear(); |
| | | }); |
| | | 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; |
| | | } |
| | | 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(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | loading(); |
| | | window.console.log(error); |
| | | }); |
| | | }, |
| | | openEdit(row){ |
| | | this.$refs.crud.rowEdit(row,row.$index); |
| | | }, |
| | | // 修改 |
| | | rowUpdate(row, index, done, loading) { |
| | | row.ts = new Date().getTime; |
| | | update(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | loading(); |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | // 删除 |
| | | handleDelete() { |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | // 只支持每次单条记录删除 |
| | | let oid = this.selectionList[0].oid; |
| | | let ts = new Date(this.selectionList[0].ts).getTime(); |
| | | return remove({oid: oid,ts: ts}); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | // 打开修改 |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.ruleForm.oid).then(res => { |
| | | this.ruleForm = res.data.data; |
| | | }); |
| | | } |
| | | done(); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | }, |
| | | // 编码规则当前选中行变化的时候触发 |
| | | 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.currentRuleLcStatus = this.selectionList[list.length-1].lcStatus; |
| | | //console.log(this.currentRuleLcStatus); |
| | | this.loadBasic(this.selectionList[list.length-1]); |
| | | } |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | currentChange(currentPage){ |
| | | this.page.currentPage = currentPage; |
| | | }, |
| | | sizeChange(pageSize){ |
| | | this.page.pageSize = pageSize; |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | //console.log(res.data); |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.loadBasic(this.data[0]) |
| | | this.$nextTick(() => { |
| | | //this.$refs.crud.toggleRowSelection(this.data[0]); |
| | | this.$refs.crud.setCurrentRow(this.data[0]); |
| | | }) |
| | | this.selectionList = data.records[0]; |
| | | //this.selectionClear(); |
| | | }); |
| | | }, |
| | | |
| | | |
| | | /** 第一层对话框相关方法 */ |
| | | // 打开二层弹窗方法 |
| | | openAttrSelectOrGetValue(condition){ |
| | | if(condition === 'attr'){ |
| | | this.isShowSelectAttrOption = true; |
| | | }else if(condition === 'value'){ |
| | | //打开公式编辑框,第二层嵌套对话框 |
| | | this.$refs.formulaEditor.isShowformulaEdit = true; |
| | | }else if(condition === 'parentClassifySecOid'){ |
| | | this.isShowParentClassifyOption = true; |
| | | }else if(condition === 'referBtmId'){ |
| | | this.isShowSelectReferBtmOption = true; |
| | | }else if(condition === 'referConfig'){ |
| | | //this.$emit('openSelectreferConfig') |
| | | } |
| | | }, |
| | | |
| | | // 点击输入框的×号,清空输入框中的内容 |
| | | clearAttrDataByIcon(condition){ |
| | | if(condition === 'attr'){ |
| | | this.form.referAttributeName = ''; |
| | | this.form.referAttributeId = ''; |
| | | this.form.referCodeClassifyOid = ''; |
| | | this.form.referCodeClassifyOidName = ''; |
| | | }else if(condition === 'value'){ |
| | | this.form.getValueClass = ''; |
| | | }else if(condition === 'parentClassifySecOid'){ |
| | | this.form.parentClassifySecOid = ''; |
| | | }else if(condition === 'referBtmId'){ |
| | | this.form.referBtmId = ''; |
| | | }else if(condition === 'referConfig'){ |
| | | this.form.referBtmId = ''; |
| | | } |
| | | }, |
| | | // 补位时的字符,实现可输可选 |
| | | inputSelectBlur(e){ |
| | | if (e.target.value) { |
| | | this.form.codeFillSeparatorSelect = e.target.value; |
| | | } |
| | | }, |
| | | // 码段类型改变时,增加对应的form表单中的属性 |
| | | changeSectypeFormItems(row){ |
| | | //console.log(row); |
| | | if(this.sectypeList.length==0){ |
| | | this.loadCodeSecType(); |
| | | } |
| | | if(row != null){ |
| | | this.form = { |
| | | oid: row.oid, |
| | | id: row.id, //编号, |
| | | name: row.name,//名称 |
| | | secType: row.secType,//码段类型 |
| | | description: row.description,//描述 |
| | | serialDependFlag: row.serialDependFlag=='true' ? true:false,//是否流水依赖 |
| | | serialDependOrder: row.serialDependOrder,//流水依赖顺序 |
| | | nullableFlag: row.nullableFlag=='true' ? true:false,//是否为空 |
| | | displayFlag: row.displayFlag=='true' ? true:false, |
| | | componentCodeFlag: row.componentCodeFlag=='true' ? true:false,//是否参与编码 |
| | | pkCodeRule: row.pkCodeRule, //所属编码规则 |
| | | } |
| | | }else { |
| | | this.form = { |
| | | id: this.form.id, //编号 |
| | | name: this.form.name, //名称 |
| | | secType: this.form.secType, //码段类型 |
| | | description: this.form.description, //描述 |
| | | serialDependFlag: this.form.serialDependFlag, //是否流水依赖 |
| | | serialDependOrder: this.form.serialDependOrder, //流水依赖顺序 |
| | | nullableFlag: this.form.nullableFlag, //是否为空 |
| | | displayFlag: this.form.displayFlag, // |
| | | componentCodeFlag: this.form.componentCodeFlag, //是否参与编码 |
| | | pkCodeRule: this.form.pkCodeRule, //所属编码规则 |
| | | }; |
| | | //console.log(this.form); |
| | | } |
| | | if(this.form.secType==='codefixedsec'){ |
| | | //固定码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', |
| | | codeSecLengthType: row!=null&&row.codeSecLengthType != '' ? row.codeSecLengthType:'code_sec_length_variable' |
| | | }); |
| | | this.loadCodeSecLength(); |
| | | }else if(this.form.secType==='codeattrsec'){ |
| | | //属性码段 |
| | | this.form = Object.assign({}, this.form, { |
| | | referCodeClassifyOid: row!=null&&row.referCodeClassifyOid != '' ? row.referCodeClassifyOid:'', //属性id |
| | | referCodeClassifyOidName: row!=null&&row.referCodeClassifyOidName != '' ? row.referCodeClassifyOidName:'', //属性所在分类 |
| | | referAttributeId: row!=null&&row.referAttributeId != '' ? row.referAttributeId:'', //属性编号 |
| | | referAttributeName: row!=null&&row.referAttributeName != '' ? row.referAttributeName:'', //属性 |
| | | getValueClass: row!=null&&row.getValueClass != '' ? row.getValueClass:'' //取值规则 |
| | | }); |
| | | }else if(this.form.secType==='codeserialsec'){ |
| | | //流水码段 |
| | | 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, //流水的步长 |
| | | 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, //补位时的字符 |
| | | 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, //流水是否补码 |
| | | customCodeSerialClass: row!=null&&row.customCodeSerialClass != '' ? row.customCodeSerialClass:'', //自定义流水算法 |
| | | }); |
| | | this.loadCodeFillType(); |
| | | this.loadCodeFillSeparator(); |
| | | }else if(this.form.secType==='codelevelsec'){ |
| | | //层级码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | codeLevelType: row!=null&&row.codeLevelType != '' ? row.codeLevelType:'code_level_min', //层级类型 枚举查询 |
| | | codeLevelValue: row!=null&&row.codeLevelValue != '' ? row.codeLevelValue:'', //层级的值 |
| | | valueCutType: row!=null&&row.valueCutType != '' ? row.valueCutType:'code_cut_none', //字符截取类型 枚举查询 |
| | | valueCutLength: row!=null&&row.valueCutLength != '' ? row.valueCutLength:'', // |
| | | codeGetValueType: row!=null&&row.codeGetValueType != '' ? row.codeGetValueType:'code_get_value_all_up', //取值类型 枚举查询 |
| | | }); |
| | | this.loadCodeLevelType(); |
| | | this.loadCodeCutType(); |
| | | this.loadCodeGetValueType(); |
| | | }else if(this.form.secType==='coderefersec'){ |
| | | //引用码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | referBtmId: row!=null&&row.referBtmId != '' ? row.referBtmId:'', //参照引用的业务类型,的id |
| | | referBtmName: row!=null&&row.referBtmName != '' ? row.referBtmName:'', //参照引用的业务类型 |
| | | referConfig: row!=null&&row.referConfig != '' ? row.referConfig:'', //参照配置 |
| | | }); |
| | | }else if(this.form.secType==='codedatesec'){ |
| | | //日期码段 |
| | | this.form = Object.assign({}, this.form,{ |
| | | 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', //码段长度类型 |
| | | codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', //码段的长度 |
| | | matchClassifyValueFlag: row!=null&&row.matchClassifyValueFlag != '' ? row.matchClassifyValueFlag=='true' ? true:false :false, //是否自动匹配值 |
| | | parentClassifySecOid: row!=null&&row.parentClassifySecOid != '' ? row.parentClassifySecOid:'', //父分类码段选中的id |
| | | parentClassifySecText: row!=null&&row.parentClassifySecText != '' ? row.parentClassifySecText:'', //父分类码段 |
| | | }); |
| | | this.loadCodeSecLength(); |
| | | }else if(this.form.secType==='codevariablesec'){ |
| | | //可变码段 |
| | | 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, //选中的补位时的字符的下标 |
| | | codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'', //补位时的字符,可输可选查询 |
| | | }); |
| | | this.loadCodeFillType(); |
| | | this.loadCodeFillSeparator(); |
| | | } |
| | | // console.log(this.form); |
| | | }, |
| | | //枚举和可输可选内容查询 |
| | | loadCodeSecType(){ |
| | | getDictionary({code: "codeBasicSecType"}).then(res=>{ |
| | | this.sectypeList = res.data.data; |
| | | }) |
| | | this.loadCodeSecLength(); |
| | | //console.log(this.sectypeList); |
| | | }, |
| | | loadCodeSecLength(){ |
| | | getDictionary({code: "codeSecLength"}).then(res=>{ |
| | | this.codeSecLengthType = res.data.data; |
| | | }) |
| | | }, |
| | | loadCodeFillType(){ |
| | | getDictionary({code: "codeFillType"}).then(res=>{ |
| | | this.codeFillType = res.data.data; |
| | | }) |
| | | }, |
| | | loadCodeFillSeparator(){ |
| | | getDictionary({code: "codeFillSeparator"}).then(res=>{ |
| | | this.codeFillSeparator = res.data.data; |
| | | }) |
| | | }, |
| | | loadCodeLevelType(){ |
| | | getDictionary({code: "codeLevelType"}).then(res=>{ |
| | | this.codeLevelType = res.data.data; |
| | | }) |
| | | }, |
| | | loadCodeCutType(){ |
| | | getDictionary({code: "codeCutType"}).then(res=>{ |
| | | this.codeCutType = res.data.data; |
| | | }) |
| | | }, |
| | | loadCodeGetValueType(){ |
| | | getDictionary({code: "codeGetValueType"}).then(res=>{ |
| | | this.codeGetValueType = res.data.data; |
| | | //console.log(this.codeGetValueType); |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | |
| | | </script> |
| | | |
| | | <<<<<<< HEAD |
| | | <style> |
| | | ======= |
| | | <style scope> |
| | | |
| | | .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search { |
| | |
| | | padding: 1px 6px; |
| | | } |
| | | |
| | | >>>>>>> 7938e5bedb3ff3b17dae51eb9588e8c8e71136c2 |
| | | .el-divider--horizontal { |
| | | margin-top: 19px !important; |
| | | margin-bottom: -20px !important; |
| | | height: 2px; |
| | | margin: 0; |
| | | margin-top: 19px !important; |
| | | margin-bottom: -20px !important; |
| | | height: 2px; |
| | | margin: 0; |
| | | position: fixed; |
| | | width: 57.5vw; |
| | | } |
| | | |
| | | .el-card__body > .abox { |
| | |
| | | width:60px; |
| | | } |
| | | |
| | | .formula-editor{ |
| | | |
| | | .el-input-number { |
| | | width: 120px; |
| | | } |
| | | |
| | | .el-input-number >.el-input > .el-input__inner { |
| | | width:120px; |
| | | } |
| | | |
| | | .el-col>.el-card > .el-card__header { |
| | | background: rgb(213 231 239); |
| | | border-radius: inherit; |
| | | } |
| | | |
| | | /** 新增码段 */ |
| | | .total{ |
| | | height: 500px; |
| | | width: 100%; |
| | | } |
| | | |
| | | .total .el-input__inner,.total .el-textarea__inner { |
| | | width: 220px; |
| | | } |
| | | |
| | | .el-divider--vertical { |
| | | width: 2px; |
| | | height: 72vh; |
| | | margin: 0 5px; |
| | | position: fixed; |
| | | } |
| | | |
| | | .left { |
| | | float: left; |
| | | width: 49%; |
| | | } |
| | | .right { |
| | | float: right; |
| | | margin-right: 2.5vw; |
| | | /* width: 40%; */ |
| | | } |
| | | .right > .el-form > .el-form-item{ |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | |
| | | </style> |