<template>
|
<div>
|
<div class="search-form">
|
<EditForm
|
ref="form"
|
formType="search"
|
:inline="true"
|
:list="formList"
|
:buttons="buttons"
|
:isShowAll="isShowAll"
|
:formValues="formValues"
|
:formRules="formRules"
|
@updateValue="updateValue"
|
@buttonAction="buttonAction"
|
></EditForm>
|
</div>
|
|
<el-button type="primary" size="small" @click="onAddTemp">新增</el-button>
|
|
<div class="list-content">
|
<TableList
|
:isAutoIndex="true"
|
:isPaddingRight="false"
|
:list="records"
|
:total="total"
|
:pageInfo="pageInfo"
|
:header="tableList"
|
:loading="loading"
|
@doAction="doAction"
|
@handleCurrentChange="handleCurrentChange"
|
@handleSizeChange="handleSizeChange"
|
></TableList>
|
</div>
|
|
<!-- 编辑 窗口 -->
|
<EditDialog ref="EditDialog" :type="dialogType" @submit="fetch" />
|
</div>
|
</template>
|
<script>
|
/**
|
* 机构列表-查询页面
|
*/
|
import EditForm from '@dreamSend/components/EditForm'
|
import TableList from '@dreamSend/components/TableList'
|
import EditDialog from './Edit'
|
import smsOrgConfig from '@dreamSend/model/smsOrgConfig'
|
import qrySmsChannel from '@dreamSend/model/qrySmsChannel'
|
import queryAccountList from '@dreamSend/model/queryAccountList'
|
|
import common from "@/utils/common";
|
import { deleteOrg } from "@/api/dreamSend";
|
|
export default {
|
name: 'LoanApply',
|
components: {
|
TableList,
|
EditForm,
|
EditDialog,
|
},
|
data() {
|
return {
|
// 是否显示详情页
|
isShowList: true,
|
formList: [],
|
tableList: [],
|
formRules: {},
|
listModel: null,
|
query: {},
|
records: [],
|
pageInfo: {
|
currentPage: 1,
|
pageSize: 10
|
},
|
total: 0,
|
loading: false,
|
// 是否显示所有表单项
|
isShowAll: false,
|
buttons: [
|
{ text: '重置', type: '' },
|
{ text: '搜索' },
|
],
|
dialogType: 0, // 1 新增 2 编辑 0查看
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
// 页面初始化处理
|
init() {
|
const { query } = this.$route
|
this.query = query
|
const listModel = smsOrgConfig()
|
const formList = listModel.getFormList(query)
|
this.tableList = listModel.getTableList()
|
this.formRules = listModel.getFormRules()
|
this.formList = formList
|
this.listModel = listModel
|
|
this.qrySmsChannel()
|
this.queryAccountList()
|
this.qryStatusList()
|
this.qryTempTypeList()
|
setTimeout(() => {
|
this.fetch()
|
}, 0)
|
},
|
|
// 获取当前列表数据
|
async fetch() {
|
this.loading = true
|
let { pageInfo, listModel, formValues } = this
|
let params = {}
|
for (let key in formValues) {
|
if(formValues[key]) {
|
params[key] = formValues[key]
|
}
|
}
|
const res = await listModel.request({ ...pageInfo, ...params, pageNo: pageInfo.currentPage })
|
this.loading = false
|
let { list, total } = res
|
list = list.map(item => {
|
let arr = []
|
arr.push({ label: '编辑', id: 1, disabled: false }, { label: '删除', id: 0, disabled: false })
|
item = { ...item, buttons: [...arr]}
|
return item
|
})
|
this.records = list
|
this.total = total
|
},
|
|
// 渠道下拉列表
|
async qrySmsChannel() {
|
const res = await qrySmsChannel().request({})
|
let { list } = res
|
let arr = []
|
list.map(item => {
|
item.label && arr.push(item)
|
})
|
this.smsChannel = arr
|
this.updateValue('channelId', { options: arr })
|
},
|
// 主体下拉列表
|
async queryAccountList() {
|
const res = await queryAccountList().request({})
|
let { list } = res
|
let arr = []
|
list.map(item => {
|
item.label && arr.push(item)
|
})
|
this.smsAccount = arr
|
this.updateValue('accountId', { options: arr })
|
},
|
|
// 状态下拉列表
|
async qryStatusList() {
|
const list = [
|
{ value: '01', label: '启用' },
|
{ value: '02', label: '停用' },
|
]
|
this.updateValue('status', { options: list })
|
},
|
// 模板类型下拉列表
|
async qryTempTypeList() {
|
const list = [
|
{ value: '01', label: '短信' },
|
{ value: '02', label: '通知' },
|
{ value: '06', label: '验证码' },
|
]
|
this.updateValue('tempType', { options: list })
|
},
|
|
// 表单按钮操作
|
buttonAction(index, button) {
|
let { listModel, isShowAll } = this
|
if (index === 0) {
|
// 重置
|
// this.formList = listModel.getFormList()
|
this.init()
|
}
|
if (index === 1) {
|
// 搜索
|
this.pageInfo.currentPage = 1
|
this.fetch()
|
}
|
if (index === 2) {
|
// 展开/收起
|
this.isShowAll = !isShowAll
|
}
|
},
|
|
// 更新表单数据
|
updateValue(index, info) {
|
const { formList } = this
|
if (isNaN(index)) {
|
// index is name
|
index = formList.findIndex(({ name }) => name === index)
|
}
|
if (!isNaN(index) && index > -1) {
|
const preInfo = formList[index]
|
this.$set(formList, index, { ...preInfo, ...info })
|
}
|
},
|
|
// 表单事件回调
|
doAction(name, item, { id, label }) {
|
// 编辑
|
if (id === 1) {
|
this.dialogType = 2
|
this.$refs.EditDialog.initInfo('编辑机构', item)
|
}
|
// 删除
|
if (id === 0) {
|
common.comfirm(
|
"注意",
|
`您是否要删除这项?`,
|
async () => {
|
const res = await deleteOrg({ id: item.id })
|
if (res.code == "200") {
|
this.$message.success("删除成功");
|
this.fetch()
|
}
|
}
|
);
|
}
|
},
|
|
onAddTemp() {
|
this.dialogType = 1
|
this.$refs.EditDialog.initInfo('新增机构', {})
|
},
|
|
// 点击详情页返回的处理
|
backList(flg = true) {
|
this.isShowList = flg
|
},
|
|
// 修改翻页条数
|
handleSizeChange(val) {
|
this.pageInfo.pageSize = val
|
this.fetch()
|
},
|
|
// 修改翻页数
|
handleCurrentChange(val) {
|
this.pageInfo.currentPage = val
|
this.fetch()
|
}
|
},
|
computed: {
|
// 表单值信息
|
formValues() {
|
const { listModel, formList } = this
|
return listModel.getFormValues(formList)
|
}
|
}
|
// watch: {
|
// $route() {
|
// this.init()
|
// }
|
// }
|
}
|
</script>
|
<style lang="postcss" scoped>
|
.search-form {
|
padding-top: 16px;
|
}
|
.list-content {
|
margin-top: 10px;
|
font-size: 14px;
|
}
|
.export-excle {
|
margin: 0 0 20px 0;
|
}
|
.message{
|
font-size: 12px;
|
color: #666666;
|
padding: 10px 20px;
|
background-color: #FAFAFA;
|
}
|
</style>
|