2a4e1adf454f82ac9ae6027de5f90782.json 15 KB

1
  1. {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\marketing\\live\\add_goods.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\marketing\\live\\add_goods.vue","mtime":1677828270208},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRTovaXRlbS9uZXdJdGVtL2FkbWluL25vZGVfbW9kdWxlcy9AdnVlL2JhYmVsLXByZXNldC1hcHAvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOwppbXBvcnQgZ29vZHNMaXN0IGZyb20gJ0AvY29tcG9uZW50cy9nb29kc0xpc3QnOwppbXBvcnQgeyBsaXZlR29vZHNDcmVhdCwgbGl2ZUdvb2RzQWRkIH0gZnJvbSAnQC9hcGkvbGl2ZSc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnYWRkX2dvb2RzJywKICBjb21wb25lbnRzOiB7CiAgICBnb29kc0xpc3Q6IGdvb2RzTGlzdAogIH0sCiAgY29tcHV0ZWQ6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgbWFwU3RhdGUoJ21lZGlhJywgWydpc01vYmlsZSddKSksIHt9LCB7CiAgICBsYWJlbFdpZHRoOiBmdW5jdGlvbiBsYWJlbFdpZHRoKCkgewogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/IHVuZGVmaW5lZCA6IDEwMDsKICAgIH0sCiAgICBsYWJlbFBvc2l0aW9uOiBmdW5jdGlvbiBsYWJlbFBvc2l0aW9uKCkgewogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ3JpZ2h0JzsKICAgIH0KICB9KSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICByZXR1cm4gewogICAgICBpc1Nob3dCb3g6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgbW9kYWxzOiBmYWxzZSwKICAgICAgZ29vZHNMaXN0OiBbXSwKICAgICAgdGVtcEdvb2RzOiB7fSwKICAgICAgZm9ybVZhbGlkYXRlOiB7fSwKICAgICAgY29sdW1uczE6IFt7CiAgICAgICAga2V5OiAnaWQnLAogICAgICAgIHRpdGxlOiAn5ZWG5ZOBSUQnCiAgICAgIH0sIHsKICAgICAgICBzbG90OiAnaW1nJywKICAgICAgICB0aXRsZTogJ+WVhuWTgeS/oeaBrycKICAgICAgfSwgewogICAgICAgIGtleTogJ3ByaWNlJywKICAgICAgICB0aXRsZTogJ+ebtOaSreWUruS7tycsCiAgICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgcGFyYW1zKSB7CiAgICAgICAgICByZXR1cm4gaCgnSW5wdXQnLCB7CiAgICAgICAgICAgIHByb3BzOiB7CiAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsCiAgICAgICAgICAgICAgdmFsdWU6IHBhcmFtcy5yb3cucHJpY2UKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb246IHsKICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24gaW5wdXQodmFsKSB7CiAgICAgICAgICAgICAgICBfdGhpcy50YWJMaXN0W3BhcmFtcy5pbmRleF0ucHJpY2UgPSB2YWw7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBrZXk6ICdjb3N0X3ByaWNlJywKICAgICAgICB0aXRsZTogJ+ebtOaSreWOn+S7tycsCiAgICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgcGFyYW1zKSB7CiAgICAgICAgICByZXR1cm4gaCgnSW5wdXQnLCB7CiAgICAgICAgICAgIHByb3BzOiB7CiAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsCiAgICAgICAgICAgICAgdmFsdWU6IHBhcmFtcy5yb3cuY29zdF9wcmljZQogICAgICAgICAgICB9LAogICAgICAgICAgICBvbjogewogICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbiBpbnB1dCh2YWwpIHsKICAgICAgICAgICAgICAgIF90aGlzLnRhYkxpc3RbcGFyYW1zLmluZGV4XS5jb3N0X3ByaWNlID0gdmFsOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAga2V5OiAnc3RvY2snLAogICAgICAgIHRpdGxlOiAn5bqT5a2YJwogICAgICB9LCB7CiAgICAgICAgc2xvdDogJ2FjdGlvbicsCiAgICAgICAgZml4ZWQ6ICdyaWdodCcsCiAgICAgICAgdGl0bGU6ICfmk43kvZwnCiAgICAgIH1dLAogICAgICB0YWJMaXN0OiBbXSwKICAgICAgZGlzYWJsZWQ6IGZhbHNlLAogICAgICBsb2FkaW5nczogZmFsc2UKICAgIH07CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDnlJ/miJDnm7Tmkq3llYblk4EKICAgIGxpdmVHb29kczogZnVuY3Rpb24gbGl2ZUdvb2RzKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHZhciBhcnJheSA9IFtdOwogICAgICB0aGlzLmdvb2RzTGlzdC5tYXAoZnVuY3Rpb24gKGVsKSB7CiAgICAgICAgYXJyYXkucHVzaChlbC5wcm9kdWN0X2lkKTsKICAgICAgfSk7CiAgICAgIGxpdmVHb29kc0NyZWF0KHsKICAgICAgICBwcm9kdWN0X2lkOiBhcnJheQogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczIudGFiTGlzdCA9IHJlcy5kYXRhOwogICAgICAgIF90aGlzMi5pc1Nob3dCb3ggPSB0cnVlOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKICAgICAgICBfdGhpczIuJE1lc3NhZ2UuZXJyb3IoZXJyb3IubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0UHJvZHVjdElkOiBmdW5jdGlvbiBnZXRQcm9kdWN0SWQoZGF0YSkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHRoaXMuZ29vZHNMaXN0ID0gdGhpcy5nb29kc0xpc3QuY29uY2F0KGRhdGEpOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpczMubW9kYWxzID0gZmFsc2U7CiAgICAgICAgfSwgMzAwKTsKICAgICAgfSk7CiAgICB9LAogICAgYmluZERlbGV0ZTogZnVuY3Rpb24gYmluZERlbGV0ZShpbmRleCkgewogICAgICB0aGlzLmdvb2RzTGlzdC5zcGxpY2UoaW5kZXgsIDEpOwogICAgfSwKICAgIGRlbDogZnVuY3Rpb24gZGVsKHJvdywgaW5kZXgpIHsKICAgICAgdGhpcy50YWJMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICB9LAogICAgLy8g5o+Q5LqkCiAgICBiaW5kU3ViOiBmdW5jdGlvbiBiaW5kU3ViKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlOwogICAgICB0aGlzLmxvYWRpbmdzID0gdHJ1ZTsKICAgICAgbGl2ZUdvb2RzQWRkKHsKICAgICAgICBnb29kc19pbmZvOiB0aGlzLnRhYkxpc3QKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM0LiRNZXNzYWdlLnN1Y2Nlc3MoJ+a3u+WKoOaIkOWKnycpOwoKICAgICAgICBfdGhpczQuZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzNC4kcm91dGVyLnB1c2goewogICAgICAgICAgICBwYXRoOiAnL2FkbWluL21hcmtldGluZy9saXZlL2xpdmVfZ29vZHMnCiAgICAgICAgICB9KTsKICAgICAgICB9LCA1MDApOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKICAgICAgICBfdGhpczQuZGlzYWJsZWQgPSBmYWxzZTsKCiAgICAgICAgX3RoaXM0LiRNZXNzYWdlLmVycm9yKGVycm9yLm1zZyk7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA;AACA;AACA;AACA;EACAA,iBADA;EAEAC;IACAC;EADA,CAFA;EAKAC,0CACAC,+BADA;IAEAC,UAFA,wBAEA;MACA;IACA,CAJA;IAKAC,aALA,2BAKA;MACA;IACA;EAPA,EALA;EAcAC,IAdA,kBAcA;IAAA;;IACA;MACAC,gBADA;MAEAC,cAFA;MAGAC,aAHA;MAIAR,aAJA;MAKAS,aALA;MAMAC,gBANA;MAOAC,WACA;QAAAC;QAAAC;MAAA,CADA,EAEA;QAAAC;QAAAD;MAAA,CAFA,EAGA;QACAD,YADA;QAEAC,aAFA;QAGAE;UACA;YACAC;cACAC,cADA;cAEAC;YAFA,CADA;YAKAC;cACAC;gBACA;cACA;YAHA;UALA;QAWA;MAfA,CAHA,EAoBA;QACAR,iBADA;QAEAC,aAFA;QAGAE;UACA;YACAC;cACAC,cADA;cAEAC;YAFA,CADA;YAKAC;cACAC;gBACA;cACA;YAHA;UALA;QAWA;MAfA,CApBA,EAqCA;QAAAR;QAAAC;MAAA,CArCA,EAsCA;QAAAC;QAAAO;QAAAR;MAAA,CAtCA,CAPA;MA+CAS,WA/CA;MAgDAC,eAhDA;MAiDAC;IAjDA;EAmDA,CAlEA;EAmEAC;IACA;IACAC,SAFA,uBAEA;MAAA;;MACA;MACA;QACAC;MACA,CAFA;MAGAC;QACAC;MADA,GAGAC,IAHA,CAGA;QACA;QACA;MACA,CANA,EAOAC,KAPA,CAOA;QACA;MACA,CATA;IAUA,CAjBA;IAkBAC,YAlBA,wBAkBA3B,IAlBA,EAkBA;MAAA;;MACA;MACA;QACA4B;UACA;QACA,CAFA,EAEA,GAFA;MAGA,CAJA;IAKA,CAzBA;IA0BAC,UA1BA,sBA0BAC,KA1BA,EA0BA;MACA;IACA,CA5BA;IA6BAC,GA7BA,eA6BAC,GA7BA,EA6BAF,KA7BA,EA6BA;MACA;IACA,CA/BA;IAgCA;IACAG,OAjCA,qBAiCA;MAAA;;MACA;MACA;MACAC;QACAC;MADA,GAGAV,IAHA,CAGA;QACA;;QACA;QACAG;UACA;YAAAQ;UAAA;QACA,CAFA,EAEA,GAFA;MAGA,CATA,EAUAV,KAVA,CAUA;QACA;;QACA;MACA,CAbA;IAcA;EAlDA;AAnEA","names":["name","components","goodsList","computed","mapState","labelWidth","labelPosition","data","isShowBox","loading","modals","tempGoods","formValidate","columns1","key","title","slot","render","props","type","value","on","input","fixed","tabList","disabled","loadings","methods","liveGoods","array","liveGoodsCreat","product_id","then","catch","getProductId","setTimeout","bindDelete","index","del","row","bindSub","liveGoodsAdd","goods_info","path"],"sourceRoot":"src/pages/marketing/live","sources":["add_goods.vue"],"sourcesContent":["<template>\r\n <div>\r\n <div class=\"i-layout-page-header header_top\">\r\n <div class=\"i-layout-page-header fl_header\">\r\n <router-link :to=\"{ path: '/admin/marketing/live/live_goods' }\"\r\n ><Button icon=\"ios-arrow-back\" size=\"small\" type=\"text\">返回</Button></router-link\r\n >\r\n <Divider type=\"vertical\" />\r\n <span class=\"ivu-page-header-title\" style=\"padding: 0\">{{ $route.meta.title }}</span>\r\n </div>\r\n </div>\r\n <Card :bordered=\"false\" dis-hover class=\"ivu-mt\">\r\n <Form\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n class=\"tabform\"\r\n @submit.native.prevent\r\n >\r\n <Row :gutter=\"24\" type=\"flex\">\r\n <Col span=\"24\">\r\n <FormItem label=\"选择商品:\">\r\n <div class=\"box\">\r\n <div class=\"box-item\" v-for=\"(item, index) in goodsList\" :key=\"index\">\r\n <img :src=\"item.image\" alt=\"\" />\r\n <Icon type=\"ios-close-circle\" size=\"20\" @click=\"bindDelete(index)\" />\r\n </div>\r\n <div class=\"upload-box\" @click=\"modals = true\">\r\n <Icon type=\"ios-camera-outline\" size=\"36\" />\r\n </div>\r\n </div>\r\n </FormItem>\r\n </Col>\r\n </Row>\r\n </Form>\r\n <div class=\"active-btn\" v-if=\"goodsList.length > 0\">\r\n <Button type=\"success\" @click=\"liveGoods\">生成直播商品</Button>\r\n </div>\r\n <div class=\"table-box\" v-if=\"isShowBox\">\r\n <Table\r\n :columns=\"columns1\"\r\n :data=\"tabList\"\r\n ref=\"table\"\r\n class=\"mt25\"\r\n :loading=\"loading\"\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n >\r\n <template slot-scope=\"{ row, index }\" slot=\"img\">\r\n <div class=\"product_box\">\r\n <img :src=\"row.image\" alt=\"\" />\r\n <span>{{ row.store_name }}</span>\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"del(row, index)\">删除</a>\r\n </template>\r\n </Table>\r\n\r\n <div class=\"sub_btn\">\r\n <Button type=\"primary\" style=\"width: 8%\" @click=\"bindSub\" :disabled=\"disabled\" :loading=\"loadings\"\r\n >提交</Button\r\n >\r\n </div>\r\n </div>\r\n </Card>\r\n <Modal v-model=\"modals\" title=\"商品列表\" class=\"paymentFooter\" scrollable width=\"900\" :footer-hide=\"true\">\r\n <goods-list ref=\"goodslist\" @getProductId=\"getProductId\" v-if=\"modals\" :ischeckbox=\"true\"></goods-list>\r\n </Modal>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport goodsList from '@/components/goodsList';\r\nimport { liveGoodsCreat, liveGoodsAdd } from '@/api/live';\r\nexport default {\r\n name: 'add_goods',\r\n components: {\r\n goodsList,\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : 100;\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n data() {\r\n return {\r\n isShowBox: false,\r\n loading: false,\r\n modals: false,\r\n goodsList: [],\r\n tempGoods: {},\r\n formValidate: {},\r\n columns1: [\r\n { key: 'id', title: '商品ID' },\r\n { slot: 'img', title: '商品信息' },\r\n {\r\n key: 'price',\r\n title: '直播售价',\r\n render: (h, params) => {\r\n return h('Input', {\r\n props: {\r\n type: 'number',\r\n value: params.row.price,\r\n },\r\n on: {\r\n input: (val) => {\r\n this.tabList[params.index].price = val;\r\n },\r\n },\r\n });\r\n },\r\n },\r\n {\r\n key: 'cost_price',\r\n title: '直播原价',\r\n render: (h, params) => {\r\n return h('Input', {\r\n props: {\r\n type: 'number',\r\n value: params.row.cost_price,\r\n },\r\n on: {\r\n input: (val) => {\r\n this.tabList[params.index].cost_price = val;\r\n },\r\n },\r\n });\r\n },\r\n },\r\n { key: 'stock', title: '库存' },\r\n { slot: 'action', fixed: 'right', title: '操作' },\r\n ],\r\n tabList: [],\r\n disabled: false,\r\n loadings: false,\r\n };\r\n },\r\n methods: {\r\n // 生成直播商品\r\n liveGoods() {\r\n let array = [];\r\n this.goodsList.map((el) => {\r\n array.push(el.product_id);\r\n });\r\n liveGoodsCreat({\r\n product_id: array,\r\n })\r\n .then((res) => {\r\n this.tabList = res.data;\r\n this.isShowBox = true;\r\n })\r\n .catch((error) => {\r\n this.$Message.error(error.msg);\r\n });\r\n },\r\n getProductId(data) {\r\n this.goodsList = this.goodsList.concat(data);\r\n this.$nextTick((res) => {\r\n setTimeout(() => {\r\n this.modals = false;\r\n }, 300);\r\n });\r\n },\r\n bindDelete(index) {\r\n this.goodsList.splice(index, 1);\r\n },\r\n del(row, index) {\r\n this.tabList.splice(index, 1);\r\n },\r\n // 提交\r\n bindSub() {\r\n this.disabled = true;\r\n this.loadings = true;\r\n liveGoodsAdd({\r\n goods_info: this.tabList,\r\n })\r\n .then((res) => {\r\n this.$Message.success('添加成功');\r\n this.disabled = false;\r\n setTimeout(() => {\r\n this.$router.push({ path: '/admin/marketing/live/live_goods' });\r\n }, 500);\r\n })\r\n .catch((error) => {\r\n this.disabled = false;\r\n this.$Message.error(error.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n.upload-box {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 60px;\r\n height: 60px;\r\n background: #ccc;\r\n}\r\n\r\n.box {\r\n display: flex;\r\n flex-wrap: wrap;\r\n\r\n .box-item {\r\n position: relative;\r\n margin-right: 20px;\r\n\r\n .ivu-icon {\r\n position: absolute;\r\n right: -10px;\r\n top: -8px;\r\n color: #999;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .upload-box, .box-item {\r\n width: 60px;\r\n height: 60px;\r\n margin-bottom: 10px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n\r\n.active-btn {\r\n padding-left: 96px;\r\n}\r\n\r\n.table-box {\r\n margin: 0 107px;\r\n}\r\n\r\n.sub_btn {\r\n margin-top: 10px;\r\n}\r\n\r\n.product_box {\r\n display: flex;\r\n\r\n img {\r\n width: 36px;\r\n height: 36px;\r\n margin-right: 10px;\r\n }\r\n}\r\n</style>\r\n"]}]}