·<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.codFee" clearable placeholder="请选择" dbCode="FEETXT" :isShowKeyAndLabel="true" filterable> <!--el-option v-for="item in feeCodList" :key="item.codFee" :label="item.codFee" :value="item.codFee"> <span style="float: left">{{ item.codFee }}</span> <span style="float: right; color: #8492a6; font-size: 13px">{{ item.coddscFee }}</span> </el-option--> </c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="生效对象"> <c-select v-model="model.feepri" style="width: 100%" placeholder="请选择生效对象" @change="changFeepri" dbCode="FEEPRI" :filterKey="['!','1','2','4']" /> </el-form-item> </c-col> </c-col> <c-col :span="24" class="col-left"> <c-col :span="12" v-if="model.feepri != '!' && model.feepri !=''"> <el-form-item :label="mapArea[model.feepri]" v-if="model.feepri != '4'"> <c-select v-model="model.objcod" :placeholder="'请输入' + mapArea[model.feepri]" style="width: 100%" :dbCode="selectArea[model.feepri]" :isShowKeyAndLabel="true" :isCache="false" filterable> </c-select> </el-form-item> <el-form-item :label="mapArea[model.feepri]" v-if="model.feepri == '4'" prop="objcod"> <c-fullbox> <c-input v-model="model.objcod" :placeholder="'请输入' + mapArea[model.feepri]" style="width: 100%"> </c-input> <template slot="footer"> <c-button style="margin: 0 0 0 10px; padding: 0 12px" size="small" type="primary" @click="getQueryPtyList()" :loading="loadingStatus"> 获取 </c-button> </template> </c-fullbox> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="客户名称" v-if="model.feepri == '4'" :rules="rulSel.objnam" prop="objnam"> <c-input v-model="model.objnam" :disabled="true" placeholder="" style="width: 100%"> </c-input> </el-form-item> </c-col> </c-col> <c-col :span="24"> <span style="float: left"> <el-button type="primary" size="small" ref="fecInsertBtn" v-if="showInsertBtn" @click="fecAdd">新增</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="fecData" :pageNumber="model.pageNum" :pageSize="model.pageSize" :total="model.total" v-on:queryFunc="queryFunc" :border="true"> <el-table-column label="费用代码" prop="codFee" min-width="12%"> <template slot-scope="scope">{{scope.row.codFee}}</template> </el-table-column> <el-table-column label="费用名称" prop="coddscFee" sortable min-width="15%"> <template slot-scope="scope">{{scope.row.coddscFee}}</template> </el-table-column> <el-table-column label="生效对象" prop="feepritxt" min-width="12%"> <template slot-scope="scope">{{scope.row.feepritxt}}</template> </el-table-column> <el-table-column label="对象编号" prop="objcod" sortable min-width="15%"> <template slot-scope="scope">{{scope.row.objcod}}</template> </el-table-column> <el-table-column label="对象名称" prop="objnam" sortable min-width="15%"> <template slot-scope="scope">{{scope.row.objnam}}</template> </el-table-column> <el-table-column label="费率币种" prop="ratcur" min-width="12%"> <template slot-scope="scope">{{scope.row.ratcur}}</template> </el-table-column> <el-table-column label="计费区间最小值" prop="lowamt" sortable min-width="20%"> <template slot-scope="scope">{{scope.row.lowamt}}</template> </el-table-column> <el-table-column label="计费区间最大值" prop="higamt" sortable min-width="20%"> <template slot-scope="scope">{{scope.row.higamt}}</template> </el-table-column> <el-table-column label="起始日期" prop="begdat" sortable min-width="15%"> <template slot-scope="scope">{{scope.row.begdat}}</template> </el-table-column> <el-table-column label="终止日期" prop="enddat" sortable min-width="15%"> <template slot-scope="scope">{{scope.row.enddat}}</template> </el-table-column> <el-table-column label="计算规则" prop="calrul" min-width="12%"> <template slot-scope="scope">{{scope.row.calrul}}</template> </el-table-column> <el-table-column label="每份的费用金额" prop="untamt" sortable min-width="20%"> <template slot-scope="scope">{{scope.row.untamt}}</template> </el-table-column> <el-table-column label="计算费率" prop="ratcal" min-width="12%"> <template slot-scope="scope">{{scope.row.ratcal}}</template> </el-table-column> <el-table-column label="操作" min-width="25%"> <template slot-scope="scope"> <el-button @click="fecDetail(scope.row)" type="" ref="fecDisplayBtn" size="mini">详情</el-button> <c-button style="margin-left: 5px" size="small" type="primary" v-if="showUpdateBtn" ref="fecUpdateBtn" @click="fecEdit(scope.row)" :disabled="(isZonghang && scope.row.feepri =='4')||(!isZonghang && scope.row.feepri !=='4')">修改</c-button> <c-button size="small" style="margin-left: 5px" v-if="showDeleteBtn" type="" ref="fecDeleteBtn" @click="fecDelete(scope.row)" :disabled="(isZonghang && scope.row.feepri =='4')||(!isZonghang && scope.row.feepri !=='4')">删除</c-button> </template> </el-table-column> </c-paging-table> </c-col> <!--弹窗--> <el-dialog :title="dialogNam[fectyp]" :visible.sync="dialogAdd" :modal-append-to-body="false" width="70%" :close-on-click-modal="false" center destroy-on-close> <el-form ref="form" :model="form" label-suffix=":" :rules="rules" :disabled="fectyp == 'info'"> <el-row> <c-col :span="12"> <el-form-item label="费用代码" :label-width="formLabelWidth" key="codFee" prop="codFee" > <c-fullbox> <c-select :disabled="fectyp == 'edit'" v-model="form.codFee" clearable placeholder="请选择" dbCode="FEETXT" :isShowKeyAndLabel="true" filterable > </c-select> </c-fullbox> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="费用备注" :label-width="formLabelWidth" style="position: relative;"> <!-- <el-tooltip class="box-item" effect="dark" :content="feeRemark" placement="top-start" > <div style="width: 100%;height: 32px;position: absolute;left: 0;z-index: 1;background: transparent;"></div> </el-tooltip> --> <el-input disabled v-model="feeRemark" placeholder="" ></el-input> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="12"> <el-form-item label="生效对象" :label-width="formLabelWidth" key="feepri" prop="feepri"> <c-select v-model="form.feepri" placeholder="请选择生效对象" @change="changFormFeepri" v-if="isShow" dbCode="FEEPRI" :filterKey="FeepriFilterKey" :disabled="fectyp == 'edit'"></c-select> <c-select v-model="form.feepri" placeholder="请选择生效对象" @change="changFormFeepri" v-if="!isShow" dbCode="FEEPRI" :filterKey="FeepriFilterKey" :disabled="fectyp == 'edit'"></c-select> </el-form-item> </c-col> <c-col :span="12" v-if="form.feepri != '!' && form.feepri !=''"> <el-form-item :label="mapArea[form.feepri]" :label-width="formLabelWidth" v-if="form.feepri != '4'" key="objcod" prop="objcod"> <c-select v-model="form.objcod" :placeholder="'请输入' + mapArea[form.feepri]" style="width: 100%" @change="getCodPriOnly" :dbCode="selectArea[form.feepri]" :isShowKeyAndLabel="true" :isCache="false" :disabled="fectyp == 'edit'"> </c-select> </el-form-item> <el-form-item :label="mapArea[form.feepri]" :label-width="formLabelWidth" v-if="form.feepri == '4'" key="objcod2" prop="objcod"> <c-fullbox> <c-input v-model="form.objcod" :placeholder="'请输入' + mapArea[form.feepri]" @change="getCodPriOnly" :disabled="fectyp == 'edit'" style="width: 100%"></c-input> <template slot="footer"> <c-button style="margin: 0 0 0 10px; padding: 0 12px" size="small" type="primary" @click="getAddPtyList()" :loading="loadingAddStatus" :disabled="fectyp == 'edit'"> 获取 </c-button> </template> </c-fullbox> </el-form-item> </c-col> <c-col :span="12" v-if="form.feepri == '!' || form.feepri == ''"> <el-form-item label="" :label-width="formLabelWidth" style="visibility: hidden"> <el-input></el-input> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="12"> <el-form-item label="生效日期" :label-width="formLabelWidth" key="begdat" prop="begdat"> <c-fullbox> <c-date-picker type="date" v-model="form.begdat" value-format="yyyy-MM-dd" :picker-options="startDatePicker" style="" placeholder="请选择生效日期"></c-date-picker> <template slot="footer"> <el-tooltip effect="dark" content="生效日期应小于失效日期" placement="top" size="large"> <i class="el-icon-info" /> </el-tooltip> </template> </c-fullbox> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="失效日期" :label-width="formLabelWidth" key="enddat" prop="enddat"> <c-fullbox> <c-date-picker type="date" v-model="form.enddat" value-format="yyyy-MM-dd" :picker-options="endDatePicker" style="" placeholder="请选择失效日期"></c-date-picker> <template slot="footer"> <el-tooltip effect="dark" content="失效日期应大于生效日期" placement="top" size="large"> <i class="el-icon-info" /> </el-tooltip> </template> </c-fullbox> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="12"> <el-form-item label="默认处理方式" :label-width="formLabelWidth"> <c-select v-model="form.colltr" placeholder="请选择默认处理方式" :code="getCodesByKey('colltr')"></c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="允许变动标志" :label-width="formLabelWidth"> <c-select v-model="form.setchgflg" placeholder="请选择允许变动标志" :code="getCodesByKey('setchgflg')"></c-select> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="12"> <el-form-item label="计算规则" :label-width="formLabelWidth" key="calrul" prop="calrul"> <c-select v-model="form.calrul" placeholder="请选择计算规则" :code="getCodesByKey('calrulsel')" @change="clearRulForm" :disabled="form.calfcc == '' && (form.feepri == '1' || form.feepri == '2' || form.feepri == '4')"></c-select> </el-form-item> </c-col> <c-col :span="12" v-if="form.feepri != '!' && form.feepri"> <el-form-item label="计算规则" :label-width="formLabelWidth" key="calfcc" prop="calfcc"> <el-checkbox label="覆盖默认生效对象" v-model="form.calfcc" true-label="S" false-label=""></el-checkbox> </el-form-item> </c-col> </el-row> <c-col :span="24" v-if="form.calrul == '1'||form.calrul == 'B'||form.calrul == '%'||form.calrul == 'M'"> <el-row> <c-col :span="12"> <el-form-item label="费率" :label-width="formLabelWidth" key="ratcal" prop="ratcal"> <c-input-number v-model="form.ratcal" autocomplete="off" placeholder="请输入费率" :precision="6" :step="0" :min="0" :max="99999999.999999" :controls="false"></c-input-number> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="计算基准金额" :label-width="formLabelWidth" key="calcbs" prop="calcbs"> <c-select v-model="form.calcbs" placeholder="请选择计算基准金额" :code="getCodesByKey('calcbs')" :disabled="form.calfcc == ''"></c-select> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="6" v-if="minFccDisabled"> <el-form-item label="最低收费" :label-width="formLabelWidth" key="mincur" prop="mincur"> <c-select v-model="form.mincur" placeholder="请选择最低收费币种" dbCode="CURTXT" :disabled="isMinFccDisabled"></c-select> </el-form-item> </c-col> <c-col :span="6" v-if="isMinFccDisabled"> <el-form-item label="最低收费" :label-width="formLabelWidth"> <c-select v-model="form.mincur" placeholder="请选择最低收费" dbCode="CURTXT" :disabled="isMinFccDisabled"></c-select> </el-form-item> </c-col> <c-col :span="6"> <el-form-item key="minamt" prop="minamt"> <c-input v-model="form.minamt" autocomplete="off" placeholder="请选择最低收费金额" :controls="false" :disabled="form.minfcc == 'N'"></c-input> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="最低收费代码" :label-width="formLabelWidth" key="minfcc" prop="minfcc"> <c-select v-model="form.minfcc" placeholder="请选择最低收费代码" :code="getCodesByKey('minfcc')" :disabled="form.feepri == '!'"></c-select> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="6" v-if="maxFccDisabled"> <el-form-item label="最高收费" :label-width="formLabelWidth" key="maxcur" prop="maxcur"> <c-select v-model="form.maxcur" placeholder="请选择最高收费币种" dbCode="CURTXT" :disabled="isMaxFccDisabled"></c-select> </el-form-item> </c-col> <c-col :span="6" v-if="isMaxFccDisabled"> <el-form-item label="最高收费" :label-width="formLabelWidth"> <c-select v-model="form.maxcur" placeholder="请选择最高收费币种" dbCode="CURTXT" :disabled="isMaxFccDisabled"></c-select> </el-form-item> </c-col> <c-col :span="6"> <el-form-item key="maxamt" prop="maxamt"> <c-input v-model="form.maxamt" autocomplete="off" placeholder="请选择最高收费金额" :disabled="form.maxfcc == 'N'"> </c-input> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="最高收费代码" :label-width="formLabelWidth" key="maxfcc" prop="maxfcc"> <c-select v-model="form.maxfcc" placeholder="请选择最高收费代码" :code="getCodesByKey('maxfcc')" :disabled="form.feepri == '!'"></c-select> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="24"> <c-col :span="9"> <c-checkbox v-model="form.amtflg" :true-label="'X'" :false-label="''">每个计费区间与最大值最小值比较</c-checkbox> </c-col> </c-col> </el-row> <c-col :span="24" v-if="form.calrul != 'B'"> <el-row> <c-col :span="12"> <el-form-item label="周期类型" :label-width="formLabelWidth" key="pertyp" prop="pertyp"> <c-select v-model="form.pertyp" placeholder="请选择周期类型" dbCode="PERTYP" sort="SRT" uil="CN" :filterKey="['d','q','CALMON','y']"></c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="最小周期" :label-width="formLabelWidth"> <c-input-number v-model="form.permin" autocomplete="off" placeholder="请输入最小周期" :precision="0" :step="0" :min="0" :max="999" :controls="false"></c-input-number> </el-form-item> </c-col> </el-row> <el-row> <c-col :span="6"> <el-form-item label="二级起始周期" :label-width="formLabelWidth"> <c-input-number v-model="form.perbegtr2" autocomplete="off" placeholder="请输入起始周期" :precision="0" :step="0" :min="0" :max="999" :controls="false"></c-input-number> </el-form-item> </c-col> <c-col :span="6"> <c-input-number v-model="form.perrattr2" autocomplete="off" placeholder="请输入周期费率" :precision="6" :step="0" :min="0" :max="99999999.999999" :controls="false" :disabled="form.perbegtr2 == 0"> </c-input-number> </c-col> <c-col :span="6"> <el-form-item label="三级起始周期" :label-width="formLabelWidth"> <c-input-number v-model="form.perbegtr3" autocomplete="off" placeholder="请输入起始周期" :precision="0" :step="0" :min="0" :max="999" :controls="false" :disabled="form.perbegtr2 == 0"></c-input-number> </el-form-item> </c-col> <c-col :span="6"> <c-input-number v-model="form.perrattr3" autocomplete="off" placeholder="请输入周期费率" :precision="6" :step="0" :min="0" :max="99999999.999999" :controls="false" :disabled="form.perbegtr3 == 0"> </c-input-number> </c-col> </el-row> <el-row> <c-col :span="6"> <el-form-item label="四级起始周期" :label-width="formLabelWidth"> <c-input-number v-model="form.perbegtr4" autocomplete="off" placeholder="请输入起始周期" :precision="0" :step="0" :min="0" :max="999" :controls="false" :disabled="form.perbegtr3 == 0"></c-input-number> </el-form-item> </c-col> <c-col :span="6"> <c-input-number v-model="form.perrattr4" autocomplete="off" placeholder="请输入周期费率" :precision="6" :step="0" :min="0" :max="99999999.999999" :controls="false" :disabled="form.perbegtr4 == 0"> </c-input-number> </c-col> <c-col :span="6"> <el-form-item label="五级起始周期" :label-width="formLabelWidth"> <c-input-number v-model="form.perbegtr5" autocomplete="off" placeholder="请输入起始周期" :precision="0" :step="0" :min="0" :max="999" :controls="false" :disabled="form.perbegtr4 == 0"></c-input-number> </el-form-item> </c-col> <c-col :span="6"> <c-input-number v-model="form.perrattr5" autocomplete="off" placeholder="请输入周期费率" :precision="6" :step="0" :min="0" :max="99999999.999999" :controls="false" :disabled="form.perbegtr5 == 0"> </c-input-number> </c-col> </el-row> </c-col> </c-col> <c-col :span="24" v-if="form.calrul == '0' || form.calrul == 'F'"> <el-row> <c-col :span="6"> <el-form-item label="固定收费" :label-width="formLabelWidth" key="ratcur" prop="ratcur"> <c-select v-model="form.ratcur" placeholder="请选择固定收费币种" dbCode="CURTXT" ></c-select> </el-form-item> </c-col> <c-col :span="6"> <c-input-number v-model="form.untamt" autocomplete="off" :precision="3" :step="0" :min="0" :max="999999999999999.999" :controls="false" placeholder="请选择固定收费金额"></c-input-number> </c-col> </el-row> </c-col> <c-col :span="24"> <el-row> <c-col :span="12"> <el-form-item label="信息提示级别" :label-width="formLabelWidth" key="inflev" prop="inflev"> <c-select v-model="form.inflev" autocomplete="off" placeholder="请输入信息提示级别" dbCode="INFLEV"></c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="信息提示内容" :label-width="formLabelWidth" key="inftxt" prop="inftxt"> <c-input v-model="form.inftxt" placeholder="请输入信息提示内容" style="width: 100%" type="textarea" :rows="8"> </c-input> </el-form-item> </c-col> </el-row> </c-col> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="commitAdd" v-if="fectyp == 'add'">提 交</el-button> <el-button type="primary" @click="commitEdit" v-if="fectyp == 'edit'">提 交</el-button> <el-button @click="dialogAdd = false" v-if="fectyp != 'info'">取 消</el-button> <el-button @click="dialogAdd = false" v-if="fectyp == 'info'">返 回</el-button> </div> </el-dialog> <el-dialog :visible.sync="ptyDialogQueryVisible" title="客户信息列表" :modal-append-to-body="false" :lock-scroll="false" :show-close="true" :close-on-click-modal="false" :close-on-press-escape="false" v-dialogDrag> <c-paging-table :data="ptyDialogQueryTableData" :pageSize="ptyDialogQueryModel.pageSize" :pageNumber="ptyDialogQueryModel.pageNum" :total="ptyDialogQueryModel.total" @queryFunc="ptyDialogQueryFunc" :border="true"> <el-table-column label="客户编号" prop="extkey" min-width="30%"> <template slot-scope="scope">{{scope.row.extkey}}</template> </el-table-column> <el-table-column label="客户英文名称" prop="nam" min-width="30%"> <template slot-scope="scope">{{scope.row.nam}}</template> </el-table-column> <el-table-column label="客户中文名称" prop="nam1" min-width="30%"> <template slot-scope="scope">{{scope.row.nam1}}</template> </el-table-column> <el-table-column label="操作" min-width="10%"> <template slot-scope="scope"> <el-button @click="useQueryCurrentData(scope.row)" type="primary" size="mini">使用</el-button> </template> </el-table-column> </c-paging-table> </el-dialog> <el-dialog :visible.sync="ptyDialogAddVisible" title="客户信息列表" :modal-append-to-body="false" :lock-scroll="false" :show-close="true" :close-on-click-modal="false" :close-on-press-escape="false" v-dialogDrag> <c-paging-table :data="ptyDialogAddTableData" :pageSize="ptyDialogAddModel.pageSize" :pageNumber="ptyDialogAddModel.pageNum" :total="ptyDialogAddModel.total" @queryFunc="ptyDialogAddQueryFunc" :border="true"> <el-table-column label="客户编号" prop="extkey" min-width="30%"> <template slot-scope="scope">{{scope.row.extkey}}</template> </el-table-column> <el-table-column label="客户英文名称" prop="nam" min-width="30%"> <template slot-scope="scope">{{scope.row.nam}}</template> </el-table-column> <el-table-column label="客户中文名称" prop="nam1" min-width="30%"> <template slot-scope="scope">{{scope.row.nam1}}</template> </el-table-column> <el-table-column label="操作" min-width="10%"> <template slot-scope="scope"> <el-button @click="useAddCurrentData(scope.row)" type="primary" size="mini">使用</el-button> </template> </el-table-column> </c-paging-table> </el-dialog> </div> </template> <script> import Fec, { Pattern } from "./Fec.js"; import Ptyn from "~/page/Statics/Pty-N/Dbipty-N/Ptyn.js"; import codes from "~/config/CodeTable"; import { queryByPage, queryDetailById, getFeecodPriOnly, add, edit, deleteById, getFeeCodList } from "~/service/manage/fec.js"; import { listByExtkey } from "~/service/manage/pty.js"; import commonFunctions from "~/mixin/commonFunctions.js"; import Api from "~/service/Api" export default { mixins: [commonFunctions], name: "", props: ["model"], data() { return { rulSel: { objcod: [{ "required": true, "message": "必输项", "type": "string", "trigger": "change" }, { "max": 10, "message": "最大长度10个字符", "trigger": "change" } ], }, rules: Pattern, fecData: [], fecColumns: [{ label: '费用代码', prop: 'codFee', width: "120px" }, { label: '费用名称', prop: 'coddscFee', width: "250px" }, //{ label: '生效对象', prop: 'feepri', width: '120' }, { label: '生效对象', prop: 'feepritxt', width: "120px" }, //{ label: '对象编号', prop: 'objinr', width: '120' }, { label: '对象编号', prop: 'objcod', width: "120px" }, { label: '对象名称', prop: 'objnam', width: "120px" }, { label: '费率币种', prop: 'ratcur', width: "120px" }, { label: '计费区间最小值', prop: 'lowamt', width: "130px" }, { label: '计费区间最大值', prop: 'higamt', width: "130px" }, { label: '起始日期', prop: 'begdat', width: "120px" }, { label: '终止日期', prop: 'enddat', width: "120px" }, { label: '计算规则', prop: 'calrul', width: "120px" }, { label: '每份的费用金额', prop: 'untamt', width: "150px" }, { label: '计算费率', prop: 'ratcal', width: "120px" }, ], feeCodList: [], mapArea: { '1': '地区代码', '2': '国家代码', '4': '客户编号', }, dialogNam: { 'add': '费率新增', 'edit': '费率编辑', 'info': '费率详情', }, selectArea: { '1': 'REGTXT', '2': 'CTYTXT' }, showInsertBtn: false, showUpdateBtn: false, showDeleteBtn: false, searchLoading: false, dialogAdd: false, form: new Fec().data, fectyp: "", formLabelWidth: "160px", startDatePicker: this.beginDate(), endDatePicker: this.processDate(), loadingStatus: false, ptyDialogQueryModel: new Ptyn().data, ptyDialogQueryTableData: [], ptyDialogQueryVisible: false, loadingAddStatus: false, ptyDialogAddModel: new Ptyn().data, ptyDialogAddTableData: [], ptyDialogAddVisible: false, isShow: true, FeepriFilterKey1: ['!','1','2','4'], feeRemark:"", }; }, computed: { isMinFccDisabled() { return this.form.minfcc === 'P' || this.form.minfcc === 'N'; }, isMaxFccDisabled() { return this.form.maxfcc === 'P' || this.form.maxfcc === 'N'; }, minFccDisabled() { return this.form.minfcc != 'P' && this.form.minfcc != 'N'; }, maxFccDisabled() { return this.form.maxfcc != 'P' && this.form.maxfcc != 'N'; }, isZonghang() { let currentOrg = this.$store.state.UserContext.currentOrg; if (currentOrg) { if (currentOrg.level !== '0' && currentOrg.level !== 0) { return false; } else { return true; } }else{ return false; } }, FeepriFilterKey() { let zhongFlg=false let currentOrg = this.$store.state.UserContext.currentOrg if (currentOrg) { if (currentOrg.level == '0' || currentOrg.level == 0) { zhongFlg=true } } if (zhongFlg){ if (this.fectyp=='add'){ return ['!','1','2'] }else{ return ['!','1','2','4'] } }else{ if (this.fectyp=='add'){ return ['4'] }else{ return ['!','1','2','4'] } } }, /* //feepri=4,且柜员有客户主办权限,才可修改 isDisableEditBtn (row) { console.log("row---",row) let currentOrg=this.$store.state.UserContext.currentOrg; if (currentOrg){ console.log("currentOrg--",currentOrg) if (currentOrg.level !=='0' && currentOrg.level !==0){ }else{ return false; } } }, */ feepriCode() { let feepriCode = ['!', '1', '2', '4']; if (this.fectyp = 'add') { let currentOrg = this.$store.state.UserContext.currentOrg; if (currentOrg) { console.log("currentOrg--", currentOrg) if (currentOrg.level !== '0' && currentOrg.level !== 0) { feepriCode = ['4']; } } } return feepriCode; }, }, activated() { const { update } = this.$route.params if (update) { this.onInffecSearch() } }, created() { this.model.codFee = "ADVAME"; this.onInffecSearch() //this.getCodList() }, watch: { "form.feepri": { immediate: true, handler(val, oldVal) { if (this.form.feepri == "!") { this.form.minfcc = "S"; this.form.maxfcc = "S"; this.form.objtyp = ""; this.form.calfcc = "S"; } else if (this.form.feepri == "1") { this.form.objtyp = "REG"; } else if (this.form.feepri == "2") { this.form.objtyp = "CTY"; } else if (this.form.feepri == "4") { this.form.objtyp = "PTY"; } } }, "form.minfcc": { immediate: true, handler(val, oldVal) { if (this.form.minfcc == "N" || this.form.minfcc == "P") { this.form.mincur = ""; this.form.minamt = ""; } } }, "form.maxfcc": { immediate: true, handler(val, oldVal) { if (this.form.maxfcc == "N" || this.form.maxfcc == "P") { this.form.maxcur = ""; this.form.maxamt = ""; } } }, "form.maxfcc": { immediate: true, handler(val, oldVal) { if (this.form.maxfcc == "N" || this.form.maxfcc == "P") { this.form.maxcur = ""; this.form.maxamt = ""; } } }, "form.perbegtr2": { immediate: true, handler(val, oldVal) { if (this.form.perbegtr2 == 0) { this.form.perrattr2 = 0; this.form.perbegtr3 = 0; } } }, "form.perbegtr3": { immediate: true, handler(val, oldVal) { if (this.form.perbegtr3 == 0) { this.form.perrattr3 = 0; this.form.perbegtr4 = 0; } } }, "form.perbegtr4": { immediate: true, handler(val, oldVal) { if (this.form.perbegtr4 == 0) { this.form.perrattr4 = 0; this.form.perbegtr5 = 0; } } }, "form.perbegtr5": { immediate: true, handler(val, oldVal) { if (this.form.perbegtr5 == 0) { this.form.perrattr5 = 0; } } }, "form.codFee": { immediate: true, handler(val, oldVal) { if (val !=null && val !=''){ Api.post('/manager/fee/queryByCod',{cod:val}).then(res => { this.feeRemark =res.data.remark console.log(this.feeRemark); }) }else{ this.feeRemark="" } } }, }, mounted() { this.getHiddenButtonVue(); }, methods: { getHiddenButtonVue() { const loading = this.loading(); this.$buttonControlService.hiddenBtnList() .then((res) => { // 【新增】按钮 let hasInsert = res.some((item) => { return item.ITEMID === 'fecInsertBtn'; }) if (hasInsert) { this.showInsertBtn = false; } else { this.showInsertBtn = true; } // 【修改】按钮 let hasUpdate = res.some((item) => { return item.ITEMID === 'fecUpdateBtn'; }) if (hasUpdate) { this.showUpdateBtn = false; } else { this.showUpdateBtn = true; } // 【删除】按钮 let hasDelete = res.some((item) => { return item.ITEMID === 'fecDeleteBtn'; }) if (hasDelete) { this.showDeleteBtn = false; } else { this.showDeleteBtn = true; } loading.close(); }) }, beginDate() { const self = this return { disabledDate(time) { if (self.form.enddat) { //如果结束时间不为空,则小于结束时间 return time.getTime() > new Date(self.form.enddat).getTime() - 86400000; } else { // return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天 } } } }, processDate() { const self = this return { disabledDate(time) { if (self.form.begdat) { //如果开始时间不为空,则结束时间大于开始时间 return time.getTime() < new Date(self.form.begdat).getTime(); } else { // return time.getTime() > Date.now()//开始时间不选时,结束时间最大值小于等于当天 } } } }, handleReset() { this.model.objinr = ""; this.model.objtyp = ""; this.model.objcod = ""; this.model.objnam = ""; this.model.codFee = "ADVAME"; this.model.coddscFee = ""; this.model.feepri = "!"; }, onSearch() { this.model.pageNum = 1; this.model.pageSize = PageSize; this.onInffecSearch(); }, changFeepri() { if (this.model.feepri === "!") { this.model.objtyp = "" } else if (this.model.feepri === "1") { this.model.objtyp = "REG" } else if (this.model.feepri === "2") { this.model.objtyp = "CTY" } else if (this.model.feepri === "4") { this.model.objtyp = "PTY" } this.model.objinr = ""; this.model.objcod = ""; this.model.objnam = ""; console.log("--d", this.model) }, changFormFeepri() { if (this.form.feepri === "!") { this.form.objtyp = ""; this.form.calfcc = "S"; } else if (this.form.feepri === "1") { this.form.objtyp = "REG" } else if (this.form.feepri === "2") { this.form.objtyp = "CTY" } else if (this.form.feepri === "4") { this.form.objtyp = "PTY" } this.form.objinr = ""; this.form.objcod = ""; this.form.objnam = ""; console.log("--f", this.form) }, clearFormObjcod() { //this.form.objinr = ""; this.form.objcod = ""; }, getCodList() { getFeeCodList({}).then(res => { if (res.respCode == SUCCESS) { const list = res.data.list this.feeCodList = list } }) }, getCodPriOnly() { if (this.form.codFee != "" && this.form.objcod != "") { getFeecodPriOnly(this.form) .then((res) => { if (res.data) { this.$notify.warning("该对象编号已存在关联费率!"); } }) .catch((err) => { //this.$message.waring("数据检测失败"); }); } }, clearRulForm() { this.form.ratcal = ""; this.form.calcbs = "CONAMT"; this.form.minamt = ""; this.form.mincur = ""; this.form.minfcc = "S"; this.form.maxcur = ""; this.form.maxamt = ""; this.form.maxfcc = "S"; this.form.pertyp = ""; this.form.permin = ""; this.form.ratcur = ""; this.form.untamt = ""; this.form.perbegtr2 = ""; this.form.perrattr2 = ""; this.form.permintr2 = ""; this.form.perbegtr3 = ""; this.form.perrattr3 = ""; this.form.permintr3 = ""; this.form.perbegtr4 = ""; this.form.perrattr4 = ""; this.form.permintr4 = ""; this.form.perbegtr5 = ""; this.form.perrattr5 = ""; this.form.permintr5 = ""; this.form.amtflg = ""; }, onInffecSearch() { this.searchLoading = true; queryByPage(this.model).then(res => { const list = res.data.list Object.keys(list).forEach((item) => { let obj = list[item] /* let codArr = codes['feepri'].filter((i) => { return i.value == obj.feepri }) if(codArr.length > 0){ obj.feepri = codArr[0].label } */ let codArr2 = codes['calrulsel'].filter((i) => { return i.value == obj.calrul }) if (codArr2.length > 0) { obj.calrul = codArr2[0].label } }) this.fecData = list this.model.pageNum = res.data.pageNumber this.model.pageSize = res.data.pageSize this.model.total = res.data.total this.searchLoading = false; }) }, queryFunc(pageNumber, pageSize) { this.model.pageNum = pageNumber this.model.pageSize = pageSize this.onInffecSearch() }, getCodesByKey(key) { return codes[key] || []; }, fecAdd() { this.form = new Fec().data; this.fectyp = "add"; this.form.feepri = ""; this.dialogAdd = true; if (this.$store.state.UserContext.curRole.name === "分行业务参数管理员") { this.isShow = false; } else { this.isShow = true; } }, fecDetail(row) { queryDetailById(row) .then((res) => { this.form = res.data; if (this.form.colltr === null) { this.form.colltr = ""; }; if (this.form.setchgflg === null) { this.form.setchgflg = ""; }; this.fectyp = "info"; this.dialogAdd = true; }) .catch((err) => { this.$notify.error("数据查看失败"); }); }, fecEdit(row) { console.log("fecEdit(row)---", row) queryDetailById(row) .then((res) => { this.form = res.data; if (this.form.colltr === null) { this.form.colltr = ""; }; if (this.form.setchgflg === null) { this.form.setchgflg = ""; }; this.fectyp = "edit"; this.dialogAdd = true; }) .catch((err) => { this.$notify.error("数据查看失败"); }); }, fecDelete(row) { this.$confirm("是否确认删除?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { deleteById(row) .then((res) => { if (res.respCode == SUCCESS) { this.$notify.success("删除成功!"); this.onInffecSearch(); } else { this.$notify.error("删除失败!"); } }) .catch((err) => { this.$notify.error("删除失败!"); }); }) .catch(() => { this.$message({ type: "info", message: "已取消删除", }); }); }, commitAdd() { this.$refs.form.validate((validated) => { if (validated) { if (this.form.inftxt && !this.form.inflev) { this.$message.info("提示级别必输") return } if (this.form.inflev && !this.form.inftxt) { this.$message.info("提示内容必输") return } this.form.lowamt = 0; this.form.higamt = 99999999999999; if (this.form.calrul == "0" || this.form.calrul == "F") { this.form.minfcc = ""; this.form.maxfcc = ""; }; add(this.form) .then((res) => { if (res.respCode == SUCCESS) { this.$notify.success(res.respMsg); this.dialogAdd = false; this.onInffecSearch(); } else { this.$notify.error(res.respMsg); } }) .catch((err) => { this.$notify.error(err.respMsg); }); } else { this.$notify.error({ title: '失败', message: '请检查必输项!' }); } }) }, commitEdit() { this.$refs.form.validate((validated) => { if (validated) { if (this.form.inftxt && !this.form.inflev) { this.$message.info("提示级别必输") return } if (this.form.inflev && !this.form.inftxt) { this.$message.info("提示内容必输") return } if (this.form.calrul == "0" || this.form.calrul == "F") { this.form.minfcc = ""; this.form.maxfcc = ""; }; if (this.form.begdat == this.form.enddat) { this.$notify.error("生效日期与失效日期不能相同"); } else { edit(this.form) .then((res) => { if (res.respCode == SUCCESS) { this.$notify.success("保存成功!"); this.dialogAdd = false; this.onInffecSearch(); } else { this.$notify.error(res.respMsg); } }) .catch((err) => { this.$notify.error("保存失败!"); }); } } else { this.$notify.error({ title: '失败', message: '请检查必输项!' }); } }) }, // 获取客户列表信息 getQueryPtyList() { this.loadingStatus = true; this.ptyDialogQueryModel.extkey = this.model.objcod; listByExtkey(this.ptyDialogQueryModel) .then((res) => { this.loadingStatus = false; this.ptyDialogQueryVisible = true; this.ptyDialogQueryTableData = res.data.list; this.ptyDialogQueryModel.total = res.data.total; this.ptyDialogQueryModel.pageNum = res.data.pageNumber; this.ptyDialogQueryModel.pageSize = res.data.pageSize; }) .catch((err) => { this.loadingStatus = false; this.$notify.error("查询失败!"); }); }, // 获取分页组件数据,为请求数据赋值 ptyDialogQueryFunc(pageNumber, pageSize) { this.ptyDialogQueryModel.pageNum = pageNumber; this.ptyDialogQueryModel.pageSize = pageSize; this.getQueryPtyList(); }, // 使用事件 useQueryCurrentData(row) { this.ptyDialogQueryVisible = false; this.model.objcod = row.extkey; this.model.objnam = row.nam; }, // 获取客户列表信息 getAddPtyList() { this.loadingAddStatus = true; this.ptyDialogAddModel.extkey = this.form.objcod; listByExtkey(this.ptyDialogAddModel) .then((res) => { this.loadingAddStatus = false; this.ptyDialogAddVisible = true; this.ptyDialogAddTableData = res.data.list; this.ptyDialogAddModel.total = res.data.total; this.ptyDialogAddModel.pageNum = res.data.pageNumber; this.ptyDialogAddModel.pageSize = res.data.pageSize; }) .catch((err) => { this.loadingAddStatus = false; this.$notify.error("查询失败!"); }); }, // 获取分页组件数据,为请求数据赋值 ptyDialogAddQueryFunc(pageNumber, pageSize) { this.ptyDialogAddModel.pageNum = pageNumber; this.ptyDialogAddModel.pageSize = pageSize; this.getAddPtyList(); }, // 使用事件 useAddCurrentData(row) { this.ptyDialogAddVisible = false; this.form.objcod = row.extkey; this.form.objnam = row.nam; } }, }; </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>