Showing
7 changed files
with
888 additions
and
581 deletions
| 1 | <template> | 1 | <template> |
| 2 | <el-popover | 2 | <el-popover |
| 3 | - placement="bottom" | 3 | + :placement="'bottom'" |
| 4 | - width="320" | 4 | + :width="320" |
| 5 | - trigger="manual" | 5 | + :trigger="'manual'" |
| 6 | :popper-class="popperClass" | 6 | :popper-class="popperClass" |
| 7 | v-model="isPopoverVisible" | 7 | v-model="isPopoverVisible" |
| 8 | > | 8 | > |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | type="textarea" | 12 | type="textarea" |
| 13 | :rows="5" | 13 | :rows="5" |
| 14 | v-model="localValue" | 14 | v-model="localValue" |
| 15 | - class="textarea-popover" | 15 | + class="inputShadow textareaPopover" |
| 16 | resize="none" | 16 | resize="none" |
| 17 | :maxlength="maxlength" | 17 | :maxlength="maxlength" |
| 18 | @blur="handleBlur" | 18 | @blur="handleBlur" |
| ... | @@ -24,7 +24,8 @@ | ... | @@ -24,7 +24,8 @@ |
| 24 | ref="referenceInput" | 24 | ref="referenceInput" |
| 25 | type="textarea" | 25 | type="textarea" |
| 26 | :rows="1" | 26 | :rows="1" |
| 27 | - class="input-shadow" | 27 | + id="inputInner--consignmentCode" |
| 28 | + class="inputShadow" | ||
| 28 | v-model="localValue" | 29 | v-model="localValue" |
| 29 | resize="none" | 30 | resize="none" |
| 30 | @focus="handleFocus" | 31 | @focus="handleFocus" |
| ... | @@ -50,7 +51,7 @@ export default { | ... | @@ -50,7 +51,7 @@ export default { |
| 50 | }, | 51 | }, |
| 51 | popperClass: { | 52 | popperClass: { |
| 52 | type: String, | 53 | type: String, |
| 53 | - default: "popover-input-class", | 54 | + default: "popoverconsignmentCode", |
| 54 | }, | 55 | }, |
| 55 | }, | 56 | }, |
| 56 | data() { | 57 | data() { |
| ... | @@ -68,30 +69,25 @@ export default { | ... | @@ -68,30 +69,25 @@ export default { |
| 68 | }, | 69 | }, |
| 69 | }, | 70 | }, |
| 70 | methods: { | 71 | methods: { |
| 71 | - handleFocus() { | 72 | + handleFocus(val) { |
| 72 | this.isPopoverVisible = true; | 73 | this.isPopoverVisible = true; |
| 73 | this.$nextTick(() => { | 74 | this.$nextTick(() => { |
| 74 | - this.$refs.popoverInput.focus(); // 弹出层输入框获取焦点 | 75 | + this.$refs.popoverInput.focus(); |
| 75 | - this.$refs.referenceInput.$el.style.display = "none"; // 隐藏主输入框 | 76 | + this.$refs.referenceInput.style.display = "none"; |
| 76 | }); | 77 | }); |
| 77 | }, | 78 | }, |
| 78 | - handleBlur() { | 79 | + handleBlur(val) { |
| 79 | this.isPopoverVisible = false; | 80 | this.isPopoverVisible = false; |
| 80 | - | ||
| 81 | - // 格式化内容 | ||
| 82 | - this.localValue = this.formatContent(this.localValue); | ||
| 83 | - | ||
| 84 | this.$nextTick(() => { | 81 | this.$nextTick(() => { |
| 85 | - const referenceInput = this.$refs.referenceInput.$el; | 82 | + const formattedValue = this.formatContent(this.localValue); |
| 86 | - referenceInput.style.display = "block"; | 83 | + this.localValue = formattedValue; |
| 87 | - if (this.localValue) { | 84 | + this.$refs.referenceInput.style.display = "block"; |
| 88 | - referenceInput.classList.add("inputFocus"); | 85 | + if (formattedValue) { |
| 86 | + this.$refs.referenceInput.classList.add("inputFocus"); | ||
| 89 | } else { | 87 | } else { |
| 90 | - referenceInput.classList.remove("inputFocus"); | 88 | + this.$refs.referenceInput.classList.remove("inputFocus"); |
| 91 | } | 89 | } |
| 92 | }); | 90 | }); |
| 93 | - | ||
| 94 | - this.$emit("blur", this.localValue); // 触发父组件的 blur 事件 | ||
| 95 | }, | 91 | }, |
| 96 | formatContent(value) { | 92 | formatContent(value) { |
| 97 | // 格式化输入内容:替换分隔符、去空格、限制条数 | 93 | // 格式化输入内容:替换分隔符、去空格、限制条数 |
| ... | @@ -108,11 +104,11 @@ export default { | ... | @@ -108,11 +104,11 @@ export default { |
| 108 | </script> | 104 | </script> |
| 109 | 105 | ||
| 110 | <style scoped lang="scss"> | 106 | <style scoped lang="scss"> |
| 111 | -//.input-shadow { | 107 | +//.inputShadow { |
| 112 | // box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | 108 | // box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); |
| 113 | //} | 109 | //} |
| 114 | // | 110 | // |
| 115 | -//.textarea-popover { | 111 | +//.textareaPopover { |
| 116 | // box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | 112 | // box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); |
| 117 | //} | 113 | //} |
| 118 | // | 114 | // | ... | ... |
| ... | @@ -140,6 +140,13 @@ export const constantRoutes = [ | ... | @@ -140,6 +140,13 @@ export const constantRoutes = [ |
| 140 | meta: { title: '清单总分单查询', icon: 'dashboard' } | 140 | meta: { title: '清单总分单查询', icon: 'dashboard' } |
| 141 | }, | 141 | }, |
| 142 | { | 142 | { |
| 143 | + path: '/exportCancelOrderQuery', | ||
| 144 | + component: (resolve) => require(['@/views/exportCancelOrderQuery/index'], resolve), | ||
| 145 | + name: '首页', | ||
| 146 | + hidden: false, | ||
| 147 | + meta: { title: '出口撤销单查询', icon: 'dashboard' } | ||
| 148 | + }, | ||
| 149 | + { | ||
| 143 | path: '/listBranchDetail', | 150 | path: '/listBranchDetail', |
| 144 | component: (resolve) => require(['@/views/listBranchDetail/index'], resolve), | 151 | component: (resolve) => require(['@/views/listBranchDetail/index'], resolve), |
| 145 | name: '首页', | 152 | name: '首页', |
| ... | @@ -159,14 +166,29 @@ export const constantRoutes = [ | ... | @@ -159,14 +166,29 @@ export const constantRoutes = [ |
| 159 | name: '首页', | 166 | name: '首页', |
| 160 | meta: { title: '物流离境单查询', icon: 'dashboard' } | 167 | meta: { title: '物流离境单查询', icon: 'dashboard' } |
| 161 | }, | 168 | }, |
| 169 | + ] | ||
| 170 | + }, | ||
| 162 | { | 171 | { |
| 163 | - path: 'index', | 172 | + path: '/', |
| 164 | - component: (resolve) => require(['@/views/index'], resolve), | 173 | + component: Layout, |
| 165 | - name: '首页', | 174 | + hidden: false, |
| 166 | - meta: { title: '出口撤销单查询', icon: 'dashboard' } | 175 | + redirect: 'index', |
| 176 | + meta: {title: '汇总申报', icon: 'fedexSystem'}, | ||
| 177 | + children: [ | ||
| 178 | + { | ||
| 179 | + path: '/consolidatedDeclaration', | ||
| 180 | + component: (resolve) => require(['@/views/consolidatedDeclaration/index'], resolve), | ||
| 181 | + hidden: false, | ||
| 182 | + meta: { title: '汇总申报', icon: 'api' }, | ||
| 183 | + }, | ||
| 184 | + { | ||
| 185 | + path: '/exportBillQuery', | ||
| 186 | + component: (resolve) => require(['@/views/exportBillQuery/index'], resolve), | ||
| 187 | + hidden: false, | ||
| 188 | + meta: { title: '汇总申请单查询', icon: 'api' }, | ||
| 167 | } | 189 | } |
| 168 | ] | 190 | ] |
| 169 | - }, | 191 | + } |
| 170 | ] | 192 | ] |
| 171 | 193 | ||
| 172 | export default new Router({ | 194 | export default new Router({ | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | - <div | 2 | + <div> |
| 3 | - class="entrySreach" | 3 | + <div class="entrySreach" ref="classCPortEntry"> |
| 4 | - style="overflow-y: auto" | 4 | + <el-form |
| 5 | - v-loading="loadings.templateLoading" | 5 | + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" |
| 6 | + ref="sreachForm" | ||
| 7 | + :model="searchForm" | ||
| 8 | + label-position="top" | ||
| 9 | + size="small" | ||
| 10 | + > | ||
| 11 | + <el-row class="row-border"> | ||
| 12 | + <el-col :span="4"> | ||
| 13 | + <Formitem label="提运单号" prop="consignmentCode"> | ||
| 14 | + <el-popover | ||
| 15 | + placement="bottom" | ||
| 16 | + width="320" | ||
| 17 | + trigger="manual" | ||
| 18 | + popper-class="popoverconsignmentCode" | ||
| 19 | + v-model="textareaVisible.formItemconsignmentCode" | ||
| 20 | + > | ||
| 21 | + <el-input | ||
| 22 | + name="consignmentCode-textarea" | ||
| 23 | + type="textarea" | ||
| 24 | + :rows="5" | ||
| 25 | + id="popoverInputconsignmentCode" | ||
| 26 | + class="inputShadow textareaPopover" | ||
| 27 | + v-model="searchForm.consignmentCode" | ||
| 28 | + resize="none" | ||
| 29 | + maxlength="13000" | ||
| 30 | + placeholder="" | ||
| 31 | + @blur="textareaBlur" | ||
| 32 | + @input="input" | ||
| 33 | + ></el-input> | ||
| 34 | + <el-input | ||
| 35 | + slot="reference" | ||
| 36 | + name="consignmentCode" | ||
| 37 | + type="textarea" | ||
| 38 | + :rows="1" | ||
| 39 | + class="inputShadow" | ||
| 40 | + id="inputInner--consignmentCode" | ||
| 41 | + v-model="searchForm.consignmentCode" | ||
| 42 | + resize="none" | ||
| 43 | + placeholder="" | ||
| 44 | + @focus="textareaFocus" | ||
| 45 | + @input="input" | ||
| 46 | + ></el-input> | ||
| 47 | + </el-popover> | ||
| 48 | + </Formitem> | ||
| 49 | + </el-col> | ||
| 50 | + <el-col :span="4"> | ||
| 51 | + <Formitem label="订单编号" prop="factoryCode"> | ||
| 52 | + <el-select | ||
| 53 | + type="text" | ||
| 54 | + id="inputInner--declaredPort" | ||
| 55 | + v-model="searchForm.declaredPort" | ||
| 56 | + clearable | ||
| 57 | + placeholder="" | ||
| 58 | + @change="portChange" | ||
| 59 | + > | ||
| 60 | + <el-option | ||
| 61 | + v-for="(item, index) in dictData.userport" | ||
| 62 | + :key="index" | ||
| 63 | + :label="item.name" | ||
| 64 | + :value="item.name" | ||
| 65 | + ></el-option> | ||
| 66 | + </el-select> | ||
| 67 | + </Formitem> | ||
| 68 | + </el-col> | ||
| 69 | + | ||
| 70 | + <el-col :span="5"> | ||
| 71 | + <Formitem label="运单编号" prop="consignmentCode"> | ||
| 72 | + <el-popover | ||
| 73 | + placement="bottom" | ||
| 74 | + width="320" | ||
| 75 | + trigger="manual" | ||
| 76 | + popper-class="popoverconsignmentCode" | ||
| 77 | + v-model="textareaVisible.formItemconsignmentCode" | ||
| 78 | + > | ||
| 79 | + <el-input | ||
| 80 | + name="consignmentCode-textarea" | ||
| 81 | + type="textarea" | ||
| 82 | + :rows="5" | ||
| 83 | + id="popoverInputconsignmentCode" | ||
| 84 | + class="inputShadow textareaPopover" | ||
| 85 | + v-model="searchForm.consignmentCode" | ||
| 86 | + resize="none" | ||
| 87 | + maxlength="13000" | ||
| 88 | + placeholder="" | ||
| 89 | + @blur="textareaBlur" | ||
| 90 | + @input="input" | ||
| 91 | + ></el-input> | ||
| 92 | + <el-input | ||
| 93 | + slot="reference" | ||
| 94 | + name="consignmentCode" | ||
| 95 | + type="textarea" | ||
| 96 | + :rows="1" | ||
| 97 | + class="inputShadow" | ||
| 98 | + id="inputInner--consignmentCode" | ||
| 99 | + v-model="searchForm.consignmentCode" | ||
| 100 | + resize="none" | ||
| 101 | + placeholder="" | ||
| 102 | + @focus="textareaFocus" | ||
| 103 | + @input="input" | ||
| 104 | + ></el-input> | ||
| 105 | + </el-popover> | ||
| 106 | + </Formitem> | ||
| 107 | + </el-col> | ||
| 108 | + | ||
| 109 | + <el-col :span="5"> | ||
| 110 | + <Formitem | ||
| 111 | + label="创建时间" | ||
| 112 | + prop="createTime" | ||
| 113 | + :activeType="true" | ||
| 114 | + > | ||
| 115 | + <el-date-picker | ||
| 116 | + class="inputInner--accsDataImportTime" | ||
| 117 | + id="inputInner--accsDataImportTime" | ||
| 118 | + v-model="searchForm.accsDataImportTime" | ||
| 119 | + type="daterange" | ||
| 120 | + format="yyyy-MM-dd" | ||
| 121 | + prefix-icon="none" | ||
| 122 | + value-format="yyyyMMdd" | ||
| 123 | + range-separator="至" | ||
| 124 | + start-placeholder="" | ||
| 125 | + clearable | ||
| 126 | + end-placeholder="" | ||
| 127 | + :picker-options="importTimePickerOptions" | ||
| 128 | + @blur="datePickerBlur" | ||
| 129 | + @change="accsDataImportTimeChange" | ||
| 130 | + > | ||
| 131 | + </el-date-picker> | ||
| 132 | + </Formitem> | ||
| 133 | + </el-col> | ||
| 134 | + | ||
| 135 | + <el-col :span="2"> | ||
| 136 | + <el-form-item class="textCenter"> | ||
| 137 | + <el-button | ||
| 138 | + class="entrySreachButton" | ||
| 139 | + type="text" | ||
| 140 | + icon="el-icon-search" | ||
| 141 | + :loading="loadings.searchLoading" | ||
| 142 | + @click="search(0)" | ||
| 143 | + ></el-button> | ||
| 144 | + </el-form-item> | ||
| 145 | + </el-col> | ||
| 146 | + | ||
| 147 | + <el-col :span="4"> | ||
| 148 | + <el-form-item class="textCenter"> | ||
| 149 | + <el-button | ||
| 150 | + icon="el-icon-refresh" | ||
| 151 | + size="small" | ||
| 152 | + :loading="loadings.searchLoading" | ||
| 153 | + @click="search(0)" | ||
| 154 | + >重置 | ||
| 155 | + </el-button> | ||
| 156 | + </el-form-item> | ||
| 157 | + </el-col> | ||
| 158 | + </el-row> | ||
| 159 | + | ||
| 160 | + <el-row class="row-border"> | ||
| 161 | + <el-col :span="4"> | ||
| 162 | + <Formitem label="回执类型" prop="factoryCode"> | ||
| 163 | + <el-select | ||
| 164 | + type="text" | ||
| 165 | + id="inputInner--declaredPort" | ||
| 166 | + v-model="searchForm.declaredPort" | ||
| 167 | + clearable | ||
| 168 | + placeholder="" | ||
| 169 | + @change="portChange" | ||
| 6 | > | 170 | > |
| 7 | - <CustomForm | 171 | + <el-option |
| 8 | - ref="auditionEntryForm" | 172 | + v-for="(item, index) in dictData.userport" |
| 9 | - :belongBizType="11" | 173 | + :key="index" |
| 10 | - type="auditionEntry" | 174 | + :label="item.name" |
| 11 | - :paginationOption="page" | 175 | + :value="item.name" |
| 12 | - @getFormOver="getFormOver" | 176 | + ></el-option> |
| 13 | - @formSreach="formSreach" | 177 | + </el-select> |
| 14 | - @formChange="formChange" | 178 | + </Formitem> |
| 15 | - /> | 179 | + </el-col> |
| 16 | - <div class="optionButton"> | 180 | + |
| 17 | - <!-- 审批通过 --> | 181 | + <el-col :span="4"> |
| 182 | + <Formitem label="回执类型" prop="factoryCode"> | ||
| 183 | + <el-select | ||
| 184 | + type="text" | ||
| 185 | + id="inputInner--declaredPort" | ||
| 186 | + v-model="searchForm.declaredPort" | ||
| 187 | + clearable | ||
| 188 | + placeholder="" | ||
| 189 | + @change="portChange" | ||
| 190 | + > | ||
| 191 | + <el-option | ||
| 192 | + v-for="(item, index) in dictData.userport" | ||
| 193 | + :key="index" | ||
| 194 | + :label="item.name" | ||
| 195 | + :value="item.name" | ||
| 196 | + ></el-option> | ||
| 197 | + </el-select> | ||
| 198 | + </Formitem> | ||
| 199 | + </el-col> | ||
| 200 | + </el-row> | ||
| 201 | + </el-form> | ||
| 202 | + </div> | ||
| 203 | + | ||
| 204 | + <div class="action-buttons"> | ||
| 205 | + <div class="left-buttons"> | ||
| 18 | <el-button | 206 | <el-button |
| 19 | - class="entrySaveButton" | ||
| 20 | size="small" | 207 | size="small" |
| 21 | - :loading="loadings.passThroughLoading" | 208 | + :loading="loadings.downloadLoading2" |
| 22 | - :disabled="selected.length == 0 || loadings.noPass" | 209 | + @click="downloadBpiData('log')" |
| 23 | - @click="examine(true)" | 210 | + style="background: #007AB7" |
| 24 | - ><svg-icon class="el-icon-user-solid" icon-class="fedexPass"></svg-icon> | ||
| 25 | - {{ $t("audition.index.yapproval") }}</el-button | ||
| 26 | > | 211 | > |
| 27 | - <!-- 审批不通过 --> | 212 | + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon> |
| 213 | + 一键导入 | ||
| 214 | + </el-button> | ||
| 28 | <el-button | 215 | <el-button |
| 29 | - class="entrySaveButton" | ||
| 30 | size="small" | 216 | size="small" |
| 31 | - :loading="loadings.noPass" | 217 | + :loading="loadings.downloadLoading2" |
| 32 | - :disabled="selected.length == 0 || loadings.passThroughLoading" | 218 | + @click="downloadBpiData('log')" |
| 33 | - @click="examine(false)" | 219 | + style="background: #007AB7" |
| 34 | - ><svg-icon | ||
| 35 | - class="el-icon-user-solid" | ||
| 36 | - icon-class="fedexRefuse" | ||
| 37 | - ></svg-icon> | ||
| 38 | - {{ $t("audition.index.napproval") }}</el-button | ||
| 39 | > | 220 | > |
| 40 | - <!-- 导出 --> | 221 | + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon> |
| 222 | + 导入模板下载 | ||
| 223 | + </el-button> | ||
| 224 | + </div> | ||
| 225 | + | ||
| 226 | + <div class="right-buttons"> | ||
| 41 | <el-button | 227 | <el-button |
| 42 | - class="entrySaveButton" | ||
| 43 | size="small" | 228 | size="small" |
| 44 | - :loading="loadings.downloadLoading" | 229 | + :loading="loadings.downloadLoading2" |
| 45 | - :disabled=" | 230 | + @click="downloadBpiData('log')" |
| 46 | - tableData.length == 0 || | ||
| 47 | - loadings.tableLoading || | ||
| 48 | - loadings.passThroughLoading || | ||
| 49 | - loadings.noPass | ||
| 50 | - " | ||
| 51 | - @click="exportFile" | ||
| 52 | - ><svg-icon | ||
| 53 | - class="el-icon-user-solid" | ||
| 54 | - icon-class="fedexUpBlue" | ||
| 55 | - ></svg-icon> | ||
| 56 | - {{ $t("system.download") }}</el-button | ||
| 57 | > | 231 | > |
| 232 | + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon> | ||
| 233 | + 一键申报 | ||
| 234 | + </el-button> | ||
| 235 | + <el-button | ||
| 236 | + size="small" | ||
| 237 | + :loading="loadings.downloadLoading2" | ||
| 238 | + @click="downloadBpiData('log')" | ||
| 239 | + > | ||
| 240 | + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon> | ||
| 241 | + 导出 | ||
| 242 | + </el-button> | ||
| 243 | + </div> | ||
| 58 | </div> | 244 | </div> |
| 59 | - <CustomTable | 245 | + |
| 246 | + <Table | ||
| 60 | class="fedexDetialTable fedexSreachTable" | 247 | class="fedexDetialTable fedexSreachTable" |
| 61 | - ref="auditionEntryTable" | 248 | + ref="entryTable" |
| 62 | - :belongBizType="11" | 249 | + :data="tableData" |
| 63 | - router="" | 250 | + :headerData="headerData" |
| 64 | - :tableData="tableData" | 251 | + :maxHeight="tableMaxheight" |
| 65 | - :tableHeader="headerData" | 252 | + :border="true" |
| 253 | + :pagination="true" | ||
| 254 | + :order="false" | ||
| 255 | + :loading="loadings.sreachLoading" | ||
| 256 | + :page="page.pageIndex" | ||
| 257 | + :pageSizes="[20, 30, 50, 100]" | ||
| 66 | :totalCount="total" | 258 | :totalCount="total" |
| 67 | - :loading="loadings.tableLoading" | ||
| 68 | @sizeChange="sizeChange" | 259 | @sizeChange="sizeChange" |
| 69 | @currentChange="currentChange" | 260 | @currentChange="currentChange" |
| 70 | - @tableFormChange="tableFormChange" | 261 | + @rowClick="handleRowClick" |
| 262 | + :selection="true" | ||
| 263 | + :selectFixed="false" | ||
| 71 | @tableSelect="tableSelect" | 264 | @tableSelect="tableSelect" |
| 72 | - @selectChange="selectChange" | 265 | + @tableSelectAll="tableSelectAll" |
| 73 | - :page="{ | 266 | + :rowSelectDataType="false" |
| 74 | - pageNum: page.pageIndex, | 267 | + :selected="selected" |
| 75 | - sizes: [20, 30, 50, 100], | ||
| 76 | - pageSize: page.pageSize, | ||
| 77 | - layout: 'total,prev, pager, next, jumper, ->, sizes', | ||
| 78 | - }" | ||
| 79 | - :tableOption="{ | ||
| 80 | - select: true, | ||
| 81 | - selectFixed: tablefixed ? 'left' : false, | ||
| 82 | - order: false, | ||
| 83 | - orderFixed: false, | ||
| 84 | - indexType: false, | ||
| 85 | - tableHeight: tableMaxheight, | ||
| 86 | - maxHeight: tableMaxheight, | ||
| 87 | - tableBorder: true, | ||
| 88 | - showHeader: true, | ||
| 89 | - fit: true, | ||
| 90 | - highlightCurrentRow: true, | ||
| 91 | - emptyText: $t('system.empty'), | ||
| 92 | - pagination: true, | ||
| 93 | - }" | ||
| 94 | - > | ||
| 95 | - <template slot="optionColumn"> | ||
| 96 | - <!-- 操作 --> | ||
| 97 | - <el-table-column | ||
| 98 | - header-align="center" | ||
| 99 | - align="center" | ||
| 100 | - width="80" | ||
| 101 | - :label="$t('system.option')" | ||
| 102 | - :fixed="tablefixed ? 'right' : false" | ||
| 103 | > | 268 | > |
| 104 | - <template slot-scope="scope"> | 269 | + <template v-slot:waveName="scope"> |
| 105 | - <!-- 查看 --> | 270 | + <span>{{ `${scope.row.waveName}(${scope.row.waveExt2})` }}</span> |
| 106 | - <el-button | ||
| 107 | - type="text" | ||
| 108 | - class="text-line" | ||
| 109 | - @click.native="options({ status: 0, data: scope.row })" | ||
| 110 | - > | ||
| 111 | - {{ $t("system.view") }} | ||
| 112 | - </el-button> | ||
| 113 | - </template> | ||
| 114 | - </el-table-column> | ||
| 115 | </template> | 271 | </template> |
| 116 | - </CustomTable> | 272 | + </Table> |
| 117 | </div> | 273 | </div> |
| 118 | </template> | 274 | </template> |
| 119 | 275 | ||
| 120 | <script> | 276 | <script> |
| 121 | -import { encrypt } from "@/utils/jsencrypt"; | 277 | +import {getAllExportingBills} from "@/api/query/query"; |
| 122 | -import { | 278 | +import PopoverTextarea from "@/components/PopoverTextarea/index.vue"; |
| 123 | - check, | ||
| 124 | - isApproval, | ||
| 125 | - getNewApprovalType, | ||
| 126 | -} from "@/api/auditionEntry-api.js"; | ||
| 127 | 279 | ||
| 128 | export default { | 280 | export default { |
| 129 | - name: "AuditionEntrySearch", | 281 | + name: "index", |
| 130 | - components: {}, | 282 | + components: {PopoverTextarea}, |
| 131 | data() { | 283 | data() { |
| 132 | return { | 284 | return { |
| 133 | - tableData: [], //运单数据 | 285 | + searchForm: { |
| 134 | - headerData: [], //表头 | 286 | + declaredPort: "", |
| 135 | - conditionData: {}, | 287 | + consStatus: "", |
| 136 | - nowConditionData: null, | 288 | + consignmentCode: "", |
| 137 | - page: { | 289 | + accsDataImportTime: [], |
| 138 | - pageIndex: 1, | 290 | + ownerName: "", |
| 139 | - pageSize: 20, | 291 | + consignmentHeadCode: "", |
| 140 | - }, | 292 | + isPushCustomsSys: "", |
| 141 | - total: 0, //数据总和 | 293 | + waitOperStatus: "", |
| 142 | - tableMaxheight: null, //表格最大高 | 294 | + declTime: [], |
| 143 | - loadings: { | ||
| 144 | - templateLoading: false, | ||
| 145 | - tableLoading: false, //表格loading | ||
| 146 | - passThroughLoading: false, | ||
| 147 | - noPass: false, | ||
| 148 | - downloadLoading: false, | ||
| 149 | }, | 295 | }, |
| 150 | selected: [], | 296 | selected: [], |
| 151 | - checkCell: null, | 297 | + sizeChange(val) { |
| 152 | - status: 0, | 298 | + this.page.pageSize = val; |
| 153 | - checkEntry: null, | 299 | + this.sreach(1); |
| 154 | - tablefixed: false, | ||
| 155 | - }; | ||
| 156 | }, | 300 | }, |
| 157 | - created() { | 301 | + //分页 |
| 158 | - this.loadings.templateLoading = true; | 302 | + currentChange(val) { |
| 159 | - // this.setDict(); | 303 | + this.page.pageIndex = val.page; |
| 304 | + this.search(1); | ||
| 160 | }, | 305 | }, |
| 161 | - mounted() { | 306 | + tableSelect(val) { |
| 162 | - this.tableMaxheight = | 307 | + this.selected = val.selection; |
| 163 | - window.innerHeight - | ||
| 164 | - Number(this.$refs.auditionEntryForm.$el.offsetHeight) - | ||
| 165 | - 250; | ||
| 166 | - if (this.$store.getters.userData.rde_Type) { | ||
| 167 | - this.checkNewEntry(); | ||
| 168 | - } | ||
| 169 | }, | 308 | }, |
| 170 | - activated() { | 309 | + tableSelectAll(val) { |
| 171 | - if (this.status == 1) { | 310 | + this.selected = val; |
| 172 | - // this.setDict(); | ||
| 173 | - this.$refs.auditionEntryForm.sreach(1, this.conditionData); | ||
| 174 | - } | ||
| 175 | - if (this.$store.getters.userData.rde_Type) { | ||
| 176 | - this.checkNewEntry(); | ||
| 177 | - } | ||
| 178 | }, | 311 | }, |
| 179 | - beforeDestroy() { | 312 | + page: { |
| 180 | - this.clearCheckEntry(1); | 313 | + pageIndex: 1, |
| 314 | + pageSize: 20, | ||
| 181 | }, | 315 | }, |
| 182 | - watch: { | 316 | + tableData: [], |
| 183 | - $route: { | 317 | + tableMaxheight: null, |
| 184 | - handler(val) { | 318 | + total: 0, |
| 185 | - if (val.path != "/emp_auditionEntry_parent/emp_auditionEntrySearch") { | 319 | + dictData: { |
| 186 | - this.clearCheckEntry(1); | 320 | + userport: [ |
| 187 | - } | 321 | + {name: "Shanghai Port", code: "SH"}, |
| 322 | + {name: "Beijing Port", code: "BJ"}, | ||
| 323 | + {name: "Guangzhou Port", code: "GZ"}, | ||
| 324 | + {name: "Shenzhen Port", code: "SZ"}, | ||
| 325 | + {name: "Tianjin Port", code: "TJ"}, | ||
| 326 | + ], | ||
| 188 | }, | 327 | }, |
| 189 | - deep: true, | 328 | + loadings: { |
| 329 | + searchLoading: false, | ||
| 190 | }, | 330 | }, |
| 331 | + textareaVisible: { | ||
| 332 | + formItemconsignmentCode: false, | ||
| 333 | + formItemconsignmentHeadCode: false, | ||
| 191 | }, | 334 | }, |
| 192 | - methods: { | 335 | + headerData: [ |
| 193 | - //查询 | 336 | + { |
| 194 | - formSreach(val) { | 337 | + name: "回执状态", |
| 195 | - this.clearCheckEntry(0); | 338 | + value: "returnStatus", |
| 196 | - if (val != "error") { | 339 | + width: "150", |
| 197 | - this.selected = []; | 340 | + align: "left", |
| 198 | - this.tableData = val.responseData.tableData; | ||
| 199 | - this.headerData = val.responseData.tableHead; | ||
| 200 | - this.total = val.responseData.total; | ||
| 201 | - val.conditionData != null | ||
| 202 | - ? (this.conditionData = val.conditionData) | ||
| 203 | - : ""; | ||
| 204 | - this.headerData.forEach((item) => { | ||
| 205 | - //审批备注 | ||
| 206 | - if (item.prop == "rejectRemark") { | ||
| 207 | - item.formType = "input"; | ||
| 208 | - item.length = "650"; | ||
| 209 | - } | ||
| 210 | - //pek复审 | ||
| 211 | - // else if (item.prop == "pekReviewFlag") { | ||
| 212 | - // item.formType = "select"; | ||
| 213 | - // item.dicyName = "siteAssistance"; | ||
| 214 | - // item.dictKey = "name"; | ||
| 215 | - // } | ||
| 216 | - }); | ||
| 217 | - } | ||
| 218 | - this.loadings.tableLoading = false; | ||
| 219 | - if (this.tableData.length > 0) { | ||
| 220 | - this.status = 1; | ||
| 221 | - } | ||
| 222 | - this.loadings.templateLoading = false; | ||
| 223 | - this.tableFixedTypeChange( | ||
| 224 | - document.getElementsByClassName("el-table__body-wrapper") | ||
| 225 | - ).then((type) => { | ||
| 226 | - this.tablefixed = type; | ||
| 227 | - }); | ||
| 228 | }, | 341 | }, |
| 229 | - //批量审批通过/不通过 | 342 | + { |
| 230 | - examine(status) { | 343 | + name: "订单编号", |
| 231 | - this.clearCheckEntry(0); | 344 | + value: "orderNo", |
| 232 | - let chmConsignmentIds = []; | 345 | + width: '150', |
| 233 | - let chmRejectRemarkList = []; | 346 | + align: 'left' |
| 234 | - let chmConsignmentList = []; | ||
| 235 | - let errorConsignment = []; | ||
| 236 | - this.selected.forEach((item, index) => { | ||
| 237 | - item.rejectRemark = item.rejectRemark == null ? "" : item.rejectRemark; | ||
| 238 | - if (!status && item.rejectRemark == "") { | ||
| 239 | - errorConsignment.push(item.consignmentCode); | ||
| 240 | - this.tableData[item.index].rejectRemark = ""; | ||
| 241 | - } | ||
| 242 | - item.id = item.chmId; | ||
| 243 | - chmConsignmentIds[index] = item.chmId; | ||
| 244 | - chmRejectRemarkList[index] = item.rejectRemark; | ||
| 245 | - item.siteAssistance = null; | ||
| 246 | - item.siteAssistanceDicId = null; | ||
| 247 | - chmConsignmentList[index] = item; | ||
| 248 | - }); | ||
| 249 | - if (errorConsignment.length != 0) { | ||
| 250 | - this.alertErrorMsg( | ||
| 251 | - this.$t("audition.index.tip1", { a: errorConsignment }) | ||
| 252 | - ); | ||
| 253 | - } else { | ||
| 254 | - if (status) { | ||
| 255 | - this.loadings.passThroughLoading = true; | ||
| 256 | - } else { | ||
| 257 | - this.loadings.noPass = true; | ||
| 258 | - } | ||
| 259 | - return new Promise((resolve, reject) => { | ||
| 260 | - chmRejectRemarkList.push("end"); | ||
| 261 | - let obj = { | ||
| 262 | - chmConsignmentIds: chmConsignmentIds, | ||
| 263 | - chmRejectRemarkList: chmRejectRemarkList, | ||
| 264 | - isApprove: status, | ||
| 265 | - }; | ||
| 266 | - check(obj) | ||
| 267 | - .then((res) => { | ||
| 268 | - if (res.code === "200" && res.data.extra == "") { | ||
| 269 | - //走审批接口 | ||
| 270 | - let obj = { | ||
| 271 | - chmConsignmentIds: chmConsignmentIds, | ||
| 272 | - chmConsignmentList: chmConsignmentList, | ||
| 273 | - isApprove: status, | ||
| 274 | - }; | ||
| 275 | - isApproval(obj) | ||
| 276 | - .then((res) => { | ||
| 277 | - if (res.code != "200") { | ||
| 278 | - this.alertWarningMsg(res.message).then(() => { | ||
| 279 | - // this.tableData.forEach((item) => { | ||
| 280 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 281 | - // item.rejectRemark = ""; | ||
| 282 | - // } | ||
| 283 | - // }); | ||
| 284 | - }); | ||
| 285 | - } else { | ||
| 286 | - this.msgSuccess(res.data.extra.successMsg); | ||
| 287 | - this.getFormOver(); | ||
| 288 | - } | ||
| 289 | - this.loadings.passThroughLoading = false; | ||
| 290 | - this.loadings.noPass = false; | ||
| 291 | - }) | ||
| 292 | - .catch((err) => { | ||
| 293 | - this.loadings.passThroughLoading = false; | ||
| 294 | - this.loadings.noPass = false; | ||
| 295 | - console.log(err); | ||
| 296 | - reject(); | ||
| 297 | - }); | ||
| 298 | - } else if (res.code === "200") { | ||
| 299 | - this.alertErrorMsg(res.data.extra).then(() => { | ||
| 300 | - // this.tableData.forEach((item) => { | ||
| 301 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 302 | - // item.rejectRemark = ""; | ||
| 303 | - // } | ||
| 304 | - // }); | ||
| 305 | - }); | ||
| 306 | - reject(); | ||
| 307 | - this.loadings.passThroughLoading = false; | ||
| 308 | - this.loadings.noPass = false; | ||
| 309 | - } else { | ||
| 310 | - this.alertErrorMsg(res.data.extra).then(() => { | ||
| 311 | - // this.tableData.forEach((item) => { | ||
| 312 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 313 | - // item.rejectRemark = ""; | ||
| 314 | - // } | ||
| 315 | - // }); | ||
| 316 | - }); | ||
| 317 | - this.loadings.passThroughLoading = false; | ||
| 318 | - this.loadings.noPass = false; | ||
| 319 | - reject(); | ||
| 320 | - } | ||
| 321 | - }) | ||
| 322 | - .catch((err) => { | ||
| 323 | - this.loadings.passThroughLoading = false; | ||
| 324 | - this.loadings.noPass = false; | ||
| 325 | - console.log(err); | ||
| 326 | - reject(); | ||
| 327 | - }); | ||
| 328 | - }); | ||
| 329 | - } | ||
| 330 | }, | 347 | }, |
| 331 | - //根据查询条件导出 | 348 | + { |
| 332 | - exportFile() { | 349 | + name: '订单类型', |
| 333 | - this.$store.dispatch("SetLoadingType", { | 350 | + value: 'orderType', |
| 334 | - type: true, | 351 | + width: '150', |
| 335 | - text: this.$t("system.downloadingTip"), | 352 | + align: 'left' |
| 336 | - }); | ||
| 337 | - this.alertWarningMsg(this.$t("system.downloadTip")); | ||
| 338 | - this.clearCheckEntry(1); | ||
| 339 | - this.loadings.downloadLoading = true; | ||
| 340 | - let exportSign = | ||
| 341 | - new Date().getTime() + "_" + this.$store.getters.userData.id + "_14"; | ||
| 342 | - let obj = { | ||
| 343 | - belongBizType: 11, | ||
| 344 | - condition: this.conditionData, | ||
| 345 | - total: this.total, | ||
| 346 | - exportSign: exportSign, | ||
| 347 | - }; | ||
| 348 | - this.fileDownload | ||
| 349 | - .formSubmitDownload( | ||
| 350 | - "customDownloadXls", | ||
| 351 | - "post", | ||
| 352 | - [{ key: "downloadSreachData", value: JSON.stringify(obj) }], | ||
| 353 | - exportSign | ||
| 354 | - ) | ||
| 355 | - .finally(() => { | ||
| 356 | - setTimeout(() => { | ||
| 357 | - this.loadings.downloadLoading = false; | ||
| 358 | - this.$store.dispatch("SetLoadingType", { | ||
| 359 | - type: false, | ||
| 360 | - text: "", | ||
| 361 | - }); | ||
| 362 | - }, 1000); | ||
| 363 | - }); | ||
| 364 | }, | 353 | }, |
| 365 | - //分页 | 354 | + { |
| 366 | - currentChange(val) { | 355 | + name: '电商企业代码', |
| 367 | - this.page.pageIndex = val.page; | 356 | + value: 'ebccode', |
| 368 | - this.getFormOver(); | 357 | + width: '200', |
| 358 | + align: 'left' | ||
| 369 | }, | 359 | }, |
| 370 | - sizeChange(val) { | 360 | + { |
| 371 | - this.page.pageSize = val; | 361 | + name: '电商企业', |
| 372 | - this.getFormOver(); | 362 | + value: 'ebcname', |
| 363 | + width: '200', | ||
| 364 | + align: 'left' | ||
| 365 | + }, | ||
| 366 | + { | ||
| 367 | + name: '电商平台名称', | ||
| 368 | + value: 'ebpname', | ||
| 369 | + width: '250', | ||
| 370 | + align: 'left' | ||
| 373 | }, | 371 | }, |
| 374 | - //table选择变更 | 372 | + { |
| 375 | - tableSelect(selection) { | 373 | + name: '创建时间', |
| 376 | - this.selected = selection.selection; | 374 | + value: 'createTime', |
| 377 | - this.clearCheckEntry(0); | 375 | + width: '150', |
| 376 | + align: 'left' | ||
| 378 | }, | 377 | }, |
| 379 | - inputblur() { | 378 | + { |
| 380 | - this.checkCell.cell.classList.remove("activeTableCell"); | 379 | + name: '申报企业', |
| 381 | - this.checkCell = null; | 380 | + value: 'declaringEnterprise', |
| 381 | + width: '200', | ||
| 382 | + align: 'left' | ||
| 382 | }, | 383 | }, |
| 383 | - tableCellClick(val) { | 384 | + { |
| 384 | - if (this.checkCell != null) { | 385 | + name: '申报类型', |
| 385 | - this.inputblur(); | 386 | + value: 'declaringType', |
| 387 | + width: '100', | ||
| 388 | + align: 'left' | ||
| 386 | } | 389 | } |
| 387 | - this.$nextTick(() => { | 390 | + ] |
| 388 | - if (val.column.property == "rejectRemark") { | ||
| 389 | - val.cell.classList.add("activeTableCell"); | ||
| 390 | - document | ||
| 391 | - .getElementsByClassName("activeTableCell")[0] | ||
| 392 | - .getElementsByClassName("el-input")[0] | ||
| 393 | - .__vue__.focus(); | ||
| 394 | - //这里存下整个单元格,方便取其他值 | ||
| 395 | - this.checkCell = val; | ||
| 396 | - this.clearCheckEntry(0); | ||
| 397 | } | 391 | } |
| 398 | - }); | ||
| 399 | - }, | ||
| 400 | - //字典表添加 | ||
| 401 | - setDict() { | ||
| 402 | - let arr = [ | ||
| 403 | - "examinePort", | ||
| 404 | - "dictEnties:scanCodePickup", | ||
| 405 | - "dictEnties:yesOrNo", | ||
| 406 | - "dictEnties:receiptState", | ||
| 407 | - "dictEnties:H2000Account", | ||
| 408 | - "dictEnties:transferWaybillStatus_4_2", | ||
| 409 | - "dictEnties:siteAssistance", | ||
| 410 | - "dictEnties:transferWaybillStatus_8_2", | ||
| 411 | - "dictEnties:port", | ||
| 412 | - "dictEnties:OSPRStatus", | ||
| 413 | - "dictEnties:stampIsSeal", | ||
| 414 | - "dictEnties:imageTaskStatus", | ||
| 415 | - "dictEnties:uploadFileStatus", | ||
| 416 | - "dictEnties:waybillPrintingStatus", | ||
| 417 | - "dictEnties:siteAssistance", | ||
| 418 | - ]; | ||
| 419 | - arr.forEach((item) => { | ||
| 420 | - this.$store.dispatch("GetDictData", item); | ||
| 421 | - }); | ||
| 422 | }, | 392 | }, |
| 423 | - //操作 | 393 | + created() { |
| 424 | - options(val) { | 394 | + getAllExportingBills({ |
| 425 | - this.clearCheckEntry(1); | 395 | + pageIndex: 1, |
| 426 | - if (val.status == 0) { | 396 | + pageSize: 20 |
| 427 | - this.$store.dispatch("delEntry"); | 397 | + }).then((res) => { |
| 428 | - this.$store.getters.visitedViews.forEach((item) => { | 398 | + console.log('res', res) |
| 429 | - if (item.path == "/auditionEntrySearch") { | 399 | + this.tableData = res.data.value; |
| 430 | - this.$store.dispatch("tagsView/delView", item); | 400 | + this.total = res.data.totalItems; |
| 431 | - } | 401 | + debugger; |
| 432 | - }); | ||
| 433 | - new Promise((resolve, reject) => { | ||
| 434 | - this.sreachEntryLock(val.data.chmId, 0) | ||
| 435 | - .then((res) => { | ||
| 436 | - resolve(); | ||
| 437 | - // if (res.code === "41084" && val.data.consStatus == "待中心审核") { | ||
| 438 | - // this.alertWarningMsg(this.$t("audition.index.alert1")); | ||
| 439 | - // } else { | ||
| 440 | - | ||
| 441 | - // } | ||
| 442 | }) | 402 | }) |
| 443 | - .catch(() => { | ||
| 444 | - if (val.data.consStatus == "待中心审核") { | ||
| 445 | - this.alertWarningMsg(this.$t("audition.index.alert1")); | ||
| 446 | - } else { | ||
| 447 | - resolve(); | ||
| 448 | - } | ||
| 449 | - }); | ||
| 450 | - }).then(() => { | ||
| 451 | - if (val.data.consType == "C") { | ||
| 452 | - this.$router.push({ | ||
| 453 | - name: "DeclarationDetailsC", | ||
| 454 | - params: { | ||
| 455 | - consignmentCode: val.data.consignmentCode, | ||
| 456 | - id: encrypt(val.data.chmId.toString()), | ||
| 457 | - from: "audition", | ||
| 458 | }, | 403 | }, |
| 459 | - }); | 404 | + methods: { |
| 460 | - } else { | 405 | + input() { |
| 461 | - this.$router.push({ | 406 | + this.$forceUpdate(); |
| 462 | - name: "DeclarationDetails", | ||
| 463 | - params: { | ||
| 464 | - consignmentCode: val.data.consignmentCode, | ||
| 465 | - id: encrypt(val.data.chmId.toString()), | ||
| 466 | - from: "audition", | ||
| 467 | }, | 407 | }, |
| 468 | - }); | 408 | + handleRowClick(row) { |
| 409 | + const declareId = row.declareId; | ||
| 410 | + this.$router.push({ | ||
| 411 | + path: '/exportBillDetail', | ||
| 412 | + query: { | ||
| 413 | + declareId | ||
| 469 | } | 414 | } |
| 470 | }); | 415 | }); |
| 471 | - } | ||
| 472 | }, | 416 | }, |
| 473 | - getFormOver(val) { | 417 | + async search(val) { |
| 474 | - this.clearCheckEntry(0); | 418 | + try { |
| 475 | - this.$nextTick(() => { | 419 | + |
| 476 | - if (this.status == 1) { | 420 | + } catch (error) { |
| 477 | - this.$refs.auditionEntryForm.sreach(1, this.conditionData); | 421 | + console.error("搜索出错:", error); |
| 422 | + } finally { | ||
| 423 | + // 无论成功还是失败,关闭加载状态 | ||
| 424 | + this.loadings.sreachLoading = false; | ||
| 478 | } | 425 | } |
| 479 | - }); | ||
| 480 | }, | 426 | }, |
| 481 | - formChange() { | 427 | + textareaBlur(val) { |
| 482 | - this.clearCheckEntry(0); | 428 | + let inputInner = document.querySelector( |
| 483 | - }, | 429 | + "#inputInner--" + val.target.name.split("-")[0] |
| 484 | - tableFormChange(val) { | 430 | + ); |
| 485 | - this.clearCheckEntry(0); | 431 | + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = false; |
| 486 | - }, | 432 | + inputInner.style.display = "block"; |
| 487 | - selectChange(selection) { | 433 | + this.$nextTick(() => { |
| 488 | - this.selected = selection; | 434 | + inputInner.blur(); |
| 489 | - this.clearCheckEntry(0); | 435 | + if ( |
| 490 | - }, | 436 | + inputInner.value != undefined && |
| 491 | - //检测是否有新预审运单并提示 | 437 | + inputInner.value != "" && |
| 492 | - checkNewEntry() { | 438 | + inputInner.value != null |
| 493 | - clearTimeout(this.checkEntry); | 439 | + ) { |
| 494 | - if (window.Notification) { | 440 | + inputInner.classList.add("inputFocus"); |
| 495 | - return new Promise((resolve, reject) => { | ||
| 496 | - this.checkEntry = setTimeout(() => { | ||
| 497 | - getNewApprovalType() | ||
| 498 | - .then((res) => { | ||
| 499 | - if (res.code === 200) { | ||
| 500 | - if (res.data.currentRDEApprovalCount > 0) { | ||
| 501 | - this.promptMessage("open"); | ||
| 502 | - this.sendNotificationHandler( | ||
| 503 | - this.$t("system.tip"), | ||
| 504 | - this.$t("audition.index.tip2") | ||
| 505 | - ).then((val) => { | ||
| 506 | - this.checkNewEntry(); | ||
| 507 | - }); | ||
| 508 | - resolve(); | ||
| 509 | } else { | 441 | } else { |
| 510 | - this.checkNewEntry(); | 442 | + inputInner.classList.remove("inputFocus"); |
| 511 | } | 443 | } |
| 512 | - } else { | 444 | + }); |
| 513 | - this.clearCheckEntry(0); | 445 | + let arr = []; |
| 514 | - reject(); | 446 | + this.searchForm[val.target.name.split("-")[0]] |
| 447 | + .replace(/[\n\,\;\;]/g, ",") | ||
| 448 | + .replace(/[\t]/g, "") | ||
| 449 | + .split(",") | ||
| 450 | + .forEach((str, index) => { | ||
| 451 | + if (str != null && str != "" && index <= 1000) { | ||
| 452 | + arr.push(str.trim()); | ||
| 515 | } | 453 | } |
| 516 | - }) | ||
| 517 | - .catch((err) => { | ||
| 518 | - console.log(err); | ||
| 519 | - this.clearCheckEntry(1); | ||
| 520 | - reject(); | ||
| 521 | }); | 454 | }); |
| 522 | - }, 60000); | 455 | + this.searchForm[val.target.name.split("-")[0]] = arr.join("\n"); |
| 456 | + this.$forceUpdate(); | ||
| 457 | + }, | ||
| 458 | + //文本域展示状态切换 | ||
| 459 | + textareaFocus(val) { | ||
| 460 | + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; | ||
| 461 | + this.$nextTick(() => { | ||
| 462 | + document | ||
| 463 | + .querySelector("#popoverInput" + val.target.name.split("-")[0]) | ||
| 464 | + .focus(); | ||
| 465 | + document.querySelector( | ||
| 466 | + "#inputInner--" + val.target.name.split("-")[0] | ||
| 467 | + ).style.display = "none"; | ||
| 523 | }); | 468 | }); |
| 524 | - } | ||
| 525 | }, | 469 | }, |
| 526 | - clearCheckEntry(val) { | ||
| 527 | - clearTimeout(this.checkEntry); | ||
| 528 | - this.promptMessage("close"); | ||
| 529 | - if (this.$store.getters.userData.rde_Type && val == 0) { | ||
| 530 | - this.checkNewEntry(); | ||
| 531 | } | 470 | } |
| 532 | - }, | 471 | +} |
| 533 | - }, | ||
| 534 | -}; | ||
| 535 | </script> | 472 | </script> |
| 536 | 473 | ||
| 537 | -<style lang="scss" scoped> | 474 | +<style scoped lang="scss"> |
| 538 | @import "@/assets/styles/variables.scss"; | 475 | @import "@/assets/styles/variables.scss"; |
| 539 | 476 | ||
| 540 | -.entrySreach { | 477 | +.entrySreachButton { |
| 541 | - height: 100%; | ||
| 542 | - background-color: $menuLightBg; | ||
| 543 | - | ||
| 544 | - .entrySaveButton { | ||
| 545 | - margin-left: 8px; | ||
| 546 | - } | ||
| 547 | - | ||
| 548 | - .entrySreachButton { | ||
| 549 | display: inline-block; | 478 | display: inline-block; |
| 550 | font-size: 20px; | 479 | font-size: 20px; |
| 551 | - color: $subMenuHover !important; | 480 | + color: $fedexButton !important; |
| 552 | - } | ||
| 553 | - | ||
| 554 | - .backgroundRow { | ||
| 555 | - background-color: $formItemBackgroundColor; | ||
| 556 | - } | ||
| 557 | } | 481 | } |
| 558 | - | 482 | +.action-buttons { |
| 559 | -.optionButton { | 483 | + margin: 10px; |
| 560 | - width: 100%; | 484 | + display: flex; |
| 561 | - padding: 10px 15px; | 485 | + justify-content: space-between; |
| 562 | - text-align: right; | 486 | + .left-buttons { |
| 563 | - | ||
| 564 | - .el-button { | ||
| 565 | - color: $fedexButton; | ||
| 566 | - border-color: $fedexButton !important; | ||
| 567 | svg { | 487 | svg { |
| 568 | - display: inline-block; | 488 | + color: white; |
| 569 | - margin-right: 5px; | ||
| 570 | - fill: $fedexButton; | ||
| 571 | } | 489 | } |
| 490 | + button { | ||
| 491 | + color: white; | ||
| 572 | } | 492 | } |
| 573 | - | ||
| 574 | - .entrySaveButton:hover, | ||
| 575 | - .entrySaveButton:focus { | ||
| 576 | - color: $menuLightBg !important; | ||
| 577 | - background-color: $fedexButton !important; | ||
| 578 | } | 493 | } |
| 579 | -} | 494 | + //width: 90%; |
| 580 | - | ||
| 581 | -.cellInput { | ||
| 582 | - display: none; | ||
| 583 | -} | ||
| 584 | - | ||
| 585 | -.text-line { | ||
| 586 | - text-decoration: underline; | ||
| 587 | -} | ||
| 588 | - | ||
| 589 | -::v-deep .el-input__inner { | ||
| 590 | - border: 0px; | ||
| 591 | - box-shadow: 0 0 0 0px; | ||
| 592 | - background: none; | ||
| 593 | } | 495 | } |
| 594 | </style> | 496 | </style> | ... | ... |
src/views/consolidatedDeclaration/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <h3>汇总申报信息</h3> | ||
| 4 | + | ||
| 5 | + <el-form | ||
| 6 | + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" | ||
| 7 | + ref="sreachForm" | ||
| 8 | + :model="searchForm" | ||
| 9 | + label-position="top" | ||
| 10 | + size="small" | ||
| 11 | + > | ||
| 12 | + <el-row class="row-border"> | ||
| 13 | + <el-col :span="5"> | ||
| 14 | + <Formitem label="提运单号" prop="consignmentCode"> | ||
| 15 | + <el-popover | ||
| 16 | + placement="bottom" | ||
| 17 | + width="320" | ||
| 18 | + trigger="manual" | ||
| 19 | + popper-class="popoverconsignmentCode" | ||
| 20 | + v-model="textareaVisible.formItemconsignmentCode" | ||
| 21 | + > | ||
| 22 | + <el-input | ||
| 23 | + name="consignmentCode-textarea" | ||
| 24 | + type="textarea" | ||
| 25 | + :rows="5" | ||
| 26 | + id="popoverInputconsignmentCode" | ||
| 27 | + class="inputShadow textareaPopover" | ||
| 28 | + v-model="searchForm.consignmentCode" | ||
| 29 | + resize="none" | ||
| 30 | + maxlength="13000" | ||
| 31 | + placeholder="" | ||
| 32 | + @blur="textareaBlur" | ||
| 33 | + @input="input" | ||
| 34 | + ></el-input> | ||
| 35 | + <el-input | ||
| 36 | + slot="reference" | ||
| 37 | + name="consignmentCode" | ||
| 38 | + type="textarea" | ||
| 39 | + :rows="1" | ||
| 40 | + class="inputShadow" | ||
| 41 | + id="inputInner--consignmentCode" | ||
| 42 | + v-model="searchForm.consignmentCode" | ||
| 43 | + resize="none" | ||
| 44 | + placeholder="" | ||
| 45 | + @focus="textareaFocus" | ||
| 46 | + @input="input" | ||
| 47 | + ></el-input> | ||
| 48 | + </el-popover> | ||
| 49 | + </Formitem> | ||
| 50 | + </el-col> | ||
| 51 | + </el-row> | ||
| 52 | + </el-form> | ||
| 53 | + </div> | ||
| 54 | +</template> | ||
| 55 | + | ||
| 56 | +<script> | ||
| 57 | +export default { | ||
| 58 | + name: "index", | ||
| 59 | + data() { | ||
| 60 | + return { | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | +} | ||
| 64 | +</script> | ||
| 65 | + | ||
| 66 | +<style scoped lang="scss"> | ||
| 67 | + | ||
| 68 | +</style> |
| ... | @@ -11,40 +11,7 @@ | ... | @@ -11,40 +11,7 @@ |
| 11 | <el-row class="row-border"> | 11 | <el-row class="row-border"> |
| 12 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 13 | <Formitem label="运单编号" prop="consignmentCode"> | 13 | <Formitem label="运单编号" prop="consignmentCode"> |
| 14 | - <el-popover | 14 | + <PopoverTextarea /> |
| 15 | - placement="bottom" | ||
| 16 | - width="320" | ||
| 17 | - trigger="manual" | ||
| 18 | - popper-class="popoverconsignmentCode" | ||
| 19 | - v-model="textareaVisible.formItemconsignmentCode" | ||
| 20 | - > | ||
| 21 | - <el-input | ||
| 22 | - name="consignmentCode-textarea" | ||
| 23 | - type="textarea" | ||
| 24 | - :rows="5" | ||
| 25 | - id="popoverInputconsignmentCode" | ||
| 26 | - class="inputShadow textareaPopover" | ||
| 27 | - v-model="searchForm.consignmentCode" | ||
| 28 | - resize="none" | ||
| 29 | - maxlength="13000" | ||
| 30 | - placeholder="" | ||
| 31 | - @blur="textareaBlur" | ||
| 32 | - @input="input" | ||
| 33 | - ></el-input> | ||
| 34 | - <el-input | ||
| 35 | - slot="reference" | ||
| 36 | - name="consignmentCode" | ||
| 37 | - type="textarea" | ||
| 38 | - :rows="1" | ||
| 39 | - class="inputShadow" | ||
| 40 | - id="inputInner--consignmentCode" | ||
| 41 | - v-model="searchForm.consignmentCode" | ||
| 42 | - resize="none" | ||
| 43 | - placeholder="" | ||
| 44 | - @focus="textareaFocus" | ||
| 45 | - @input="input" | ||
| 46 | - ></el-input> | ||
| 47 | - </el-popover> | ||
| 48 | </Formitem> | 15 | </Formitem> |
| 49 | </el-col> | 16 | </el-col> |
| 50 | <el-col :span="4"> | 17 | <el-col :span="4"> |
| ... | @@ -183,9 +150,11 @@ | ... | @@ -183,9 +150,11 @@ |
| 183 | 150 | ||
| 184 | <script> | 151 | <script> |
| 185 | import {getAllExportingBills} from "@/api/query/query"; | 152 | import {getAllExportingBills} from "@/api/query/query"; |
| 153 | +import PopoverTextarea from "@/components/PopoverTextarea/index.vue"; | ||
| 186 | 154 | ||
| 187 | export default { | 155 | export default { |
| 188 | name: "index", | 156 | name: "index", |
| 157 | + components: {PopoverTextarea}, | ||
| 189 | data() { | 158 | data() { |
| 190 | return { | 159 | return { |
| 191 | searchForm: { | 160 | searchForm: { | ... | ... |
src/views/exportCancelOrderQuery/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-form | ||
| 4 | + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" | ||
| 5 | + ref="sreachForm" | ||
| 6 | + :model="searchForm" | ||
| 7 | + label-position="top" | ||
| 8 | + size="small" | ||
| 9 | + > | ||
| 10 | + <el-row class="row-border"> | ||
| 11 | + <el-col :span="5"> | ||
| 12 | + <Formitem label="提运单号" prop="consignmentCode"> | ||
| 13 | + <el-popover | ||
| 14 | + placement="bottom" | ||
| 15 | + width="320" | ||
| 16 | + trigger="manual" | ||
| 17 | + popper-class="popoverconsignmentCode" | ||
| 18 | + v-model="textareaVisible.formItemconsignmentCode" | ||
| 19 | + > | ||
| 20 | + <el-input | ||
| 21 | + name="consignmentCode-textarea" | ||
| 22 | + type="textarea" | ||
| 23 | + :rows="5" | ||
| 24 | + id="popoverInputconsignmentCode" | ||
| 25 | + class="inputShadow textareaPopover" | ||
| 26 | + v-model="searchForm.consignmentCode" | ||
| 27 | + resize="none" | ||
| 28 | + maxlength="13000" | ||
| 29 | + placeholder="" | ||
| 30 | + @blur="textareaBlur" | ||
| 31 | + @input="input" | ||
| 32 | + ></el-input> | ||
| 33 | + <el-input | ||
| 34 | + slot="reference" | ||
| 35 | + name="consignmentCode" | ||
| 36 | + type="textarea" | ||
| 37 | + :rows="1" | ||
| 38 | + class="inputShadow" | ||
| 39 | + id="inputInner--consignmentCode" | ||
| 40 | + v-model="searchForm.consignmentCode" | ||
| 41 | + resize="none" | ||
| 42 | + placeholder="" | ||
| 43 | + @focus="textareaFocus" | ||
| 44 | + @input="input" | ||
| 45 | + ></el-input> | ||
| 46 | + </el-popover> | ||
| 47 | + </Formitem> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="5"> | ||
| 50 | + <Formitem label="回执状态" prop="declaredPort"> | ||
| 51 | + <el-select | ||
| 52 | + type="text" | ||
| 53 | + id="inputInner--receiptStatus" | ||
| 54 | + v-model="searchForm.receiptStatus" | ||
| 55 | + clearable | ||
| 56 | + placeholder="" | ||
| 57 | + > | ||
| 58 | + <el-option | ||
| 59 | + v-for="(item, index) in dictData.userport" | ||
| 60 | + :key="index" | ||
| 61 | + :label="item.name" | ||
| 62 | + :value="item.name" | ||
| 63 | + ></el-option> | ||
| 64 | + </el-select> | ||
| 65 | + </Formitem> | ||
| 66 | + </el-col> | ||
| 67 | + <el-col :span="4"> | ||
| 68 | + <Formitem label="创建日期" prop="receiptTime"> | ||
| 69 | + <el-date-picker | ||
| 70 | + class="inputInner--accsDataImportTime" | ||
| 71 | + id="inputInner--accsDataImportTime" | ||
| 72 | + v-model="searchForm.accsDataImportTime" | ||
| 73 | + type="daterange" | ||
| 74 | + format="yyyy-MM-dd" | ||
| 75 | + prefix-icon="none" | ||
| 76 | + value-format="yyyyMMdd" | ||
| 77 | + range-separator="至" | ||
| 78 | + start-placeholder="" | ||
| 79 | + clearable | ||
| 80 | + end-placeholder="" | ||
| 81 | + :picker-options="importTimePickerOptions" | ||
| 82 | + @blur="datePickerBlur" | ||
| 83 | + @change="accsDataImportTimeChange" | ||
| 84 | + > | ||
| 85 | + </el-date-picker> | ||
| 86 | + </Formitem> | ||
| 87 | + </el-col> | ||
| 88 | + | ||
| 89 | + <el-col :span="2"> | ||
| 90 | + <el-form-item class="textCenter"> | ||
| 91 | + <el-button | ||
| 92 | + class="entrySreachButton" | ||
| 93 | + type="text" | ||
| 94 | + icon="el-icon-search" | ||
| 95 | + :loading="loadings.searchLoading" | ||
| 96 | + @click="search(0)" | ||
| 97 | + ></el-button> | ||
| 98 | + </el-form-item> | ||
| 99 | + </el-col> | ||
| 100 | + | ||
| 101 | + <el-col :span="4"> | ||
| 102 | + <el-form-item class="textCenter"> | ||
| 103 | + <el-button | ||
| 104 | + icon="el-icon-refresh" | ||
| 105 | + size="small" | ||
| 106 | + :loading="loadings.searchLoading" | ||
| 107 | + @click="search(0)" | ||
| 108 | + >重置 | ||
| 109 | + </el-button> | ||
| 110 | + </el-form-item> | ||
| 111 | + </el-col> | ||
| 112 | + </el-row> | ||
| 113 | + </el-form> | ||
| 114 | + | ||
| 115 | + <div style="text-align: right; margin: 10px"> | ||
| 116 | + <el-button | ||
| 117 | + size="small" | ||
| 118 | + :loading="loadings.downloadLoading2" | ||
| 119 | + @click="downloadBpiData('log')" | ||
| 120 | + > | ||
| 121 | + <svg-icon class="el-icon-user-solid" icon-class="fedexUpBlue"></svg-icon> | ||
| 122 | + 导出 | ||
| 123 | + </el-button> | ||
| 124 | + </div> | ||
| 125 | + | ||
| 126 | + <Table | ||
| 127 | + class="fedexDetialTable fedexSreachTable" | ||
| 128 | + ref="entryTable" | ||
| 129 | + :data="tableData" | ||
| 130 | + :headerData="headerData" | ||
| 131 | + :maxHeight="tableMaxheight" | ||
| 132 | + :border="true" | ||
| 133 | + :pagination="true" | ||
| 134 | + :order="false" | ||
| 135 | + :loading="loadings.sreachLoading" | ||
| 136 | + :page="page.pageIndex" | ||
| 137 | + :pageSizes="[20, 30, 50, 100]" | ||
| 138 | + :totalCount="total" | ||
| 139 | + @sizeChange="sizeChange" | ||
| 140 | + @currentChange="currentChange" | ||
| 141 | + :selection="true" | ||
| 142 | + :selectFixed="false" | ||
| 143 | + @rowClick="handleRowClick" | ||
| 144 | + @tableSelect="tableSelect" | ||
| 145 | + @tableSelectAll="tableSelectAll" | ||
| 146 | + :rowSelectDataType="false" | ||
| 147 | + :selected="selected" | ||
| 148 | + > | ||
| 149 | + <template v-slot:waveName="scope"> | ||
| 150 | + <span>{{ `${scope.row.waveName}(${scope.row.waveExt2})` }}</span> | ||
| 151 | + </template> | ||
| 152 | + </Table> | ||
| 153 | + </div> | ||
| 154 | +</template> | ||
| 155 | + | ||
| 156 | +<script> | ||
| 157 | +import {getAllExportingBills, getAllTransportBills} from "@/api/query/query"; | ||
| 158 | + | ||
| 159 | +export default { | ||
| 160 | + name: "exportCancelOrderQuery", | ||
| 161 | + data() { | ||
| 162 | + return { | ||
| 163 | + searchForm: { | ||
| 164 | + declaredPort: "", | ||
| 165 | + consStatus: "", | ||
| 166 | + consignmentCode: "", | ||
| 167 | + accsDataImportTime: [], | ||
| 168 | + ownerName: "", | ||
| 169 | + consignmentHeadCode: "", | ||
| 170 | + isPushCustomsSys: "", | ||
| 171 | + waitOperStatus: "", | ||
| 172 | + declTime: [], | ||
| 173 | + }, | ||
| 174 | + loadings: { | ||
| 175 | + searchLoading: false, | ||
| 176 | + }, | ||
| 177 | + page: { | ||
| 178 | + pageIndex: 1, | ||
| 179 | + pageSize: 20, | ||
| 180 | + }, | ||
| 181 | + textareaVisible: { | ||
| 182 | + formItemconsignmentCode: false, | ||
| 183 | + formItemconsignmentHeadCode: false, | ||
| 184 | + }, | ||
| 185 | + sizeChange(val) { | ||
| 186 | + this.page.pageSize = val; | ||
| 187 | + this.sreach(1); | ||
| 188 | + }, | ||
| 189 | + //分页 | ||
| 190 | + currentChange(val) { | ||
| 191 | + this.page.pageIndex = val.page; | ||
| 192 | + this.search(1); | ||
| 193 | + }, | ||
| 194 | + tableData: [], | ||
| 195 | + total: 0, | ||
| 196 | + tableMaxheight: null, | ||
| 197 | + headerData: [ | ||
| 198 | + { | ||
| 199 | + name: "回执状态", | ||
| 200 | + value: "returnStatus", | ||
| 201 | + width: "150", | ||
| 202 | + align: "left", | ||
| 203 | + }, | ||
| 204 | + { | ||
| 205 | + name: "提运单号", | ||
| 206 | + value: "orderNo", | ||
| 207 | + width: '150', | ||
| 208 | + align: 'left' | ||
| 209 | + }, | ||
| 210 | + { | ||
| 211 | + name: '电子口岸编号', | ||
| 212 | + value: 'orderType', | ||
| 213 | + width: '150', | ||
| 214 | + align: 'left' | ||
| 215 | + }, | ||
| 216 | + { | ||
| 217 | + name: '物流企业名称', | ||
| 218 | + value: 'ebccode', | ||
| 219 | + width: '200', | ||
| 220 | + align: 'left' | ||
| 221 | + }, | ||
| 222 | + { | ||
| 223 | + name: '申报地海关', | ||
| 224 | + value: 'ebcname', | ||
| 225 | + width: '200', | ||
| 226 | + align: 'left' | ||
| 227 | + }, | ||
| 228 | + { | ||
| 229 | + name: '创建时间', | ||
| 230 | + value: 'createTime', | ||
| 231 | + width: '150', | ||
| 232 | + align: 'left' | ||
| 233 | + }, | ||
| 234 | + { | ||
| 235 | + name: '申报企业', | ||
| 236 | + value: 'declaringEnterprise', | ||
| 237 | + width: '200', | ||
| 238 | + align: 'left' | ||
| 239 | + }, | ||
| 240 | + { | ||
| 241 | + name: '申报类型', | ||
| 242 | + value: 'declaringType', | ||
| 243 | + width: '100', | ||
| 244 | + align: 'left' | ||
| 245 | + } | ||
| 246 | + ], | ||
| 247 | + dictData: { | ||
| 248 | + userport: [ | ||
| 249 | + {name: "Shanghai Port", code: "SH"}, | ||
| 250 | + {name: "Beijing Port", code: "BJ"}, | ||
| 251 | + {name: "Guangzhou Port", code: "GZ"}, | ||
| 252 | + {name: "Shenzhen Port", code: "SZ"}, | ||
| 253 | + {name: "Tianjin Port", code: "TJ"}, | ||
| 254 | + ], | ||
| 255 | + }, | ||
| 256 | + } | ||
| 257 | + }, | ||
| 258 | + created() { | ||
| 259 | + getAllTransportBills({ | ||
| 260 | + pageIndex: 1, | ||
| 261 | + pageSize: 20 | ||
| 262 | + }).then((res) => { | ||
| 263 | + console.log('res', res) | ||
| 264 | + this.tableData = res.data.value; | ||
| 265 | + this.total = res.data.totalItems; | ||
| 266 | + debugger; | ||
| 267 | + }) | ||
| 268 | + }, | ||
| 269 | + methods: { | ||
| 270 | + tableSelect(val) { | ||
| 271 | + this.selected = val.selection; | ||
| 272 | + }, | ||
| 273 | + tableSelectAll(val) { | ||
| 274 | + this.selected = val; | ||
| 275 | + }, | ||
| 276 | + handleRowClick(row) { | ||
| 277 | + const declareId = row.declareId; | ||
| 278 | + this.$router.push({ | ||
| 279 | + path: '/listBranchDetail', | ||
| 280 | + query: { | ||
| 281 | + declareId | ||
| 282 | + } | ||
| 283 | + }); | ||
| 284 | + }, | ||
| 285 | + async search(val) { | ||
| 286 | + try { | ||
| 287 | + | ||
| 288 | + } catch (error) { | ||
| 289 | + console.error("搜索出错:", error); | ||
| 290 | + } finally { | ||
| 291 | + // 无论成功还是失败,关闭加载状态 | ||
| 292 | + this.loadings.sreachLoading = false; | ||
| 293 | + } | ||
| 294 | + }, | ||
| 295 | + } | ||
| 296 | +} | ||
| 297 | +</script> | ||
| 298 | + | ||
| 299 | +<style scoped lang="scss"> | ||
| 300 | +@import "@/assets/styles/variables.scss"; | ||
| 301 | + | ||
| 302 | +.entrySreachButton { | ||
| 303 | + display: inline-block; | ||
| 304 | + font-size: 20px; | ||
| 305 | + color: $fedexButton !important; | ||
| 306 | +} | ||
| 307 | +</style> |
| ... | @@ -292,6 +292,49 @@ export default { | ... | @@ -292,6 +292,49 @@ export default { |
| 292 | this.loadings.sreachLoading = false; | 292 | this.loadings.sreachLoading = false; |
| 293 | } | 293 | } |
| 294 | }, | 294 | }, |
| 295 | + textareaBlur(val) { | ||
| 296 | + let inputInner = document.querySelector( | ||
| 297 | + "#inputInner--" + val.target.name.split("-")[0] | ||
| 298 | + ); | ||
| 299 | + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = false; | ||
| 300 | + inputInner.style.display = "block"; | ||
| 301 | + this.$nextTick(() => { | ||
| 302 | + inputInner.blur(); | ||
| 303 | + if ( | ||
| 304 | + inputInner.value != undefined && | ||
| 305 | + inputInner.value != "" && | ||
| 306 | + inputInner.value != null | ||
| 307 | + ) { | ||
| 308 | + inputInner.classList.add("inputFocus"); | ||
| 309 | + } else { | ||
| 310 | + inputInner.classList.remove("inputFocus"); | ||
| 311 | + } | ||
| 312 | + }); | ||
| 313 | + let arr = []; | ||
| 314 | + this.searchForm[val.target.name.split("-")[0]] | ||
| 315 | + .replace(/[\n\,\;\;]/g, ",") | ||
| 316 | + .replace(/[\t]/g, "") | ||
| 317 | + .split(",") | ||
| 318 | + .forEach((str, index) => { | ||
| 319 | + if (str != null && str != "" && index <= 1000) { | ||
| 320 | + arr.push(str.trim()); | ||
| 321 | + } | ||
| 322 | + }); | ||
| 323 | + this.searchForm[val.target.name.split("-")[0]] = arr.join("\n"); | ||
| 324 | + this.$forceUpdate(); | ||
| 325 | + }, | ||
| 326 | + //文本域展示状态切换 | ||
| 327 | + textareaFocus(val) { | ||
| 328 | + this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; | ||
| 329 | + this.$nextTick(() => { | ||
| 330 | + document | ||
| 331 | + .querySelector("#popoverInput" + val.target.name.split("-")[0]) | ||
| 332 | + .focus(); | ||
| 333 | + document.querySelector( | ||
| 334 | + "#inputInner--" + val.target.name.split("-")[0] | ||
| 335 | + ).style.display = "none"; | ||
| 336 | + }); | ||
| 337 | + }, | ||
| 295 | } | 338 | } |
| 296 | } | 339 | } |
| 297 | </script> | 340 | </script> | ... | ... |
-
Please register or login to post a comment