Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
e1275214
Commit
e1275214
authored
Jun 25, 2023
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
bd956fd8
b212e0fe
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
217 additions
and
85 deletions
+217
-85
boxAir.js
src/api/ecw/boxAir.js
+19
-0
dict.js
src/utils/dict.js
+1
-0
permission.js
src/utils/permission.js
+1
-0
arrival.vue
src/views/ecw/box/shippingAir/nodePage/arrival.vue
+35
-16
cusClearance.vue
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
+1
-1
index.vue
src/views/ecw/box/shippingAir/nodePage/mergePkg/index.vue
+1
-1
printTag.vue
src/views/ecw/box/shippingAir/nodePage/mergePkg/printTag.vue
+12
-11
twoWayTakeoff.vue
src/views/ecw/box/shippingAir/nodePage/twoWayTakeoff.vue
+18
-13
shippingAir.vue
src/views/ecw/box/shippingAir/shippingAir.vue
+20
-1
utils.js
src/views/ecw/box/shippingAir/utils.js
+6
-6
edit.vue
src/views/ecw/channel/edit.vue
+23
-2
myDeptTarget.vue
src/views/ecw/deptTarget/myDeptTarget.vue
+8
-2
index.vue
src/views/ecw/product/index.vue
+18
-5
edit.vue
src/views/ecw/productAttr/edit.vue
+31
-18
index.vue
src/views/ecw/warehouse/index.vue
+23
-9
No files found.
src/api/ecw/boxAir.js
View file @
e1275214
...
@@ -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 *******************************/
src/utils/dict.js
View file @
e1275214
...
@@ -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
'
}
}
/**
/**
...
...
src/utils/permission.js
View file @
e1275214
...
@@ -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
)
...
...
src/views/ecw/box/shippingAir/nodePage/arrival.vue
View file @
e1275214
<
template
>
<
template
>
<div>
<div>
<el-form
ref=
"arrivalForm"
:rules=
"rules"
:model=
"a
rrivalObj
"
label-width=
"120px"
>
<el-form
ref=
"arrivalForm"
:rules=
"rules"
:model=
"a
irArrivalInfo
"
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=
"a
rrivalObj.apUnloadPor
tTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"a
irArrivalInfo.ac
tTime"
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/boxSea
Air
"
;
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
{
// 到港对象
// 到港对象
a
rrivalObj
:
{},
a
irArrivalInfo
:
{},
// 校验
// 校验
rules
:
{
rules
:
{
a
pReal
Time
:
[
a
ctSecond
Time
:
[
{
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
,
[
"
a
pRealTime
"
,
"
apConfirm
Time
"
],
[
"
a
ctSecondTime
"
,
"
estTime
"
,
"
act
Time
"
],
"
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 {
}
}
},
},
// 获取预计到港时间
// 获取预计到港时间
get
Expected
Time
()
{
get
HeadTravel
Time
()
{
const
{
shippingInfo
}
=
this
.
$attrs
.
shipmentObj
;
const
{
shippingInfo
}
=
this
.
$attrs
.
shipmentObj
;
if
(
shippingInfo
)
{
if
(
shippingInfo
)
{
return
dayjs
(
shippingInfo
.
dtEstArriva
lTime
).
format
(
return
dayjs
(
shippingInfo
.
realHeadTrave
lTime
).
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
.
a
rrivalObj
,
...
this
.
a
irArrivalInfo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
operateType
,
operateType
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
View file @
e1275214
<
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>
...
...
src/views/ecw/box/shippingAir/nodePage/mergePkg/index.vue
View file @
e1275214
...
@@ -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=
"3
0
0px"
:modal-append-to-body=
"false"
append-to-body
>
<el-dialog
:title=
"$t('集运封箱标签')"
:visible.sync=
"printdialogVisible"
width=
"3
5
0px"
: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>
...
...
src/views/ecw/box/shippingAir/nodePage/mergePkg/printTag.vue
View file @
e1275214
<
template
>
<
template
>
<div>
<div>
<div
class=
"tag"
>
<div
class=
"tag"
>
<div
style=
"display: flex;height:
20
0px;"
>
<div
style=
"display: flex;height:
18
0px;"
>
<div
style=
"border-right: 1px solid #999; width: 1
25
px"
>
<div
style=
"border-right: 1px solid #999; width: 1
40
px"
>
<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: 1
25
px"
>
<div
style=
"width: 1
40
px"
>
<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:
3
5px;"
>
<div
style=
"border-right: 2px solid #999;width:
4
5px;"
>
<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:
75
px;"
>
<div
style=
"width:
90
px;"
>
<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:
3
mm"
>
{{
tagData
.
date
}}
</span>
<span
style=
"text-align: center; font-weight: 600; font-size:
4
mm"
>
{{
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
:
25
0px
;
width
:
30
0px
;
height
:
25
0px
;
height
:
30
0px
;
/* background-color: #e2dede; */
/* background-color: #e2dede; */
text-align
:
center
;
text-align
:
center
;
padding
:
15px
;
padding
:
15px
;
...
...
src/views/ecw/box/shippingAir/nodePage/twoWayTakeoff.vue
View file @
e1275214
<
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=
"actHead
Time"
>
<el-form-item
:label=
"$t('实际
起飞时间')"
prop=
"dtRealFly
Time"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.
actHead
Time"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.
dtRealFly
Time"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('
预计二程时间')"
prop=
"estSecond
Time"
>
<el-form-item
:label=
"$t('
实际头程时间')"
prop=
"realHeadTravel
Time"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.
estSecond
Time"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.
realHeadTravel
Time"
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/box
Sea
Air
"
;
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
>
...
...
src/views/ecw/box/shippingAir/shippingAir.vue
View file @
e1275214
...
@@ -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
})
}
});
});
},
},
},
},
...
...
src/views/ecw/box/shippingAir/utils.js
View file @
e1275214
...
@@ -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、未起飞;14
2、已起飞
* 起飞状态:
231、未起飞;23
2、已起飞
*/
*/
voName
:
"
takeOff
Info
"
,
voName
:
"
boxAirFly
Info
"
,
keyName
:
"
stk
Status
"
,
keyName
:
"
fly
Status
"
,
status
:
{
status
:
{
start
:
[
14
1
],
start
:
[
23
1
],
wait
:
[],
wait
:
[],
end
:
[
14
2
],
end
:
[
23
2
],
},
},
},
},
],
],
...
...
src/views/ecw/channel/edit.vue
View file @
e1275214
...
@@ -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
...
...
src/views/ecw/deptTarget/myDeptTarget.vue
View file @
e1275214
...
@@ -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
{
...
...
src/views/ecw/product/index.vue
View file @
e1275214
...
@@ -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
.
price
StepClearanc
eCount
;
this
.
lineNum
=
val
.
price
Lin
eCount
;
this
.
form
.
pr
iceLineCount
=
val
.
id
;
this
.
form
.
pr
oductTemplateId
=
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
(
'
,
'
);
// 修改的提交
// 修改的提交
...
...
src/views/ecw/productAttr/edit.vue
View file @
e1275214
...
@@ -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
.
pr
iceLineCount
=
val
.
id
;
this
.
form
.
pr
oductTemplateId
=
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')
// });
// });
},
},
},
},
};
};
...
...
src/views/ecw/warehouse/index.vue
View file @
e1275214
...
@@ -295,7 +295,7 @@
...
@@ -295,7 +295,7 @@
</div>
</div>
<br/>
<br/>
<el-form
ref=
"form"
:model=
"lineform"
:rules=
"rules"
label-width=
"1
2
0px"
>
<el-form
ref=
"form"
:model=
"lineform"
:rules=
"rules"
label-width=
"1
6
0px"
>
<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
(
"
设置路线提单模板成功
"
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment