<template> <div class="eibs-tab"> <!-- ----------左 ----------> <c-col :span="12" class="col-left"> <c-col :span="24"> <el-form-item label="保函文本用途" prop="atxcod"> <c-select style="width: 100%" v-model="model.atxcod" placeholder="请选择保函文本用途" :code="getCodesByKey('atxcod')" > </c-select> </el-form-item> </c-col> </c-col> <c-col :span="12" class="col-right"> <c-col :span="24"> <el-form-item label="保函文本名" prop="nam"> <c-input v-model="model.nam" placeholder="请输入保函文本名" > </c-input> </el-form-item> </c-col> </c-col> <c-col :span="12" v-if="(this.model.atxcod==`1`)" class="col-left"> <c-col :span="24"> <el-form-item label="出具目的" prop="gtxpurpos"> <c-select style="width: 100%" v-model="model.gtxpurpos" placeholder="请选择出具目的" :code="getCodesByKey('gtxpurpos') " > </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="保函包含类型" prop="gtxgartyp"> <c-select style="width: 100%" v-model="model.gtxgartyp" placeholder="请选择保函包含类型" :code="getCodesByKey('gtxgartyp')" > </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="保函格式" prop="gtxlegfrm"> <c-select style="width: 100%" v-model="model.sealegfrm" placeholder="请选择保函格式" :code="getCodesByKey('gtxlegfrm')" > </c-select> </el-form-item> </c-col> </c-col> <!-- 右 --> <c-col :span="12" v-if="(this.model.atxcod==`1`)" class="col-right"> <c-col :span="24"> <el-form-item label="语言" prop="gtxuil"> <c-select style="width: 100%" v-model="model.gtxuil" placeholder="请选择语言" :code="getCodesByKey('gtxuil')" > </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="保函无责任担保标志" prop="gtxexpflg"> <c-select style="width: 100%" v-model="model.gtxexpflg" placeholder="请选择保函无责任担保标志" :code="getCodesByKey('gtxexpflg')" > </c-select> </el-form-item> </c-col> </c-col> <c-col :span="12" v-if="(this.model.atxcod==`2`)" class="col-left"> <c-col :span="24"> <!-- --> </c-col> </c-col> <c-col :span="12" v-if="(this.model.atxcod==`2`)" class="col-right"> <c-col :span="24"> <!-- --> </c-col> </c-col> <!-- 条件输入框下面的按钮 --> <c-col :span="24"> <c-col :span="12" style="text-align: left"> <el-button type="primary" size="small" @click="atxAdd">新增</el-button> </c-col> <c-col :span="12" style="text-align: right"> <el-button size="small" @click="handleReset">重置</el-button> <el-button type="primary" icon="el-icon-search" size="small" @click="onSearch()" >查询 </el-button> </c-col> </c-col> <!-- 查询结果展示区域 --> <c-col :span="24"> <c-paging-table :data="atxData" :columns="atxColumns" :pageNumber="model.pageNum" :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: 0" size="small" @click="atxInfo(scope.$index, scope.row)" >详情</c-button > <c-button style="margin-left: 5px" size="small" type="primary" @click="atxEdit(scope.$index, scope.row)" >修改</c-button > <c-button size="small" style="margin-left: 5px" @click="atxDelete(scope.$index, scope.row)" >删除</c-button > <el-popover placement="top-start" width="50" trigger="click"> <ul class="table-button-item-list"> <li> <c-button size="small" style="margin-left: 0">指派</c-button> </li> <li> <c-button size="small" style="margin-left: 0">删除</c-button> </li> </ul> <a slot="reference" href="javascript:void(0)" style="margin-left: 5px" > <i class="el-icon-more"></i> </a> </el-popover> </template> </c-table-column> </c-paging-table> </c-col> </div> </template> <script> import codes from "~/config/CodeTable"; import { queryByPage } from "~/service/test/atx.js"; export default { name: "", props: ["model"], inject: ["root"], data() { return { atxData: [], atxColumns: [ { label: '保函文本名', prop: 'nam', width: 'auto' }, { label: '保函用途', prop: 'atxcod', width: 'auto' }, { label: '语言', prop: 'uil', width: 'auto' }, { label: '保函格式', prop: 'gtxlegfrm', width: 'auto' }, { label: '保函无责任担保标志', prop: 'gtxexpflg', width: 'auto' }, { label: '保函包含类型', prop: 'gtxgartyp', width: 'auto' }, { label: '出具目的', prop: 'gtxpurpos', width: 'auto' }, ], }; }, computed: { }, activated() { const { update } = this.$route.params if (update) { this.onInfatxSearch() } }, methods: { handleReset() { this.root.$refs.modelForm.resetFields(); }, onSearch() { this.model.pageSize = 5; this.model.pageNum = 1; this.onInfatxSearch(); }, onInfatxSearch() { queryByPage(this.model).then(res => { /** * pageNumber: 0 * pageSize: 0 * total: 69 * totalPage: 0 */ const list = res.list this.atxData = list this.model.pageNum = res.pageNumber this.model.pageSize = res.pageSize this.model.total = res.total }) }, queryFunc(pageNumber, pageSize) { this.model.pageNum = pageNumber this.model.pageSize = pageSize this.onInfatxSearch() }, atxtypeChange(val) { this.model.atxtyp = val; }, getCodesByKey(key) { return codes[key] ?? []; }, atxAdd() { this.$router.push(`/statics/dbaatx`) }, atxInfo(index, row) { this.$router.push(`/statics/dbiatx/${row.inr}`) }, atxEdit(index, row) { this.$router.push(`/statics/dbeatx/${row.inr}`) }, atxDelete(index, row) { this.$router.push(`/statics/dbdatx/${row.inr}`) }, }, }; </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; cursor: pointer; }</style>