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