diff --git a/src/components/scUpload/file.vue b/src/components/scUpload/file.vue index bbb907e..f5e4d35 100644 --- a/src/components/scUpload/file.vue +++ b/src/components/scUpload/file.vue @@ -129,8 +129,9 @@ return false } var response = config.parseData(res) - file.name = response.fileName - file.url = response.src + file.name = response.name + file.url = response.url + file.aid = response.aid }, error(err){ this.$notify.error({ @@ -171,9 +172,9 @@ }).then(res => { var response = config.parseData(res); if(response.code == config.successCode){ - param.onSuccess(res) + param.onSuccess(response) }else{ - param.onError(response.msg || "未知错误") + param.onError(response.message || "未知错误") } }).catch(err => { param.onError(err) diff --git a/src/components/scUpload/index.vue b/src/components/scUpload/index.vue index 113b722..762fec4 100644 --- a/src/components/scUpload/index.vue +++ b/src/components/scUpload/index.vue @@ -208,7 +208,8 @@ return false } var response = config.parseData(res) - file.url = response.src + file.url = response.url + file.aid = response.aid this.value = file.url }, error(err){ @@ -238,9 +239,9 @@ }).then(res => { var response = config.parseData(res); if(response.code == config.successCode){ - param.onSuccess(res) + param.onSuccess(response) }else{ - param.onError(response.msg || "未知错误") + param.onError(response.message || "未知错误") } }).catch(err => { param.onError(err) diff --git a/src/components/scUpload/multiple.vue b/src/components/scUpload/multiple.vue index e83112b..27935fb 100644 --- a/src/components/scUpload/multiple.vue +++ b/src/components/scUpload/multiple.vue @@ -42,7 +42,7 @@ </div> </template> </el-upload> - <span style="display:none!important"><el-input v-model="value"></el-input></span> + <span><el-input v-model="value"></el-input></span> </div> </template> @@ -66,7 +66,7 @@ multiple: { type: Boolean, default: true }, disabled: { type: Boolean, default: false }, draggable: { type: Boolean, default: false }, - onSuccess: { type: Function, default: () => { return true } } + onSuccess: { type: Function, default: () => { return true } }, onRemove: { type: Function, default: () => { return true } } }, data(){ @@ -104,7 +104,7 @@ }, mounted() { this.defaultFileList = Array.isArray(this.modelValue) ? this.modelValue : this.toArr(this.modelValue) - this.value = this.modelValue + this.value = this.toStr( this.modelValue) if(!this.disabled && this.draggable){ this.rowDrop() } @@ -170,15 +170,14 @@ return false; } }, - success(res, file, fileList){ - var os = this.onSuccess(res, file, fileList) + success(res, file){ + var os = this.onSuccess(res, file) if(os!=undefined && os==false){ return false } - var response = config.parseData(res) - file.name = response.fileName - file.url = response.src - file.aid = response.aid + file.name = res.name + file.url = res.url + file.aid = res.aid }, error(err){ this.$notify.error({ @@ -223,9 +222,9 @@ }).then(res => { var response = config.parseData(res); if(response.code == config.successCode){ - param.onSuccess(res) + param.onSuccess(response) }else{ - param.onError(response.msg || "未知错误") + param.onError(response.message || "未知错误") } }).catch(err => { param.onError(err) diff --git a/src/config/upload.js b/src/config/upload.js index f2d1b05..fc60cae 100644 --- a/src/config/upload.js +++ b/src/config/upload.js @@ -10,8 +10,8 @@ export default { parseData: function (res) { return { code: res.code, //分析状态字段结构 - fileName: res.data.original,//分析文件名称 - src: res.data.url, //分析图片远程地址结构 + name: res.data.original,//分析文件名称 + url: res.data.url, //分析图片远程地址结构 aid: res.data.aid, //分析图片远程地址结构 msg: res.message //分析描述字段结构 } diff --git a/src/views/app/apartment/save.vue b/src/views/app/apartment/save.vue index 03dc7de..2022431 100644 --- a/src/views/app/apartment/save.vue +++ b/src/views/app/apartment/save.vue @@ -23,6 +23,7 @@ <el-table-column prop="name" label="名称"> <template #default="scope"> <el-input v-model="scope.row.name" placeholder="请输入名称"></el-input> + {{ scope.row.images }} </template> </el-table-column> <el-table-column prop="tags" label="标签"> @@ -64,8 +65,6 @@ 图片 <el-badge :hidden="scope.row.images.length==0" :value="scope.row.images.length" class="badge" type="danger"></el-badge> </el-button> - - {{ scope.row.images }} </template> </el-table-column> @@ -81,7 +80,57 @@ <el-drawer title="图片组(支持拖拽排序)" v-model="setImageVisible" :size="670" destroy-on-close> <el-main style="padding:0 20px 20px 20px"> - <sc-upload-multiple v-model="images" draggable :limit="12" tip="最多上传12个文件,单个文件不要超过10M,请上传图像格式文件" :on-success="uploadSuccess"></sc-upload-multiple> + <sc-upload-multiple v-model="images" draggable :limit="12" tip="最多上传12个文件,单个文件不要超过10M,请上传图像格式文件"> + + </sc-upload-multiple> + + <div class="sc-upload-multiple"> + <el-upload ref="uploader" list-type="picture-card" + :auto-upload="autoUpload" + :disabled="disabled" + :action="action" + :name="name" + :data="data" + :http-request="request" + v-model:file-list="defaultFileList" + :show-file-list="showFileList" + :accept="accept" + :multiple="multiple" + :limit="limit" + :before-upload="before" + :on-success="success" + :on-remove="remove" + :on-error="error" + :on-preview="handlePreview" + :on-exceed="handleExceed"> + <slot> + <el-icon><el-icon-plus/></el-icon> + </slot> + <template #tip> + <div v-if="tip" class="el-upload__tip">{{tip}}</div> + </template> + <template #file="{ file }"> + <div class="sc-upload-list-item"> + <el-image class="el-upload-list__item-thumbnail" :src="file.url" fit="cover" :preview-src-list="preview" :initial-index="preview.findIndex(n=>n==file.url)" hide-on-click-modal append-to-body :z-index="9999"> + <template #placeholder> + <div class="sc-upload-multiple-image-slot"> + Loading... + </div> + </template> + </el-image> + <div v-if="!disabled && file.status=='success'" class="sc-upload__item-actions"> + <span class="del" @click="handleRemove(file)"><el-icon><el-icon-delete /></el-icon></span> + </div> + <div v-if="file.status=='ready' || file.status=='uploading'" class="sc-upload__item-progress"> + <el-progress :percentage="file.percentage" :text-inside="true" :stroke-width="16"/> + </div> + </div> + </template> + </el-upload> + <span><el-input v-model="value"></el-input></span> + </div> + + </el-main> </el-drawer> @@ -147,7 +196,7 @@ }, { aid:101, - url:'https://oss.gter.net/Zvt57TuJSUvkyhw-xG7Y2l-S_54ldHvqqsgFptxhXa6RWi26P-BuTVcdRbWW4tkb8MVYZjQ0Mjk~' + url:'https://www.baidu.com/img/flexible/logo/pc/result@2.png' }, ], }, @@ -196,7 +245,7 @@ file.url = response.data.url; file.aid = response.data.aid; - console.log(this.images, fileList); + console.log('fileList', fileList); return false; }, //表单注入数据