zhanbo.xu

feat: 开发监管场所管理

1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 2
3 // 获取路由所有路由 3 // 获取路由所有路由
4 export const getRouters = () => { 4 export const getRouters = () => {
5 return request({ 5 return request({
6 - url: '/bus-customer/menu/selectMenu', 6 + url: "/bus-customer/menu/selectMenu",
7 - method: 'get' 7 + method: "get",
8 - }) 8 + });
9 -} 9 +};
10 10
11 //获取用户可访问的路由 11 //获取用户可访问的路由
12 export const getUserRouters = () => { 12 export const getUserRouters = () => {
13 return request({ 13 return request({
14 - url: '/bus-customer/obtainUserRights', 14 + url: "/bus-customer/obtainUserRights",
15 - method: 'post' 15 + method: "post",
16 - }) 16 + });
17 -} 17 +};
18 +
19 +// /menu/addMenu 添加菜单
20 +export const addMenu = (data) => {
21 + return request({
22 + url: "/bus-customer/menu/addMenu",
23 + method: "post",
24 + data: data,
25 + });
26 +};
27 +
28 +// PUT /menu​/deleteMenu 删除菜单
29 +export const deleteMenu = (data) => {
30 + return request({
31 + url: `/bus-customer/menu/deleteMenu?menuId=${data.menuId}`,
32 + method: "put",
33 + });
34 +};
35 +
36 +// POST /menu​/updateMenu 更新菜单
37 +export const updateMenu = (data) => {
38 + return request({
39 + url: "/bus-customer/menu/updateMenu",
40 + method: "post",
41 + data: data,
42 + });
43 +};
......
1 +import request from "@/utils/request";
2 +
3 +// POST
4 +// ​/operatorPlace​/addOperatorPlace
5 +// 新增监管场所
6 +export function addOperatorPlace(data) {
7 + return request({
8 + url: "/bus-customer/operatorPlace​/addOperatorPlace",
9 + method: "post",
10 + data: data,
11 + });
12 +}
13 +
14 +// POST
15 +// ​/operatorPlace​/getOperatorPlaceList
16 +// 查询监管场所列表
17 +export function getOperatorPlaceList(data) {
18 + return request({
19 + url: "/bus-customer/operatorPlace​/getOperatorPlaceList",
20 + method: "post",
21 + data: data,
22 + });
23 +}
24 +
25 +// POST
26 +// ​/operatorPlace​/updateOperatorPlace
27 +// 修改监管场所
28 +export function updateOperatorPlace(data) {
29 + return request({
30 + url: "/bus-customer/operatorPlace​/updateOperatorPlace",
31 + method: "post",
32 + data: data,
33 + });
34 +}
1 -@import './variables.scss'; 1 +@import "./variables.scss";
2 -@import './mixin.scss'; 2 +@import "./mixin.scss";
3 -@import './transition.scss'; 3 +@import "./transition.scss";
4 -@import './element-ui.scss'; 4 +@import "./element-ui.scss";
5 -@import './sidebar.scss'; 5 +@import "./sidebar.scss";
6 -@import './btn.scss'; 6 +@import "./btn.scss";
7 7
8 //fedex样式 8 //fedex样式
9 // .el-loading-spinner .path { 9 // .el-loading-spinner .path {
...@@ -12,1060 +12,1024 @@ ...@@ -12,1060 +12,1024 @@
12 12
13 // checkbox 13 // checkbox
14 .el-checkbox__inner { 14 .el-checkbox__inner {
15 - width: 1.25rem; 15 + width: 1.25rem;
16 - min-width: 1.25rem; 16 + min-width: 1.25rem;
17 - height: 1.25rem; 17 + height: 1.25rem;
18 - border: 2px solid $fedexButton; 18 + border: 2px solid $fedexButton;
19 - content: ""; 19 + content: "";
20 - box-sizing: border-box; 20 + box-sizing: border-box;
21 } 21 }
22 22
23 .el-checkbox__input.is-indeterminate .el-checkbox__inner { 23 .el-checkbox__input.is-indeterminate .el-checkbox__inner {
24 - background-color: #fff; 24 + background-color: #fff;
25 - border-color: $fedexButton !important; 25 + border-color: $fedexButton !important;
26 - color: $fedexButton !important; 26 + color: $fedexButton !important;
27 } 27 }
28 28
29 .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { 29 .el-checkbox__input.is-indeterminate .el-checkbox__inner::before {
30 - background-color: $fedexButton !important; 30 + background-color: $fedexButton !important;
31 - top: 7px; 31 + top: 7px;
32 } 32 }
33 33
34 .el-checkbox__input.is-focus .el-checkbox__inner { 34 .el-checkbox__input.is-focus .el-checkbox__inner {
35 - border-color: $fedexButton !important; 35 + border-color: $fedexButton !important;
36 } 36 }
37 37
38 .el-checkbox__inner:hover { 38 .el-checkbox__inner:hover {
39 - border-color: $fedexButton !important; 39 + border-color: $fedexButton !important;
40 } 40 }
41 41
42 .is-checked { 42 .is-checked {
43 - .el-checkbox__inner { 43 + .el-checkbox__inner {
44 - border: 2px solid $fedexButton !important; 44 + border: 2px solid $fedexButton !important;
45 - background-color: transparent !important; 45 + background-color: transparent !important;
46 - } 46 + }
47 47
48 - .el-checkbox__inner::after { 48 + .el-checkbox__inner::after {
49 - border: 2px solid $fedexButton; 49 + border: 2px solid $fedexButton;
50 - border-top: 0; 50 + border-top: 0;
51 - border-right: 0; 51 + border-right: 0;
52 - // left: 0.3125rem; 52 + // left: 0.3125rem;
53 - display: block; 53 + display: block;
54 - position: absolute; 54 + position: absolute;
55 - content: " "; 55 + content: " ";
56 - top: 0.2rem; 56 + top: 0.2rem;
57 - width: 0.625rem; 57 + width: 0.625rem;
58 - height: 0.3125rem; 58 + height: 0.3125rem;
59 - box-sizing: border-box; 59 + box-sizing: border-box;
60 - transform: rotate(-45deg) scaleY(1) !important; 60 + transform: rotate(-45deg) scaleY(1) !important;
61 - } 61 + }
62 } 62 }
63 63
64 //radio 64 //radio
65 .el-radio__input { 65 .el-radio__input {
66 - .el-radio__inner { 66 + .el-radio__inner {
67 - width: 16px; 67 + width: 16px;
68 - height: 16px; 68 + height: 16px;
69 - border: 2px solid $fedexButton !important; 69 + border: 2px solid $fedexButton !important;
70 - } 70 + }
71 } 71 }
72 72
73 -
74 .el-radio__label { 73 .el-radio__label {
75 - color: #999; 74 + color: #999;
76 - font-size: 12px; 75 + font-size: 12px;
77 } 76 }
78 77
79 .el-radio__inner::after { 78 .el-radio__inner::after {
80 - background-color: #000; 79 + background-color: #000;
81 } 80 }
82 81
83 .el-radio__input.is-checked .el-radio__inner::after { 82 .el-radio__input.is-checked .el-radio__inner::after {
84 - transform: translate(-50%, -50%) scale(2); 83 + transform: translate(-50%, -50%) scale(2);
85 } 84 }
86 85
87 .el-radio__input.is-disabled.is-checked .el-radio__inner::after { 86 .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
88 - background-color: #000; 87 + background-color: #000;
89 } 88 }
90 89
91 .el-radio__input.is-checked .el-radio__inner { 90 .el-radio__input.is-checked .el-radio__inner {
92 - background-color: #fff !important; 91 + background-color: #fff !important;
93 } 92 }
94 93
95 -.el-radio__input.is-checked+.el-radio__label { 94 +.el-radio__input.is-checked + .el-radio__label {
96 - color: $fedexButton !important; 95 + color: $fedexButton !important;
97 } 96 }
98 97
99 .noLableRadio { 98 .noLableRadio {
100 - .el-radio__label { 99 + .el-radio__label {
101 - display: none !important; 100 + display: none !important;
102 - } 101 + }
103 } 102 }
104 103
105 -
106 -
107 //button 104 //button
108 .el-button { 105 .el-button {
109 - border-radius: 0; 106 + border-radius: 0;
110 - border-color: $fedexButton; 107 + border-color: $fedexButton;
111 - color: $fedexButton; 108 + color: $fedexButton;
112 - font-weight: 600; 109 + font-weight: 600;
113 } 110 }
114 111
115 .el-button:hover, 112 .el-button:hover,
116 .el-button:focus, 113 .el-button:focus,
117 .el-button.is-plain:hover, 114 .el-button.is-plain:hover,
118 .el-button.is-plain:focus { 115 .el-button.is-plain:focus {
119 - background: $fedexButton; 116 + background: $fedexButton;
120 - border-color: $fedexButton; 117 + border-color: $fedexButton;
121 - color: #fff; 118 + color: #fff;
122 119
123 - svg { 120 + svg {
124 - color: #fff !important; 121 + color: #fff !important;
125 - } 122 + }
126 } 123 }
127 124
128 .el-button--text:hover, 125 .el-button--text:hover,
129 .el-button--text:focus { 126 .el-button--text:focus {
130 - background: transparent; 127 + background: transparent;
131 - border: none; 128 + border: none;
132 - color: $fedexButton; 129 + color: $fedexButton;
133 130
134 - svg { 131 + svg {
135 - color: #fff !important; 132 + color: #fff !important;
136 - } 133 + }
137 } 134 }
138 135
139 .el-button--primary, 136 .el-button--primary,
140 .el-button--primary:hover, 137 .el-button--primary:hover,
141 .el-button--primary:focus { 138 .el-button--primary:focus {
142 - color: #fff; 139 + color: #fff;
143 - background: transparent; 140 + background: transparent;
144 - border-color: $fedexBottonColor; 141 + border-color: $fedexBottonColor;
145 } 142 }
146 143
147 .el-button-noHover:hover { 144 .el-button-noHover:hover {
148 - color: $fedexButton !important; 145 + color: $fedexButton !important;
149 - background-color: rgba(0, 122, 183, 0.1) !important; 146 + background-color: rgba(0, 122, 183, 0.1) !important;
150 } 147 }
151 148
152 .el-button-group { 149 .el-button-group {
150 + .el-button,
151 + .el-button.is-disabled {
152 + border-top-color: $fedexBottonColor !important;
153 + border-bottom-color: $fedexBottonColor !important;
154 + border-width: 2px;
155 + }
153 156
154 - .el-button, 157 + .el-button:first-child {
155 - .el-button.is-disabled { 158 + height: 100%;
156 - border-top-color: $fedexBottonColor !important; 159 + border-left-color: $fedexBottonColor !important;
157 - border-bottom-color: $fedexBottonColor !important;
158 - border-width: 2px;
159 - }
160 -
161 - .el-button:first-child {
162 - height: 100%;
163 - border-left-color: $fedexBottonColor !important;
164 160
165 - span { 161 + span {
166 - color: $fedexBottonColor ; 162 + color: $fedexBottonColor;
167 - }
168 } 163 }
164 + }
169 165
170 - .el-button:last-child { 166 + .el-button:last-child {
171 - border-right-color: $fedexBottonColor !important; 167 + border-right-color: $fedexBottonColor !important;
172 - border-left: 1px solid $fedexBottonColor !important; 168 + border-left: 1px solid $fedexBottonColor !important;
173 169
174 - .el-dropdown__icon { 170 + .el-dropdown__icon {
175 - color: $fedexBottonColor ; 171 + color: $fedexBottonColor;
176 - }
177 } 172 }
173 + }
178 174
179 - .is-disabled { 175 + .is-disabled {
180 - 176 + span,
181 - span, 177 + .el-dropdown__icon {
182 - .el-dropdown__icon { 178 + color: $formDisabledColor !important;
183 - color: $formDisabledColor !important;
184 -
185 - }
186 } 179 }
180 + }
187 } 181 }
188 182
189 .el-dropdown:hover { 183 .el-dropdown:hover {
190 - .el-button-group { 184 + .el-button-group {
191 - 185 + .el-button,
192 - 186 + .el-button.is-disabled {
193 - .el-button, 187 + border-top-color: $fedexBottonColor !important;
194 - .el-button.is-disabled { 188 + border-bottom-color: $fedexBottonColor !important;
195 - border-top-color: $fedexBottonColor !important; 189 + border-width: 2px;
196 - border-bottom-color: $fedexBottonColor !important; 190 + }
197 - border-width: 2px;
198 - }
199 191
200 - .el-button:first-child { 192 + .el-button:first-child {
201 - height: 100%; 193 + height: 100%;
202 - border-left-color: $fedexBottonColor !important; 194 + border-left-color: $fedexBottonColor !important;
203 195
204 - span { 196 + span {
205 - color: $fedexBottonColor!important ; 197 + color: $fedexBottonColor !important ;
206 198
207 - svg { 199 + svg {
208 - color: $fedexBottonColor!important ; 200 + color: $fedexBottonColor !important ;
209 - }
210 - }
211 } 201 }
202 + }
203 + }
212 204
213 - .el-button:last-child { 205 + .el-button:last-child {
214 - border-right-color: $fedexBottonColor !important; 206 + border-right-color: $fedexBottonColor !important;
215 - border-left: 1px solid $fedexBottonColor !important; 207 + border-left: 1px solid $fedexBottonColor !important;
216 -
217 - .el-dropdown__icon {
218 - color: $fedexBottonColor!important ;
219 - }
220 - }
221 208
222 - .is-disabled { 209 + .el-dropdown__icon {
210 + color: $fedexBottonColor !important ;
211 + }
212 + }
223 213
224 - span { 214 + .is-disabled {
225 - color: $formDisabledColor !important; 215 + span {
216 + color: $formDisabledColor !important;
226 217
227 - svg { 218 + svg {
228 - color: $fedexBottonColor !important; 219 + color: $fedexBottonColor !important;
229 - }
230 - }
231 } 220 }
221 + }
232 } 222 }
223 + }
233 } 224 }
234 225
235 .is-circle { 226 .is-circle {
236 - border-radius: 20px !important; 227 + border-radius: 20px !important;
237 - padding: 7px 12px !important; 228 + padding: 7px 12px !important;
238 } 229 }
239 230
240 .el-button--text { 231 .el-button--text {
241 - color: $fedexButton !important; 232 + color: $fedexButton !important;
242 - font-weight: 600 !important; 233 + font-weight: 600 !important;
243 - border: none; 234 + border: none;
244 } 235 }
245 236
246 -
247 .entrySave { 237 .entrySave {
248 - margin-top: 64px; 238 + margin-top: 64px;
249 - text-align: center; 239 + text-align: center;
250 240
251 - .el-button { 241 + .el-button {
252 - width: max-content; 242 + width: max-content;
253 - min-width: 112px; 243 + min-width: 112px;
254 - height: 56px; 244 + height: 56px;
255 - font-size: 1.1875rem; 245 + font-size: 1.1875rem;
256 - font-weight: 700; 246 + font-weight: 700;
257 - } 247 + }
258 248
259 - .saveTip { 249 + .saveTip {
260 - font-size: 16px; 250 + font-size: 16px;
261 - font-weight: 100; 251 + font-weight: 100;
262 - color: #000000; 252 + color: #000000;
263 - margin-top: 16px; 253 + margin-top: 16px;
264 - } 254 + }
265 } 255 }
266 256
267 .entrySaveButton { 257 .entrySaveButton {
268 - background-color: transparent; 258 + background-color: transparent;
269 - border-color: $fedexBottonColor !important; 259 + border-color: $fedexBottonColor !important;
270 - border-width: 2px; 260 + border-width: 2px;
271 - color: $fedexBottonColor; 261 + color: $fedexBottonColor;
272 } 262 }
273 263
274 .entrySaveButton-background { 264 .entrySaveButton-background {
275 - background-color: $fedexBottonColor !important; 265 + background-color: $fedexBottonColor !important;
276 - color: #fff !important; 266 + color: #fff !important;
277 } 267 }
278 268
279 .entrySaveButton:hover, 269 .entrySaveButton:hover,
280 .entrySaveButton:focus { 270 .entrySaveButton:focus {
281 - color: #fff !important; 271 + color: #fff !important;
282 - background-color: $fedexBottonColor !important; 272 + background-color: $fedexBottonColor !important;
283 } 273 }
284 274
285 .entrySaveButton-background:hover, 275 .entrySaveButton-background:hover,
286 .entrySaveButton-background:focus { 276 .entrySaveButton-background:focus {
287 - background-color: rgba(255, 102, 0, 0.7) !important; 277 + background-color: rgba(255, 102, 0, 0.7) !important;
288 } 278 }
289 279
290 .button-noHover:hover, 280 .button-noHover:hover,
291 .button-noHover:focus { 281 .button-noHover:focus {
292 - border-color: $fedexButton !important; 282 + border-color: $fedexButton !important;
293 - color: $fedexButton !important; 283 + color: $fedexButton !important;
294 - background-color: #fff !important; 284 + background-color: #fff !important;
295 } 285 }
296 286
297 .el-button.is-disabled, 287 .el-button.is-disabled,
298 .el-button.is-disabled:focus, 288 .el-button.is-disabled:focus,
299 .el-button.is-disabled:hover { 289 .el-button.is-disabled:hover {
300 - border-color: #ebeef5 !important; 290 + border-color: #ebeef5 !important;
301 - color: #c0c4cc !important; 291 + color: #c0c4cc !important;
302 - background-color: transparent !important; 292 + background-color: transparent !important;
303 } 293 }
304 294
305 //update 295 //update
306 .upload-demo { 296 .upload-demo {
307 - 297 + .el-upload-list {
308 - .el-upload-list { 298 + .el-upload-list__item {
309 - 299 + margin: 0px;
310 - 300 + line-height: normal;
311 - .el-upload-list__item {
312 - margin: 0px;
313 - line-height: normal;
314 - }
315 -
316 } 301 }
302 + }
317 } 303 }
318 304
319 //pagination 305 //pagination
320 .el-pagination.is-background .el-pager li:not(.disabled):hover { 306 .el-pagination.is-background .el-pager li:not(.disabled):hover {
321 - color: $fedexColor; 307 + color: $fedexColor;
322 } 308 }
323 309
324 .el-pagination.is-background .el-pager li:not(.disabled).active { 310 .el-pagination.is-background .el-pager li:not(.disabled).active {
325 - background-color: $fedexColor !important; 311 + background-color: $fedexColor !important;
326 - color: #fff; 312 + color: #fff;
327 } 313 }
328 314
329 -
330 -
331 //dialog 315 //dialog
332 .el-dialog { 316 .el-dialog {
333 - display: flex; 317 + display: flex;
334 - flex-direction: column; 318 + flex-direction: column;
335 - margin: 0; 319 + margin: 0;
336 - position: absolute; 320 + position: absolute;
337 - top: 50%; 321 + top: 50%;
338 - left: 50%; 322 + left: 50%;
339 - transform: translate(-50%, -50%); 323 + transform: translate(-50%, -50%);
340 - max-height: auto; 324 + max-height: auto;
341 - max-width: 100%; 325 + max-width: 100%;
342 } 326 }
343 327
344 .el-dialog__title { 328 .el-dialog__title {
345 - font-size: 16px; 329 + font-size: 16px;
346 - font-weight: 700; 330 + font-weight: 700;
347 - color: #333333; 331 + color: #333333;
348 } 332 }
349 333
350 .el-dialog-change { 334 .el-dialog-change {
351 - transform: translate(-50%, -35%) !important; 335 + transform: translate(-50%, -35%) !important;
352 } 336 }
353 337
354 .authorizationAddDialog { 338 .authorizationAddDialog {
355 - .el-dialog { 339 + .el-dialog {
356 - .el-dialog__body { 340 + .el-dialog__body {
357 - padding: 15px 15px 0px !important; 341 + padding: 15px 15px 0px !important;
358 - }
359 } 342 }
343 + }
360 } 344 }
361 345
362 //form 346 //form
363 .el-input, 347 .el-input,
364 .el-textarea, 348 .el-textarea,
365 .el-select { 349 .el-select {
366 - 350 + input,
367 - input, 351 + textarea {
368 - textarea { 352 + border-radius: 0px !important;
369 - border-radius: 0px !important; 353 + font-family: sans-serif !important;
370 - font-family: sans-serif !important; 354 + }
371 - }
372 } 355 }
373 356
374 input, 357 input,
375 textarea { 358 textarea {
376 - outline: none !important; 359 + outline: none !important;
377 - border-radius: 0px !important; 360 + border-radius: 0px !important;
378 - font-family: sans-serif !important; 361 + font-family: sans-serif !important;
379 } 362 }
380 363
381 input:disabled { 364 input:disabled {
382 - color: $formDisabledColor; 365 + color: $formDisabledColor;
383 - cursor: not-allowed; 366 + cursor: not-allowed;
384 } 367 }
385 368
386 .inputShadow { 369 .inputShadow {
387 - box-shadow: inset 0 0 0.1rem rgba(0, 0, 0, 0.1); 370 + box-shadow: inset 0 0 0.1rem rgba(0, 0, 0, 0.1);
388 } 371 }
389 372
390 .el-textarea__inner:focus { 373 .el-textarea__inner:focus {
391 - border-color: $fedexBorder; 374 + border-color: $fedexBorder;
392 } 375 }
393 376
394 -.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before { 377 +.el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label::before {
395 - content: ""; 378 + content: "";
396 } 379 }
397 380
398 -.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:after { 381 +.el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:after {
399 - content: "*"; 382 + content: "*";
400 - color: #ff4949; 383 + color: #ff4949;
401 - margin-right: 4px; 384 + margin-right: 4px;
402 } 385 }
403 386
404 .fedexRadiusInput { 387 .fedexRadiusInput {
405 - .el-autocomplete { 388 + .el-autocomplete {
406 - width: 100% !important; 389 + width: 100% !important;
407 - } 390 + }
408 391
409 - input { 392 + input {
410 - border-radius: 50px 0 0 50px !important; 393 + border-radius: 50px 0 0 50px !important;
411 - } 394 + }
412 395
413 - .el-input-group__append { 396 + .el-input-group__append {
414 - border-radius: 0 50px 50px 0; 397 + border-radius: 0 50px 50px 0;
415 - background-color: #fff; 398 + background-color: #fff;
416 - } 399 + }
417 } 400 }
418 401
419 .historyAutocomplete { 402 .historyAutocomplete {
420 - input { 403 + input {
421 - border-radius: 50px !important; 404 + border-radius: 50px !important;
422 - } 405 + }
423 } 406 }
424 407
425 .fedexFormStyle { 408 .fedexFormStyle {
426 - // margin-top: 4px; 409 + // margin-top: 4px;
427 410
428 - .formTitle { 411 + .formTitle {
429 - font-size: 14px; 412 + font-size: 14px;
430 - font-weight: 600; 413 + font-weight: 600;
431 - color: #333333; 414 + color: #333333;
432 - margin-top: 12px; 415 + margin-top: 12px;
433 - margin-bottom: 4px; 416 + margin-bottom: 4px;
434 - } 417 + }
435 418
436 - .el-form-item { 419 + .el-form-item {
437 - position: relative; 420 + position: relative;
438 - height: 50px; 421 + height: 50px;
439 - background-color: $formItemBackgroundColor; 422 + background-color: $formItemBackgroundColor;
440 - margin-bottom: 5px; 423 + margin-bottom: 5px;
441 - // padding-top: 3px; 424 + // padding-top: 3px;
425 +
426 + .el-form-item__label {
427 + position: relative;
428 + font-size: 0.75rem;
429 + font-weight: 700;
430 + color: #333;
431 + height: max-content;
432 + padding: 0 0 0 0.6rem;
433 + line-height: 14px;
434 + /*设置行高,防止因为字体缩放导致元素高度变化*/
435 + transform: translate3d(0, 10px, 0);
436 + /*标题平移至合适位置*/
437 + transition: all 0.2s ease;
438 + cursor: text;
439 + z-index: 5;
440 + }
441 +
442 + .el-form-item__content {
443 + position: absolute;
444 + width: 100%;
445 + height: 100%;
446 + top: 0;
447 + bottom: 0px;
448 + line-height: normal;
449 +
450 + .fedex-formItem-Button {
451 + display: block !important;
452 + width: 95%;
453 + margin-top: 1.1rem;
454 + overflow: hidden;
455 + text-overflow: ellipsis;
456 + white-space: nowrap;
457 + }
458 +
459 + .el-input,
460 + .el-select,
461 + .el-date-editor,
462 + .el-range-editor,
463 + .el-autocomplete {
464 + width: 100%;
465 + height: 100%;
442 466
443 - .el-form-item__label { 467 + .el-range-input {
444 - position: relative; 468 + padding: 0px;
445 - font-size: 0.75rem;
446 - font-weight: 700;
447 - color: #333;
448 - height: max-content;
449 - padding: 0 0 0 .6rem;
450 - line-height: 14px;
451 - /*设置行高,防止因为字体缩放导致元素高度变化*/
452 - transform: translate3d(0, 10px, 0);
453 - /*标题平移至合适位置*/
454 - transition: all .2s ease;
455 - cursor: text;
456 - z-index: 5;
457 } 469 }
458 470
459 - .el-form-item__content { 471 + .el-range-separator {
460 - position: absolute; 472 + line-height: 50px;
461 - width: 100%; 473 + }
462 - height: 100%;
463 - top: 0;
464 - bottom: 0px;
465 - line-height: normal;
466 474
467 - .fedex-formItem-Button { 475 + input {
468 - display: block !important; 476 + width: 100%;
469 - width: 95%; 477 + height: 100% !important;
470 - margin-top: 1.1rem; 478 + border: none !important;
471 - overflow: hidden; 479 + background-color: transparent;
472 - text-overflow: ellipsis; 480 + padding-top: 0.775rem;
473 - white-space: nowrap; 481 + // padding-right: 1.15rem;
474 - } 482 + padding-left: calc(0.6rem + 0.1875rem);
483 + font-size: 0.875rem !important;
484 + }
485 + }
475 486
476 - .el-input, 487 + .el-range-editor.el-input__inner {
477 - .el-select, 488 + padding: 15px 10px 0px 10px;
478 - .el-date-editor, 489 + }
479 - .el-range-editor,
480 - .el-autocomplete {
481 - width: 100%;
482 - height: 100%;
483 -
484 - .el-range-input {
485 - padding: 0px;
486 - }
487 -
488 - .el-range-separator {
489 - line-height: 50px;
490 - }
491 -
492 - input {
493 - width: 100%;
494 - height: 100% !important;
495 - border: none !important;
496 - background-color: transparent;
497 - padding-top: 0.775rem;
498 - // padding-right: 1.15rem;
499 - padding-left: calc(.6rem + .1875rem);
500 - font-size: 0.875rem !important;
501 - }
502 490
491 + .el-range-editor {
492 + .el-range-separator {
493 + line-height: 35px;
494 + }
495 + }
503 496
504 - } 497 + input {
498 + width: 100% !important;
499 + height: 100% !important;
500 + border: none !important;
501 + background-color: transparent;
502 + padding-top: 0.775rem;
503 + // padding-right: 1.15rem;
504 + padding-left: calc(0.6rem + 0.1875rem);
505 + font-size: 0.875rem !important;
506 + }
505 507
506 - .el-range-editor.el-input__inner { 508 + .el-textarea {
507 - padding: 15px 10px 0px 10px; 509 + textarea {
508 - } 510 + border: none !important;
511 + background-color: transparent;
512 + margin-top: 0.85rem;
513 + // padding-right: 1.15rem;
514 + padding-left: calc(0.625rem + 0.1875rem);
515 + font-size: 1rem !important;
516 + }
517 + }
509 518
510 - .el-range-editor { 519 + .el-select {
511 - .el-range-separator { 520 + .el-select__tags {
512 - line-height: 35px; 521 + top: 70%;
513 - } 522 + }
514 - } 523 + }
515 524
516 - input { 525 + .el-range-editor.el-input__inner {
517 - width: 100% !important; 526 + border: none;
518 - height: 100% !important; 527 + }
519 - border: none !important; 528 + }
520 - background-color: transparent;
521 - padding-top: 0.775rem;
522 - // padding-right: 1.15rem;
523 - padding-left: calc(.6rem + .1875rem);
524 - font-size: 0.875rem !important;
525 - }
526 529
527 - .el-textarea { 530 + .formError {
528 - textarea { 531 + height: max-content;
529 - border: none !important; 532 + line-height: 20px;
530 - background-color: transparent; 533 + color: $fedexError;
531 - margin-top: 0.85rem; 534 + font-size: 0.75rem;
532 - // padding-right: 1.15rem; 535 + padding: 0.225rem 0.9375rem;
533 - padding-left: calc(.625rem + .1875rem); 536 + background-color: #fff;
534 - font-size: 1rem !important; 537 + margin-top: 3px;
535 - } 538 + }
536 - }
537 539
538 - .el-select { 540 + // .el-date-editor {
539 - .el-select__tags { 541 + // .el-input__prefix {
540 - top: 70%; 542 + // display: none;
541 - } 543 + // }
542 - } 544 + // }
545 + }
543 546
544 - .el-range-editor.el-input__inner { 547 + .el-form-item:has(.formError) {
545 - border: none; 548 + margin-bottom: 70px;
546 - } 549 + }
547 - }
548 550
549 - .formError { 551 + .formItem-justItem {
550 - height: max-content; 552 + .el-form-item__content {
551 - line-height: 20px; 553 + .fedexFormItem {
552 - color: $fedexError; 554 + &:first-child {
553 - font-size: .75rem; 555 + .formError {
554 - padding: .225rem .9375rem; 556 + position: absolute;
555 - background-color: #fff; 557 + top: 50px;
556 - margin-top: 3px; 558 + z-index: 2;
559 + }
557 } 560 }
558 561
559 - // .el-date-editor { 562 + &:last-child {
560 - // .el-input__prefix { 563 + .formError {
561 - // display: none; 564 + z-index: 10;
562 - // } 565 + }
563 - // } 566 + }
564 -
565 - }
566 -
567 - .el-form-item:has(.formError) {
568 - margin-bottom: 70px;
569 - }
570 567
571 - .formItem-justItem { 568 + .el-checkbox {
572 - .el-form-item__content { 569 + display: inline-block;
573 - .fedexFormItem { 570 + }
574 - &:first-child {
575 -
576 - .formError {
577 - position: absolute;
578 - top: 50px;
579 - z-index: 2;
580 - }
581 - }
582 -
583 - &:last-child {
584 - .formError {
585 - z-index: 10;
586 - }
587 - }
588 -
589 - .el-checkbox {
590 - display: inline-block;
591 - }
592 -
593 - .el-radio {
594 - display: inline-block;
595 - }
596 - }
597 571
598 - .el-form-item { 572 + .el-radio {
599 - height: 25px !important; 573 + display: inline-block;
600 - line-height: 25px;
601 - margin-bottom: 0;
602 - padding: 0 !important;
603 -
604 - .el-form-item__label {
605 - transform: translate3d(0, -2px, 0);
606 - }
607 -
608 - .el-form-item__content {
609 -
610 - .el-input,
611 - .el-select,
612 - .el-date-editor,
613 - .el-range-editor,
614 - .el-autocomplete {
615 - input {
616 - padding-top: 0px;
617 - }
618 -
619 - .el-input__suffix {
620 - top: 5px;
621 - }
622 - }
623 - }
624 - }
625 } 574 }
626 - } 575 + }
627 576
628 - .el-form-item:has(input:disabled) { 577 + .el-form-item {
629 - color: $formDisabledColor !important; 578 + height: 25px !important;
579 + line-height: 25px;
580 + margin-bottom: 0;
581 + padding: 0 !important;
630 582
631 .el-form-item__label { 583 .el-form-item__label {
632 - color: $formDisabledColor; 584 + transform: translate3d(0, -2px, 0);
633 } 585 }
634 586
635 .el-form-item__content { 587 .el-form-item__content {
588 + .el-input,
589 + .el-select,
590 + .el-date-editor,
591 + .el-range-editor,
592 + .el-autocomplete {
636 input { 593 input {
637 - color: $formDisabledColor ; 594 + padding-top: 0px;
638 } 595 }
639 - }
640 596
597 + .el-input__suffix {
598 + top: 5px;
599 + }
600 + }
601 + }
602 + }
641 } 603 }
604 + }
642 605
643 - .is-error { 606 + .el-form-item:has(input:disabled) {
644 - margin-bottom: 50px; 607 + color: $formDisabledColor !important;
645 - border-left: 3px solid $fedexError;
646 608
647 - .el-form-item__label { 609 + .el-form-item__label {
648 - color: $fedexError; 610 + color: $formDisabledColor;
649 - }
650 } 611 }
651 612
652 - .el-form-item:has(.inputFocus) { 613 + .el-form-item__content {
653 - .el-form-item__label { 614 + input {
654 - position: relative; 615 + color: $formDisabledColor;
655 - font-size: 0.625rem; 616 + }
656 - font-weight: 700;
657 - height: max-content;
658 - padding: 0 0 0 .6rem;
659 - line-height: 14px;
660 - /*设置行高,防止因为字体缩放导致元素高度变化*/
661 - transform: translate3d(0, 1px, 0);
662 - /*标题平移至合适位置*/
663 - transition: all .2s ease;
664 - z-index: 10;
665 - }
666 } 617 }
618 + }
667 619
668 - .formItem-justItem .el-form-item:has(.inputFocus) { 620 + .is-error {
669 - .el-form-item__label { 621 + margin-bottom: 50px;
670 - display: none; 622 + border-left: 3px solid $fedexError;
671 - } 623 +
624 + .el-form-item__label {
625 + color: $fedexError;
672 } 626 }
627 + }
673 628
674 - .formItem-justItem:has(.formError) { 629 + .el-form-item:has(.inputFocus) {
675 - margin-bottom: 50px; 630 + .el-form-item__label {
631 + position: relative;
632 + font-size: 0.625rem;
633 + font-weight: 700;
634 + height: max-content;
635 + padding: 0 0 0 0.6rem;
636 + line-height: 14px;
637 + /*设置行高,防止因为字体缩放导致元素高度变化*/
638 + transform: translate3d(0, 1px, 0);
639 + /*标题平移至合适位置*/
640 + transition: all 0.2s ease;
641 + z-index: 10;
676 } 642 }
643 + }
677 644
678 - .borderFormItemContent { 645 + .formItem-justItem .el-form-item:has(.inputFocus) {
679 - .el-form-item__content { 646 + .el-form-item__label {
680 - top: 10px; 647 + display: none;
681 - border-left: 2px solid #333;
682 - }
683 } 648 }
649 + }
650 +
651 + .formItem-justItem:has(.formError) {
652 + margin-bottom: 50px;
653 + }
684 654
685 - .activeBorder { 655 + .borderFormItemContent {
686 - border-left: 3px solid $fedexColor; 656 + .el-form-item__content {
657 + top: 10px;
658 + border-left: 2px solid #333;
687 } 659 }
660 + }
661 +
662 + .activeBorder {
663 + border-left: 3px solid $fedexColor;
664 + }
688 } 665 }
689 666
690 .fedexformSreach { 667 .fedexformSreach {
691 - background-color: #fff; 668 + background-color: #fff;
692 - border-bottom: 1px solid $fedexBorder; 669 + border-bottom: 1px solid $fedexBorder;
693 670
694 - .el-form-item { 671 + .el-form-item {
695 - background-color: transparent; 672 + background-color: transparent;
696 - border-right: 1px solid $fedexBorder !important; 673 + border-right: 1px solid $fedexBorder !important;
697 - margin-bottom: 0px; 674 + margin-bottom: 0px;
698 - line-height: 25px; 675 + line-height: 25px;
699 676
700 - .el-button { 677 + .el-button {
701 - margin-top: 8px; 678 + margin-top: 8px;
702 - }
703 } 679 }
680 + }
704 681
705 - .activeBorder { 682 + .activeBorder {
706 - border: none; 683 + border: none;
707 - } 684 + }
708 685
709 - .el-checkbox, 686 + .el-checkbox,
710 - .el-radio { 687 + .el-radio {
711 - display: block; 688 + display: block;
712 - margin-top: 25px; 689 + margin-top: 25px;
713 - margin-left: 5px 690 + margin-left: 5px;
714 - } 691 + }
715 } 692 }
716 693
717 .fedexformSreachBottomBorder { 694 .fedexformSreachBottomBorder {
718 - .el-form-item { 695 + .el-form-item {
719 - border-bottom: 1px solid $fedexBorder; 696 + border-bottom: 1px solid $fedexBorder;
720 - } 697 + }
721 } 698 }
722 699
723 .fedexTableForm { 700 .fedexTableForm {
724 - height: 100%; 701 + height: 100%;
725 - 702 +
726 - .el-form-item { 703 + .el-form-item {
727 - 704 + .el-form-item__label {
728 - .el-form-item__label { 705 + width: 100%;
729 - width: 100%; 706 + height: 34px;
730 - height: 34px; 707 + line-height: 34px;
731 - line-height: 34px; 708 + font-size: 12px;
732 - font-size: 12px; 709 + font-weight: 600;
733 - font-weight: 600; 710 + color: #333;
734 - color: #333; 711 + background-color: #e3e3e3;
735 - background-color: #E3E3E3; 712 + padding-left: 16px;
736 - padding-left: 16px; 713 + }
737 - } 714 +
738 - 715 + .el-form-item__content {
739 - .el-form-item__content { 716 + width: 100%;
740 - width: 100%; 717 + height: 100%;
741 - height: 100%; 718 + min-height: 36px;
742 - min-height: 36px; 719 + background-color: #f2f2f2;
743 - background-color: #F2F2F2; 720 + margin-top: 2px;
744 - margin-top: 2px; 721 +
745 - 722 + div {
746 - div { 723 + height: 100%;
747 - height: 100%; 724 + // padding: 0 15px;
748 - // padding: 0 15px; 725 + }
749 - }
750 -
751 - .el-input,
752 - .el-select {
753 - width: 100%;
754 726
755 - input { 727 + .el-input,
756 - border: none; 728 + .el-select {
757 - background-color: transparent; 729 + width: 100%;
758 - }
759 - }
760 730
731 + input {
732 + border: none;
733 + background-color: transparent;
761 } 734 }
735 + }
762 } 736 }
737 + }
763 } 738 }
764 739
765 .backgroundCol { 740 .backgroundCol {
766 - 741 + .el-form-item {
767 - .el-form-item { 742 + .el-form-item__label {
768 - .el-form-item__label { 743 + color: $fedexBottonColor !important;
769 - color: $fedexBottonColor !important;
770 - }
771 } 744 }
745 + }
772 } 746 }
773 747
774 //table 748 //table
775 .el-table { 749 .el-table {
750 + .el-table__header-wrapper {
751 + overflow-y: scroll;
752 + }
776 753
754 + // .el-table__fixed-header-wrapper {
755 + // th {
756 + // border-bottom: 1px solid $fedexBorder;
757 + // }
758 + // }
777 759
778 - .el-table__header-wrapper { 760 + .el-table__header-wrapper,
779 - overflow-y: scroll; 761 + .el-table__fixed-header-wrapper {
762 + th {
763 + word-break: break-word;
764 + // background-color: #f8f8f9;
765 + color: #515a6e;
766 + height: 40px;
767 + font-size: 13px;
768 + border-left-color: transparent;
769 + border-right-color: transparent;
780 } 770 }
771 + }
781 772
782 - // .el-table__fixed-header-wrapper { 773 + .el-table__body-wrapper {
783 - // th { 774 + .el-button [class*="el-icon-"] + span {
784 - // border-bottom: 1px solid $fedexBorder; 775 + margin-left: 1px;
785 - // } 776 + }
786 - // } 777 + }
778 +}
787 779
788 - .el-table__header-wrapper, 780 +.customTable {
789 - .el-table__fixed-header-wrapper { 781 + .el-table th > .cell {
790 - th { 782 + width: max-content !important;
791 - word-break: break-word; 783 + }
792 - // background-color: #f8f8f9;
793 - color: #515a6e;
794 - height: 40px;
795 - font-size: 13px;
796 - border-left-color: transparent;
797 - border-right-color: transparent;
798 784
799 - } 785 + .activeTableCell {
800 - } 786 + background-color: $fedexTablebackgroundColor !important;
787 + border: 2px solid $fedexBorder !important;
788 + padding: 0;
789 +
790 + .cell {
791 + .cellContent {
792 + display: none !important;
793 + }
801 794
802 - .el-table__body-wrapper { 795 + .cellInput {
796 + display: block !important;
803 797
804 - .el-button [class*="el-icon-"]+span { 798 + input {
805 - margin-left: 1px; 799 + border: none;
806 } 800 }
801 + }
807 } 802 }
803 + }
808 } 804 }
809 805
810 -.customTable { 806 +.fedexDetialTable {
811 - .el-table th>.cell { 807 + width: auto;
812 - width: max-content !important 808 + // height: 100%;
809 + position: relative;
810 +
811 + .el-table::before {
812 + height: 0;
813 + }
814 +
815 + .el-table tbody tr:hover > td {
816 + background-color: rgba(0, 122, 183, 0.1) !important;
817 + }
818 +
819 + .el-table__header-wrapper {
820 + width: 100%;
821 +
822 + .el-table__header {
823 + .has-gutter {
824 + tr {
825 + th {
826 + position: relative;
827 + font-size: 12px;
828 + font-weight: 700;
829 + background-color: #fff !important;
830 + border: none;
831 + }
832 + }
833 + }
813 } 834 }
835 + }
814 836
815 - .activeTableCell { 837 + .el-table__body-wrapper {
816 - background-color: $fedexTablebackgroundColor !important; 838 + width: 100%;
817 - border: 2px solid $fedexBorder !important; 839 + height: auto;
818 - padding: 0; 840 + min-height: 100px;
841 +
842 + .el-table__body {
843 + tbody {
844 + tr:not(.el-table__expanded-cell) {
845 + width: 100%;
846 + height: 50px !important;
847 +
848 + &:first-child {
849 + td {
850 + border-top: 1px solid $fedexTableBorderColor;
851 + }
852 + }
819 853
820 - .cell { 854 + td {
821 - .cellContent { 855 + height: 50px !important;
822 - display: none !important; 856 + font-size: 12px;
857 + font-weight: 400 !important;
858 + // background-color: $fedexTablebackgroundColor;
859 + border-right: none;
860 +
861 + .cell {
862 + width: 100% !important;
863 +
864 + .cellContent {
865 + line-height: 20px !important;
866 + }
823 } 867 }
824 868
825 - .cellInput { 869 + &:first-child {
870 + border-left: 1px solid $fedexTableBorderColor;
871 + }
872 +
873 + &:last-child {
874 + border-right: 1px solid $fedexTableBorderColor;
875 + }
876 + }
877 +
878 + .activeTableCell {
879 + background-color: $fedexTablebackgroundColor !important;
880 + border: 2px solid $fedexBorder !important;
881 +
882 + .cell {
883 + .cellContent {
884 + display: none !important;
885 + }
886 +
887 + .cellInput {
826 display: block !important; 888 display: block !important;
889 + }
890 + }
891 + }
827 892
828 - input { 893 + .el-table__expand-column {
829 - border: none; 894 + div {
830 - } 895 + display: none;
831 } 896 }
897 + }
832 } 898 }
833 - }
834 -}
835 899
836 -.fedexDetialTable { 900 + tr:has(.el-table__expanded-cell) {
837 - width: auto; 901 + height: 100% !important;
838 - // height: 100%;
839 - position: relative;
840 902
841 - .el-table::before { 903 + td:not(.el-form) {
842 - height: 0; 904 + // display: none;
843 - } 905 + background-color: #fff !important;
844 906
845 - .el-table tbody tr:hover>td { 907 + &:has(.el-form) {
846 - background-color: rgba(0, 122, 183, 0.1) !important; 908 + display: table-cell;
847 - } 909 + }
910 + }
911 + }
848 912
849 - .el-table__header-wrapper { 913 + .expanded {
850 - width: 100%; 914 + color: #409eff;
915 + }
851 916
852 - .el-table__header { 917 + .el-table__row_isError {
853 - .has-gutter { 918 + td {
854 - tr { 919 + border-color: $fedexError !important;
855 - th { 920 + border-top: 1px solid $fedexError !important;
856 - position: relative; 921 + border-bottom: 1px solid $fedexError !important;
857 - font-size: 12px; 922 + background-color: rgba(224, 0, 45, 0.1) !important;
858 - font-weight: 700; 923 + }
859 - background-color: #fff !important;
860 - border: none;
861 - }
862 - }
863 - }
864 } 924 }
865 - }
866 925
867 - .el-table__body-wrapper { 926 + .el-table__expanded-cell {
868 - width: 100%; 927 + padding: 8px !important;
869 - height: auto; 928 + background-color: #fff !important;
870 - min-height: 100px; 929 + border-top: 1px solid $fedexBorder;
871 -
872 - .el-table__body {
873 -
874 - tbody {
875 -
876 - tr:not(.el-table__expanded-cell) {
877 - width: 100%;
878 - height: 50px !important;
879 -
880 - &:first-child {
881 - td {
882 - border-top: 1px solid $fedexTableBorderColor;
883 - }
884 - }
885 -
886 - td {
887 - height: 50px !important;
888 - font-size: 12px;
889 - font-weight: 400 !important;
890 - // background-color: $fedexTablebackgroundColor;
891 - border-right: none;
892 -
893 - .cell {
894 - width: 100% !important;
895 -
896 - .cellContent {
897 - line-height: 20px !important;
898 - }
899 - }
900 -
901 -
902 - &:first-child {
903 - border-left: 1px solid $fedexTableBorderColor;
904 - }
905 -
906 - &:last-child {
907 - border-right: 1px solid $fedexTableBorderColor;
908 - }
909 - }
910 -
911 - .activeTableCell {
912 - background-color: $fedexTablebackgroundColor !important;
913 - border: 2px solid $fedexBorder !important;
914 -
915 - .cell {
916 - .cellContent {
917 - display: none !important;
918 - }
919 -
920 - .cellInput {
921 - display: block !important;
922 - }
923 - }
924 - }
925 -
926 - .el-table__expand-column {
927 - div {
928 - display: none;
929 - }
930 - }
931 - }
932 -
933 - tr:has(.el-table__expanded-cell) {
934 - height: 100% !important;
935 -
936 - td:not(.el-form) {
937 - // display: none;
938 - background-color: #fff !important;
939 -
940 - &:has(.el-form) {
941 - display: table-cell;
942 - }
943 - }
944 - }
945 -
946 - .expanded {
947 - color: #409EFF;
948 - }
949 -
950 - .el-table__row_isError {
951 - td {
952 - border-color: $fedexError !important;
953 - border-top: 1px solid $fedexError !important;
954 - border-bottom: 1px solid $fedexError !important;
955 - background-color: rgba(224, 0, 45, 0.1) !important;
956 - }
957 - }
958 -
959 - .el-table__expanded-cell {
960 - padding: 8px !important;
961 - background-color: #fff !important;
962 - border-top: 1px solid $fedexBorder;
963 - }
964 - }
965 } 930 }
931 + }
966 } 932 }
933 + }
967 } 934 }
968 935
969 .fedexTableBlack { 936 .fedexTableBlack {
970 - .el-table__body-wrapper { 937 + .el-table__body-wrapper {
971 - .el-table__body { 938 + .el-table__body {
972 - tbody { 939 + tbody {
973 - tr { 940 + tr {
974 - td { 941 + td {
975 - background-color: $fedexTablebackgroundColor !important; 942 + background-color: $fedexTablebackgroundColor !important;
976 - border-color: $fedexTableBorderColor; 943 + border-color: $fedexTableBorderColor;
977 - } 944 + }
978 - }
979 - }
980 } 945 }
946 + }
981 } 947 }
948 + }
982 } 949 }
983 950
984 .fedexSreachTable { 951 .fedexSreachTable {
985 - .el-table__body-wrapper { 952 + .el-table__body-wrapper {
986 - height: auto; 953 + height: auto;
987 - 954 +
988 - .el-table__body { 955 + .el-table__body {
989 - tbody { 956 + tbody {
990 - tr { 957 + tr {
991 - height: 32px !important; 958 + height: 32px !important;
992 - 959 +
993 - td { 960 + td {
994 - height: 32px !important; 961 + height: 32px !important;
995 - font-size: 12px; 962 + font-size: 12px;
996 - font-weight: 400 !important; 963 + font-weight: 400 !important;
997 - } 964 + }
998 - }
999 - }
1000 } 965 }
966 + }
1001 } 967 }
968 + }
1002 } 969 }
1003 970
1004 .fedexFormTable { 971 .fedexFormTable {
972 + .el-table__body-wrapper {
973 + .el-table__body {
974 + tbody {
975 + tr {
976 + td {
977 + .el-form-item {
978 + margin: 0px;
979 +
980 + .el-form-item__conten {
981 + line-height: 20px !important;
982 + }
983 + }
984 +
985 + .cellContent {
986 + display: block;
987 + min-height: 20px;
988 + }
989 +
990 + input {
991 + height: auto;
992 + border: none !important;
993 + background-color: transparent;
994 + padding: 0px !important;
995 + font-size: 12px !important;
996 + line-height: normal;
997 + }
998 + }
1005 999
1006 - .el-table__body-wrapper { 1000 + td:has(.is-error) {
1007 - .el-table__body { 1001 + background-color: rgba(191, 54, 56, 0.4);
1008 - tbody { 1002 + }
1009 - tr {
1010 - td {
1011 - .el-form-item {
1012 - margin: 0px;
1013 -
1014 - .el-form-item__conten {
1015 - line-height: 20px !important;
1016 -
1017 - }
1018 - }
1019 -
1020 - .cellContent {
1021 - display: block;
1022 - min-height: 20px;
1023 - }
1024 -
1025 - input {
1026 - height: auto;
1027 - border: none !important;
1028 - background-color: transparent;
1029 - padding: 0px !important;
1030 - font-size: 12px !important;
1031 - line-height: normal;
1032 - }
1033 - }
1034 -
1035 - td:has(.is-error) {
1036 - background-color: rgba(191, 54, 56, 0.4);
1037 - }
1038 -
1039 - .formError {
1040 - width: inherit;
1041 - font-weight: 600;
1042 - font-size: 0.65rem;
1043 - color: $formItemBackgroundColor;
1044 - }
1045 -
1046 - &:hover>td {
1047 - background-color: none !important;
1048 -
1049 - .formError {
1050 - width: inherit;
1051 - font-weight: 600;
1052 - font-size: 0.65rem;
1053 - color: $fedexError;
1054 - }
1055 - }
1056 - }
1057 1003
1004 + .formError {
1005 + width: inherit;
1006 + font-weight: 600;
1007 + font-size: 0.65rem;
1008 + color: $formItemBackgroundColor;
1009 + }
1010 +
1011 + &:hover > td {
1012 + background-color: none !important;
1013 +
1014 + .formError {
1015 + width: inherit;
1016 + font-weight: 600;
1017 + font-size: 0.65rem;
1018 + color: $fedexError;
1058 } 1019 }
1020 + }
1059 } 1021 }
1022 + }
1060 } 1023 }
1024 + }
1061 } 1025 }
1062 1026
1063 .tableHeightAuto { 1027 .tableHeightAuto {
1064 - overflow-y: auto; 1028 + overflow-y: auto;
1065 1029
1066 - .el-table__body-wrapper { 1030 + .el-table__body-wrapper {
1067 - height: 100% !important; 1031 + height: 100% !important;
1068 - } 1032 + }
1069 } 1033 }
1070 1034
1071 //dropdown 1035 //dropdown
...@@ -1075,854 +1039,828 @@ input:disabled { ...@@ -1075,854 +1039,828 @@ input:disabled {
1075 // } 1039 // }
1076 // } 1040 // }
1077 1041
1078 -.el-popper[x-placement^=bottom] { 1042 +.el-popper[x-placement^="bottom"] {
1079 - margin-top: 2px; 1043 + margin-top: 2px;
1080 } 1044 }
1081 1045
1082 .el-dropdown-menu { 1046 .el-dropdown-menu {
1083 - min-width: 150px; 1047 + min-width: 150px;
1084 - padding: 0px; 1048 + padding: 0px;
1085 - border: 1px solid $fedexBottonColor; 1049 + border: 1px solid $fedexBottonColor;
1086 1050
1087 - .el-dropdown-menu__item { 1051 + .el-dropdown-menu__item {
1088 - font-size: 12px; 1052 + font-size: 12px;
1089 - font-weight: 400; 1053 + font-weight: 400;
1090 - color: #333; 1054 + color: #333;
1091 - height: 50px; 1055 + height: 50px;
1092 - line-height: 50px; 1056 + line-height: 50px;
1093 - border-bottom: 1px solid $fedexBorder; 1057 + border-bottom: 1px solid $fedexBorder;
1094 - } 1058 + }
1095 1059
1096 - .el-dropdown-menu__item:not(.is-disabled):hover, 1060 + .el-dropdown-menu__item:not(.is-disabled):hover,
1097 - .el-dropdown-menu__item:focus { 1061 + .el-dropdown-menu__item:focus {
1098 - color: #333; 1062 + // color: #333;
1099 - background-color: $formItemBackgroundColor; 1063 + // background-color: $formItemBackgroundColor;
1100 - } 1064 + color: #ffffff !important;
1065 + background-color: $fedexBottonColor !important;
1066 + }
1101 1067
1102 - .is-disabled { 1068 + .is-disabled {
1103 - color: #bbb !important; 1069 + color: #bbb !important;
1104 - pointer-events: none !important; 1070 + pointer-events: none !important;
1105 - cursor: not-allowed !important; 1071 + cursor: not-allowed !important;
1106 - } 1072 + }
1107 1073
1108 - .popper__arrow { 1074 + .popper__arrow {
1109 - display: none !important; 1075 + display: none !important;
1110 - } 1076 + }
1111 } 1077 }
1112 1078
1113 //alert 1079 //alert
1114 .fedexAlert { 1080 .fedexAlert {
1115 - width: 75%; 1081 + width: 75%;
1116 - font-size: 14px; 1082 + font-size: 14px;
1117 - font-weight: 400; 1083 + font-weight: 400;
1118 - // position: absolute; 1084 + // position: absolute;
1119 - // top: 70px; 1085 + // top: 70px;
1120 - // left: 12rem; 1086 + // left: 12rem;
1121 - margin: 0 auto; 1087 + margin: 0 auto;
1122 - background-color: rgba(242, 31, 31, 0.05) !important; 1088 + background-color: rgba(242, 31, 31, 0.05) !important;
1123 - color: #333 !important; 1089 + color: #333 !important;
1124 - 1090 +
1125 - .fedexAlert-list { 1091 + .fedexAlert-list {
1126 - display: flex; 1092 + display: flex;
1127 1093
1128 - .el-icon-user-solid { 1094 + .el-icon-user-solid {
1129 - width: 36px !important; 1095 + width: 36px !important;
1130 - height: 36px !important; 1096 + height: 36px !important;
1131 - display: block; 1097 + display: block;
1132 - margin-right: 25px 1098 + margin-right: 25px;
1133 - }
1134 } 1099 }
1100 + }
1135 1101
1136 - .el-icon-close:before { 1102 + .el-icon-close:before {
1137 - color: #333; 1103 + color: #333;
1138 - font-size: 16px; 1104 + font-size: 16px;
1139 - } 1105 + }
1140 } 1106 }
1141 1107
1142 .el-popover { 1108 .el-popover {
1143 - .el-popconfirm { 1109 + .el-popconfirm {
1144 - .el-popconfirm__action { 1110 + .el-popconfirm__action {
1145 - .el-button--primary { 1111 + .el-button--primary {
1146 - color: $fedexBottonColor; 1112 + color: $fedexBottonColor;
1147 - } 1113 + }
1148 - }
1149 } 1114 }
1115 + }
1150 } 1116 }
1151 1117
1152 //message 1118 //message
1153 .el-message-box { 1119 .el-message-box {
1154 - max-width: 700px !important; 1120 + max-width: 700px !important;
1155 1121
1156 - .el-message-box__header { 1122 + .el-message-box__header {
1157 - .el-message-box__title { 1123 + .el-message-box__title {
1158 - .el-icon-warning { 1124 + .el-icon-warning {
1159 - color: $fedexBottonColor; 1125 + color: $fedexBottonColor;
1160 - } 1126 + }
1161 - }
1162 } 1127 }
1128 + }
1163 1129
1164 - .el-message-box__content { 1130 + .el-message-box__content {
1165 - max-height: 600px !important; 1131 + max-height: 600px !important;
1166 - overflow: auto !important; 1132 + overflow: auto !important;
1167 1133
1168 - .el-message-box__message { 1134 + .el-message-box__message {
1169 - font-size: 16px; 1135 + font-size: 16px;
1170 - }
1171 } 1136 }
1137 + }
1172 1138
1173 - // .el-message-box__btns { 1139 + // .el-message-box__btns {
1174 - // .el-button {} 1140 + // .el-button {}
1175 - // } 1141 + // }
1176 } 1142 }
1177 1143
1178 -
1179 -
1180 //other 1144 //other
1181 .TemplateSave { 1145 .TemplateSave {
1182 - width: 240px; 1146 + width: 240px;
1183 - margin-top: 24px; 1147 + margin-top: 24px;
1184 1148
1185 - .el-input { 1149 + .el-input {
1186 - height: 50px !important; 1150 + height: 50px !important;
1187 1151
1188 - .el-input__inner { 1152 + .el-input__inner {
1189 - height: 50px !important; 1153 + height: 50px !important;
1190 - } 1154 + }
1191 1155
1192 - .el-input-group__append { 1156 + .el-input-group__append {
1193 - background-color: #fff !important; 1157 + background-color: #fff !important;
1194 - color: $fedexButton !important; 1158 + color: $fedexButton !important;
1195 - }
1196 } 1159 }
1160 + }
1197 } 1161 }
1198 1162
1199 .entryInfoTop-item { 1163 .entryInfoTop-item {
1200 - width: 320px; 1164 + width: 320px;
1201 - height: 50px; 1165 + height: 50px;
1202 -
1203 - .el-form {
1204 - height: 60px !important;
1205 1166
1206 - .el-form-item { 1167 + .el-form {
1207 - background-color: transparent; 1168 + height: 60px !important;
1208 -
1209 - .el-form-item__label {
1210 - font-size: 14px;
1211 - font-weight: 600;
1212 - }
1213 1169
1214 - .el-form-item__content { 1170 + .el-form-item {
1215 - border: 1px solid $fedexColor !important; 1171 + background-color: transparent;
1216 1172
1217 - .el-input { 1173 + .el-form-item__label {
1174 + font-size: 14px;
1175 + font-weight: 600;
1176 + }
1218 1177
1219 - input { 1178 + .el-form-item__content {
1220 - border: none !important; 1179 + border: 1px solid $fedexColor !important;
1221 - font-size: 20px;
1222 - }
1223 1180
1224 - .el-input__suffix { 1181 + .el-input {
1225 - top: 12px; 1182 + input {
1226 - font-size: 20px; 1183 + border: none !important;
1227 - color: $fedexButton; 1184 + font-size: 20px;
1228 - } 1185 + }
1229 - } 1186 +
1230 - } 1187 + .el-input__suffix {
1188 + top: 12px;
1189 + font-size: 20px;
1190 + color: $fedexButton;
1191 + }
1231 } 1192 }
1193 + }
1232 } 1194 }
1195 + }
1233 } 1196 }
1234 1197
1235 -
1236 .el-message-box { 1198 .el-message-box {
1199 + .el-button {
1200 + border-color: $fedexBottonColor;
1201 + color: $fedexBottonColor;
1202 + }
1237 1203
1238 - .el-button { 1204 + .el-button--primary {
1239 - border-color: $fedexBottonColor; 1205 + background-color: $fedexBottonColor;
1240 - color: $fedexBottonColor; 1206 + color: #fff;
1241 - } 1207 + }
1242 -
1243 - .el-button--primary {
1244 - background-color: $fedexBottonColor;
1245 - color: #fff;
1246 - }
1247 -
1248 - .el-button:hover,
1249 - .el-button:focus {
1250 - background-color: $fedexBottonColor;
1251 - color: #fff;
1252 - }
1253 1208
1254 - .el-button--primary:hover, 1209 + .el-button:hover,
1255 - .el-button--primary:focus { 1210 + .el-button:focus {
1256 - background-color: rgba(255, 102, 0, 0.7); 1211 + background-color: $fedexBottonColor;
1257 - } 1212 + color: #fff;
1213 + }
1258 1214
1215 + .el-button--primary:hover,
1216 + .el-button--primary:focus {
1217 + background-color: rgba(255, 102, 0, 0.7);
1218 + }
1259 } 1219 }
1260 1220
1261 .el-select-dropdown__item.selected { 1221 .el-select-dropdown__item.selected {
1262 - color: $fedexColor; 1222 + color: $fedexColor;
1263 } 1223 }
1264 1224
1265 .el-message { 1225 .el-message {
1266 - top: 7px !important; 1226 + top: 7px !important;
1267 } 1227 }
1268 1228
1269 .el-tooltip__popper { 1229 .el-tooltip__popper {
1270 - max-width: 700px; 1230 + max-width: 700px;
1271 } 1231 }
1272 1232
1273 .fileEmpty { 1233 .fileEmpty {
1274 - display: block; 1234 + display: block;
1275 - width: max-content; 1235 + width: max-content;
1276 - margin: 0 auto; 1236 + margin: 0 auto;
1277 1237
1278 - .el-empty__image { 1238 + .el-empty__image {
1279 - img { 1239 + img {
1280 - display: block; 1240 + display: block;
1281 - width: 80px; 1241 + width: 80px;
1282 - margin: 0 auto; 1242 + margin: 0 auto;
1283 - }
1284 } 1243 }
1244 + }
1285 } 1245 }
1286 1246
1287 .el-table__body-wrapper { 1247 .el-table__body-wrapper {
1288 - &::-webkit-scrollbar { 1248 + &::-webkit-scrollbar {
1289 - height: 8px; 1249 + height: 8px;
1290 - width: 8px; 1250 + width: 8px;
1291 - } 1251 + }
1292 1252
1293 - &::-webkit-scrollbar-track { 1253 + &::-webkit-scrollbar-track {
1294 - background-color: #fff; 1254 + background-color: #fff;
1295 - } 1255 + }
1296 1256
1297 - &::-webkit-scrollbar-thumb { 1257 + &::-webkit-scrollbar-thumb {
1298 - background-color: #ccc; 1258 + background-color: #ccc;
1299 - } 1259 + }
1300 1260
1301 - &::-webkit-scrollbar-thumb:hover { 1261 + &::-webkit-scrollbar-thumb:hover {
1302 - background-color: #409eff; 1262 + background-color: #409eff;
1303 - } 1263 + }
1304 } 1264 }
1305 1265
1306 .el-scrollbar__wrap { 1266 .el-scrollbar__wrap {
1307 - &::-webkit-scrollbar { 1267 + &::-webkit-scrollbar {
1308 - height: 0px; 1268 + height: 0px;
1309 - width: 0px; 1269 + width: 0px;
1310 - } 1270 + }
1311 } 1271 }
1312 1272
1313 //refine vue-multiselect plugin 1273 //refine vue-multiselect plugin
1314 .multiselect { 1274 .multiselect {
1315 - line-height: 16px; 1275 + line-height: 16px;
1316 } 1276 }
1317 1277
1318 .multiselect--active { 1278 .multiselect--active {
1319 - z-index: 1000 !important; 1279 + z-index: 1000 !important;
1320 } 1280 }
1321 1281
1322 // 解决表格固定列问题 1282 // 解决表格固定列问题
1323 .el-table__fixed, 1283 .el-table__fixed,
1324 .el-table__fixed-right { 1284 .el-table__fixed-right {
1325 - height: calc(100% - 7px) !important; 1285 + height: calc(100% - 7px) !important;
1326 - box-shadow: -5px -2px 10px rgba(0, 0, 0, .12) !important; 1286 + box-shadow: -5px -2px 10px rgba(0, 0, 0, 0.12) !important;
1327 1287
1328 - .el-table__fixed-body-wrapper { 1288 + .el-table__fixed-body-wrapper {
1329 - // height: calc(100% - 7px) !important; 1289 + // height: calc(100% - 7px) !important;
1330 - } 1290 + }
1331 } 1291 }
1332 1292
1333 // 当表格没有滚动条时 1293 // 当表格没有滚动条时
1334 -.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right { 1294 +.el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed-right {
1335 - height: 100% !important; 1295 + height: 100% !important;
1336 - bottom: 0 !important; 1296 + bottom: 0 !important;
1337 - box-shadow: none !important; 1297 + box-shadow: none !important;
1338 } 1298 }
1339 1299
1340 // 当表格有纵向滚动条时 1300 // 当表格有纵向滚动条时
1341 .el-table--scrollable-y .el-table__fixed-right { 1301 .el-table--scrollable-y .el-table__fixed-right {
1342 - right: 7px !important; 1302 + right: 7px !important;
1343 } 1303 }
1344 1304
1345 // 当表格只有横向滚动条,没有纵向滚动条时 1305 // 当表格只有横向滚动条,没有纵向滚动条时
1346 .el-table--scrollable-x:not(.el-table--scrollable-y) .el-table__fixed-right { 1306 .el-table--scrollable-x:not(.el-table--scrollable-y) .el-table__fixed-right {
1347 - right: 0 !important; 1307 + right: 0 !important;
1348 } 1308 }
1349 1309
1350 -
1351 ::-webkit-scrollbar { 1310 ::-webkit-scrollbar {
1352 - height: 8px; 1311 + height: 8px;
1353 - width: 8px; 1312 + width: 8px;
1354 } 1313 }
1355 1314
1356 ::-webkit-scrollbar-track { 1315 ::-webkit-scrollbar-track {
1357 - background-color: #fff; 1316 + background-color: #fff;
1358 } 1317 }
1359 1318
1360 ::-webkit-scrollbar-thumb { 1319 ::-webkit-scrollbar-thumb {
1361 - background-color: #ccc; 1320 + background-color: #ccc;
1362 } 1321 }
1363 1322
1364 ::-webkit-scrollbar-thumb:hover { 1323 ::-webkit-scrollbar-thumb:hover {
1365 - background-color: #409eff; 1324 + background-color: #409eff;
1366 } 1325 }
1367 1326
1368 -
1369 .el-scrollbar__wrap { 1327 .el-scrollbar__wrap {
1370 - &::-webkit-scrollbar { 1328 + &::-webkit-scrollbar {
1371 - height: 0px; 1329 + height: 0px;
1372 - width: 0px; 1330 + width: 0px;
1373 - } 1331 + }
1374 } 1332 }
1375 1333
1376 .logoutTip { 1334 .logoutTip {
1377 - .el-dialog__title { 1335 + .el-dialog__title {
1378 - font-weight: 500 !important; 1336 + font-weight: 500 !important;
1379 - } 1337 + }
1380 1338
1381 - .el-dialog__body { 1339 + .el-dialog__body {
1382 - padding: 10px 20px !important; 1340 + padding: 10px 20px !important;
1383 - } 1341 + }
1384 } 1342 }
1385 1343
1386 .optionRadio { 1344 .optionRadio {
1387 - width: 50%; 1345 + width: 50%;
1388 - text-align: left; 1346 + text-align: left;
1389 - padding: 15px; 1347 + padding: 15px;
1390 -
1391 - .el-radio-group {
1392 - .el-radio {
1393 - .el-radio__label {
1394 - font-size: 14px !important;
1395 - }
1396 -
1397 - &:first-child {
1398 - margin-right: 80px;
1399 - }
1400 - }
1401 1348
1349 + .el-radio-group {
1350 + .el-radio {
1351 + .el-radio__label {
1352 + font-size: 14px !important;
1353 + }
1402 1354
1355 + &:first-child {
1356 + margin-right: 80px;
1357 + }
1403 } 1358 }
1359 + }
1404 } 1360 }
1405 1361
1406 .imgViewDialog { 1362 .imgViewDialog {
1407 - 1363 + .el-dialog__header {
1408 - .el-dialog__header { 1364 + .el-dialog__headerbtn {
1409 - .el-dialog__headerbtn { 1365 + font-size: 22px;
1410 - font-size: 22px; 1366 + color: #000000;
1411 - color: #000000;
1412 - }
1413 } 1367 }
1368 + }
1414 1369
1415 - .el-dialog__body { 1370 + .el-dialog__body {
1416 - min-height: 250px; 1371 + min-height: 250px;
1417 - overflow: hidden; 1372 + overflow: hidden;
1418 - padding: 10px; 1373 + padding: 10px;
1419 - border: 1px solid $fedexTableBorderColor; 1374 + border: 1px solid $fedexTableBorderColor;
1420 - } 1375 + }
1421 } 1376 }
1422 1377
1423 //清关文件浏览样式 1378 //清关文件浏览样式
1424 .image-viewer-option_body { 1379 .image-viewer-option_body {
1425 - position: static; 1380 + position: static;
1426 - display: flex; 1381 + display: flex;
1427 - width: 100%; 1382 + width: 100%;
1428 - height: 800px; 1383 + height: 800px;
1429 - border: 2px solid $fedexBorder; 1384 + border: 2px solid $fedexBorder;
1430 - overflow: hidden; 1385 + overflow: hidden;
1431 1386
1432 - // .image-viewer-actions {} 1387 + // .image-viewer-actions {}
1433 1388
1434 - .el-image-viewer__actions { 1389 + .el-image-viewer__actions {
1435 - position: static; 1390 + position: static;
1436 - width: max-content; 1391 + width: max-content;
1437 - padding: 10px; 1392 + padding: 10px;
1438 - margin: 0 auto; 1393 + margin: 0 auto;
1439 - width: 60px; 1394 + width: 60px;
1440 - height: 100%; 1395 + height: 100%;
1441 - transform: none; 1396 + transform: none;
1442 - background-color: transparent; 1397 + background-color: transparent;
1443 - border-left: 1px solid $fedexBorder; 1398 + border-left: 1px solid $fedexBorder;
1444 - border-radius: 0; 1399 + border-radius: 0;
1445 -
1446 - .el-image-viewer__actions__inner {
1447 - display: block;
1448 - text-align: center;
1449 -
1450 - .zoomNum {
1451 - width: 40px;
1452 - font-size: 0.65rem;
1453 - color: #333;
1454 - padding: 5px 0px;
1455 - margin-bottom: 20px;
1456 - background-color: #d4d0d0;
1457 - }
1458 1400
1459 - i { 1401 + .el-image-viewer__actions__inner {
1460 - display: block; 1402 + display: block;
1461 - cursor: pointer; 1403 + text-align: center;
1462 - margin-bottom: 20px;
1463 - color: $fedexButton;
1464 - }
1465 - }
1466 1404
1467 - } 1405 + .zoomNum {
1406 + width: 40px;
1407 + font-size: 0.65rem;
1408 + color: #333;
1409 + padding: 5px 0px;
1410 + margin-bottom: 20px;
1411 + background-color: #d4d0d0;
1412 + }
1468 1413
1469 - .el-image-viewer__canvas { 1414 + i {
1470 - width: calc(100%-60px); 1415 + display: block;
1471 - min-width: 200px; 1416 + cursor: pointer;
1472 - position: static; 1417 + margin-bottom: 20px;
1473 - overflow: hidden; 1418 + color: $fedexButton;
1419 + }
1474 } 1420 }
1421 + }
1475 1422
1476 - .el-image-viewer__img { 1423 + .el-image-viewer__canvas {
1477 - display: block; 1424 + width: calc(100%-60px);
1478 - width: max-content; 1425 + min-width: 200px;
1479 - height: max-content; 1426 + position: static;
1427 + overflow: hidden;
1428 + }
1480 1429
1481 - // position: absolute; 1430 + .el-image-viewer__img {
1482 - &:hover { 1431 + display: block;
1483 - cursor: move; 1432 + width: max-content;
1484 - } 1433 + height: max-content;
1434 +
1435 + // position: absolute;
1436 + &:hover {
1437 + cursor: move;
1485 } 1438 }
1439 + }
1486 } 1440 }
1487 1441
1488 .inlineRadio { 1442 .inlineRadio {
1489 - width: 100%; 1443 + width: 100%;
1490 - text-align: center; 1444 + text-align: center;
1491 - margin-bottom: 20px; 1445 + margin-bottom: 20px;
1492 1446
1493 - .el-radio { 1447 + .el-radio {
1494 - display: inline-block !important; 1448 + display: inline-block !important;
1495 - } 1449 + }
1496 } 1450 }
1497 1451
1498 //自定义内容设置穿梭框样式 1452 //自定义内容设置穿梭框样式
1499 .transferDom { 1453 .transferDom {
1500 - width: max-content; 1454 + width: max-content;
1501 - display: flex; 1455 + display: flex;
1502 - align-items: center; 1456 + align-items: center;
1503 - margin: 0 auto; 1457 + margin: 0 auto;
1504 1458
1505 - .customTransfer { 1459 + .customTransfer {
1506 - .el-transfer-panel__item.el-checkbox .el-checkbox__label { 1460 + .el-transfer-panel__item.el-checkbox .el-checkbox__label {
1507 - line-height: 35px; 1461 + line-height: 35px;
1508 - } 1462 + }
1509 -
1510 - .el-transfer-panel {
1511 - width: 250px;
1512 -
1513 - .el-transfer-panel__body {
1514 - height: 300px;
1515 -
1516 - .el-transfer-panel__list.is-filterable {
1517 - height: 80%;
1518 - }
1519 1463
1520 - .el-transfer-panel__item { 1464 + .el-transfer-panel {
1521 - margin-right: 0; 1465 + width: 250px;
1522 - }
1523 1466
1524 - .el-transfer-panel__item:hover { 1467 + .el-transfer-panel__body {
1525 - background-color: $formItemBackgroundColor; 1468 + height: 300px;
1526 - color: $fedexButton;
1527 - }
1528 - }
1529 1469
1530 - .el-checkbox__inner { 1470 + .el-transfer-panel__list.is-filterable {
1531 - min-height: 1.25rem !important; 1471 + height: 80%;
1532 - }
1533 } 1472 }
1534 1473
1535 - .el-transfer__buttons { 1474 + .el-transfer-panel__item {
1536 - padding: 0px 10px; 1475 + margin-right: 0;
1537 - 1476 + }
1538 - .el-button {
1539 - display: block;
1540 - color: $fedexButton ;
1541 - text-align: center;
1542 - margin-left: 0;
1543 - border: none !important;
1544 1477
1545 - i { 1478 + .el-transfer-panel__item:hover {
1546 - font-size: 16px; 1479 + background-color: $formItemBackgroundColor;
1547 - font-weight: 700; 1480 + color: $fedexButton;
1548 - } 1481 + }
1482 + }
1549 1483
1484 + .el-checkbox__inner {
1485 + min-height: 1.25rem !important;
1486 + }
1487 + }
1550 1488
1551 - } 1489 + .el-transfer__buttons {
1490 + padding: 0px 10px;
1552 1491
1492 + .el-button {
1493 + display: block;
1494 + color: $fedexButton;
1495 + text-align: center;
1496 + margin-left: 0;
1497 + border: none !important;
1498 +
1499 + i {
1500 + font-size: 16px;
1501 + font-weight: 700;
1553 } 1502 }
1503 + }
1554 } 1504 }
1505 + }
1555 1506
1556 - .transfer-rightOption { 1507 + .transfer-rightOption {
1557 - padding: 0 10px; 1508 + padding: 0 10px;
1558 1509
1559 - .el-button { 1510 + .el-button {
1560 - display: block; 1511 + display: block;
1561 - margin-left: 0px; 1512 + margin-left: 0px;
1562 - margin-bottom: 10px; 1513 + margin-bottom: 10px;
1563 1514
1564 - i { 1515 + i {
1565 - font-size: 16px; 1516 + font-size: 16px;
1566 - font-weight: 700; 1517 + font-weight: 700;
1567 - } 1518 + }
1568 - }
1569 } 1519 }
1520 + }
1570 } 1521 }
1571 1522
1572 .imgCheck { 1523 .imgCheck {
1573 - margin: 10px; 1524 + margin: 10px;
1574 1525
1575 - .el-checkbox__label { 1526 + .el-checkbox__label {
1576 - font-size: 16px !important; 1527 + font-size: 16px !important;
1577 - font-weight: 700 !important; 1528 + font-weight: 700 !important;
1578 - } 1529 + }
1579 } 1530 }
1580 1531
1581 -
1582 .historyEmpty { 1532 .historyEmpty {
1583 - .el-empty__description { 1533 + .el-empty__description {
1584 - font-weight: 700; 1534 + font-weight: 700;
1585 1535
1586 - p { 1536 + p {
1587 - font-size: 24px; 1537 + font-size: 24px;
1588 - }
1589 } 1538 }
1539 + }
1590 } 1540 }
1591 1541
1592 .tablePagination { 1542 .tablePagination {
1593 - .el-pagination__rightwrapper { 1543 + .el-pagination__rightwrapper {
1594 - margin-left: 10px; 1544 + margin-left: 10px;
1595 - } 1545 + }
1596 1546
1597 - .el-pagination__jump { 1547 + .el-pagination__jump {
1598 - margin-right: 10px; 1548 + margin-right: 10px;
1599 1549
1600 - .el-input>input { 1550 + .el-input > input {
1601 - border: none; 1551 + border: none;
1602 - border-bottom: 1px solid #dcdfe6; 1552 + border-bottom: 1px solid #dcdfe6;
1603 - }
1604 } 1553 }
1554 + }
1605 } 1555 }
1606 1556
1607 .el-popover:has(.textareaPopover) { 1557 .el-popover:has(.textareaPopover) {
1608 - padding: 0px; 1558 + padding: 0px;
1609 } 1559 }
1610 1560
1611 .textareaPopover { 1561 .textareaPopover {
1612 - background-color: $fedexTablebackgroundColor; 1562 + background-color: $fedexTablebackgroundColor;
1613 1563
1614 - textarea { 1564 + textarea {
1615 - border: none; 1565 + border: none;
1616 - } 1566 + }
1617 } 1567 }
1618 1568
1619 -.textareaPopover+.popper__arrow { 1569 +.textareaPopover + .popper__arrow {
1620 - display: none; 1570 + display: none;
1621 } 1571 }
1622 1572
1623 .el-picker-panel__body { 1573 .el-picker-panel__body {
1624 - .is-left { 1574 + .is-left {
1625 - .el-date-range-picker__header { 1575 + .el-date-range-picker__header {
1626 - div:before { 1576 + div:before {
1627 - content: '起 '; 1577 + content: "起 ";
1628 - } 1578 + }
1629 - }
1630 } 1579 }
1580 + }
1631 1581
1632 - .is-right { 1582 + .is-right {
1633 - .el-date-range-picker__header { 1583 + .el-date-range-picker__header {
1634 - div:before { 1584 + div:before {
1635 - content: '止 '; 1585 + content: "止 ";
1636 - } 1586 + }
1637 - }
1638 } 1587 }
1588 + }
1639 } 1589 }
1640 1590
1641 .addLogin { 1591 .addLogin {
1642 - .el-input__inner { 1592 + .el-input__inner {
1643 - border: 1px solid #DCDFE6 !important; 1593 + border: 1px solid #dcdfe6 !important;
1644 - } 1594 + }
1645 } 1595 }
1646 1596
1647 .authorizationForm { 1597 .authorizationForm {
1648 - .fedexFormStyle .el-form-item .el-form-item__label { 1598 + .fedexFormStyle .el-form-item .el-form-item__label {
1649 - transform: translate3d(0, 3px, 0); 1599 + transform: translate3d(0, 3px, 0);
1650 - } 1600 + }
1651 1601
1652 - .fedexFormStyle .el-form-item:has(.inputFocus) .el-form-item__label { 1602 + .fedexFormStyle .el-form-item:has(.inputFocus) .el-form-item__label {
1653 - transform: translate3d(0, -5px, 0); 1603 + transform: translate3d(0, -5px, 0);
1654 - } 1604 + }
1655 1605
1656 - .el-form-item:has(.el-form-item__error) { 1606 + .el-form-item:has(.el-form-item__error) {
1657 - margin-bottom: 10px !important; 1607 + margin-bottom: 10px !important;
1658 - } 1608 + }
1659 1609
1660 - .el-form-item { 1610 + .el-form-item {
1661 - .el-form-item__label { 1611 + .el-form-item__label {
1662 - padding-bottom: 0px; 1612 + padding-bottom: 0px;
1663 - }
1664 } 1613 }
1614 + }
1665 } 1615 }
1666 1616
1667 .fedexCollapse { 1617 .fedexCollapse {
1668 - border: 0px; 1618 + border: 0px;
1669 1619
1670 - .el-collapse-item { 1620 + .el-collapse-item {
1671 - margin-bottom: 2px; 1621 + margin-bottom: 2px;
1672 1622
1673 - .el-collapse-item__header { 1623 + .el-collapse-item__header {
1674 - font-size: 14px; 1624 + font-size: 14px;
1675 - border: 0px; 1625 + border: 0px;
1676 - padding-left: 10px; 1626 + padding-left: 10px;
1677 - font-weight: 600; 1627 + font-weight: 600;
1678 - color: #333; 1628 + color: #333;
1679 - background-color: $formItemBackgroundColor; 1629 + background-color: $formItemBackgroundColor;
1680 - 1630 +
1681 - .el-collapse-item__arrow { 1631 + .el-collapse-item__arrow {
1682 - font-size: 16px; 1632 + font-size: 16px;
1683 - font-weight: 600; 1633 + font-weight: 600;
1684 - transform: rotate(-90deg); 1634 + transform: rotate(-90deg);
1685 - color: $fedexButton; 1635 + color: $fedexButton;
1686 - } 1636 + }
1687 1637
1688 - .el-collapse-item__arrow.is-active { 1638 + .el-collapse-item__arrow.is-active {
1689 - transform: rotate(90deg); 1639 + transform: rotate(90deg);
1690 - } 1640 + }
1691 - } 1641 + }
1692 1642
1693 - .el-collapse-item__header.focusing:focus:not(:hover) { 1643 + .el-collapse-item__header.focusing:focus:not(:hover) {
1694 - color: #333 !important; 1644 + color: #333 !important;
1695 - } 1645 + }
1696 1646
1697 - .el-collapse-item__wrap { 1647 + .el-collapse-item__wrap {
1698 - border-top: 1px solid $fedexBorder; 1648 + border-top: 1px solid $fedexBorder;
1699 - border-bottom: 0px; 1649 + border-bottom: 0px;
1700 - background-color: $formItemBackgroundColor; 1650 + background-color: $formItemBackgroundColor;
1701 - 1651 +
1702 - .el-collapse-item__content { 1652 + .el-collapse-item__content {
1703 - padding: 0px; 1653 + padding: 0px;
1704 -
1705 - ul {
1706 - margin: 10px 25px;
1707 - padding: 0;
1708 - font-size: 12px;
1709 - font-weight: 400;
1710 - color: #999;
1711 - }
1712 - }
1713 1654
1655 + ul {
1656 + margin: 10px 25px;
1657 + padding: 0;
1658 + font-size: 12px;
1659 + font-weight: 400;
1660 + color: #999;
1714 } 1661 }
1662 + }
1715 } 1663 }
1664 + }
1716 } 1665 }
1717 1666
1718 .systemParametersCollapse { 1667 .systemParametersCollapse {
1719 - .el-collapse-item__header { 1668 + .el-collapse-item__header {
1720 - background-color: $fedexTablebackgroundColor; 1669 + background-color: $fedexTablebackgroundColor;
1721 - } 1670 + }
1722 } 1671 }
1723 1672
1724 .systemConfigForm { 1673 .systemConfigForm {
1725 - .el-form-item:not(.is-error) { 1674 + .el-form-item:not(.is-error) {
1726 - margin-bottom: 0px; 1675 + margin-bottom: 0px;
1727 - } 1676 + }
1728 1677
1729 - .el-form-item:has(.is-error) { 1678 + .el-form-item:has(.is-error) {
1730 - margin-bottom: 22px; 1679 + margin-bottom: 22px;
1731 - } 1680 + }
1732 } 1681 }
1733 1682
1734 .systemDialog { 1683 .systemDialog {
1735 - .el-dialog { 1684 + .el-dialog {
1736 - margin-top: 1vh !important; 1685 + margin-top: 1vh !important;
1737 - } 1686 + }
1738 } 1687 }
1739 1688
1740 .approvalRemark { 1689 .approvalRemark {
1741 - .el-textarea { 1690 + .el-textarea {
1742 - background-color: $formItemBackgroundColor; 1691 + background-color: $formItemBackgroundColor;
1743 1692
1744 - textarea { 1693 + textarea {
1745 - background-color: $formItemBackgroundColor !important; 1694 + background-color: $formItemBackgroundColor !important;
1746 - border: none !important; 1695 + border: none !important;
1747 - }
1748 } 1696 }
1697 + }
1749 } 1698 }
1750 1699
1751 .activeFormItemInfo { 1700 .activeFormItemInfo {
1752 - 1701 + .el-input__inner,
1753 - .el-input__inner, 1702 + input {
1754 - input { 1703 + font-weight: 700 !important;
1755 - font-weight: 700 !important; 1704 + color: #333 !important;
1756 - color: #333 !important; 1705 + }
1757 - }
1758 } 1706 }
1759 1707
1760 .activeFormItemWarning { 1708 .activeFormItemWarning {
1761 - 1709 + .el-input__inner,
1762 - .el-input__inner, 1710 + input {
1763 - input { 1711 + font-weight: 700 !important;
1764 - font-weight: 700 !important; 1712 + color: $fedexBottonColor !important;
1765 - color: $fedexBottonColor !important; 1713 + }
1766 - }
1767 } 1714 }
1768 1715
1769 .activeFormItemError { 1716 .activeFormItemError {
1770 - 1717 + .el-input__inner,
1771 - .el-input__inner, 1718 + input {
1772 - input { 1719 + font-weight: 700 !important;
1773 - font-weight: 700 !important; 1720 + color: $fedexError !important;
1774 - color: $fedexError !important; 1721 + }
1775 - }
1776 } 1722 }
1777 1723
1778 -
1779 .portLogPopper { 1724 .portLogPopper {
1780 - border: 2px solid $fedexColor; 1725 + border: 2px solid $fedexColor;
1781 - // background-color: rgba(77, 20, 140, 0.1) !important; 1726 + // background-color: rgba(77, 20, 140, 0.1) !important;
1782 1727
1783 - // th, 1728 + // th,
1784 - // td { 1729 + // td {
1785 - // background-color: rgba(77, 20, 140, 0.1) !important; 1730 + // background-color: rgba(77, 20, 140, 0.1) !important;
1786 - // } 1731 + // }
1787 1732
1788 - // ::-webkit-scrollbar-track { 1733 + // ::-webkit-scrollbar-track {
1789 - // background-color: rgba(77, 20, 140, 0.1) !important; 1734 + // background-color: rgba(77, 20, 140, 0.1) !important;
1790 - // } 1735 + // }
1791 } 1736 }
1792 1737
1793 .hourDatePicker { 1738 .hourDatePicker {
1794 - .el-button--text { 1739 + .el-button--text {
1795 - display: none; 1740 + display: none;
1796 - } 1741 + }
1797 1742
1798 - .el-time-spinner__wrapper { 1743 + .el-time-spinner__wrapper {
1799 - width: 100%; 1744 + width: 100%;
1800 - } 1745 + }
1801 1746
1802 - .el-scrollbar:nth-child(2) { 1747 + .el-scrollbar:nth-child(2) {
1803 - display: none; 1748 + display: none;
1804 - } 1749 + }
1805 } 1750 }
1806 1751
1807 .multipleElSelect { 1752 .multipleElSelect {
1808 - .el-select__tags { 1753 + .el-select__tags {
1809 - max-height: 25px !important; 1754 + max-height: 25px !important;
1810 - overflow-y: auto; 1755 + overflow-y: auto;
1811 1756
1812 - .el-select__input { 1757 + .el-select__input {
1813 - position: absolute; 1758 + position: absolute;
1814 - top: -2000px 1759 + top: -2000px;
1815 - }
1816 } 1760 }
1761 + }
1817 } 1762 }
1818 1763
1819 .systemVerError { 1764 .systemVerError {
1820 - width: 700px !important; 1765 + width: 700px !important;
1821 } 1766 }
1822 1767
1823 .activeRow { 1768 .activeRow {
1824 - td { 1769 + td {
1825 - background-color: #e8f7fd !important; 1770 + background-color: #e8f7fd !important;
1826 - } 1771 + }
1827 } 1772 }
1828 1773
1829 .dbDataTable { 1774 .dbDataTable {
1830 - .el-table__row { 1775 + .el-table__row {
1831 - .is-right { 1776 + .is-right {
1832 - .cell { 1777 + .cell {
1833 - min-height: 37px; 1778 + min-height: 37px;
1834 - } 1779 + }
1835 - }
1836 } 1780 }
1781 + }
1837 } 1782 }
1838 1783
1839 .dbDataDialog { 1784 .dbDataDialog {
1840 - .el-dialog__body { 1785 + .el-dialog__body {
1841 - padding: 10px 20px; 1786 + padding: 10px 20px;
1842 - } 1787 + }
1843 } 1788 }
1844 1789
1845 -
1846 .checkBoxGroupStyle1 { 1790 .checkBoxGroupStyle1 {
1847 - label { 1791 + label {
1848 - .el-checkbox__label { 1792 + .el-checkbox__label {
1849 - font-size: 12px; 1793 + font-size: 12px;
1850 - font-weight: 600; 1794 + font-weight: 600;
1851 - }
1852 } 1795 }
1796 + }
1853 1797
1854 - .is-checked { 1798 + .is-checked {
1855 - .el-checkbox__label { 1799 + .el-checkbox__label {
1856 - color: $fedexButton !important; 1800 + color: $fedexButton !important;
1857 - }
1858 } 1801 }
1802 + }
1859 } 1803 }
1860 1804
1861 .portCheckDom { 1805 .portCheckDom {
1862 - .el-radio-group { 1806 + .el-radio-group {
1863 - .el-radio__label { 1807 + .el-radio__label {
1864 - font-weight: 600; 1808 + font-weight: 600;
1865 - color: #333; 1809 + color: #333;
1866 - }
1867 } 1810 }
1811 + }
1868 } 1812 }
1869 1813
1870 .classCUploadDialog { 1814 .classCUploadDialog {
1871 - .el-dialog__body { 1815 + .el-dialog__body {
1872 - padding: 10px 20px; 1816 + padding: 10px 20px;
1873 - } 1817 + }
1874 } 1818 }
1875 1819
1876 .fedexPortDetail { 1820 .fedexPortDetail {
1877 - .el-form-item { 1821 + .el-form-item {
1878 - // box-shadow: 0px 3px 0.3rem 0.3px rgba(229, 242, 248, 0.8) 1822 + // box-shadow: 0px 3px 0.3rem 0.3px rgba(229, 242, 248, 0.8)
1879 - } 1823 + }
1880 } 1824 }
1881 1825
1882 .el-table, 1826 .el-table,
1883 .fedexTableBlack { 1827 .fedexTableBlack {
1884 - .el-table__body-wrapper { 1828 + .el-table__body-wrapper {
1885 - .el-table__body { 1829 + .el-table__body {
1886 - tbody { 1830 + tbody {
1887 - .tableErrorRow { 1831 + .tableErrorRow {
1888 - 1832 + td,
1889 - td, 1833 + .table_cell {
1890 - .table_cell { 1834 + background-color: rgba(222, 0, 46, 0.2) !important;
1891 - background-color: rgba(222, 0, 46, 0.2) !important; 1835 + }
1892 - }
1893 - }
1894 -
1895 - .tableErrorRow:hover {
1896 -
1897 - td,
1898 - .table_cell {
1899 - background-color: rgba(222, 0, 46, 0.2) !important;
1900 - }
1901 - }
1902 - }
1903 } 1836 }
1904 1837
1838 + .tableErrorRow:hover {
1839 + td,
1840 + .table_cell {
1841 + background-color: rgba(222, 0, 46, 0.2) !important;
1842 + }
1843 + }
1844 + }
1905 } 1845 }
1846 + }
1906 } 1847 }
1907 1848
1908 .radioStatus { 1849 .radioStatus {
1909 - 1850 + .el-radio {
1910 - .el-radio { 1851 + .el-radio__label {
1911 - .el-radio__label { 1852 + font-weight: 700;
1912 - font-weight: 700; 1853 + color: $fedexButton !important;
1913 - color: $fedexButton !important;
1914 - }
1915 } 1854 }
1855 + }
1916 } 1856 }
1917 1857
1918 .costValueInput { 1858 .costValueInput {
1919 - .el-input__suffix { 1859 + .el-input__suffix {
1920 - top: -2px !important; 1860 + top: -2px !important;
1921 - } 1861 + }
1922 } 1862 }
1923 1863
1924 -
1925 -
1926 // #eagleMapContainer { 1864 // #eagleMapContainer {
1927 // overflow-y: auto; 1865 // overflow-y: auto;
1928 // margin-top: 10px; 1866 // margin-top: 10px;
...@@ -1948,4 +1886,4 @@ input:disabled { ...@@ -1948,4 +1886,4 @@ input:disabled {
1948 // /*定义右下角汇合处的样式*/ 1886 // /*定义右下角汇合处的样式*/
1949 // #eagleMapContainer::-webkit-scrollbar-corner { 1887 // #eagleMapContainer::-webkit-scrollbar-corner {
1950 // background: rgba(0, 0, 0, 0.2); 1888 // background: rgba(0, 0, 0, 0.2);
1951 -// }
...\ No newline at end of file ...\ No newline at end of file
1889 +// }
......
...@@ -31,7 +31,14 @@ ...@@ -31,7 +31,14 @@
31 :pageSizes="[20, 30, 50, 100]" 31 :pageSizes="[20, 30, 50, 100]"
32 :totalCount="0" 32 :totalCount="0"
33 :loading="tableLoading" 33 :loading="tableLoading"
34 - :emptyText="(loadingDatas && !rowData.popoverData.length) ? '数据加载中' : $t('portEntry.emptyText')" 34 + :emptyText="
35 + loadingDatas &&
36 + rowData &&
37 + rowData.popoverData &&
38 + !rowData.popoverData.length
39 + ? '数据加载中'
40 + : $t('portEntry.emptyText')
41 + "
35 height="350px" 42 height="350px"
36 maxHeight="500px" 43 maxHeight="500px"
37 rowKey="id" 44 rowKey="id"
...@@ -82,20 +89,20 @@ export default { ...@@ -82,20 +89,20 @@ export default {
82 }, 89 },
83 data() { 90 data() {
84 return { 91 return {
85 - tableLoading: false 92 + tableLoading: false,
86 }; 93 };
87 }, 94 },
88 - computed:{ 95 + computed: {
89 - loadingDatas(){ 96 + loadingDatas() {
90 - return this.$store.state.viewOption.loadingDatas 97 + return this.$store.state.viewOption.loadingDatas;
91 - } 98 + },
92 }, 99 },
93 methods: { 100 methods: {
94 //弹框关闭 101 //弹框关闭
95 popoverClose() { 102 popoverClose() {
96 this.$emit("popoverClose"); 103 this.$emit("popoverClose");
97 this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = "auto"; 104 this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = "auto";
98 - this.$store.dispatch('setLoadingState', true) 105 + this.$store.dispatch("setLoadingState", true);
99 }, 106 },
100 //弹框状态改版 107 //弹框状态改版
101 popoverChange(data, type) { 108 popoverChange(data, type) {
......
1 -import Vue from 'vue' 1 +import Vue from "vue";
2 -import Router from 'vue-router' 2 +import Router from "vue-router";
3 3
4 -Vue.use(Router) 4 +Vue.use(Router);
5 5
6 /* Layout */ 6 /* Layout */
7 -import Layout from '@/layout' 7 +import Layout from "@/layout";
8 -import ParentView from '@/components/ParentView'; 8 +import ParentView from "@/components/ParentView";
9 9
10 /** 10 /**
11 * Note: 路由配置项 11 * Note: 路由配置项
...@@ -28,37 +28,37 @@ import ParentView from '@/components/ParentView'; ...@@ -28,37 +28,37 @@ import ParentView from '@/components/ParentView';
28 // 公共路由 28 // 公共路由
29 export const constantRoutes = [ 29 export const constantRoutes = [
30 { 30 {
31 - path: '/redirect', 31 + path: "/redirect",
32 component: Layout, 32 component: Layout,
33 hidden: true, 33 hidden: true,
34 children: [ 34 children: [
35 { 35 {
36 - path: '/redirect/:path(.*)', 36 + path: "/redirect/:path(.*)",
37 - component: (resolve) => require(['@/views/redirect'], resolve) 37 + component: (resolve) => require(["@/views/redirect"], resolve),
38 - } 38 + },
39 - ] 39 + ],
40 }, 40 },
41 { 41 {
42 - path: '/404', 42 + path: "/404",
43 - component: (resolve) => require(['@/views/error/404'], resolve), 43 + component: (resolve) => require(["@/views/error/404"], resolve),
44 - hidden: true 44 + hidden: true,
45 }, 45 },
46 { 46 {
47 - path: '/401', 47 + path: "/401",
48 - component: (resolve) => require(['@/views/error/401'], resolve), 48 + component: (resolve) => require(["@/views/error/401"], resolve),
49 - hidden: true 49 + hidden: true,
50 }, 50 },
51 { 51 {
52 - path: '/login', 52 + path: "/login",
53 - component: (resolve) => require(['@/views/login'], resolve), 53 + component: (resolve) => require(["@/views/login"], resolve),
54 hidden: true, 54 hidden: true,
55 - meta: { noCache: true } 55 + meta: { noCache: true },
56 }, 56 },
57 { 57 {
58 - path: '/relogin', 58 + path: "/relogin",
59 - component: (resolve) => require(['@/views/redjrectLogin'], resolve), 59 + component: (resolve) => require(["@/views/redjrectLogin"], resolve),
60 hidden: true, 60 hidden: true,
61 - meta: { noCache: true, breadcrumb: false } 61 + meta: { noCache: true, breadcrumb: false },
62 }, 62 },
63 // { 63 // {
64 // path: '', 64 // path: '',
...@@ -82,10 +82,10 @@ export const constantRoutes = [ ...@@ -82,10 +82,10 @@ export const constantRoutes = [
82 // ] 82 // ]
83 // }, 83 // },
84 { 84 {
85 - path: '/reporting', 85 + path: "/reporting",
86 component: Layout, 86 component: Layout,
87 hidden: false, 87 hidden: false,
88 - meta: { title: '申报数据管理', icon: 'upload' }, 88 + meta: { title: "申报数据管理", icon: "upload" },
89 children: [ 89 children: [
90 // { 90 // {
91 // path: '/reportingData', 91 // path: '/reportingData',
...@@ -95,19 +95,20 @@ export const constantRoutes = [ ...@@ -95,19 +95,20 @@ export const constantRoutes = [
95 // meta: { title: '申报数据管理', icon: 'upload' } 95 // meta: { title: '申报数据管理', icon: 'upload' }
96 // }, 96 // },
97 { 97 {
98 - path: '/editReportingData', 98 + path: "/editReportingData",
99 - component: (resolve) => require(['@/views/editReportingData/index'], resolve), 99 + component: (resolve) =>
100 + require(["@/views/editReportingData/index"], resolve),
100 hidden: true, 101 hidden: true,
101 - name: 'EditReportingData', 102 + name: "EditReportingData",
102 - meta: { title: '申报数据编辑', icon: 'edit' } 103 + meta: { title: "申报数据编辑", icon: "edit" },
103 }, 104 },
104 - ] 105 + ],
105 }, 106 },
106 { 107 {
107 - path: '/export', 108 + path: "/export",
108 component: Layout, 109 component: Layout,
109 hidden: false, 110 hidden: false,
110 - meta: { title: '查询管理', icon: 'fedexExportIcon' }, 111 + meta: { title: "查询管理", icon: "fedexExportIcon" },
111 children: [ 112 children: [
112 // { 113 // {
113 // path: '/exportBillQuery', 114 // path: '/exportBillQuery',
...@@ -117,25 +118,28 @@ export const constantRoutes = [ ...@@ -117,25 +118,28 @@ export const constantRoutes = [
117 // meta: { title: '出口订单查询', icon: '' }, 118 // meta: { title: '出口订单查询', icon: '' },
118 // }, 119 // },
119 { 120 {
120 - path: '/exportBillDetail', 121 + path: "/exportBillDetail",
121 - component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), 122 + component: (resolve) =>
123 + require(["@/views/exportBillDetail/index"], resolve),
122 hidden: true, 124 hidden: true,
123 - name: 'ExportBillDetail', 125 + name: "ExportBillDetail",
124 - meta: { title: '出口订单详情', icon: '' }, 126 + meta: { title: "出口订单详情", icon: "" },
125 }, 127 },
126 { 128 {
127 - path: '/exportTransportDetail', 129 + path: "/exportTransportDetail",
128 - component: (resolve) => require(['@/views/exportTransportDetail/index'], resolve), 130 + component: (resolve) =>
131 + require(["@/views/exportTransportDetail/index"], resolve),
129 hidden: true, 132 hidden: true,
130 - name: 'ExportTransportDetail', 133 + name: "ExportTransportDetail",
131 - meta: { title: '出口运单详情', icon: '' }, 134 + meta: { title: "出口运单详情", icon: "" },
132 }, 135 },
133 { 136 {
134 - path: '/exportListDetail', 137 + path: "/exportListDetail",
135 - component: (resolve) => require(['@/views/exportListDetail/index'], resolve), 138 + component: (resolve) =>
139 + require(["@/views/exportListDetail/index"], resolve),
136 hidden: true, 140 hidden: true,
137 - name: 'ExportListDetail', 141 + name: "ExportListDetail",
138 - meta: { title: '出口清单详情', icon: '' }, 142 + meta: { title: "出口清单详情", icon: "" },
139 }, 143 },
140 // { 144 // {
141 // path: '/exportTransportBillQuery', 145 // path: '/exportTransportBillQuery',
...@@ -159,18 +163,20 @@ export const constantRoutes = [ ...@@ -159,18 +163,20 @@ export const constantRoutes = [
159 // meta: { title: '清单总分单查询', icon: '' } 163 // meta: { title: '清单总分单查询', icon: '' }
160 // }, 164 // },
161 { 165 {
162 - path: '/listBranchDetail', 166 + path: "/listBranchDetail",
163 - component: (resolve) => require(['@/views/listBranchDetail/index'], resolve), 167 + component: (resolve) =>
164 - name: 'ListBranchDetail', 168 + require(["@/views/listBranchDetail/index"], resolve),
169 + name: "ListBranchDetail",
165 hidden: true, 170 hidden: true,
166 - meta: { title: '清单总分单详情', icon: '' } 171 + meta: { title: "清单总分单详情", icon: "" },
167 }, 172 },
168 { 173 {
169 - path: '/logisticsExitDetail', 174 + path: "/logisticsExitDetail",
170 - component: (resolve) => require(['@/views/logisticsExitDetail/index'], resolve), 175 + component: (resolve) =>
171 - name: 'LogisticsExitDetail', 176 + require(["@/views/logisticsExitDetail/index"], resolve),
177 + name: "LogisticsExitDetail",
172 hidden: true, 178 hidden: true,
173 - meta: { title: '物流离境单详情', icon: '' } 179 + meta: { title: "物流离境单详情", icon: "" },
174 }, 180 },
175 // { 181 // {
176 // path: '/logisticsExitQuery', 182 // path: '/logisticsExitQuery',
...@@ -184,20 +190,20 @@ export const constantRoutes = [ ...@@ -184,20 +190,20 @@ export const constantRoutes = [
184 // name: 'ExportRevokeBillQuery', 190 // name: 'ExportRevokeBillQuery',
185 // meta: { title: '出口撤销单查询', icon: '' } 191 // meta: { title: '出口撤销单查询', icon: '' }
186 // } 192 // }
187 - ] 193 + ],
188 }, 194 },
189 { 195 {
190 - path: '/summary', 196 + path: "/summary",
191 component: Layout, 197 component: Layout,
192 hidden: false, 198 hidden: false,
193 - meta: { title: '汇总申报', icon: 'fedexSummary' }, 199 + meta: { title: "汇总申报", icon: "fedexSummary" },
194 children: [ 200 children: [
195 { 201 {
196 - path: '/summary', 202 + path: "/summary",
197 - component: (resolve) => require(['@/views/summaryEdit/index'], resolve), 203 + component: (resolve) => require(["@/views/summaryEdit/index"], resolve),
198 hidden: false, 204 hidden: false,
199 - name: 'Summary', 205 + name: "Summary",
200 - meta: { title: '汇总申报', icon: '' } 206 + meta: { title: "汇总申报", icon: "" },
201 }, 207 },
202 // { 208 // {
203 // path: '/summaryDataSearch', 209 // path: '/summaryDataSearch',
...@@ -207,13 +213,14 @@ export const constantRoutes = [ ...@@ -207,13 +213,14 @@ export const constantRoutes = [
207 // meta: { title: '汇总申请单查询', icon: '' } 213 // meta: { title: '汇总申请单查询', icon: '' }
208 // } 214 // }
209 { 215 {
210 - path: '/summaryDetail', 216 + path: "/summaryDetail",
211 - component: (resolve) => require(['@/views/summaryDetail/index'], resolve), 217 + component: (resolve) =>
212 - name: 'SummaryDetail', 218 + require(["@/views/summaryDetail/index"], resolve),
219 + name: "SummaryDetail",
213 hidden: true, 220 hidden: true,
214 - meta: { title: '汇总申请单详情', icon: '' } 221 + meta: { title: "汇总申请单详情", icon: "" },
215 - } 222 + },
216 - ] 223 + ],
217 }, 224 },
218 // { 225 // {
219 // path: '/system', 226 // path: '/system',
...@@ -256,13 +263,13 @@ export const constantRoutes = [ ...@@ -256,13 +263,13 @@ export const constantRoutes = [
256 // name: 'RoleConfig', 263 // name: 'RoleConfig',
257 // meta: { title: '角色管理权限', icon: '' } 264 // meta: { title: '角色管理权限', icon: '' }
258 // }, 265 // },
266 + // 监管场所管理 supervise-place-manage
259 // ] 267 // ]
260 // }, 268 // },
261 -] 269 +];
262 270
263 export default new Router({ 271 export default new Router({
264 - mode: 'hash', // 去掉url中的# 272 + mode: "hash", // 去掉url中的#
265 scrollBehavior: () => ({ y: 0 }), 273 scrollBehavior: () => ({ y: 0 }),
266 - routes: constantRoutes 274 + routes: constantRoutes,
267 -}) 275 +});
268 -
......
1 +<template>
2 + <el-dialog
3 + class="entryDialog classCUploadDialog"
4 + :title="title"
5 + :visible.sync="outerVisible"
6 + :show-close="false"
7 + width="25%"
8 + :close-on-click-modal="false"
9 + :destroy-on-close="true"
10 + v-loading="loadings.dialogLoading"
11 + @close="close"
12 + >
13 + <div class="modelItem">
14 + <el-form
15 + v-if="type != 'menuChange'"
16 + class="fedexFormStyle"
17 + ref="formData"
18 + :model="formData"
19 + :rules="rules"
20 + label-position="top"
21 + size="small"
22 + >
23 + <Formitem label="上级名称" prop="parentMenuId" type="edit">
24 + <el-input
25 + type="text"
26 + class="inputShadow"
27 + id="inputInner-edit-roleName"
28 + resize="none"
29 + v-model="formData.parentMenuId"
30 + clearable
31 + placeholder=""
32 + ></el-input>
33 + </Formitem>
34 + <Formitem label="菜单名称" prop="menuName" type="edit">
35 + <el-input
36 + type="text"
37 + class="inputShadow"
38 + id="inputInner-edit-roleName"
39 + resize="none"
40 + v-model="formData.menuName"
41 + clearable
42 + placeholder=""
43 + ></el-input>
44 + </Formitem>
45 +
46 + <Formitem label="菜单名称" prop="menuName" type="edit">
47 + <el-input
48 + type="text"
49 + class="inputShadow"
50 + id="inputInner-edit-roleName"
51 + resize="none"
52 + v-model="formData.menuName"
53 + clearable
54 + placeholder=""
55 + ></el-input>
56 + </Formitem>
57 + <Formitem label="菜单名称" prop="menuName" type="edit">
58 + <el-input
59 + type="text"
60 + class="inputShadow"
61 + id="inputInner-edit-roleName"
62 + resize="none"
63 + v-model="formData.menuName"
64 + clearable
65 + placeholder=""
66 + ></el-input>
67 + </Formitem>
68 + </el-form>
69 + <el-tree
70 + ref="tree"
71 + class="menuTree"
72 + v-else
73 + :data="treeData"
74 + show-checkbox
75 + default-expand-all
76 + node-key="id"
77 + :default-expanded-keys="expandedKeys"
78 + :default-checked-keys="checkedKeys"
79 + :props="defaultProps"
80 + @check="treeCheckChange"
81 + >
82 + </el-tree>
83 + </div>
84 + <div class="dialogOption entrySave">
85 + <el-button
86 + class="entrySaveButton"
87 + :disabled="loadings.submitLoading"
88 + @click="submit"
89 + >确 定</el-button
90 + >
91 + <el-button
92 + class="entrySaveButton"
93 + :disabled="loadings.uploadLoading"
94 + @click="close"
95 + >关 闭</el-button
96 + >
97 + </div>
98 + </el-dialog>
99 +</template>
100 +
101 +<script>
102 +import {
103 + addRoleData,
104 + updateRoleData,
105 + updateRoleMenuData,
106 + getMenuByRoleId,
107 +} from "@/api/system/user.js";
108 +import { getRouters } from "@/api/menu";
109 +export default {
110 + props: {
111 + outerVisible: {
112 + type: Boolean,
113 + default: false,
114 + },
115 + title: {
116 + type: String,
117 + default: "新增角色",
118 + },
119 + type: {
120 + type: String,
121 + default: "",
122 + },
123 + active: {
124 + type: Object,
125 + default: null,
126 + },
127 + },
128 + watch: {
129 + outerVisible(val) {
130 + if (val) {
131 + this.loadings.dialogLoading = false;
132 + if (this.type == "update") {
133 + this.formData = this.active;
134 + } else if (this.type == "menuChange") {
135 + this.formData = this.active;
136 + this.searchTreeData();
137 + this.loadCheckedKeys(); //加载已绑定的菜单
138 + }
139 + }
140 + },
141 + },
142 + data() {
143 + return {
144 + formData: {
145 + menuName: "",
146 + icon: "",
147 + order: 0,
148 + parentMenuId: 0, //父级菜单id
149 + physicalUrl: "", //前端地址
150 + url: "", //后端地址
151 + },
152 + treeData: [],
153 + treeCheckData: [],
154 + expandedKeys: [],
155 + checkedKeys: [],
156 + rules: {
157 + menuName: [
158 + {
159 + required: true,
160 + trigger: "blur",
161 + message: "菜单名称不能为空!",
162 + },
163 + ],
164 + },
165 + defaultProps: {
166 + children: "children",
167 + label: "label",
168 + },
169 + searchForm: {},
170 + loadings: {
171 + dialogLoading: false,
172 + uploadLoading: false,
173 + submitLoading: false,
174 + },
175 + loadingText: "",
176 + };
177 + },
178 + methods: {
179 + //查询菜单数据
180 + searchTreeData() {
181 + this.loadings.dialogLoading = true;
182 + getRouters()
183 + .then((res) => {
184 + if (res.code === "200") {
185 + let arr = [];
186 + res.data.forEach((item) => {
187 + let status = true;
188 + if (item.parentMenuId == 0) {
189 + let obj = {
190 + id: item.menuId,
191 + label: item.menuName,
192 + children: [],
193 + };
194 + arr.forEach((menuItem) => {
195 + if (menuItem.id == item.menuId) {
196 + status = false;
197 + menuItem.label = item.menuName;
198 + }
199 + });
200 + if (status) {
201 + arr.push(obj);
202 + }
203 + } else {
204 + let obj = {
205 + id: item.menuId,
206 + label: item.menuName,
207 + };
208 + arr.forEach((menuItem) => {
209 + if (menuItem.id == item.parentMenuId) {
210 + status = false;
211 + menuItem.children.push(obj);
212 + }
213 + });
214 + if (status) {
215 + arr.push({
216 + id: item.parentMenuId,
217 + label: "",
218 + children: [obj],
219 + });
220 + }
221 + }
222 + });
223 + this.treeData = arr;
224 + } else {
225 + this.alertWarningMsg(res.message);
226 + }
227 + this.loadings.dialogLoading = false;
228 + })
229 + .catch((err) => {
230 + console.log(err);
231 + this.loadings.dialogLoading = false;
232 + });
233 + },
234 + //数据保存
235 + submit() {
236 + this.loadings.dialogLoading = true;
237 + let obj = {};
238 + if (this.type == "add") {
239 + this.$refs.formData.validate((valid) => {
240 + if (valid) {
241 + obj.menuName = this.formData.menuName;
242 + this.addapi(obj);
243 + } else {
244 + this.loadings.dialogLoading = false;
245 + }
246 + });
247 + } else if (this.type == "update") {
248 + this.$refs.formData.validate((valid) => {
249 + if (valid) {
250 + obj.roleId = this.formData.roleId;
251 + obj.menuName = this.formData.menuName;
252 + this.updateapi(obj);
253 + } else {
254 + this.loadings.dialogLoading = false;
255 + }
256 + });
257 + } else if (this.type == "menuChange") {
258 + obj.menuId = this.treeCheckData; // 使用合并后的选中节点
259 + obj.roleId = this.formData.roleId;
260 + this.menuChangeapi(obj);
261 + }
262 + },
263 + //新增
264 + addapi(val) {
265 + addRoleData(val)
266 + .then((res) => {
267 + if (res.code === "200") {
268 + this.msgSuccess(res.message);
269 + this.close();
270 + } else {
271 + this.alertWarningMsg(res.message);
272 + this.loadings.dialogLoading = false;
273 + }
274 + })
275 + .catch((err) => {
276 + console.log(err);
277 + this.loadings.dialogLoading = false;
278 + });
279 + },
280 + //修改
281 + updateapi(val) {
282 + updateRoleData(val)
283 + .then((res) => {
284 + if (res.code === "200") {
285 + this.msgSuccess(res.message);
286 + this.close();
287 + } else {
288 + this.alertWarningMsg(res.message);
289 + this.loadings.dialogLoading = false;
290 + }
291 + })
292 + .catch((err) => {
293 + console.log(err);
294 + this.loadings.dialogLoading = false;
295 + });
296 + },
297 + //菜单权限修改
298 + menuChangeapi(val) {
299 + updateRoleMenuData(val)
300 + .then((res) => {
301 + if (res.code === "200") {
302 + this.msgSuccess(res.message);
303 + this.close();
304 + this.$store.dispatch("GenerateRoutes");
305 + } else {
306 + this.alertWarningMsg(res.message);
307 + this.loadings.dialogLoading = false;
308 + }
309 + })
310 + .catch((err) => {
311 + console.log(err);
312 + this.loadings.dialogLoading = false;
313 + });
314 + },
315 + treeCheckChange(data, checked) {
316 + console.log(data, checked);
317 + let arr = [];
318 + arr = checked.checkedKeys.concat(checked.halfCheckedKeys);
319 + this.treeCheckData = arr;
320 + },
321 + close() {
322 + this.formData = {
323 + menuName: "",
324 + };
325 + this.checkedKeys = [];
326 + this.$emit("close");
327 + },
328 + // 加载已绑定的菜单
329 + loadCheckedKeys() {
330 + if (this.formData.roleId) {
331 + getMenuByRoleId(this.formData.roleId)
332 + .then((res) => {
333 + if (res.code === "200") {
334 + this.checkedKeys = res.data
335 + .filter((item) => item.isBinding && item.parentMenuId != 0)
336 + .map((item) => item.menuId);
337 + //console.log('初始 checkedKeys:', this.checkedKeys);
338 + this.$nextTick(() => {
339 + this.$refs.tree.setCheckedKeys(this.checkedKeys);
340 + this.updateTreeCheckData();
341 + });
342 + } else {
343 + this.alertWarningMsg(res.message);
344 + }
345 + })
346 + .catch((err) => {
347 + console.log(err);
348 + });
349 + }
350 + },
351 + //加载选中的节点及半选中的父节点
352 + updateTreeCheckData() {
353 + const checkedKeys = this.$refs.tree.getCheckedKeys();
354 + const halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys();
355 + this.treeCheckData = checkedKeys.concat(halfCheckedKeys);
356 + //console.log('合并后的 treeCheckData:', this.treeCheckData);
357 + },
358 + },
359 +};
360 +</script>
361 +
362 +<style lang="scss" scoped>
363 +@import "@/assets/styles/variables.scss";
364 +
365 +.menuTree {
366 + max-width: 350px;
367 + max-height: 300px;
368 + overflow: auto;
369 + margin: 0 auto;
370 + border: 1px solid #999;
371 + padding: 10px;
372 +}
373 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <!-- 角色名称 -->
12 + <el-col :span="5">
13 + <Formitem label="菜单名称" prop="menuName">
14 + <el-input
15 + type="text"
16 + class="inputShadow"
17 + id="inputInner--roleName"
18 + resize="none"
19 + v-model="sreachFormData.menuName"
20 + clearable
21 + placeholder=""
22 + ></el-input>
23 + </Formitem>
24 + </el-col>
25 + <el-col :span="2">
26 + <el-form-item class="textCenter">
27 + <el-button
28 + class="entrySreachButton"
29 + type="text"
30 + icon="el-icon-search"
31 + :loading="loadings.searchLoading"
32 + @click="search(0)"
33 + ></el-button>
34 + </el-form-item>
35 + </el-col>
36 + </el-row>
37 + </el-form>
38 + <div class="optionButton">
39 + <el-button
40 + class="entrySaveButton"
41 + icon="el-icon-plus"
42 + size="small"
43 + @click="addHandle"
44 + >
45 + 新增菜单
46 + </el-button>
47 + </div>
48 + <Table
49 + class="fedexDetialTable fedexSreachTable"
50 + ref="entryTable"
51 + :data="tableData"
52 + :headerData="headerData"
53 + :maxHeight="tableMaxheight"
54 + :border="true"
55 + :pagination="true"
56 + :order="false"
57 + :loading="loadings.searchLoading"
58 + :page="page.pageIndex"
59 + :pageSizes="[20, 30, 50, 100]"
60 + :totalCount="page.total"
61 + @sizeChange="sizeChange"
62 + @currentChange="currentChange"
63 + :selection="false"
64 + :selectFixed="false"
65 + :rowSelectDataType="false"
66 + >
67 + <template slot="optionColumn">
68 + <el-table-column align="left" label="操作">
69 + <template slot-scope="scope">
70 + <el-button type="text" @click="update(scope.row)">
71 + 角色修改
72 + </el-button>
73 + <el-button type="text" @click="muenChange(scope.row)">
74 + 权限绑定
75 + </el-button>
76 + </template>
77 + </el-table-column>
78 + </template>
79 + </Table>
80 + <DialogVue
81 + :outerVisible="outerVisible"
82 + :title="dialogTitle"
83 + :type="editType"
84 + :active="activeData"
85 + @close="dialogClose"
86 + />
87 + </div>
88 +</template>
89 +
90 +<script>
91 +import { getRoleList } from "@/api/system/user.js";
92 +import DialogVue from "./dialog.vue";
93 +import { addMenu, deleteMenu } from "@/api/menu";
94 +
95 +export default {
96 + name: "SupervisePlaceManage",
97 + components: {
98 + DialogVue,
99 + },
100 + data() {
101 + return {
102 + sreachFormData: {
103 + menuName: "",
104 + },
105 + page: {
106 + pageIndex: 1,
107 + pageSize: 20,
108 + total: 0,
109 + },
110 + activeData: null,
111 + tableData: [],
112 + headerData: [
113 + {
114 + name: "角色名",
115 + value: "roleName",
116 + width: "",
117 + align: "left",
118 + },
119 + ],
120 + loadings: {
121 + searchLoading: false,
122 + },
123 + tableMaxheight: null,
124 + outerVisible: false,
125 + dialogTitle: "",
126 + editType: "",
127 + };
128 + },
129 + created() {
130 + this.search(0);
131 + },
132 + mounted() {
133 + this.tableMaxheight = window.innerHeight - 300;
134 + },
135 + methods: {
136 + //查询
137 + search(val) {
138 + this.loadings.searchLoading = true;
139 + if (val == 0) {
140 + this.page.pageIndex = 1;
141 + }
142 + let obj = this.sreachFormData;
143 + obj.pageIndex = this.page.pageIndex;
144 + obj.pageSize = this.page.pageSize;
145 + getRoleList(obj)
146 + .then((res) => {
147 + if (res.code === "200") {
148 + this.tableData = res.data.value;
149 + this.page.total = res.data.totalItems;
150 + this.tableData.forEach((item, idx) => {
151 + item.index = idx;
152 + });
153 + } else {
154 + this.alertWarningMsg(res.message);
155 + }
156 + this.loadings.searchLoading = false;
157 + })
158 + .catch((err) => {
159 + console.log(err);
160 + this.loadings.searchLoading = false;
161 + });
162 + },
163 + addHandle() {
164 + // this.dialogTitle = "新增菜单";
165 + // this.editType = "add";
166 + // this.outerVisible = true;
167 +
168 + // let params = {
169 + // icon: "",
170 + // menuName: "监管场所管理",
171 + // order: 4.4,
172 + // parentMenuId: 90,
173 + // physicalUrl: "/supervise-place-manage",
174 + // url: "",
175 + // };
176 + deleteMenu({
177 + menuId: 1,
178 + }).then((res) => {
179 + console.log(res);
180 + });
181 + // addMenu(params).then((res) => {
182 + // console.log(res);
183 + // });
184 + },
185 + update(val) {
186 + this.dialogTitle = "修改角色";
187 + this.editType = "update";
188 + this.outerVisible = true;
189 + this.activeData = val;
190 + },
191 + muenChange(val) {
192 + this.dialogTitle = "绑定权限";
193 + this.editType = "menuChange";
194 + this.outerVisible = true;
195 + this.activeData = val;
196 + },
197 + dialogClose() {
198 + this.outerVisible = false;
199 + this.activeData = null;
200 + this.search(1);
201 + },
202 + //分页
203 + currentChange(val) {
204 + this.page.pageIndex = val.page;
205 + this.search(1);
206 + },
207 + sizeChange(val) {
208 + this.page.pageSize = val;
209 + this.search(1);
210 + },
211 + input() {
212 + this.$forceUpdate();
213 + },
214 + },
215 +};
216 +</script>
217 +
218 +<style scoped lang="scss">
219 +@import "@/assets/styles/variables.scss";
220 +.entrySreach {
221 + height: 100%;
222 + background-color: $menuLightBg;
223 +
224 + .entrySreachButton {
225 + display: inline-block;
226 + font-size: 20px;
227 + color: $fedexButton !important;
228 + }
229 +
230 + .optionButton {
231 + padding: 10px;
232 + text-align: left;
233 +
234 + .el-button {
235 + color: $fedexButton;
236 + border-color: $fedexButton !important;
237 +
238 + svg {
239 + display: inline-block;
240 + margin-right: 5px;
241 + fill: $fedexButton;
242 + }
243 + }
244 +
245 + .entrySaveButton:hover,
246 + .entrySaveButton:focus {
247 + color: $menuLightBg !important;
248 + background-color: $fedexButton !important;
249 + }
250 + }
251 +}
252 +
253 +.texttareaTip {
254 + position: absolute;
255 + top: 52%;
256 + right: 20px;
257 + transform: translate(0, -50%);
258 + z-index: 10;
259 +}
260 +</style>
...@@ -137,6 +137,15 @@ ...@@ -137,6 +137,15 @@
137 > 137 >
138 批量修改 138 批量修改
139 </el-button> 139 </el-button>
140 + <el-button
141 + class="entrySaveButton"
142 + size="small"
143 + icon="el-icon-download"
144 + v-loading="loadings.exportDeclareLoading"
145 + @click="downloadData"
146 + >
147 + 导出
148 + </el-button>
140 </div> 149 </div>
141 <div class="optionButton-right"> 150 <div class="optionButton-right">
142 <el-dropdown 151 <el-dropdown
...@@ -172,13 +181,31 @@ ...@@ -172,13 +181,31 @@
172 > 181 >
173 </el-dropdown-menu> 182 </el-dropdown-menu>
174 </el-dropdown> 183 </el-dropdown>
184 + <!-- 运抵单申报按钮 -->
185 + <el-button
186 + size="small"
187 + type="primary"
188 + class="dropdown-style-button"
189 + :loading="loadings.departureLoading"
190 + @click="
191 + declareData('departureLoading', '运抵单申报', 'logisticsDeparture')
192 + "
193 + >
194 + <svg-icon
195 + class="el-icon-user-solid"
196 + icon-class="fedexDeclareIcon"
197 + ></svg-icon>
198 + 运抵单申报
199 + </el-button>
175 <!-- 离境单申报按钮 --> 200 <!-- 离境单申报按钮 -->
176 <el-button 201 <el-button
177 size="small" 202 size="small"
178 type="primary" 203 type="primary"
179 class="dropdown-style-button" 204 class="dropdown-style-button"
180 :loading="loadings.departureLoading" 205 :loading="loadings.departureLoading"
181 - @click="declareData('departureLoading', '离境单申报', 'logisticsDeparture')" 206 + @click="
207 + declareData('departureLoading', '离境单申报', 'logisticsDeparture')
208 + "
182 > 209 >
183 <svg-icon 210 <svg-icon
184 class="el-icon-user-solid" 211 class="el-icon-user-solid"
...@@ -192,7 +219,7 @@ ...@@ -192,7 +219,7 @@
192 type="primary" 219 type="primary"
193 class="dropdown-style-button" 220 class="dropdown-style-button"
194 :loading="loadings.revokeLoading" 221 :loading="loadings.revokeLoading"
195 - @click="declareData('revokeLoading', '撤销单申报' ,'cancellation')" 222 + @click="declareData('revokeLoading', '撤销单申报', 'cancellation')"
196 > 223 >
197 <svg-icon 224 <svg-icon
198 class="el-icon-user-solid" 225 class="el-icon-user-solid"
...@@ -200,18 +227,9 @@ ...@@ -200,18 +227,9 @@
200 ></svg-icon> 227 ></svg-icon>
201 撤销单申报 228 撤销单申报
202 </el-button> 229 </el-button>
203 - <el-button
204 - class="entrySaveButton"
205 - size="small"
206 - icon="el-icon-download"
207 - v-loading="loadings.exportDeclareLoading"
208 - @click="downloadData"
209 - >
210 - 导出
211 - </el-button>
212 </div> 230 </div>
213 </div> 231 </div>
214 - <section style="position:fixed;top:350px;left: 500px;"> 232 + <section style="position: fixed; top: 350px; left: 500px">
215 <TablePopover 233 <TablePopover
216 ref="allLogDataReceiptStatusPopover" 234 ref="allLogDataReceiptStatusPopover"
217 dataKey="allLogDataReceiptStatus" 235 dataKey="allLogDataReceiptStatus"
...@@ -237,7 +255,7 @@ ...@@ -237,7 +255,7 @@
237 ref="entryTable" 255 ref="entryTable"
238 :data="tableData" 256 :data="tableData"
239 :headerData="headerData" 257 :headerData="headerData"
240 - :maxHeight="tableMaxheight" 258 + :height="tableMaxheight"
241 :border="true" 259 :border="true"
242 :pagination="true" 260 :pagination="true"
243 :order="false" 261 :order="false"
...@@ -364,7 +382,9 @@ ...@@ -364,7 +382,9 @@
364 <el-table-column align="center" label="操作" width="150"> 382 <el-table-column align="center" label="操作" width="150">
365 <template slot-scope="scope"> 383 <template slot-scope="scope">
366 <el-button type="text" @click="update(scope.row)"> 修改 </el-button> 384 <el-button type="text" @click="update(scope.row)"> 修改 </el-button>
367 - <el-button type="text" @click="showTotalLog(scope.row)">日志</el-button> 385 + <el-button type="text" @click="showTotalLog(scope.row)"
386 + >日志</el-button
387 + >
368 </template> 388 </template>
369 </el-table-column> 389 </el-table-column>
370 </template> 390 </template>
...@@ -375,26 +395,27 @@ ...@@ -375,26 +395,27 @@
375 @dwonloadModelFile="dwonloadModelFile" 395 @dwonloadModelFile="dwonloadModelFile"
376 @close="close" 396 @close="close"
377 /> 397 />
378 - <RevokeDialog 398 + <RevokeDialog
379 - :showDialog="revokeVisible" 399 + :showDialog="revokeVisible"
380 - :selectedDatas="selected" 400 + :selectedDatas="selected"
381 - :dropdownCode="dropdownCode" 401 + :dropdownCode="dropdownCode"
382 - @cancelRevoke="cancelRevoke" /> 402 + @cancelRevoke="cancelRevoke"
383 - <TemplateDownloadDialog 403 + />
384 - :showDialog="templateDownloadVisible" 404 + <TemplateDownloadDialog
385 - @cancelDownload="cancelDownload" 405 + :showDialog="templateDownloadVisible"
386 - /> 406 + @cancelDownload="cancelDownload"
387 - <ExportDialog 407 + />
388 - ref="exportDialog" 408 + <ExportDialog
389 - :showDialog="datasExportVisible" 409 + ref="exportDialog"
390 - @cancelDatasExport="cancelDatasExport" 410 + :showDialog="datasExportVisible"
391 - @startDatasExport="startDatasExport" 411 + @cancelDatasExport="cancelDatasExport"
392 - /> 412 + @startDatasExport="startDatasExport"
393 - <BatchModify 413 + />
394 - :selectedDatas="selected" 414 + <BatchModify
395 - :showDialog="batchModifyVisible" 415 + :selectedDatas="selected"
396 - @cancelBatchModify="cancelBatchModify" 416 + :showDialog="batchModifyVisible"
397 - /> 417 + @cancelBatchModify="cancelBatchModify"
418 + />
398 </div> 419 </div>
399 </template> 420 </template>
400 421
...@@ -408,9 +429,9 @@ import { ...@@ -408,9 +429,9 @@ import {
408 getTotalReceipt, 429 getTotalReceipt,
409 getLogisticsReceipt, 430 getLogisticsReceipt,
410 getDeclarationLog, 431 getDeclarationLog,
411 - exportDeclareData 432 + exportDeclareData,
412 } from "@/api/declareData-api.js"; 433 } from "@/api/declareData-api.js";
413 -import { getDictData } from '@/api/system/dict-api.js' 434 +import { getDictData } from "@/api/system/dict-api.js";
414 import DialogVue from "./dialog.vue"; 435 import DialogVue from "./dialog.vue";
415 import RevokeDialog from "./revokeDialog.vue"; 436 import RevokeDialog from "./revokeDialog.vue";
416 import TemplateDownloadDialog from "./templateDownloadDialog.vue"; 437 import TemplateDownloadDialog from "./templateDownloadDialog.vue";
...@@ -423,7 +444,7 @@ export default { ...@@ -423,7 +444,7 @@ export default {
423 RevokeDialog, 444 RevokeDialog,
424 TemplateDownloadDialog, 445 TemplateDownloadDialog,
425 ExportDialog, 446 ExportDialog,
426 - BatchModify 447 + BatchModify,
427 }, 448 },
428 data() { 449 data() {
429 return { 450 return {
...@@ -505,6 +526,14 @@ export default { ...@@ -505,6 +526,14 @@ export default {
505 slot: true, 526 slot: true,
506 }, 527 },
507 { 528 {
529 + // release-v1.0.9
530 + name: "运抵单回执",
531 + value: "listReceiptStatus",
532 + width: "",
533 + align: "left",
534 + slot: true,
535 + },
536 + {
508 name: "清单总分单回执", 537 name: "清单总分单回执",
509 value: "totalSplitOrderStatus", 538 value: "totalSplitOrderStatus",
510 width: "", 539 width: "",
...@@ -577,7 +606,7 @@ export default { ...@@ -577,7 +606,7 @@ export default {
577 dwonloadModelLoading: false, 606 dwonloadModelLoading: false,
578 dropDownLoading: false, 607 dropDownLoading: false,
579 logTableLoading: false, 608 logTableLoading: false,
580 - exportDeclareLoading:false, 609 + exportDeclareLoading: false,
581 revokeLoading: false, // 撤销单申报加载状态 610 revokeLoading: false, // 撤销单申报加载状态
582 departureLoading: false, // 离境单申报加载状态 611 departureLoading: false, // 离境单申报加载状态
583 }, 612 },
...@@ -586,10 +615,10 @@ export default { ...@@ -586,10 +615,10 @@ export default {
586 outerVisible: false, 615 outerVisible: false,
587 dropdownName: "一键申报", 616 dropdownName: "一键申报",
588 dropdownCode: "full", 617 dropdownCode: "full",
589 - revokeVisible:false, 618 + revokeVisible: false,
590 - templateDownloadVisible:false, 619 + templateDownloadVisible: false,
591 - datasExportVisible:false, 620 + datasExportVisible: false,
592 - batchModifyVisible:false 621 + batchModifyVisible: false,
593 }; 622 };
594 }, 623 },
595 created() { 624 created() {
...@@ -597,10 +626,14 @@ export default { ...@@ -597,10 +626,14 @@ export default {
597 // this.getCancellationReasons() 626 // this.getCancellationReasons()
598 }, 627 },
599 mounted() { 628 mounted() {
600 - this.tableMaxheight = window.innerHeight - 355; 629 + this.tableMaxheight = window.innerHeight - 280;
601 - window.addEventListener('resize',()=>{ 630 + window.addEventListener(
602 - this.tableMaxheight = window.innerHeight - 355; 631 + "resize",
603 - },false) 632 + () => {
633 + this.tableMaxheight = window.innerHeight - 280;
634 + },
635 + false
636 + );
604 }, 637 },
605 watch: { 638 watch: {
606 $route(val, oldval) { 639 $route(val, oldval) {
...@@ -608,7 +641,7 @@ export default { ...@@ -608,7 +641,7 @@ export default {
608 }, 641 },
609 }, 642 },
610 beforeRouteEnter(to, from, next) { 643 beforeRouteEnter(to, from, next) {
611 - next(vm => { 644 + next((vm) => {
612 // 检查标志是否需要刷新数据 645 // 检查标志是否需要刷新数据
613 if (to.meta.needsRefresh) { 646 if (to.meta.needsRefresh) {
614 vm.search(0); 647 vm.search(0);
...@@ -678,140 +711,147 @@ export default { ...@@ -678,140 +711,147 @@ export default {
678 //下载模板 711 //下载模板
679 dwonloadModelFile() { 712 dwonloadModelFile() {
680 this.loadings.dwonloadModelLoading = true; 713 this.loadings.dwonloadModelLoading = true;
681 - this.$store.dispatch("GetInfo").then(res =>{ 714 + this.$store
682 - console.log('res====', res) 715 + .dispatch("GetInfo")
683 - if (res.code == 200) { 716 + .then((res) => {
684 - console.log('port===', res.data?.port?.split(',')) 717 + console.log("res====", res);
685 - if (res.data?.port?.split(',').length == 2) { 718 + if (res.code == 200) {
686 - this.templateDownloadVisible = true 719 + console.log("port===", res.data?.port?.split(","));
687 - } else { 720 + if (res.data?.port?.split(",").length == 2) {
721 + this.templateDownloadVisible = true;
722 + } else {
688 this.fileDownload 723 this.fileDownload
689 - .downLoadZip( 724 + .downLoadZip(
690 - "api", 725 + "api",
691 - "declareDataModel", 726 + "declareDataModel",
692 - "申报数据模板.xlsx", 727 + "申报数据模板.xlsx",
693 - "xlsx", 728 + "xlsx",
694 - "get", 729 + "get",
695 - {type: res.data?.port} 730 + { type: res.data?.port }
696 - ) 731 + )
697 - .finally(() => { 732 + .finally(() => {
698 - this.cancelDownload() 733 + this.cancelDownload();
699 - }); 734 + });
700 - } 735 + }
701 - } 736 + }
702 - }).catch(err =>{ 737 + })
703 - console.log(err) 738 + .catch((err) => {
704 - }) 739 + console.log(err);
705 - 740 + });
706 }, 741 },
707 742
708 - datasDownload(dataSource){ 743 + datasDownload(dataSource) {
709 let obj = { 744 let obj = {
710 - billNo: this.sreachFormData.billNo, 745 + billNo: this.sreachFormData.billNo,
711 - declareId: [], 746 + declareId: [],
712 - logisticsNo: this.sreachFormData.logisticsNo, 747 + logisticsNo: this.sreachFormData.logisticsNo,
713 - orderNo: this.sreachFormData.orderNo, 748 + orderNo: this.sreachFormData.orderNo,
714 - receiptStatus: this.sreachFormData.receiptStatus, 749 + receiptStatus: this.sreachFormData.receiptStatus,
715 - dataSource 750 + dataSource,
716 - }; 751 + };
717 - obj.startCreateTime = ""; 752 + obj.startCreateTime = "";
718 - obj.endCreateTime = ""; 753 + obj.endCreateTime = "";
719 - if (this.sreachFormData.createTime.length > 0) { 754 + if (this.sreachFormData.createTime.length > 0) {
720 - obj.startCreateTime = this.sreachFormData.createTime[0]; 755 + obj.startCreateTime = this.sreachFormData.createTime[0];
721 - obj.endCreateTime = this.sreachFormData.createTime[1]; 756 + obj.endCreateTime = this.sreachFormData.createTime[1];
722 - } 757 + }
723 - this.selected.forEach((item) => { 758 + this.selected.forEach((item) => {
724 - obj.declareId.push(item.declareId); 759 + obj.declareId.push(item.declareId);
725 - }); 760 + });
726 - exportDeclareData(obj).then((res)=>{ 761 + exportDeclareData(obj)
727 - // if (res.code === "200") { 762 + .then((res) => {
728 - // // this.alertSuccessMsg(res.message); 763 + // if (res.code === "200") {
729 - // } else { 764 + // // this.alertSuccessMsg(res.message);
730 - // console.log(res.message); 765 + // } else {
731 - // this.alertWarningMsg(res.message); 766 + // console.log(res.message);
732 - // } 767 + // this.alertWarningMsg(res.message);
733 - 768 + // }
734 - }).catch((err)=>{ 769 + })
735 - console.log(err); 770 + .catch((err) => {
736 - this.alertErrorMsg(err); 771 + console.log(err);
737 - }).finally(res =>{ 772 + this.alertErrorMsg(err);
738 - this.loadings.exportDeclareLoading = false; 773 + })
739 - this.datasExportVisible = false 774 + .finally((res) => {
740 - this.$refs.exportDialog.datasExportVisible = false 775 + this.loadings.exportDeclareLoading = false;
741 - }) 776 + this.datasExportVisible = false;
777 + this.$refs.exportDialog.datasExportVisible = false;
778 + });
742 }, 779 },
743 //导出 780 //导出
744 downloadData() { 781 downloadData() {
745 this.loadings.exportDeclareLoading = true; 782 this.loadings.exportDeclareLoading = true;
746 - this.$store.dispatch("GetInfo").then(res =>{ 783 + this.$store
747 - console.log('res====', res) 784 + .dispatch("GetInfo")
748 - if (res.code == 200) { 785 + .then((res) => {
749 - console.log('port===', res.data?.port?.split(',')) 786 + console.log("res====", res);
750 - if (res.data?.port?.split(',').length == 2) { 787 + if (res.code == 200) {
751 - this.datasExportVisible = true 788 + console.log("port===", res.data?.port?.split(","));
752 - } else { 789 + if (res.data?.port?.split(",").length == 2) {
753 - this.datasDownload(res.data?.port) 790 + this.datasExportVisible = true;
754 - } 791 + } else {
755 - } 792 + this.datasDownload(res.data?.port);
756 - }).catch(err =>{ 793 + }
757 - console.log(err) 794 + }
758 - }) 795 + })
796 + .catch((err) => {
797 + console.log(err);
798 + });
759 }, 799 },
760 - startDatasExport(dataSource){ 800 + startDatasExport(dataSource) {
761 - this.datasDownload(dataSource) 801 + this.datasDownload(dataSource);
762 }, 802 },
763 - cancelDatasExport(){ 803 + cancelDatasExport() {
764 - this.datasExportVisible = false 804 + this.datasExportVisible = false;
765 this.loadings.exportDeclareLoading = false; 805 this.loadings.exportDeclareLoading = false;
766 }, 806 },
767 807
768 - /** 808 + /**
769 - * 通用申报方法 809 + * 通用申报方法
770 - * @param {string} loadingKey - 加载状态的 key(如 'dropDownLoading', 'departureLoading', 'revokeLoading') 810 + * @param {string} loadingKey - 加载状态的 key(如 'dropDownLoading', 'departureLoading', 'revokeLoading')
771 - * @param {string} dropdownName - 当前操作名称(如 '撤销单申报') 811 + * @param {string} dropdownName - 当前操作名称(如 '撤销单申报')
772 - * @param {string} dropdownCode - 当前操作代码(如 'full') 812 + * @param {string} dropdownCode - 当前操作代码(如 'full')
773 - */ 813 + */
774 - declareData(loadingKey, dropdownName, dropdownCode) { 814 + declareData(loadingKey, dropdownName, dropdownCode) {
775 - if (this.selected.length === 0) { 815 + if (this.selected.length === 0) {
776 - this.alertWarningMsg("请选择数据!"); 816 + this.alertWarningMsg("请选择数据!");
777 - return; 817 + return;
778 - } 818 + }
779 819
780 - // 设置加载状态 820 + // 设置加载状态
781 - this.$set(this.loadings, loadingKey, true); 821 + this.$set(this.loadings, loadingKey, true);
782 - // 构造请求参数 822 + // 构造请求参数
783 - const obj = { 823 + const obj = {
784 - declareIds: this.selected.map(item => item.declareId), 824 + declareIds: this.selected.map((item) => item.declareId),
785 - type: dropdownCode, 825 + type: dropdownCode,
786 - }; 826 + };
787 827
788 - // 如果是撤销单申报,显示弹窗并返回 828 + // 如果是撤销单申报,显示弹窗并返回
789 - if (dropdownName === '撤销单申报') { 829 + if (dropdownName === "撤销单申报") {
790 - this.revokeVisible = true; 830 + this.revokeVisible = true;
791 - this.$set(this.loadings, loadingKey, false); 831 + this.$set(this.loadings, loadingKey, false);
792 - this.dropdownCode = dropdownCode; 832 + this.dropdownCode = dropdownCode;
793 - return; 833 + return;
794 - } 834 + }
795 835
796 - // 提交申报数据 836 + // 提交申报数据
797 - declareDataUpload(obj) 837 + declareDataUpload(obj)
798 - .then((res) => { 838 + .then((res) => {
799 - if (res.code === "200") { 839 + if (res.code === "200") {
800 - this.alertSuccessMsg("数据已成功提交申报,请等待海关回执。"); 840 + this.alertSuccessMsg("数据已成功提交申报,请等待海关回执。");
801 - } else { 841 + } else {
802 - this.alertWarningMsg(res.message); 842 + this.alertWarningMsg(res.message);
803 - } 843 + }
804 - }) 844 + })
805 - .catch((err) => { 845 + .catch((err) => {
806 - console.error(err); 846 + console.error(err);
807 - this.alertWarningMsg("申报失败,请稍后重试。"); 847 + this.alertWarningMsg("申报失败,请稍后重试。");
808 - }) 848 + })
809 - .finally(() => { 849 + .finally(() => {
810 - // 无论成功或失败,都重置加载状态并刷新数据 850 + // 无论成功或失败,都重置加载状态并刷新数据
811 - this.$set(this.loadings, loadingKey, false); 851 + this.$set(this.loadings, loadingKey, false);
812 - this.search(0); 852 + this.search(0);
813 - }); 853 + });
814 - }, 854 + },
815 //切换申报模式 855 //切换申报模式
816 dropdownChange(val) { 856 dropdownChange(val) {
817 this.dropdownName = val.name; 857 this.dropdownName = val.name;
...@@ -823,8 +863,8 @@ export default { ...@@ -823,8 +863,8 @@ export default {
823 // } 863 // }
824 this.search(1); 864 this.search(1);
825 this.outerVisible = false; 865 this.outerVisible = false;
826 - this.tableMaxheight = window.innerHeight - 355; 866 + this.tableMaxheight = window.innerHeight - 280;
827 - this.$forceUpdate() 867 + this.$forceUpdate();
828 }, 868 },
829 popoverChange(val) { 869 popoverChange(val) {
830 this.tableData = val.tableData; 870 this.tableData = val.tableData;
...@@ -839,7 +879,7 @@ export default { ...@@ -839,7 +879,7 @@ export default {
839 }) 879 })
840 .finally(() => { 880 .finally(() => {
841 this.$nextTick(() => { 881 this.$nextTick(() => {
842 - this.$store.dispatch('setLoadingState', false) 882 + this.$store.dispatch("setLoadingState", false);
843 this.$refs.orderReceiptStatusPopover.tableLoading = false; 883 this.$refs.orderReceiptStatusPopover.tableLoading = false;
844 this.$refs.wayBillReceiptPopover.tableLoading = false; 884 this.$refs.wayBillReceiptPopover.tableLoading = false;
845 this.$refs.listReceiptStatusPopover.tableLoading = false; 885 this.$refs.listReceiptStatusPopover.tableLoading = false;
...@@ -905,8 +945,7 @@ export default { ...@@ -905,8 +945,7 @@ export default {
905 console.log(err); 945 console.log(err);
906 reject(); 946 reject();
907 }); 947 });
908 - } 948 + } else if (type == "logisticsReceiptStatus") {
909 - else if (type == "logisticsReceiptStatus") {
910 getLogisticsReceipt(obj) 949 getLogisticsReceipt(obj)
911 .then((res) => { 950 .then((res) => {
912 if (res.code === "200") { 951 if (res.code === "200") {
...@@ -919,8 +958,7 @@ export default { ...@@ -919,8 +958,7 @@ export default {
919 console.log(err); 958 console.log(err);
920 reject(); 959 reject();
921 }); 960 });
922 - } 961 + } else if (type == "allLogDataReceiptStatus") {
923 - else if (type == "allLogDataReceiptStatus") {
924 getDeclarationLog(id) 962 getDeclarationLog(id)
925 .then((res) => { 963 .then((res) => {
926 if (res.code === "200") { 964 if (res.code === "200") {
...@@ -980,13 +1018,13 @@ export default { ...@@ -980,13 +1018,13 @@ export default {
980 }); 1018 });
981 } 1019 }
982 }, 1020 },
983 - cancelRevoke(){ 1021 + cancelRevoke() {
984 this.loadings.dropDownLoading = false; 1022 this.loadings.dropDownLoading = false;
985 - this.revokeVisible = false 1023 + this.revokeVisible = false;
986 - this.dropdownCode = 'full' 1024 + this.dropdownCode = "full";
987 }, 1025 },
988 update(val) { 1026 update(val) {
989 - this.$router.push({ 1027 + this.$router.push({
990 name: "EditReportingData", 1028 name: "EditReportingData",
991 params: { data: val }, 1029 params: { data: val },
992 }); 1030 });
...@@ -995,42 +1033,43 @@ export default { ...@@ -995,42 +1033,43 @@ export default {
995 showTotalLog(row) { 1033 showTotalLog(row) {
996 this.$store.state.viewOption.loadingDatas = true; 1034 this.$store.state.viewOption.loadingDatas = true;
997 this.selectedLogRow = row; 1035 this.selectedLogRow = row;
998 - this.$set(row, 'logLoading', true); 1036 + this.$set(row, "logLoading", true);
999 1037
1000 - this.receiptApi(row.declareId, "allLogDataReceiptStatus") 1038 + this.receiptApi(row.declareId, "allLogDataReceiptStatus").then(
1001 - .then((logData) => { 1039 + (logData) => {
1002 - this.$set(row, 'popoverData', logData); 1040 + this.$set(row, "popoverData", logData);
1003 1041
1004 - if(!this.selectedLogRow.popoverData.length){ 1042 + if (!this.selectedLogRow.popoverData.length) {
1005 this.$store.state.viewOption.loadingDatas = false; 1043 this.$store.state.viewOption.loadingDatas = false;
1006 } 1044 }
1007 1045
1008 // 手动触发状态更新 1046 // 手动触发状态更新
1009 this.$nextTick(() => { 1047 this.$nextTick(() => {
1010 // 强制设置弹窗状态为true 1048 // 强制设置弹窗状态为true
1011 - row.allLogDataReceiptStatusPopoverType = true 1049 + row.allLogDataReceiptStatusPopoverType = true;
1012 // 强制更新表格 1050 // 强制更新表格
1013 this.tableData = [...this.tableData]; 1051 this.tableData = [...this.tableData];
1014 }); 1052 });
1015 - }) 1053 + }
1054 + );
1016 }, 1055 },
1017 - cancelDownload(){ 1056 + cancelDownload() {
1018 this.loadings.dwonloadModelLoading = false; 1057 this.loadings.dwonloadModelLoading = false;
1019 - this.templateDownloadVisible = false 1058 + this.templateDownloadVisible = false;
1020 }, 1059 },
1021 - batchModify(){ 1060 + batchModify() {
1022 if (!this.selected.length) { 1061 if (!this.selected.length) {
1023 this.alertWarningMsg("请选择数据!"); 1062 this.alertWarningMsg("请选择数据!");
1024 - return 1063 + return;
1025 } 1064 }
1026 - this.batchModifyVisible = true 1065 + this.batchModifyVisible = true;
1027 }, 1066 },
1028 - cancelBatchModify(val){ 1067 + cancelBatchModify(val) {
1029 - this.batchModifyVisible = false 1068 + this.batchModifyVisible = false;
1030 - if(val === 1){ 1069 + if (val === 1) {
1031 this.search(0); 1070 this.search(0);
1032 } 1071 }
1033 - } 1072 + },
1034 }, 1073 },
1035 }; 1074 };
1036 </script> 1075 </script>
...@@ -1060,6 +1099,11 @@ export default { ...@@ -1060,6 +1099,11 @@ export default {
1060 color: $fedexBottonColor !important; 1099 color: $fedexBottonColor !important;
1061 font-size: 12px !important; 1100 font-size: 12px !important;
1062 } 1101 }
1102 + .el-button.dropdown-style-button:hover,
1103 + .el-button.dropdown-style-button:focus {
1104 + color: #ffffff !important;
1105 + background-color: $fedexBottonColor !important;
1106 + }
1063 1107
1064 .el-button { 1108 .el-button {
1065 color: $fedexButton; 1109 color: $fedexButton;
...@@ -1087,9 +1131,9 @@ export default { ...@@ -1087,9 +1131,9 @@ export default {
1087 transform: translate(0, -50%); 1131 transform: translate(0, -50%);
1088 z-index: 10; 1132 z-index: 10;
1089 } 1133 }
1090 -.revokeOperation{ 1134 +.revokeOperation {
1091 - margin-bottom:25px; 1135 + margin-bottom: 25px;
1092 - .revokeSubmitBtn{ 1136 + .revokeSubmitBtn {
1093 margin-right: 30px; 1137 margin-right: 30px;
1094 } 1138 }
1095 } 1139 }
......
1 +<template>
2 + <el-dialog
3 + class="entryDialog classCUploadDialog"
4 + :title="title"
5 + :visible.sync="outerVisible"
6 + :show-close="false"
7 + width="25%"
8 + :close-on-click-modal="false"
9 + :destroy-on-close="true"
10 + v-loading="loadings.dialogLoading"
11 + @close="close"
12 + >
13 + <div class="modelItem">
14 + <el-form
15 + v-if="type != 'menuChange'"
16 + class="fedexFormStyle"
17 + ref="formData"
18 + :model="formData"
19 + :rules="rules"
20 + label-position="top"
21 + size="small"
22 + >
23 + <Formitem label="角色名称" prop="roleName" type="edit">
24 + <el-input
25 + type="text"
26 + class="inputShadow"
27 + id="inputInner-edit-roleName"
28 + resize="none"
29 + v-model="formData.roleName"
30 + clearable
31 + placeholder=""
32 + ></el-input>
33 + </Formitem>
34 + </el-form>
35 + <el-tree
36 + ref="tree"
37 + class="menuTree"
38 + v-else
39 + :data="treeData"
40 + show-checkbox
41 + default-expand-all
42 + node-key="id"
43 + :default-expanded-keys="expandedKeys"
44 + :default-checked-keys="checkedKeys"
45 + :props="defaultProps"
46 + @check="treeCheckChange"
47 + >
48 + </el-tree>
49 + </div>
50 + <div class="dialogOption entrySave">
51 + <el-button
52 + class="entrySaveButton"
53 + :disabled="loadings.submitLoading"
54 + @click="submit"
55 + >确 定</el-button
56 + >
57 + <el-button
58 + class="entrySaveButton"
59 + :disabled="loadings.uploadLoading"
60 + @click="close"
61 + >关 闭</el-button
62 + >
63 + </div>
64 + </el-dialog>
65 +</template>
66 +
67 +<script>
68 +import {
69 + addRoleData,
70 + updateRoleData,
71 + updateRoleMenuData,
72 + getMenuByRoleId,
73 +} from "@/api/system/user.js";
74 +import { getRouters } from "@/api/menu";
75 +export default {
76 + props: {
77 + outerVisible: {
78 + type: Boolean,
79 + default: false,
80 + },
81 + title: {
82 + type: String,
83 + default: "新增角色",
84 + },
85 + type: {
86 + type: String,
87 + default: "",
88 + },
89 + active: {
90 + type: Object,
91 + default: null,
92 + },
93 + },
94 + watch: {
95 + outerVisible(val) {
96 + if (val) {
97 + this.loadings.dialogLoading = false;
98 + if (this.type == "update") {
99 + this.formData = this.active;
100 + } else if (this.type == "menuChange") {
101 + this.formData = this.active;
102 + this.searchTreeData();
103 + this.loadCheckedKeys();//加载已绑定的菜单
104 + }
105 + }
106 + },
107 + },
108 + data() {
109 + return {
110 + formData: {
111 + roleName: "",
112 + },
113 + treeData: [],
114 + treeCheckData: [],
115 + expandedKeys: [],
116 + checkedKeys: [],
117 + rules: {
118 + roleName: [
119 + {
120 + required: true,
121 + trigger: "blur",
122 + message: "角色名称不能为空!",
123 + },
124 + ],
125 + },
126 + defaultProps: {
127 + children: "children",
128 + label: "label",
129 + },
130 + searchForm: {},
131 + loadings: {
132 + dialogLoading: false,
133 + uploadLoading: false,
134 + submitLoading: false,
135 + },
136 + loadingText: "",
137 + };
138 + },
139 + methods: {
140 + //查询菜单数据
141 + searchTreeData() {
142 + this.loadings.dialogLoading = true;
143 + getRouters()
144 + .then((res) => {
145 + if (res.code === "200") {
146 + let arr = [];
147 + res.data.forEach((item) => {
148 + let status = true;
149 + if (item.parentMenuId == 0) {
150 + let obj = {
151 + id: item.menuId,
152 + label: item.menuName,
153 + children: [],
154 + };
155 + arr.forEach((menuItem) => {
156 + if (menuItem.id == item.menuId) {
157 + status = false;
158 + menuItem.label = item.menuName;
159 + }
160 + });
161 + if (status) {
162 + arr.push(obj);
163 + }
164 + } else {
165 + let obj = {
166 + id: item.menuId,
167 + label: item.menuName,
168 + };
169 + arr.forEach((menuItem) => {
170 + if (menuItem.id == item.parentMenuId) {
171 + status = false;
172 + menuItem.children.push(obj);
173 + }
174 + });
175 + if (status) {
176 + arr.push({
177 + id: item.parentMenuId,
178 + label: "",
179 + children: [obj],
180 + });
181 + }
182 + }
183 + });
184 + this.treeData = arr;
185 + } else {
186 + this.alertWarningMsg(res.message);
187 + }
188 + this.loadings.dialogLoading = false;
189 + })
190 + .catch((err) => {
191 + console.log(err);
192 + this.loadings.dialogLoading = false;
193 + });
194 + },
195 + //数据保存
196 + submit() {
197 + this.loadings.dialogLoading = true;
198 + let obj = {};
199 + if (this.type == "add") {
200 + this.$refs.formData.validate((valid) => {
201 + if (valid) {
202 + obj.roleName = this.formData.roleName;
203 + this.addapi(obj);
204 + } else {
205 + this.loadings.dialogLoading = false;
206 + }
207 + });
208 + } else if (this.type == "update") {
209 + this.$refs.formData.validate((valid) => {
210 + if (valid) {
211 + obj.roleId = this.formData.roleId;
212 + obj.roleName = this.formData.roleName;
213 + this.updateapi(obj);
214 + } else {
215 + this.loadings.dialogLoading = false;
216 + }
217 + });
218 + } else if (this.type == "menuChange") {
219 + obj.menuId = this.treeCheckData; // 使用合并后的选中节点
220 + obj.roleId = this.formData.roleId;
221 + this.menuChangeapi(obj);
222 + }
223 + },
224 + //新增
225 + addapi(val) {
226 + addRoleData(val)
227 + .then((res) => {
228 + if (res.code === "200") {
229 + this.msgSuccess(res.message);
230 + this.close();
231 + } else {
232 + this.alertWarningMsg(res.message);
233 + this.loadings.dialogLoading = false;
234 + }
235 + })
236 + .catch((err) => {
237 + console.log(err);
238 + this.loadings.dialogLoading = false;
239 + });
240 + },
241 + //修改
242 + updateapi(val) {
243 + updateRoleData(val)
244 + .then((res) => {
245 + if (res.code === "200") {
246 + this.msgSuccess(res.message);
247 + this.close();
248 + } else {
249 + this.alertWarningMsg(res.message);
250 + this.loadings.dialogLoading = false;
251 + }
252 + })
253 + .catch((err) => {
254 + console.log(err);
255 + this.loadings.dialogLoading = false;
256 + });
257 + },
258 + //菜单权限修改
259 + menuChangeapi(val) {
260 + updateRoleMenuData(val)
261 + .then((res) => {
262 + if (res.code === "200") {
263 + this.msgSuccess(res.message);
264 + this.close();
265 + this.$store.dispatch('GenerateRoutes')
266 + } else {
267 + this.alertWarningMsg(res.message);
268 + this.loadings.dialogLoading = false;
269 + }
270 + })
271 + .catch((err) => {
272 + console.log(err);
273 + this.loadings.dialogLoading = false;
274 + });
275 + },
276 + treeCheckChange(data, checked) {
277 + console.log(data, checked);
278 + let arr = [];
279 + arr = checked.checkedKeys.concat(checked.halfCheckedKeys);
280 + this.treeCheckData = arr;
281 + },
282 + close() {
283 + this.formData = {
284 + roleName: "",
285 + };
286 + this.checkedKeys = []
287 + this.$emit("close");
288 + },
289 + // 加载已绑定的菜单
290 + loadCheckedKeys() {
291 + if (this.formData.roleId) {
292 + getMenuByRoleId(this.formData.roleId)
293 + .then((res) => {
294 + if (res.code === "200") {
295 + this.checkedKeys = res.data.filter(item => item.isBinding && (item.parentMenuId!=0 ) ).map(item => item.menuId);
296 + //console.log('初始 checkedKeys:', this.checkedKeys);
297 + this.$nextTick(() => {
298 + this.$refs.tree.setCheckedKeys(this.checkedKeys);
299 + this.updateTreeCheckData();
300 + });
301 + } else {
302 + this.alertWarningMsg(res.message);
303 + }
304 + })
305 + .catch((err) => {
306 + console.log(err);
307 + });
308 + }
309 + },
310 + //加载选中的节点及半选中的父节点
311 + updateTreeCheckData() {
312 + const checkedKeys = this.$refs.tree.getCheckedKeys();
313 + const halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys();
314 + this.treeCheckData = checkedKeys.concat(halfCheckedKeys);
315 + //console.log('合并后的 treeCheckData:', this.treeCheckData);
316 + },
317 +
318 + },
319 +};
320 +</script>
321 +
322 +<style lang="scss" scoped>
323 +@import "@/assets/styles/variables.scss";
324 +
325 +.menuTree {
326 + max-width: 350px;
327 + max-height: 300px;
328 + overflow: auto;
329 + margin: 0 auto;
330 + border: 1px solid #999;
331 + padding: 10px;
332 +}
333 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <!-- 角色名称 -->
12 + <el-col :span="5">
13 + <Formitem label="角色名称" prop="roleName">
14 + <el-input
15 + type="text"
16 + class="inputShadow"
17 + id="inputInner--roleName"
18 + resize="none"
19 + v-model="sreachFormData.roleName"
20 + clearable
21 + placeholder=""
22 + ></el-input>
23 + </Formitem>
24 + </el-col>
25 + <el-col :span="5">
26 + <Formitem label="角色名称" prop="roleName">
27 + <el-input
28 + type="text"
29 + class="inputShadow"
30 + id="inputInner--roleName"
31 + resize="none"
32 + v-model="sreachFormData.roleName"
33 + clearable
34 + placeholder=""
35 + ></el-input>
36 + </Formitem>
37 + </el-col>
38 + <el-col :span="5">
39 + <Formitem label="角色名称" prop="roleName">
40 + <el-input
41 + type="text"
42 + class="inputShadow"
43 + id="inputInner--roleName"
44 + resize="none"
45 + v-model="sreachFormData.roleName"
46 + clearable
47 + placeholder=""
48 + ></el-input>
49 + </Formitem>
50 + </el-col>
51 + <el-col :span="2">
52 + <el-form-item class="textCenter">
53 + <el-button
54 + class="entrySreachButton"
55 + type="text"
56 + icon="el-icon-search"
57 + :loading="loadings.searchLoading"
58 + @click="search(0)"
59 + ></el-button>
60 + </el-form-item>
61 + </el-col>
62 + <el-col :span="2">
63 + <!-- 清空查询条件-->
64 + <el-form-item class="textLeft textCenter">
65 + <el-button
66 + type="text"
67 + size="small"
68 + icon="el-icon-refresh"
69 + @click="clear"
70 + >
71 + 重置
72 + </el-button>
73 + </el-form-item>
74 + </el-col>
75 + </el-row>
76 + </el-form>
77 + <div class="optionButton">
78 + <el-button
79 + class="entrySaveButton"
80 + icon="el-icon-plus"
81 + size="small"
82 + @click="addRole"
83 + >
84 + 新增
85 + </el-button>
86 + </div>
87 + <Table
88 + class="fedexDetialTable fedexSreachTable"
89 + ref="entryTable"
90 + :data="tableData"
91 + :headerData="headerData"
92 + :maxHeight="tableMaxheight"
93 + :border="true"
94 + :pagination="true"
95 + :order="false"
96 + :loading="loadings.searchLoading"
97 + :page="page.pageIndex"
98 + :pageSizes="[20, 30, 50, 100]"
99 + :totalCount="page.total"
100 + @sizeChange="sizeChange"
101 + @currentChange="currentChange"
102 + :selection="false"
103 + :selectFixed="false"
104 + :rowSelectDataType="false"
105 + >
106 + <template slot="optionColumn">
107 + <el-table-column align="left" label="操作">
108 + <template slot-scope="scope">
109 + <el-button type="text" @click="update(scope.row)">
110 + 角色修改
111 + </el-button>
112 + <el-button type="text" @click="muenChange(scope.row)">
113 + 权限绑定
114 + </el-button>
115 + </template>
116 + </el-table-column>
117 + </template>
118 + </Table>
119 + <DialogVue
120 + :outerVisible="outerVisible"
121 + :title="dialogTitle"
122 + :type="editType"
123 + :active="activeData"
124 + @close="dialogClose"
125 + />
126 + </div>
127 +</template>
128 +
129 +<script>
130 +import { getRoleList } from "@/api/system/user.js";
131 +import DialogVue from "./dialog.vue";
132 +export default {
133 + name: "SupervisePlaceManage",
134 + components: {
135 + DialogVue,
136 + },
137 + data() {
138 + return {
139 + sreachFormData: {
140 + roleName: "",
141 + },
142 + page: {
143 + pageIndex: 1,
144 + pageSize: 20,
145 + total: 0,
146 + },
147 + activeData: null,
148 + tableData: [],
149 + headerData: [
150 + {
151 + name: "角色名",
152 + value: "roleName",
153 + width: "",
154 + align: "left",
155 + },
156 + ],
157 + loadings: {
158 + searchLoading: false,
159 + },
160 + tableMaxheight: null,
161 + outerVisible: false,
162 + dialogTitle: "",
163 + editType: "",
164 + };
165 + },
166 + created() {
167 + this.search(0);
168 + },
169 + mounted() {
170 + this.tableMaxheight = window.innerHeight - 300;
171 + },
172 + methods: {
173 + clear() {
174 + this.$refs.sreachForm.resetFields();
175 + },
176 + //查询
177 + search(val) {
178 + this.loadings.searchLoading = true;
179 + if (val == 0) {
180 + this.page.pageIndex = 1;
181 + }
182 + let obj = this.sreachFormData;
183 + obj.pageIndex = this.page.pageIndex;
184 + obj.pageSize = this.page.pageSize;
185 + getRoleList(obj)
186 + .then((res) => {
187 + if (res.code === "200") {
188 + this.tableData = res.data.value;
189 + this.page.total = res.data.totalItems;
190 + this.tableData.forEach((item, idx) => {
191 + item.index = idx;
192 + });
193 + } else {
194 + this.alertWarningMsg(res.message);
195 + }
196 + this.loadings.searchLoading = false;
197 + })
198 + .catch((err) => {
199 + console.log(err);
200 + this.loadings.searchLoading = false;
201 + });
202 + },
203 + addRole() {
204 + this.dialogTitle = "新增角色";
205 + this.editType = "add";
206 + this.outerVisible = true;
207 + },
208 + update(val) {
209 + this.dialogTitle = "修改角色";
210 + this.editType = "update";
211 + this.outerVisible = true;
212 + this.activeData = val;
213 + },
214 + muenChange(val) {
215 + this.dialogTitle = "绑定权限";
216 + this.editType = "menuChange";
217 + this.outerVisible = true;
218 + this.activeData = val;
219 + },
220 + dialogClose() {
221 + this.outerVisible = false;
222 + this.activeData = null;
223 + this.search(1);
224 + },
225 + //分页
226 + currentChange(val) {
227 + this.page.pageIndex = val.page;
228 + this.search(1);
229 + },
230 + sizeChange(val) {
231 + this.page.pageSize = val;
232 + this.search(1);
233 + },
234 + input() {
235 + this.$forceUpdate();
236 + },
237 + },
238 +};
239 +</script>
240 +
241 +<style scoped lang="scss">
242 +@import "@/assets/styles/variables.scss";
243 +.entrySreach {
244 + height: 100%;
245 + background-color: $menuLightBg;
246 +
247 + .entrySreachButton {
248 + display: inline-block;
249 + font-size: 20px;
250 + color: $fedexButton !important;
251 + }
252 +
253 + .optionButton {
254 + padding: 10px;
255 + text-align: left;
256 +
257 + .el-button {
258 + color: $fedexButton;
259 + border-color: $fedexButton !important;
260 +
261 + svg {
262 + display: inline-block;
263 + margin-right: 5px;
264 + fill: $fedexButton;
265 + }
266 + }
267 +
268 + .entrySaveButton:hover,
269 + .entrySaveButton:focus {
270 + color: $menuLightBg !important;
271 + background-color: $fedexButton !important;
272 + }
273 + }
274 +}
275 +
276 +.texttareaTip {
277 + position: absolute;
278 + top: 52%;
279 + right: 20px;
280 + transform: translate(0, -50%);
281 + z-index: 10;
282 +}
283 +</style>