duanxinpeizhi.vue 14.5 KB
<template>
    <a-card :bordered="false">
        <!-- 查询区域 -->
        <div class="table-page-search-wrapper">
            <a-form layout="inline" @keyup.enter.native="searchQuery">
                <a-row :gutter="24">
                    <a-col :md="6" :sm="12">
                        <a-form-item label="短信模板编号">
                            <a-input placeholder="输入短信模板编号" v-model="queryParam.templateCode"></a-input>
                        </a-form-item>
                    </a-col>
                    <a-col :md="6" :sm="12">
                        <a-form-item label="业务线名称">
                            <a-select v-model="queryParam.businessChannelNo" placeholder="请选择业务线名称">
                                <a-select-option v-for="(item, index) in dbBusinessChannel" :key="index"
                                    :value="item.name">{{ item.title }}</a-select-option>
                            </a-select>
                        </a-form-item>
                    </a-col>
                    <template v-if="toggleSearchStatus">
                        <a-col :md="6" :sm="8">
                            <a-form-item label="启用状态">
                                <a-select v-model="queryParam.status" placeholder="请选择启用状态">
                                    <a-select-option value="">全部</a-select-option>
                                    <a-select-option :value="1">生效</a-select-option>
                                    <a-select-option :value="2">不生效</a-select-option>
                                </a-select>
                            </a-form-item>
                        </a-col>
                        <a-col :md="6" :sm="8">
                            <a-form-item label="短信类型">
                                <a-select v-model="queryParam.templateType" placeholder="请选择短信类型">
                                    <a-select-option value="">全部</a-select-option>
                                    <a-select-option :value="1">授信</a-select-option>
                                    <a-select-option :value="2">用信</a-select-option>
                                    <a-select-option :value="3">还款</a-select-option>
                                    <a-select-option :value="4">催收</a-select-option>
                                    <a-select-option :value="5">其它</a-select-option>
                                </a-select>
                            </a-form-item>
                        </a-col>
                        <a-col :md="6" :sm="15">
                            <a-form-item label="短信接收方" :labelCol="{ span: 4 }" :wrapperCol="{ span: 16 }">
                                <a-select v-model="queryParam.templateReceiver" placeholder="请选择短信接收方">
                                    <a-select-option value="">全部</a-select-option>
                                    <a-select-option :value="1">注册手机号</a-select-option>
                                    <a-select-option :value="2">银行预留手机号</a-select-option>
                                    <a-select-option :value="3">注册手机号和银行预留手机号</a-select-option>
                                </a-select>
                            </a-form-item>
                        </a-col>
                        <a-col :md="6" :sm="8">
                            <a-form-item label="发送节点">
                                <a-select v-model="queryParam.sendSignal" placeholder="请选择发送节点">
                                    <a-select-option value="">全部</a-select-option>
                                    <a-select-option :value="1">注册</a-select-option>
                                    <a-select-option :value="2">授信成功</a-select-option>
                                    <a-select-option :value="3">授信失败</a-select-option>
                                    <a-select-option :value="4">放款成功</a-select-option>
                                    <a-select-option :value="5">放款失败</a-select-option>
                                    <a-select-option :value="6">还款成功</a-select-option>
                                    <a-select-option :value="7">还款失败</a-select-option>
                                    <a-select-option :value="8">绑卡</a-select-option>
                                </a-select>
                            </a-form-item>
                        </a-col>
                    </template>
                    <a-col :md="6" :sm="8">
                        <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
                            <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
                            <a-button @click="searchReset" icon="reload" style="margin-left: 8px">重置
                            </a-button>
                            <a @click="handleToggleSearch" style="margin-left: 8px">
                                {{ toggleSearchStatus ? '收起' : '展开' }}
                                <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
                            </a>
                        </span>
                    </a-col>
                </a-row>
            </a-form>
        </div>

        <!-- 操作按钮区域 -->
        <div class="table-operator" style="border-top: 5px">
            <a-button v-has="'businessChannels:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button>
            <!-- <a-button :disabled="isDisabledAuth('/config/admin/saveBusinessChannel')" @click="handleAdd" type="primary" icon="plus">新增test启用/停用</a-button> -->
            <!-- <a-button v-has="'/config/admin/saveBusinessChannel'" @click="handleAdd" type="primary" icon="plus">新增test显示/隐藏</a-button> -->
        </div>

        <!-- table区域-begin -->
        <div>
            <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns" :dataSource="dataSource"
                :pagination="ipagination" :loading="loading" :scroll="{ x: '100%' }" @change="handleTableChange">
                <span slot="actionOpen" slot-scope="text, record">
                    <a-switch size="small" :checked="record.status == 1 ? true : false" @change="onChange(record)" />
                </span>
                <span slot="action" slot-scope="text, record">
                    <a-button
                        type="link"
                        size="small"
                        v-has="'businessChannels:edit'" @click="handleEdit(record)"
                        icon="edit"
                        style="font-size: 12px"
                    >
                        修改</a-button
                    >
                </span>
                <div style="maxWidth:100px;whiteSpace:nowrap;textOverflow:ellipsis;overflow:hidden; wordWrap:break-word; wordBreak:break-all"
                    slot="remark" slot-scope="text, record">
                    <a-tooltip placement="left">
                        <template slot="title">
                            <span>{{ record.remark }}</span>
                        </template>
                        {{ record.remark }}
                    </a-tooltip>
                </div>
                <div style="maxWidth:100px;whiteSpace:nowrap;textOverflow:ellipsis;overflow:hidden; wordWrap:break-word; wordBreak:break-all"
                    slot="templateContent" slot-scope="text, record">
                    <a-tooltip placement="left">
                        <template slot="title">
                            <span>{{ record.templateContent }}</span>
                        </template>
                        {{ record.templateContent }}
                    </a-tooltip>
                </div>
            </a-table>
        </div>
        <!-- table区域-end -->
        <BusinessChannelsModal ref="modalForm" @ok="modalFormOk"></BusinessChannelsModal>
    </a-card>
</template>
<script>
import BusinessChannelsModal from './modules/businessChannelsModal'
import { putAction } from '@/api/manage'
import { frozenBatch } from '@/api/api'
import { setSmsStatus } from '@/api/configApi'
import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
import { JeecgListMixin } from '@/mixins/CoreListMixin'
import JInput from '@/components/jeecg/JInput'

export default {
    name: 'UserList',
    mixins: [JeecgListMixin, DisabledAuthFilterMixin],
    components: {
        BusinessChannelsModal,
        JInput,
    },
    data() {
        return {
            description: '这是用户管理页面',
            queryParam: {},
            dbBusinessChannel: JSON.parse(sessionStorage.getItem('DB_BUSINESS_CHANNEL')),//业务线名称
            columns: [
                {
                    title: '序号',
                    dataIndex: '',
                    key: 'rowIndex',
                    align: 'center',
                    width: 55,
                    customRender: function (t, r, index) {
                        return parseInt(index) + 1
                    },
                },
                {
                    title: '短信模板编号',
                    align: 'center',
                    dataIndex: 'templateCode',
                    width:200,
                },
                {
                    title: '业务线名称',
                    align: 'center',
                    dataIndex: 'businessChannelNo',
                    width:200,
                    customRender: (t, r, index) => {
                        for (var i = 0; i < this.dbBusinessChannel.length; i++) {
                            if (t == this.dbBusinessChannel[i].name) {
                                return this.dbBusinessChannel[i].title
                            }
                        }
                    }
                },
                {
                    title: '短信类型',
                    align: "center",
                    dataIndex: 'templateType',
                    width:120,
                    customRender: function (t, r, index) {
                        if (t == 1) {
                            return "授信"
                        } else if (t == 2) {
                            return "用信"
                        } else if (t == 3) {
                            return "还款"
                        } else if (t == 4) {
                            return "催收"
                        } else if (t == 5) {
                            return "到期逾期提醒"
                        } else {
                            return "其它"
                        }
                    }
                },
                {
                    title: '短信内容',
                    align: 'center',
                    dataIndex: 'templateContent',
                    width: '100px',
                    scopedSlots: { customRender: 'templateContent' },
                },
                {
                    title: '发送节点',
                    align: 'center',
                    dataIndex: 'sendSignal',
                    width:120,
                    customRender: function (t, r, index) {
                        if (t == 1) {
                            return "注册"
                        } else if (t == 2) {
                            return "授信成功"
                        } else if (t == 3) {
                            return "授信失败"
                        } else if (t == 4) {
                            return "放款成功"
                        } else if (t == 5) {
                            return "放款失败"
                        } else if (t == 6) {
                            return "还款成功"
                        } else if (t == 7) {
                            return "还款失败"
                        } else if (t == 8) {
                            return "绑卡"
                        }
                    }
                },
                {
                    title: '短信接收方',
                    align: 'center',
                    dataIndex: 'templateReceiver',
                    width:200,
                    customRender: function (t, r, index) {
                        if (t == 1) {
                            return "注册手机号"
                        } else if (t == 2) {
                            return "绑卡手机号"
                        } else if (t == 3) {
                            return "注册手机号、绑卡手机号"
                        }
                    }
                },
                {
                    title: '备注',
                    align: 'center',
                    dataIndex: 'remark',
                    width: '100px',
                    scopedSlots: { customRender: 'remark' },
                },
                {
                    title: '启用状态',
                    align: 'center',
                    dataIndex: 'status',
                    scopedSlots: { customRender: 'actionOpen' },
                    width: 80,
                },
                {
                    title: '新建时间',
                    align: 'center',
                    dataIndex: 'createTime',
                    width:200,
                },
                {
                    title: '更新时间',
                    align: 'center',
                    dataIndex: 'updateTime',
                    width:200,
                },
                {
                    title: '操作',
                    dataIndex: 'action',
                    scopedSlots: { customRender: 'action' },
                    align: 'center',
                    width: 100,
                    fixed: 'right',
                },
            ],
            url: {
                list: '/config/admin/api/InsSms/queryInsSmsList',
            },
        }
    },
    created() {
        this.disableMixinCreated = true
        this.columns = this.preFilter(this.columns, 'businessChannels:')
        this.loadData()
    },
    computed: {},
    methods: {
        getAvatarView: function (avatar) {
            return this.url.imgerver + '/' + avatar
        },
        handleChangePassword(username) {
            this.$refs.modalForm.show(username)
        },
        // 停用启用
        onChange: function (v) {
            let _p = {
                id: v.id,
                status: v.status == 1 ? 2 : 1,
            }
            setSmsStatus(_p).then((res) => {
                this.loadData()
            })
        },
    },
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>