From 2f5cfd363fdc76ed25dedc1542158e2674286170 Mon Sep 17 00:00:00 2001 From: 13176889840 <13176889840@163.com> Date: Fri, 29 Apr 2022 09:44:34 +0800 Subject: [PATCH 1/2] dd --- src/views/components/editResi.vue | 2 +- src/views/components/rangeInput.vue | 17 ++++++-- src/views/components/resiForm.vue | 2 +- src/views/modules/base/diyInfo.vue | 61 +++++++++++++++++++---------- src/views/modules/base/resi.vue | 2 +- 5 files changed, 58 insertions(+), 26 deletions(-) diff --git a/src/views/components/editResi.vue b/src/views/components/editResi.vue index d3b243f5..6a416937 100644 --- a/src/views/components/editResi.vue +++ b/src/views/components/editResi.vue @@ -235,7 +235,7 @@ v-else-if="n.itemType === 'cascader'" v-model.trim="form[n.columnName]" :options="n.options" - :props="{ checkStrictly: true }" + :props="{ checkStrictly: false }" :disabled="disabled" clearable size="small" diff --git a/src/views/components/rangeInput.vue b/src/views/components/rangeInput.vue index ede62f6c..45d980e8 100644 --- a/src/views/components/rangeInput.vue +++ b/src/views/components/rangeInput.vue @@ -101,14 +101,25 @@ export default { .flex-div { display: flex; align-items: center; + max-width: 200px; } // .wd50 { // // width: 45%; // } .demo-form-inline { - ::v-deep .el-form-item { - width: 40%; - margin: 0; + ::v-deep { + .el-form-item { + flex: 1; + width: 40%; + margin: 0; + } + input::-webkit-outer-spin-button, + input::-webkit-inner-spin-button { + -webkit-appearance: none; + } + input[type='number']{ + -moz-appearance: textfield; + } } } diff --git a/src/views/components/resiForm.vue b/src/views/components/resiForm.vue index c84b11a1..615d860c 100644 --- a/src/views/components/resiForm.vue +++ b/src/views/components/resiForm.vue @@ -198,7 +198,7 @@ v-else-if="n.itemType === 'cascader'" v-model.trim="form[n.columnName]" :options="n.options" - :props="{ checkStrictly: true }" + :props="{ checkStrictly: false }" clearable size="small" class="resi-cell-select"> diff --git a/src/views/modules/base/diyInfo.vue b/src/views/modules/base/diyInfo.vue index 0fd29a40..1f4b78ff 100644 --- a/src/views/modules/base/diyInfo.vue +++ b/src/views/modules/base/diyInfo.vue @@ -330,33 +330,20 @@ export default { await this.$http({ method: 'POST', url, - // responseType: 'blob', + responseType: 'blob', data: params }) .then(res => { console.log('res----dddd', res) // this.download(res.data, title + '.xls') // this.getTemplateList() + this.exportLoading = false - if (res.data.code && res.data.code == 9999) { - return this.$message.error(res.data.msg) - } - if (res.headers["content-disposition"]) { - let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1]) - console.log('filename', fileName) - let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) - var url = window.URL.createObjectURL(blob) - var aLink = document.createElement('a') - aLink.style.display = 'none' - aLink.href = url - aLink.setAttribute('download', fileName) - document.body.appendChild(aLink) - aLink.click() - document.body.removeChild(aLink) //下载完成移除元素 - window.URL.revokeObjectURL(url) //释放掉blob对象 - this.$message.success('导出成功') - this.$emit('close') - } else this.$message.error('下载失败') + // if (res.data.code && res.data.code == 9999) { + // return this.$message.error(res.data.msg) + // } + this.formatData(res) + }) .catch(err => { console.log('err', err) @@ -431,6 +418,40 @@ export default { this.$message.error(msg) } }, + formatData(res) { + const fileReader = new FileReader() + fileReader.onloadend = () => { + try { + const jsonData = JSON.parse(fileReader.result) // 说明是普通对象数据,后台转换失败 + // 后台信息 + console.log('jsonData---1', jsonData) + return this.$message.error(jsonData.msg) + } catch (err) { // 解析成对象失败,说明是正常的文件流 + // 下载文件 + console.log('errr-----', err, this) + this.downloadFile(res) + } + } + fileReader.readAsText(res.data) + }, + downloadFile(res) { + if (res.headers["content-disposition"]) { + let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1]) + console.log('filename', fileName) + let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) + var url = window.URL.createObjectURL(blob) + var aLink = document.createElement('a') + aLink.style.display = 'none' + aLink.href = url + aLink.setAttribute('download', fileName) + document.body.appendChild(aLink) + aLink.click() + document.body.removeChild(aLink) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + this.$message.success('导出成功') + this.$emit('close') + } else this.$message.error('下载失败') + } } } diff --git a/src/views/modules/base/resi.vue b/src/views/modules/base/resi.vue index 01335d6c..a7375532 100644 --- a/src/views/modules/base/resi.vue +++ b/src/views/modules/base/resi.vue @@ -1166,7 +1166,7 @@ export default { item.queryItemList.forEach(n => { if (n.optionSourceType === 'remote') { this.getOptionsList(n.optionSourceValue).then((res) => { - n.options = res + n.options = this.getTreeData(res) }) // console.log('') } else if (n.itemType == 'radio' && n.options.length == 0) { From 5ded5efa10fec6589438b0eb4bdbf18d1d447f1f Mon Sep 17 00:00:00 2001 From: 13176889840 <13176889840@163.com> Date: Fri, 29 Apr 2022 09:47:07 +0800 Subject: [PATCH 2/2] dd --- src/views/components/rangeInput.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/components/rangeInput.vue b/src/views/components/rangeInput.vue index 45d980e8..cfe5a44b 100644 --- a/src/views/components/rangeInput.vue +++ b/src/views/components/rangeInput.vue @@ -8,7 +8,7 @@ size="small" :type="inputType" clearable - placeholder="请输入内容" + placeholder="请输入" @change="handleChange" /> @@ -20,7 +20,7 @@ size="small" :type="inputType" clearable - placeholder="请输入内容" + placeholder="请输入" @change="handleChange" @blur="handleBlur" />