|
|
|
@ -0,0 +1,326 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<a-card :bordered="false" :bodyStyle="tstyle">
|
|
|
|
|
<div
|
|
|
|
|
class="table-page-search-wrapper"
|
|
|
|
|
v-if="hasPerm('BookingTemplate:page')"
|
|
|
|
|
:class="advanced ? 'Open' : 'Close'"
|
|
|
|
|
>
|
|
|
|
|
<a-form layout="inline">
|
|
|
|
|
<a-row :gutter="48">
|
|
|
|
|
<a-col :md="18">
|
|
|
|
|
<a-row :gutter="48">
|
|
|
|
|
<a-col :md="8" :sm="24">
|
|
|
|
|
<a-form-item label="关键字:">
|
|
|
|
|
<a-input v-model="queryParam.KeyWord" allow-clear placeholder="请输入关键字" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :md="8" :sm="24">
|
|
|
|
|
<a-form-item label="模块">
|
|
|
|
|
<a-select allow-clear placeholder="请选择模块" v-model="queryParam.module">
|
|
|
|
|
<a-select-option v-for="item in ModulesData" :key="item.code" :value="item.code">
|
|
|
|
|
{{ item.name }}
|
|
|
|
|
</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :md="6" :sm="24">
|
|
|
|
|
<span class="table-page-search-submitButtons">
|
|
|
|
|
<a-button type="primary" @click="FnGetData">查询</a-button>
|
|
|
|
|
<a-button style="margin-left: 8px" @click="init">重置</a-button>
|
|
|
|
|
<!-- <a @click="toggleAdvanced" style="margin-left: 8px">
|
|
|
|
|
{{ advanced ? '收起' : '展开' }}
|
|
|
|
|
<a-icon :type="advanced ? 'up' : 'down'" />
|
|
|
|
|
</a> -->
|
|
|
|
|
</span>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</a-form>
|
|
|
|
|
</div>
|
|
|
|
|
</a-card>
|
|
|
|
|
<a-card :bordered="false">
|
|
|
|
|
<vxe-toolbar>
|
|
|
|
|
<template #buttons>
|
|
|
|
|
<!-- <a-button type="primary" icon="plus" @click="$refs.addForm.add()">
|
|
|
|
|
新增配置
|
|
|
|
|
</a-button> -->
|
|
|
|
|
<div class="nav-box">
|
|
|
|
|
<div class="nav" @click="$refs.addForm.add()"><i class="iconfont icon-jiahao2fill"></i>新建</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-toolbar>
|
|
|
|
|
<vxe-table :data="loadData" stripe resizable round :loading="loading" height="546" empty-text="没有更多数据了!">
|
|
|
|
|
<vxe-column type="seq" width="50" fixed="left"></vxe-column>
|
|
|
|
|
<vxe-column
|
|
|
|
|
v-for="item in columns"
|
|
|
|
|
:key="`${item.dataIndex}3`"
|
|
|
|
|
:field="item.dataIndex"
|
|
|
|
|
:min-width="item.width"
|
|
|
|
|
:title="item.title"
|
|
|
|
|
:align="item.align"
|
|
|
|
|
:show-overflow="true"
|
|
|
|
|
>
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
<span v-if="item.dataIndex == 'module'">{{ FnModule(row[item.dataIndex]) }}</span>
|
|
|
|
|
<span v-else>{{ row[item.dataIndex] }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-column>
|
|
|
|
|
<vxe-column title="操作" fixed="right" width="100" align="center">
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
<vxe-button type="text" @click="$refs.editForm.edit(row)">
|
|
|
|
|
<a-icon type="form" :style="{ color: '#13c2c2' }" />
|
|
|
|
|
</vxe-button>
|
|
|
|
|
</template>
|
|
|
|
|
</vxe-column>
|
|
|
|
|
</vxe-table>
|
|
|
|
|
<!-- <vxe-pager
|
|
|
|
|
:current-page="queryParam.PageNo"
|
|
|
|
|
:page-size="queryParam.PageSize"
|
|
|
|
|
:total="queryParam.totalCount"
|
|
|
|
|
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
|
|
|
|
|
@page-change="handlePageChange1"
|
|
|
|
|
>
|
|
|
|
|
</vxe-pager> -->
|
|
|
|
|
<add-form ref="addForm" @ok="handleOk" />
|
|
|
|
|
<edit-form ref="editForm" @ok="handleOk" />
|
|
|
|
|
</a-card>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
import { mapActions } from 'vuex'
|
|
|
|
|
import { CommondbPageList } from '@/api/modular/main/CommondbCodeIssueTypeList'
|
|
|
|
|
import { commondbModules } from '@/api/modular/main/ShippingCompanyMapping'
|
|
|
|
|
import addForm from './addForm.vue'
|
|
|
|
|
import editForm from './editForm.vue'
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
addForm,
|
|
|
|
|
editForm
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
TypeData: [],
|
|
|
|
|
// 高级搜索 展开/关闭
|
|
|
|
|
advanced: false,
|
|
|
|
|
loading: false,
|
|
|
|
|
setVisible: false,
|
|
|
|
|
setVisible1: false,
|
|
|
|
|
queryParam: {
|
|
|
|
|
PageNo: 1,
|
|
|
|
|
PageSize: 10,
|
|
|
|
|
totalCount: 0,
|
|
|
|
|
SortField: 'sort',
|
|
|
|
|
descSort: true
|
|
|
|
|
},
|
|
|
|
|
ColumnsQuery: [],
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
title: '代码',
|
|
|
|
|
align: 'center',
|
|
|
|
|
width: '80',
|
|
|
|
|
dataIndex: 'code'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '模块',
|
|
|
|
|
align: 'center',
|
|
|
|
|
width: '80',
|
|
|
|
|
dataIndex: 'module'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '映射名称',
|
|
|
|
|
align: 'center',
|
|
|
|
|
width: '80',
|
|
|
|
|
dataIndex: 'mapName'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '备注',
|
|
|
|
|
align: 'center',
|
|
|
|
|
width: '80',
|
|
|
|
|
dataIndex: 'remark'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
tstyle: { 'padding-top': '12px', 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
|
|
|
|
// 加载数据方法 必须为 Promise 对象
|
|
|
|
|
loadData: [],
|
|
|
|
|
CodeData: [],
|
|
|
|
|
WCodeData: [],
|
|
|
|
|
ModulesData: [],
|
|
|
|
|
carrierCodeData: []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.init()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
...mapActions(['setIssuetypeList']),
|
|
|
|
|
FnModule(data) {
|
|
|
|
|
let RData = ''
|
|
|
|
|
this.ModulesData.forEach(item => {
|
|
|
|
|
if (data == item.code) {
|
|
|
|
|
RData = item.name
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
return RData
|
|
|
|
|
},
|
|
|
|
|
handlePageChange1({ currentPage, pageSize }) {
|
|
|
|
|
this.queryParam.PageNo = currentPage
|
|
|
|
|
this.queryParam.PageSize = pageSize
|
|
|
|
|
this.FnGetData()
|
|
|
|
|
},
|
|
|
|
|
toggleAdvanced() {
|
|
|
|
|
this.advanced = !this.advanced
|
|
|
|
|
},
|
|
|
|
|
init() {
|
|
|
|
|
Object.assign(this.$data, this.$options.data())
|
|
|
|
|
this.ColumnsQuery = this.columns
|
|
|
|
|
this.FnGetData()
|
|
|
|
|
commondbModules().then(res => {
|
|
|
|
|
this.ModulesData = res.data
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
FnGetData() {
|
|
|
|
|
this.loading = true
|
|
|
|
|
CommondbPageList(this.queryParam).then(res => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.loadData = res.data
|
|
|
|
|
this.queryParam.totalCount = res.data.totalCount
|
|
|
|
|
} else {
|
|
|
|
|
this.loadData = []
|
|
|
|
|
this.$message.warning(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.loading = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleOk() {
|
|
|
|
|
this.setIssuetypeList()
|
|
|
|
|
this.FnGetData()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="less">
|
|
|
|
|
.table-operator {
|
|
|
|
|
margin-bottom: 18px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
button {
|
|
|
|
|
margin-right: 8px;
|
|
|
|
|
}
|
|
|
|
|
.Open {
|
|
|
|
|
}
|
|
|
|
|
.Close {
|
|
|
|
|
height: 45px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
.vxe-table--render-default .vxe-body--row.row--stripe {
|
|
|
|
|
background: #f5f9fe;
|
|
|
|
|
}
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
.nav-box {
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
|
|
|
|
|
.nav {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin-right: 8px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
border: 1px solid rgba(255, 255, 255, 0);
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
height: 28px;
|
|
|
|
|
line-height: 26px;
|
|
|
|
|
|
|
|
|
|
.iconfont {
|
|
|
|
|
margin-right: 6px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
border: 1px solid rgba(255, 255, 255, 0);
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(1) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #1d8aff;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(2) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #865ef8;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(3) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #ff9702;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(4) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #1d8aff;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(5) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #ff1062;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(6) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #1ebeca;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(7) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #82c93d;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:nth-of-type(8) {
|
|
|
|
|
.iconfont {
|
|
|
|
|
color: #1d8aff;
|
|
|
|
|
}
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 0 0 10px #eee;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|