<template> <div class="eibs-tab"> <!-- ======-左=======--> <c-col :span="24" class="col-left"> <c-col :span="12"> <el-form-item label="业务类型"> <c-select v-model="model.bustyp" placeholder="请选择业务类型" dbCode="BUSTXT" sort="SRT" :isShowKeyAndLabel="true" :isCache="false" style="width: 100%" > </c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="交易码"> <c-select v-model="model.inifrm" placeholder="请选择交易码" dbCode="ATPTXT" sort="SRT" :isShowKeyAndLabel="true" :isCache="false" style="width: 100%" > </c-select> </el-form-item> </c-col> </c-col> <c-col :span="24"> <span style="float: left"> <el-button size="small" ref="busbtnInsertBtn" type="primary" v-if="isShowAddBtn" @click="toBbabusbtn">新增</el-button> </span> <span style="float: right"> <el-button size="small" @click="handleReset">重置</el-button> <el-button type="primary" icon="el-icon-search" size="small" :loading="searchLoading" @click="onSearch()">查询 </el-button> </span> </c-col> <c-col :span="24"> <c-paging-table :data="btnData" :columns="busbtnColumns" :pageNumber="model.pageNumber" :pageSize="model.pageSize" :total="model.total" v-on:queryFunc="queryFunc" :border="true"> <c-table-column fixed="right" prop="op" label="操作" width="240px"> <template slot-scope="{ scope }"> <c-button style="margin-left: 5px" size="small" ref="busbtnDisplayBtn" type="info" @click="busbtnDisplay(scope.row)">详情 </c-button> <c-button style="margin-left: 5px" size="small" v-if="isShowUpdBtn" ref="busbtnUpdateBtn" type="primary" @click="busbtnEdit(scope.row)">修改 </c-button> <c-button style="margin-left: 5px" size="small" v-if="isShowDelBtn" ref="busbtnDeleteBtn" type="danger" @click="busbtnDelete(scope.row)">删除</c-button> </template> </c-table-column> </c-paging-table> </c-col> <el-dialog :title="dialogNam[busbtntyp]" :visible.sync="dialogAdd" :modal-append-to-body="false" :close-on-click-modal="false" width="70%" destroy-on-close> <el-form ref="modelForm" :model="form" label-suffix=":" :rules="rules" :disabled="isDisabled"> <c-col :span="12"> <c-col :span="24"> <el-form-item label="业务类型" prop="bustyp" :label-width="formLabelWidth"> <c-select v-model="form.bustyp" placeholder="请选择业务类型" dbCode="BUSTXT" :isShowKeyAndLabel="true" :isCache="false" sort="SRT"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="交易码" :label-width="formLabelWidth" prop="inifrm"> <c-input v-model="form.inifrm" style="width: 100%" placeholder="请输入交易码" ></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="交易名称" :label-width="formLabelWidth" prop="btnnam"> <c-input v-model="form.btnnam" placeholder="请输入交易名称" > </c-input> </el-form-item> </c-col> </c-col> <c-col :span="12"> <c-col :span="24"> <el-form-item label="是否主流程" :label-width="formLabelWidth" prop="isMain"> <c-select v-model="form.isMain" dbCode="CXMFLG" placeholder="请选择是否主流程业务"></c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="是否显示" :label-width="formLabelWidth" prop="isShow"> <c-select v-model="form.isShow" dbCode="CXMFLG" placeholder="请选择是否显示"></c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="排序号" :label-width="formLabelWidth" prop="sort"> <c-input type="number" v-model="form.sort" placeholder="请输入排序号" ></c-input> </el-form-item> </c-col> </c-col> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="commitAdd" v-if="busbtntyp == 'add'">提 交</el-button> <el-button type="primary" @click="commitEdit" v-if="busbtntyp == 'edit'">提 交</el-button> <el-button @click="dialogAdd = false">返 回</el-button> </div> </el-dialog> </div> </template> <script> import Utils from "~/utils"; import { queryByPage, deleteById, busbtnInfo, add, edit, queryCod } from "~/service/manage/busbtn.js"; import Busbtn, { Pattern } from "./Busbtn.js"; import commonFunctions from "~/mixin/commonFunctions.js"; export default { mixins: [commonFunctions], name: "", props: ["model"], inject: [], data() { return { rules: Pattern, btnData: [ // { // bustyp:'LI', // inifrm:'LITOPN', // btnnam:'进口信用证开立', // isMain:'Y', // isShow:'Y', // sort: 1 // } ], busbtnColumns: [ { label: '业务类型', prop: 'bustyp', width: 'auto' }, { label: '交易码', prop: 'inifrm', width: 'auto' }, { label: '交易名称', prop: 'btnnam', width: 'auto' }, { label: '是否主流程', prop: 'isMain', width: 'auto' }, { label: '是否显示', prop: 'isShow', width: 'auto' }, { label: '排序', prop: 'sort', width: 'auto' }, ], dialogNam: { 'add': '交易码信息--新增', 'edit': '交易码信息--编辑', 'info': '交易码信息--查看', }, isDisabled: false, isShowUpdBtn: false, isShowDelBtn: false, isShowAddBtn: false, isShowDisplayBtn: false, searchLoading: false, dialogAdd: false, form: new Busbtn().data, busbtntyp: "", formLabelWidth: "150px", startDatePicker: this.beginDate(), endDatePicker: this.processDate(), }; }, activated() { const { update } = this.$route.params if (update) { this.onSearch(); } }, created() { this.onInfbusbtnSearch(); }, mounted() { this.getHiddenButtonVue(); }, methods: { getHiddenButtonVue() { const loading = this.loading(); this.$buttonControlService.hiddenBtnList() .then((res) => { // 【xq】按钮 let hasDisplay = res.some((item) => { return item.ITEMID === 'busbtnDisplayBtn'; }) if (hasDisplay) { this.isShowDisplayBtn = false; } else { this.isShowDisplayBtn = true; } // 【新增】按钮 let hasInsert = res.some((item) => { return item.ITEMID === 'busbtnInsertBtn'; }) if (hasInsert) { this.isShowAddBtn = false; } else { this.isShowAddBtn = true; } // 【修改】按钮 let hasUpdate = res.some((item) => { return item.ITEMID === 'busbtnUpdateBtn'; }) if (hasUpdate) { this.isShowUpdBtn = false; } else { this.isShowUpdBtn = true; } // 【删除】按钮 let hasDelete = res.some((item) => { return item.ITEMID === 'busbtnDeleteBtn'; }) if (hasDelete) { this.isShowDelBtn = false; } else { this.isShowDelBtn = true; } loading.close(); }) }, changeNewCur() { if (this.form.seq != '-1') { this.form.newbusbtn = ''; } }, beginDate() { const self = this return { disabledDate(time) { if (self.form.enddat) { //如果结束时间不为空,则小于结束时间 return new Date(self.form.enddat).getTime() < time.getTime() } else { // return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天 } } } }, processDate() { const self = this return { disabledDate(time) { if (self.form.begdat) { //如果开始时间不为空,则结束时间大于开始时间 return new Date(self.form.begdat).getTime() > time.getTime() } else { // return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天 } } } }, toBbabusbtn() { this.dialogAdd = true; this.isDisabled = false; this.busbtntyp = "add"; this.form = new Busbtn().data; }, async handleReset() { this.model.cod = "" this.model.busbtnnam = "" }, onSearch() { this.model.pageSize = PageSize; this.model.pageNumber = 1; this.onInfbusbtnSearch(); }, onInfbusbtnSearch() { this.searchLoading = true; delete this.model.isModify; delete this.model.modifySet; queryByPage(this.model).then(res => { if (res.respCode == SUCCESS) { const list = res.data.list this.btnData = list this.model.pageNumber = res.data.pageNumber this.model.pageSize = res.data.pageSize this.model.total = res.data.total this.searchLoading = false; } else { this.searchLoading = false; this.$notify.error("查询失败"); } }) }, commitAdd() { this.$refs.modelForm.validate((validated) => { if (validated) { delete this.form.isModify; delete this.form.modifySet; add(this.form).then((res) => { if (res.errorCode == "AAAAAA" || res.respCode == "AAAAAA") { this.$notify.success("新增成功!"); this.dialogAdd = false; //此方法为了刷新dbCode列表数据 // this.$refs.selectCur.init(); this.onInfbusbtnSearch(); } else { this.$notify.error(res.respMsg); } }) } }); }, commitEdit() { this.$refs.modelForm.validate((validated) => { if (validated) { delete this.form.isModify; delete this.form.modifySet; edit(this.form) .then((res) => { if (res.errorCode == "AAAAAA" || res.respCode == "AAAAAA") { this.$notify.success("保存成功!"); this.dialogAdd = false; // this.$refs.selectCur.init(); this.onInfbusbtnSearch(); } else { this.$notify.error(res.respMsg); } }) } else { this.$notify.error({ title: '失败', message: '请检查必输项!' }); } }); }, queryFunc(pageNumber, pageSize) { this.model.pageNumber = pageNumber this.model.pageSize = pageSize this.onInfbusbtnSearch() }, onChange() { this.form.cod = this.form.cod.trim() if (this.form.cod != "") { delete this.form.isModify; delete this.form.modifySet; queryCod(this.form).then((res) => { if (res.respCode == "AAAAAA") { if (res.data) { this.$notify.error("币种代码已存在,请修改") } } else { this.$notify.error("检验唯一性失败") } }); } }, onChange2() { this.form.busbtnnam = this.form.busbtnnam.trim() }, busbtnDisplay(row) { busbtnInfo(row).then((res) => { if (res.respCode == SUCCESS) { if (res.data.id) { this.form = res.data; this.isDisabled = true; this.busbtntyp = "info"; this.dialogAdd = true; } } else { this.$notify.error("交易码查询失败") } }); }, busbtnEdit(row) { busbtnInfo(row).then((res) => { if (res.respCode == SUCCESS) { if (res.data.id) { this.isDisabled = false; this.form = res.data; this.busbtntyp = "edit"; this.dialogAdd = true; } } else { this.$notify.error("币种不存在") } }); }, busbtnDelete(row) { this.$confirm("是否确认删除?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { deleteById(row) .then((res) => { if (res.errorCode == "AAAAAA" || res.respCode == "AAAAAA") { this.$notify.success("删除成功!"); // this.$refs.selectCur.init(); this.onInfbusbtnSearch(); } else { this.$notify.error("删除失败!"); } }) }) .catch(() => { this.$message({ type: "info", message: "已取消删除", }); }); }, }, }; </script> <style scoped> .table-button-item-list { padding: 0; margin: 0; } .table-button-item-list li { list-style: none; padding: 5px 0; text-align: center; color: #606266; busbtnsor: pointer; } </style>