From 22eb970f2e316cdb6b8f1b8e49038d10f865a67e Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 15 七月 2024 09:18:48 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/basicInfo/ProductImport.vue | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 167 insertions(+), 0 deletions(-) diff --git a/web/src/views/modules/basicInfo/ProductImport.vue b/web/src/views/modules/basicInfo/ProductImport.vue new file mode 100644 index 0000000..86c8fdf --- /dev/null +++ b/web/src/views/modules/basicInfo/ProductImport.vue @@ -0,0 +1,167 @@ +<template> + <zt-dialog ref="dialog" title="瀵煎叆浜у搧妯″瀷" :hasConfirm="false" append-to-body> + <el-form> + <zt-form-item style="width:100%;" label="" prop="remark"> + <el-upload + style="width: 600px" + class="upload-demo" + ref="upload" + :action="apiURL" + :on-success="succ" + :on-exceed="uploadExceed" + :on-error="err" + :limit="1" + :file-list="fileList" + :auto-upload="false"> + <div style="display:inline-block;font-size: 14px;" class="el-upload__tip"> 鍙兘涓婁紶.xlsx鎴�.xls鐨勬枃浠讹紝涓斾笉瓒呰繃2G</div> + <el-button slot="trigger" size="small" type="primary" style="font-size: 15px">閫夊彇鏂囦欢</el-button> + <el-button type="primary" size="small" style="margin-left:20px;font-size: 15px" @click="submitUpload()">鎻� 浜� + </el-button> + </el-upload> + </zt-form-item> + <el-progress :text-inside="true" :stroke-width="30" :percentage="progress.speed"></el-progress> + <zt-form-item style="width:100%;" label="瀵煎叆淇℃伅鎻愮ず:" prop="text"> + <el-input style="width:80%;color:#000000;" v-model="dataForm.text" type="textarea" :rows="1" + placeholder="瀵煎叆淇℃伅鎻愮ず" readOnly></el-input> + </zt-form-item> + <el-table ref="table" v-adaptive="{bottomOffset:220}" height="100px" :resizable="false" :data="resultData" + highlight-current-row :default-sort="{prop:'errCause',order:'ascending'}"> + <el-table-column prop="sheetName" label="excel宸ヤ綔琛�" width="150"/> + <el-table-column :sortable="true" prop="errCause" label="閿欒鍘熷洜" width="300"/> + <el-table-column prop="lineNumber" label="閿欒琛屾暟"/> + </el-table> + </el-form> + <!--<template slot="footer">--> + <!--<zt-button type="primary" style="float:left" @click="exportExcelModel()">瀵煎嚭Excel瀵煎叆妯℃澘</zt-button>--> + <!--</template>--> + </zt-dialog> +</template> + +<script> + import Cookies from 'js-cookie' + import qs from 'qs' + import {guid} from "../../../commonJS/common"; + + export default { + name: 'product-import', + props: { + projectId: { + type: String, + required: true + } + }, + data() { + return { + dataForm: { + result: '' + }, + progress: { + id: null, + speed: 0, + text: '', + start: false, + timer: null + }, + fileType: ['xlsx', 'xls'], + apiURL: '', + start: 0, + dialogVisible: false, + dialogMsg: '', + fileList: [], + resultData: [] + } + }, + computed: { + importparam() { + return {} + } + }, + created() { + this.fileList = [] + this.resultData = [] + }, + methods: { + + // Array.sort(function(obj1, obj2) { + // let val1 = obj1.key + // let val2 = obj2.key + // return val1 - val2 + // }), + init(row) { + this.fileList = [] + this.resultData = [] + this.progress.id = guid() + let params = qs.stringify({ + token: Cookies.get('token'), + progressId: this.progress.id, + pid: row.id + }) + this.apiURL = `${window.SITE_CONFIG['apiURL']}/basicInfo/XhProductModel/importProductExcel?${params}` + }, + uploadExceed(files, fileList) { + this.$set(fileList[0], 'raw', files[0]) + this.$set(fileList[0], 'name', files[0].name) + this.$refs.upload.clearFiles() + this.$refs.upload.handleStart(files[0]) + }, + succ(res, file, fileList) { + clearInterval(this.timer) + this.dataForm.speed = 100 + this.$refs.upload.clearFiles() + this.fileList = [] + if (res.code === 0) { + this.dataForm.text = res.msg + } + if (res.code === 501) { + this.dataForm.text = res.msg + if (res.data) { + this.resultData = res.data + } + } + this.$emit('refreshDataList') + }, + err(res, file, fileList) { + clearInterval(this.timer) + this.dataForm.speed = 0 + this.dataForm.text = '瀵煎叆鏁版嵁鍖呮牸寮忔湁璇�' + this.$tip.error(res.msg) + }, + submitUpload() { + this.dataForm.speed = 0 + this.dataForm.text = '' + this.progress.speed = 0 + this.progress.start = true + this.progress.timer = window.setInterval(this.getStroke, 1000) + this.uploadQuery() + }, + uploadQuery() { + if (this.$refs.upload.uploadFiles.length === 1) { + this.start = 1 + this.$refs.upload.submit() + } else { + this.$tip.error('璇烽�夋嫨闇�瑕佷笂浼犵殑.xlsx鎴�.xls鐨勬枃浠�') + } + //clearInterval(this.timers) + }, + getStroke() { + //console.log('getStroke:',this.progress.start,"锛�",this.progress.speed) + if (this.progress.start && this.progress.speed < 100) { + //console.log('getStroke2') + this.$http.get(`sys/common/stroke?progressId=${this.progress.id}`).then( + res => { + if (res.success) { + this.progress.speed = parseFloat(res.data.speed) + this.progress.text = res.data.text + } + } + ) + } else { + } + } + } + } +</script> + +<style scoped> + +</style> -- Gitblit v1.9.1