1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<template>
<div class="app-container" v-if="detail">
<div class="page-title">{{ $t("控货订单") }}</div>
<el-form ref="elForm" :model="formData" :rules="rules" size="small" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item :label="$t('订单号')">
{{ detail.orderNo }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('总控货数')">
{{ detail.sumNum }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('体积')"> {{ detail.sumVolume }} m³ </el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('重量')"> {{ detail.sumWeight }} kg </el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('可放货箱数')">
{{ detail.sumNum - detail.releaseNum }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('已放货箱数')">
{{ detail.releaseNum }}
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="page-title">{{ $t("放货详情") }}</div>
<el-table :data="detail.cargoControlPickBackVOList || []" border>
<el-table-column :label="$t('序号')" width="50px">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column :label="$t('收货人')" prop="consigneeName" />
<el-table-column :label="$t('收货人电话')" prop="consigneePhone">
<template slot-scope="{ row }"> +{{ row.consigneeCountryCode }} {{ row.consigneePhone }} </template>
</el-table-column>
<el-table-column :label="$t('控货箱数')" prop="controlNum"></el-table-column>
<el-table-column :label="$t('放货箱数')" prop="pickNum"></el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column>
<el-table-column :label="$t('提单号')" prop="tidanNo"></el-table-column>
<el-table-column :label="$t('备注')" prop="remarks"></el-table-column>
<el-table-column :label="$t('操作人')" prop="operator"></el-table-column>
<el-table-column :label="$t('放货日期')" prop="createTime">
<template slot-scope="{ row }">
{{ row.createTime | parseTime }}
</template>
</el-table-column>
<el-table-column :label="$t('复核日期')" prop="createTime">
<template slot-scope="{ row }">
{{ row.checkTime | parseTime }}
</template>
</el-table-column>
<el-table-column :label="$t('状态')" prop="status">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_RELEASE_STATUS" :value="row.status" />
</template>
</el-table-column>
<el-table-column :label="$t('操作')" width="300px">
<template slot-scope="scope">
<el-button v-if="scope.row.status == 1" type="primary" size="mini" @click="editIndex = scope.$index">{{ $t("修改") }}</el-button>
<el-button v-if="scope.row.status == 1" type="danger" size="mini" @click="cancelCargoPickId = scope.row.id">{{ $t("取消") }}</el-button>
<el-button v-if="scope.row.status == 1" type="success" size="mini" @click="review(scope.row.id)">{{ $t("放货复核") }}</el-button>
<el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex = scope.$index">{{ $t("反复核") }}</el-button>
<el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId = scope.row.id">{{ $t("调货") }}</el-button>
<el-button v-if="[2, 4, 5, 6].indexOf(scope.row.status) > -1" type="primary" size="mini" @click="showApprovalDetail(scope.row.formId)">{{ $t("审核详情") }}</el-button>
<el-button v-if="[2, 4, 5, 6].indexOf(scope.row.status) > -1" type="danger" size="mini" @click="cancelApproval(scope.row.id)">{{ $t("取消审核") }}</el-button>
</template>
</el-table-column>
</el-table>
<!-- <div class="page-title">{{ $t('历史放货记录') }}</div>
<el-table :data="[1]" border>
<el-table-column :label="$t('序号')" width="50px">
</el-table-column>
<el-table-column :label="$t('操作')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('申请原因')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('附件')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('申请时间')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('申请人')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('审批时间')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('审批人')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
<el-table-column :label="$t('备注')">
<el-input v-model="formData.field110" :placeholder="$t('请输入收货人邮箱')" clearable></el-input>
</el-table-column>
</el-table> -->
<fallback v-if="fallbackIndex !== null" :order="detail" :index="fallbackIndex" @close="fallbackIndex = null" @success="onFallbackSuccess" />
<edit v-if="editIndex !== null" @close="editIndex = null" :order="detail" :index="editIndex" @success="onEditSuccess" />
<transfer-cargo v-if="cargoControlPickId !== null" :order-id="detail.orderId" :cargo-control-pick-id="cargoControlPickId" @close="cargoControlPickId = null" @success="onTransferCargoSuccess" />
<cancel-cargo v-if="!!cancelCargoPickId" :order="detail" :cargo-control-pick-id="cancelCargoPickId" @close="cancelCargoPickId = null" @success="onCancelCargoSuccess" />
</div>
</template>
<script>
import edit from "./components/CargoControlEdit.vue"
import { createPick, getPickRleaseInfo, review, cancel, cancelApproval } from "@/api/ecw/orderCargoControl"
import { parseTime } from "@/utils/ruoyi"
import Fallback from "./components/Fallback"
import TransferCargo from "@/views/ecw/order/components/TransferCargo"
import CancelCargo from "./components/CancelCargo.vue"
export default {
filters: { parseTime },
components: { edit, Fallback, TransferCargo, CancelCargo, CancelCargo },
data() {
return {
detail: null,
formData: {},
rules: {},
editIndex: null, // 修改索引
fallbackIndex: null, // 反复核索引
cargoControlPickId: null, // 调货ID
cancelCargoPickId: null // 取消返货ID
}
},
created() {
this.loadData()
},
methods: {
loadData() {
console.log("loadData")
getPickRleaseInfo(this.$route.query.id).then((res) => (this.detail = res.data))
},
review(id) {
this.$confirm(this.$t("已核实放货信息,确认放货?"))
.then((res) => {
return review(id)
})
.then((res) => {
this.$message.success(this.$t("操作成功"))
this.loadData()
})
},
unReview() {},
cancel(id) {
this.$confirm(this.$t("确定取消这条放货么?"))
.then((res) => {
return cancel(id)
})
.then((res) => {
this.$message.success(this.$t("操作成功"))
this.loadData()
})
},
onEditSuccess() {
console.log("onEditSuccess")
this.loadData()
this.editIndex = null
},
onFallbackSuccess() {
this.fallbackIndex = null
this.loadData()
},
// 查看审核详情
showApprovalDetail(formId) {
this.$router.push("/bpm/process-instance/detail?id=" + formId)
},
// 取消审核
cancelApproval(id) {
this.$confirm(this.$t("确定取消此申请么?"))
.then((res) => {
let approvalId = this.getApproval(id)
return cancelApproval(approvalId, { reason: this.$t("无") })
})
.then((res) => {
this.$message.success(this.$t("操作成功"))
this.loadData()
})
},
// 根据id查找审核id
getApproval(id, field = "orderApprovalId") {
if (!this.detail.orderApprovalBackVOList || !this.detail.orderApprovalBackVOList.length) {
this.$message.error(this.$t("未找到审批ID"))
Promise.reject(this.$t("未找到审批ID"))
}
let item = this.detail.orderApprovalBackVOList.find((item) => {
let details = JSON.parse(item.details)
return details.cargoControlPickId == id && details.applyStatus == 1
})
console.log({ item })
return item[field]
},
onTransferCargoSuccess() {
this.cargoControlPickId = null
this.loadData()
},
onCancelCargoSuccess() {
this.cancelCargoPickId = null
this.loadData()
}
}
}
</script>