<template> <div> <el-dialog v-dialogDrag title="Modify a diary for contract" :visible="modelVisible" width="60%" @close="handleClose" destroy-on-close v-if="modelVisible"> <el-form label-width="120px" :model="formData"> <c-col :span="12" style="padding-right: 10px;"> <c-col :span="24"> <el-form-item label="备忘录原因"> <c-select v-model="formData.cod" dbCode="diatxt" :disabled="opType==='edit'||opType==='display'"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="提示日期"> <c-date-picker type="date" value-format="yyyy-MM-dd" v-model="formData.dat" :disabled="opType==='edit'||opType==='display'"> </c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="描述"> <c-input v-model="formData.nam" :disabled="opType==='edit'||opType==='display'"></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Resp. Group"> <c-select v-model="formData.ownusg" dbCode="usgtxt"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="业务摘要"> <c-input type="textarea" :rows="4" v-model="formData.inftxt" :disabled="opType==='edit'||opType==='display'"></c-input> </el-form-item> </c-col> </c-col> <c-col :span="12" style="padding-right: 10px;"> <c-col :span="24"> <el-form-item label="备忘录状态"> <el-radio v-model="formData.donflg" label="X">已处理</el-radio> <el-radio v-model="formData.donflg" label="">未处理</el-radio> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Start Transaction"> <c-col :span="20"> <c-input v-model="formData.inifrm" placeholder="请输入交易代码" @keyup.enter.native="onSeainf" :disabled="opType==='edit'||opType==='display'"></c-input> </c-col> <c-col :span="4"> <c-button size="small" style="width:100%;margin-left:0" type="primary" @click="onSeainf" icon="el-icon-search"></c-button> </c-col> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Responsible User"> <c-input v-model="formData.repusr" disabled></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Status"> <el-select v-model="formData.diamodflg" placeholder="请选择" disabled> <el-option v-for="item in statusData" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Entered by"> <c-input disabled v-model="formData.usr"></c-input> </el-form-item> </c-col> </c-col> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="saveData" v-if="opType==='add'||opType==='edit'">保 存</el-button> <el-button>打 印</el-button> <el-button type="primary" @click="exit">退 出</el-button> </span> </el-dialog> <!--交易列表 弹窗 --> <el-dialog v-dialogDrag width="50%" :title="dialogTitle" :visible.sync="dialogTableVisible" v-if="dialogTableVisible"> <div v-if="!loadingFlag && tableList.length === 0">暂无数据</div> <div v-else style="height: 100%;"> <el-table id='tableRef' height="calc(100% - 32px)" size="small" v-loading="loadingFlag" :data="tableList" @row-dblclick="dbClickRow" :before-close="beforeClose"> <el-table-column v-for="(item,key) in tableColumn" :key="key" :prop="item.prop" :width="item.width" :label="item.label"> </el-table-column> </el-table> </div> </el-dialog> </div> </template> <script> import Api from "~/service/Api"; export default { props: { modelVisible: { type: Boolean, default: false }, modelInfo: { type: Object, default: () => {} }, opType: { type: String } }, watch: { modelVisible(val) { if (val) { this.formData = this.modelInfo; } } }, data() { return { formData: { inr: "", //修改 cod: "", dat: "", nam: "", ownusg: "", inftxt: "", donflg: "", inifrm: "", repusr: "", diamodflg: "", usr: "" }, statusData: [ { label: "NFN", value: "New Diary(TRN)" }, { label: "NMN", value: "New Diary(manually)" }, { label: "SNN", value: "Read from BD" }, { label: "SMN", value: "Modified DB Diary" }, { label: "SMD", value: "Set to Done DB Diary(manually)" }, { label: "SFD", value: "Set to Done DB Diary(TRN)" }, { label: "NMD", value: "Set to Done New Diary(manually)" }, { label: "NFD", value: "Set to Done New Diary(TRN)" }, { label: "SND", value: "Set to Done DB Diary" } //{label:'SFN',value:'Read from BD'} ], //交易 currentPage: 1, total: 0, pageSize: 5, tableList: [], loadingFlag: true, dialogTitle: "", dialogTableVisible: false, tableColumn: [ { label: "序号", prop: "index" }, { label: "交易代码", prop: "cod" }, { label: "交易名称", prop: "txt" } ] //交易代码模态框--end }; }, methods: { handleClose() { this.$emit("closeMemoIofo"); }, //交易代码 async onSeainf() { this.dialogTitle = `交易列表`; this.dialogTableVisible = true; // 分层取值 this.loadingFlag = true; this.tableList = []; this.currentPage = 1; this.pageSize = 10000; this.total = 0; // 获取table的表格数据 let params = { //cod: this.model.atp.cod, cod: this.formData.inifrm, pageNo: this.currentPage, pageSize: this.pageSize }; const res = await Api.post("/public/quesel/getFrameList", params); if (res.respCode === SUCCESS) { if (res.data && res.data.list) { this.total = res.data.total; res.data.list.forEach((item, i) => { item.index = i + 1; }); this.tableList = res.data.list; } } this.loadingFlag = false; //接口调完变成false }, async dbClickRow(row, column, event) { // 此处为了回填数据时回调 this.$emit("handleChange"); // 回填数据 this.formData.inifrm = row.cod + "-" + row.txt; //this.model.atp.cod = row.cod + '-' + row.txt; this.dialogTableVisible = false; }, beforeClose(done) { this.dialogTableVisible = false; this.currentPage = 1; done(); }, async saveData() { if (this.opType === "add") { // 新增 let params = { ...this.formData }; let rtnmsg = await Api.post("/public/diasel/add", params); if (rtnmsg.respCode == SUCCESS) { console.log(rtnmsg, 123); this.$message.success(' 操作成功!') this.$emit('closeMemoIofo') } } else { // 修改 let params = { ...this.formData }; let rtnmsg = await Api.post("/public/diasel/edit", params); if (rtnmsg.respCode == SUCCESS) { this.$message.success(' 操作成功!') this.$emit('closeMemoIofo') } } }, exit() { this.$emit("closeMemoIofo"); } } }; </script> <style scoped lang="less"> </style>