zhengquan.bai

调用出口订单的表格接口

1 +import request from '@/utils/request'
2 +
3 +/**
4 + */
5 +export function queryBills(data) {
6 + return request({
7 + url: '/bus-employees/rde/op/approve/check',
8 + method: 'post',
9 + data: data
10 + })
11 +}
12 +
13 +
14 +/**
15 + * 查询菜单
16 + */
17 +export function getAllMenus() {
18 + return request({
19 + url: '/menu/selectAllMenu',
20 + method: 'get'
21 + })
22 +}
23 +
24 +export function getAllExportingBills(data) {
25 + return request({
26 + url: '/bus-customer/exportOrder/search',
27 + method: 'post',
28 + data
29 + })
30 +}
...@@ -71,4 +71,4 @@ export default { ...@@ -71,4 +71,4 @@ export default {
71 background: rgba(0, 0, 0, .025) 71 background: rgba(0, 0, 0, .025)
72 } 72 }
73 } 73 }
74 -</style>
...\ No newline at end of file ...\ No newline at end of file
74 +</style>
......
...@@ -82,11 +82,56 @@ export const constantRoutes = [ ...@@ -82,11 +82,56 @@ export const constantRoutes = [
82 meta: { title: '系统管理', icon: 'fedexSystem' }, 82 meta: { title: '系统管理', icon: 'fedexSystem' },
83 children: [ 83 children: [
84 { 84 {
85 - path: '/apiManager', 85 + path: '/reportingData',
86 component: (resolve) => require(['@/views/AuditionEntrySearch/index'], resolve), 86 component: (resolve) => require(['@/views/AuditionEntrySearch/index'], resolve),
87 hidden: false, 87 hidden: false,
88 - meta: { title: 'API客户信息维护', icon: 'api' } 88 + meta: { title: '申报数据管理', icon: 'api' }
89 + }
90 + ]
91 + },
92 + {
93 + path: '/',
94 + component: Layout,
95 + hidden: false,
96 + redirect: 'index',
97 + meta: { title: '查询管理', icon: 'fedexSystem' },
98 + children: [
99 + {
100 + path: '/apiManager',
101 + component: (resolve) => require(['@/views/exportBillQuery/index'], resolve),
102 + hidden: false,
103 + meta: { title: '出口订单查询', icon: 'api' },
104 + },
105 + {
106 + path: 'index',
107 + component: (resolve) => require(['@/views/index'], resolve),
108 + name: '首页',
109 + meta: { title: '出口运单查询', icon: 'dashboard' }
110 + },
111 + {
112 + path: 'index',
113 + component: (resolve) => require(['@/views/index'], resolve),
114 + name: '首页',
115 + meta: { title: '出口清单查询', icon: 'dashboard' }
116 + },
117 + {
118 + path: 'index',
119 + component: (resolve) => require(['@/views/index'], resolve),
120 + name: '首页',
121 + meta: { title: '清单总分单查询', icon: 'dashboard' }
89 }, 122 },
123 + {
124 + path: 'index',
125 + component: (resolve) => require(['@/views/index'], resolve),
126 + name: '首页',
127 + meta: { title: '物流离境单查询', icon: 'dashboard' }
128 + },
129 + {
130 + path: 'index',
131 + component: (resolve) => require(['@/views/index'], resolve),
132 + name: '首页',
133 + meta: { title: '出口撤销单查询', icon: 'dashboard' }
134 + }
90 ] 135 ]
91 }, 136 },
92 ] 137 ]
......
1 +<template>
2 + <div>
3 + <div class="entrySreach" ref="classCPortEntry">
4 + <el-form
5 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
6 + ref="sreachForm"
7 + :model="searchForm"
8 + label-position="top"
9 + size="small"
10 + >
11 + <el-row class="row-border">
12 + <el-col :span="5">
13 + <Formitem label="运单编号" prop="consignmentCode">
14 + <el-popover
15 + placement="bottom"
16 + width="320"
17 + trigger="manual"
18 + popper-class="popoverconsignmentCode"
19 + v-model="textareaVisible.formItemconsignmentCode"
20 + >
21 + <el-input
22 + name="consignmentCode-textarea"
23 + type="textarea"
24 + :rows="5"
25 + id="popoverInputconsignmentCode"
26 + class="inputShadow textareaPopover"
27 + v-model="searchForm.consignmentCode"
28 + resize="none"
29 + maxlength="13000"
30 + placeholder=""
31 + @blur="textareaBlur"
32 + @input="input"
33 + ></el-input>
34 + <el-input
35 + slot="reference"
36 + name="consignmentCode"
37 + type="textarea"
38 + :rows="1"
39 + class="inputShadow"
40 + id="inputInner--consignmentCode"
41 + v-model="searchForm.consignmentCode"
42 + resize="none"
43 + placeholder=""
44 + @focus="textareaFocus"
45 + @input="input"
46 + ></el-input>
47 + </el-popover>
48 + </Formitem>
49 + </el-col>
50 + <el-col :span="4">
51 + <Formitem label="物流企业代码" prop="factoryCode">
52 + <el-select
53 + type="text"
54 + id="inputInner--declaredPort"
55 + v-model="searchForm.declaredPort"
56 + clearable
57 + placeholder=""
58 + @change="portChange"
59 + >
60 + <el-option
61 + v-for="(item, index) in dictData.userport"
62 + :key="index"
63 + :label="item.name"
64 + :value="item.name"
65 + ></el-option>
66 + </el-select>
67 + </Formitem>
68 + </el-col>
69 +
70 + <el-col :span="4">
71 + <Formitem label="回执状态" prop="receiptStatus">
72 + <el-select
73 + type="text"
74 + id="inputInner--declaredPort"
75 + v-model="searchForm.declaredPort"
76 + clearable
77 + placeholder=""
78 + @change="portChange"
79 + >
80 + <el-option
81 + v-for="(item, index) in dictData.userport"
82 + :key="index"
83 + :label="item.name"
84 + :value="item.name"
85 + ></el-option>
86 + </el-select>
87 + </Formitem>
88 + </el-col>
89 +
90 + <el-col :span="5">
91 + <Formitem
92 + label="创建时间"
93 + prop="createTime"
94 + :activeType="true"
95 + >
96 + <el-date-picker
97 + class="inputInner--accsDataImportTime"
98 + id="inputInner--accsDataImportTime"
99 + v-model="searchForm.accsDataImportTime"
100 + type="daterange"
101 + format="yyyy-MM-dd"
102 + prefix-icon="none"
103 + value-format="yyyyMMdd"
104 + range-separator="至"
105 + start-placeholder=""
106 + clearable
107 + end-placeholder=""
108 + :picker-options="importTimePickerOptions"
109 + @blur="datePickerBlur"
110 + @change="accsDataImportTimeChange"
111 + >
112 + </el-date-picker>
113 + </Formitem>
114 + </el-col>
115 +
116 + <el-col :span="2">
117 + <el-form-item class="textCenter">
118 + <el-button
119 + class="entrySreachButton"
120 + type="text"
121 + icon="el-icon-search"
122 + :loading="loadings.searchLoading"
123 + @click="search(0)"
124 + ></el-button>
125 + </el-form-item>
126 + </el-col>
127 +
128 + <el-col :span="4">
129 + <el-form-item class="textCenter">
130 + <el-button
131 + icon="el-icon-refresh"
132 + size="small"
133 + :loading="loadings.searchLoading"
134 + @click="search(0)"
135 + >重置
136 + </el-button>
137 + </el-form-item>
138 + </el-col>
139 + </el-row>
140 + </el-form>
141 + </div>
142 +
143 + <div style="text-align: right; margin: 10px">
144 + <el-button
145 + size="small"
146 + :loading="loadings.downloadLoading2"
147 + @click="downloadBpiData('log')"
148 + >
149 + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon>
150 + 导出
151 + </el-button>
152 + </div>
153 +
154 + <Table
155 + class="fedexDetialTable fedexSreachTable"
156 + ref="entryTable"
157 + :data="tableData"
158 + :headerData="headerData"
159 + :maxHeight="tableMaxheight"
160 + :border="true"
161 + :pagination="true"
162 + :order="false"
163 + :loading="loadings.sreachLoading"
164 + :page="page.pageIndex"
165 + :pageSizes="[20, 30, 50, 100]"
166 + :totalCount="total"
167 + @sizeChange="sizeChange"
168 + @currentChange="currentChange"
169 + :selection="true"
170 + :selectFixed="false"
171 + @tableSelect="tableSelect"
172 + @tableSelectAll="tableSelectAll"
173 + :rowSelectDataType="false"
174 + :selected="selected"
175 + >
176 + <template v-slot:waveName="scope">
177 + <span>{{ `${scope.row.waveName}(${scope.row.waveExt2})` }}</span>
178 + </template>
179 + </Table>
180 +
181 + </div>
182 +</template>
183 +
184 +<script>
185 +import {getAllExportingBills} from "@/api/query/query";
186 +
187 +export default {
188 + name: "index",
189 + data() {
190 + return {
191 + searchForm: {
192 + declaredPort: "",
193 + consStatus: "",
194 + consignmentCode: "",
195 + accsDataImportTime: [],
196 + ownerName: "",
197 + consignmentHeadCode: "",
198 + isPushCustomsSys: "",
199 + waitOperStatus: "",
200 + declTime: [],
201 + },
202 + selected: [],
203 + sizeChange(val) {
204 + this.page.pageSize = val;
205 + this.sreach(1);
206 + },
207 + //分页
208 + currentChange(val) {
209 + this.page.pageIndex = val.page;
210 + this.search(1);
211 + },
212 + tableSelect(val) {
213 + this.selected = val.selection;
214 + },
215 + tableSelectAll(val) {
216 + this.selected = val;
217 + },
218 + page: {
219 + pageIndex: 1,
220 + pageSize: 20,
221 + },
222 + tableData: [],
223 + tableMaxheight: null,
224 + total: 0,
225 + dictData: {
226 + userport: [
227 + {name: "Shanghai Port", code: "SH"},
228 + {name: "Beijing Port", code: "BJ"},
229 + {name: "Guangzhou Port", code: "GZ"},
230 + {name: "Shenzhen Port", code: "SZ"},
231 + {name: "Tianjin Port", code: "TJ"},
232 + ],
233 + },
234 + loadings: {
235 + searchLoading: false,
236 + },
237 + textareaVisible: {
238 + formItemconsignmentCode: false,
239 + formItemconsignmentHeadCode: false,
240 + },
241 + headerData: [
242 + {
243 + name: "回执状态",
244 + value: "returnStatus",
245 + width: "150",
246 + align: "left",
247 + },
248 + {
249 + name: "订单编号",
250 + value: "orderNo",
251 + width: '150',
252 + align: 'left'
253 + },
254 + {
255 + name: '订单类型',
256 + value: 'orderType',
257 + width: '150',
258 + align: 'left'
259 + },
260 + {
261 + name: '电商企业代码',
262 + value: 'ebccode',
263 + width: '200',
264 + align: 'left'
265 + },
266 + {
267 + name: '电商企业',
268 + value: 'ebcname',
269 + width: '200',
270 + align: 'left'
271 + },
272 + {
273 + name: '电商平台名称',
274 + value: 'ebpname',
275 + width: '250',
276 + align: 'left'
277 + },
278 + {
279 + name: '创建时间',
280 + value: 'createTime',
281 + width: '150',
282 + align: 'left'
283 + },
284 + {
285 + name: '申报企业',
286 + value: 'declaringEnterprise',
287 + width: '200',
288 + align: 'left'
289 + },
290 + {
291 + name: '申报类型',
292 + value: 'declaringType',
293 + width: '100',
294 + align: 'left'
295 + }
296 + ]
297 + }
298 + },
299 + created() {
300 + getAllExportingBills({
301 + pageIndex: 1,
302 + pageSize: 20
303 + }).then((res) => {
304 + console.log('res', res)
305 + this.tableData = res.data.value;
306 + this.total = res.data.totalItems;
307 + debugger;
308 + })
309 + },
310 + methods: {
311 + input() {
312 + this.$forceUpdate();
313 + },
314 + async search(val) {
315 + try {
316 +
317 + } catch (error) {
318 + console.error("搜索出错:", error);
319 + } finally {
320 + // 无论成功还是失败,关闭加载状态
321 + this.loadings.sreachLoading = false;
322 + }
323 + },
324 + textareaBlur(val) {
325 + let inputInner = document.querySelector(
326 + "#inputInner--" + val.target.name.split("-")[0]
327 + );
328 + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = false;
329 + inputInner.style.display = "block";
330 + this.$nextTick(() => {
331 + inputInner.blur();
332 + if (
333 + inputInner.value != undefined &&
334 + inputInner.value != "" &&
335 + inputInner.value != null
336 + ) {
337 + inputInner.classList.add("inputFocus");
338 + } else {
339 + inputInner.classList.remove("inputFocus");
340 + }
341 + });
342 + let arr = [];
343 + this.searchForm[val.target.name.split("-")[0]]
344 + .replace(/[\n\,\;\;]/g, ",")
345 + .replace(/[\t]/g, "")
346 + .split(",")
347 + .forEach((str, index) => {
348 + if (str != null && str != "" && index <= 1000) {
349 + arr.push(str.trim());
350 + }
351 + });
352 + this.searchForm[val.target.name.split("-")[0]] = arr.join("\n");
353 + this.$forceUpdate();
354 + },
355 + //文本域展示状态切换
356 + textareaFocus(val) {
357 + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true;
358 + this.$nextTick(() => {
359 + document
360 + .querySelector("#popoverInput" + val.target.name.split("-")[0])
361 + .focus();
362 + document.querySelector(
363 + "#inputInner--" + val.target.name.split("-")[0]
364 + ).style.display = "none";
365 + });
366 + },
367 + }
368 +}
369 +</script>
370 +
371 +<style scoped lang="scss">
372 +@import "@/assets/styles/variables.scss";
373 +
374 +.entrySreachButton {
375 + display: inline-block;
376 + font-size: 20px;
377 + color: $fedexButton !important;
378 +}
379 +</style>