运营端

master
sunzehua 7 months ago
parent 53d1d1f2cb
commit 21c0e2e966

12
.env

@ -1,7 +1,7 @@
NODE_ENV=production NODE_ENV=production
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' VUE_APP_TYPE = 'customer'
VUE_APP_TYPE = 'hechuan' # VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端djy # 打包部署的三个端 客户端customer 和川端hechuan 运营端djy
@ -11,8 +11,8 @@ VUE_APP_TYPE = 'hechuan'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
VUE_APP_API_BASE_URL=http://60.209.125.238:35100 # VUE_APP_API_BASE_URL=http://60.209.125.238:35100
VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100 # VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试 # 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813 # VUE_APP_API_BASE_URL=http://60.209.125.238:30813
@ -27,8 +27,8 @@ VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 客户端正式 # 客户端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6001 VUE_APP_API_BASE_URL=http://118.190.144.189:6001
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6001 VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6001
# 运营端正式 # 运营端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6002 # VUE_APP_API_BASE_URL=http://118.190.144.189:6002

@ -2,8 +2,8 @@ NODE_ENV=development
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' # VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' VUE_APP_TYPE = 'yunyingduan'
VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan # 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan
# 和川大简云正式 # 和川大简云正式
@ -11,16 +11,16 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
VUE_APP_API_BASE_URL=http://60.209.125.238:35100 # VUE_APP_API_BASE_URL=http://60.209.125.238:35100
VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100 # VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试 # 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813 # VUE_APP_API_BASE_URL=http://60.209.125.238:30813
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30813 # VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30813
# 运营端测试 # 运营端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30814 VUE_APP_API_BASE_URL=http://60.209.125.238:30814
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814 VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814
# VUE_APP_API_BASE_URL=http://192.168.0.80:7373/ # VUE_APP_API_BASE_URL=http://192.168.0.80:7373/
# VUE_APP_SOCKET_BASE_URL=http://192.168.0.80:7373/ # VUE_APP_SOCKET_BASE_URL=http://192.168.0.80:7373/

@ -1573,3 +1573,11 @@ export function CancelServiceStatusIfram(parameter) {
data: parameter data: parameter
}) })
} }
export function PostApiSO(parameter) {
return axios({
url: '/BookingCustomerOrder/PostApiSO',
method: 'post',
params: parameter
})
}

@ -550,3 +550,10 @@ export function ReCompareResult(parameter) {
}) })
} }
export function GetBookingOrder(parameter) {
return axios({
url: '/TaskManageBC/GetBookingOrder',
method: 'get',
params: parameter
})
}

@ -1539,13 +1539,6 @@ export default {
BookingCustomerOrderGet(data).then(res => { BookingCustomerOrderGet(data).then(res => {
if (res.success) { if (res.success) {
this.statusLoading = false this.statusLoading = false
res.data.logList.forEach(item => {
const arr = item.status.split('')
item.status = arr[0]
if (arr.length > 1) {
item.remark = arr[1].slice(5, arr[1].length)
}
})
this.statusList = res.data.logList this.statusList = res.data.logList
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)

@ -3,6 +3,7 @@
<div class="btn-list"> <div class="btn-list">
<a-button :loading="autioLoading" @click="handleAccept" v-if="details.bsstatus !== '已审核'" type="primary"></a-button> <a-button :loading="autioLoading" @click="handleAccept" v-if="details.bsstatus !== '已审核'" type="primary"></a-button>
<a-button :loading="autioLoading" type="primary" v-if="details.bsstatus == '已接收'" @click="handleAutio"></a-button> <a-button :loading="autioLoading" type="primary" v-if="details.bsstatus == '已接收'" @click="handleAutio"></a-button>
<a-button :loading="sendLoading" type="primary" @click="handleSendApi">API</a-button>
<span v-if="details.bookingno" style="margin: 0 10px;">:</span> <span v-if="details.bookingno" style="margin: 0 10px;">:</span>
<span v-if="details.bookingno">{{ details.bookingno }}</span> <span v-if="details.bookingno">{{ details.bookingno }}</span>
</div> </div>
@ -139,6 +140,17 @@
<span>{{ details.saleCode }}</span> <span>{{ details.saleCode }}</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="'4-8'">
<a-form-model-item
class="from-label"
label="船司航线"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="lanecode">
<span>{{ details.lanecode }}</span>
</a-form-model-item>
</a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
@ -509,11 +521,12 @@ import selectView from '../../BookingLedger/detail/components/selectView'
import datePickerView from '../../BookingLedger/detail/components/datePickerView' import datePickerView from '../../BookingLedger/detail/components/datePickerView'
import autoView from '../../BookingLedger/detail/components/autoView' import autoView from '../../BookingLedger/detail/components/autoView'
import textareaView from '../../BookingLedger/detail/components/textareaView' import textareaView from '../../BookingLedger/detail/components/textareaView'
import { UploadTempFile, BookingCustomerOrderGetFile } from '@/api/modular/system/fileManage' import { BookingCustomerOrderGetFile } from '@/api/modular/system/fileManage'
import { import {
BookingCustomerOrderSave, BookingTemplateAdd, BookingCustomerOrderGet, BookingCustomerOrderGet,
BookingCustomerOrderDelete, BookingCustomerOrderSubmit, BookingCustomerOrderSubmit,
BookingCustomerOrderCancelSubmit, BookingCustomerOrderAuditBooking BookingCustomerOrderAuditBooking,
PostApiSO
} from '@/api/modular/main/BookingLedger' } from '@/api/modular/main/BookingLedger'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
@ -552,6 +565,7 @@ export default {
textEntryModalVisible: false, textEntryModalVisible: false,
textEntryModalTitle: '', textEntryModalTitle: '',
historyData: {}, historyData: {},
sendLoading:false,
textEntryType: '', textEntryType: '',
pkgstotalRes: 0, pkgstotalRes: 0,
modelTitle: '', modelTitle: '',
@ -608,7 +622,17 @@ export default {
this.getDetail() this.getDetail()
} }
}, },
handleSendApi() {
this.sendLoading = true
PostApiSO({ id: this.$route.query.id }).then(res => {
if (res.success) {
this.$message.success('操作成功')
} else {
this.$message.error(res.message)
}
this.sendLoading = false
})
},
handleAutio() { handleAutio() {
this.autioFlag = true this.autioFlag = true
}, },

@ -1478,13 +1478,6 @@ export default {
BookingCustomerOrderGet(data).then(res => { BookingCustomerOrderGet(data).then(res => {
if (res.success) { if (res.success) {
this.statusLoading = false this.statusLoading = false
res.data.logList.forEach(item => {
const arr = item.status.split('')
item.status = arr[0]
if (arr.length > 1) {
item.remark = arr[1].slice(5, arr[1].length)
}
})
this.statusList = res.data.logList this.statusList = res.data.logList
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)

@ -5,7 +5,8 @@
<a-col :span="pdfUrl ? 11 : 24"> <a-col :span="pdfUrl ? 11 : 24">
<div class="LeftHead"> <div class="LeftHead">
<p>Booking Amendment{{ form.carrierId }} <p>Booking Amendment{{ form.carrierId }}
<a-icon @click="reload" type="reload" style="cursor: pointer;"></a-icon></p> <a-icon @click="reload" type="reload" style="cursor: pointer;"></a-icon>
</p>
<p>订舱时间{{ form.bookingConfirmDate }}</p> <p>订舱时间{{ form.bookingConfirmDate }}</p>
</div> </div>
<a-form class="Editing"> <a-form class="Editing">
@ -235,7 +236,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<span class="CsSee" v-if="form.bookingSlotId" @click="FnSee"></span> <span class="CsSee" v-if="form.bookingSlotId" @click="FnSee1"></span>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<a-form-item <a-form-item
@ -334,8 +335,12 @@
</a-col> </a-col>
</a-row> </a-row>
</a-spin> </a-spin>
<a-modal v-model="visible" title="生成方式选择" @ok="handleOk" width="40%"> <a-modal v-model="visible" title="生成方式选择" @ok="handleOk" width="800px">
<a-spin :spinning="openLoading">
<a-radio-group v-model="CreateData.generateMethod"> <a-radio-group v-model="CreateData.generateMethod">
<a-radio value="UPD_BOOKING">
更新订舱
</a-radio>
<a-radio value="GEN_BOOKING_SLOT"> <a-radio value="GEN_BOOKING_SLOT">
直接生成舱位和订舱 直接生成舱位和订舱
</a-radio> </a-radio>
@ -354,7 +359,10 @@
<a-form class="Editing"> <a-form class="Editing">
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<a-form-item label="委托单位:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3"> <a-form-item
label="委托单位:"
:label-col="formItemLayout.labelCol3"
:wrapper-col="formItemLayout.wrapperCol3">
<a-select <a-select
show-search show-search
v-model="CreateData.customerId" v-model="CreateData.customerId"
@ -380,8 +388,7 @@
:show-arrow="false" :show-arrow="false"
:filter-option="false" :filter-option="false"
:not-found-content="null" :not-found-content="null"
@search="SearchUser" @search="SearchUser">
>
<a-select-option v-for="item in customerByList" :key="item.id" :value="item.id"> <a-select-option v-for="item in customerByList" :key="item.id" :value="item.id">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
@ -456,14 +463,14 @@
<a-form-item label="客服:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2"> <a-form-item label="客服:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2">
<a-select <a-select
show-search show-search
v-model="CreateData.custserviceId" v-model="CreateData.custServiceId"
:default-active-first-option="false" :default-active-first-option="false"
:show-arrow="false" :show-arrow="false"
:filter-option="false" :filter-option="false"
:not-found-content="null" :not-found-content="null"
@search="SearchUser" @search="SearchUser"
@change="e => { @change="e => {
ChangeUser(e, 'custserviceName') ChangeUser(e, 'custServiceName')
} }
"> ">
<a-select-option v-for="item in UserList" :key="item.id" :value="item.id"> <a-select-option v-for="item in UserList" :key="item.id" :value="item.id">
@ -473,7 +480,10 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="航线操作:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2"> <a-form-item
label="航线操作:"
:label-col="formItemLayout.labelCol2"
:wrapper-col="formItemLayout.wrapperCol2">
<a-select <a-select
show-search show-search
v-model="CreateData.routeID" v-model="CreateData.routeID"
@ -493,7 +503,10 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="航线管理:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2"> <a-form-item
label="航线管理:"
:label-col="formItemLayout.labelCol2"
:wrapper-col="formItemLayout.wrapperCol2">
<a-select <a-select
show-search show-search
v-model="CreateData.lineManageID" v-model="CreateData.lineManageID"
@ -515,21 +528,30 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<a-form-item label="操作备注:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3"> <a-form-item
label="操作备注:"
:label-col="formItemLayout.labelCol3"
:wrapper-col="formItemLayout.wrapperCol3">
<a-input v-model="CreateData.czRemark" /> <a-input v-model="CreateData.czRemark" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<a-form-item label="申请箱使:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3"> <a-form-item
label="申请箱使:"
:label-col="formItemLayout.labelCol3"
:wrapper-col="formItemLayout.wrapperCol3">
<a-input v-model="CreateData.shenQingXiangShi" /> <a-input v-model="CreateData.shenQingXiangShi" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<a-form-item label="服务项目:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3"> <a-form-item
label="服务项目:"
:label-col="formItemLayout.labelCol3"
:wrapper-col="formItemLayout.wrapperCol3">
<div class="content"> <div class="content">
<div <div
class="items" class="items"
@ -544,6 +566,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</a-spin>
</a-modal> </a-modal>
<a-modal v-model="UserVisible" title="转移任务" @ok="UserhandleOk"> <a-modal v-model="UserVisible" title="转移任务" @ok="UserhandleOk">
<a-form> <a-form>
@ -584,7 +607,8 @@ import {
TaskManageBCSendEmai1, TaskManageBCSendEmai1,
TaskManageBCGetCompareResult, TaskManageBCGetCompareResult,
BcSearchAndConnectBookingInfo, BcSearchAndConnectBookingInfo,
ReCompareResult ReCompareResult,
GetBookingOrder
} from '@/api/modular/main/TaskmanageList' } from '@/api/modular/main/TaskmanageList'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { DjyCustomerSuggest, GetSysUserPage, DjyCustomerContacts } from '@/api/modular/main/BookingLedger' import { DjyCustomerSuggest, GetSysUserPage, DjyCustomerContacts } from '@/api/modular/main/BookingLedger'
@ -596,6 +620,7 @@ export default {
UserId: '', UserId: '',
value: '', value: '',
customerByList: [], customerByList: [],
openLoading: false,
compareResultFlag: false, compareResultFlag: false,
formItemLayout: { formItemLayout: {
labelCol1: { span: 6 }, labelCol1: { span: 6 },
@ -819,6 +844,9 @@ export default {
FnSee() { FnSee() {
this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId }) this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId })
}, },
FnSee1() {
this.$router.push({ path: '/CabinManagementDetails?type=Edit&id=' + this.form.bookingSlotId })
},
FnCompleteTask() { FnCompleteTask() {
const ApiData = [this.$route.query.taskPKId] const ApiData = [this.$route.query.taskPKId]
CompleteTask(ApiData).then(res => { CompleteTask(ApiData).then(res => {
@ -854,18 +882,25 @@ export default {
data.isYield = !data.isYield data.isYield = !data.isYield
}, },
OpenModal() { OpenModal() {
this.visible = true
this.openLoading = true
GetBookingOrder({ taskPkId: this.$route.query.taskPKId }).then(res => {
if (res.data.ext) {
this.CreateData = { this.CreateData = {
generateMethod: 'GEN_BOOKING', generateMethod: 'UPD_BOOKING',
customerList: [],
isDirectSend: false,
...res.data.ext
}
} else {
this.CreateData = {
generateMethod: 'UPD_BOOKING',
customerList: [], customerList: [],
isDirectSend: false isDirectSend: false
} }
this.UserList.forEach(item => {
if (item.id == this.userInfo.id) {
this.CreateData.opId = item.id
this.CreateData.opName = item.name
} }
this.openLoading = false
}) })
this.visible = true
}, },
getList() { getList() {
this.spinning = true this.spinning = true
@ -907,18 +942,6 @@ export default {
this.CustomerList = res.data.rows this.CustomerList = res.data.rows
}) })
}, },
OpenModal() {
this.CreateData = {
generateMethod: 'GEN_BOOKING_SLOT'
}
this.UserList.forEach(item => {
if (item.id == this.userInfo.id) {
this.CreateData.opId = item.id
this.CreateData.opName = item.name
}
})
this.visible = true
},
OpenUser() { OpenUser() {
this.UserId = '' this.UserId = ''
this.UserVisible = true this.UserVisible = true

@ -207,7 +207,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<span class="CsSee" v-if="form.bookingSlotId" @click="FnSee"></span> <span class="CsSee" v-if="form.bookingSlotId" @click="FnSee1"></span>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<a-form-item <a-form-item
@ -699,6 +699,9 @@ export default {
FnSee() { FnSee() {
this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId }) this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId })
}, },
FnSee1() {
this.$router.push({ path: '/CabinManagementDetails?type=Edit&id=' + this.form.bookingSlotId })
},
FnCompleteTask() { FnCompleteTask() {
const ApiData = [this.$route.query.taskPKId] const ApiData = [this.$route.query.taskPKId]
CompleteTask(ApiData).then(res => { CompleteTask(ApiData).then(res => {

@ -206,7 +206,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<span class="CsSee" v-if="form.bookingSlotId" @click="FnSee"></span> <span class="CsSee" v-if="form.bookingSlotId" @click="FnSee1"></span>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<a-form-item <a-form-item
@ -723,6 +723,9 @@
}, },
FnSee() { FnSee() {
this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId }) this.$router.push({ path: '/BookingDetail?id=' + this.form.bookingOrderId })
},
FnSee1() {
this.$router.push({ path: '/CabinManagementDetails?type=Edit&id=' + this.form.bookingSlotId })
}, },
FnCompleteTask() { FnCompleteTask() {
const ApiData = [this.$route.query.taskPKId] const ApiData = [this.$route.query.taskPKId]

@ -74,6 +74,18 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="8">
<a-form-model-item class="strong" label="合约号">
<a-input size="small" v-model="form.contractNO" />
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item class="strong" label="订舱账号">
<a-input size="small" v-model="form.bookingAccount" />
</a-form-model-item>
</a-col>
</a-row>
<div style="margin: 20px 0;margin-left: 10px;"> <div style="margin: 20px 0;margin-left: 10px;">
<span style="font-size: 14px;font-weight: bold;color: black;">船期匹配优先级</span> <span style="font-size: 14px;font-weight: bold;color: black;">船期匹配优先级</span>
<span>(船舶路径默认直达优先航程默认最短优先离港日期默认最早优先预抵日期默认最早优先)</span> <span>(船舶路径默认直达优先航程默认最短优先离港日期默认最早优先预抵日期默认最早优先)</span>

Loading…
Cancel
Save