| | |
| | | </el-button> |
| | | <el-button |
| | | v-show="scope.row.lcStatus == 'Editing' ? true : false" |
| | | :disabled="releadDisabled" |
| | | :loading="releadDisabled" |
| | | icon="el-icon-position" |
| | | plain |
| | | size="small" |
| | |
| | | > |
| | | </advanced-query> |
| | | |
| | | <!-- 编码规则相关对话框 --> |
| | | <!-- 以下是编码规则相关对话框 --> |
| | | <el-dialog |
| | | :visible.sync="codeRangeSettingBox" |
| | | append-to-body |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 编码规则,克隆对话框 --> |
| | | <el-dialog |
| | | <clone-rule-dialog |
| | | :visible.sync="cloneSettingBox" |
| | | append-to-body |
| | | class="avue-dialog avue-dialog--top" |
| | | style="height: 100vh" |
| | | title="克隆编码规则" |
| | | top="-3%" |
| | | width="800px" |
| | | > |
| | | <div> |
| | | <el-row> |
| | | <el-form ref="form" :inline="true" :model="form" label-width="80px"> |
| | | <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 class="clone-input-textarea" label="描述"> |
| | | <el-input |
| | | v-model="cloneCodeRuleForm.description" |
| | | :autosize="{ minRows: 3, maxRows: 5 }" |
| | | type="textarea" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-row> |
| | | <el-row> |
| | | <p |
| | | style=" |
| | | margin: 0 0px 16px 50%; |
| | | font-weight: 500; |
| | | font-size: 20px; |
| | | color: #000; |
| | | " |
| | | > |
| | | 码段管理 |
| | | </p> |
| | | <avue-crud |
| | | :data="cloneData" |
| | | :option="cloneOption" |
| | | :table-loading="cloneTableLoading" |
| | | class="clone-avue-crud" |
| | | @on-load="cloneDataOnLoad" |
| | | > |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button |
| | | v-show="scope.row.orderNum > 1" |
| | | icon="el-icon-arrow-up" |
| | | plain |
| | | size="small" |
| | | type="text" |
| | | @click="upOrderNum(scope.row)" |
| | | >上移 |
| | | </el-button> |
| | | <el-button |
| | | icon="el-icon-arrow-down" |
| | | plain |
| | | size="small" |
| | | type="text" |
| | | @click="downOrderNum(scope.row)" |
| | | >下移 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-row> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="saveCloneCodeRule">保 存</el-button> |
| | | <el-button @click="cloneSettingBox = false">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | :ruleData="selectionList[0]" |
| | | @refreshRuleTable="onLoad"> |
| | | </clone-rule-dialog> |
| | | |
| | | <!-- 编码规则,从其他规则克隆对话框 --> |
| | | <el-dialog |
| | | <clone-other-basic-sec-dialog |
| | | :visible.sync="cloneOtherCodeRuleSettingBox" |
| | | append-to-body |
| | | class="avue-dialog avue-dialog--top" |
| | | destroy-on-close |
| | | style="height: 100vh" |
| | | title="克隆编码规则的基础信息" |
| | | top="-3%" |
| | | width="800px" |
| | | > |
| | | <div> |
| | | <el-row> |
| | | <p |
| | | style=" |
| | | margin-top: -20px; |
| | | margin-bottom: 4px; |
| | | font-weight: 570; |
| | | font-size: 19px; |
| | | color: #0e2d5f; |
| | | " |
| | | > |
| | | 编码规则 |
| | | </p> |
| | | <avue-crud |
| | | ref="crudCloneCodeRuleOther" |
| | | :data="data" |
| | | :option="cloneCodeRuleOption" |
| | | :page.sync="page" |
| | | :table-loading="loading" |
| | | class="other-clone-coderule-crud" |
| | | @row-click="codeOtherCloneRuleRowClick" |
| | | @size-change="sizeChange" |
| | | @selection-change="selectionOtherCloneCodeRuleChange" |
| | | @on-load="onLoad" |
| | | > |
| | | </avue-crud> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px; border-top: 1px solid #ebeef5"> |
| | | <p |
| | | style=" |
| | | margin-top: 10px; |
| | | margin-bottom: 4px; |
| | | font-weight: 570; |
| | | font-size: 19px; |
| | | color: #0e2d5f; |
| | | " |
| | | > |
| | | 码段信息 |
| | | </p> |
| | | <avue-crud |
| | | ref="crudCloneCodeBasicOther" |
| | | :data="basicData" |
| | | :option="cloneBasicOption" |
| | | :table-loading="loadingBasic" |
| | | class="other-clone-codebasic-crud" |
| | | @row-click="codeOtherCloneBasicRowClick" |
| | | @selection-change="selectionOtherCloneCodeBasicChange" |
| | | > |
| | | </avue-crud> |
| | | </el-row> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer" style="height: 50px"> |
| | | <el-button type="primary" @click="saveOtherCodeBasic">保 存</el-button> |
| | | <el-button @click="cloneOtherCodeRuleSettingBox = false" |
| | | >取 消</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | :quiltCloneCodeRule="selectionList[0]" |
| | | @refreshRuleTable="onLoad"> |
| | | </clone-other-basic-sec-dialog> |
| | | |
| | | <!-- 编码规则,转移所有者对话框 --> |
| | | <el-dialog |
| | |
| | | append-to-body |
| | | title="转移所有者" |
| | | width="30%" |
| | | class= "avue-dialog avue-dialog--top" |
| | | > |
| | | <el-select v-model="ruleOwner" class="selects" placeholder="请选择"> |
| | | <el-option |
| | |
| | | append-to-body |
| | | class="avue-dialog avue-dialog--top" |
| | | destroy-on-close |
| | | style="height: 100vh" |
| | | style="height: 110vh" |
| | | title="码段码值管理" |
| | | top="-3%" |
| | | @close="clearFixedOrClassifyForm('close')" |
| | |
| | | <!-- 分类码段码值管理 --> |
| | | <el-row v-show="!isShowFixedForm"> |
| | | <el-col :span="11"> |
| | | <basic-container> |
| | | <basic-container style="overflow:hidden"> |
| | | <div |
| | | class="box classify_value_box" |
| | | style="height: 60vh; margin-bottom: -40px" |
| | | > |
| | | <basic-container> |
| | | <div class="abox" style="height: 54vh"> |
| | | <div class="abox"> |
| | | <avue-tree |
| | | :data="classifyValueTreeData" |
| | | :option="classisyValueTreeOption" |
| | | style="" |
| | | style="height: calc(60vh - 100px);" |
| | | @node-click="classisyValueTreeOnodeClick" |
| | | /> |
| | | </div> |
| | |
| | | <el-button |
| | | :disabled="!showbtn" |
| | | type="primary" |
| | | @click="saveOrEditBasicCode" |
| | | >保 存</el-button |
| | | > |
| | | :loading="isLoadingSecCodeAddBtn" |
| | | @click="saveOrEditBasicCode">保 存</el-button> |
| | | <el-button @click="addBasicCodeSettingBox = false">取 消</el-button> |
| | | </div> |
| | | |
| | |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | gridCodeRule, |
| | |
| | | remove, |
| | | listUseRange, |
| | | updateStatus, |
| | | clone, |
| | | clearAllCode, |
| | | checkLikeCodeRule, |
| | | } from "@/api/code/mdmrule"; |
| | |
| | | upOrderNum, |
| | | deleteData, |
| | | editSave, |
| | | cloneCodeBasic, |
| | | addSave, |
| | | refDataGridClassifySec, |
| | | } from "@/api/code/codebasic"; |
| | |
| | | } from "@/api/code/codeClassifyValue"; |
| | | import { getDictionary } from "@/api/omd/enum"; |
| | | import optionBasic from "@/const/code/codebasic"; |
| | | import cloneOption from "@/const/code/cloneOption"; |
| | | import cloneBasicOption from "@/const/code/cloneBasicDialogOption"; |
| | | import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption"; |
| | | import optionRule from "@/const/code/mdmrule"; |
| | | import attrOption from "@/const/code/selectAttrOptionDialog"; |
| | | import treeOption from "@/const/code/classifyTreeOptionDialog"; |
| | |
| | | import { mapGetters } from "vuex"; |
| | | import { getByRoleUserList } from "@/api/system/user"; |
| | | import func from "@/util/func"; |
| | | import logeVue from '../docking/loge.vue'; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | optionRule: optionRule, |
| | | data: [], |
| | | currentRuleLcStatus: "", |
| | | /*克隆对话框控制变量*/ |
| | | |
| | | /*克隆编码规则对话框控制变量*/ |
| | | cloneSettingBox: false, |
| | | cloneTableLoading: false, |
| | | cloneOption: cloneOption, |
| | | cloneData: [], |
| | | cloneCodeRuleForm: { |
| | | id: "", |
| | | name: "", |
| | | description: "", |
| | | }, |
| | | |
| | | /*从其他规则克隆码段*/ |
| | | cloneOtherCodeRuleSettingBox: false, |
| | | cloneBasicOption: cloneBasicOption, |
| | | cloneCodeRuleOption: cloneCodeRuleOption, |
| | | selectionOtherCloneCodeBasicList: [], // 当前选中的基础码段 |
| | | |
| | | /** 转移所有者对话框 */ |
| | | escapeOwnerVisible: false, |
| | | ruleAdminUserList: [], //规则管理员列表 |
| | |
| | | loadingBasic: false, |
| | | selectionBasicList: [], |
| | | addBasicCodeSettingBox: false, |
| | | showbtn: false, //基础码段新增是否显示基础码段 |
| | | showbtn: false, //基础码段新增按钮是否禁用 |
| | | isLoadingSecCodeAddBtn: false, |
| | | basicSecDialogTitle: "", //基础码段第一层对话框标题 |
| | | basicSecOnlyRead: false, //新增基础码段表单是否只读 |
| | | |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | |
| | | /** 转移规则所有者对话框 */ |
| | | escapeOwner() { |
| | | if (this.selectionList.length === 0) { |
| | |
| | | oid: this.codefixedsecOrCodeclassifysec.oid, |
| | | }); |
| | | this.clearFixedOrClassifyForm("codefixedsec"); |
| | | this.$refs.crudFixedValue.refreshTable(); |
| | | this.$refs.crudFixedValue.doLayout(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | |
| | | updateStatus(oid, update) { |
| | | updateStatus({ oid: oid, ts: new Date().getTime, update: update }).then( |
| | | () => { |
| | | this.releadDisabled = false; |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | /** 发布编码规则 */ |
| | | async enableOrDeactivatse(oid, update) { |
| | | if (update === "release") { |
| | | // 避免用户重复点击按钮 |
| | | this.releadDisabled = true; |
| | | // 避免用户重复点击按钮 |
| | | await checkLikeCodeRule(oid) |
| | | .then((res) => { |
| | | //console.log(res) |
| | |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "继续发布", |
| | | cancelButtonText: "取消", |
| | | }) |
| | | .then(() => { |
| | | }).then(() => { |
| | | this.updateStatus(oid, update); |
| | | this.releadDisabled = false; |
| | | }) |
| | | .catch((action) => { |
| | | this.releadDisabled = false; |
| | | }).catch((action) => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "取消发布!", |
| | | }); |
| | | this.releadDisabled = false; |
| | | }); |
| | | } |
| | | }) |
| | |
| | | this.updateStatus(oid, update); |
| | | } |
| | | }, |
| | | |
| | | /** 打开编码规则克隆对话框*/ |
| | | 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: "操作成功!", |
| | | }); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | //console.log(data); |
| | | }, |
| | | |
| | | /** 打开从其他编码规则中克隆码段对话框*/ |
| | | openOtherCodeRuleDialog() { |
| | | if (!this.tipsMessage(this.selectionList)) { |
| | |
| | | } |
| | | this.cloneOtherCodeRuleSettingBox = true; |
| | | }, |
| | | //** 从其他编码规则中克隆码段对话框-单击编码规则实现行选择*/ |
| | | codeOtherCloneRuleRowClick(row) { |
| | | this.$refs.crudCloneCodeRuleOther.toggleSelection(); |
| | | this.selectionOtherCloneCodeRuleList = row; |
| | | this.$refs.crudCloneCodeRuleOther.setCurrentRow(row); |
| | | this.$refs.crudCloneCodeRuleOther.toggleRowSelection(row); //选中当前行 |
| | | this.loadBasic(row); |
| | | }, |
| | | /** 从其他编码规则中克隆码段对话框-单击基础码段实现行选择*/ |
| | | codeOtherCloneBasicRowClick(row) { |
| | | this.$refs.crudCloneCodeBasicOther.toggleSelection(); |
| | | this.selectionOtherCloneCodeBasicList = row; |
| | | this.$refs.crudCloneCodeBasicOther.setCurrentRow(row); |
| | | this.$refs.crudCloneCodeBasicOther.toggleRowSelection(row); //选中当前行 |
| | | }, |
| | | /** 从其他规则克隆码段界面中编码规则当前选中行变化的时候触发*/ |
| | | selectionOtherCloneCodeRuleChange(list) { |
| | | //console.log(list); |
| | | this.selectionOtherCloneCodeRuleList = list; |
| | | this.$refs.crudBasic.setCurrentRow( |
| | | this.selectionBasicList[list.length - 1] |
| | | ); |
| | | if (list == "") { |
| | | this.basicData = []; |
| | | } |
| | | if (this.selectionOtherCloneCodeRuleList.length > 0) { |
| | | this.loadBasic(this.selectionOtherCloneCodeRuleList[list.length - 1]); |
| | | } |
| | | }, |
| | | selectionOtherCloneCodeBasicChange(list) { |
| | | this.selectionOtherCloneCodeBasicList = list; |
| | | this.$refs.crudCloneCodeBasicOther.setCurrentRow( |
| | | this.selectionOtherCloneCodeBasicList[list.length - 1] |
| | | ); |
| | | }, |
| | | /** 从其他编码规则中克隆码段信息*/ |
| | | saveOtherCodeBasic() { |
| | | let oid = this.selectionList[0].oid; |
| | | let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList; |
| | | if (fromDialogPkCodebasic.length <= 0) { |
| | | this.$message.warning("请选择码段数据!"); |
| | | return; |
| | | } |
| | | let res = fromDialogPkCodebasic.filter((item) => { |
| | | return item.pkCodeRule == oid; |
| | | }); |
| | | if (res != "") { |
| | | this.$message.warning("需要克隆的编码规则与被克隆的编码规则相同!"); |
| | | return; |
| | | } |
| | | let oidArr = []; |
| | | fromDialogPkCodebasic.forEach((ele) => { |
| | | oidArr.push(ele.oid); |
| | | }); |
| | | let data = { |
| | | pkCodeRule: oid, |
| | | oidArr: oidArr.join(","), |
| | | }; |
| | | //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) { |
| | |
| | | } |
| | | done(); |
| | | }, |
| | | // 编码规则快速查询重置 |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | }, |
| | | // 编码规则快速查询 |
| | | searchChange(params, done) { |
| | | this.page.currentPage = 1; |
| | | // 多个conditionMap这样传参,快速查询默认采用模糊查询 |
| | |
| | | }); |
| | | } |
| | | this.query = requestData; |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page, this.query); |
| | | done(); |
| | | }, |
| | | /** 编码规则当前选中行变化的时候触发*/ |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | gridCodeRule(page.currentPage, page.pageSize, this.query).then((res) => { |
| | | gridCodeRule(page.currentPage, page.pageSize, params).then((res) => { |
| | | //console.log(res.data); |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | |
| | | /** 防止打开过编辑窗口之后表单中存在值,所以需要清空,并初始化form表单属性*/ |
| | | clearBasicAddForm() { |
| | | this.form = this.$options.data().form; |
| | | //this.isLoadingSecCodeAddBtn = false; |
| | | // this.changeSectypeFormItems(null); |
| | | }, |
| | | /** 打开新增窗口*/ |
| | |
| | | }, |
| | | /** 新增基础码段*/ |
| | | async saveOrEditBasicCode() { |
| | | this.isLoadingSecCodeAddBtn = true; |
| | | if ( |
| | | this.selectionList[0].oid == null || |
| | | this.selectionList[0].oid == "" |
| | |
| | | // 关闭对话框 |
| | | this.addBasicCodeSettingBox = false; |
| | | } |
| | | this.isLoadingSecCodeAddBtn = false; |
| | | }, |
| | | /** 因为elementui的表单校验设置不上所以采用判断的方式来做表单检验方式*/ |
| | | checkForm() { |
| | |
| | | }, |
| | | /** 点击触发加载基础码段信息*/ |
| | | loadBasic(row) { |
| | | if (this.cloneSettingBox) { |
| | | this.cloneTableLoading = true; |
| | | } else { |
| | | this.loadingBasic = true; |
| | | } |
| | | 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); |
| | |
| | | gridCodeBasicSec(1, -1, isAdancedQuery ? condition : conditionMaps).then( |
| | | (res) => { |
| | | const data = res.data.data; |
| | | if (this.cloneSettingBox) { |
| | | this.cloneData = data.records; |
| | | this.cloneTableLoading = false; |
| | | } else { |
| | | this.basicData = data.records; |
| | | // console.log(this.basicData); |
| | | this.loadingBasic = false; |
| | | } |
| | | this.basicData = data.records; |
| | | this.loadingBasic = false; |
| | | } |
| | | ); |
| | | }, |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | [class^="icon-"] { |
| | | font-size: 12px !important; |
| | |
| | | /* .code-total > .basic-container__card { |
| | | height: 100%; |
| | | } */ |
| | | </style> |
| | | </style> |