e47eb37c869ce467aef0384a33d92cec.json 15 KB

1
  1. {"remainingRequest":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\views\\Purchase\\ManageP\\SupplierImport.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\views\\Purchase\\ManageP\\SupplierImport.vue","mtime":1678954023576},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\babel.config.js","mtime":1681371897685},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1681371912860},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1681371925849}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgc3VwcGxpZXJJbXBvcnQgfSBmcm9tICJAL2FwaS9QdXJjaGFzZSI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiR29vZHNJbXBvcnQiLAoKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZmlsZV9uYW1lOiAiIiwKICAgICAgZmlsZTogIiIsCiAgICAgIGZpbGVMaXN0OiBbXSwKICAgICAgZ29vZHNfZGF0YTogW10sCiAgICAgIHN0ZXBzX2FjdGl2ZTogMCwKICAgICAgdGFibGVDb2x1bW46IFt7CiAgICAgICAgZmllbGQ6ICJ0aXRsZSIsCiAgICAgICAgdGl0bGU6ICLkvpvlupTllYblkI3np7AiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogInJlYWxOYW1lIiwKICAgICAgICB0aXRsZTogIuiBlOezu+S6uuWnk+WQjSIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAibW9iaWxlIiwKICAgICAgICB0aXRsZTogIuiBlOezu+eUteivnSIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAicHJvdmluY2VOYW1lIiwKICAgICAgICB0aXRsZTogIuecgSIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAiY2l0eU5hbWUiLAogICAgICAgIHRpdGxlOiAi5biCIgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJhcmVhTmFtZSIsCiAgICAgICAgdGl0bGU6ICLljLoiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogImFkZHJlc3MiLAogICAgICAgIHRpdGxlOiAi6K+m57uG5Zyw5Z2AIgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJwb3NpdGlvbiIsCiAgICAgICAgdGl0bGU6ICLogZTns7vkurrogYzliqEiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogImFjY291bnROYW1lIiwKICAgICAgICB0aXRsZTogIuW8gOaIt+S6uiIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAiYmFua05hbWUiLAogICAgICAgIHRpdGxlOiAi5byA5oi36ZO26KGMIgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJiYW5rQ2FyZCIsCiAgICAgICAgdGl0bGU6ICLpk7booYzotKblj7ciCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogInJlbWFyayIsCiAgICAgICAgdGl0bGU6ICLlrqLmiLflpIfms6giCiAgICAgIH1dLAogICAgICBJbXBvcnRfdGhlX2luZm9ybWF0aW9uOiAiIgogICAgfTsKICB9LAoKICBtZXRob2RzOiB7CiAgICBsb29rRGV0YWlsKCkge30sCgogICAgLy8g5Y+W5raIL+WujOaIkCDmjInpkq4KICAgIGNsb3NlUGFnZSgpIHsKICAgICAgaWYgKHRoaXMuc3RlcHNfYWN0aXZlID09PSAxKSB7CiAgICAgICAgdGhpcy5zdGVwc19hY3RpdmUgPSAwOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJGNsb3NlQ3VycmVudEdvRWRpdCgiL1B1cmNoYXNlL01hbmFnZVAvU3VwcGxpZXIiKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDkuIvkuIDmraUKICAgIHByZXZpZXdEYXRhKCkgewogICAgICAvLyB0aGlzLiRyZWZzLnhUYWJsZS5pbXBvcnREYXRhKCk7CiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOwoKICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSBldiA9PiB7CiAgICAgICAgY29uc3QgZGF0YSA9IGV2LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgY29uc3Qgd29ya2Jvb2sgPSB0aGlzLiRYTFNYLnJlYWQoZGF0YSwgewogICAgICAgICAgdHlwZTogImJpbmFyeSIKICAgICAgICB9KTsKICAgICAgICBjb25zdCBjc3ZEYXRhID0gdGhpcy4kWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya2Jvb2suU2hlZXRzLlNoZWV0MSk7CiAgICAgICAgY29uc3QgdGFibGVEYXRhID0gW107CiAgICAgICAgY29uc29sZS5sb2coImNzdkRhdGEiLCBjc3ZEYXRhLnNwbGl0KCJcbiIpKTsgLy8g6Kej5p6Q5pWw5o2uCgogICAgICAgIGNzdkRhdGEuc3BsaXQoIlxuIikuZm9yRWFjaCgodlJvdywgcmluZGV4KSA9PiB7CiAgICAgICAgICBpZiAodlJvdyAmJiByaW5kZXggPiAwKSB7CiAgICAgICAgICAgIGNvbnN0IHZDb2xzID0gdlJvdy5zcGxpdCgiLCIpOwogICAgICAgICAgICBjb25zb2xlLmxvZygidkNvbHMiLCB2Q29scyk7CiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB7fTsKICAgICAgICAgICAgdkNvbHMuZm9yRWFjaCgodmFsLCBjSW5kZXgpID0+IHsKICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLnRhYmxlQ29sdW1uW2NJbmRleF07CgogICAgICAgICAgICAgIGlmIChjb2x1bW4gJiYgY29sdW1uLmZpZWxkKSB7CiAgICAgICAgICAgICAgICBpdGVtW2NvbHVtbi5maWVsZF0gPSB2YWw7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdGFibGVEYXRhLnB1c2goaXRlbSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgY29uc29sZS5sb2coInRhYmxlRGF0YTo6IiwgdGFibGVEYXRhKTsKICAgICAgICB0aGlzLmdvb2RzX2RhdGEgPSB0YWJsZURhdGE7CiAgICAgIH07CgogICAgICBmaWxlUmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyh0aGlzLmZpbGUpOwogICAgICB0aGlzLnN0ZXBzX2FjdGl2ZSA9IDE7CiAgICB9LAoKICAgIC8v56Gu5a6a5a+85YWlCiAgICBhc3luYyBleHBvcnRzRGF0YSgpIHsKICAgICAgdGhpcy5zdGVwc19hY3RpdmUgPSAyOwogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgc3VwcGxpZXJJbXBvcnQodGhpcy5nb29kc19kYXRhKTsKICAgICAgdGhpcy5JbXBvcnRfdGhlX2luZm9ybWF0aW9uID0gZGF0YTsKICAgIH0sCgogICAgLy/ph43mlrDkuIrkvKAKICAgIGFnYWluRXhwb3J0KCkgewogICAgICB0aGlzLnN0ZXBzX2FjdGl2ZSA9IDA7CiAgICB9LAoKICAgIC8v6KaG55uW6buY6K6k55qE5LiK5Lyg6KGM5Li677yM5Y+v5Lul6Ieq5a6a5LmJ5LiK5Lyg55qE5a6e546wCiAgICBzdWJtaXRVcGxvYWQocmVxdWVzdCkgewogICAgICBjb25zb2xlLmxvZygic3VibWl0VXBsb2FkIiwgcmVxdWVzdCk7IC8vIHRoaXMuJHJlZnMudXBsb2FkLnN1Ym1pdCgpOwogICAgfSwKCiAgICAvL+S4iuS8oOaWh+S7tuS5i+WJjeeahOmSqeWtkO+8jOWPguaVsOS4uuS4iuS8oOeahOaWh+S7tu+8jOiLpei/lOWbniBmYWxzZSDmiJbogIXov5Tlm54gUHJvbWlzZSDkuJTooqsgcmVqZWN077yM5YiZ5YGc5q2i5LiK5Lyg44CCCiAgICBiZWZvcmVVcGxvYWQoZmlsZSkgewogICAgICBjb25zb2xlLmxvZygiYmVmb3JlVXBsb2FkIiwgZmlsZSk7CiAgICB9LAoKICAgIC8v5paH5Lu25YiX6KGo56e76Zmk5paH5Lu25pe255qE6ZKp5a2QCiAgICBvblJlbW92ZShmaWxlLCBmaWxlTGlzdCkgewogICAgICBjb25zb2xlLmxvZygib25SZW1vdmUiLCBmaWxlLCBmaWxlTGlzdCk7CiAgICB9LAoKICAgIG9uQ2hhbmdlKGZpbGUpIHsKICAgICAgY29uc29sZS5sb2coIm9uQ2hhbmdlIiwgZmlsZSk7CiAgICAgIHRoaXMuZmlsZV9uYW1lID0gZmlsZS5uYW1lOwogICAgICB0aGlzLmZpbGUgPSBmaWxlLnJhdzsKICAgIH0KCiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA;AACA;EACAA,mBADA;;EAEAC;IACA;MACAC,aADA;MAEAC,QAFA;MAGAC,YAHA;MAIAC,cAJA;MAKAC,eALA;MAMAC,cACA;QAAAC;QAAAC;MAAA,CADA,EAEA;QAAAD;QAAAC;MAAA,CAFA,EAGA;QAAAD;QAAAC;MAAA,CAHA,EAIA;QAAAD;QAAAC;MAAA,CAJA,EAKA;QAAAD;QAAAC;MAAA,CALA,EAMA;QAAAD;QAAAC;MAAA,CANA,EAOA;QAAAD;QAAAC;MAAA,CAPA,EAQA;QAAAD;QAAAC;MAAA,CARA,EASA;QAAAD;QAAAC;MAAA,CATA,EAUA;QAAAD;QAAAC;MAAA,CAVA,EAWA;QAAAD;QAAAC;MAAA,CAXA,EAYA;QAAAD;QAAAC;MAAA,CAZA,CANA;MAoBAC;IApBA;EAsBA,CAzBA;;EA0BAC;IACAC,eADA;;IAEA;IACAC;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CATA;;IAWA;IACAC;MACA;MACA;;MACAC;QACA;QACA;UAAAC;QAAA;QACA;QACA;QACAC,4CALA,CAMA;;QACAC;UACA;YACA;YACAD;YACA;YACAE;cACA;;cACA;gBACAC;cACA;YACA,CALA;YAMAC;UACA;QACA,CAbA;QAcAJ;QACA;MACA,CAvBA;;MAwBAF;MAEA;IACA,CA1CA;;IA2CA;IACA;MACA;MACA;QAAAd;MAAA;MACA;IACA,CAhDA;;IAiDA;IACAqB;MACA;IACA,CApDA;;IAqDA;IACAC;MACAN,qCADA,CAEA;IACA,CAzDA;;IA0DA;IACAO;MACAP;IACA,CA7DA;;IA8DA;IACAQ;MACAR;IACA,CAjEA;;IAkEAS;MACAT;MACA;MACA;IACA;;EAtEA;AA1BA","names":["name","data","file_name","file","fileList","goods_data","steps_active","tableColumn","field","title","Import_the_information","methods","lookDetail","closePage","previewData","fileReader","type","console","csvData","vCols","item","tableData","againExport","submitUpload","beforeUpload","onRemove","onChange"],"sourceRoot":"src/views/Purchase/ManageP","sources":["SupplierImport.vue"],"sourcesContent":["<template>\n <ContainerTit class=\"ContainerTit\">\n <div class=\"header\">\n <el-steps align-center :active=\"steps_active\">\n <el-step title=\"供应商导入文件\" icon=\"el-icon-upload\"></el-step>\n <el-step title=\"供应商导入预览\" icon=\"el-icon-s-order\"></el-step>\n <el-step title=\"供应商导入完成\" icon=\"el-icon-s-claim\"></el-step>\n </el-steps>\n </div>\n <!-- 客户导入预览-->\n <div v-if=\"steps_active === 0\">\n <div class=\"span\">\n <a\n href=\"https://upload.qianniao.vip/template/gongyingshang.xlsx\"\n target=\"_blank\"\n >\n <i class=\"iconfont icon-xiazai-xue\"></i>\n <span>下载模板</span>\n </a>\n </div>\n <div class=\"content\">\n <p class=\"title\">\n <i class=\"required\">*</i>\n 供应商文件\n </p>\n <div class=\"input-up\">\n <i class=\"iconfont icon-lianjie\"></i>\n <el-upload\n ref=\"upload\"\n action=\"#\"\n accept=\"xlsx,xls\"\n :auto-upload=\"false\"\n :file-list=\"fileList\"\n list-type=\"text\"\n :before-upload=\"beforeUpload\"\n :on-remove=\"onRemove\"\n :on-change=\"onChange\"\n >\n <div\n slot=\"trigger\"\n style=\"width: 360px; padding: 0 10px; text-align: left\"\n >\n <span v-if=\"file_name\">{{ file_name }}</span>\n <span v-else style=\"color: #999999\">选取文件</span>\n </div>\n </el-upload>\n </div>\n </div>\n </div>\n <!-- 商品导入预览-->\n <div v-else-if=\"steps_active === 1\" class=\"steps-two\">\n <vxe-grid\n ref=\"xTable\"\n border=\"inner\"\n :columns=\"tableColumn\"\n :data=\"goods_data\"\n ></vxe-grid>\n </div>\n <div v-else class=\"steps-three\">\n <p class=\"title\">导入情况</p>\n <div class=\"desc\">\n {{ Import_the_information }}\n <!-- <el-button type=\"text\">下载失败数据</el-button>-->\n </div>\n </div>\n <div slot=\"headr\">\n <el-button @click=\"closePage\">\n {{ steps_active === 2 ? \"完成\" : \"取消\" }}\n </el-button>\n <el-button v-if=\"steps_active === 0\" type=\"primary\" @click=\"previewData\">\n 下一步\n </el-button>\n <el-button v-if=\"steps_active === 1\" type=\"primary\" @click=\"exportsData\">\n 确定导入\n </el-button>\n <el-button v-if=\"steps_active === 2\" type=\"primary\" @click=\"againExport\">\n 重新上传\n </el-button>\n </div>\n </ContainerTit>\n</template>\n\n<script>\n import { supplierImport } from \"@/api/Purchase\";\n export default {\n name: \"GoodsImport\",\n data() {\n return {\n file_name: \"\",\n file: \"\",\n fileList: [],\n goods_data: [],\n steps_active: 0,\n tableColumn: [\n { field: \"title\", title: \"供应商名称\" },\n { field: \"realName\", title: \"联系人姓名\" },\n { field: \"mobile\", title: \"联系电话\" },\n { field: \"provinceName\", title: \"省\" },\n { field: \"cityName\", title: \"市\" },\n { field: \"areaName\", title: \"区\" },\n { field: \"address\", title: \"详细地址\" },\n { field: \"position\", title: \"联系人职务\" },\n { field: \"accountName\", title: \"开户人\" },\n { field: \"bankName\", title: \"开户银行\" },\n { field: \"bankCard\", title: \"银行账号\" },\n { field: \"remark\", title: \"客户备注\" },\n ],\n Import_the_information: \"\",\n };\n },\n methods: {\n lookDetail() {},\n // 取消/完成 按钮\n closePage() {\n if (this.steps_active === 1) {\n this.steps_active = 0;\n } else {\n this.$closeCurrentGoEdit(\"/Purchase/ManageP/Supplier\");\n }\n },\n\n // 下一步\n previewData() {\n // this.$refs.xTable.importData();\n const fileReader = new FileReader();\n fileReader.onload = (ev) => {\n const data = ev.target.result;\n const workbook = this.$XLSX.read(data, { type: \"binary\" });\n const csvData = this.$XLSX.utils.sheet_to_csv(workbook.Sheets.Sheet1);\n const tableData = [];\n console.log(\"csvData\", csvData.split(\"\\n\"));\n // 解析数据\n csvData.split(\"\\n\").forEach((vRow, rindex) => {\n if (vRow && rindex > 0) {\n const vCols = vRow.split(\",\");\n console.log(\"vCols\", vCols);\n const item = {};\n vCols.forEach((val, cIndex) => {\n const column = this.tableColumn[cIndex];\n if (column && column.field) {\n item[column.field] = val;\n }\n });\n tableData.push(item);\n }\n });\n console.log(\"tableData::\", tableData);\n this.goods_data = tableData;\n };\n fileReader.readAsBinaryString(this.file);\n\n this.steps_active = 1;\n },\n //确定导入\n async exportsData() {\n this.steps_active = 2;\n const { data } = await supplierImport(this.goods_data);\n this.Import_the_information = data;\n },\n //重新上传\n againExport() {\n this.steps_active = 0;\n },\n //覆盖默认的上传行为,可以自定义上传的实现\n submitUpload(request) {\n console.log(\"submitUpload\", request);\n // this.$refs.upload.submit();\n },\n //上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。\n beforeUpload(file) {\n console.log(\"beforeUpload\", file);\n },\n //文件列表移除文件时的钩子\n onRemove(file, fileList) {\n console.log(\"onRemove\", file, fileList);\n },\n onChange(file) {\n console.log(\"onChange\", file);\n this.file_name = file.name;\n this.file = file.raw;\n },\n },\n };\n</script>\n<style scoped lang=\"scss\">\n .ContainerTit {\n background-color: #ffffff;\n }\n\n .span {\n border-radius: 5px;\n height: 15px;\n padding: 0 20px 20px;\n width: 98%;\n margin: 20px auto;\n .icon-xiazai-xue {\n font-size: 16px;\n margin-right: 4px;\n }\n }\n .header {\n margin: 40px auto 20px;\n width: 60%;\n }\n .content {\n width: 98%;\n margin: 20px auto;\n padding: 24px 20px;\n border-radius: 4px 4px 0 0;\n background-color: #f5f7fc;\n .title {\n padding-bottom: 20px;\n .required {\n color: #ff4400;\n }\n }\n .input-up {\n width: 360px;\n text-align: left;\n height: 32px;\n line-height: 32px;\n border-radius: 4px;\n background-color: #fff;\n border: 1px solid #d5dae0 !important;\n position: relative;\n overflow: hidden;\n .icon-lianjie {\n position: absolute;\n top: 50%;\n right: 20px;\n color: #768696;\n transform: translateY(-50%);\n display: block;\n }\n }\n }\n .steps-three {\n margin-top: 90px;\n text-align: center;\n .title {\n color: #333;\n font-size: 24px;\n }\n .desc {\n color: #333;\n font-size: 14px;\n margin: 18px 0 60px;\n }\n }\n</style>\n"]}]}