| | |
| | | <el-button @click="cloneOtherCodeRuleSettingBox = false">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 编码规则,转移所有者对话框 --> |
| | | <el-dialog |
| | | :visible.sync="escapeOwnerVisible" |
| | | append-to-body |
| | | title="转移所有者" |
| | | width="30%"> |
| | | <el-select v-model="ruleOwner" placeholder="请选择" class="selects"> |
| | | <el-option |
| | | v-for="item in ruleAdminUserList" |
| | | :key="item.VALUE" |
| | | :label="item.LABLE" |
| | | :value="item.VALUE" |
| | | class="seloption"> |
| | | </el-option> |
| | | </el-select> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="escapeOwnerVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="escapeOwnerConfirm">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 基础码段展示区域 --> |
| | | <basic-container class="code-basicsec-container"> |
| | |
| | | </span> |
| | | </el-form> |
| | | </div> |
| | | <!-- 第一层对话框的按钮和,线条 --> |
| | | <!-- 第一层对话框的按钮和分隔线条 --> |
| | | <el-divider class="horizontal-line" direction="horizontal"></el-divider> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">保 存</el-button> |
| | | <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">取 消</el-button> |
| | | <el-button type="primary" @click="saveOrEditBasicCode" :disabled="!showbtn">保 存</el-button> |
| | | <el-button @click="addBasicCodeSettingBox = false">取 消</el-button> |
| | | </div> |
| | | |
| | | <!-- 第二层对话框,属性码段,属性选择对话框 --> |
| | |
| | | <formula-editor |
| | | ref="formulaEditor" |
| | | @updateFormulaContent="updateFormulaContent" |
| | | :thisSceneTableData="formulaEditorParams.thisSceneTableData" |
| | | :visible.sync="formulaEditorParams.formulaEditorSettingBox" |
| | | :thisSceneTableData="formulaEditorParams.thisSceneTableData" |
| | | :systemVariableTableData="formulaEditorParams.systemVariableTableData"> |
| | | </formula-editor> |
| | | |
| | |
| | | @echoReferBtmType="echoReferBtmType"> |
| | | </refer-btm-type-crud-dialog> |
| | | |
| | | <!-- 第二层对话框,自定义参照配置Form组件 --> |
| | | <refer-config-form-dialog |
| | | ref="referConfigFormDialog" |
| | | @echoReferConfig="echoReferConfig"> |
| | | </refer-config-form-dialog> |
| | | |
| | | <!-- 第二层对话框,直接选择参照配置crud组件 --> |
| | | <refer-config-crud-dialog |
| | | ref="referConfigCrudDialog" |
| | | @openReconfigInterFace="openReconfigInterFace" |
| | | @echoReferConfig="echoReferConfig"> |
| | | </refer-config-crud-dialog> |
| | | <!-- 第二层对话框,参照配置组件 --> |
| | | <refer-config-dialog |
| | | :display="referConfigVisble" |
| | | @setReferConfigValue="setReferConfigValue" |
| | | :referConfigOption="referConfigOption"> |
| | | </refer-config-dialog> |
| | | |
| | | </el-dialog> |
| | | |
| | |
| | | import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; |
| | | import fixedValueOption from "@/const/code/fixedValueMgrDialog"; |
| | | import {mapGetters} from "vuex"; |
| | | import func from "@/util/func"; |
| | | import {MasterTable} from "@/api/GetItem"; |
| | | import {getByRoleUserList} from "@/api/system/user"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | cloneBasicOption: cloneBasicOption, |
| | | cloneCodeRuleOption: cloneCodeRuleOption, |
| | | selectionOtherCloneCodeBasicList: [], // 当前选中的基础码段 |
| | | /** 转移所有者对话框 */ |
| | | escapeOwnerVisible: false, |
| | | ruleAdminUserList: [], //规则管理员列表 |
| | | ruleOwner: '', // 当前要转移给哪个规则管理员的ID |
| | | |
| | | /*使用范围对话框显示控制*/ |
| | | codeRangeSettingBox: false, |
| | |
| | | }, |
| | | classisyValueTreeOption: classisyValueTreeOption, //分类码段树相关配置项 |
| | | classifyValueTreeData: [], |
| | | //currentSelectClsValueTreeData: '', //当前选中的分类码值树节点 |
| | | |
| | | /* 为属性选取值窗口显示打开控制变量 */ |
| | | isShowSelectAttrOption: false, |
| | |
| | | //conditionMapParams: {}, |
| | | }, |
| | | |
| | | //引用码段中参照配置组件相关参数 |
| | | referConfigOption: {}, |
| | | referConfigVisble: false, |
| | | |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | mounted(){ |
| | | this.loadTotalEnum(); |
| | | }, |
| | | // 解决表格错行问题 |
| | | activated () { |
| | | this.$nextTick(() => { |
| | | this.$refs.crud.doLayout(); |
| | | this.$refs.crudBasic.doLayout(); |
| | | }) |
| | | }, |
| | | methods: { |
| | | |
| | | /** 转移规则所有者对话框 */ |
| | | escapeOwner(){ |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择一条编码规则!"); |
| | | return; |
| | | } |
| | | this.escapeOwnerVisible = true; |
| | | getByRoleUserList("规则管理员").then(res=>{ |
| | | this.ruleAdminUserList = res.data.data; |
| | | }); |
| | | }, |
| | | /** 确认转移所有者 */ |
| | | escapeOwnerConfirm(){ |
| | | if(!this.ruleOwner){ |
| | | this.$message.warning("请选择您要转移的规则管理员!"); |
| | | return; |
| | | } |
| | | this.selectionList[0].owner = this.ruleOwner; |
| | | let data = this.selectionList[0]; |
| | | update(data).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "规则转移成功!" |
| | | }); |
| | | this.escapeOwnerVisible = false; |
| | | }, error => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | |
| | | /** 高级查询对话框组件,组件返回的值是condtionMap[field]形式的查询条件,保留了和之前一样的方式 */ |
| | | echoSeniorContionMap(conditionMaps){ |
| | |
| | | this.form.getValueClass = content; |
| | | }, |
| | | /* 引用码段参照配置,子组件填完参照配置之后内容回显时调用 */ |
| | | echoReferConfig(content){ |
| | | setReferConfigValue(content){ |
| | | // console.log(content.referTypeName); |
| | | this.form.referBtmId = content.referType || ''; |
| | | this.form.referBtmName = content.referTypeName || content.referType; |
| | | //转换成JSON字符串进行父组件回显 |
| | | let submitFormJson = JSON.stringify(content); |
| | | this.form.referConfig = submitFormJson || ''; |
| | | this.form.referValueInfo = submitFormJson || ''; |
| | | }, |
| | | /** 引用码段为【参照引用的业务类型】选取值之后的内容回显时调用 */ |
| | | echoReferBtmType(content){ |
| | |
| | | return currentRowClassOid!=updateClassOid; |
| | | }, |
| | | |
| | | |
| | | /** 基础码段相关方法 */ |
| | | //防止打开过编辑窗口之后表单中存在值,所以需要清空,并初始化form表单属性 |
| | | clearBasicAddForm(){ |
| | | this.form = this.$options.data().form; |
| | | // this.changeSectypeFormItems(null); |
| | | }, |
| | | // 打开新增窗口 |
| | | openAddBasicCodeSec(){ |
| | | 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; |
| | | }, |
| | | // 新增基础码段 |
| | | async 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()){ |
| | | await addSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | // 点击新增基础码段,关闭窗口之后触发重新加载 |
| | | this.loadBasic(this.selectionList[0]); |
| | | }else{ |
| | | // 可能参照引用的业务类型会发生改变所以这儿直接对referConfig的json进行改变 |
| | | if(this.form.referConfig === "coderefersec" || this.form.referConfig != undefined){ |
| | | let referConfig = JSON.parse(this.form.referConfig); |
| | | referConfig.referType = this.form.referBtmId; |
| | | referConfig.referTypeName = this.form.referBtmName; |
| | | this.form.referConfig = JSON.stringify(referConfig); |
| | | let referValueInfo = JSON.parse(this.form.referValueInfo); |
| | | referValueInfo.referType = this.form.referBtmId; |
| | | } |
| | | editSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | this.loadBasic(this.selectionList[0]); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | }, |
| | | // 因为elementui的表单校验设置不上所以采用判断的方式来做表单检验方式 |
| | | checkForm(){ |
| | | let form = this.form; |
| | | //console.log(form); |
| | | const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //数字或小数正则校验 |
| | | const regPos = /^[0-9]*[1-9][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.codeFillSeparator == ''){ |
| | | 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); |
| | | // return false; |
| | | // } |
| | | }else if(this.form.secType==='codelevelsec'){ |
| | | //层级码段 |
| | | if(form.codeLevelType == ''){ |
| | | this.$message.warning('(层级类型)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(form.codeLevelType != 'code_level_min'&& !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; |
| | | } |
| | | if(form.valueCutType != 'code_cut_none' && !regPos.test(form.valueCutLength)){ |
| | | this.$message.warning('(值截取长度)只能填写正整数'); |
| | | this.$refs.valueCutLength.$el.querySelector('input').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; |
| | | } |
| | | // console.log(form); |
| | | if(form.codeFillType != 'code_fill_none' && form.codeFillSeparator == ''){ |
| | | 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); |
| | | //存储当前关联的编码规则相关信息 |
| | | if(row!='' || row!=null){ |
| | | this.currentCodeRuleOid = row.oid; |
| | | this.currentRuleLcStatus = row.lcStatus; |
| | | this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false); |
| | | } |
| | | }, |
| | | // 发送加载基础码段的请求 |
| | | sendGridCodeBasicSec(condition,isAdancedQuery/** 是否高级查询 */){ |
| | | // 如果当前基础码段表中的搜索按钮被隐藏,就需要在此开启 |
| | | if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){ |
| | | this.hideBasicTable(true); |
| | | } |
| | | let conditionMaps = {}; |
| | | if(condition && !isAdancedQuery){ |
| | | Object.keys(condition).forEach(key=>{ |
| | | conditionMaps['conditionMap['+key+']'] = condition[key].trim(); |
| | | }); |
| | | } |
| | | if(isAdancedQuery){ |
| | | condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' |
| | | ? this.selectionList[0].oid:this.currentCodeRuleOid; |
| | | } |
| | | gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => { |
| | | const data = res.data.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; |
| | | this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length-1]); |
| | | //console.log(this.selectionBasicList); |
| | | }, |
| | | // 基础码段被单击表格行时触发 |
| | | codeBasicSecRowClick(row){ |
| | | this.$refs.crudBasic.toggleSelection(); |
| | | this.selectionBasicList = row; |
| | | this.$refs.crudBasic.setCurrentRow(row); |
| | | this.$refs.crudBasic.toggleRowSelection(row); //选中当前行 |
| | | }, |
| | | basicSearchChange(params, done){ |
| | | //console.log(this.$refs.crudBasic); |
| | | this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}),false); |
| | | done(); |
| | | }, |
| | | basicSearchReset(){ |
| | | this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false); |
| | | }, |
| | | // 上移下移基础码段 |
| | | async upOrderNum(row){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | await upOrderNum(row.oid).then(() => { |
| | | this.loadBasic(this.selectionList[0]); |
| | | 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(this.selectionList.at(-1)); |
| | | }, |
| | | // 操作基础码段中搜索清空等按钮的显示/隐藏 |
| | | hideBasicTable(hideBoolean){ |
| | | this.$refs.crudBasic.option.refreshBtn = hideBoolean; |
| | | this.$refs.crudBasic.option.columnBtn = hideBoolean; |
| | | this.$refs.crudBasic.option.column[0].search = hideBoolean; |
| | | this.$refs.crudBasic.option.column[1].search = hideBoolean; |
| | | if(!hideBoolean){ |
| | | this.selectionList = []; |
| | | this.basicData = []; |
| | | } |
| | | }, |
| | | |
| | | |
| | | /** 编码规则相关方法 */ |
| | | // 打开高级查询窗口 |
| | | openAdvancedQuery(condition){ |
| | |
| | | this.loadBasic(this.selectionList[list.length-1]); |
| | | } |
| | | }, |
| | | changeCutType(value){ |
| | | if (value != 'code_cut_none'){ |
| | | if(this.form.valueCutLength == ''){ |
| | | this.form.valueCutLength = 1; |
| | | } |
| | | }else{ |
| | | this.form.valueCutLength = ''; |
| | | } |
| | | }, |
| | | // 单击编码规则实现行选择 |
| | | codeRuleRowClick (row) { |
| | | // console.log(this.currentRuleLcStatus); |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | /** 基础码段相关方法 */ |
| | | //防止打开过编辑窗口之后表单中存在值,所以需要清空,并初始化form表单属性 |
| | | clearBasicAddForm(){ |
| | | this.form = this.$options.data().form; |
| | | // this.changeSectypeFormItems(null); |
| | | }, |
| | | // 打开新增窗口 |
| | | openAddBasicCodeSec(){ |
| | | 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; |
| | | }, |
| | | // 新增基础码段 |
| | | async 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()){ |
| | | await addSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | // 点击新增基础码段,关闭窗口之后触发重新加载 |
| | | this.loadBasic(this.selectionList[0]); |
| | | }else{ |
| | | // 可能参照引用的业务类型会发生改变所以这儿直接对referConfig的json进行改变 |
| | | if(this.form.referConfig === "coderefersec" || this.form.referConfig != undefined){ |
| | | let referConfig = JSON.parse(this.form.referConfig); |
| | | referConfig.referType = this.form.referBtmId; |
| | | referConfig.referTypeName = this.form.referBtmName; |
| | | this.form.referConfig = JSON.stringify(referConfig); |
| | | // let referValueInfo = JSON.parse(this.form.referValueInfo); |
| | | // referValueInfo.referType = this.form.referBtmId; |
| | | } |
| | | editSave(this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }, error => { |
| | | window.console.log(error); |
| | | }); |
| | | this.loadBasic(this.selectionList[0]); |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false |
| | | } |
| | | }, |
| | | // 因为elementui的表单校验设置不上所以采用判断的方式来做表单检验方式 |
| | | checkForm(){ |
| | | let form = this.form; |
| | | //console.log(form); |
| | | const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //数字或小数正则校验 |
| | | const regPos = /^[0-9]*[1-9][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.codeFillSeparator == ''){ |
| | | 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); |
| | | // return false; |
| | | // } |
| | | }else if(this.form.secType==='codelevelsec'){ |
| | | //层级码段 |
| | | if(form.codeLevelType == ''){ |
| | | this.$message.warning('(层级类型)'+tipsMsg); |
| | | return false; |
| | | } |
| | | if(form.codeLevelType != 'code_level_min'&& !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; |
| | | } |
| | | if(form.valueCutType != 'code_cut_none' && !regPos.test(form.valueCutLength)){ |
| | | this.$message.warning('(值截取长度)只能填写正整数'); |
| | | this.$refs.valueCutLength.$el.querySelector('input').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; |
| | | } |
| | | // console.log(form); |
| | | if(form.codeFillType != 'code_fill_none' && form.codeFillSeparator == ''){ |
| | | 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); |
| | | //存储当前关联的编码规则相关信息 |
| | | if(row!='' || row!=null){ |
| | | this.currentCodeRuleOid = row.oid; |
| | | this.currentRuleLcStatus = row.lcStatus; |
| | | this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false); |
| | | } |
| | | }, |
| | | // 发送加载基础码段的请求 |
| | | sendGridCodeBasicSec(condition,isAdancedQuery/** 是否高级查询 */){ |
| | | // 如果当前基础码段表中的搜索按钮被隐藏,就需要在此开启 |
| | | if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){ |
| | | this.hideBasicTable(true); |
| | | } |
| | | let conditionMaps = {}; |
| | | if(condition && !isAdancedQuery){ |
| | | Object.keys(condition).forEach(key=>{ |
| | | conditionMaps['conditionMap['+key+']'] = condition[key].trim(); |
| | | }); |
| | | } |
| | | if(isAdancedQuery){ |
| | | condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' |
| | | ? this.selectionList[0].oid:this.currentCodeRuleOid; |
| | | } |
| | | gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => { |
| | | const data = res.data.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; |
| | | this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length-1]); |
| | | //console.log(this.selectionBasicList); |
| | | }, |
| | | // 基础码段被单击表格行时触发 |
| | | codeBasicSecRowClick(row){ |
| | | this.$refs.crudBasic.toggleSelection(); |
| | | this.selectionBasicList = row; |
| | | this.$refs.crudBasic.setCurrentRow(row); |
| | | this.$refs.crudBasic.toggleRowSelection(row); //选中当前行 |
| | | }, |
| | | basicSearchChange(params, done){ |
| | | //console.log(this.$refs.crudBasic); |
| | | this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}),false); |
| | | done(); |
| | | }, |
| | | basicSearchReset(){ |
| | | this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false); |
| | | }, |
| | | // 上移下移基础码段 |
| | | async upOrderNum(row){ |
| | | if(!this.tipsMessage(this.selectionList)){ |
| | | return; |
| | | } |
| | | if (this.selectionList[0].lcStatus != 'Editing') { |
| | | this.$message.warning("只有编码规则的状态是 [编辑中] 的时候,才能调整码段顺序!"); |
| | | return; |
| | | } |
| | | if(row.oid==null || row.oid==''){ |
| | | this.$message.warning("未获取到必填参数!"); |
| | | return; |
| | | } |
| | | await upOrderNum(row.oid).then(() => { |
| | | this.loadBasic(this.selectionList[0]); |
| | | 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(this.selectionList.at(-1)); |
| | | }, |
| | | // 操作基础码段中搜索清空等按钮的显示/隐藏 |
| | | hideBasicTable(hideBoolean){ |
| | | this.$refs.crudBasic.option.refreshBtn = hideBoolean; |
| | | this.$refs.crudBasic.option.column[0].search = hideBoolean; |
| | | this.$refs.crudBasic.option.column[1].search = hideBoolean; |
| | | if(!hideBoolean){ |
| | | this.selectionList = []; |
| | | this.basicData = []; |
| | | } |
| | | }, |
| | | changeCutType(value){ |
| | | if (value != 'code_cut_none'){ |
| | | if(this.form.valueCutLength == ''){ |
| | | this.form.valueCutLength = 1; |
| | | } |
| | | }else{ |
| | | this.form.valueCutLength = ''; |
| | | } |
| | | }, |
| | | |
| | | /** 第一层对话框相关方法 */ |
| | | // 打开二层对话框方法 |
| | | openAttrSelectOrGetValue(condition){ |
| | |
| | | // 调用子组件刷新表格数据 |
| | | this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad(); |
| | | }else if(condition === 'referConfig'){ |
| | | if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){ |
| | | this.openReconfigInterFace(this.form); |
| | | }else{ |
| | | this.openTipsChooseOrCust(); |
| | | this.referConfigVisble = true; |
| | | this.referConfigOption = { |
| | | referBtmName: this.form.referBtmName, |
| | | referBtmId: this.form.referBtmId, |
| | | referConfig: this.form.referConfig || '', |
| | | } |
| | | this.$refs.referConfig.$el.querySelector('input').blur(); |
| | | } |
| | | }, |
| | | |
| | | // 当前已存在编辑过的参照配置,所以直接打开参照配置界面 |
| | | openReconfigInterFace(preReferConfigForm){ |
| | | // console.log(preReferConfigForm); |
| | | this.$refs.referConfigFormDialog.isShowReferConfigForm = true; |
| | | let value = { |
| | | referTypeName: preReferConfigForm.referBtmName, |
| | | referType: preReferConfigForm.referBtmId, |
| | | referConfig: preReferConfigForm.referConfig, |
| | | } |
| | | this.$refs.referConfigFormDialog.initPageData(value); |
| | | }, |
| | | // 打开自定义参照配置或直接选择参照配置的提示框 |
| | | openTipsChooseOrCust(){ |
| | | this.$confirm('请选择参照配置的定义方式?','参照配置的方式', { |
| | | distinguishCancelAndClose: true, |
| | | closeOnClickModal: false, |
| | | confirmButtonText: '自定义参照配置', |
| | | cancelButtonText: '直接选择参照配置' |
| | | }) |
| | | .then(() => { |
| | | // 打开自定参照配置对话框 |
| | | this.$refs.referConfigFormDialog.isShowReferConfigForm = true; |
| | | // 表格错行的问题 |
| | | this.$refs.referConfigFormDialog.onloadAttrData(); |
| | | }) |
| | | .catch(action => { |
| | | if (action === "cancel") { |
| | | // 打开直接选择参照配置对话框 |
| | | this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true; |
| | | this.$refs.referConfigCrudDialog.referConfigOnload(); |
| | | } |
| | | //console.log(action); |
| | | }); |
| | | // 让参照配置输入框失去焦点,否则该提示框无法被关闭 |
| | | this.$refs.referConfig.$el.querySelector('input').blur(); |
| | | }, |
| | | |
| | | // 点击输入框的×号,清空输入框中的内容 |
| | |
| | | padding: 5px 10px 10px; |
| | | } |
| | | |
| | | .seloption{ |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | </style> |