sunzehua 11 months ago
commit 902c72e50b

@ -72,6 +72,15 @@ export function BookingOrderSFQueryKDSchedule(parameter) {
params: parameter
})
}
// 打印面单根据快递订单Id读取相应的面单文件并返回
export function ExpressDeliveryPrintWaybill(parameter) {
return axios({
url: `/ExpressDelivery/PrintWaybill`,
method: 'get',
params: parameter
})
}
// -------------------------------------------------
/**
* 获取目的港映射

@ -4,40 +4,70 @@
<a-row class="HeaderBox" type="flex">
<a-col>
<div class="nav-box">
<div class="nav" @click="handleSubmit"><i class="iconfont icon-icon_baocun"></i>暂存</div>
<div class="nav" @click="handleSubmit('FnSendBooking')">
<i class="iconfont icon-icon_baocun"></i>暂存并提交
</div>
<div class="CutOff" v-if="type == 'Details'"></div>
<div class="nav" @click="handleSubmit('FnSendBooking')" v-if="type == 'Details'"></div>
<div class="CutOff" v-if="type == 'Details' && form.getFieldsValue().currentStateCode != 'DJY01'"></div>
<div
class="nav"
<a-button
type="link"
:class="!RDisabled()['暂存'] ? '' : 'nav'"
:disabled="!RDisabled()['暂存']"
@click="handleSubmit"
>
<i class="iconfont icon-icon_baocun"></i>暂存
</a-button>
<a-button
type="link"
:class="!RDisabled()['下单'] ? '' : 'nav'"
@click="handleSubmit('FnSendBooking')"
:disabled="!RDisabled()['下单']"
>
<i class="iconfont icon-icon_baocun"></i>下单
</a-button>
<a-button
type="link"
:class="!RDisabled()['打印面单'] ? '' : 'nav'"
@click="PrintFaceList"
:disabled="!RDisabled()['打印面单']"
>
<i class="iconfont icon-xiaopiaodayin"></i>打印面单
</a-button>
<a-button
type="link"
:class="!RDisabled()['刷新'] ? '' : 'nav'"
@click="FnRefresh"
:disabled="!RDisabled()['刷新']"
>
<i class="iconfont icon-shuaxin"></i>刷新
</a-button>
<div class="CutOff"></div>
<a-button
type="link"
@click="handleCancel"
v-if="type == 'Details' && form.getFieldsValue().currentStateCode != 'DJY01'"
:class="!RDisabled()['取消'] ? '' : 'nav'"
:disabled="!RDisabled()['取消']"
>
<i class="iconfont icon-return"></i>取消
</div>
</a-button>
</div>
</a-col>
</a-row>
<a-form :form="form" class="CsForm">
<a-row :style="{ marginTop: '10px' }">
<a-col :span="5">
<a-col :span="4">
<a-form-item
label="快递号:"
:labelCol="{ xs: { span: 25 }, sm: { span: 6 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 18 } }"
:labelCol="{ xs: { span: 25 }, sm: { span: 8 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 16 } }"
has-feedback
>
<a-input v-decorator="['kdno']" allowClear disabled />
</a-form-item>
</a-col>
<a-col :span="5">
<a-col :span="4">
<a-form-item
label="快递日期:"
:labelCol="{ xs: { span: 25 }, sm: { span: 6 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 18 } }"
:labelCol="{ xs: { span: 25 }, sm: { span: 8 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 16 } }"
has-feedback
>
<a-date-picker
@ -50,14 +80,14 @@
/>
</a-form-item>
</a-col>
<a-col :span="5">
<a-col :span="4">
<a-form-item
label="快递公司:"
:labelCol="{ xs: { span: 25 }, sm: { span: 6 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 18 } }"
:labelCol="{ xs: { span: 25 }, sm: { span: 8 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 16 } }"
has-feedback
>
<a-select v-decorator="['kdCompany']" allow-clear>
<a-select v-decorator="['kdCompany']" allow-clear :style="{ width: '100%' }">
<a-select-option v-for="item in kdCompanyData" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
@ -65,7 +95,16 @@
<!-- <a-input v-decorator="['kdCompany']" allowClear /> -->
</a-form-item>
</a-col>
<a-col :span="9">
<a-col :span="4">
<a-form-item
label="计费重量:"
:labelCol="{ xs: { span: 25 }, sm: { span: 8 } }"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 16 } }"
>
<a-input v-decorator="['feeWeight']" allowClear disabled />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item
label="快递状态:"
:labelCol="{ xs: { span: 25 }, sm: { span: 6 } }"
@ -88,6 +127,7 @@
<a-input v-decorator="['currentStateCode']" v-show="false" />
</a-form-item>
</a-col>
<!-- <a-col :span="4">
<a-form-item
label="快递类型:"
@ -354,7 +394,7 @@
<a-input-number :style="{ width: '100%' }" v-decorator="['kdNum']" allowClear :min="1" />
</a-form-item>
</a-col>
<a-col :span="5">
<!-- <a-col :span="5">
<a-form-item
label="快递费:"
:labelCol="{ xs: { span: 25 }, sm: { span: 6 } }"
@ -363,7 +403,7 @@
>
<a-input v-decorator="['kdFee']" allowClear />
</a-form-item>
</a-col>
</a-col> -->
<a-col :span="9">
<a-form-item
label="备注:"
@ -426,9 +466,18 @@
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<vxe-table class="firstTable" ref="xTable" border resizable show-overflow :data="feeListData">
<vxe-column field="feeTypeName" title="费用类型" :edit-render="{}"> </vxe-column>
<vxe-column field="feeAmount" title="费用金额" :edit-render="{}"> </vxe-column>
</vxe-table>
</a-col>
</a-row>
<p class="CsFormTitle">
<span><i class="iconfont icon-tuandui"></i>关联业务明细</span>
</p>
<a-row>
<a-col :span="24">
<vxe-toolbar>
@ -440,15 +489,15 @@
<vxe-table class="firstTable" ref="xTable" border resizable show-overflow :data="DetailData">
<!-- :edit-config="{ trigger: 'click', mode: 'row' }" -->
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="businessType" title="业务类型" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="businessType" title="业务类型" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="bsstatusname" title="业务状态" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="changeOrder" title="更改单" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="accounting" title="会计期间" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="changeOrder" title="更改单" :edit-render="{}" width="100"> </vxe-column> -->
<!-- <vxe-column field="accounting" title="会计期间" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="bsdate" title="业务日期" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="customername" title="委托单位" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="weituoCode" title="委托编码" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="weituoCode" title="委托编码" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="contractno" title="运费协议号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="fwContract" title="服务合同号" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="fwContract" title="服务合同号" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="mblno" title="主提单号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="hblno" title="分提单号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="etd" title="开船日期" :edit-render="{}" width="100"> </vxe-column>
@ -714,15 +763,15 @@
height="300"
>
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="businessType" title="业务类型" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="businessType" title="业务类型" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="bsstatusname" title="业务状态" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="changeOrder" title="更改单" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="accounting" title="会计期间" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="changeOrder" title="更改单" :edit-render="{}" width="100"> </vxe-column> -->
<!-- <vxe-column field="accounting" title="会计期间" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="bsdate" title="业务日期" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="customername" title="委托单位" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="weituoCode" title="委托编码" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="weituoCode" title="委托编码" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="contractno" title="运费协议号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="fwContract" title="服务合同号" :edit-render="{}" width="100"> </vxe-column>
<!-- <vxe-column field="fwContract" title="服务合同号" :edit-render="{}" width="100"> </vxe-column> -->
<vxe-column field="mblno" title="主提单号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="hblno" title="分提单号" :edit-render="{}" width="100"> </vxe-column>
<vxe-column field="etd" title="开船日期" :edit-render="{}" width="100"> </vxe-column>
@ -754,12 +803,15 @@ import {
BookingOrderSFGet,
BookingOrderSFSendBooking,
commondbCodeProvinceList,
commondbCodeCityList
commondbCodeCityList,
ExpressDeliveryPrintWaybill
} from '@/api/modular/main/ExpressModule'
import { ExpressDeliveryGetAddressList } from '@/api/modular/main/ExpressTemplate'
import { PageDataByBooking } from '@/api/modular/main/BookingLedger'
import { MonthlyPayAccountList } from '@/api/modular/main/ExpressMonthlyPay'
import AAutoComplete from 'ant-design-vue/es/auto-complete'
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
export default {
components: {
// addForm,
@ -917,6 +969,7 @@ export default {
BusinessData: [],
BusinessLoading: false,
DetailData: [],
feeListData: [],
ProvinceData: [],
sjCityData: [],
fjCityData: [],
@ -988,7 +1041,51 @@ export default {
// value: str.repeat(repeat)
// }
// },
RDisabled() {
let Obj = {
暂存: false,
下单: false,
打印面单: false,
刷新: false,
取消: false
}
let currentStateCode = this.form.getFieldsValue().currentStateCode
switch (currentStateCode) {
case 'DJY01':
Obj['暂存'] = true
break
case 'DJY02':
Obj['暂存'] = true
Obj['下单'] = true
Obj['刷新'] = true
break
case 'DJY03':
Obj['取消'] = true
Obj['刷新'] = true
Obj['打印面单'] = true
break
case 'DJY04':
Obj['刷新'] = true
Obj['打印面单'] = true
break
default:
Obj['取消'] = true
Obj['刷新'] = true
Obj['打印面单'] = true
break
}
if (!this.form.getFieldsValue().id && !this.id) {
Obj = {
暂存: true,
下单: false,
打印面单: false,
刷新: false,
取消: false
}
}
return Obj
},
monthlyCardDataBSearch(value) {
let Arr = []
this.monthlyCardData.forEach(item => {
@ -1073,11 +1170,20 @@ export default {
this.PeopleData = res.data
this.PeopleDataFj = []
this.PeopleDataSj = []
this.PeopleDataFjB = []
this.PeopleDataSjB = []
res.data.forEach(item => {
if (item.type == 1) {
this.PeopleDataSj.push(item)
console.log(item)
if (item.people) {
this.PeopleDataSjB.push(item.people)
}
} else if (item.type == 2) {
this.PeopleDataFj.push(item)
if (item.people) {
this.PeopleDataFjB.push(item.people)
}
}
})
})
@ -1165,6 +1271,71 @@ export default {
}
})
},
FnRefresh() {
this.confirmLoading = true
BookingOrderSFGet({ id: this.id }).then(res => {
if (res.success) {
if (res.data.id != 0) {
setTimeout(() => {
console.log(res.data)
let Data = { ...res.data }
if (this.type == 'Copy') {
delete Data.id
delete Data.kdno
delete Data.createdUserId
delete Data.createdTime
delete Data.createdUserName
delete Data.pId
delete Data.tenantId
delete Data.WebKey
delete Data.currentStateCode
delete Data.currentStateDesc
this.id = ''
let DataArr = []
Data.business.forEach(item => {
delete item.id
delete item.pId
DataArr.push(item)
})
Data.business = DataArr
}
if (Data.feeList) {
this.feeListData = Data.feeList
}
this.form.setFieldsValue({
...Data
})
this.RDisabled()
this.DetailData = res.data.business
res.data.business.forEach((item, index) => {
item.WebKey = index + 1
})
this.confirmLoading = false
}, 100)
} else {
this.confirmLoading = false
}
} else {
this.$message.error(res.message)
this.confirmLoading = false
}
})
},
PrintFaceList() {
const url = `http://60.209.125.238:35100/ExpressDelivery/PrintWaybill?orderId=${
this.id
}&authorization=${Vue.ls.get(ACCESS_TOKEN)}`
const openObj = window.open(url)
const loop = setInterval(() => {
if (win.closed) {
clearInterval(loop)
} else {
openObj.document.title = '面单打印'
}
}, 1000)
},
/**
* 提交表单
*/
@ -1203,6 +1374,9 @@ export default {
BookingOrderSFSave({ ...values, id: this.id }).then(res => {
if (res.success) {
this.$message.success('保存成功')
this.form.setFieldsValue({
...res.data
})
if (FnType == 'FnSendBooking') {
BookingOrderSFSendBooking({ Id: this.id }).then(res => {
if (res.success) {
@ -1212,17 +1386,22 @@ export default {
...this.form.getFieldsValue(),
...res.extras
})
this.confirmLoading = false
this.PrintFaceList()
}, 100)
} else {
this.confirmLoading = false
this.$message.error(`发送失败,${res.message}`)
}
})
} else {
this.confirmLoading = false
}
// this.type = 'Details'
} else {
this.confirmLoading = false
this.$message.error(res.message)
}
this.confirmLoading = false
})
} else {
console.log(this.type)
@ -1261,16 +1440,15 @@ export default {
BookingOrderSFSave(values)
.then(res => {
if (res.success) {
this.$message.success('新增成功')
console.log(res.data)
this.$message.success('保存成功')
this.type = 'Details'
this.id = res.data.result.id
this.id = res.data.id
this.WebId = ''
this.Ids = ''
setTimeout(() => {
this.form.setFieldsValue({
...res.data.result
})
}, 100)
this.form.setFieldsValue({
...res.data
})
} else {
this.$message.error(res.message)
}
@ -1286,15 +1464,19 @@ export default {
})
},
handleCancel() {
this.confirmLoading = true
BookingOrderSFCancelBooking({ Id: this.id }).then(res => {
if (res.success) {
this.$message.success(res.data)
this.form.setFieldsValue({
...this.form.getFieldsValue(),
currentStateCode: 'DJY04',
currentStateDesc: '快递已消单'
})
this.confirmLoading = false
} else {
this.confirmLoading = false
this.$message.error(res.message)
}
})
@ -1338,17 +1520,33 @@ export default {
delete Data.pId
delete Data.tenantId
delete Data.WebKey
delete Data.currentStateCode
delete Data.currentStateDesc
this.id = ''
let DataArr = []
Data.business.forEach(item => {
delete item.id
delete item.pId
DataArr.push(item)
})
Data.business = DataArr
}
console.log(Data)
if (Data.feeList) {
this.feeListData = Data.feeList
}
this.form.setFieldsValue({
...Data
})
console.log(213)
this.RDisabled()
this.DetailData = res.data.business
res.data.business.forEach((item, index) => {
item.WebKey = index + 1
})
res.data.detail.forEach((item, index) => {
item.WebKey = index + 1
})
// res.data.detail.forEach((item, index) => {
// item.WebKey = index + 1
// })
}, 100)
}
})
@ -1451,20 +1649,6 @@ export default {
}
})
this.$refs.xTable2.clearCheckboxRow()
// if (!this.BusinessDataBackup) {
// this.BusinessDataBackup = []
// }
// console.log(
// this.BusinessDataBackup,
// this.BusinessDataBackup.length ? this.BusinessDataBackup[this.BusinessDataBackup.length - 1].WebKey + 1 : 1
// )
// this.BusinessDataBackup.push({
// WebKey: this.BusinessDataBackup.length
// ? this.BusinessDataBackup[this.BusinessDataBackup.length - 1].WebKey + 1
// : 1,
// dispatchStatus: '0'
// })
// this.BusinessData = this.BusinessDataBackup
}
}
}

@ -49,7 +49,7 @@
<a-input v-model="queryParam.FJTel" allow-clear placeholder="请输入发件电话" />
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<!-- <a-col :md="6" :sm="24">
<a-form-item label="船名:">
<a-input v-model="queryParam.VESSEL" allow-clear placeholder="请输入船名" />
</a-form-item>
@ -58,7 +58,7 @@
<a-form-item label="航次:">
<a-input v-model="queryParam.VOYNO" allow-clear placeholder="请输入航次" />
</a-form-item>
</a-col>
</a-col> -->
</a-row>
</a-col>
<a-col :md="6" :sm="24">
@ -131,9 +131,9 @@
<vxe-button type="text" @click="FnGoDetails(row)">
<a-icon type="form" :style="{ color: '#13c2c2' }" />
</vxe-button>
<vxe-button type="text" @click="FnKdSchedule(row)">
<!-- <vxe-button type="text" @click="FnKdSchedule(row)">
<a-icon type="compass" :style="{ color: '#13c2c2' }" />
</vxe-button>
</vxe-button> -->
</template>
</vxe-column>
</vxe-table>
@ -402,25 +402,25 @@ export default {
})
},
FnDelete() {
let Ids
let selectRecords = this.$refs.xTable1.getCheckboxRecords()
let Api = (data, num) => {
console.log(data[num])
BookingOrderSFDelete({ Ids: data[num].id }).then(res => {
console.log(res)
selectRecords.forEach((item, index) => {
if (index == 0) {
Ids = item.id
} else {
Ids = `${Ids},${item.id}`
}
})
if (selectRecords.length) {
BookingOrderSFDelete({ Ids: Ids }).then(res => {
if (res.code == 204) {
if (selectRecords.length > num + 1) {
Api(data, num + 1)
} else if (selectRecords.length == num + 1) {
this.$message.success('已完成删除')
this.FnGetData()
}
this.$message.success('已完成删除')
this.FnGetData()
} else {
this.$message.warning(res.message)
}
})
}
if (selectRecords.length) {
Api(selectRecords, 0)
} else {
this.$message.warning('请至少选择一条数据')
}

Loading…
Cancel
Save