e612c422b6dec35a9daaed1feaed73ad.json 17 KB

1
  1. {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Customer\\CustomerAdmin\\CustomerImport.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Customer\\CustomerAdmin\\CustomerImport.vue","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgY3VzdG9tZXJJbXBvcnQgfSBmcm9tICJAL2FwaS9DdXN0b21lciI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiR29vZHNJbXBvcnQiLAoKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZmlsZV9uYW1lOiAiIiwKICAgICAgZmlsZTogIiIsCiAgICAgIGZpbGVMaXN0OiBbXSwKICAgICAgZ29vZHNfZGF0YTogW10sCiAgICAgIHN0ZXBzX2FjdGl2ZTogMCwKICAgICAgdGFibGVDb2x1bW46IFt7CiAgICAgICAgZmllbGQ6ICJuYW1lIiwKICAgICAgICB0aXRsZTogIuWuouaIt+WQjeensCIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAibW9iaWxlIiwKICAgICAgICB0aXRsZTogIueZu+mZhui0puWPtyIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAidHlwZSIsCiAgICAgICAgdGl0bGU6ICLlrqLmiLfnsbvlnosiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogImNvbnRhY3RzIiwKICAgICAgICB0aXRsZTogIuiBlOezu+S6uiIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAibmFtZU1vYmlsZSIsCiAgICAgICAgdGl0bGU6ICLogZTns7vnlLXor50iCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogInByb3ZpbmNlTmFtZSIsCiAgICAgICAgdGl0bGU6ICLnnIEiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogImNpdHlOYW1lIiwKICAgICAgICB0aXRsZTogIuW4giIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAiYXJlYU5hbWUiLAogICAgICAgIHRpdGxlOiAi5Yy6IgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJhZGRyZXNzIiwKICAgICAgICB0aXRsZTogIuivpue7huWcsOWdgCIKICAgICAgfSwgewogICAgICAgIGZpZWxkOiAic2hvcE5hbWUiLAogICAgICAgIHRpdGxlOiAi5ZWG6ZO6IgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJkZXBhcnRtZW50SWQgIiwKICAgICAgICB0aXRsZTogIumUgOWUrumDqOmXqElEIgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJzYWxlc01hbklkIiwKICAgICAgICB0aXRsZTogIuS4muWKoeWRmElEIgogICAgICB9LCB7CiAgICAgICAgZmllbGQ6ICJiaXJ0aGRheSIsCiAgICAgICAgdGl0bGU6ICLlrqLmiLfnlJ/ml6UiCiAgICAgIH0sIHsKICAgICAgICBmaWVsZDogInJlbWFyayIsCiAgICAgICAgdGl0bGU6ICLlrqLmiLflpIfms6giCiAgICAgIH1dLAogICAgICBJbXBvcnRfdGhlX2luZm9ybWF0aW9uOiAiIiwKICAgICAgZmxhZzogIiIsCiAgICAgIGhyZWY6ICIiCiAgICB9OwogIH0sCgogIG1ldGhvZHM6IHsKICAgIGxvb2tEZXRhaWwoKSB7fSwKCiAgICAvLyDlj5bmtogv5a6M5oiQIOaMiemSrgogICAgY2xvc2VQYWdlKCkgewogICAgICBpZiAodGhpcy5zdGVwc19hY3RpdmUgPT09IDEpIHsKICAgICAgICB0aGlzLnN0ZXBzX2FjdGl2ZSA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvQ3VzdG9tZXIvQ3VzdG9tZXJBZG1pbi9DdXN0b21lckxpc3QiKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDkuIvkuIDmraUKICAgIHByZXZpZXdEYXRhKCkgewogICAgICAvLyB0aGlzLiRyZWZzLnhUYWJsZS5pbXBvcnREYXRhKCk7CiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOwoKICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSBldiA9PiB7CiAgICAgICAgY29uc3QgZGF0YSA9IGV2LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgY29uc3Qgd29ya2Jvb2sgPSB0aGlzLiRYTFNYLnJlYWQoZGF0YSwgewogICAgICAgICAgdHlwZTogImJpbmFyeSIKICAgICAgICB9KTsKICAgICAgICBjb25zdCBjc3ZEYXRhID0gdGhpcy4kWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya2Jvb2suU2hlZXRzLlNoZWV0MSk7CiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IFtdOwogICAgICAgIGNvbnNvbGUubG9nKCJjc3ZEYXRhIiwgY3N2RGF0YS5zcGxpdCgiXG4iKSk7IC8vIOino+aekOaVsOaNrgoKICAgICAgICBjc3ZEYXRhLnNwbGl0KCJcbiIpLmZvckVhY2goKHZSb3csIHJpbmRleCkgPT4gewogICAgICAgICAgaWYgKHZSb3cgJiYgcmluZGV4ID4gMCkgewogICAgICAgICAgICBjb25zdCB2Q29scyA9IHZSb3cuc3BsaXQoIiwiKTsgLy8gY29uc29sZS5sb2coInZDb2xzIiwgdkNvbHMpOwoKICAgICAgICAgICAgY29uc3QgaXRlbSA9IHt9OwogICAgICAgICAgICB2Q29scy5mb3JFYWNoKCh2YWwsIGNJbmRleCkgPT4gewogICAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMudGFibGVDb2x1bW5bY0luZGV4XTsKCiAgICAgICAgICAgICAgaWYgKGNvbHVtbiAmJiBjb2x1bW4uZmllbGQpIHsKICAgICAgICAgICAgICAgIGl0ZW1bY29sdW1uLmZpZWxkXSA9IHZhbDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0YWJsZURhdGEucHVzaChpdGVtKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB0aGlzLmdvb2RzX2RhdGEgPSB0YWJsZURhdGE7CiAgICAgICAgY29uc29sZS5sb2codGhpcy5nb29kc19kYXRhKTsKICAgICAgfTsKCiAgICAgIGZpbGVSZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRoaXMuZmlsZSk7CiAgICAgIHRoaXMuc3RlcHNfYWN0aXZlID0gMTsKICAgIH0sCgogICAgLy/noa7lrprlr7zlhaUKICAgIGFzeW5jIGV4cG9ydHNEYXRhKCkgewogICAgICB0aGlzLnN0ZXBzX2FjdGl2ZSA9IDI7CgogICAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5nb29kc19kYXRhKSA9PT0gIltdIikgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIuS4iuS8oOWksei0pe+8jOaVsOaNruW8guW4uCIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGN1c3RvbWVySW1wb3J0KHRoaXMuZ29vZHNfZGF0YSk7CiAgICAgIHRoaXMuSW1wb3J0X3RoZV9pbmZvcm1hdGlvbiA9IGRhdGEuc3VjY2Vzc01zZzsKICAgICAgdGhpcy5mbGFnID0gZGF0YS5lcnJvck51bTsKICAgICAgdGhpcy5ocmVmID0gZGF0YS51cmw7CiAgICB9LAoKICAgIC8v6YeN5paw5LiK5LygCiAgICBhZ2FpbkV4cG9ydCgpIHsKICAgICAgdGhpcy5zdGVwc19hY3RpdmUgPSAwOwogICAgfSwKCiAgICAvL+imhueblum7mOiupOeahOS4iuS8oOihjOS4uu+8jOWPr+S7peiHquWumuS5ieS4iuS8oOeahOWunueOsAogICAgc3VibWl0VXBsb2FkKHJlcXVlc3QpIHsKICAgICAgY29uc29sZS5sb2coInN1Ym1pdFVwbG9hZCIsIHJlcXVlc3QpOyAvLyB0aGlzLiRyZWZzLnVwbG9hZC5zdWJtaXQoKTsKICAgIH0sCgogICAgLy/kuIrkvKDmlofku7bkuYvliY3nmoTpkqnlrZDvvIzlj4LmlbDkuLrkuIrkvKDnmoTmlofku7bvvIzoi6Xov5Tlm54gZmFsc2Ug5oiW6ICF6L+U5ZueIFByb21pc2Ug5LiU6KKrIHJlamVjdO+8jOWImeWBnOatouS4iuS8oOOAggogICAgYmVmb3JlVXBsb2FkKGZpbGUpIHsKICAgICAgY29uc29sZS5sb2coImJlZm9yZVVwbG9hZCIsIGZpbGUpOwogICAgfSwKCiAgICAvL+aWh+S7tuWIl+ihqOenu+mZpOaWh+S7tuaXtueahOmSqeWtkAogICAgb25SZW1vdmUoZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgY29uc29sZS5sb2coIm9uUmVtb3ZlIiwgZmlsZSwgZmlsZUxpc3QpOwogICAgfSwKCiAgICBvbkNoYW5nZShmaWxlKSB7CiAgICAgIGNvbnNvbGUubG9nKCJvbkNoYW5nZSIsIGZpbGUpOwogICAgICB0aGlzLmZpbGVfbmFtZSA9IGZpbGUubmFtZTsKICAgICAgdGhpcy5maWxlID0gZmlsZS5yYXc7CiAgICB9CgogIH0KfTs="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGA;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,EAaA;QAAAD;QAAAC;MAAA,CAbA,EAcA;QAAAD;QAAAC;MAAA,CAdA,CANA;MAsBAC,0BAtBA;MAuBAC,QAvBA;MAwBAC;IAxBA;EA0BA,CA7BA;;EA8BAC;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,8BADA,CAEA;;YACA;YACAC;cACA;;cACA;gBACAC;cACA;YACA,CALA;YAMAC;UACA;QACA,CAbA;QAcA;QACAJ;MACA,CAvBA;;MAwBAF;MACA;IACA,CAzCA;;IA0CA;IACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QAAAhB;MAAA;MACA;MACA;MACA;IACA,CArDA;;IAsDA;IACAuB;MACA;IACA,CAzDA;;IA0DA;IACAC;MACAN,qCADA,CAEA;IACA,CA9DA;;IA+DA;IACAO;MACAP;IACA,CAlEA;;IAmEA;IACAQ;MACAR;IACA,CAtEA;;IAuEAS;MACAT;MACA;MACA;IACA;;EA3EA;AA9BA","names":["name","data","file_name","file","fileList","goods_data","steps_active","tableColumn","field","title","Import_the_information","flag","href","methods","lookDetail","closePage","previewData","fileReader","type","console","csvData","vCols","item","tableData","againExport","submitUpload","beforeUpload","onRemove","onChange"],"sourceRoot":"src/views/Customer/CustomerAdmin","sources":["CustomerImport.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 slot=\"tip\" class=\"page-tip-div\" style=\"margin-top: 0\">\n <i class=\"el-icon-info\"></i>\n 温馨提示:\n <span>1、登录账号必须为客户微信绑定的手机号!</span>\n <span>2、客户类型必须在后台存在!</span>\n <span>3、联系人地区格式为省市区独立字段!</span>\n <span>4、商铺/销售部门/业务员必须在后台存在!</span>\n <span>5、客户生日格式为2021-01-01!</span>\n </div>\n <div class=\"span\">\n <a\n href=\"https://upload.qianniao.vip/template/kehu.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 :import-config=\"{ message: true }\"\n ></vxe-grid>\n </div>\n <div v-else class=\"steps-three\">\n <p class=\"title\">导入情况</p>\n <div class=\"desc\">\n <span v-html=\"Import_the_information\"></span>\n <span v-if=\"flag > 0\">\n <a target=\"_blank\" :href=\"href\">点击查看错误原因</a>\n </span>\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 { customerImport } from \"@/api/Customer\";\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: \"name\", title: \"客户名称\" },\n { field: \"mobile\", title: \"登陆账号\" },\n { field: \"type\", title: \"客户类型\" },\n { field: \"contacts\", title: \"联系人\" },\n { field: \"nameMobile\", title: \"联系电话\" },\n { field: \"provinceName\", title: \"省\" },\n { field: \"cityName\", title: \"市\" },\n { field: \"areaName\", title: \"区\" },\n { field: \"address\", title: \"详细地址\" },\n { field: \"shopName\", title: \"商铺\" },\n { field: \"departmentId \", title: \"销售部门ID\" },\n { field: \"salesManId\", title: \"业务员ID\" },\n { field: \"birthday\", title: \"客户生日\" },\n { field: \"remark\", title: \"客户备注\" },\n ],\n Import_the_information: \"\",\n flag: \"\",\n href: \"\",\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(\"/Customer/CustomerAdmin/CustomerList\");\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 let 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 this.goods_data = tableData;\n console.log(this.goods_data);\n };\n fileReader.readAsBinaryString(this.file);\n this.steps_active = 1;\n },\n //确定导入\n async exportsData() {\n this.steps_active = 2;\n if (JSON.stringify(this.goods_data) === \"[]\") {\n this.$message.error(\"上传失败,数据异常\");\n return;\n }\n const { data } = await customerImport(this.goods_data);\n this.Import_the_information = data.successMsg;\n this.flag = data.errorNum;\n this.href = data.url;\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 a {\n color: #333333;\n .icon-xiazai-xue {\n font-size: 16px;\n margin-right: 4px;\n }\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"]}]}