Commit bd7d7333 authored by youjie's avatar youjie

no message

parent 9cc9880f
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
</ul> </ul>
</div> </div>
<div v-if="userInfo.SimpleEasy==1"> <div v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1">
<p>{{$t('fnc.scfujian')}}<span class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</span></p> <p>{{$t('fnc.scfujian')}}<span class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</span></p>
<div class="_addUpload_box clearfix"> <div class="_addUpload_box clearfix">
......
...@@ -418,7 +418,7 @@ ...@@ -418,7 +418,7 @@
<p v-if="item.Level!=0"> <p v-if="item.Level!=0">
{{item.Description}} {{item.Description}}
</p> </p>
<template v-if="userInfo.SimpleEasy==1"> <template v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1">
<div class="_addUpload_box _addUpload_box_btm clearfix" v-if="item.FileDataList.length>0"> <div class="_addUpload_box _addUpload_box_btm clearfix" v-if="item.FileDataList.length>0">
<p>{{$t('objFill.fj')}}</p> <p>{{$t('objFill.fj')}}</p>
<template v-for="(file,fIndex) in item.FileDataList"> <template v-for="(file,fIndex) in item.FileDataList">
...@@ -512,7 +512,7 @@ ...@@ -512,7 +512,7 @@
</el-select> </el-select>
</td> </td>
</tr> </tr>
<tr v-if="userInfo.SimpleEasy==1"><td> <p>{{$t('fnc.scfujian')}}</p> <tr v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1"><td> <p>{{$t('fnc.scfujian')}}</p>
<p class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</p></td><td> <p class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</p></td><td>
<div> <div>
......
<style>
@import "../../../assets/css/DMC.css";
.drawer-mode {
display: flex;
height: 100%;
flex-direction: column;
}
/* 抽屉模式下的样式优化 */
.drawer-mode .changInfo {
padding: 0;
margin: 0;
height: 100%;
display: flex;
flex-direction: column;
}
.drawer-mode .resource-content {
padding: 0;
flex: 1;
overflow: hidden;
margin: 0 !important;
}
.drawer-mode .hotel-form-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
/* Tabs 样式优化 */
.drawer-mode .hotel-tabs {
flex: 1;
display: flex;
flex-direction: column;
border: none;
box-shadow: none;
overflow: hidden;
}
.drawer-mode .hotel-tabs .el-tabs__header {
margin: 0;
background: #f8f9fa;
border-bottom: 1px solid #e8e8e8;
}
.drawer-mode .hotel-tabs .el-tabs__nav-wrap {
padding: 0 20px;
}
.drawer-mode .hotel-tabs .el-tabs__item {
height: 40px;
line-height: 40px;
font-size: 13px;
font-weight: 500;
color: #595959;
border: none;
padding: 0 20px;
}
.drawer-mode .hotel-tabs .el-tabs__item.is-active {
color: #1890ff;
background: #fff;
border-bottom: 2px solid #1890ff;
}
.drawer-mode .hotel-tabs .el-tabs__content {
flex: 1;
overflow-y: auto;
padding: 0;
}
.drawer-mode .hotel-tabs .el-tab-pane {
height: 100%;
}
/* Tab 内容区域 */
.drawer-mode .tab-content {
padding: 20px;
height: 100%;
overflow-y: auto;
}
.drawer-mode .tab-content.hidden {
overflow: hidden;
display: flex;
flex-direction: column;
}
/* 表单样式优化 */
.drawer-mode .el-form {
padding: 0;
}
.drawer-mode .el-form-item {
margin-bottom: 16px;
}
.drawer-mode .el-form-item__label {
font-size: 13px;
font-weight: 500;
line-height: 32px;
color: #262626;
/* width: 120px !important; */
}
/* 输入框和下拉框优化 */
.drawer-mode .el-input,
.drawer-mode .el-select {
width: 100%;
}
.drawer-mode .el-input__inner,
.drawer-mode .el-select .el-input__inner {
height: 32px;
line-height: 32px;
font-size: 13px;
border: 1px solid #d9d9d9;
border-radius: 4px;
transition: all 0.2s ease;
}
.drawer-mode .el-input__inner:focus,
.drawer-mode .el-select .el-input__inner:focus {
border-color: #1890ff;
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.drawer-mode .el-textarea__inner {
font-size: 13px;
border: 1px solid #d9d9d9;
border-radius: 4px;
min-height: 60px;
}
.drawer-mode .el-textarea__inner:focus {
border-color: #1890ff;
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* 日期选择器优化 */
.drawer-mode .el-date-editor {
width: 100%;
}
.drawer-mode .el-date-editor .el-input__inner {
height: 32px;
line-height: 32px;
}
/* 联系人区域样式 */
.drawer-mode .contact-header {
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid #e8e8e8;
text-align: right;
}
.drawer-mode .contact-list {
flex: 1;
overflow-y: auto;
}
.drawer-mode .contact-item {
margin-bottom: 12px;
padding: 12px;
background: #fafbfc;
border: 1px solid #e8e8e8;
border-radius: 6px;
position: relative;
display: flex;
align-items: start;
padding-bottom: 0;
}
.drawer-mode .contact-item .el-form-item__content {
margin-left: 0px !important;
}
/* 上传区域样式 */
.drawer-mode .upload-section {
display: flex;
flex-direction: column;
gap: 8px;
}
.drawer-mode .upload-section a {
color: #1890ff;
text-decoration: none;
font-size: 13px;
margin-right: 8px;
display: inline-block;
margin-bottom: 4px;
}
.drawer-mode .upload-section a:hover {
color: #40a9ff;
text-decoration: underline;
}
/* 按钮区域优化 */
.drawer-mode .btn-list {
position: sticky;
bottom: 0;
background: #fff;
padding: 16px 20px;
border-top: 1px solid #e8e8e8;
margin: 0;
z-index: 100;
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}
.drawer-mode .btn-actions {
display: flex;
justify-content: flex-end;
gap: 12px;
}
.drawer-mode .save-Btn,
.drawer-mode .cancel-Btn {
height: 36px;
padding: 0 20px;
font-size: 14px;
border-radius: 4px;
cursor: pointer;
border: 1px solid;
transition: all 0.2s ease;
}
.drawer-mode .save-Btn {
background: #1890ff;
border-color: #1890ff;
color: #fff;
}
.drawer-mode .save-Btn:hover {
background: #40a9ff;
border-color: #40a9ff;
}
.drawer-mode .save-Btn:disabled {
background: #d9d9d9;
border-color: #d9d9d9;
color: #bfbfbf;
cursor: not-allowed;
}
.drawer-mode .save-Btn:disabled:hover {
background: #d9d9d9;
border-color: #d9d9d9;
}
.drawer-mode .cancel-Btn {
background: #fff;
border-color: #d9d9d9;
color: #595959;
}
.drawer-mode .cancel-Btn:hover {
background: #f5f5f5;
border-color: #40a9ff;
color: #40a9ff;
}
/* 上传按钮优化 */
.drawer-mode .el-button--small {
height: 28px;
padding: 0 12px;
font-size: 12px;
border-radius: 4px;
}
.drawer-mode .el-button--primary.el-button--small {
background: #1890ff;
border-color: #1890ff;
}
.drawer-mode .el-button--primary.el-button--small:hover {
background: #40a9ff;
border-color: #40a9ff;
}
/* 滚动条样式 */
.drawer-mode .tab-content::-webkit-scrollbar {
width: 6px;
}
.drawer-mode .tab-content::-webkit-scrollbar-track {
background-color: #f6f8fa;
border-radius: 3px;
}
.drawer-mode .tab-content::-webkit-scrollbar-thumb {
background-color: #d0d7de;
border-radius: 3px;
}
.drawer-mode .tab-content::-webkit-scrollbar-thumb:hover {
background-color: #8c959f;
}
/* 加载状态样式 */
.loading-container {
display: flex;
align-items: center;
justify-content: center;
min-height: 300px;
padding: 40px;
}
.loading-content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.loading-content .el-loading-spinner {
margin-bottom: 16px;
}
.loading-content .el-loading-spinner .circular {
width: 32px;
height: 32px;
color: #1890ff;
}
.loading-content p {
color: #666;
font-size: 14px;
margin: 0;
}
/* 错误状态样式 */
.error-container {
display: flex;
align-items: center;
justify-content: center;
min-height: 300px;
padding: 40px;
}
.error-content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
max-width: 400px;
}
.error-content .el-icon-warning {
font-size: 48px;
color: #f56c6c;
margin-bottom: 16px;
}
.error-content .error-title {
color: #f56c6c;
font-size: 16px;
font-weight: 500;
margin: 0 0 8px 0;
}
.error-content .error-message {
color: #666;
font-size: 14px;
margin: 0 0 20px 0;
line-height: 1.5;
}
.error-actions {
display: flex;
gap: 12px;
}
.error-actions .el-button {
min-width: 80px;
}
/* 响应式优化 */
@media (max-width: 1200px) {
.drawer-mode .el-col[class*="span-6"] {
width: 50% !important;
}
.drawer-mode .el-col[class*="span-4"] {
width: 33.333% !important;
}
}
@media (max-width: 768px) {
.drawer-mode .el-col[class*="span-"] {
width: 100% !important;
}
.drawer-mode .tab-content {
padding: 16px;
}
.drawer-mode .el-form-item__label {
width: 100px !important;
}
.loading-container,
.error-container {
min-height: 200px;
padding: 20px;
}
.error-actions {
flex-direction: column;
width: 100%;
}
.error-actions .el-button {
width: 100%;
}
}
.cruiseShipInfo{
display: flex;
flex-direction: row;
}
</style>
<template>
<div class="flexOne changInfo" :class="{ 'drawer-mode': isDrawerMode }">
<div class="resource-content clearfix">
<el-form :model="addMsg" :rules="rules" class="h-full" ref="addMsg" label-width="0">
<div class="hotel-form-container h-full">
<el-tabs v-model="activeTab" type="border-card" class="hotel-tabs">
<el-tab-pane label="OP备注" name="basic">
<div class="tab-content">
<el-row :gutter="16">
<el-col :span="19">
<el-form-item label="">
<el-input type="textarea" v-model="addMsg.OP_Remarks" placeholder="请输入OP备注"
:autosize="{ minRows: 10, maxRows: 20}"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-tab-pane>
</el-tabs>
</div>
</el-form>
</div>
<div class="btn-list">
<div class="btn-actions">
<button class="save-Btn" @click="submitForm('addMsg')" :disabled="isSaving">
<i v-if="isSaving" class="el-icon-loading" style="margin-right: 4px;"></i>
{{ isSaving ? '' : $t('pub.saveBtn') }}
</button>
<button class="cancel-Btn" @click="goUrl('HotelManagement')">
{{ isDrawerMode ? '关闭' : $t('pub.cancelBtn') }}
</button>
</div>
</div>
</div>
</template>
<script>
import DMCchooseImg from "../../commonPage/DMCchooseImg.vue";
import { listManagerMixin } from "../../common/mixins/listManagerMixin.js";
export default {
mixins: [listManagerMixin],
props: {
itemId: {
type: [String, Number],
default: 0
},
details: {
type: Object,
default: () => {}
},
isDrawerMode: {
type: Boolean,
default: false
}
},
data() {
return {
activeTab: 'basic',
addMsg: {
OrderId: 0,// 订单号
OP_Remarks: '',// 订单备注
},
rules: {
OP_Remarks: [{
required: true,
message: '请输入OP备注',
trigger: "blur"
}],
},
CruiseShipList: [],//邮轮
CSloading: false,
RoomTypeList: [],//房型
RTloading: false,
SupplierList: [],//供应商
SPloading: false,
isSaving: false,
};
},
watch: {
details: {
deep: true,
immediate: true,
handler(newVal) {
if (newVal && newVal.OrderId !== this.addMsg.OrderId) {
this.addMsg.OrderId = newVal.OrderId;
}
}
}
},
components: {
},
methods: {
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.saveResource();
} else {
return false;
}
});
},
saveResource() {
// 防重复提交
if (this.isSaving) {
return;
}
this.isSaving = true;
this.apipost(
"sellorder_get_SetOrderOPRemarks",
this.addMsg,
response => {
this.isSaving = false;
//修改添加接口
if (response.data.resultCode == 1) {
this.Success(this.$t('tips.saveYes'))
if (this.isDrawerMode) {
this.$emit('save-success')
} else {
this.goUrl("HotelManagement")
}
} else {
this.Error(response.data.message)
}
},
error => {
this.isSaving = false;
this.Error('保存失败,请检查网络连接');
}
)
},
goUrl(path) {
if (this.isDrawerMode) {
this.$emit('close')
} else {
this.$router.push({
path: path,
query: {
cache: true
}
})
}
},
}
};
</script>
...@@ -263,6 +263,10 @@ ...@@ -263,6 +263,10 @@
<el-button type="primary" style="background: green; border-color: green" <el-button type="primary" style="background: green; border-color: green"
icon="iconfont icon-bianji-smal" @click="getRemarks(item)"></el-button> icon="iconfont icon-bianji-smal" @click="getRemarks(item)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="修改op备注" placement="top-start">
<el-button type="primary" style="background: green; border-color: green"
icon="iconfont icon-bianji-smal" @click="getRemarks(item,1)"></el-button>
</el-tooltip>
<el-tooltip effect="dark" :content="$t('fnc.rizhi')" placement="top-start" style="float: left"> <el-tooltip effect="dark" :content="$t('fnc.rizhi')" placement="top-start" style="float: left">
<el-popover width="230" trigger="click"> <el-popover width="230" trigger="click">
<div class="priceContentDiv"> <div class="priceContentDiv">
...@@ -815,8 +819,8 @@ export default { ...@@ -815,8 +819,8 @@ export default {
getLogDetail(obj) { getLogDetail(obj) {
this.$emit('getLogDetail', obj) this.$emit('getLogDetail', obj)
}, },
getRemarks(obj) { getRemarks(obj,type) {
this.$emit('getRemarks', obj) this.$emit('getRemarks', obj,1)
}, },
getDetail(obj) { getDetail(obj) {
this.$emit('getDetail', obj) this.$emit('getDetail', obj)
......
...@@ -1647,7 +1647,7 @@ ...@@ -1647,7 +1647,7 @@
</el-popover> </el-popover>
</li> </li>
<li> <li>
<input v-if="userInfo.SimpleEasy==1" type="button" class="hollowFixedBtn" :value="$t('pub.addBtn')" @click="addOrders"/> <input v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1" type="button" class="hollowFixedBtn" :value="$t('pub.addBtn')" @click="addOrders"/>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click=" <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="
getList(); getList();
resetPageIndex(); resetPageIndex();
...@@ -1774,7 +1774,7 @@ ...@@ -1774,7 +1774,7 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle" 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" <groupOrder v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1" :list="list" :orderList="orderList"
:logList="logList" :redBagList="redBagList" :qjGroupId="qjGroupId" :isShow="isShow" :logList="logList" :redBagList="redBagList" :qjGroupId="qjGroupId" :isShow="isShow"
:showID="showID" :TransferMission="TransferMission" :isEditOrderCreate="isEditOrderCreate" :showID="showID" :TransferMission="TransferMission" :isEditOrderCreate="isEditOrderCreate"
@goIisDetail="goIisDetail" @goUrlTS="goUrlTS" @goContract="goContract" @goIisDetail="goIisDetail" @goUrlTS="goUrlTS" @goContract="goContract"
...@@ -2707,6 +2707,9 @@ ...@@ -2707,6 +2707,9 @@
<addOrder v-if="visible&&showType==1" :isDrawerMode="true" <addOrder v-if="visible&&showType==1" :isDrawerMode="true"
:details="selectedSpotData" :details="selectedSpotData"
@close="close" @save-success="handleSaveSuccess"></addOrder> @close="close" @save-success="handleSaveSuccess"></addOrder>
<editOPRemarks v-if="visible&&showType==2" :isDrawerMode="true"
:details="selectedSpotData"
@close="close" @save-success="handleSaveSuccess"></editOPRemarks>
</template> </template>
</pinkDrawer> </pinkDrawer>
</div> </div>
...@@ -2726,6 +2729,7 @@ ...@@ -2726,6 +2729,7 @@
import addOrder from './components/addOrder.vue'; import addOrder from './components/addOrder.vue';
import addConfig from "./components/addConfig.js"; import addConfig from "./components/addConfig.js";
import groupOrder from "./components/groupOrder.vue"; import groupOrder from "./components/groupOrder.vue";
import editOPRemarks from "./components/editOPRemarks.vue";
export default { export default {
data() { data() {
return { return {
...@@ -3080,6 +3084,7 @@ ...@@ -3080,6 +3084,7 @@
pinkDrawer, pinkDrawer,
addOrder, addOrder,
groupOrder, groupOrder,
editOPRemarks,
}, },
filters: { filters: {
priceFormat(value) { priceFormat(value) {
...@@ -3946,6 +3951,12 @@ ...@@ -3946,6 +3951,12 @@
this.showID = data; this.showID = data;
}, },
getRemarks(obj) { getRemarks(obj) {
if(this.userInfo.SimpleEasy&&this.userInfo.SimpleEasy==1){
this.showType = 2
this.selectedSpotData = obj;
this.$refs.addOrders.openDrawer(obj);
return;
}
// 华国豪5-5新增 // 华国豪5-5新增
if (moment().format("YYYY-MM-DD") >= obj.startDate) { if (moment().format("YYYY-MM-DD") >= obj.startDate) {
// 该团目前已是结团状态,不能随意修改备注信息,若强行修改备注,将会计入个人考核,是否确定修改备注信息? // 该团目前已是结团状态,不能随意修改备注信息,若强行修改备注,将会计入个人考核,是否确定修改备注信息?
...@@ -3977,7 +3988,7 @@ ...@@ -3977,7 +3988,7 @@
} }
}, },
getDetail(obj) { getDetail(obj) {
if(this.userInfo.SimpleEasy==1){ if(this.userInfo.SimpleEasy&&this.userInfo.SimpleEasy==1){
this.OperationType = 1 this.OperationType = 1
this.showType = 1 this.showType = 1
obj.OperationType = 1 obj.OperationType = 1
......
...@@ -608,7 +608,7 @@ ...@@ -608,7 +608,7 @@
</div> </div>
</div> </div>
<div class="c9e fz12"> <div class="c9e fz12">
<span v-if="userInfo.SimpleEasy==1">供应商:{{ item.SupplierModel.SupplierName+'/'+item.SupplierModel.CompanyPhone }} </span> <span v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1">供应商:{{ item.SupplierModel.SupplierName+'/'+item.SupplierModel.CompanyPhone }} </span>
<span v-else>{{$t('objFill.guestinfor')}}{{ item.GuestName }}<template v-if="item.MobilePhone">/{{ item.MobilePhone }}</template> </span> <span v-else>{{$t('objFill.guestinfor')}}{{ item.GuestName }}<template v-if="item.MobilePhone">/{{ item.MobilePhone }}</template> </span>
<template v-if="item.ContractNum&&item.ContractNum.length>0"> <template v-if="item.ContractNum&&item.ContractNum.length>0">
<template v-for="(sItem,sIndex) in item.ContractNum"> <template v-for="(sItem,sIndex) in item.ContractNum">
...@@ -618,7 +618,7 @@ ...@@ -618,7 +618,7 @@
<!-- <a v-else style="color:blue;cursor:pointer" @click="GoToContract(item,0)">{{$t('objFill.chujinghet')}}</a> --> <!-- <a v-else style="color:blue;cursor:pointer" @click="GoToContract(item,0)">{{$t('objFill.chujinghet')}}</a> -->
</div> </div>
<div class="row c9e fz12"> <div class="row c9e fz12">
<span class="mr" v-if="userInfo.SimpleEasy==1">OP:{{ item.AppointOPList.map(x=>x.OPName).join(',') }}</span> <span class="mr" v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1">OP:{{ item.AppointOPList.map(x=>x.OPName).join(',') }}</span>
<span class="mr" v-if="item.LureEmpName">{{$t('objFill.yinliuren')}}:{{ item.CreateByName }}</span> <span class="mr" v-if="item.LureEmpName">{{$t('objFill.yinliuren')}}:{{ item.CreateByName }}</span>
<span>{{$t('visaT.sale')}}:</span> <span>{{$t('visaT.sale')}}:</span>
<span class="mr"> <span class="mr">
...@@ -741,7 +741,7 @@ ...@@ -741,7 +741,7 @@
@click="CheckOutDetails(scope.row)"></i> @click="CheckOutDetails(scope.row)"></i>
</template> </template>
</el-table-column> --> </el-table-column> -->
<template slot="append" v-if="userInfo.SimpleEasy==1"> <template slot="append" v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1">
<div style="padding:10px;color:#f1416c"><ul style="display: flex; flex-wrap: wrap;">旅客名单: <div style="padding:10px;color:#f1416c"><ul style="display: flex; flex-wrap: wrap;">旅客名单:
<li v-for="(mitem,mindex) in item.OrderGuestList" :key="mindex" style="margin-left:10px"><el-tag size="mini">{{mitem.Name}}</el-tag></li> <li v-for="(mitem,mindex) in item.OrderGuestList" :key="mindex" style="margin-left:10px"><el-tag size="mini">{{mitem.Name}}</el-tag></li>
</ul></div> </ul></div>
......
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
<el-input v-model='msg.StartCityName'></el-input> <el-input v-model='msg.StartCityName'></el-input>
</li> </li>
<li> <li>
<input v-if="userInfo.SimpleEasy==1" type="button" class="normalBtn" value="新增机票" @click="AddAirTicket()" /> <input v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1" type="button" class="normalBtn" value="新增机票" @click="AddAirTicket()" />
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" <input type="button" class="normalBtn" :value="$t('pub.searchBtn')"
@click.stop="msg.pageIndex=1,currentPage=1,GetList()" /> @click.stop="msg.pageIndex=1,currentPage=1,GetList()" />
......
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