jinhui.wang

订单详情修改,接口增加,退出修改菜单增加

1 -import request from '@/utils/request'
2 -
3 -/**
4 - * 运单、口岸、站点、预审查看详情(CD类都有)
5 - * @param id
6 - * @param pageIndex
7 - * @param pageSize
8 - * @returns
9 - */
10 -export function getConsInfo(data) {
11 - return request({
12 - url: '/bus-employees/chm/qry/staff/consInfo',
13 - method: 'post',
14 - data: data,
15 - })
16 -}
17 -
18 -/**
19 - * 申报日志查看C类
20 - * @param {} data
21 - * @returns
22 - */
23 -export function getLogC(data) {
24 - return request({
25 - url: '/bus-customer/declared/list/conId',
26 - method: 'post',
27 - data: data,
28 - })
29 -}
30 -
31 -/**
32 - * 申报日志查看D类
33 - * @param {} data
34 - * @returns
35 - */
36 -export function getLogD(data) {
37 - return request({
38 - url: '/bus-customer/consignment/back/info',
39 - method: 'post',
40 - data: data,
41 - })
42 -}
43 -
44 -/**
45 - * D类文件图片查询(右侧)
46 - * @param id
47 - * @param pageIndex
48 - * @param pageSize
49 - * @returns
50 - */
51 -export function getAttachment(data) {
52 - return request({
53 - url: '/bus-employees/attachment/paged/query',
54 - method: 'post',
55 - data: data,
56 - })
57 -}
58 -
59 -/**
60 - * 获取汇率
61 - * @returns
62 - */
63 -export function getExchangeRate() {
64 - return request({
65 - url: '/manager-server/dicEntries/getExchangeRate',
66 - method: 'get',
67 - })
68 -}
69 -
70 -/**
71 - * 获取文件
72 - * @returns
73 - */
74 -export function getFiles(data) {
75 - return request({
76 - url: '/manager-server/attachment/list/slipIdForPic',
77 - method: 'post',
78 - data: data,
79 - })
80 -}
81 -
82 -/**
83 - * 预审通过/不通过/保存
84 - * {
85 - "consignmentId":0,//运单id Long
86 - "flag":1,//流程标志,2为保存,1为审批通过,0为审批不通过 Integer
87 - "rejectRemark": "",//审批备注 String
88 - "portPreAuditFlag":null, //口岸是否预审 String
89 - "approvalTimeFirst":null ,//第一次审批时间 Data
90 - "attachmentsList":[{
91 - "id":0,
92 - "name":"",//文件名
93 - "rotateAngle":90,//顺时针旋转角度
94 - "documentsCheck":1//预审中心的申报单证是否打勾/0=否,1=是
95 - }]
96 -}
97 - * @returns
98 - */
99 -// export function approval(data) {
100 -// return request({
101 -// url: '/bus-employees/rde/op/approval',
102 -// method: 'post',
103 -// data: data,
104 -// })
105 -// }
106 -export function saveApproval(data) {
107 - let formData = new FormData();
108 - if (data.pic == null) {
109 - formData.append("pic", null);
110 - } else {
111 - formData.append("pic", data.pic, data.info.origFileName);
112 - }
113 - formData.append("info", JSON.stringify(data.info));
114 - return request({
115 - url: '/bus-employees/rde/op/detail/save',
116 - method: 'post',
117 - data: formData,
118 - })
119 -}
120 -
121 -
122 -
123 -/**
124 - * 审批通过
125 - *@param pic * 旋转附件
126 - *@param info * 参数json
127 - * @returns
128 - */
129 -export function approved(data) {
130 - let formData = new FormData();
131 - if (data.pic == null) {
132 - formData.append("pic", null);
133 - } else {
134 - formData.append("pic", data.pic, data.info.origFileName);
135 - }
136 - formData.append("info", JSON.stringify(data.info));
137 - return request({
138 - url: '/bus-employees/rde/op/approved',
139 - method: 'post',
140 - data: formData,
141 - })
142 -}
143 -
144 -/**
145 - * 审批不通过
146 - *@param chmId * 运单id
147 - *@param remark * 审批备注
148 - * @returns
149 - */
150 -export function approvalReject(data) {
151 - return request({
152 - url: '/bus-employees/rde/op/reject',
153 - method: 'post',
154 - data: data,
155 - })
156 -}
157 -
158 -
159 -//委托书盖章
160 -/**
161 - * @param pic * 图片
162 - * @param info * 其余参数
163 - */
164 -export function rdeimgStamp(data) {
165 - let formData = new FormData();
166 - if (data.pic == null) {
167 - formData.append("pic", null);
168 - } else {
169 - formData.append("pic", data.pic, data.info.origFileName);
170 - }
171 - formData.append("info", JSON.stringify(data.info));
172 - return request({
173 - url: '/bus-employees/rde/op/execute/stamp',
174 - method: 'post',
175 - data: formData,
176 - })
177 -}
178 -
179 -// //委托书盖章
180 -// /**
181 -// * @param attachmentId * 附件id
182 -// * @param pickUpCityId * 取件城市id
183 -// * @param fileName * 文件名
184 -// * @param consignmentId * 运单id
185 -// * @param rotateAngle * 旋转角度
186 -// */
187 -// export function rdeimgStamp(data) {
188 -// return request({
189 -// url: '/bus-employees/rde/op/stamp',
190 -// method: 'post',
191 -// data: data
192 -// })
193 -// }
194 -
195 -//撤销盖章
196 -/**
197 - * @param chmId * 运单id
198 - */
199 -export function rdeimgRestamp(data) {
200 - return request({
201 - url: '/bus-employees/rde/op/cancel/stamp',
202 - method: 'post',
203 - data: data
204 - })
205 -}
206 -
207 -// //撤销盖章
208 -// /**
209 -// * @param attachmentsPicDtoList * 附件表对象
210 -// * @param consignmentId * 运单id
211 -// */
212 -// export function rdeimgRestamp(data) {
213 -// return request({
214 -// url: '/bus-employees/rde/op/stamp/retract',
215 -// method: 'post',
216 -// data: data
217 -// })
218 -// }
219 -
220 -//下载清关文件
221 -/**
222 - * @param consignmentId * 运单id
223 - */
224 -export function downloadEntryFiles(data) {
225 - return request({
226 - url: '/bus-employees/attachment/download/pdforzip/' + data.consignmentId,
227 - method: 'get',
228 - data: data
229 - })
230 -}
231 -
232 -//下载清关文件
233 -/**
234 - * @param id * 运单id
235 - * @param report * 0预览1打印
236 - */
237 -export function rdeEntryFileView(data) {
238 - return request({
239 - url: '/bus-customer/pdf/print/report',
240 - method: 'post',
241 - data: data
242 - })
243 -}
244 -
245 -//切换图片保存旋转
246 -/**
247 - * @param chmId * 运单id
248 - * @param attachmentId * 附件id
249 - * @param origFileName * 文件名去掉back_
250 - * @param pic 附件流
251 - */
252 -export function setImgRoate(data) {
253 - let formData = new FormData();
254 - if (data.pic != null) {
255 - formData.append("pic", data.pic, data.info.origFileName);
256 - } else {
257 - formData.append('pic', null)
258 - }
259 - formData.append('info', JSON.stringify(data.info))
260 - return request({
261 - url: '/bus-employees/rde/op/revolve',
262 - method: 'post',
263 - data: formData
264 - })
265 -}
266 -
267 -//图片选择状态保存
268 -/**
269 - * @param attachmentId * 附件id
270 - * @param isDocumentCheck * 勾选状态
271 - */
272 -export function setDocumentCheck(data) {
273 - return request({
274 - url: '/bus-employees/rde/op/select',
275 - method: 'post',
276 - data: data
277 - })
278 -}
279 -
280 -//图片选择状态保存
281 -/**
282 - * @param id * 运单id
283 - */
284 -export function getFileDataFromPort(data) {
285 - return request({
286 - url: '/bus-employees/port/op/paged/query',
287 - method: 'post',
288 - data: data
289 - })
290 -}
291 -
292 -//图片选择状态保存
293 -/**
294 - * @param consignmentCode * 运单号
295 - * @param consignmentId * 运单id
296 - * @param list * {
297 - * fileName
298 - * fileSavePath
299 - * fileSize
300 - * selectTypeCode
301 - * uploadTime
302 - * uploadUser
303 - * }
304 - */
305 -export function saveImgFileTypeData(data) {
306 - return request({
307 - url: '/bus-employees/port/op/document/classify',
308 - method: 'post',
309 - data: data
310 - })
311 -}
...\ No newline at end of file ...\ No newline at end of file
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 2
3 -//审批效验 3 +//订单详情
4 /** 4 /**
5 */ 5 */
6 -export function check(data) { 6 +export function getOrderDetailData(data) {
7 return request({ 7 return request({
8 - url: '/bus-employees/rde/op/approve/check', 8 + url: '/bus-customer/exportOrder/info/' + data.orderId,
9 - method: 'post', 9 + method: 'get',
10 - data: data
11 - })
12 -}
13 -
14 -//审批
15 -/**
16 - */
17 -export function isApproval(data) {
18 - return request({
19 - url: '/bus-employees/rde/op/IsApproval',
20 - method: 'post',
21 data: data 10 data: data
22 }) 11 })
23 } 12 }
24 13
25 -//查找是否有新的预审信息 14 +//订单详情
26 /** 15 /**
27 */ 16 */
28 -export function getNewApprovalType(data) { 17 +export function getOrderLogata(data) {
29 return request({ 18 return request({
30 - url: '/bus-employees/chmConsignmentApproveController/getSendPromptMessageInfo', 19 + url: '/bus-customer/exportOrder/receipt/' + data.orderNo,
31 method: 'get', 20 method: 'get',
32 data: data 21 data: data
33 }) 22 })
......
...@@ -2,10 +2,18 @@ import request from '@/utils/request' ...@@ -2,10 +2,18 @@ import request from '@/utils/request'
2 2
3 // 登录方法 3 // 登录方法
4 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) { 4 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) {
5 + // const data = {
6 + // loginName,
7 + // password,
8 + // rememberMe
9 + // }
5 const data = { 10 const data = {
6 - loginName, 11 + "email": "247908967@qq.com",
7 - password, 12 + "name": "肖玉兰",
8 - rememberMe 13 + "phone": 18221643976,
14 + "port": "TSN",
15 + "purpleId": 6,
16 + "role": 170
9 } 17 }
10 return request({ 18 return request({
11 url: '/bus-customer/login', 19 url: '/bus-customer/login',
......
...@@ -831,7 +831,7 @@ input:disabled { ...@@ -831,7 +831,7 @@ input:disabled {
831 831
832 .fedexDetialTable { 832 .fedexDetialTable {
833 width: auto; 833 width: auto;
834 - height: 100%; 834 + // height: 100%;
835 position: relative; 835 position: relative;
836 836
837 .el-table::before { 837 .el-table::before {
......
1 -<template>
2 -<div>
3 - <el-table :data="tableData" style="width: 100%" border height="220px">
4 - <el-table-column prop="index" label="序号" width="80"></el-table-column>
5 - <el-table-column prop="productNumber" label="企业商品编号" width="150"></el-table-column>
6 - <el-table-column prop="productName" label="商品企业商品名称" width="180"></el-table-column>
7 - <el-table-column prop="description" label="企业商品描述" width="150"></el-table-column>
8 - <el-table-column prop="code" label="条码" width="150"></el-table-column>
9 - <el-table-column prop="unit" label="计量单位" width="100">
10 - <template slot-scope="scope">
11 - <span>{{ scope.row.unit }}</span>
12 - <i class="el-icon-top" style="margin-left: 5px;"></i>
13 - </template>
14 - </el-table-column>
15 - <el-table-column prop="currency" label="币制" width="80"></el-table-column>
16 - <el-table-column prop="quantity" label="数量" width="80"></el-table-column>
17 - <el-table-column prop="unitPrice" label="单价" width="100"></el-table-column>
18 - <el-table-column prop="totalPrice" label="总价" width="100"></el-table-column>
19 - <el-table-column prop="notes" label="备注" width="300"></el-table-column>
20 - <el-table-column label="操作" width="100" fixed="right">
21 - <template slot-scope="scope">
22 - <el-link type="primary" @click="handleExpand(scope.$index)">展开</el-link>
23 - </template>
24 - </el-table-column>
25 - </el-table>
26 -</div>
27 -</template>
28 -
29 -<script>
30 -export default {
31 - name: "ProductDetailTable",
32 - data() {
33 - return {
34 - tableData: [
35 - {
36 - index: 1,
37 - productNumber: "6704200000",
38 - productName: "真人发发夹",
39 - description: "测试内容",
40 - code: "485607096",
41 - unit: "↑",
42 - currency: "美元",
43 - quantity: 1,
44 - unitPrice: "645.78",
45 - totalPrice: "645.78",
46 - notes: "山东电子口岸已写,加签后上传"
47 - },
48 - {
49 - index: 2,
50 - productNumber: "6704200000",
51 - productName: "真人发发夹",
52 - description: "测试内容",
53 - code: "2145860720",
54 - unit: "↑",
55 - currency: "美元",
56 - quantity: 2,
57 - unitPrice: "645.78",
58 - totalPrice: "645.78",
59 - notes: "山东电子口岸已写,加签后上传"
60 - },
61 - {
62 - index: 3,
63 - productNumber: "6704200000",
64 - productName: "真人发发夹",
65 - description: "测试内容",
66 - code: "2145860720",
67 - unit: "↑",
68 - currency: "美元",
69 - quantity: 3,
70 - unitPrice: "645.78",
71 - totalPrice: "645.78",
72 - notes: "山东电子口岸已写,加签后上传"
73 - },
74 - {
75 - index: 4,
76 - productNumber: "6704200000",
77 - productName: "真人发发夹",
78 - description: "测试内容",
79 - code: "2145860720",
80 - unit: "↑",
81 - currency: "美元",
82 - quantity: 1,
83 - unitPrice: "635.78",
84 - totalPrice: "635.78",
85 - notes: "山东电子口岸已写,加签后上传"
86 - }
87 - // 更多数据项...
88 - ]
89 - };
90 - },
91 - methods: {
92 - handleExpand(index) {
93 - console.log(`展开第 ${index + 1} 行数据`);
94 - }
95 - }
96 -}
97 -</script>
98 -
99 -<style scoped lang="scss">
100 -.el-table {
101 - font-size: 14px;
102 - //border: 1px solid red;
103 - //height: 180px;
104 - overflow: auto;
105 -}
106 -.el-icon-top {
107 - color: #409eff;
108 - font-size: 12px;
109 -}
110 -</style>
1 -<template>
2 - <div>
3 - <table class="custom-table">
4 - <thead>
5 - <tr>
6 - <th v-for="(header, index) in headers" :key="index">{{ header }}</th>
7 - <th v-if="showActionColumn">操作</th>
8 - </tr>
9 - </thead>
10 - <tbody>
11 - <tr v-for="(row, index) in tableData" :key="index">
12 - <td>{{ row.status }}</td>
13 - <td>{{ row.time }}</td>
14 - <td>{{ row.description }}</td>
15 - <td v-if="showActionColumn">
16 - <span class="action-link" @click="handleDownload(row, index)">
17 - 下载回执
18 - </span>
19 - </td>
20 - </tr>
21 - </tbody>
22 - </table>
23 - </div>
24 -</template>
25 -
26 -<script>
27 -export default {
28 - name: "ReceiptInfoTable",
29 - props: {
30 - // 控制操作列是否显示
31 - showActionColumn: {
32 - type: Boolean,
33 - default: true, // 默认显示操作列
34 - },
35 - },
36 - data() {
37 - return {
38 - headers: ["回执状态", "状态时间", "回执描述"],
39 - tableData: [
40 - {
41 - status: "山东电子口岸已上传",
42 - time: "2024-11-08 15:31:58",
43 - description:
44 - "订单变更申请报关单【f291cda6-f664-4bf5-8edc-bcc012f8775】单证不存在,不可报单申报,报文业务主键【24HX-11-40-3722960DYB】",
45 - },
46 - {
47 - status: "山东电子口岸已上传",
48 - time: "2024-11-08 15:31:58",
49 - description: "山东电子口岸已上传",
50 - },
51 - {
52 - status: "山东电子口岸已保存",
53 - time: "2024-11-08 15:30:45",
54 - description: "山东电子口岸已保存,加签后上传",
55 - },
56 - ],
57 - };
58 - },
59 - methods: {
60 - // 处理点击下载回执的事件
61 - handleDownload(row, index) {
62 - console.log("下载回执触发:", row, index);
63 - // 示例下载逻辑,可以根据实际需求添加下载操作
64 - alert(`开始下载回执:第 ${index + 1} 行`);
65 - },
66 - },
67 -};
68 -</script>
69 -
70 -<style scoped lang="scss">
71 -.custom-table {
72 - width: 100%;
73 - border-collapse: collapse;
74 - font-size: 14px;
75 - table-layout: fixed;
76 - background-color: white;
77 -}
78 -
79 -.custom-table th,
80 -.custom-table td {
81 - border: 1px solid #ccc;
82 - padding: 8px 12px;
83 - text-align: left;
84 - word-wrap: break-word;
85 -}
86 -
87 -.custom-table thead {
88 - background-color: #f5f5f5;
89 -}
90 -
91 -.custom-table th {
92 - font-weight: bold;
93 -}
94 -
95 -.custom-table tr:nth-child(odd) {
96 - background-color: #fafafa;
97 -}
98 -
99 -.action-link {
100 - color: #409eff;
101 - cursor: pointer;
102 - text-decoration: none;
103 -}
104 -
105 -.action-link:hover {
106 - text-decoration: underline;
107 -}
108 -</style>
...@@ -189,7 +189,7 @@ export default { ...@@ -189,7 +189,7 @@ export default {
189 cancel: this.$t("system.close"), 189 cancel: this.$t("system.close"),
190 } 190 }
191 ).then(() => { 191 ).then(() => {
192 - this.$store.dispatch("LogOut").then(() => { 192 + this.$store.dispatch("FedLogOut").then(() => {
193 location.href = process.env.VUE_APP_BASE_LOGINOUT; 193 location.href = process.env.VUE_APP_BASE_LOGINOUT;
194 }); 194 });
195 }); 195 });
......
...@@ -90,7 +90,7 @@ export const constantRoutes = [ ...@@ -90,7 +90,7 @@ export const constantRoutes = [
90 ] 90 ]
91 }, 91 },
92 { 92 {
93 - path: '/', 93 + path: '/export',
94 component: Layout, 94 component: Layout,
95 hidden: false, 95 hidden: false,
96 redirect: 'index', 96 redirect: 'index',
...@@ -106,6 +106,7 @@ export const constantRoutes = [ ...@@ -106,6 +106,7 @@ export const constantRoutes = [
106 path: '/exportBillDetail', 106 path: '/exportBillDetail',
107 component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), 107 component: (resolve) => require(['@/views/exportBillDetail/index'], resolve),
108 hidden: true, 108 hidden: true,
109 + name:'ExportBillDetail',
109 meta: { title: '出口订单详情', icon: '' }, 110 meta: { title: '出口订单详情', icon: '' },
110 }, 111 },
111 { 112 {
...@@ -168,7 +169,7 @@ export const constantRoutes = [ ...@@ -168,7 +169,7 @@ export const constantRoutes = [
168 ] 169 ]
169 }, 170 },
170 { 171 {
171 - path: '/', 172 + path: '/summary',
172 component: Layout, 173 component: Layout,
173 hidden: false, 174 hidden: false,
174 redirect: 'index', 175 redirect: 'index',
...@@ -188,6 +189,45 @@ export const constantRoutes = [ ...@@ -188,6 +189,45 @@ export const constantRoutes = [
188 } 189 }
189 ] 190 ]
190 }, 191 },
192 + {
193 + path: '/system',
194 + component: Layout,
195 + hidden: false,
196 + redirect: 'index',
197 + meta: { title: '系统管理', icon: 'fedexQueue' },
198 + children: [
199 + {
200 + path: '/portConfig',
201 + component: (resolve) => require(['@/views/portConfig/index'], resolve),
202 + hidden: false,
203 + meta: { title: '口岸信息管理', icon: '' }
204 + },
205 + {
206 + path: '/userConfig',
207 + component: (resolve) => require(['@/views/userConfig/index'], resolve),
208 + hidden: false,
209 + meta: { title: '客户管理', icon: '' }
210 + },
211 + {
212 + path: '/passwordIpConfig',
213 + component: (resolve) => require(['@/views/passwordIpConfig/index'], resolve),
214 + hidden: false,
215 + meta: { title: '密码机管理', icon: '' }
216 + },
217 + {
218 + path: '/userRoleConfig',
219 + component: (resolve) => require(['@/views/userRoleConfig/index'], resolve),
220 + hidden: false,
221 + meta: { title: '用户管理权限', icon: '' }
222 + },
223 + {
224 + path: '/roleConfig',
225 + component: (resolve) => require(['@/views/roleConfig/index'], resolve),
226 + hidden: false,
227 + meta: { title: '角色管理权限', icon: '' }
228 + },
229 + ]
230 + },
191 ] 231 ]
192 232
193 export default new Router({ 233 export default new Router({
......
This diff is collapsed. Click to expand it.
1 +<template>
2 + <Table
3 + class="fedexDetialTable fedexTableBlack tableHeightAuto bodyTable"
4 + :data="tableData"
5 + :headerData="bodyHeader"
6 + :order="true"
7 + :border="false"
8 + :pagination="false"
9 + :pageSizes="[20, 30, 50, 100]"
10 + noLabel="序号"
11 + rowKey="index"
12 + emptyText="暂无数据"
13 + :rowStyleType="true"
14 + :rowStyleOption="{
15 + key: 'isError',
16 + value: 1,
17 + className: 'tableErrorRow',
18 + }"
19 + :expandRowKeys="expandRowKeys"
20 + >
21 + <template slot="optionColumn">
22 + <el-table-column
23 + header-align="center"
24 + align="center"
25 + label="操作"
26 + width="120"
27 + >
28 + <template slot-scope="scope">
29 + <!-- 展开/收起 -->
30 + <el-button
31 + type="text"
32 + @click="
33 + expandRowKeys.includes(scope.row.index)
34 + ? closeEdit()
35 + : editDetail(scope.row)
36 + "
37 + >
38 + <!-- 收起 -->
39 + <span v-show="expandRowKeys.includes(scope.row.index)">
40 + <svg-icon icon-class="upIcon" />
41 + {{ $t("entry.detial.form.up") }}
42 + </span>
43 + <!-- 展开 -->
44 + <span v-show="!expandRowKeys.includes(scope.row.index)"
45 + ><svg-icon icon-class="downIcon" />
46 + {{ $t("entry.detial.form.down") }}
47 + </span>
48 + </el-button>
49 + </template>
50 + </el-table-column>
51 + </template>
52 + </Table>
53 +</template>
54 +
55 +<script>
56 +export default {
57 + props: {
58 + tableData: {
59 + type: Array,
60 + default() {
61 + return [];
62 + },
63 + },
64 + bodyHeader: {
65 + type: Array,
66 + default() {
67 + return [];
68 + },
69 + },
70 + },
71 + data() {
72 + return {
73 + expandRowKeys: [],
74 + };
75 + },
76 + methods: {},
77 +};
78 +</script>
79 +
80 +<style scoped lang="scss">
81 +.fedexDetialTable {
82 + max-height: 310px;
83 +}
84 +</style>
1 +<template>
2 + <Table
3 + class="fedexDetialTable fedexTableBlack tableHeightAuto bodyTable"
4 + ref="entryTable"
5 + :data="tableData"
6 + :headerData="headerData"
7 + :maxHeight="300"
8 + :border="false"
9 + :pagination="false"
10 + :order="false"
11 + :page="1"
12 + :pageSizes="[20, 30, 50, 100]"
13 + :totalCount="0"
14 + :selection="false"
15 + :selectFixed="false"
16 + :rowSelectDataType="false"
17 + ></Table>
18 +</template>
19 +
20 +<script>
21 +export default {
22 + name: "ReceiptInfoTable",
23 + props: {
24 + tableData: {
25 + type: Array,
26 + default() {
27 + return [];
28 + },
29 + },
30 + headerData: {
31 + type: Array,
32 + default() {
33 + return [
34 + {
35 + name: "回执状态",
36 + value: "",
37 + width: "",
38 + align: "left",
39 + },
40 + {
41 + name: "状态时间",
42 + value: "",
43 + width: "",
44 + align: "left",
45 + },
46 + {
47 + name: "回执描述",
48 + value: "",
49 + width: "",
50 + align: "left",
51 + },
52 + ];
53 + },
54 + },
55 + },
56 + data() {
57 + return {};
58 + },
59 + methods: {},
60 +};
61 +</script>
62 +
63 +<style scoped lang="scss">
64 +.fedexDetialTable {
65 + max-height: 310px;
66 +}
67 +</style>
1 -<template>
2 - <!-- 表体 -->
3 - <Table
4 - class="fedexDetialTable"
5 - :data="tableData"
6 - :headerData="headerData"
7 - @rowClick="rowClick"
8 - maxHeight="300px"
9 - :order="false"
10 - :border="false"
11 - :pagination="false"
12 - :pageSizes="[20, 30, 50, 100]"
13 - :highlightCurrentRow="false"
14 - >
15 - <template v-slot:skuCode="scope">
16 - <el-tooltip
17 - class="item"
18 - effect="dark"
19 - :content="scope.row.model"
20 - placement="right"
21 - >
22 - <span>{{ scope.row.skuCode }}</span>
23 - </el-tooltip>
24 - </template>
25 - <template v-slot:knockdownNumber="scope">
26 - <span
27 - >{{ scope.row.knockdownNumber | clearNull }}
28 - {{ scope.row.knockdownUnit | clearNull }}</span
29 - >
30 - </template>
31 - <template v-slot:qtyLegalFirst="scope">
32 - <span
33 - >{{ scope.row.qtyLegalFirst | clearNull }}
34 - {{ scope.row.unitLegalFirst | clearNull }}</span
35 - >
36 - </template>
37 - <template v-slot:qtyLegalSecond="scope">
38 - <span
39 - >{{ scope.row.qtyLegalSecond | clearNull }}
40 - {{ scope.row.unitLegalSecond | clearNull }}</span
41 - >
42 - </template>
43 - <template v-slot:amount="scope">
44 - <span
45 - >{{ scope.row.amount | clearNull }}
46 - {{ scope.row.currency | clearNull }}</span
47 - >
48 - </template>
49 - </Table>
50 -</template>
51 -
52 -<script>
53 -export default {
54 - props: {
55 - tableData: {
56 - type: Array,
57 - default: null,
58 - },
59 - headerData: {
60 - type: Array,
61 - default: null,
62 - },
63 - activeDetial: {
64 - type: Object,
65 - default: null,
66 - },
67 - dictData: {
68 - type: Object,
69 - default: null,
70 - },
71 - },
72 - data() {
73 - return {
74 - formData: this.activeDetial,
75 - expandRowKeys: [],
76 - unit: [],
77 - levyType: [],
78 - currency: [],
79 - country: [],
80 - };
81 - },
82 - watch: {
83 - activeDetial(val) {
84 - if (val == null) {
85 - this.expandRowKeys = [];
86 - }
87 - this.formData = val;
88 - },
89 - detialsData(val) {
90 - this.tableData = val;
91 - },
92 - },
93 - methods: {
94 - rowClick(val) {
95 - this.$emit("rowClick", val);
96 - },
97 - },
98 - filters: {
99 - clearNull(value) {
100 - if (value == null) {
101 - return "";
102 - } else {
103 - return value;
104 - }
105 - },
106 - },
107 -};
108 -</script>
109 -
110 -<style lang="scss" scoped>
111 -::v-deep .el-table tr {
112 - background-color: #f2f2f2 !important;
113 - border: 0;
114 -}
115 -
116 -::v-deep .el-table--enable-row-hover .el-table__body tr:hover > td {
117 - background-color: #f2f2f2 !important;
118 -}
119 -</style>
1 -<template>
2 - <el-dialog
3 - :title="$t('declaration.indexD.dialogTitle')"
4 - :visible="bodyDialogVisible"
5 - width="65%"
6 - center
7 - @close="closeDialog"
8 - @open="openDialog"
9 - >
10 - <!-- 表头 -->
11 - <el-form
12 - class="fedexFormStyle"
13 - ref="bodyDialogForm"
14 - v-loading="dialogLoading"
15 - :model="formInfo"
16 - label-position="top"
17 - :disabled="disabled"
18 - >
19 - <el-row :gutter="5">
20 - <!-- 中文品名 -->
21 - <el-col :span="8">
22 - <Formitem
23 - :label="$t('entry.detial.form.label1')"
24 - :type="type"
25 - prop="inputItem"
26 - :disabled="false"
27 - >
28 - <el-input
29 - type="text"
30 - :id="'inputInner-' + type + '-inputItem'"
31 - v-model="formInfo.inputItem"
32 - @blur="inputItemBlur"
33 - ></el-input>
34 - </Formitem>
35 - </el-col>
36 - <!-- 商品编号 -->
37 - <el-col :span="8">
38 - <Formitem
39 - :label="$t('entry.detial.form.label3')"
40 - :type="type"
41 - prop="skuCode"
42 - :disabled="false"
43 - >
44 - <el-input
45 - type="text"
46 - :id="'inputInner-' + type + '-skuCode'"
47 - v-model="formInfo.skuCode"
48 - @blur="inputItemBlur"
49 - ></el-input>
50 - </Formitem>
51 - </el-col>
52 - <!-- 商品名称 -->
53 - <el-col :span="8">
54 - <Formitem
55 - :label="$t('entry.skuCodeDialog.table.label2')"
56 - :type="type"
57 - prop="skuName"
58 - :disabled="false"
59 - >
60 - <el-input
61 - type="text"
62 - :id="'inputInner-' + type + '-skuName'"
63 - v-model="formInfo.skuName"
64 - @blur="inputItemBlur"
65 - ></el-input>
66 - </Formitem>
67 - </el-col>
68 - </el-row>
69 - <el-row :gutter="5" v-for="(rowItem, idx) in rowList" :key="idx">
70 - <el-col :span="6" v-for="(item, index) in rowItem" :key="index">
71 - <Formitem :label="item.element" :prop="item.key" :disabled="false">
72 - <el-input
73 - v-if="
74 - item.element != '品牌类型' && item.element != '出口享惠情况'
75 - "
76 - type="text"
77 - :id="'inputInner--' + item.key"
78 - v-model="elementForm[item.key]"
79 - ></el-input>
80 - <el-select
81 - v-else-if="item.element == '品牌类型'"
82 - :id="'inputInner--' + item.key"
83 - v-model="elementForm[item.key]"
84 - placeholder=""
85 - >
86 - <el-option
87 - v-for="(val, idx) in dictData.brandType"
88 - :key="idx"
89 - :label="val.name"
90 - :value="val.code"
91 - ></el-option>
92 - </el-select>
93 - <el-select
94 - v-else-if="item.element == '出口享惠情况'"
95 - :id="'inputInner--' + item.key"
96 - v-model="elementForm[item.key]"
97 - placeholder=""
98 - >
99 - <el-option
100 - v-for="(val, idx) in dictData.exportBenefits"
101 - :key="idx"
102 - :label="val.name"
103 - :value="val.code"
104 - ></el-option>
105 - </el-select>
106 - </Formitem>
107 - </el-col>
108 - </el-row>
109 - </el-form>
110 - </el-dialog>
111 -</template>
112 -
113 -<script>
114 -import { getHscode } from "@/api/detial-api.js";
115 -export default {
116 - props: {
117 - formInfo: {
118 - type: Object,
119 - default: null,
120 - },
121 - dictData: {
122 - type: Object,
123 - default: null,
124 - },
125 - bodyDialogVisible: {
126 - type: Boolean,
127 - default: null,
128 - },
129 - disabled: {
130 - type: Boolean,
131 - default() {
132 - return false;
133 - },
134 - },
135 - type: {
136 - type: String,
137 - default: "",
138 - },
139 - },
140 - data() {
141 - return {
142 - visible: this.bodyDialogVisible,
143 - dialogLoading: false,
144 - rowList: [],
145 - elementForm: {
146 - element0: "",
147 - element1: "",
148 - element2: "",
149 - element3: "",
150 - element4: "",
151 - element5: "",
152 - element6: "",
153 - element7: "",
154 - element8: "",
155 - element9: "",
156 - element10: "",
157 - element11: "",
158 - element12: "",
159 - element13: "",
160 - element14: "",
161 - element15: "",
162 - element16: "",
163 - element17: "",
164 - element18: "",
165 - element19: "",
166 - element20: "",
167 - },
168 - };
169 - },
170 - watch: {},
171 - methods: {
172 - inputItemBlur(val) {
173 - this.$emit("inputItemBlur", this.activeDetial);
174 - },
175 - closeDialog() {
176 - (this.elementForm = {
177 - element0: "",
178 - element1: "",
179 - element2: "",
180 - element3: "",
181 - element4: "",
182 - element5: "",
183 - element6: "",
184 - element7: "",
185 - element8: "",
186 - element9: "",
187 - element10: "",
188 - element11: "",
189 - element12: "",
190 - element13: "",
191 - element14: "",
192 - element15: "",
193 - element16: "",
194 - element17: "",
195 - element18: "",
196 - element19: "",
197 - element20: "",
198 - }),
199 - (this.rowList = []);
200 - this.visible = false;
201 - this.$emit("closeDialog", this.visible);
202 - },
203 - openDialog() {
204 - this.dialogLoading = true;
205 - let arr = this.formInfo.model.split("|");
206 - arr.forEach((item, index) => {
207 - if (item.split(":")[0] != "品名") {
208 - if (item.split(":")[0] == "品牌类型") {
209 - this.elementForm[`element${index}`] = item.split(":")[1]
210 - ? "brandType_" + item.split(":")[1]
211 - : "";
212 - } else if (item.split(":")[0] == "出口享惠情况") {
213 - this.elementForm[`element${index}`] = item.split(":")[1]
214 - ? "exportBenefits_" + item.split(":")[1]
215 - : "";
216 - } else {
217 - this.elementForm[`element${index}`] = item.split(":")[1]
218 - ? item.split(":")[1]
219 - : "";
220 - }
221 - }
222 - });
223 - return new Promise((resolve, reject) => {
224 - getHscode({
225 - condition: this.formInfo.skuCode,
226 - pageIndex: 1,
227 - pageSize: 20,
228 - })
229 - .then((res) => {
230 - if (res.code === "200") {
231 - this.rowList = []
232 - let codeInfo = res.data.extra.hsCodes;
233 - let elementList = this.hscodeElementInfo(codeInfo[0]);
234 - let elementItem = [];
235 - let arr = [];
236 - elementList.forEach((item, index) => {
237 - if (item.element != "品名") {
238 - if (elementItem.length < 4) {
239 - elementItem.push(item);
240 - if (index == elementList.length - 1) {
241 - arr.push(elementItem);
242 - // this.rowList.push(elementItem);
243 - elementItem = [];
244 - }
245 - } else {
246 - // this.rowList.push(elementItem);
247 - arr.push(elementItem);
248 - elementItem = [];
249 - if (index == elementList.length - 1) {
250 - elementItem.push(item);
251 - // this.rowList.push(elementItem);
252 - arr.push(elementItem);
253 - } else {
254 - elementItem.push(item);
255 - }
256 - }
257 - }
258 - });
259 - this.rowList = arr;
260 - this.dialogLoading = false;
261 - resolve();
262 - } else {
263 - this.alertWarningMsg(res.message);
264 - reject();
265 - }
266 - })
267 - .catch((err) => {
268 - reject();
269 - });
270 - });
271 - },
272 - },
273 - filters: {
274 - clearNull(value) {
275 - if (value == null) {
276 - return "";
277 - } else {
278 - return value;
279 - }
280 - },
281 - },
282 -};
283 -</script>
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
...@@ -174,7 +174,9 @@ ...@@ -174,7 +174,9 @@
174 <span>{{ scope.row.returnStatus }}</span> 174 <span>{{ scope.row.returnStatus }}</span>
175 </template> 175 </template>
176 <template v-slot:orderNo="scope"> 176 <template v-slot:orderNo="scope">
177 - <el-button type="text">{{ scope.row.orderNo }}</el-button> 177 + <el-button type="text" @click="view(scope.row)">{{
178 + scope.row.orderNo
179 + }}</el-button>
178 </template> 180 </template>
179 </Table> 181 </Table>
180 </div> 182 </div>
...@@ -325,6 +327,13 @@ export default { ...@@ -325,6 +327,13 @@ export default {
325 }, 327 },
326 //导出 328 //导出
327 downloadData() {}, 329 downloadData() {},
330 + //查询详情
331 + view(val) {
332 + this.$router.push({
333 + name: "ExportBillDetail",
334 + params: { data: val },
335 + });
336 + },
328 //文本域展示状态切换 337 //文本域展示状态切换
329 textareaFocus(val) { 338 textareaFocus(val) {
330 this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; 339 this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true;
......
...@@ -1309,8 +1309,8 @@ ...@@ -1309,8 +1309,8 @@
1309 </template> 1309 </template>
1310 1310
1311 <script> 1311 <script>
1312 -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; 1312 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
1313 -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; 1313 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
1314 1314
1315 export default { 1315 export default {
1316 name: "exportTransportDetail.vue", 1316 name: "exportTransportDetail.vue",
......
...@@ -290,7 +290,6 @@ ...@@ -290,7 +290,6 @@
290 </template> 290 </template>
291 291
292 <script> 292 <script>
293 -import {getAllExportingBills, getAllListBills} from "@/api/query/query";
294 import PopoverTextarea from "@/components/PopoverTextarea/index.vue"; 293 import PopoverTextarea from "@/components/PopoverTextarea/index.vue";
295 294
296 export default { 295 export default {
...@@ -395,15 +394,6 @@ export default { ...@@ -395,15 +394,6 @@ export default {
395 } 394 }
396 }, 395 },
397 created() { 396 created() {
398 - getAllListBills({
399 - pageIndex: 1,
400 - pageSize: 20
401 - }).then((res) => {
402 - console.log('res', res)
403 - this.tableData = res.data.value;
404 - this.total = res.data.totalItems;
405 - debugger;
406 - })
407 }, 397 },
408 methods: { 398 methods: {
409 input() { 399 input() {
......
...@@ -417,8 +417,8 @@ ...@@ -417,8 +417,8 @@
417 </template> 417 </template>
418 418
419 <script> 419 <script>
420 -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; 420 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
421 -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; 421 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
422 422
423 export default { 423 export default {
424 name: "exportTransportDetail.vue", 424 name: "exportTransportDetail.vue",
......
...@@ -584,8 +584,8 @@ ...@@ -584,8 +584,8 @@
584 </template> 584 </template>
585 585
586 <script> 586 <script>
587 -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; 587 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
588 -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; 588 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
589 589
590 export default { 590 export default {
591 name: "index.vue", 591 name: "index.vue",
......
...@@ -154,7 +154,6 @@ ...@@ -154,7 +154,6 @@
154 </template> 154 </template>
155 155
156 <script> 156 <script>
157 -import {getAllExportingBills, getAllTransportBills} from "@/api/query/query";
158 157
159 export default { 158 export default {
160 name: "index", 159 name: "index",
...@@ -256,15 +255,6 @@ export default { ...@@ -256,15 +255,6 @@ export default {
256 } 255 }
257 }, 256 },
258 created() { 257 created() {
259 - getAllTransportBills({
260 - pageIndex: 1,
261 - pageSize: 20
262 - }).then((res) => {
263 - console.log('res', res)
264 - this.tableData = res.data.value;
265 - this.total = res.data.totalItems;
266 - debugger;
267 - })
268 }, 258 },
269 methods: { 259 methods: {
270 tableSelect(val) { 260 tableSelect(val) {
......
...@@ -489,8 +489,8 @@ ...@@ -489,8 +489,8 @@
489 </template> 489 </template>
490 490
491 <script> 491 <script>
492 -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; 492 +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
493 -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; 493 +import ProductDetailTable from "../components/ProductDetailTable/index.vue";
494 494
495 export default { 495 export default {
496 name: "index.vue", 496 name: "index.vue",
......
...@@ -205,7 +205,6 @@ ...@@ -205,7 +205,6 @@
205 split-button 205 split-button
206 type="primary" 206 type="primary"
207 v-loading="loadings.dropDownLoading" 207 v-loading="loadings.dropDownLoading"
208 - :disabled="selected.length == 0"
209 @command="dropdownChange" 208 @command="dropdownChange"
210 @click="declareData" 209 @click="declareData"
211 > 210 >
...@@ -220,7 +219,7 @@ ...@@ -220,7 +219,7 @@
220 > 219 >
221 <el-dropdown-item 220 <el-dropdown-item
222 :command="{ code: 'order', name: '订单申报' }" 221 :command="{ code: 'order', name: '订单申报' }"
223 - ></el-dropdown-item> 222 + >订单申报</el-dropdown-item>
224 <el-dropdown-item :command="{ code: 'waybill', name: '物流单申报' }" 223 <el-dropdown-item :command="{ code: 'waybill', name: '物流单申报' }"
225 >物流单申报</el-dropdown-item 224 >物流单申报</el-dropdown-item
226 > 225 >
...@@ -565,6 +564,7 @@ export default { ...@@ -565,6 +564,7 @@ export default {
565 downloadData() {}, 564 downloadData() {},
566 //申报 565 //申报
567 declareData() { 566 declareData() {
567 + if(this.selected.length > 0){
568 this.loadings.dropDownLoading = true; 568 this.loadings.dropDownLoading = true;
569 let obj = { 569 let obj = {
570 declareIds: [], 570 declareIds: [],
...@@ -586,6 +586,9 @@ export default { ...@@ -586,6 +586,9 @@ export default {
586 console.log(err); 586 console.log(err);
587 this.loadings.dropDownLoading = false; 587 this.loadings.dropDownLoading = false;
588 }); 588 });
589 + }else{
590 + this.alertWarningMsg('请选择数据!')
591 + }
589 }, 592 },
590 //切换申报模式 593 //切换申报模式
591 dropdownChange(val) { 594 dropdownChange(val) {
......