Commit ce0d1f89 authored by 吴春's avatar 吴春
parents d7491db8 e1707fdf
// 邮轮列表配置
export const addConfig = {
// 抽屉配置
drawerConfig: {
title: '跟团游信息',
size: '90%',
direction: 'rtl'
},
}
// 导出默认配置
export default addConfig
This diff is collapsed.
<style>
@import "../../assets/css/newTravelManager.css";
@import '../common/BaseListManager.css';
.color_red_order {
color: #e95252 !important;
}
......@@ -1647,6 +1647,7 @@
</el-popover>
</li>
<li>
<input v-if="userInfo.SimpleEasy==1" type="button" class="hollowFixedBtn" :value="$t('pub.addBtn')" @click="addOrders"/>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="
getList();
resetPageIndex();
......@@ -1772,8 +1773,23 @@
</el-row>
</div>
<!-- 表格 -->
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle">
<table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle" v-loading="loading">
<groupOrder v-if="userInfo.SimpleEasy==1" :list="list" :orderList="orderList"
:logList="logList" :redBagList="redBagList" :qjGroupId="qjGroupId" :isShow="isShow"
:showID="showID" :TransferMission="TransferMission" :isEditOrderCreate="isEditOrderCreate"
@goIisDetail="goIisDetail" @goUrlTS="goUrlTS" @goContract="goContract"
@goSingleContract="goSingleContract" @goProtocol="goProtocol" @goDisclaimer="goDisclaimer"
@goInvetig="goInvetig" @SpecialAPP="SpecialAPP" @deleteItem="deleteItem"
@ShenQingPhoto="ShenQingPhoto" @Discount="Discount" @goUrlAdd="goUrlAdd"
@getOrderGender="getOrderGender" @transfer="transfer" @getHouse="getHouse"
@toTrip="toTrip" @getSalerInfo="getSalerInfo" @getLogDetail="getLogDetail"
@getRemarks="getRemarks" @getDetail="getDetail" @downLoadFile="downLoadFile"
@getMembersDetail="getMembersDetail" @seeBJD="seeBJD" @gotoProduct="gotoProduct"
@goUrlX="goUrlX" @getOrderDetail="getOrderDetail" @goUrlHappy="goUrlHappy"
@getRedBag="getRedBag" @goUrlT="goUrlT" @setChargeLoss="setChargeLoss"
@goUrlSFD="goUrlSFD" @uploadFileBtn="uploadFileBtn" @childByValue="childByValue"
></groupOrder>
<table v-else class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="210">{{ $t("fnc.danhao") }}&{{ $t("visa.v_tuanhao") }}</th>
<th width="120">{{ $t("fnc.khxinxi") }}</th>
......@@ -2685,6 +2701,14 @@
</button>
</div>
</el-dialog> -->
<pinkDrawer ref="addOrders"
:drawer-config="drawerConfig">
<template slot="drawer" slot-scope="{ visible, close }">
<addOrder v-if="visible&&showType==1" :isDrawerMode="true"
:details="selectedSpotData"
@close="close" @save-success="handleSaveSuccess"></addOrder>
</template>
</pinkDrawer>
</div>
</template>
......@@ -2698,9 +2722,15 @@
import orderRemark from "../orderCommon/order-remark.vue"; //订单备注
import PriceDetail from '../orderCommon/PriceDetail.vue';
import DateLimit from '../public/DateLimit.vue';
import pinkDrawer from '../common/pinkDrawer.vue';
import addOrder from './components/addOrder.vue';
import addConfig from "./components/addConfig.js";
import groupOrder from "./components/groupOrder.vue";
export default {
data() {
return {
selectedSpotData: null,
showType: 1,//团信息
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.QStartDate);
......@@ -3046,7 +3076,10 @@
commissionDialog,
orderRemark: orderRemark,
PriceDetail,
DateLimit
DateLimit,
pinkDrawer,
addOrder,
groupOrder,
},
filters: {
priceFormat(value) {
......@@ -3062,12 +3095,27 @@
return x1 + x2;
},
},
watch: {
watch: {
SQcheckdAll(val) {
this.checkdAll(val);
},
},
computed: {
// 抽屉配置
drawerConfig() {
return addConfig.drawerConfig;
},
},
methods: {
addOrders() {
this.$refs.addOrders.openDrawer();
},
handleSaveSuccess() {
this.$refs.addOrders.handleDrawerClose();
this.getList();
this.getCount()
this.$message.success('保存成功');
},
gotoProduct(item) {
var path = "productQuery";
if (item.teamType == 4) {
......@@ -3928,6 +3976,14 @@
}
},
getDetail(obj) {
if(this.userInfo.SimpleEasy==1){
this.OperationType = 1
this.showType = 1
obj.OperationType = 1
this.selectedSpotData = obj;
this.$refs.addOrders.openDrawer(obj);
return;
}
this.goLVurl.orderId = obj.orderId;
this.goLVurl.tcid = obj.tcid;
this.goLVurl.tcnum = obj.tcnum;
......@@ -4035,7 +4091,6 @@
if (x.ClientSource == 1) {
this.isPingtai = true;
}
this.isShowLayer = true;
this.isShowHouse = false;
this.isShowLayerRemarks = false;
......
// 列表管理通用 Mixin
export const addEditMixin = {
// 用户相关数据通用 Mixin
export const userMixin = {
data() {
return {
//用户信息
......@@ -16,4 +16,4 @@ export const addEditMixin = {
}
};
export default addEditMixin;
export default userMixin;
<template>
<div>
<el-drawer v-if="drawerConfig" :visible.sync="drawerVisible" v-bind="drawerConfig" @close="handleDrawerClose">
<slot name="drawer" :visible="drawerVisible" :data="drawerData" :close="handleDrawerClose">
</slot>
</el-drawer>
</div>
</template>
<script>
export default {
props: {
// 抽屉配置
drawerConfig: {
type: Object,
default: null
},
},
data() {
return {
// 抽屉状态
drawerVisible: false,
drawerData: null,
}
},
mounted() {
},
methods: {
// 抽屉相关方法
openDrawer(data = null) {
this.drawerData = data;
this.drawerVisible = true;
},
handleDrawerClose() {
this.drawerVisible = false;
this.drawerData = null;
this.$emit('drawer-close');
},
},
}
</script>
\ No newline at end of file
This diff is collapsed.
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -36,6 +36,7 @@
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
......@@ -82,7 +83,6 @@
}
.drawer-mode .tab-content.hidden {
height: calc(100vh - 160px);
overflow: hidden;
display: flex;
flex-direction: column;
......
......@@ -141,7 +141,7 @@
<!-- 抽屉插槽 -->
<template slot="drawer" slot-scope="{ visible, close }">
<CruiseShipInfo v-if="visible&&userInfo.SimpleEasy==1&&ShowType==1"
<CruiseShipInfo v-if="visible&&ShowType==1"
:isDrawerMode="true" :details="selectedSpotData"
@close="close" @save-success="handleSaveSuccess"/>
......@@ -178,7 +178,7 @@
<script>
import BaseListManager from "../../common/BaseListManager.vue";
import { listManagerMixin } from "../../common/mixins/listManagerMixin.js";
import { addEditMixin } from "../../common/mixins/addEditMixin.js";
import { userMixin } from "../../common/mixins/userMixin.js";
import spotListConfig from "./cruiseShipListConfig.js";
import CruiseShipInfo from './cruiseShipInfo.vue'
import ApplyFoInvoice from '../../public/ApplyFoInvoice';
......@@ -190,7 +190,7 @@ import offset from '../components/offset.vue';
export default {
name: "ScenicSpotListNew",
mixins: [listManagerMixin,addEditMixin],
mixins: [listManagerMixin,userMixin],
components: {
BaseListManager,
CruiseShipInfo,
......@@ -336,6 +336,7 @@ export default {
},
// 制作单据
makeAdocument(row, index, num, Offset) {
if ((num == 2 || num == 3) && (row.Income+row.PlatformMoney) <= 0) {
this.Info(this.$t('objFill.qinxianzhidanzaizhicbtkdj'))
return
......@@ -362,6 +363,8 @@ export default {
}
if (Offset) {
this.ShowType = 6
}else{
this.ShowType = 0
}
query = {
blank: "y",
......
// 邮轮列表配置
export const scenicSpotListConfig = {
// 表格基础配置
tableConfig: {
height: '100%',
border: true,
stripe: true,
size: 'mini',
'empty-text': '暂无邮轮数据'
},
// 分页配置
paginationConfig: {
background: true,
layout: 'total, sizes, prev, pager, next, jumper',
'pager-count': 7,
'hide-on-single-page': false,
'page-sizes': [10, 14, 20, 25, 50, 100],
'page-size': 14,
'current-page': 1,
small: false,
disabled: false,
'prev-text': '',
'next-text': '',
total: 0
},
// 分页默认配置
defaultPagination: {
currentPage: 1,
pageSize: 14,
total: 0,
pageSizes: [10, 14, 20, 25, 50, 100]
},
// 列配置工厂函数
createColumns: (options = {}) => [
{
id: 'scenic-name-column',
label: '邮轮名称',
prop: 'Name',
minWidth: 150,
// fixed: 'left',
type: 'link',
slotName: 'scenicName',
filter: {
type: 'input',
key: 'NameFilter',
placeholder: '输入邮轮名称'
}
},
{
id: 'city-column',
label: '城市',
prop: 'CityName',
minWidth: 100,
slotName: 'cityName',
filter: {
type: 'select',
key: 'CityFilter',
placeholder: '选择城市',
searchable: true,
multiple: true,
options: options.cityList || []
}
},
{
id: 'ticket-type-column',
label: '邮轮类型',
prop: 'TicketTypeName',
minWidth: 120,
slotName: 'ticketType',
filter: {
type: 'select',
key: 'TicketTypeFilter',
placeholder: '选择邮轮类型',
multiple: true,
options: options.ticketTypeList || []
}
},
{
label: '邮轮名称英文',
prop: 'RealName',
minWidth: 150,
slotName: 'realName',
emptyText: '-',
filter: {
type: 'input',
key: 'EnNameFilter',
placeholder: '输入邮轮英文名称'
}
},
{
label: '营业时间',
prop: 'OpeningHours',
minWidth: 150,
slotName: 'businessHours',
emptyText: '-'
},
{
label: '最后更新时间',
prop: 'UpdateDate',
minWidth: 150,
slotName: 'updateDate',
emptyText: '-'
},
{
label: '状态',
prop: 'Status',
minWidth: 80,
slotName: 'status',
filter: {
type: 'select',
key: 'StatusFilter',
placeholder: '选择状态',
options: [
{ label: '正常', value: '0' },
{ label: '删除', value: '1' }
]
}
}
],
// 操作列配置
actionColumn: {
label: '操作',
width: 120,
fixed: 'right'
},
// 高级查询配置
advancedSearchConfig: {
title: '高级查询',
buttonText: '高级查询',
width: 600,
fields: [
{
key: 'QCountry',
label: '国家',
type: 'select',
placeholder: '选择国家',
span: 8,
options: [] // 动态填充
},
{
key: 'QProvince',
label: '省份',
type: 'select',
placeholder: '选择省份',
span: 8,
options: [] // 动态填充
}
]
},
// 工具操作配置
toolActions: [
// {
// command: 'add',
// label: '添加邮轮',
// type: 'primary',
// icon: 'el-icon-plus',
// permission: 'scenic.add'
// },
{
command: 'export',
label: '导出数据',
icon: 'el-icon-download',
permission: 'scenic.export'
},
{
command: 'importData',
label: '导入数据',
icon: 'el-icon-upload2',
permission: 'scenic.import'
},
{
command: 'refresh',
label: '刷新',
icon: 'el-icon-refresh',
type: 'default'
},
{
command: 'clearFilters',
label: '清除筛选',
icon: 'el-icon-delete',
type: 'warning'
}
],
// 抽屉配置
drawerConfig: {
title: '邮轮信息',
size: '90%',
direction: 'rtl'
},
// API 配置
apiConfig: {
list: 'ticketcoupons_post_GetPageList',
delete: 'ticketcoupons_post_Remove',
export: 'dmcstatistics_post_GetTicketCouponsExport',
import: 'ticketcoupons_post_ImportData',
countryList: 'dict_post_Destination_GetCountry',
provinceList: 'dict_post_Destination_GetChildList',
employeeList: 'admin_get_EmployeeGetList',
ticketTypeList: 'ticketcoupons_get_GetBYTicketTypeEnumList',
batchDelete: 'ticketcoupons_post_BatchRemove',
uploadTemplate: 'file_post_UploadTemplate',
cityList:'dict_post_Destination_GetCityList'
},
// 默认查询参数
defaultQueryParams: {
pageIndex: 1,
pageSize: 14,
Name: "",
QCountry: "",
QProvince: "",
QCity: "",
QDistrict: "",
Status: "0",
TicketType: "-1",
UpdateBy: 0,
SelectType: 1
},
// 分页配置工具方法
createPaginationConfig: (options = {}) => ({
...scenicSpotListConfig.paginationConfig,
...options
}),
// 验证分页参数
validatePaginationParams: (pageIndex, pageSize, total) => {
const validPageSizes = [10, 14, 20, 25, 50, 100]
const normalizedPageSize = validPageSizes.includes(pageSize) ? pageSize : 14
const maxPage = total > 0 ? Math.ceil(total / normalizedPageSize) : 1
const normalizedPageIndex = Math.max(1, Math.min(pageIndex, maxPage))
return {
pageIndex: normalizedPageIndex,
pageSize: normalizedPageSize,
isValid: pageIndex === normalizedPageIndex && pageSize === normalizedPageSize
}
}
}
// 导出默认配置
export default scenicSpotListConfig
// 导出分页配置工具方法
export const createPaginationConfig = scenicSpotListConfig.createPaginationConfig
export const validatePaginationParams = scenicSpotListConfig.validatePaginationParams
......@@ -1921,14 +1921,6 @@ export default {
title: '邮轮订单OP'
},
},
{
path: '/cruiseShipSupplier',
name: 'cruiseShipSupplier',
component: resolve => require(['@/components/cruiseShip/supplier/cruiseShipSupplier'], resolve),
meta: {
title: '邮轮供应商'
},
},
{
path: '/TicketManager', //机票列表
name: 'TicketManager',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment