Commit e1275214 authored by 我在何方's avatar 我在何方
parents bd956fd8 b212e0fe
...@@ -255,3 +255,22 @@ export function getMergeTagById(id) { ...@@ -255,3 +255,22 @@ export function getMergeTagById(id) {
/***************************** 合包 end **********************************/ /***************************** 合包 end **********************************/
/***************************** 起运 start *******************************/
export function takeoffCreate(data) {
if (data.id) {
return request({
url: "/ecw/box-air-fly/update",
method: "put",
data,
});
}
return request({
url: "/ecw/box-air-fly/create",
method: "post",
data,
});
}
/***************************** 起运 end *******************************/
...@@ -224,6 +224,7 @@ export const DICT_TYPE = { ...@@ -224,6 +224,7 @@ export const DICT_TYPE = {
BOX_ARRIVAL_ERROR_TYPE: "arrival_error_type",// 到港异常状态 BOX_ARRIVAL_ERROR_TYPE: "arrival_error_type",// 到港异常状态
APP_TYPE:"app_type", //系统类型 APP_TYPE:"app_type", //系统类型
AIR_SHIPMENT_PROCESS:'air_shipment_process'
} }
/** /**
......
...@@ -10,6 +10,7 @@ export function checkPermi(value) { ...@@ -10,6 +10,7 @@ export function checkPermi(value) {
const permissions = store.getters && store.getters.permissions const permissions = store.getters && store.getters.permissions
const permissionDatas = value const permissionDatas = value
const all_permission = "*:*:*"; const all_permission = "*:*:*";
console.log(permissionDatas)
const hasPermission = permissions.some(permission => { const hasPermission = permissions.some(permission => {
return all_permission === permission || permissionDatas.includes(permission) return all_permission === permission || permissionDatas.includes(permission)
......
<template> <template>
<div> <div>
<el-form ref="arrivalForm" :rules="rules" :model="arrivalObj" label-width="120px"> <el-form ref="arrivalForm" :rules="rules" :model="airArrivalInfo" label-width="120px">
<el-form-item :label="$t('预计到港时间')">{{getExpectedTime()}}</el-form-item> <!-- <el-form-item :label="$t('预计到港时间')">{{getExpectedTime()}}</el-form-item>
<el-form-item :label="$t('实际到港时间')" prop="apRealTime"> <el-form-item :label="$t('实际到港时间')" prop="apRealTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apRealTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apRealTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
...@@ -9,10 +9,19 @@ ...@@ -9,10 +9,19 @@
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apConfirmTime" value-format="yyyy-MM-dd HH:mm:ss"> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apConfirmTime" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> </el-date-picker>
<p class="message-area" v-show="showMsg">{{$t('请确认是否有异常,如有异常请进行异常登记')}}</p> <p class="message-area" v-show="showMsg">{{$t('请确认是否有异常,如有异常请进行异常登记')}}</p>
</el-form-item> -->
<el-form-item :label="$t('实际二程起飞时间')" prop="actSecondTime" v-show="this.$attrs.shipmentObj.bookAirInfo.voyage">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('预计到港时间')" prop="estTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.estTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('卸港时间')"> <el-form-item :label="$t('实际到港时间')" prop="actTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apUnloadPortTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
...@@ -32,7 +41,7 @@ ...@@ -32,7 +41,7 @@
<script> <script>
import regError from "../../regError"; import regError from "../../regError";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { arrivalCreate } from "@/api/ecw/boxSea"; import { arrivalCreate } from "@/api/ecw/boxSeaAir";
import { formatDateStr, serviceMsg } from "../utils"; import { formatDateStr, serviceMsg } from "../utils";
/** /**
...@@ -47,12 +56,15 @@ export default { ...@@ -47,12 +56,15 @@ export default {
data() { data() {
return { return {
// 到港对象 // 到港对象
arrivalObj: {}, airArrivalInfo: {},
// 校验 // 校验
rules: { rules: {
apRealTime: [ actSecondTime: [
{ required: true, message: this.$t("必填"), trigger: "change" }, { required: true, message: this.$t("必填"), trigger: "change" },
], ],
actTime: [
{ required: true, message: this.$t("必填"), trigger: "change" },
]
}, },
// 弹窗配置 // 弹窗配置
dialogVisible: false, dialogVisible: false,
...@@ -68,16 +80,23 @@ export default { ...@@ -68,16 +80,23 @@ export default {
let oldData = { ...this.$attrs.shipmentObj[voName] }; let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr( oldData = formatDateStr(
oldData, oldData,
["apRealTime", "apConfirmTime"], ["actSecondTime", "estTime", "actTime"],
"YYYY-MM-DD HH:mm:ss" "YYYY-MM-DD HH:mm:ss"
); );
oldData = formatDateStr(oldData, ["apUnloadPortTime"]); this.airArrivalInfo = oldData;
this.arrivalObj = oldData;
}, },
watch: { watch: {
// 确认到港时间 // 实际二程起飞时间
"arrivalObj.apConfirmTime"(val) { "airArrivalInfo.actSecondTime"(val) {
this.compareDate(this.getExpectedTime(), val); this.compareDate(this.getHeadTravelTime(), val);
},
"airArrivalInfo.estTime"(val) {
this.compareDate(this.airArrivalInfo.actTime, val);
},
"airArrivalInfo.actTime"(val) {
this.compareDate(this.airArrivalInfo.estTime, val);
}, },
}, },
methods: { methods: {
...@@ -88,10 +107,10 @@ export default { ...@@ -88,10 +107,10 @@ export default {
} }
}, },
// 获取预计到港时间 // 获取预计到港时间
getExpectedTime() { getHeadTravelTime() {
const { shippingInfo } = this.$attrs.shipmentObj; const { shippingInfo } = this.$attrs.shipmentObj;
if (shippingInfo) { if (shippingInfo) {
return dayjs(shippingInfo.dtEstArrivalTime).format( return dayjs(shippingInfo.realHeadTravelTime).format(
"YYYY-MM-DD HH:mm:ss" "YYYY-MM-DD HH:mm:ss"
); );
} }
...@@ -120,7 +139,7 @@ export default { ...@@ -120,7 +139,7 @@ export default {
this.$refs["arrivalForm"].validate((valid) => { this.$refs["arrivalForm"].validate((valid) => {
if (valid) { if (valid) {
arrivalCreate({ arrivalCreate({
...this.arrivalObj, ...this.airArrivalInfo,
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
operateType, operateType,
}).then((res) => { }).then((res) => {
......
<template> <template>
<div> <div>
<el-form ref="cusClearanceForm" :rules="rules" :model="cusClearanceObj" label-width="120px"> <el-form ref="cusClearanceForm" :rules="rules" :model="cusClearanceObj" label-width="120px">
<el-form-item :label="$t('清关代理')">{{getClAgent('label')}}</el-form-item> <!-- <el-form-item :label="$t('清关代理')">{{getClAgent('label')}}</el-form-item> -->
<el-form-item :label="$t('预计清关时间')" prop="clEstTime"> <el-form-item :label="$t('预计清关时间')" prop="clEstTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusClearanceObj.clEstTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusClearanceObj.clEstTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
<pkg-page v-if="pkgPageType == 2" :pkgData="pkgData" :shipmentObj="shipmentObj" @closeDialog="closeDialog" /> <pkg-page v-if="pkgPageType == 2" :pkgData="pkgData" :shipmentObj="shipmentObj" @closeDialog="closeDialog" />
</el-dialog> </el-dialog>
<!-- 打印标签 --> <!-- 打印标签 -->
<el-dialog :title="$t('集运封箱标签')" :visible.sync="printdialogVisible" width="300px" :modal-append-to-body="false" append-to-body> <el-dialog :title="$t('集运封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body>
<print-tag v-if="printdialogVisible" :tagData="tagData" /> <print-tag v-if="printdialogVisible" :tagData="tagData" />
</el-dialog> </el-dialog>
......
<template> <template>
<div> <div>
<div class="tag"> <div class="tag">
<div style="display: flex;height: 200px;"> <div style="display: flex;height: 180px;">
<div style="border-right: 1px solid #999; width: 125px"> <div style="border-right: 1px solid #999; width: 140px">
<div> <div>
<p style="margin-top: 1mm; text-align: center"> <p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 3mm">{{ $t('扫码查看产品数量') }}</span> <span style="text-align: center; font-weight: 600; font-size: 3mm">{{ $t('扫码查看产品数量') }}</span>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</p> </p>
</div> </div>
</div> </div>
<div style="width: 125px"> <div style="width: 140px">
<p style="margin-top: 1mm; text-align: center"> <p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">EC001141212</span> <span style="text-align: center; font-weight: 600; font-size: 4mm">EC001141212</span>
</p> </p>
...@@ -27,29 +27,30 @@ ...@@ -27,29 +27,30 @@
</p> </p>
<div style="border: 1px solid #999;margin-left: 10px;" /> <div style="border: 1px solid #999;margin-left: 10px;" />
<div style="display: flex;margin-top: 10px;"> <div style="display: flex;margin-top: 10px;">
<div style="border-right: 2px solid #999;width: 35px;"> <div style="border-right: 2px solid #999;width: 45px;">
<p style="margin-top: 1mm; text-align: center"> <p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.transportName }}</span> <span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.transportName }}</span>
</p> </p>
</div> </div>
<div style="width: 75px;"> <div style="width: 90px;">
<p style="margin-top: 1mm; text-align: center"> <p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 3mm">{{ tagData.date }}</span> <span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.date }}</span>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div style="border: 1px solid #999;margin: 10px;" />
<div> <div>
<!-- <img :src="tagData.qrCodeUrl" style="margin-left: 10px;width:17mm;vertical-align:middle" /> --> <img :src="tagData.barcodeUrl" style="width:250px;height: 50px;" />
</div> </div>
<div style="height: 50px;border-top: 1px solid #999;"> <div style="height: 50px;">
<p style="margin-top: 1mm; text-align: center"> <p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 3mm">E&C Logistics: www.groupage.com</span> <span style="text-align: center; font-weight: 600; font-size: 3mm">E&C Logistics: www.groupage.com</span>
</p> </p>
</div> </div>
</div> </div>
<div style="text-align:center;"> <div style="text-align:center;margin-top: 20px;">
<el-button type="primary" @click="print">{{$t('确定打印')}}</el-button> <el-button type="primary" @click="print">{{$t('确定打印')}}</el-button>
</div> </div>
</div> </div>
...@@ -101,8 +102,8 @@ export default { ...@@ -101,8 +102,8 @@ export default {
<style scoped> <style scoped>
.tag { .tag {
width: 250px; width: 300px;
height: 250px; height: 300px;
/* background-color: #e2dede; */ /* background-color: #e2dede; */
text-align: center; text-align: center;
padding: 15px; padding: 15px;
......
<template> <template>
<div> <div>
<el-form ref="twoWayTakeoffForm" :rules="rules" :model="twoWayTakeoffObj" label-width="120px"> <el-form ref="twoWayTakeoffForm" :rules="rules" :model="twoWayTakeoffObj" label-width="120px">
<el-form-item :label="$t('预计头程时间')" prop="estHeadTime"> <el-form-item :label="$t('预计起飞时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.estHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> {{getTakeOffTime()}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('实际头程时间')" prop="actHeadTime"> <el-form-item :label="$t('实际起飞时间')" prop="dtRealFlyTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.actHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.dtRealFlyTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('预计二程时间')" prop="estSecondTime"> <el-form-item :label="$t('实际头程时间')" prop="realHeadTravelTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.estSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.realHeadTravelTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<script> <script>
import regError from "../../regError"; import regError from "../../regError";
import { takeoffCreate } from "@/api/ecw/boxSeaAir"; import { takeoffCreate } from "@/api/ecw/boxAir";
import { formatDateStr, serviceMsg } from "../utils"; import { formatDateStr, serviceMsg } from "../utils";
/** /**
...@@ -46,9 +46,8 @@ export default { ...@@ -46,9 +46,8 @@ export default {
twoWayTakeoffObj: {}, twoWayTakeoffObj: {},
// 校验 // 校验
rules: { rules: {
actHeadTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }], dtRealFlyTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
estHeadTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }], realHeadTravelTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
estSecondTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
}, },
// 弹窗配置 // 弹窗配置
dialogVisible: false, dialogVisible: false,
...@@ -59,9 +58,8 @@ export default { ...@@ -59,9 +58,8 @@ export default {
created() { created() {
const voName = this.$attrs.currNode.voName; const voName = this.$attrs.currNode.voName;
let oldData = { ...this.$attrs.shipmentObj[voName] }; let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["actHeadTime"], "YYYY-MM-DD HH:mm:ss"); oldData = formatDateStr(oldData, ["dtRealFlyTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["estHeadTime"], "YYYY-MM-DD HH:mm:ss"); oldData = formatDateStr(oldData, ["realHeadTravelTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["estSecondTime"], "YYYY-MM-DD HH:mm:ss");
this.twoWayTakeoffObj = oldData; this.twoWayTakeoffObj = oldData;
}, },
watch: { watch: {
...@@ -91,6 +89,13 @@ export default { ...@@ -91,6 +89,13 @@ export default {
cancel(type) { cancel(type) {
this.$emit("closeDialog", type); this.$emit("closeDialog", type);
}, },
// 预计开船时间
getTakeOffTime() {
return dayjs(this.$attrs.shipmentObj.bookAirInfo.flyTime).format(
"YYYY-MM-DD HH:mm:ss"
);
},
}, },
}; };
</script> </script>
......
...@@ -61,6 +61,7 @@ export default { ...@@ -61,6 +61,7 @@ export default {
}, },
data() { data() {
return { return {
airBaseData,
shipmentObj: {}, shipmentObj: {},
warehouseList: [], warehouseList: [],
// 供应商 // 供应商
...@@ -72,7 +73,7 @@ export default { ...@@ -72,7 +73,7 @@ export default {
// 用户 // 用户
allUsers: [], allUsers: [],
// 流程图节点 // 流程图节点
seaBaseData: airBaseData(), seaBaseData: [],
// 状态 // 状态
statusLabel: "", statusLabel: "",
}; };
...@@ -119,6 +120,24 @@ export default { ...@@ -119,6 +120,24 @@ export default {
getbox(this.shipmentId).then((res) => { getbox(this.shipmentId).then((res) => {
const { data } = res; const { data } = res;
this.shipmentObj = data ?? {}; this.shipmentObj = data ?? {};
this.seaBaseData = this.airBaseData()
if(this.shipmentObj.destinationClearance==3&&this.shipmentObj.deliveryType==2){
this.seaBaseData = this.seaBaseData.filter(item=>{
var flag = true
item.forEach(element => {
if(element.type == 'agent'){
flag = false
}
if(element.type == 'unloading'){
flag = false
}
if(element.type == 'clrDocument'){
flag = false
}
});
return flag
})
}
}); });
}, },
}, },
......
...@@ -200,16 +200,16 @@ function airBaseData() { ...@@ -200,16 +200,16 @@ function airBaseData() {
end: require("@/assets/images/shipping/ecqf-end.png"), end: require("@/assets/images/shipping/ecqf-end.png"),
}, },
type: "twoWayTakeoff", type: "twoWayTakeoff",
dataKey: "14", // 字典数据键值 dataKey: "9", // 字典数据键值
/** /**
* 起飞状态:141、未起飞;142、已起飞 * 起飞状态:231、未起飞;232、已起飞
*/ */
voName: "takeOffInfo", voName: "boxAirFlyInfo",
keyName: "stkStatus", keyName: "flyStatus",
status: { status: {
start: [141], start: [231],
wait: [], wait: [],
end: [142], end: [232],
}, },
}, },
], ],
......
...@@ -242,6 +242,8 @@ export default { ...@@ -242,6 +242,8 @@ export default {
this.warehouseIdsArr = this.form.warehouseIds.split(',')?.filter(item => !!item) this.warehouseIdsArr = this.form.warehouseIds.split(',')?.filter(item => !!item)
} }
}); });
}else {
this.addPackaging()
} }
}, },
...@@ -316,11 +318,14 @@ export default { ...@@ -316,11 +318,14 @@ export default {
//添加包装类型 //添加包装类型
addPackaging(){ addPackaging(){
let p = { let p = {
airWeightLimit:undefined, airWeightLimit:'',
packagingTypes:[], packagingTypes:[],
channelPriceStepClearanceList:[], channelPriceStepClearanceList:[],
} }
this.form.channelPackagingList.push(p) this.form.channelPackagingList.push(p)
},
verify(row){
return (row.startNum !== '' && row.endNum !== '' && row.clearancePrice !== '' && row.clearancePriceUnit !== '' && row.clearanceVolumeUnit !== '')
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
...@@ -328,6 +333,22 @@ export default { ...@@ -328,6 +333,22 @@ export default {
if (!valid) { if (!valid) {
return; return;
} }
let derail = false
this.form.channelPackagingList.forEach(item =>{
if(item.airWeightLimit === '' || item.airWeightLimit === 0){
derail = true
return this.$message.warning('请输入空运订单重量上限')
}
if(!item.packagingTypes.length){
derail = true
return this.$message.warning('请输入包装类型')
}
if(!item.channelPriceStepClearanceList.every(this.verify)){
derail = true
return this.$message.warning('请输入阶梯价格')
}
})
if (derail) return;
this.form.warehouseIds = this.warehouseIdsArr.join(',') this.form.warehouseIds = this.warehouseIdsArr.join(',')
let form = JSON.parse(JSON.stringify(this.form)) let form = JSON.parse(JSON.stringify(this.form))
let attrId = this.form.attrId let attrId = this.form.attrId
......
...@@ -57,6 +57,12 @@ ...@@ -57,6 +57,12 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('部门人数')" align="center" prop="deptEmpCount"/> <el-table-column :label="$t('部门人数')" align="center" prop="deptEmpCount"/>
<el-table-column :label="$t('目标值')" align="center" prop="cubeNum"/>
<el-table-column :label="$t('目标单位')" align="center">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.CEBE_UNIT" :value="row.cubeUnit" ></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('目标方数')" align="center" prop="cubeNum"/> <el-table-column :label="$t('目标方数')" align="center" prop="cubeNum"/>
<el-table-column :label="$t('运输方式')" align="center" prop="transportType"> <el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -156,10 +162,11 @@ ...@@ -156,10 +162,11 @@
import {getChannelList} from '@/api/ecw/channel'; import {getChannelList} from '@/api/ecw/channel';
import dayjs from "dayjs"; import dayjs from "dayjs";
import { parseTime } from '@/utils/ruoyi'; import { parseTime } from '@/utils/ruoyi';
import Template from "@/views/cms/template/index.vue";
export default { export default {
name: "EcwDepttargetMydepttarget", name: "EcwDepttargetMydepttarget",
components: {}, components: {Template},
data() { data() {
return { return {
// 遮罩层 // 遮罩层
...@@ -332,7 +339,6 @@ import { parseTime } from '@/utils/ruoyi'; ...@@ -332,7 +339,6 @@ import { parseTime } from '@/utils/ruoyi';
}) })
}, },
showChannel(val){ showChannel(val){
console.log(val);
if(val===3 || val===4){ if(val===3 || val===4){
this.showFlag = true; this.showFlag = true;
} else { } else {
......
...@@ -449,9 +449,9 @@ export default { ...@@ -449,9 +449,9 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.form.priceLineCount = val.id; // this.form.priceLineCount = val.id;
this.lineNum = val.priceStepClearanceCount; this.lineNum = val.priceLineCount;
this.form.priceLineCount = val.id; this.form.productTemplateId = val.id;
this.isCopyProductPriceTemplate = true; this.isCopyProductPriceTemplate = true;
copy() copy()
this.open = true; this.open = true;
...@@ -595,14 +595,27 @@ export default { ...@@ -595,14 +595,27 @@ export default {
}) })
}); });
}, },
verify(row){
return (row.startNum !== '' && row.endNum !== '' && row.clearancePrice !== '' && row.clearancePriceUnit !== '' && row.clearanceVolumeUnit !== '')
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
console.log(this.form);
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (!valid) { if (!valid) {
return; return;
} }
if(!this.form.airWeightLimit){
return this.$message.warning('请输入空运订单重量上限')
}
if(this.form.priceStepClearanceList.length === 0){
return this.$message.warning('阶梯定价输入不完整!')
}else {
let bol = this.form.priceStepClearanceList.every(this.verify)
if(!bol){
return this.$message.warning('阶梯定价输入不完整!')
}
}
//商品特性转字符串 //商品特性转字符串
this.form.attrId = this.form.attrArray.join(','); this.form.attrId = this.form.attrArray.join(',');
// 修改的提交 // 修改的提交
......
...@@ -181,7 +181,7 @@ export default { ...@@ -181,7 +181,7 @@ export default {
}).then(() => { }).then(() => {
this.form.priceLineCount = val.id; this.form.priceLineCount = val.id;
this.lineNum = val.priceStepClearanceCount; this.lineNum = val.priceStepClearanceCount;
this.form.priceLineCount = val.id; this.form.productTemplateId = val.id;
this.isCopyProductPriceTemplate = true; this.isCopyProductPriceTemplate = true;
copy() copy()
this.open = true; this.open = true;
...@@ -219,25 +219,38 @@ export default { ...@@ -219,25 +219,38 @@ export default {
this.attrIds = [] this.attrIds = []
this.resetForm("form"); this.resetForm("form");
}, },
verify(row){
return (row.startNum !== '' && row.endNum !== '' && row.clearancePrice !== '' && row.clearancePriceUnit !== '' && row.clearanceVolumeUnit !== '')
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => {
if (!valid) {
return;
}
let data = Object.assign({}, this.form)
if(!data.isAllProduct && !data.idList.length){
return this.$message(this.$t('请选择商品或勾选全部'))
}
if(!this.form.airWeightLimit){
return this.$message.warning('请输入空运订单重量上限')
}
if(this.form.priceStepClearanceList.length === 0){
return this.$message.warning('阶梯定价输入不完整!')
}else {
let bol = this.form.priceStepClearanceList.every(this.verify)
if(!bol){
return this.$message.warning('阶梯定价输入不完整!')
}
}
batchUpdateProduct(data).then((response) => {
this.$modal.msgSuccess(this.$t("修改成功"));
this.reset() this.reset()
console.log(this.form.priceStepClearanceList,'priceStepClearanceList') this.$forceUpdate()
// this.$refs["form"].validate((valid) => { // this.$store.dispatch('tagsView/delCurrentView')
// if (!valid) { });
// return; });
// }
// let data = Object.assign({}, this.form)
// if(!data.isAllProduct && !data.idList.length){
// return this.$message(this.$t('请选择商品或勾选全部'))
// }
// batchUpdateProduct(data).then((response) => {
// this.$modal.msgSuccess(this.$t("修改成功"));
// this.$forceUpdate()
// // this.$store.dispatch('tagsView/delCurrentView')
// });
// });
}, },
}, },
}; };
......
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</div> </div>
<br/> <br/>
<el-form ref="form" :model="lineform" :rules="rules" label-width="120px"> <el-form ref="form" :model="lineform" :rules="rules" label-width="160px">
<el-form-item :label="$t('始发港服务')"> <el-form-item :label="$t('始发港服务')">
<el-checkbox-group v-model="lineform.otherService"> <el-checkbox-group v-model="lineform.otherService">
<el-checkbox v-for="item in serviceGroup" :label="item.id" :key="item.id" :value="item.id"> {{item.text}}</el-checkbox> <el-checkbox v-for="item in serviceGroup" :label="item.id" :key="item.id" :value="item.id"> {{item.text}}</el-checkbox>
...@@ -306,6 +306,17 @@ ...@@ -306,6 +306,17 @@
<el-checkbox v-for="item in endServiceGroup" :label="item.id" :key="item.id" :value="item.id" v-show="isShowError(item)"> {{item.text}}</el-checkbox> <el-checkbox v-for="item in endServiceGroup" :label="item.id" :key="item.id" :value="item.id" v-show="isShowError(item)"> {{item.text}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item v-if="['3','4'].includes(lineform.transportType)" label="空运提单制作节点">
<el-select v-model="ladingform.makeBillNode">
<el-option v-show="item.value !== '1'" v-for="(item, index) in getDictDatas(DICT_TYPE.AIR_SHIPMENT_PROCESS)" :label="$l(item, 'label')" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="线路是否在客户端显示">
<el-radio-group v-model="ladingform.isClientShow">
<el-radio :label="1">可见</el-radio>
<el-radio :label="0">不可见</el-radio>
</el-radio-group>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -393,7 +404,7 @@ import { createWarehouse, updateWarehouse, deleteWarehouse, getWarehouse, getWar ...@@ -393,7 +404,7 @@ import { createWarehouse, updateWarehouse, deleteWarehouse, getWarehouse, getWar
exportWarehouseExcel,routerList,changeRouteStatus,deptBind,deptList,serviceConfig } from "@/api/ecw/warehouse"; exportWarehouseExcel,routerList,changeRouteStatus,deptBind,deptList,serviceConfig } from "@/api/ecw/warehouse";
import { getNodePage } from "@/api/ecw/node"; import { getNodePage } from "@/api/ecw/node";
import { getListTree } from "@/api/ecw/region"; import { getListTree } from "@/api/ecw/region";
import { getDictDatas, DICT_TYPE } from '@/utils/dict' import {getDictDatas, DICT_TYPE, getDictDataL, getDictDataLabel} from '@/utils/dict'
import {CommonStatusEnum} from '@/utils/constants' import {CommonStatusEnum} from '@/utils/constants'
import { uploadFile } from "@/api/infra/file"; import { uploadFile } from "@/api/infra/file";
import { listDept } from "@/api/system/dept"; import { listDept } from "@/api/system/dept";
...@@ -405,7 +416,6 @@ import Template from "../../cms/template/index"; ...@@ -405,7 +416,6 @@ import Template from "../../cms/template/index";
// 海运和空运的抬头模板 // 海运和空运的抬头模板
import tpl from './tpl' import tpl from './tpl'
console.log(tpl)
export default { export default {
name: "Warehouse", name: "Warehouse",
components: { components: {
...@@ -523,8 +533,8 @@ export default { ...@@ -523,8 +533,8 @@ export default {
}, },
// 表单参数 // 表单参数
form: {checkList:[],}, form: {checkList:[],},
ladingform: {prefixCounter:null,titleZh:null,contentZh:null,account:null,acctArr:[]}, ladingform: {prefixCounter:null,titleZh:null,contentZh:null,account:null,acctArr:[],isClientShow:1,makeBillNode:''},
lineform: {otherService:[]}, lineform: {otherService:[],},
startName:'', startName:'',
destName:'', destName:'',
...@@ -559,6 +569,12 @@ export default { ...@@ -559,6 +569,12 @@ export default {
}, },
computed: { computed: {
DICT_TYPE() {
return DICT_TYPE
},
getDictDataL() {
return getDictDataL
},
isShowError() { isShowError() {
return (item) => { return (item) => {
if(item.id !== '5') return true; if(item.id !== '5') return true;
...@@ -652,10 +668,9 @@ export default { ...@@ -652,10 +668,9 @@ export default {
this.getList(); this.getList();
this.getNodeList(); this.getNodeList();
this.getContinentsList(); this.getContinentsList();
console.log("regionTypeDatas:"+JSON.stringify(this.regionTypeDatas));
console.log("transportDatas:"+JSON.stringify(this.transportDatas));
}, },
methods: { methods: {
getDictDataLabel,
setTpl(type){ setTpl(type){
this.ladingform.titleZh = tpl[type] this.ladingform.titleZh = tpl[type]
}, },
...@@ -1092,7 +1107,6 @@ export default { ...@@ -1092,7 +1107,6 @@ export default {
}); });
this.ladingform.lineId=lineId.substr(0,lineId.length-1); this.ladingform.lineId=lineId.substr(0,lineId.length-1);
} }
console.log(this.ladingform.lineId);
this.ladingform.account = JSON.stringify(this.arr); this.ladingform.account = JSON.stringify(this.arr);
createTemplate(this.ladingform).then(response => { createTemplate(this.ladingform).then(response => {
this.$modal.msgSuccess(this.$t("设置路线提单模板成功")); this.$modal.msgSuccess(this.$t("设置路线提单模板成功"));
......
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