Showing
18 changed files
with
286 additions
and
328 deletions
| 1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
| 2 | <html> | 2 | <html> |
| 3 | - <head> | 3 | + |
| 4 | +<head> | ||
| 4 | <meta charset="utf-8" /> | 5 | <meta charset="utf-8" /> |
| 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> | 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
| 6 | <meta name="renderer" content="webkit" /> | 7 | <meta name="renderer" content="webkit" /> |
| 7 | - <meta | 8 | + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> |
| 8 | - name="viewport" | ||
| 9 | - content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" | ||
| 10 | - /> | ||
| 11 | <meta http-equiv="Content-Security-Policy" content=" | 9 | <meta http-equiv="Content-Security-Policy" content=" |
| 12 | worker-src blob:; | 10 | worker-src blob:; |
| 13 | child-src blob: gap:; | 11 | child-src blob: gap:; |
| ... | @@ -16,7 +14,9 @@ | ... | @@ -16,7 +14,9 @@ |
| 16 | 14 | ||
| 17 | 15 | ||
| 18 | <link rel="icon" href="<%= BASE_URL %>favicon.ico" /> | 16 | <link rel="icon" href="<%= BASE_URL %>favicon.ico" /> |
| 19 | - <title><%= webpackConfig.name %></title> | 17 | + <title> |
| 18 | + <%= webpackConfig.name %> | ||
| 19 | + </title> | ||
| 20 | <!--[if lt IE 11 | 20 | <!--[if lt IE 11 |
| 21 | ]><script> | 21 | ]><script> |
| 22 | window.location.href = "/html/ie.html"; | 22 | window.location.href = "/html/ie.html"; |
| ... | @@ -30,6 +30,7 @@ | ... | @@ -30,6 +30,7 @@ |
| 30 | margin: 0px; | 30 | margin: 0px; |
| 31 | padding: 0px; | 31 | padding: 0px; |
| 32 | } | 32 | } |
| 33 | + | ||
| 33 | .chromeframe { | 34 | .chromeframe { |
| 34 | margin: 0.2em 0; | 35 | margin: 0.2em 0; |
| 35 | background: #ccc; | 36 | background: #ccc; |
| ... | @@ -105,6 +106,7 @@ | ... | @@ -105,6 +106,7 @@ |
| 105 | -ms-transform: rotate(0deg); | 106 | -ms-transform: rotate(0deg); |
| 106 | transform: rotate(0deg); | 107 | transform: rotate(0deg); |
| 107 | } | 108 | } |
| 109 | + | ||
| 108 | 100% { | 110 | 100% { |
| 109 | -webkit-transform: rotate(360deg); | 111 | -webkit-transform: rotate(360deg); |
| 110 | -ms-transform: rotate(360deg); | 112 | -ms-transform: rotate(360deg); |
| ... | @@ -118,6 +120,7 @@ | ... | @@ -118,6 +120,7 @@ |
| 118 | -ms-transform: rotate(0deg); | 120 | -ms-transform: rotate(0deg); |
| 119 | transform: rotate(0deg); | 121 | transform: rotate(0deg); |
| 120 | } | 122 | } |
| 123 | + | ||
| 121 | 100% { | 124 | 100% { |
| 122 | -webkit-transform: rotate(360deg); | 125 | -webkit-transform: rotate(360deg); |
| 123 | -ms-transform: rotate(360deg); | 126 | -ms-transform: rotate(360deg); |
| ... | @@ -205,15 +208,17 @@ | ... | @@ -205,15 +208,17 @@ |
| 205 | opacity: 0.5; | 208 | opacity: 0.5; |
| 206 | } | 209 | } |
| 207 | </style> | 210 | </style> |
| 208 | - </head> | 211 | +</head> |
| 209 | - <body> | 212 | + |
| 213 | +<body> | ||
| 210 | <div id="app"> | 214 | <div id="app"> |
| 211 | <div id="loader-wrapper"> | 215 | <div id="loader-wrapper"> |
| 212 | <div id="loader"></div> | 216 | <div id="loader"></div> |
| 213 | <div class="loader-section section-left"></div> | 217 | <div class="loader-section section-left"></div> |
| 214 | <div class="loader-section section-right"></div> | 218 | <div class="loader-section section-right"></div> |
| 215 | - <div class="load_title">正在加載系統資源,請耐心等待</div> | 219 | + <div class="load_title">Loading system resources, please be patient</div> |
| 216 | </div> | 220 | </div> |
| 217 | </div> | 221 | </div> |
| 218 | - </body> | 222 | +</body> |
| 223 | + | ||
| 219 | </html> | 224 | </html> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
web/src/assets/icons/svg/downIcon.svg
0 → 100644
| ... | @@ -2,9 +2,9 @@ | ... | @@ -2,9 +2,9 @@ |
| 2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | 2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
| 3 | <svg class="icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> | 3 | <svg class="icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 4 | <defs><style type="text/css"></style></defs> | 4 | <defs><style type="text/css"></style></defs> |
| 5 | -<circle cx="16.5" cy="16.4" r="4" stroke-width="2" stroke-linejoin="round"/> | 5 | +<circle cx="16.5" cy="16.4" r="4" stroke-width="2" stroke-linejoin="round" stroke="currentColor"/> |
| 6 | -<path d="M19 19L23 23" stroke-width="2" stroke-linejoin="round"/> | 6 | +<path d="M19 19L23 23" stroke-width="2" stroke-linejoin="round" stroke="currentColor"/> |
| 7 | -<path d="M19 10V5L14 1H9.8H6L1 5V18H10" stroke-width="2" stroke-linejoin="round"/> | 7 | +<path d="M19 10V5L14 1H9.8H6L1 5V18H10" stroke-width="2" stroke-linejoin="round" stroke="currentColor"/> |
| 8 | -<path d="M10 6V1" stroke-width="2" stroke-linejoin="round"/> | 8 | +<path d="M10 6V1" stroke-width="2" stroke-linejoin="round" stroke="currentColor"/> |
| 9 | -<path d="M1 6H19" stroke-width="2" stroke-linejoin="round"/> | 9 | +<path d="M1 6H19" stroke-width="2" stroke-linejoin="round" stroke="currentColor"/> |
| 10 | </svg> | 10 | </svg> | ... | ... |
web/src/assets/icons/svg/fedexQuestion.svg
0 → 100644
| 1 | +<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||
| 2 | +<path d="M8.5 1C4.4 1 1 4.4 1 8.5C1 12.6 4.4 16 8.5 16C12.6 16 16 12.6 16 8.5C16 4.4 12.6 1 8.5 1Z" stroke="#007AB7" stroke-miterlimit="10"/> | ||
| 3 | +<path d="M8.5 13.5C9.05228 13.5 9.5 13.0523 9.5 12.5C9.5 11.9477 9.05228 11.5 8.5 11.5C7.94772 11.5 7.5 11.9477 7.5 12.5C7.5 13.0523 7.94772 13.5 8.5 13.5Z" fill="#007AB7"/> | ||
| 4 | +<path d="M6.5 6.5C6.5 5 7.5 4 8.5 4C9.5 4 10.5 4.5 10.5 6C10.5 6.9 10 7.6 9.5 8C8.6 8.7 8.5 8.6 8.5 9.5V10.5" stroke="#007AB7" stroke-miterlimit="10"/> | ||
| 5 | +</svg> |
web/src/assets/icons/svg/upIcon.svg
0 → 100644
| ... | @@ -346,6 +346,7 @@ input:disabled { | ... | @@ -346,6 +346,7 @@ input:disabled { |
| 346 | /*标题平移至合适位置*/ | 346 | /*标题平移至合适位置*/ |
| 347 | transition: all 0.2s ease; | 347 | transition: all 0.2s ease; |
| 348 | cursor: text; | 348 | cursor: text; |
| 349 | + z-index: 99; | ||
| 349 | } | 350 | } |
| 350 | 351 | ||
| 351 | .el-form-item__content { | 352 | .el-form-item__content { |
| ... | @@ -1063,3 +1064,101 @@ input:disabled { | ... | @@ -1063,3 +1064,101 @@ input:disabled { |
| 1063 | color: #409EFF | 1064 | color: #409EFF |
| 1064 | } | 1065 | } |
| 1065 | } | 1066 | } |
| 1067 | + | ||
| 1068 | +.el-range-editor { | ||
| 1069 | + width: 100%; | ||
| 1070 | + height: 100%; | ||
| 1071 | + | ||
| 1072 | + .el-range-input { | ||
| 1073 | + padding: 0px; | ||
| 1074 | + } | ||
| 1075 | + | ||
| 1076 | + .el-range-separator { | ||
| 1077 | + line-height: 50px; | ||
| 1078 | + } | ||
| 1079 | + | ||
| 1080 | + input { | ||
| 1081 | + width: 100%; | ||
| 1082 | + height: 100% !important; | ||
| 1083 | + border: none !important; | ||
| 1084 | + background-color: transparent; | ||
| 1085 | + padding-top: 0.775rem; | ||
| 1086 | + // padding-right: 1.15rem; | ||
| 1087 | + padding-left: calc(.6rem + .1875rem); | ||
| 1088 | + font-size: 0.875rem !important; | ||
| 1089 | + } | ||
| 1090 | + | ||
| 1091 | +} | ||
| 1092 | + | ||
| 1093 | +.el-range-editor.el-input__inner { | ||
| 1094 | + padding: 15px 10px 0px 10px; | ||
| 1095 | +} | ||
| 1096 | + | ||
| 1097 | +.el-range-editor { | ||
| 1098 | + .el-range-separator { | ||
| 1099 | + line-height: 35px; | ||
| 1100 | + } | ||
| 1101 | +} | ||
| 1102 | + | ||
| 1103 | +.el-input__inner { | ||
| 1104 | + background-color: transparent !important; | ||
| 1105 | +} | ||
| 1106 | + | ||
| 1107 | +.questionIcon { | ||
| 1108 | + color: $fedexColor; | ||
| 1109 | +} | ||
| 1110 | + | ||
| 1111 | +.uploadHistoryDialog { | ||
| 1112 | + .el-dialog__header { | ||
| 1113 | + .el-dialog__title { | ||
| 1114 | + font-size: 18px; | ||
| 1115 | + } | ||
| 1116 | + } | ||
| 1117 | + | ||
| 1118 | + .el-dialog__body { | ||
| 1119 | + padding: 10px 50px !important; | ||
| 1120 | + } | ||
| 1121 | +} | ||
| 1122 | + | ||
| 1123 | +.uploadHistoryTable { | ||
| 1124 | + .el-table__header-wrapper { | ||
| 1125 | + .el-table__header { | ||
| 1126 | + thead { | ||
| 1127 | + tr { | ||
| 1128 | + th { | ||
| 1129 | + background-color: #fff !important; | ||
| 1130 | + } | ||
| 1131 | + } | ||
| 1132 | + } | ||
| 1133 | + } | ||
| 1134 | + } | ||
| 1135 | + | ||
| 1136 | + .el-table__body-wrapper { | ||
| 1137 | + tbody { | ||
| 1138 | + tr { | ||
| 1139 | + td { | ||
| 1140 | + background-color: $formItemBackgroundColor; | ||
| 1141 | + } | ||
| 1142 | + | ||
| 1143 | + .el-table__expand-column { | ||
| 1144 | + .cell { | ||
| 1145 | + .el-table__expand-icon { | ||
| 1146 | + display: none !important; | ||
| 1147 | + } | ||
| 1148 | + } | ||
| 1149 | + } | ||
| 1150 | + | ||
| 1151 | + .el-table__expanded-cell { | ||
| 1152 | + padding: 0px; | ||
| 1153 | + background-color: #fff !important; | ||
| 1154 | + } | ||
| 1155 | + } | ||
| 1156 | + | ||
| 1157 | + tr:hover { | ||
| 1158 | + .el-table__expanded-cell { | ||
| 1159 | + background-color: #fff !important; | ||
| 1160 | + } | ||
| 1161 | + } | ||
| 1162 | + } | ||
| 1163 | + } | ||
| 1164 | +} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | + <div style="pointer-events: auto" @click="formItemClick"> | ||
| 2 | <el-form-item | 3 | <el-form-item |
| 3 | class="fedexFormItem" | 4 | class="fedexFormItem" |
| 4 | :label="itemLabel" | 5 | :label="itemLabel" |
| ... | @@ -8,11 +9,22 @@ | ... | @@ -8,11 +9,22 @@ |
| 8 | :id="'inputOuter-' + type + '-' + prop" | 9 | :id="'inputOuter-' + type + '-' + prop" |
| 9 | > | 10 | > |
| 10 | <slot name="title" slot="label"></slot> | 11 | <slot name="title" slot="label"></slot> |
| 12 | + <el-tooltip | ||
| 13 | + v-if="toolyipShow" | ||
| 14 | + class="item" | ||
| 15 | + effect="dark" | ||
| 16 | + :content="content" | ||
| 17 | + :disabled="tooltipDisabled" | ||
| 18 | + placement="top" | ||
| 19 | + > | ||
| 11 | <slot></slot> | 20 | <slot></slot> |
| 21 | + </el-tooltip> | ||
| 22 | + <slot v-else></slot> | ||
| 12 | <template v-slot:error="scoped"> | 23 | <template v-slot:error="scoped"> |
| 13 | <div class="formError">{{ scoped.error }}</div> | 24 | <div class="formError">{{ scoped.error }}</div> |
| 14 | </template> | 25 | </template> |
| 15 | </el-form-item> | 26 | </el-form-item> |
| 27 | + </div> | ||
| 16 | </template> | 28 | </template> |
| 17 | 29 | ||
| 18 | <script> | 30 | <script> |
| ... | @@ -42,11 +54,25 @@ export default { | ... | @@ -42,11 +54,25 @@ export default { |
| 42 | type: String, | 54 | type: String, |
| 43 | default: "", | 55 | default: "", |
| 44 | }, | 56 | }, |
| 57 | + disabled: { | ||
| 58 | + type: Boolean, | ||
| 59 | + default: true, | ||
| 60 | + }, | ||
| 61 | + toolyipShow: { | ||
| 62 | + type: Boolean, | ||
| 63 | + default: false, | ||
| 64 | + }, | ||
| 65 | + eventType: { | ||
| 66 | + type: Boolean, | ||
| 67 | + default: false, | ||
| 68 | + }, | ||
| 45 | }, | 69 | }, |
| 46 | data() { | 70 | data() { |
| 47 | return { | 71 | return { |
| 48 | itemLabel: this.label, | 72 | itemLabel: this.label, |
| 49 | inputFocusType: false, | 73 | inputFocusType: false, |
| 74 | + content: "", | ||
| 75 | + tooltipDisabled: true, | ||
| 50 | }; | 76 | }; |
| 51 | }, | 77 | }, |
| 52 | watch: { | 78 | watch: { |
| ... | @@ -62,8 +88,13 @@ export default { | ... | @@ -62,8 +88,13 @@ export default { |
| 62 | let outInput = document.querySelector( | 88 | let outInput = document.querySelector( |
| 63 | "#inputOuter-" + this.type + "-" + this.prop | 89 | "#inputOuter-" + this.type + "-" + this.prop |
| 64 | ); //获取formitem | 90 | ); //获取formitem |
| 91 | + let dateEditor = document.querySelector(".el-date-editor"); | ||
| 65 | if (inputInner) { | 92 | if (inputInner) { |
| 93 | + if (inputInner.disabled && this.eventType) { | ||
| 94 | + inputInner.style = "pointer-events:none"; | ||
| 95 | + } | ||
| 66 | //通过input得id是否存在判断效果是否激活 | 96 | //通过input得id是否存在判断效果是否激活 |
| 97 | + this.activeType ? inputInner.classList.add("inputFocus") : ""; | ||
| 67 | inputInner.addEventListener("focus", (e) => { | 98 | inputInner.addEventListener("focus", (e) => { |
| 68 | this.inputFocusType = true; | 99 | this.inputFocusType = true; |
| 69 | inputInner.classList.add("inputFocus"); | 100 | inputInner.classList.add("inputFocus"); |
| ... | @@ -73,12 +104,8 @@ export default { | ... | @@ -73,12 +104,8 @@ export default { |
| 73 | inputInner.addEventListener("blur", (e) => { | 104 | inputInner.addEventListener("blur", (e) => { |
| 74 | if (!e.target.value && !e.target.placeholder) { | 105 | if (!e.target.value && !e.target.placeholder) { |
| 75 | // input失焦时如果无内容则移除active class | 106 | // input失焦时如果无内容则移除active class |
| 76 | - if (this.labelInput) { | ||
| 77 | this.itemLabel = this.label; | 107 | this.itemLabel = this.label; |
| 78 | - // labelInputInner_parentNode.style.display = 'inline-block' | ||
| 79 | - } else { | ||
| 80 | !this.activeType ? inputInner.classList.remove("inputFocus") : ""; | 108 | !this.activeType ? inputInner.classList.remove("inputFocus") : ""; |
| 81 | - } | ||
| 82 | } else { | 109 | } else { |
| 83 | inputInner.classList.add("inputFocus"); | 110 | inputInner.classList.add("inputFocus"); |
| 84 | } | 111 | } |
| ... | @@ -89,12 +116,8 @@ export default { | ... | @@ -89,12 +116,8 @@ export default { |
| 89 | inputInner.addEventListener("change", (e) => { | 116 | inputInner.addEventListener("change", (e) => { |
| 90 | if (!e.target.value && !e.target.placeholder) { | 117 | if (!e.target.value && !e.target.placeholder) { |
| 91 | // input失焦时如果无内容则移除active class | 118 | // input失焦时如果无内容则移除active class |
| 92 | - if (this.labelInput) { | ||
| 93 | this.itemLabel = this.label; | 119 | this.itemLabel = this.label; |
| 94 | - // labelInputInner_parentNode.style.display = 'inline-block' | ||
| 95 | - } else { | ||
| 96 | !this.activeType ? inputInner.classList.remove("inputFocus") : ""; | 120 | !this.activeType ? inputInner.classList.remove("inputFocus") : ""; |
| 97 | - } | ||
| 98 | } else { | 121 | } else { |
| 99 | inputInner.classList.add("inputFocus"); | 122 | inputInner.classList.add("inputFocus"); |
| 100 | } | 123 | } |
| ... | @@ -113,7 +136,62 @@ export default { | ... | @@ -113,7 +136,62 @@ export default { |
| 113 | if (inputInner.value) { | 136 | if (inputInner.value) { |
| 114 | inputInner.classList.add("inputFocus"); | 137 | inputInner.classList.add("inputFocus"); |
| 115 | } | 138 | } |
| 139 | + this.content = inputInner.value; | ||
| 116 | }); | 140 | }); |
| 141 | + } else { | ||
| 142 | + if (dateEditor) { | ||
| 143 | + this.activeType | ||
| 144 | + ? document | ||
| 145 | + .querySelector(".inputInner-" + this.type + "-" + this.prop) | ||
| 146 | + .classList.add("inputFocus") | ||
| 147 | + : ""; | ||
| 148 | + if ( | ||
| 149 | + document.querySelector(".inputInner-" + this.type + "-" + this.prop) | ||
| 150 | + ) { | ||
| 151 | + let dataInner = document | ||
| 152 | + .querySelector(".inputInner-" + this.type + "-" + this.prop) | ||
| 153 | + .getElementsByClassName("el-range-input"); | ||
| 154 | + dataInner[0].addEventListener("focus", (e) => { | ||
| 155 | + this.inputFocusType = true; | ||
| 156 | + dataInner[0].classList.add("inputFocus"); | ||
| 157 | + outInput.classList.add("activeBorder"); | ||
| 158 | + }); | ||
| 159 | + | ||
| 160 | + dataInner[1].addEventListener("focus", (e) => { | ||
| 161 | + this.inputFocusType = true; | ||
| 162 | + dataInner[1].classList.add("inputFocus"); | ||
| 163 | + outInput.classList.add("activeBorder"); | ||
| 164 | + }); | ||
| 165 | + | ||
| 166 | + dataInner[0].addEventListener("blur", (e) => { | ||
| 167 | + if (!e.target.value && !e.target.placeholder) { | ||
| 168 | + // input失焦时如果无内容则移除active class | ||
| 169 | + this.itemLabel = this.label; | ||
| 170 | + !this.activeType | ||
| 171 | + ? dataInner[0].classList.remove("inputFocus") | ||
| 172 | + : ""; | ||
| 173 | + } else { | ||
| 174 | + dataInner[0].classList.add("inputFocus"); | ||
| 175 | + } | ||
| 176 | + this.inputFocusType = false; | ||
| 177 | + outInput.classList.remove("activeBorder"); | ||
| 178 | + }); | ||
| 179 | + | ||
| 180 | + dataInner[1].addEventListener("blur", (e) => { | ||
| 181 | + if (!e.target.value && !e.target.placeholder) { | ||
| 182 | + // input失焦时如果无内容则移除active class | ||
| 183 | + this.itemLabel = this.label; | ||
| 184 | + !this.activeType | ||
| 185 | + ? dataInner[1].classList.remove("inputFocus") | ||
| 186 | + : ""; | ||
| 187 | + } else { | ||
| 188 | + dataInner[1].classList.add("inputFocus"); | ||
| 189 | + } | ||
| 190 | + this.inputFocusType = false; | ||
| 191 | + outInput.classList.remove("activeBorder"); | ||
| 192 | + }); | ||
| 193 | + } | ||
| 194 | + } | ||
| 117 | } | 195 | } |
| 118 | }, | 196 | }, |
| 119 | updated() { | 197 | updated() { |
| ... | @@ -123,27 +201,73 @@ export default { | ... | @@ -123,27 +201,73 @@ export default { |
| 123 | let outInput = document.querySelector( | 201 | let outInput = document.querySelector( |
| 124 | "#inputOuter-" + this.type + "-" + this.prop | 202 | "#inputOuter-" + this.type + "-" + this.prop |
| 125 | ); //获取formitem | 203 | ); //获取formitem |
| 204 | + let dateEditor = document.querySelector(".el-date-editor"); | ||
| 126 | this.$nextTick(() => { | 205 | this.$nextTick(() => { |
| 127 | - if (inputInner && inputInner.value) { | 206 | + if (inputInner) { |
| 207 | + if ( | ||
| 208 | + inputInner.value != undefined && | ||
| 209 | + inputInner.value != "" && | ||
| 210 | + inputInner.value != null | ||
| 211 | + ) { | ||
| 128 | inputInner.classList.add("inputFocus"); | 212 | inputInner.classList.add("inputFocus"); |
| 129 | } else { | 213 | } else { |
| 130 | - !this.inputFocusType ? inputInner?.classList.remove("inputFocus") : ""; | 214 | + !this.inputFocusType ? inputInner.classList.remove("inputFocus") : ""; |
| 215 | + this.activeType ? inputInner.classList.add("inputFocus") : ""; | ||
| 216 | + } | ||
| 217 | + } else { | ||
| 218 | + if (dateEditor) { | ||
| 219 | + if (this.activeType) { | ||
| 220 | + document.querySelector(".inputInner-" + this.type + "-" + this.prop) | ||
| 221 | + .classList | ||
| 222 | + ? document | ||
| 223 | + .querySelector(".inputInner-" + this.type + "-" + this.prop) | ||
| 224 | + .classList.add("inputFocus") | ||
| 225 | + : ""; | ||
| 226 | + } | ||
| 227 | + } | ||
| 228 | + } | ||
| 229 | + if ( | ||
| 230 | + inputInner && | ||
| 231 | + inputInner.offsetWidth && | ||
| 232 | + inputInner.offsetWidth < inputInner.scrollWidth | ||
| 233 | + ) { | ||
| 234 | + this.content = inputInner.value; | ||
| 235 | + !this.disabled | ||
| 236 | + ? (this.tooltipDisabled = false) | ||
| 237 | + : (this.tooltipDisabled = true); | ||
| 131 | } | 238 | } |
| 132 | }); | 239 | }); |
| 133 | }, | 240 | }, |
| 134 | methods: { | 241 | methods: { |
| 242 | + formItemClick() { | ||
| 243 | + this.$emit("event", this.prop); | ||
| 244 | + }, | ||
| 135 | getDateEditorNode() { | 245 | getDateEditorNode() { |
| 136 | let dateInput = document.getElementsByClassName("el-date-editor"); | 246 | let dateInput = document.getElementsByClassName("el-date-editor"); |
| 137 | dateInput.forEach((item) => { | 247 | dateInput.forEach((item) => { |
| 138 | - item | 248 | + item.querySelector(".el-input__suffix") |
| 249 | + ? item | ||
| 139 | .querySelector(".el-input__suffix") | 250 | .querySelector(".el-input__suffix") |
| 140 | - .children[0].children[0].classList.add("el-icon-date"); | 251 | + .children[0].children[0].classList.add("el-icon-date") |
| 252 | + : ""; | ||
| 141 | }); | 253 | }); |
| 142 | let selectInput = document.getElementsByClassName("el-select"); | 254 | let selectInput = document.getElementsByClassName("el-select"); |
| 143 | selectInput.forEach((item) => { | 255 | selectInput.forEach((item) => { |
| 144 | // item.querySelector('.el-input__suffix').children[0].children[0].style.display = 'none' | 256 | // item.querySelector('.el-input__suffix').children[0].children[0].style.display = 'none' |
| 145 | }); | 257 | }); |
| 146 | }, | 258 | }, |
| 259 | + onMouseOver(str) { | ||
| 260 | + if (this.$refs[str]) { | ||
| 261 | + const parentWidth = this.$refs[str].parentNode.offsetWidth; | ||
| 262 | + const contentWidth = this.$refs[str].offsetWidth; | ||
| 263 | + // 判断是否开启tooltip功能 | ||
| 264 | + if (contentWidth > parentWidth) { | ||
| 265 | + this.isShowTooltip = false; | ||
| 266 | + } else { | ||
| 267 | + this.isShowTooltip = true; | ||
| 268 | + } | ||
| 269 | + } | ||
| 270 | + }, | ||
| 147 | }, | 271 | }, |
| 148 | }; | 272 | }; |
| 149 | </script> | 273 | </script> | ... | ... |
| ... | @@ -6,10 +6,10 @@ export default { | ... | @@ -6,10 +6,10 @@ export default { |
| 6 | }, | 6 | }, |
| 7 | // 公用 | 7 | // 公用 |
| 8 | common: { | 8 | common: { |
| 9 | - sureBtn: "確定", | 9 | + sureBtn: "OK", |
| 10 | goBack: "返回", | 10 | goBack: "返回", |
| 11 | submitBtn: "提交", | 11 | submitBtn: "提交", |
| 12 | - cancleBtn: "取消", | 12 | + cancleBtn: "Cancel", |
| 13 | useBtn: "使用", | 13 | useBtn: "使用", |
| 14 | saveBtn: "保存", | 14 | saveBtn: "保存", |
| 15 | closeBtn: "關閉", | 15 | closeBtn: "關閉", |
| ... | @@ -86,8 +86,8 @@ export default { | ... | @@ -86,8 +86,8 @@ export default { |
| 86 | onlineDeclare: "線上申報平臺帳號登錄", | 86 | onlineDeclare: "線上申報平臺帳號登錄", |
| 87 | registerNumber: "註冊線上申報平臺帳號", | 87 | registerNumber: "註冊線上申報平臺帳號", |
| 88 | userInfo: "用戶信息維護", | 88 | userInfo: "用戶信息維護", |
| 89 | - logOut: "退出登錄", | 89 | + logOut: "log out", |
| 90 | - logOutDia: "確定註銷並退出系統嗎?", | 90 | + logOutDia: "Are you sure to log out and exit the system?", |
| 91 | }, | 91 | }, |
| 92 | // 申报输入 | 92 | // 申报输入 |
| 93 | fillIn: { | 93 | fillIn: { | ... | ... |
| ... | @@ -100,7 +100,6 @@ import TopNav from "@/components/TopNav"; | ... | @@ -100,7 +100,6 @@ import TopNav from "@/components/TopNav"; |
| 100 | import Hamburger from "@/components/Hamburger"; | 100 | import Hamburger from "@/components/Hamburger"; |
| 101 | import { removeToken } from "@/utils/auth"; | 101 | import { removeToken } from "@/utils/auth"; |
| 102 | 102 | ||
| 103 | - | ||
| 104 | export default { | 103 | export default { |
| 105 | components: { | 104 | components: { |
| 106 | Breadcrumb, | 105 | Breadcrumb, |
| ... | @@ -109,9 +108,13 @@ export default { | ... | @@ -109,9 +108,13 @@ export default { |
| 109 | }, | 108 | }, |
| 110 | data() { | 109 | data() { |
| 111 | return { | 110 | return { |
| 112 | - lang: localStorage.getItem("lang") || "zh-TW", | 111 | + lang: localStorage.getItem("lang") || "en", |
| 113 | langOptions: [ | 112 | langOptions: [ |
| 114 | { | 113 | { |
| 114 | + label: "English", | ||
| 115 | + value: "en", | ||
| 116 | + }, | ||
| 117 | + { | ||
| 115 | label: "中文繁體", | 118 | label: "中文繁體", |
| 116 | value: "zh-TW", | 119 | value: "zh-TW", |
| 117 | }, | 120 | }, |
| ... | @@ -147,7 +150,7 @@ export default { | ... | @@ -147,7 +150,7 @@ export default { |
| 147 | this.$store.dispatch("app/toggleSideBar"); | 150 | this.$store.dispatch("app/toggleSideBar"); |
| 148 | }, | 151 | }, |
| 149 | async logout() { | 152 | async logout() { |
| 150 | - this.$confirm(this.$t("layout.logOutDia"), "提示", { | 153 | + this.$confirm(this.$t("layout.logOutDia"), "Tip", { |
| 151 | confirmButtonText: this.$t("common.sureBtn"), | 154 | confirmButtonText: this.$t("common.sureBtn"), |
| 152 | cancelButtonText: this.$t("common.cancleBtn"), | 155 | cancelButtonText: this.$t("common.cancleBtn"), |
| 153 | type: "warning", | 156 | type: "warning", |
| ... | @@ -165,7 +168,7 @@ export default { | ... | @@ -165,7 +168,7 @@ export default { |
| 165 | this.$emit("login", "login"); | 168 | this.$emit("login", "login"); |
| 166 | } else if (val == "create") { | 169 | } else if (val == "create") { |
| 167 | this.$emit("login", "create"); | 170 | this.$emit("login", "create"); |
| 168 | - }else if(val == "fedexRegister"){ | 171 | + } else if (val == "fedexRegister") { |
| 169 | this.$emit("login", "fedexRegister"); | 172 | this.$emit("login", "fedexRegister"); |
| 170 | } | 173 | } |
| 171 | }, | 174 | }, | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -36,7 +36,7 @@ | ... | @@ -36,7 +36,7 @@ |
| 36 | <div class="buttonItem-icon"> | 36 | <div class="buttonItem-icon"> |
| 37 | <svg-icon class="el-icon-user-solid" icon-class="fedex-login" /> | 37 | <svg-icon class="el-icon-user-solid" icon-class="fedex-login" /> |
| 38 | </div> | 38 | </div> |
| 39 | - <div class="buttonItem-title">在線申報平臺帳號登錄</div> | 39 | + <div class="buttonItem-title">user log in</div> |
| 40 | <div class="textCenter"> | 40 | <div class="textCenter"> |
| 41 | <svg-icon | 41 | <svg-icon |
| 42 | class="el-icon-user-solid" | 42 | class="el-icon-user-solid" |
| ... | @@ -205,14 +205,13 @@ export default { | ... | @@ -205,14 +205,13 @@ export default { |
| 205 | }, | 205 | }, |
| 206 | attrs: { class: "font-style" }, | 206 | attrs: { class: "font-style" }, |
| 207 | }, | 207 | }, |
| 208 | - "註冊完成後請回到FedEx線上申報平臺重新登錄。" | 208 | + "After registration is completed, please return to the FedEx online declaration platform and log in again." |
| 209 | ), | 209 | ), |
| 210 | ]), | 210 | ]), |
| 211 | confirmButtonClass: "confirm-button", | 211 | confirmButtonClass: "confirm-button", |
| 212 | showCancelButton: true, | 212 | showCancelButton: true, |
| 213 | - | 213 | + confirmButtonText: this.$t("common.sureBtn"), |
| 214 | - confirmButtonText: "確定", | 214 | + cancelButtonText: this.$t("common.cancleBtn"), |
| 215 | - cancelButtonText: "取消", | ||
| 216 | iconClass: "el-icon-warning", | 215 | iconClass: "el-icon-warning", |
| 217 | center: true, | 216 | center: true, |
| 218 | // showClose: false, | 217 | // showClose: false, |
| ... | @@ -409,10 +408,10 @@ export default { | ... | @@ -409,10 +408,10 @@ export default { |
| 409 | } | 408 | } |
| 410 | } | 409 | } |
| 411 | .guide-box { | 410 | .guide-box { |
| 412 | - height: 170px; | ||
| 413 | font-size: 16px; | 411 | font-size: 16px; |
| 414 | padding-left: 249px; | 412 | padding-left: 249px; |
| 415 | - padding-top: 48px; | 413 | + padding-top: 24px; |
| 414 | + padding-bottom: 24px; | ||
| 416 | background: #f8f8f8; | 415 | background: #f8f8f8; |
| 417 | .guide { | 416 | .guide { |
| 418 | color: #4d148c; | 417 | color: #4d148c; | ... | ... |
| 1 | -<template> | ||
| 2 | - <el-dialog | ||
| 3 | - class="entryDialog systemDialog" | ||
| 4 | - :title="title" | ||
| 5 | - :visible.sync="outerVisible" | ||
| 6 | - :show-close="false" | ||
| 7 | - :close-on-click-modal="false" | ||
| 8 | - v-loading="loadings.editLoading" | ||
| 9 | - width="25%" | ||
| 10 | - @close="close" | ||
| 11 | - ></el-dialog> | ||
| 12 | -</template> | ||
| 13 | - | ||
| 14 | -<script> | ||
| 15 | -export default { | ||
| 16 | - data() { | ||
| 17 | - return {}; | ||
| 18 | - }, | ||
| 19 | -}; | ||
| 20 | -</script> | ||
| 21 | - | ||
| 22 | -<style lang="scss" scoped> | ||
| 23 | -@import "@/assets/styles/variables.scss"; | ||
| 24 | -</style> |
This diff is collapsed. Click to expand it.
| 1 | -<template> | ||
| 2 | - <el-dialog | ||
| 3 | - title="下載附件" | ||
| 4 | - :visible.sync="dialogVisible" | ||
| 5 | - width="50%" | ||
| 6 | - :show-close="true" | ||
| 7 | - class="detail-dialog" | ||
| 8 | - > | ||
| 9 | - <Table | ||
| 10 | - class="fedexDetialTable mt20" | ||
| 11 | - :data="tableData" | ||
| 12 | - :headerData="headerData" | ||
| 13 | - :selection="false" | ||
| 14 | - height="400px" | ||
| 15 | - :order="false" | ||
| 16 | - :border="false" | ||
| 17 | - :pagination="false" | ||
| 18 | - :selectFixed="false" | ||
| 19 | - :pageSizes="[20, 30, 50, 100]" | ||
| 20 | - @selectionChange="handleSelectionChange" | ||
| 21 | - :loading="tableLodaing" | ||
| 22 | - > | ||
| 23 | - <template v-slot:name="scope"> | ||
| 24 | - <p> {{ scope.row.name }}{{ scope.row.type }}</p> | ||
| 25 | - </template> | ||
| 26 | - <template v-slot:down="scope"> | ||
| 27 | - <el-button | ||
| 28 | - class="plain" | ||
| 29 | - size="mini" | ||
| 30 | - @click.native.stop="downLoadOneFile(scope.row)" | ||
| 31 | - :loading="scope.row.downloadLoading" | ||
| 32 | - >下載</el-button | ||
| 33 | - > | ||
| 34 | - </template> | ||
| 35 | - </Table> | ||
| 36 | - <div class="width-btn-box"> | ||
| 37 | - <el-button | ||
| 38 | - class="entrySaveButton entrySaveButton-background" | ||
| 39 | - @click="batchDownloadBtn" | ||
| 40 | - style="margin-right: 30px;width: 110px;" | ||
| 41 | - :loading="allDownload" | ||
| 42 | - :disabled="this.tableData<=0" | ||
| 43 | - > | ||
| 44 | - 下載全部 | ||
| 45 | - </el-button> | ||
| 46 | - <el-button class="entrySaveButton" style="width: 110px;" @click="closeDialog">取消</el-button> | ||
| 47 | - </div> | ||
| 48 | - </el-dialog> | ||
| 49 | -</template> | ||
| 50 | -<script> | ||
| 51 | -import { getFindSysByDeclareId } from "@/api/fillForm.js"; | ||
| 52 | -import { downLoadZip,downLoadFile } from "@/utils/zipdownload"; | ||
| 53 | -export default { | ||
| 54 | - components: {}, | ||
| 55 | - props: {}, | ||
| 56 | - data() { | ||
| 57 | - return { | ||
| 58 | - tableLodaing:false, | ||
| 59 | - allDownload:false, | ||
| 60 | - dialogVisible: false, | ||
| 61 | - declareId: null, | ||
| 62 | - tableData: [], | ||
| 63 | - headerData: [ | ||
| 64 | - { | ||
| 65 | - name: "附件名稱", | ||
| 66 | - value: "name", | ||
| 67 | - width: "", | ||
| 68 | - align: "left", | ||
| 69 | - slot: true, | ||
| 70 | - }, | ||
| 71 | - { | ||
| 72 | - name: "操作", | ||
| 73 | - value: "down", | ||
| 74 | - width: "100", | ||
| 75 | - align: "center", | ||
| 76 | - slot: true, | ||
| 77 | - }, | ||
| 78 | - ], | ||
| 79 | - selectCheckList: [], | ||
| 80 | - customsFileId: null, | ||
| 81 | - }; | ||
| 82 | - }, | ||
| 83 | - methods: { | ||
| 84 | - // 打开弹窗 | ||
| 85 | - openDialog(row) { | ||
| 86 | - this.dialogVisible = true; | ||
| 87 | - this.declareId = row.id; | ||
| 88 | - this.customsFileId = row.customsFileId; | ||
| 89 | - this.getUploadFileList(); | ||
| 90 | - }, | ||
| 91 | - // 关闭弹窗 | ||
| 92 | - closeDialog() { | ||
| 93 | - this.dialogVisible = false; | ||
| 94 | - }, | ||
| 95 | - // 选择下载的附件 | ||
| 96 | - handleSelectionChange(val) { | ||
| 97 | - this.selectCheckList = val; | ||
| 98 | - }, | ||
| 99 | - // 下载 | ||
| 100 | - downLoadOneFile(fileRow) { | ||
| 101 | - fileRow.downloadLoading=true; | ||
| 102 | - downLoadFile( | ||
| 103 | - "/icleartw/cusFile/downLoadFile", | ||
| 104 | - fileRow.id, | ||
| 105 | - fileRow.name+ fileRow.type | ||
| 106 | - ).then(() => { | ||
| 107 | - | ||
| 108 | - this.$message.success("下載成功"); | ||
| 109 | - this.exportLoading = false; | ||
| 110 | - }) | ||
| 111 | - .catch(() => { | ||
| 112 | - this.exportLoading = false; | ||
| 113 | - }).finally(()=>{ | ||
| 114 | - fileRow.downloadLoading = false; | ||
| 115 | - }) | ||
| 116 | - | ||
| 117 | - }, | ||
| 118 | - // 批量下载 | ||
| 119 | - batchDownloadBtn() { | ||
| 120 | - this.allDownload=true; | ||
| 121 | - downLoadZip( | ||
| 122 | - "/icleartw/cusFile/downLoadCusFileAll", | ||
| 123 | - this.customsFileId, | ||
| 124 | - "附件" | ||
| 125 | - ) | ||
| 126 | - .then(() => { | ||
| 127 | - this.allDownload = false; | ||
| 128 | - this.exportLoading = false; | ||
| 129 | - }) | ||
| 130 | - .catch(() => { | ||
| 131 | - this.exportLoading = false; | ||
| 132 | - }); | ||
| 133 | - }, | ||
| 134 | - // 获取文件列表 | ||
| 135 | - getUploadFileList() { | ||
| 136 | - this.tableData=[]; | ||
| 137 | - this.tableLodaing=true; | ||
| 138 | - getFindSysByDeclareId(this.declareId).then((res) => { | ||
| 139 | - if (res.code == 200) { | ||
| 140 | - this.tableData = res.data; | ||
| 141 | - if (this.tableData != null) { | ||
| 142 | - this.tableData = this.tableData.map(item => { | ||
| 143 | - return { | ||
| 144 | - ...item, | ||
| 145 | - downloadLoading: false | ||
| 146 | - }; | ||
| 147 | - }); | ||
| 148 | - } | ||
| 149 | - }else{ | ||
| 150 | - this.$message.error(res.msg); | ||
| 151 | - } | ||
| 152 | - }).catch((res)=>{ | ||
| 153 | - this.$message.error(res.msg); | ||
| 154 | - }).finally(()=>{ | ||
| 155 | - this.tableLodaing = false; | ||
| 156 | - }) | ||
| 157 | - }, | ||
| 158 | - }, | ||
| 159 | -}; | ||
| 160 | -</script> | ||
| 161 | - | ||
| 162 | -<style lang="scss" scoped> | ||
| 163 | -.detail-dialog { | ||
| 164 | - .title-box { | ||
| 165 | - font-size: 16px; | ||
| 166 | - font-weight: 600; | ||
| 167 | - // line-height: 22px; | ||
| 168 | - color: #000000; | ||
| 169 | - display: flex; | ||
| 170 | - justify-content: space-between; | ||
| 171 | - .el-button { | ||
| 172 | - padding: 0; | ||
| 173 | - font-size: 12px; | ||
| 174 | - } | ||
| 175 | - } | ||
| 176 | - .content { | ||
| 177 | - color: #333; | ||
| 178 | - font-size: 12px; | ||
| 179 | - .small-title { | ||
| 180 | - margin: 12px 0 4px 0; | ||
| 181 | - font-size: 14px; | ||
| 182 | - } | ||
| 183 | - .info-box { | ||
| 184 | - width: 100%; | ||
| 185 | - height: 50px; | ||
| 186 | - line-height: 17px; | ||
| 187 | - background: #f2f2f2; | ||
| 188 | - padding: 8px; | ||
| 189 | - margin-bottom: 4px; | ||
| 190 | - } | ||
| 191 | - } | ||
| 192 | - .download { | ||
| 193 | - .el-button { | ||
| 194 | - padding: 0; | ||
| 195 | - font-size: 12px; | ||
| 196 | - } | ||
| 197 | - img { | ||
| 198 | - vertical-align: -4px; | ||
| 199 | - } | ||
| 200 | - } | ||
| 201 | - ::v-deep .el-dialog { | ||
| 202 | - padding: 20px 100px; | ||
| 203 | - } | ||
| 204 | - ::v-deep .el-dialog__header { | ||
| 205 | - text-align: center; | ||
| 206 | - } | ||
| 207 | - .width-btn-box { | ||
| 208 | - width: 100%; | ||
| 209 | - text-align: center; | ||
| 210 | - margin-top: 16px; | ||
| 211 | - .el-button { | ||
| 212 | - width: 100px; | ||
| 213 | - } | ||
| 214 | - } | ||
| 215 | - ::v-deep .el-table__body-wrapper .el-table__body tbody tr { | ||
| 216 | - height: 50px; | ||
| 217 | - } | ||
| 218 | -} | ||
| 219 | -</style> |
web/test/declareQuery/index.vue
deleted
100644 → 0
This diff is collapsed. Click to expand it.
| 1 | -export const tableHeaderKeys = [ | ||
| 2 | - { | ||
| 3 | - label: "提單號碼", | ||
| 4 | - prop: "deliveryNo", | ||
| 5 | - width: 150, | ||
| 6 | - align: "left", | ||
| 7 | - sort: false, | ||
| 8 | - }, | ||
| 9 | - { | ||
| 10 | - label: "報單類別", | ||
| 11 | - prop: "customsDeclarationType", | ||
| 12 | - width: 150, | ||
| 13 | - align: "left", | ||
| 14 | - sort: false, | ||
| 15 | - }, | ||
| 16 | - { | ||
| 17 | - label: "操作狀態/時間", | ||
| 18 | - prop: "operStatusAndTime1", | ||
| 19 | - width: 150, | ||
| 20 | - align: "left", | ||
| 21 | - tem:"operStatusAndTime1", | ||
| 22 | - sort: "custom", | ||
| 23 | - }, | ||
| 24 | - { | ||
| 25 | - label: "傳送狀態/時間", | ||
| 26 | - prop: "delStatus", | ||
| 27 | - width: 150, | ||
| 28 | - align: "left", | ||
| 29 | - tem: "delStatus", | ||
| 30 | - sort:"custom", | ||
| 31 | - | ||
| 32 | - }, | ||
| 33 | - { | ||
| 34 | - label: "操作", | ||
| 35 | - prop: "opt", | ||
| 36 | - width: 150, | ||
| 37 | - align: "center", | ||
| 38 | - tem: "opt", | ||
| 39 | - sort: false, | ||
| 40 | - }, | ||
| 41 | -]; |
web/test/fedex.scss
deleted
100644 → 0
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment